allow to toggle visibility of likes/dislikes in notifications
This commit is contained in:
parent
e294dfa760
commit
fee258edbe
@ -115,6 +115,7 @@ class Enotify {
|
|||||||
|
|
||||||
|
|
||||||
$always_show_in_notices = get_pconfig($recip['channel_id'],'system','always_show_in_notices');
|
$always_show_in_notices = get_pconfig($recip['channel_id'],'system','always_show_in_notices');
|
||||||
|
$vnotify = get_pconfig($recip['channel_id'],'system','vnotify');
|
||||||
|
|
||||||
// e.g. "your post", "David's photo", etc.
|
// e.g. "your post", "David's photo", etc.
|
||||||
$possess_desc = t('%s <!item_type!>');
|
$possess_desc = t('%s <!item_type!>');
|
||||||
@ -142,7 +143,7 @@ class Enotify {
|
|||||||
|
|
||||||
if(array_key_exists('item',$params) && in_array($params['item']['verb'], [ACTIVITY_LIKE, ACTIVITY_DISLIKE])) {
|
if(array_key_exists('item',$params) && in_array($params['item']['verb'], [ACTIVITY_LIKE, ACTIVITY_DISLIKE])) {
|
||||||
|
|
||||||
if(! $always_show_in_notices) {
|
if(! $always_show_in_notices || !($vnotify & VNOTIFY_LIKE)) {
|
||||||
logger('notification: not a visible activity. Ignoring.');
|
logger('notification: not a visible activity. Ignoring.');
|
||||||
pop_lang();
|
pop_lang();
|
||||||
return;
|
return;
|
||||||
@ -249,7 +250,7 @@ class Enotify {
|
|||||||
$itemlink = $params['link'];
|
$itemlink = $params['link'];
|
||||||
|
|
||||||
if (array_key_exists('item',$params) && (! activity_match($params['item']['verb'],ACTIVITY_LIKE))) {
|
if (array_key_exists('item',$params) && (! activity_match($params['item']['verb'],ACTIVITY_LIKE))) {
|
||||||
if(! $always_show_in_notices) {
|
if(! $always_show_in_notices || !($vnotify & VNOTIFY_LIKE)) {
|
||||||
logger('notification: not a visible activity. Ignoring.');
|
logger('notification: not a visible activity. Ignoring.');
|
||||||
pop_lang();
|
pop_lang();
|
||||||
return;
|
return;
|
||||||
|
@ -140,6 +140,11 @@ class Ping extends \Zotlabs\Web\Controller {
|
|||||||
db_utcnow(), db_quoteinterval('3 MINUTE')
|
db_utcnow(), db_quoteinterval('3 MINUTE')
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
$sql_extra = '';
|
||||||
|
if(! ($vnotify & VNOTIFY_LIKE))
|
||||||
|
$sql_extra = ' AND verb NOT IN ("' . dbesc(ACTIVITY_LIKE) . '", "' . dbesc(ACTIVITY_DISLIKE) . '") ';
|
||||||
|
|
||||||
$discover_tab_on = can_view_public_stream();
|
$discover_tab_on = can_view_public_stream();
|
||||||
|
|
||||||
$notify_pubs = ((local_channel()) ? ($vnotify & VNOTIFY_PUBS) && $discover_tab_on : $discover_tab_on);
|
$notify_pubs = ((local_channel()) ? ($vnotify & VNOTIFY_PUBS) && $discover_tab_on : $discover_tab_on);
|
||||||
@ -152,7 +157,8 @@ class Ping extends \Zotlabs\Web\Controller {
|
|||||||
AND item_unseen = 1
|
AND item_unseen = 1
|
||||||
AND author_xchan != '%s'
|
AND author_xchan != '%s'
|
||||||
AND created > '" . datetime_convert('UTC','UTC',$_SESSION['static_loadtime']) . "'
|
AND created > '" . datetime_convert('UTC','UTC',$_SESSION['static_loadtime']) . "'
|
||||||
$item_normal",
|
$item_normal
|
||||||
|
$sql_extra",
|
||||||
intval($sys['channel_id']),
|
intval($sys['channel_id']),
|
||||||
dbesc(get_observer_hash())
|
dbesc(get_observer_hash())
|
||||||
);
|
);
|
||||||
@ -161,6 +167,8 @@ class Ping extends \Zotlabs\Web\Controller {
|
|||||||
$result['pubs'] = intval($pubs[0]['total']);
|
$result['pubs'] = intval($pubs[0]['total']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if((argc() > 1) && (argv(1) === 'pubs') && ($notify_pubs)) {
|
if((argc() > 1) && (argv(1) === 'pubs') && ($notify_pubs)) {
|
||||||
$sys = get_sys_channel();
|
$sys = get_sys_channel();
|
||||||
$result = array();
|
$result = array();
|
||||||
@ -171,6 +179,7 @@ class Ping extends \Zotlabs\Web\Controller {
|
|||||||
AND author_xchan != '%s'
|
AND author_xchan != '%s'
|
||||||
AND created > '" . datetime_convert('UTC','UTC',$_SESSION['static_loadtime']) . "'
|
AND created > '" . datetime_convert('UTC','UTC',$_SESSION['static_loadtime']) . "'
|
||||||
$item_normal
|
$item_normal
|
||||||
|
$sql_extra
|
||||||
ORDER BY created DESC
|
ORDER BY created DESC
|
||||||
LIMIT 300",
|
LIMIT 300",
|
||||||
intval($sys['channel_id']),
|
intval($sys['channel_id']),
|
||||||
@ -335,6 +344,7 @@ class Ping extends \Zotlabs\Web\Controller {
|
|||||||
AND item_unseen = 1
|
AND item_unseen = 1
|
||||||
AND author_xchan != '%s'
|
AND author_xchan != '%s'
|
||||||
$item_normal
|
$item_normal
|
||||||
|
$sql_extra
|
||||||
ORDER BY created DESC
|
ORDER BY created DESC
|
||||||
LIMIT 300",
|
LIMIT 300",
|
||||||
intval(local_channel()),
|
intval(local_channel()),
|
||||||
@ -509,6 +519,7 @@ class Ping extends \Zotlabs\Web\Controller {
|
|||||||
$r = q("SELECT id, item_wall FROM item
|
$r = q("SELECT id, item_wall FROM item
|
||||||
WHERE uid = %d and item_unseen = 1
|
WHERE uid = %d and item_unseen = 1
|
||||||
$item_normal
|
$item_normal
|
||||||
|
$sql_extra
|
||||||
AND author_xchan != '%s'",
|
AND author_xchan != '%s'",
|
||||||
intval(local_channel()),
|
intval(local_channel()),
|
||||||
dbesc($ob_hash)
|
dbesc($ob_hash)
|
||||||
|
@ -208,6 +208,8 @@ class Channel {
|
|||||||
$vnotify += intval($_POST['vnotify12']);
|
$vnotify += intval($_POST['vnotify12']);
|
||||||
if(x($_POST,'vnotify13'))
|
if(x($_POST,'vnotify13'))
|
||||||
$vnotify += intval($_POST['vnotify13']);
|
$vnotify += intval($_POST['vnotify13']);
|
||||||
|
if(x($_POST,'vnotify14'))
|
||||||
|
$vnotify += intval($_POST['vnotify14']);
|
||||||
|
|
||||||
$always_show_in_notices = x($_POST,'always_show_in_notices') ? 1 : 0;
|
$always_show_in_notices = x($_POST,'always_show_in_notices') ? 1 : 0;
|
||||||
|
|
||||||
@ -577,8 +579,9 @@ class Channel {
|
|||||||
'$vnotify11' => ((is_site_admin()) ? array('vnotify11', t('System Registrations'), ($vnotify & VNOTIFY_REGISTER), VNOTIFY_REGISTER, '', $yes_no) : array()),
|
'$vnotify11' => ((is_site_admin()) ? array('vnotify11', t('System Registrations'), ($vnotify & VNOTIFY_REGISTER), VNOTIFY_REGISTER, '', $yes_no) : array()),
|
||||||
'$vnotify12' => array('vnotify12', t('Unseen shared files'), ($vnotify & VNOTIFY_FILES), VNOTIFY_FILES, '', $yes_no),
|
'$vnotify12' => array('vnotify12', t('Unseen shared files'), ($vnotify & VNOTIFY_FILES), VNOTIFY_FILES, '', $yes_no),
|
||||||
'$vnotify13' => (($disable_discover_tab && !$site_firehose) ? array() : array('vnotify13', t('Unseen public activity'), ($vnotify & VNOTIFY_PUBS), VNOTIFY_PUBS, '', $yes_no)),
|
'$vnotify13' => (($disable_discover_tab && !$site_firehose) ? array() : array('vnotify13', t('Unseen public activity'), ($vnotify & VNOTIFY_PUBS), VNOTIFY_PUBS, '', $yes_no)),
|
||||||
|
'$vnotify14' => array('vnotify14', t('Unseen likes and dislikes'), ($vnotify & VNOTIFY_LIKE), VNOTIFY_LIKE, '', $yes_no),
|
||||||
'$mailhost' => [ 'mailhost', t('Email notification hub (hostname)'), get_pconfig(local_channel(),'system','email_notify_host',\App::get_hostname()), sprintf( t('If your channel is mirrored to multiple hubs, set this to your preferred location. This will prevent duplicate email notifications. Example: %s'),\App::get_hostname()) ],
|
'$mailhost' => [ 'mailhost', t('Email notification hub (hostname)'), get_pconfig(local_channel(),'system','email_notify_host',\App::get_hostname()), sprintf( t('If your channel is mirrored to multiple hubs, set this to your preferred location. This will prevent duplicate email notifications. Example: %s'),\App::get_hostname()) ],
|
||||||
'$always_show_in_notices' => array('always_show_in_notices', t('Also show new wall posts, private messages and connections under Notices'), $always_show_in_notices, 1, '', $yes_no),
|
'$always_show_in_notices' => array('always_show_in_notices', t('Show new wall posts, private messages and connections under Notices'), $always_show_in_notices, 1, '', $yes_no),
|
||||||
|
|
||||||
'$evdays' => array('evdays', t('Notify me of events this many days in advance'), $evdays, t('Must be greater than 0')),
|
'$evdays' => array('evdays', t('Notify me of events this many days in advance'), $evdays, t('Must be greater than 0')),
|
||||||
'$basic_addon' => $plugin['basic'],
|
'$basic_addon' => $plugin['basic'],
|
||||||
|
1
boot.php
1
boot.php
@ -404,6 +404,7 @@ define ( 'VNOTIFY_INTRO', 0x0200 );
|
|||||||
define ( 'VNOTIFY_REGISTER', 0x0400 );
|
define ( 'VNOTIFY_REGISTER', 0x0400 );
|
||||||
define ( 'VNOTIFY_FILES', 0x0800 );
|
define ( 'VNOTIFY_FILES', 0x0800 );
|
||||||
define ( 'VNOTIFY_PUBS', 0x1000 );
|
define ( 'VNOTIFY_PUBS', 0x1000 );
|
||||||
|
define ( 'VNOTIFY_LIKE', 0x2000 );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -145,6 +145,7 @@
|
|||||||
{{if $vnotify13}}
|
{{if $vnotify13}}
|
||||||
{{include file="field_intcheckbox.tpl" field=$vnotify13}}
|
{{include file="field_intcheckbox.tpl" field=$vnotify13}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
{{include file="field_intcheckbox.tpl" field=$vnotify14}}
|
||||||
{{include file="field_intcheckbox.tpl" field=$always_show_in_notices}}
|
{{include file="field_intcheckbox.tpl" field=$always_show_in_notices}}
|
||||||
{{include file="field_input.tpl" field=$evdays}}
|
{{include file="field_input.tpl" field=$evdays}}
|
||||||
</div>
|
</div>
|
||||||
|
Reference in New Issue
Block a user