duepuntozero, vier: add unread messages per group
This commit is contained in:
parent
3c1127e613
commit
c700a6fb37
6 changed files with 51 additions and 21 deletions
|
@ -203,6 +203,13 @@
|
|||
var birthdaystoday = $(data).find('birthdays-today').text();
|
||||
if(birthdaystoday == 0) { $('#birthdays-update').removeClass('notif-birthdays-today') } else { $('#birthdays-update').addClass('notif-birthdays-today') }
|
||||
|
||||
$(".sidebar-group-li .notify").removeClass("show");
|
||||
$(data).find("group").each(function() {
|
||||
var gid = this.id;
|
||||
var gcount = this.innerHTML;
|
||||
$(".group-"+gid+" .notify").addClass("show").text(gcount);
|
||||
});
|
||||
|
||||
|
||||
var eNotif = $(data).find('notif')
|
||||
|
||||
|
|
26
mod/ping.php
26
mod/ping.php
|
@ -203,8 +203,8 @@ function ping_init(&$a) {
|
|||
if ($a->is_friendica_app() OR !$regularnotifications)
|
||||
$n['message'] = str_replace("{0}", $n['name'], $n['message']);
|
||||
|
||||
$local_time = datetime_convert('UTC',date_default_timezone_get(),$n['date']);
|
||||
|
||||
$local_time = datetime_convert('UTC',date_default_timezone_get(),$n['date']);
|
||||
|
||||
call_hooks('ping_xmlize', $n);
|
||||
$notsxml = '<note href="%s" name="%s" url="%s" photo="%s" date="%s" seen="%s" timestamp="%s" >%s</note>'."\n";
|
||||
return sprintf ( $notsxml,
|
||||
|
@ -250,41 +250,41 @@ function ping_init(&$a) {
|
|||
$n = array(
|
||||
'href' => $a->get_baseurl().'/notifications/intros/'.$i['id'],
|
||||
'name' => $i['name'],
|
||||
'url' => $i['url'],
|
||||
'url' => $i['url'],
|
||||
'photo' => $i['photo'],
|
||||
'date' => $i['datetime'],
|
||||
'seen' => false,
|
||||
'message' => t("{0} wants to be your friend"),
|
||||
'message' => t("{0} wants to be your friend"),
|
||||
);
|
||||
$notifs[] = $n;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($mail>0){
|
||||
foreach ($mails as $i) {
|
||||
$n = array(
|
||||
'href' => $a->get_baseurl().'/message/'.$i['id'],
|
||||
'name' => $i['from-name'],
|
||||
'url' => $i['from-url'],
|
||||
'url' => $i['from-url'],
|
||||
'photo' => $i['from-photo'],
|
||||
'date' => $i['created'],
|
||||
'seen' => false,
|
||||
'message' => t("{0} sent you a message"),
|
||||
'message' => t("{0} sent you a message"),
|
||||
);
|
||||
$notifs[] = $n;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($register>0){
|
||||
foreach ($regs as $i) {
|
||||
$n = array(
|
||||
'href' => $a->get_baseurl().'/admin/users/',
|
||||
'name' => $i['name'],
|
||||
'url' => $i['url'],
|
||||
'url' => $i['url'],
|
||||
'photo' => $i['micro'],
|
||||
'date' => $i['created'],
|
||||
'seen' => false,
|
||||
'message' => t("{0} requested registration"),
|
||||
'message' => t("{0} requested registration"),
|
||||
);
|
||||
$notifs[] = $n;
|
||||
}
|
||||
|
@ -363,7 +363,7 @@ function ping_get_notifications($uid) {
|
|||
$quit = true;
|
||||
else
|
||||
$offset += 50;
|
||||
|
||||
|
||||
|
||||
foreach ($r AS $notification) {
|
||||
if (is_null($notification["visible"]))
|
||||
|
@ -386,7 +386,7 @@ function ping_get_notifications($uid) {
|
|||
$notification["message"] = substr_replace($notification["message"],"{0}",$pos,strlen($notification["name"]));
|
||||
|
||||
$notification['href'] = $a->get_baseurl() . '/notify/view/' . $notification['id'];
|
||||
|
||||
|
||||
if ($notification["visible"] AND !$notification["spam"] AND
|
||||
!$notification["deleted"] AND !is_array($result[$notification["parent"]])) {
|
||||
$result[$notification["parent"]] = $notification;
|
||||
|
@ -395,6 +395,6 @@ function ping_get_notifications($uid) {
|
|||
|
||||
} while ((count($result) < 50) AND !$quit);
|
||||
|
||||
|
||||
|
||||
return($result);
|
||||
}
|
||||
|
|
|
@ -4,18 +4,19 @@
|
|||
<div id="sidebar-group-list">
|
||||
<ul role="menu" id="sidebar-group-ul">
|
||||
{{foreach $groups as $group}}
|
||||
<li role="menuitem" class="sidebar-group-li">
|
||||
<li role="menuitem" class="sidebar-group-li group-{{$group.id}}">
|
||||
{{if $group.cid}}
|
||||
<input type="checkbox"
|
||||
class="{{if $group.selected}}ticked{{else}}unticked {{/if}} action"
|
||||
<input type="checkbox"
|
||||
class="{{if $group.selected}}ticked{{else}}unticked {{/if}} action"
|
||||
onclick="contactgroupChangeMember('{{$group.id}}','{{$group.cid}}');return true;"
|
||||
{{if $group.ismember}}checked="checked"{{/if}}
|
||||
/>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{if $group.edit}}
|
||||
<a class="groupsideedit" href="{{$group.edit.href}}" title="{{$edittext}}"><span id="edit-sidebar-group-element-{{$group.id}}" class="group-edit-icon iconspacer small-pencil"><span class="sr-only">{{$edittext}}</span></span></a>
|
||||
{{/if}}
|
||||
<a id="sidebar-group-element-{{$group.id}}" class="sidebar-group-element {{if $group.selected}}group-selected{{/if}}" href="{{$group.href}}">{{$group.text}}</a>
|
||||
<span class="notify"></span>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
|
|
|
@ -2039,6 +2039,17 @@ a.mail-list-link {
|
|||
#sidebar-group-list ul {
|
||||
list-style-type: none;
|
||||
}
|
||||
.sidebar-group-li .notify {
|
||||
display: none;
|
||||
font-size: 9px;
|
||||
border: 1px solid rgb(221, 221, 221);
|
||||
padding: 2px;
|
||||
float: right;
|
||||
background-color: #BABDB6;
|
||||
}
|
||||
.sidebar-group-li .notify.show {
|
||||
display: block;
|
||||
}
|
||||
|
||||
#sidebar-group-list .icon, #sidebar-group-list .iconspacer {
|
||||
display: inline-block;
|
||||
|
|
|
@ -4,7 +4,7 @@ $(document).ready(function(){
|
|||
var intro = $(data).find('intro').text();
|
||||
var mail = $(data).find('mail').text();
|
||||
|
||||
$("tool notify").removeClass("on");
|
||||
$(".tool .notify").removeClass("on");
|
||||
$(data).find("group").each(function() {
|
||||
var gid = this.id;
|
||||
var gcount = this.innerHTML;
|
||||
|
|
|
@ -366,6 +366,17 @@ code {
|
|||
#sidebar-group-list .tool:hover {
|
||||
background: #EEE;
|
||||
}
|
||||
#sidebar-group-list .notify {
|
||||
min-width: 10px;
|
||||
text-align: center;
|
||||
color: #FFF;
|
||||
background-color: #CB4437;
|
||||
font: bold 10px Arial;
|
||||
padding: 3px;
|
||||
border-radius: 10px;
|
||||
display: none;
|
||||
}
|
||||
#sidebar-group-list .notify.show { display: inline-block; }
|
||||
.tool .label {
|
||||
/* float: left; */
|
||||
}
|
||||
|
@ -1360,12 +1371,12 @@ section.minimal {
|
|||
width: 100%;
|
||||
margin-bottom: 0.3em;
|
||||
}
|
||||
.wall-item-container .wall-item-actions-social,
|
||||
.wall-item-container .wall-item-actions-social,
|
||||
.wall-item-container .wall-item-actions-isevent {
|
||||
float: left;
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
.wall-item-container .wall-item-actions-social a,
|
||||
.wall-item-container .wall-item-actions-social a,
|
||||
.wall-item-container .wall-item-actions-isevent a {
|
||||
float: left;
|
||||
margin-right: 1em;
|
||||
|
@ -2287,7 +2298,7 @@ aside #id_password {
|
|||
width: 120px;
|
||||
height: 130px;
|
||||
float: left;
|
||||
overflow: hidden;
|
||||
overflow: hidden;
|
||||
margin-left: 5px;
|
||||
}*/
|
||||
|
||||
|
|
Loading…
Reference in a new issue