From 324d427ac722d25067a3b296fd0705385c1a4e6a Mon Sep 17 00:00:00 2001 From: zotlabs Date: Wed, 31 May 2017 18:14:12 -0700 Subject: a slight tweak to author_is_pmable hook to make it useful --- doc/hook/author_is_pmable.bb | 2 +- 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) { -- cgit v1.2.3