add 'can_comment_on_post' hook so we can better deal with the complications of Diaspora policy

This commit is contained in:
zotlabs 2017-06-12 16:17:23 -07:00
parent 6ce9eedb5f
commit 5b3e863323
3 changed files with 21 additions and 0 deletions

View File

@ -0,0 +1,13 @@
[h3]can_comment_on_post[/h3]
Called when deciding whether or not to display a comment box for a post.
Hook data (array):
observer_hash => xchan_hash of current observer
item => posted item
allowed => 'unset'
To over-ride the default behaviour, change allowed to true or false

View File

@ -82,6 +82,9 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the
[zrl=[baseurl]/help/hook/build_pagehead]build_pagehead[/zrl] [zrl=[baseurl]/help/hook/build_pagehead]build_pagehead[/zrl]
Called when creating the HTML page header Called when creating the HTML page header
[zrl=[baseurl]/help/hook/can_comment_on_post]can_comment_on_post[/zrl]
Called when deciding whether or not to present a comment box for a post
[zrl=[baseurl]/help/hook/change_channel]change_channel[/zrl] [zrl=[baseurl]/help/hook/change_channel]change_channel[/zrl]
Called when logging in to a channel (either during login or afterward through the channel manager) Called when logging in to a channel (either during login or afterward through the channel manager)

View File

@ -219,6 +219,11 @@ function can_comment_on_post($observer_xchan, $item) {
// logger('can_comment_on_post: comment_policy: ' . $item['comment_policy'], LOGGER_DEBUG); // logger('can_comment_on_post: comment_policy: ' . $item['comment_policy'], LOGGER_DEBUG);
$x = [ 'observer_hash' => $observer_xchan, 'item' => $item, 'allowed' => 'unset' ];
call_hooks('can_comment_on_post',$x);
if($x['allowed'] !== 'unset')
return $x['allowed'];
if(! $observer_xchan) if(! $observer_xchan)
return false; return false;