add text/plain type to wiki

This commit is contained in:
zotlabs 2017-09-13 22:37:18 -07:00
parent 5be132f877
commit 55aaabc2f1
3 changed files with 19 additions and 9 deletions

View file

@ -607,10 +607,13 @@ class NativeWikiPage {
} }
static public function get_file_ext($arr) { static public function get_file_ext($arr) {
if($arr['mimeType'] == 'text/bbcode') if($arr['mimeType'] === 'text/bbcode')
return '.bb'; return '.bb';
else elseif($arr['mimeType'] === 'text/markdown')
return '.md'; return '.md';
elseif($arr['mimeType'] === 'text/plain')
return '.txt';
} }
// This function is derived from // This function is derived from

View file

@ -170,7 +170,7 @@ class Wiki extends \Zotlabs\Web\Controller {
'$create' => t('Create New'), '$create' => t('Create New'),
'$submit' => t('Submit'), '$submit' => t('Submit'),
'$wikiName' => array('wikiName', t('Wiki name')), '$wikiName' => array('wikiName', t('Wiki name')),
'$mimeType' => array('mimeType', t('Content type'), '', '', ['text/markdown' => 'Markdown', 'text/bbcode' => 'BB Code']), '$mimeType' => array('mimeType', t('Content type'), '', '', ['text/markdown' => t('Markdown'), 'text/bbcode' => t('BBcode'), 'text/plain' => t('Text') ]),
'$name' => t('Name'), '$name' => t('Name'),
'$type' => t('Type'), '$type' => t('Type'),
'$lockstate' => $x['lockstate'], '$lockstate' => $x['lockstate'],
@ -262,6 +262,8 @@ class Wiki extends \Zotlabs\Web\Controller {
$mimeType = $p['pageMimeType']; $mimeType = $p['pageMimeType'];
$sampleContent = (($mimeType == 'text/bbcode') ? '[h3]' . t('New page') . '[/h3]' : '### ' . t('New page')); $sampleContent = (($mimeType == 'text/bbcode') ? '[h3]' . t('New page') . '[/h3]' : '### ' . t('New page'));
if($mimeType === 'text/plain')
$sampleContent = t('New page');
$content = (($p['content'] == '') ? $sampleContent : $p['content']); $content = (($p['content'] == '') ? $sampleContent : $p['content']);
@ -269,7 +271,10 @@ class Wiki extends \Zotlabs\Web\Controller {
if($mimeType == 'text/bbcode') { if($mimeType == 'text/bbcode') {
$renderedContent = Zlib\NativeWikiPage::convert_links(zidify_links(smilies(bbcode($content))), argv(0) . '/' . argv(1) . '/' . $wikiUrlName); $renderedContent = Zlib\NativeWikiPage::convert_links(zidify_links(smilies(bbcode($content))), argv(0) . '/' . argv(1) . '/' . $wikiUrlName);
} }
else { elseif($mimeType === 'text/plain') {
$renderedContent = str_replace(["\n",' ',"\t"],[EOL,' ','    '],htmlentities($content,ENT_COMPAT,'UTF-8',false));
}
elseif($mimeType === 'text/markdown') {
$content = Zlib\MarkdownSoap::unescape($content); $content = Zlib\MarkdownSoap::unescape($content);
$html = Zlib\NativeWikiPage::generate_toc(zidify_text(MarkdownExtra::defaultTransform(Zlib\NativeWikiPage::bbcode($content)))); $html = Zlib\NativeWikiPage::generate_toc(zidify_text(MarkdownExtra::defaultTransform(Zlib\NativeWikiPage::bbcode($content))));
$renderedContent = Zlib\NativeWikiPage::convert_links($html, argv(0) . '/' . argv(1) . '/' . $wikiUrlName); $renderedContent = Zlib\NativeWikiPage::convert_links($html, argv(0) . '/' . argv(1) . '/' . $wikiUrlName);
@ -323,7 +328,7 @@ class Wiki extends \Zotlabs\Web\Controller {
'$modalerroralbum' => t('Error getting album'), '$modalerroralbum' => t('Error getting album'),
)); ));
if($p['pageMimeType'] != 'text/bbcode') if($p['pageMimeType'] === 'text/markdown')
head_add_js('/library/ace/ace.js'); // Ace Code Editor head_add_js('/library/ace/ace.js'); // Ace Code Editor
return $o; return $o;
@ -354,11 +359,10 @@ class Wiki extends \Zotlabs\Web\Controller {
$mimeType = $_POST['mimetype']; $mimeType = $_POST['mimetype'];
if($mimeType == 'text/bbcode') { if($mimeType === 'text/bbcode') {
$html = Zlib\NativeWikiPage::convert_links(zidify_links(smilies(bbcode($content))),$wikiURL); $html = Zlib\NativeWikiPage::convert_links(zidify_links(smilies(bbcode($content))),$wikiURL);
} }
else { elseif($mimeType === 'text/markdown') {
$bb = Zlib\NativeWikiPage::bbcode($content); $bb = Zlib\NativeWikiPage::bbcode($content);
$x = new ZLib\MarkdownSoap($bb); $x = new ZLib\MarkdownSoap($bb);
$md = $x->clean(); $md = $x->clean();
@ -367,6 +371,9 @@ class Wiki extends \Zotlabs\Web\Controller {
$html = Zlib\NativeWikiPage::generate_toc(zidify_text($html)); $html = Zlib\NativeWikiPage::generate_toc(zidify_text($html));
$html = Zlib\NativeWikiPage::convert_links($html,$wikiURL); $html = Zlib\NativeWikiPage::convert_links($html,$wikiURL);
} }
elseif($mimeType === 'text/plain') {
$html = str_replace(["\n",' ',"\t"],[EOL,' ','    '],htmlentities($content,ENT_COMPAT,'UTF-8',false));
}
json_return_and_die(array('html' => $html, 'success' => true)); json_return_and_die(array('html' => $html, 'success' => true));
} }

View file

@ -50,7 +50,7 @@ class Wiki_pages {
'$canadd' => $can_create, '$canadd' => $can_create,
'$candel' => $can_delete, '$candel' => $can_delete,
'$addnew' => t('Add new page'), '$addnew' => t('Add new page'),
'$mimetype' => mimetype_select(0,$w['mimeType'], [ 'text/markdown','text/bbcode' ]), '$mimetype' => mimetype_select(0,$w['mimeType'], [ 'text/markdown','text/bbcode', 'text/plain' ]),
'$pageName' => array('pageName', t('Page name')), '$pageName' => array('pageName', t('Page name')),
'$refresh' => $arr['refresh'] '$refresh' => $arr['refresh']
)); ));