some basic work for implementing mimetypes for wikis

This commit is contained in:
Mario Vavti 2016-11-28 15:24:49 +01:00
parent 683a09781a
commit f9b732482d
3 changed files with 16 additions and 9 deletions

View File

@ -34,10 +34,7 @@ class Wiki extends \Zotlabs\Web\Controller {
notice( t('Not found') . EOL); notice( t('Not found') . EOL);
return; return;
} }
$tab = 'wiki';
require_once('include/wiki.php'); require_once('include/wiki.php');
require_once('include/acl_selectors.php'); require_once('include/acl_selectors.php');
require_once('include/conversation.php'); require_once('include/conversation.php');
@ -151,6 +148,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']),
'$name' => t('Name'), '$name' => t('Name'),
'$lockstate' => $x['lockstate'], '$lockstate' => $x['lockstate'],
'$acl' => $x['acl'], '$acl' => $x['acl'],
@ -322,6 +320,7 @@ class Wiki extends \Zotlabs\Web\Controller {
$wiki['rawName'] = $_POST['wikiName']; $wiki['rawName'] = $_POST['wikiName'];
$wiki['htmlName'] = escape_tags($_POST['wikiName']); $wiki['htmlName'] = escape_tags($_POST['wikiName']);
$wiki['urlName'] = urlencode($_POST['wikiName']); $wiki['urlName'] = urlencode($_POST['wikiName']);
$wiki['mimeType'] = $_POST['mimeType'];
if($wiki['urlName'] === '') { if($wiki['urlName'] === '') {
notice( t('Error creating wiki. Invalid name.') . EOL); notice( t('Error creating wiki. Invalid name.') . EOL);
goaway('/wiki'); goaway('/wiki');

View File

@ -139,6 +139,9 @@ function wiki_create_wiki($channel, $observer_hash, $wiki, $acl) {
if (!set_iconfig($arr, 'wiki', 'urlName', $wiki['urlName'], true)) { if (!set_iconfig($arr, 'wiki', 'urlName', $wiki['urlName'], true)) {
return array('item' => null, 'success' => false); return array('item' => null, 'success' => false);
} }
if (!set_iconfig($arr, 'wiki', 'mimteType', $wiki['mimeType'], true)) {
return array('item' => null, 'success' => false);
}
$post = item_store($arr); $post = item_store($arr);
$item_id = $post['item_id']; $item_id = $post['item_id'];
@ -179,17 +182,20 @@ function wiki_get_wiki($resource_id) {
$rawName = get_iconfig($w, 'wiki', 'rawName'); $rawName = get_iconfig($w, 'wiki', 'rawName');
$htmlName = get_iconfig($w, 'wiki', 'htmlName'); $htmlName = get_iconfig($w, 'wiki', 'htmlName');
$urlName = get_iconfig($w, 'wiki', 'urlName'); $urlName = get_iconfig($w, 'wiki', 'urlName');
$mimeType = get_iconfig($w, 'wiki', 'mimeType');
$path = get_iconfig($w, 'wiki', 'path'); $path = get_iconfig($w, 'wiki', 'path');
if (!realpath(__DIR__ . '/../' . $path)) { if (!realpath(__DIR__ . '/../' . $path)) {
return array('wiki' => null, 'path' => null); return array('wiki' => null, 'path' => null);
} }
// Path to wiki exists // Path to wiki exists
$abs_path = realpath(__DIR__ . '/../' . $path); $abs_path = realpath(__DIR__ . '/../' . $path);
return array( 'wiki' => $w, return array(
'path' => $abs_path, 'wiki' => $w,
'rawName' => $rawName, 'path' => $abs_path,
'htmlName' => $htmlName, 'rawName' => $rawName,
'urlName' => $urlName 'htmlName' => $htmlName,
'urlName' => $urlName,
'mimeType' => $mimeType
); );
} }
} }

View File

@ -9,6 +9,8 @@
<div id="new-wiki-form-wrapper" class="section-content-tools-wrapper"> <div id="new-wiki-form-wrapper" class="section-content-tools-wrapper">
<form id="new-wiki-form" action="wiki/{{$channel}}/create/wiki" method="post" class="acl-form" data-form_id="new-wiki-form" data-allow_cid='{{$allow_cid}}' data-allow_gid='{{$allow_gid}}' data-deny_cid='{{$deny_cid}}' data-deny_gid='{{$deny_gid}}'> <form id="new-wiki-form" action="wiki/{{$channel}}/create/wiki" method="post" class="acl-form" data-form_id="new-wiki-form" data-allow_cid='{{$allow_cid}}' data-allow_gid='{{$allow_gid}}' data-deny_cid='{{$deny_cid}}' data-deny_gid='{{$deny_gid}}'>
{{include file="field_input.tpl" field=$wikiName}} {{include file="field_input.tpl" field=$wikiName}}
{{* include file="field_select.tpl" field=$mimeType *}}
<input type="hidden" name="mimeType" value="text/markdown">
{{include file="field_checkbox.tpl" field=$notify}} {{include file="field_checkbox.tpl" field=$notify}}
<div> <div>
<div class="btn-group pull-right"> <div class="btn-group pull-right">