give themes more control over events/birthdays and provide them as notifications

This commit is contained in:
friendica 2012-09-18 17:43:09 -07:00
parent 8596a275fc
commit 5cad3e114a
4 changed files with 76 additions and 3 deletions

View File

@ -144,6 +144,29 @@
if(mail == 0) { mail = ''; $('#mail-update-li').removeClass('show') } else { $('#mail-update-li').addClass('show') }
$('#mail-update-li').html(mail);
var allevents = $(data).find('all-events').text();
if(allevents == 0) { allevents = ''; $('#allevents-update').removeClass('show') } else { $('#allevents-update').addClass('show') }
$('#allevents-update').html(allevents);
var alleventstoday = $(data).find('all-events-today').text();
if(alleventstoday == 0) { $('#allevents-update').removeClass('notif-allevents-today') } else { $('#allevents-update').addClass('notif-allevents-today') }
var events = $(data).find('events').text();
if(events == 0) { events = ''; $('#events-update').removeClass('show') } else { $('#events-update').addClass('show') }
$('#events-update').html(events);
var eventstoday = $(data).find('events-today').text();
if(eventstoday == 0) { $('#events-update').removeClass('notif-events-today') } else { $('#events-update').addClass('notif-events-today') }
var birthdays = $(data).find('birthdays').text();
if(birthdays == 0) {birthdays = ''; $('#birthdays-update').removeClass('show') } else { $('#birthdays-update').addClass('show') }
$('#birthdays-update').html(birthdays);
var birthdaystoday = $(data).find('birthdays-today').text();
if(birthdaystoday == 0) { $('#birthdays-update').removeClass('notif-birthdays-today') } else { $('#birthdays-update').addClass('notif-birthdays-today') }
var eNotif = $(data).find('notif')
if (eNotif.children("note").length==0){

View File

@ -471,7 +471,7 @@ function network_content(&$a, $update = 0) {
}
}
if((! $group) && (! $cid) && (! $update)) {
if((! $group) && (! $cid) && (! $update) && (! get_config('theme','hide_eventlist'))) {
$o .= get_birthdays();
$o .= get_events();
}

View File

@ -55,6 +55,7 @@ function ping_init(&$a) {
$dislikes = array();
$friends = array();
$posts = array();
$home = 0;
$network = 0;
@ -140,6 +141,48 @@ function ping_init(&$a) {
$register = "0";
}
$all_events = 0;
$all_events_today = 0;
$events = 0;
$events_today = 0;
$birthdays = 0;
$birthdays_today = 0;
$ev = q("SELECT count(`event`.`id`) as total, type, start, adjust FROM `event`
WHERE `event`.`uid` = %d AND `start` < '%s' AND `finish` > '%s' and `ignore` = 0
ORDER BY `start` ASC ",
intval(local_user()),
dbesc(datetime_convert('UTC','UTC','now + 7 days')),
dbesc(datetime_convert('UTC','UTC','now'))
);
if($ev && count($ev)) {
$all_events = intval($ev[0]['total']);
if($all_events) {
$str_now = datetime_convert('UTC',$a->timezone,'now','Y-m-d');
foreach($ev as $x) {
$bd = false;
if($x['type'] === 'birthday') {
$birthdays ++;
$bd = true;
}
else {
$events ++;
}
if(datetime_convert('UTC',((intval($x['adjust'])) ? $a->timezone : 'UTC'), $x['start'],'Y-m-d') === $str_now) {
$all_events_today ++;
if($bd)
$birthdays_today ++;
else
$events_today ++;
}
}
}
}
function xmlize($href, $name, $url, $photo, $date, $seen, $message){
$data = array('href' => &$href, 'name' => &$name, 'url'=>&$url, 'photo'=>&$photo, 'date'=>&$date, 'seen'=>&$seen, 'messsage'=>&$message);
@ -153,9 +196,16 @@ function ping_init(&$a) {
echo "<intro>$intro</intro>
<mail>$mail</mail>
<net>$network</net>
<home>$home</home>";
<home>$home</home>\r\n";
if ($register!=0) echo "<register>$register</register>";
echo "<all-events>$all_events</all-events>
<all-events-today>$all_events_today</all-events-today>
<events>$events</events>
<events-today>$events_today</events-today>
<birthdays>$birthdays</birthdays>
<birthdays-today>$birthdays_today</birthdays-today>\r\n";
$tot = $mail+$intro+$register+count($comments)+count($likes)+count($dislikes)+count($friends)+count($posts)+count($tags);
require_once('include/bbcode.php');

View File

@ -304,7 +304,7 @@ function profile_content(&$a, $update = 0) {
$items = array();
}
if($is_owner && ! $update) {
if($is_owner && (! $update) && (! get_config('theme','hide_eventlist'))) {
$o .= get_birthdays();
$o .= get_events();
}