introduce public stream notifications
This commit is contained in:
parent
a6835f4e71
commit
f427b4a325
@ -19,6 +19,7 @@ class Ping extends \Zotlabs\Web\Controller {
|
||||
* @result JSON
|
||||
*/
|
||||
function init() {
|
||||
|
||||
$result = array();
|
||||
$notifs = array();
|
||||
|
||||
@ -139,8 +140,8 @@ class Ping extends \Zotlabs\Web\Controller {
|
||||
db_utcnow(), db_quoteinterval('3 MINUTE')
|
||||
);
|
||||
|
||||
$disable_discover_tab = get_config('system','disable_discover_tab') || get_config('system','disable_discover_tab') === false;
|
||||
$notify_pubs = ((local_channel()) ? ($vnotify & VNOTIFY_PUBS) && !$disable_discover_tab : !$disable_discover_tab);
|
||||
$discover_tab_on = ((get_config('system','disable_discover_tab') != 1) ? true : false);
|
||||
$notify_pubs = ((local_channel()) ? ($vnotify & VNOTIFY_PUBS) && $discover_tab_on : $discover_tab_on);
|
||||
|
||||
if($notify_pubs) {
|
||||
$sys = get_sys_channel();
|
||||
@ -161,6 +162,36 @@ class Ping extends \Zotlabs\Web\Controller {
|
||||
$result['pubs'] = intval($pubs[0]['total']);
|
||||
}
|
||||
|
||||
if((argc() > 1) && (argv(1) === 'pubs') && ($notify_pubs)) {
|
||||
$sys = get_sys_channel();
|
||||
$result = array();
|
||||
|
||||
$r = q("SELECT * FROM item
|
||||
WHERE uid = %d
|
||||
AND author_xchan != '%s'
|
||||
AND obj_type != '%s'
|
||||
AND item_unseen = 1
|
||||
AND created > '" . datetime_convert('UTC','UTC',$_SESSION['static_loadtime']) . "'
|
||||
$item_normal
|
||||
ORDER BY created DESC
|
||||
LIMIT 300",
|
||||
intval($sys['channel_id']),
|
||||
dbesc(get_observer_hash()),
|
||||
dbesc(ACTIVITY_OBJ_FILE)
|
||||
);
|
||||
|
||||
if($r) {
|
||||
xchan_query($r);
|
||||
foreach($r as $rr) {
|
||||
$result[] = \Zotlabs\Lib\Enotify::format($rr);
|
||||
}
|
||||
}
|
||||
|
||||
// logger('ping (network||home): ' . print_r($result, true), LOGGER_DATA);
|
||||
echo json_encode(array('notify' => $result));
|
||||
killme();
|
||||
}
|
||||
|
||||
$t1 = dba_timer();
|
||||
|
||||
if((! local_channel()) || ($result['invalid'])) {
|
||||
@ -206,6 +237,9 @@ class Ping extends \Zotlabs\Web\Controller {
|
||||
intval(local_channel())
|
||||
);
|
||||
break;
|
||||
case 'pubs':
|
||||
unset($_SESSION['static_loadtime']);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -211,7 +211,9 @@ EOT;
|
||||
}
|
||||
|
||||
if(! get_config('system', 'disable_discover_tab')) {
|
||||
$nav['pubs'] = array('pubstream', t('Public stream'), "", t('Public stream activities'),'pubs_nav_btn');
|
||||
$nav['pubs'] = array('pubstream', t('Public stream'), "", t('Public stream activity'),'pubs_nav_btn');
|
||||
$nav['pubs']['all'] = [ 'pubstream', t('View your public stream'), '','' ];
|
||||
$nav['pubs']['mark'] = array('', t('Mark all public stream items seen'), '','');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -188,13 +188,17 @@
|
||||
<a class="nav-link" href="{{$nav.alogout.0}}" title="{{$nav.alogout.3}}" id="{{$nav.alogout.4}}">{{$nav.alogout.1}}</a>
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{if $nav.pubs}}
|
||||
<li class="nav-item dropdown pubs-button" style="display: none;">
|
||||
<a class="nav-link" href="{{$nav.pubs.0}}" title="{{$nav.pubs.3}}" id="{{$nav.pubs.4}}" rel="#nav-pubs-menu">
|
||||
<a class="nav-link" href="#" title="{{$nav.pubs.3}}" id="{{$nav.pubs.4}}" data-toggle="dropdown" rel="#nav-pubs-menu">
|
||||
<i class="fa fa-fw fa-globe"></i>
|
||||
<span class="badge badge-pill badge-primary pubs-update"></span>
|
||||
<span class="badge badge-pill badge-secondary pubs-update"></span>
|
||||
</a>
|
||||
<div id="nav-pubs-menu" class="dropdown-menu" rel="pubs">
|
||||
<a class="dropdown-item" id="nav-pubs-see-all" href="{{$nav.pubs.all.0}}">{{$nav.pubs.all.1}}</a>
|
||||
<a class="dropdown-item" id="nav-pubs-mark-all" href="#" onclick="markRead('pubs'); return false;">{{$nav.pubs.mark.1}}</a>
|
||||
{{$emptynotifications}}
|
||||
</div>
|
||||
</li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
|
Reference in New Issue
Block a user