aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2017-06-12 16:17:23 -0700
committerMario Vavti <mario@mariovavti.com>2017-06-14 16:44:16 +0200
commit7c363310428d8f76356eb1423554cc2de6ebd4a0 (patch)
tree4ad738da079803bdc4115254f5c49ec8f3ea9d93
parent36cfdd529b51997977340b0de0375af2025bd6d4 (diff)
downloadvolse-hubzilla-7c363310428d8f76356eb1423554cc2de6ebd4a0.tar.gz
volse-hubzilla-7c363310428d8f76356eb1423554cc2de6ebd4a0.tar.bz2
volse-hubzilla-7c363310428d8f76356eb1423554cc2de6ebd4a0.zip
add 'can_comment_on_post' hook so we can better deal with the complications of Diaspora policy
-rw-r--r--doc/hook/can_comment_on_post.bb13
-rw-r--r--doc/hooklist.bb3
-rwxr-xr-xinclude/items.php5
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 db606cbdc..a9ba73e97 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 206a97c42..fa61d71de 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;