do not show seen notifys in notifications - show them in mod notifications instead. Update notifications count also on notifications updates
This commit is contained in:
parent
c80f4feb62
commit
0061ac8584
@ -12,25 +12,44 @@ class Notifications extends \Zotlabs\Web\Controller {
|
||||
return;
|
||||
}
|
||||
|
||||
nav_set_selected('notifications');
|
||||
nav_set_selected('Notifications');
|
||||
|
||||
$o = '';
|
||||
|
||||
$r = q("SELECT * from notify where uid = %d and seen = 0 order by created desc",
|
||||
|
||||
$r = q("select count(*) as total from notify where uid = %d and seen = 0",
|
||||
intval(local_channel())
|
||||
);
|
||||
if($r && intval($t[0]['total']) > 49) {
|
||||
$r = q("select * from notify where uid = %d
|
||||
and seen = 0 order by created desc limit 50",
|
||||
intval(local_channel())
|
||||
);
|
||||
} else {
|
||||
$r1 = q("select * from notify where uid = %d
|
||||
and seen = 0 order by created desc limit 50",
|
||||
intval(local_channel())
|
||||
);
|
||||
$r2 = q("select * from notify where uid = %d
|
||||
and seen = 1 order by created desc limit %d",
|
||||
intval(local_channel()),
|
||||
intval(50 - intval($t[0]['total']))
|
||||
);
|
||||
$r = array_merge($r1,$r2);
|
||||
}
|
||||
|
||||
if($r) {
|
||||
$notifications_available = 1;
|
||||
foreach ($r as $it) {
|
||||
$x = strip_tags(bbcode($it['msg']));
|
||||
foreach ($r as $rr) {
|
||||
$x = strip_tags(bbcode($rr['msg']));
|
||||
if(strpos($x,','))
|
||||
$x = substr($x,strpos($x,',')+1);
|
||||
$notif_content .= replace_macros(get_markup_template('notify.tpl'),array(
|
||||
'$item_link' => z_root().'/notify/view/'. $it['id'],
|
||||
'$item_image' => $it['photo'],
|
||||
'$item_link' => z_root().'/notify/view/'. $rr['id'],
|
||||
'$item_image' => $rr['photo'],
|
||||
'$item_text' => $x,
|
||||
'$item_when' => relative_date($it['created'])
|
||||
'$item_when' => relative_date($rr['created']),
|
||||
'$item_seen' => (($rr['seen']) ? true : false),
|
||||
'$new' => t('New')
|
||||
));
|
||||
}
|
||||
}
|
||||
|
@ -258,37 +258,20 @@ class Ping extends \Zotlabs\Web\Controller {
|
||||
* dropdown menu.
|
||||
*/
|
||||
if(argc() > 1 && argv(1) === 'notify') {
|
||||
$t = q("select count(*) as total from notify where uid = %d and seen = 0",
|
||||
$t = q("select * from notify where uid = %d and seen = 0 order by created desc",
|
||||
intval(local_channel())
|
||||
);
|
||||
if($t && intval($t[0]['total']) > 49) {
|
||||
$z = q("select * from notify where uid = %d
|
||||
and seen = 0 order by created desc limit 50",
|
||||
intval(local_channel())
|
||||
);
|
||||
} else {
|
||||
$z1 = q("select * from notify where uid = %d
|
||||
and seen = 0 order by created desc limit 50",
|
||||
intval(local_channel())
|
||||
);
|
||||
$z2 = q("select * from notify where uid = %d
|
||||
and seen = 1 order by created desc limit %d",
|
||||
intval(local_channel()),
|
||||
intval(50 - intval($t[0]['total']))
|
||||
);
|
||||
$z = array_merge($z1,$z2);
|
||||
}
|
||||
|
||||
if(count($z)) {
|
||||
foreach($z as $zz) {
|
||||
if($t) {
|
||||
foreach($t as $tt) {
|
||||
$notifs[] = array(
|
||||
'notify_link' => z_root() . '/notify/view/' . $zz['id'],
|
||||
'name' => $zz['xname'],
|
||||
'url' => $zz['url'],
|
||||
'photo' => $zz['photo'],
|
||||
'when' => relative_date($zz['created']),
|
||||
'hclass' => (($zz['seen']) ? 'notify-seen' : 'notify-unseen'),
|
||||
'message' => strip_tags(bbcode($zz['msg']))
|
||||
'notify_link' => z_root() . '/notify/view/' . $tt['id'],
|
||||
'name' => $tt['xname'],
|
||||
'url' => $tt['url'],
|
||||
'photo' => $tt['photo'],
|
||||
'when' => relative_date($tt['created']),
|
||||
'hclass' => (($tt['seen']) ? 'notify-seen' : 'notify-unseen'),
|
||||
'message' => strip_tags(bbcode($tt['msg']))
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -946,6 +946,7 @@ function notify_popup_loader(notifyType) {
|
||||
|
||||
$("#navbar-" + notifyType + "-menu").html(notifications_all + notifications_mark);
|
||||
$("#nav-" + notifyType + "-menu").html(notifications_all + notifications_mark);
|
||||
$("." + notifyType + "-update").html(data.notify.length);
|
||||
|
||||
$(data.notify).each(function() {
|
||||
html = navbar_notifications_tpl.format(this.notify_link,this.photo,this.name,this.message,this.when,this.hclass);
|
||||
|
@ -1,3 +1,10 @@
|
||||
<div class="mb-2 notif-item">
|
||||
<a href="{{$item_link}}"><img src="{{$item_image}}" class="menu-img-1">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a>
|
||||
<div class="mb-4 notif-item">
|
||||
{{if ! $item_seen}}
|
||||
<span class="float-right badge badge-pill badge-success text-uppercase">{{$new}}</span>
|
||||
{{/if}}
|
||||
<a href="{{$item_link}}">
|
||||
<img src="{{$item_image}}" class="menu-img-3">
|
||||
<span class="{{if $item_seen}}text-muted{{/if}}">{{$item_text}}</span><br>
|
||||
<span class="dropdown-sub-text">{{$item_when}}</span>
|
||||
</a>
|
||||
</div>
|
||||
|
Reference in New Issue
Block a user