aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Zotlabs/Lib/ThreadStream.php1
-rw-r--r--Zotlabs/Widget/Wiki_list.php6
-rwxr-xr-xinclude/items.php40
-rw-r--r--view/pdl/mod_wiki.pdl1
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]