From 00d32f6b947d10b836cf1a4d59dbff3413517fd5 Mon Sep 17 00:00:00 2001 From: Andrew Manning Date: Sun, 29 May 2016 20:39:19 -0400 Subject: Only show wiki delete control if channel owner --- Zotlabs/Module/Wiki.php | 1 + include/widgets.php | 16 +++++++++++----- include/wiki.php | 4 ++-- view/tpl/wikilist.tpl | 2 ++ 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/Zotlabs/Module/Wiki.php b/Zotlabs/Module/Wiki.php index b369221c8..3c1f14a9b 100644 --- a/Zotlabs/Module/Wiki.php +++ b/Zotlabs/Module/Wiki.php @@ -78,6 +78,7 @@ class Wiki extends \Zotlabs\Web\Controller { if(argc()<3) { // GET /wiki/channel + $channel = get_channel_by_nick(argv(1)); $wikiheader = t('Wiki Sandbox'); $content = '"# Wiki Sandbox\n\nContent you **edit** and **preview** here *will not be saved*."'; $hide_editor = false; diff --git a/include/widgets.php b/include/widgets.php index 539d227aa..b19c36bc6 100644 --- a/include/widgets.php +++ b/include/widgets.php @@ -857,19 +857,25 @@ function widget_chatroom_members() { function widget_wiki_list($arr) { require_once("include/wiki.php"); - if(argc()>1) { + if (argc() > 1) { $nick = argv(1); + $channel = get_channel_by_nick($nick); } else { $channel = \App::get_channel(); $nick = $channel['channel_address']; } - $wikis = wiki_list($nick, get_observer_hash()); - - if($wikis) { + $wikis = wiki_list($channel, get_observer_hash()); + if (local_channel() === intval($channel['channel_id'])) { + $showControls = true; + } else { + $showControls = false; + } + if ($wikis) { return replace_macros(get_markup_template('wikilist.tpl'), array( '$header' => t('Wiki List'), '$channel' => $nick, - '$wikis' => $wikis['wikis'] + '$wikis' => $wikis['wikis'], + '$showControls' => $showControls )); } } diff --git a/include/wiki.php b/include/wiki.php index e07cda660..54644dd18 100644 --- a/include/wiki.php +++ b/include/wiki.php @@ -7,9 +7,9 @@ use \Zotlabs\Storage\GitRepo as GitRepo; define ( 'WIKI_ITEM_RESOURCE_TYPE', 'wiki' ); -function wiki_list($nick, $observer_hash) { +function wiki_list($channel, $observer_hash) { if (local_channel() || remote_channel()) { - $sql_extra = item_permissions_sql(get_channel_by_nick($nick)['channel_id'], $observer_hash); + $sql_extra = item_permissions_sql($channel['channel_id'], $observer_hash); } else { $sql_extra = " AND item_private = 0 "; } diff --git a/view/tpl/wikilist.tpl b/view/tpl/wikilist.tpl index d1652dcf4..91ac1a7b3 100644 --- a/view/tpl/wikilist.tpl +++ b/view/tpl/wikilist.tpl @@ -8,8 +8,10 @@ {{/foreach}} -- cgit v1.2.3