diff options
-rw-r--r-- | doc/hook/author_is_pmable.bb | 2 | ||||
-rw-r--r-- | include/conversation.php | 10 |
2 files changed, 6 insertions, 6 deletions
diff --git a/doc/hook/author_is_pmable.bb b/doc/hook/author_is_pmable.bb index 708350673..11d1185f3 100644 --- a/doc/hook/author_is_pmable.bb +++ b/doc/hook/author_is_pmable.bb @@ -6,7 +6,7 @@ By default author_is_pmable() returns true for 'zot' xchans, and false for all o The plugin is passed an array - [ 'xchan' => $author_xchan, 'result' => 'unset' ] + [ 'xchan' => $author_xchan, 'abook' => abook record, 'result' => 'unset' ] A plugin which sets the 'result' to something besides 'unset' will over-ride the default behaviour. A value of true will enable the 'send mail' link and the private mail recipient will be set to the author's xchan_hash. A value of false will disable the 'send mail' link. diff --git a/include/conversation.php b/include/conversation.php index 0f940b1a3..c325a516f 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -917,9 +917,9 @@ function thread_action_menu($item,$mode = '') { } -function author_is_pmable($xchan) { +function author_is_pmable($xchan, $abook) { - $x = [ 'xchan' => $xchan, 'result' => 'unset' ]; + $x = [ 'xchan' => $xchan, 'abook' => $abook, 'result' => 'unset' ]; call_hooks('author_is_pmable',$x); if($x['result'] !== 'unset') return $x['result']; @@ -949,7 +949,7 @@ function thread_author_menu($item, $mode = '') { } $profile_link = chanlink_hash($item['author_xchan']); - + $contact = false; if(App::$contacts && array_key_exists($item['author_xchan'],App::$contacts)) $contact = App::$contacts[$item['author_xchan']]; @@ -958,9 +958,9 @@ function thread_author_menu($item, $mode = '') { $follow_url = z_root() . '/follow/?f=&url=' . urlencode($item['author']['xchan_addr']); - if($item['uid'] > 0 && author_is_pmable($item['author'])) + if($item['uid'] > 0 && author_is_pmable($item['author'],$contact)) { $pm_url = z_root() . '/mail/new/?f=&hash=' . urlencode($item['author_xchan']); - + } if($contact) { |