diff options
-rw-r--r-- | doc/hook/can_comment_on_post.bb | 13 | ||||
-rw-r--r-- | doc/hooklist.bb | 3 | ||||
-rwxr-xr-x | include/items.php | 5 |
3 files changed, 21 insertions, 0 deletions
diff --git a/doc/hook/can_comment_on_post.bb b/doc/hook/can_comment_on_post.bb new file mode 100644 index 000000000..2cfd3b2da --- /dev/null +++ b/doc/hook/can_comment_on_post.bb @@ -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 + diff --git a/doc/hooklist.bb b/doc/hooklist.bb index ab9c0529d..da4d9596b 100644 --- a/doc/hooklist.bb +++ b/doc/hooklist.bb @@ -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] 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] Called when logging in to a channel (either during login or afterward through the channel manager) diff --git a/include/items.php b/include/items.php index 707f07f4a..e79707aeb 100755 --- a/include/items.php +++ b/include/items.php @@ -219,6 +219,11 @@ function can_comment_on_post($observer_xchan, $item) { // 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) return false; |