From f230c07ba5ed71c0491c6fd109c0789d2cc341c1 Mon Sep 17 00:00:00 2001 From: zotlabs Date: Wed, 15 Aug 2018 17:00:37 -0700 Subject: possible fixes for can_comment_on_post(), provide wiki_list on wiki sidebar --- Zotlabs/Lib/ThreadStream.php | 1 - Zotlabs/Widget/Wiki_list.php | 6 +++++- include/items.php | 40 +++++++++++++++++++++++++++------------- view/pdl/mod_wiki.pdl | 1 + 4 files changed, 33 insertions(+), 15 deletions(-) diff --git a/Zotlabs/Lib/ThreadStream.php b/Zotlabs/Lib/ThreadStream.php index d0c964149..020e8729b 100644 --- a/Zotlabs/Lib/ThreadStream.php +++ b/Zotlabs/Lib/ThreadStream.php @@ -196,7 +196,6 @@ class ThreadStream { $item->set_commentable(false); } - require_once('include/channel.php'); $item->set_conversation($this); $this->threads[] = $item; diff --git a/Zotlabs/Widget/Wiki_list.php b/Zotlabs/Widget/Wiki_list.php index 62f32dbf0..c8d83cbe8 100644 --- a/Zotlabs/Widget/Wiki_list.php +++ b/Zotlabs/Widget/Wiki_list.php @@ -6,13 +6,17 @@ class Wiki_list { function widget($arr) { + if(argc() < 3) { + return; + } + $channel = channelx_by_n(\App::$profile_uid); $wikis = \Zotlabs\Lib\NativeWiki::listwikis($channel,get_observer_hash()); if($wikis) { return replace_macros(get_markup_template('wikilist_widget.tpl'), array( - '$header' => t('Wiki List'), + '$header' => t('Wikis'), '$channel' => $channel['channel_address'], '$wikis' => $wikis['wikis'] )); diff --git a/include/items.php b/include/items.php index 9dd5d005b..ee7bfd5bc 100755 --- a/include/items.php +++ b/include/items.php @@ -234,10 +234,11 @@ function can_comment_on_post($observer_xchan, $item) { // logger('Comment_policy: ' . $item['comment_policy'], LOGGER_DEBUG); $x = [ - 'observer_hash' => $observer_xchan, - 'item' => $item, - 'allowed' => 'unset' + 'observer_hash' => $observer_xchan, + 'item' => $item, + 'allowed' => 'unset' ]; + /** * @hooks can_comment_on_post * Called when deciding whether or not to present a comment box for a post. @@ -245,26 +246,34 @@ function can_comment_on_post($observer_xchan, $item) { * * \e array \b item * * \e boolean \b allowed - return value */ + call_hooks('can_comment_on_post', $x); - if($x['allowed'] !== 'unset') + + if($x['allowed'] !== 'unset') { return $x['allowed']; + } - if(! $observer_xchan) + if(! $observer_xchan) { return false; + } - if($item['comment_policy'] === 'none') + if($item['comment_policy'] === 'none') { return false; + } - if(comments_are_now_closed($item)) + if(comments_are_now_closed($item)) { return false; + } - if($observer_xchan === $item['author_xchan'] || $observer_xchan === $item['owner_xchan']) + if($observer_xchan === $item['author_xchan'] || $observer_xchan === $item['owner_xchan']) { return true; + } switch($item['comment_policy']) { case 'self': - if($observer_xchan === $item['author_xchan'] || $observer_xchan === $item['owner_xchan']) + if($observer_xchan === $item['author_xchan'] || $observer_xchan === $item['owner_xchan']) { return true; + } break; case 'public': case 'authenticated': @@ -276,17 +285,22 @@ function can_comment_on_post($observer_xchan, $item) { case 'any connections': case 'contacts': case '': - if(array_key_exists('owner',$item) && get_abconfig($item['uid'],$item['owner']['abook_xchan'],'their_perms','post_comments')) { - return true; + if(local_channel() && get_abconfig(local_channel(),$item['owner_xchan'],'their_perms','post_comments')) { + return true; + } + if(intval($item['item_wall']) && perm_is_allowed($item['uid'],$observer_xchan,'post_comments')) { + return true; } break; default: break; } - if(strstr($item['comment_policy'],'network:') && strstr($item['comment_policy'],'red')) + if(strstr($item['comment_policy'],'network:') && strstr($item['comment_policy'],'red')) { return true; - if(strstr($item['comment_policy'],'site:') && strstr($item['comment_policy'],App::get_hostname())) + } + if(strstr($item['comment_policy'],'site:') && strstr($item['comment_policy'],App::get_hostname())) { return true; + } return false; } diff --git a/view/pdl/mod_wiki.pdl b/view/pdl/mod_wiki.pdl index be86be7e3..2e99ea36b 100644 --- a/view/pdl/mod_wiki.pdl +++ b/view/pdl/mod_wiki.pdl @@ -1,5 +1,6 @@ [region=aside] [widget=vcard][/widget] +[widget=wiki_list][/widget] [widget=wiki_pages][/widget] [/region] [region=right_aside] -- cgit v1.2.3