diff options
author | mrjive <mrjive@mrjive.it> | 2018-02-21 12:55:29 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-21 12:55:29 +0100 |
commit | 2d17e1c677cd981858a4080af98edb51bbb5d822 (patch) | |
tree | 54d5d148d368632158584ba7eec7872170524e00 /Zotlabs/Lib/Enotify.php | |
parent | d7ecaa8b23a36ea1e9a0f185017930b5552c00b5 (diff) | |
parent | a829256bc4803731881a51bddd19ee59a5a234ff (diff) | |
download | volse-hubzilla-2d17e1c677cd981858a4080af98edb51bbb5d822.tar.gz volse-hubzilla-2d17e1c677cd981858a4080af98edb51bbb5d822.tar.bz2 volse-hubzilla-2d17e1c677cd981858a4080af98edb51bbb5d822.zip |
Merge pull request #15 from redmatrix/dev
Dev
Diffstat (limited to 'Zotlabs/Lib/Enotify.php')
-rw-r--r-- | Zotlabs/Lib/Enotify.php | 45 |
1 files changed, 29 insertions, 16 deletions
diff --git a/Zotlabs/Lib/Enotify.php b/Zotlabs/Lib/Enotify.php index 5cf4ec31d..c5bc706c2 100644 --- a/Zotlabs/Lib/Enotify.php +++ b/Zotlabs/Lib/Enotify.php @@ -112,6 +112,8 @@ class Enotify { } + $always_show_in_notices = get_pconfig($recip['channel_id'],'system','always_show_in_notices'); + // e.g. "your post", "David's photo", etc. $possess_desc = t('%s <!item_type!>'); @@ -128,18 +130,28 @@ class Enotify { } if ($params['type'] == NOTIFY_COMMENT) { -// logger("notification: params = " . print_r($params, true), LOGGER_DEBUG); + //logger("notification: params = " . print_r($params, true), LOGGER_DEBUG); $moderated = (($params['item']['item_blocked'] == ITEM_MODERATED) ? true : false); $itemlink = $params['link']; - // ignore like/unlike activity on posts - they probably require a separate notification preference + $action = 'commented on'; + + if(array_key_exists('item',$params) && in_array($params['item']['verb'], [ACTIVITY_LIKE, ACTIVITY_DISLIKE])) { + + if(! $always_show_in_notices) { + logger('notification: not a visible activity. Ignoring.'); + pop_lang(); + return; + } + + if(activity_match($params['verb'], ACTIVITY_LIKE)) + $action = 'liked'; + + if(activity_match($params['verb'], ACTIVITY_DISLIKE)) + $action = 'disliked'; - if (array_key_exists('item',$params) && (! visible_activity($params['item']))) { - logger('notification: not a visible activity. Ignoring.'); - pop_lang(); - return; } $parent_mid = $params['parent_mid']; @@ -181,26 +193,29 @@ class Enotify { //$possess_desc = str_replace('<!item_type!>',$possess_desc); // "a post" - $dest_str = sprintf(t('%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]'), + $dest_str = sprintf(t('%1$s, %2$s %3$s [zrl=%4$s]a %5$s[/zrl]'), $recip['channel_name'], '[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]', + $action, $itemlink, $item_post_type); // "George Bull's post" if($p) - $dest_str = sprintf(t('%1$s, %2$s commented on [zrl=%3$s]%4$s\'s %5$s[/zrl]'), + $dest_str = sprintf(t('%1$s, %2$s %3$s [zrl=%4$s]%5$s\'s %6$s[/zrl]'), $recip['channel_name'], '[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]', + $action, $itemlink, $p[0]['author']['xchan_name'], $item_post_type); // "your post" if($p[0]['owner']['xchan_name'] == $p[0]['author']['xchan_name'] && intval($p[0]['item_wall'])) - $dest_str = sprintf(t('%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]'), + $dest_str = sprintf(t('%1$s, %2$s %3$s [zrl=%4$s]your %5$s[/zrl]'), $recip['channel_name'], '[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]', + $action, $itemlink, $item_post_type); @@ -231,12 +246,12 @@ class Enotify { $itemlink = $params['link']; - // ignore like/unlike activity on posts - they probably require a separate notification preference - if (array_key_exists('item',$params) && (! activity_match($params['item']['verb'],ACTIVITY_LIKE))) { - logger('notification: not a like activity. Ignoring.'); - pop_lang(); - return; + if(! $always_show_in_notices) { + logger('notification: not a visible activity. Ignoring.'); + pop_lang(); + return; + } } $parent_mid = $params['parent_mid']; @@ -496,8 +511,6 @@ class Enotify { // Another option would be to not add them to the DB, and change how emails are handled // (probably would be better that way) - $always_show_in_notices = get_pconfig($recip['channel_id'],'system','always_show_in_notices'); - if (!$always_show_in_notices) { if (($params['type'] == NOTIFY_WALL) || ($params['type'] == NOTIFY_MAIL) || ($params['type'] == NOTIFY_INTRO)) { $seen = 1; |