diff --git a/Zotlabs/Module/Wiki.php b/Zotlabs/Module/Wiki.php index c4fa63673..65d694b12 100644 --- a/Zotlabs/Module/Wiki.php +++ b/Zotlabs/Module/Wiki.php @@ -90,7 +90,10 @@ class Wiki extends \Zotlabs\Web\Controller { // Not the channel owner $owner_acl = $x = array(); } - + + $is_owner = ((local_channel()) && (local_channel() == \App::$profile['profile_uid']) ? true : false); + $o = profile_tabs($a, $is_owner, \App::$profile['channel_address']); + // Download a wiki if ((argc() > 3) && (argv(2) === 'download') && (argv(3) === 'wiki')) { $resource_id = argv(4); @@ -122,18 +125,33 @@ class Wiki extends \Zotlabs\Web\Controller { switch (argc()) { case 2: - // Configure page template - $wikiheaderName = t('Wiki'); - $wikiheaderPage = t('Sandbox'); - require_once('library/markdown.php'); - $content = t('"# Wiki Sandbox\n\nContent you **edit** and **preview** here *will not be saved*."'); - $renderedContent = Markdown(json_decode($content)); - $hide_editor = true; - $showPageControls = false; - $showNewWikiButton = $wiki_owner; - $showNewPageButton = false; - $hidePageHistory = true; - $showCommitMsg = false; + $wikis = wiki_list($owner, get_observer_hash()); + if ($wikis) { + $o .= replace_macros(get_markup_template('wikilist.tpl'), array( + '$header' => t('Wikis'), + '$channel' => $owner['channel_address'], + '$wikis' => $wikis['wikis'], + // If the observer is the local channel owner, show the wiki controls + '$owner' => ((local_channel() && local_channel() === intval(\App::$profile['uid'])) ? true : false), + '$edit' => t('Edit'), + '$download' => t('Download'), + '$view' => t('View'), + '$create' => t('Create New'), + '$submit' => t('Submit'), + '$wikiName' => array('wikiName', t('Wiki name')), + '$name' => t('Name'), + '$lockstate' => $x['lockstate'], + '$acl' => $x['acl'], + '$allow_cid' => $x['allow_cid'], + '$allow_gid' => $x['allow_gid'], + '$deny_cid' => $x['deny_cid'], + '$deny_gid' => $x['deny_gid'], + '$notify' => array('postVisible', t('Create a status post for this wiki'), '', '', array(t('No'), t('Yes'))) + )); + + return $o; + } + break; case 3: // /wiki/channel/wiki -> No page was specified, so redirect to Home.md @@ -201,11 +219,6 @@ class Wiki extends \Zotlabs\Web\Controller { ) ); - $is_owner = ((local_channel()) && (local_channel() == \App::$profile['profile_uid']) ? true : false); - - $o .= profile_tabs($a, $is_owner, \App::$profile['channel_address']); - - $o .= replace_macros(get_markup_template('wiki.tpl'),array( '$wikiheaderName' => $wikiheaderName, '$wikiheaderPage' => $wikiheaderPage, diff --git a/include/widgets.php b/include/widgets.php index 1441fbeb3..97f3ec019 100644 --- a/include/widgets.php +++ b/include/widgets.php @@ -956,7 +956,7 @@ function widget_wiki_list($arr) { } } if ($wikis) { - return replace_macros(get_markup_template('wikilist.tpl'), array( + return replace_macros(get_markup_template('wikilist_widget.tpl'), array( '$header' => t('Wiki List'), '$channel' => $channel['channel_address'], '$wikis' => $wikis['wikis'], diff --git a/view/css/mod_wiki.css b/view/css/mod_wiki.css new file mode 100644 index 000000000..1abb0b3b4 --- /dev/null +++ b/view/css/mod_wiki.css @@ -0,0 +1,40 @@ +#ace-editor { + position: relative; + width: 100%; + height: 500px; +} + +.fade.in { + -webkit-transition: opacity 0.5s 0.5s ease; + -moz-transition: opacity 0.5s 0.5s ease; + -o-transition: opacity 0.5s 0.5s ease; + transition: opacity 0.5s 0.5s ease; +} + +#new-wiki-form-wrapper { + display: none; +} + +#wikis-index { + width: 100%; +} + +#wikis-index th:nth-child(1), +#wikis-index td:nth-child(1){ + padding: 7px 3px 7px 10px; +} + +#wikis-index th:nth-child(2), +#wikis-index td:nth-child(2){ + padding: 7px 10px 7px 7px; +} + +#wikis-index th:nth-child(3), +#wikis-index td:nth-child(3){ + padding: 7px 10px 7px 7px; +} + +.wikis-index-tool { + padding: 7px 10px; +} + diff --git a/view/pdl/mod_wiki.pdl b/view/pdl/mod_wiki.pdl index 76ed1c70c..052ae61a1 100644 --- a/view/pdl/mod_wiki.pdl +++ b/view/pdl/mod_wiki.pdl @@ -1,4 +1,4 @@ [region=aside] -[widget=wiki_list][/widget] +[widget=vcard][/widget] [widget=wiki_pages][/widget] [/region] diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css index bd0e372f8..fba6da17a 100644 --- a/view/theme/redbasic/css/style.css +++ b/view/theme/redbasic/css/style.css @@ -1649,6 +1649,7 @@ main.fullscreen .section-content-wrapper-np { .atoken-index-row:hover td, .chatroom-index-row:hover td, +.wikis-index-row:hover td, .locs-index-row:hover td, [id^="cloud-index-"]:hover td, .cloud-index-active { diff --git a/view/tpl/wiki.tpl b/view/tpl/wiki.tpl index cf076c244..1e167c8b0 100644 --- a/view/tpl/wiki.tpl +++ b/view/tpl/wiki.tpl @@ -1,16 +1,3 @@ - {{if $hideEditor}}
{{$chooseWikiMessage}}
@@ -222,27 +209,6 @@ ev.preventDefault(); }); - function wiki_delete_wiki(wikiHtmlName, resource_id) { - if(!confirm('Are you sure you want to delete the entire wiki: ' + JSON.stringify(wikiHtmlName))) { - return; - } - $.post("wiki/{{$channel}}/delete/wiki", {resource_id: resource_id}, function (data) { - if (data.success) { - window.console.log('Wiki deleted'); - // Refresh list and redirect page as necessary - window.location = 'wiki/{{$channel}}'; - } else { - alert('Error deleting wiki!'); - window.console.log('Error deleting wiki.'); - } - }, 'json'); - } - - - function wiki_download_wiki(resource_id) { - window.location = "wiki/{{$channel}}/download/wiki/" + resource_id; - } - function wiki_refresh_page_list() { if (window.wiki_resource_id === '') { return false; @@ -466,14 +432,6 @@ 'json'); }; - function wiki_show_new_wiki_form() { - $('div[id^=\'edit-wiki-form-wrapper\']').hide(); - $('#new-page-form-wrapper').hide(); - $('#edit-wiki-form-wrapper').hide(); - $('#new-wiki-form-wrapper').toggle(); - return false; - } - function wiki_show_new_page_form() { $('div[id^=\'edit-wiki-form-wrapper\']').hide(); $('#edit-wiki-form-wrapper').hide(); diff --git a/view/tpl/wikilist.tpl b/view/tpl/wikilist.tpl index 51eccad90..27fb6370e 100644 --- a/view/tpl/wikilist.tpl +++ b/view/tpl/wikilist.tpl @@ -1,45 +1,68 @@ -