diff options
Diffstat (limited to 'mod')
-rw-r--r-- | mod/community.php | 2 | ||||
-rw-r--r-- | mod/contacts.php | 2 | ||||
-rw-r--r-- | mod/directory.php | 2 | ||||
-rw-r--r-- | mod/help.php | 3 | ||||
-rw-r--r-- | mod/message.php | 2 | ||||
-rw-r--r-- | mod/network.php | 2 | ||||
-rw-r--r-- | mod/notifications.php | 2 | ||||
-rw-r--r-- | mod/ping.php | 153 | ||||
-rw-r--r-- | mod/profile.php | 5 | ||||
-rw-r--r-- | mod/profiles.php | 2 | ||||
-rw-r--r-- | mod/search.php | 2 | ||||
-rw-r--r-- | mod/settings.php | 2 |
12 files changed, 151 insertions, 28 deletions
diff --git a/mod/community.php b/mod/community.php index cf43598b5..cb255029f 100644 --- a/mod/community.php +++ b/mod/community.php @@ -25,7 +25,7 @@ function community_content(&$a, $update = 0) { $o .= '<h3>' . t('Community') . '</h3>'; if(! $update) { - $o .= '<script> $(document).ready(function() { $(\'#nav-community-link\').addClass(\'nav-selected\'); });</script>'; + nav_set_selected('community'); $o .= '<div id="live-community"></div>' . "\r\n"; $o .= "<script> var profile_uid = -1; var netargs = '/?f='; var profile_page = " . $a->pager['page'] . "; </script>\r\n"; } diff --git a/mod/contacts.php b/mod/contacts.php index 307e9b15b..4decc5042 100644 --- a/mod/contacts.php +++ b/mod/contacts.php @@ -114,7 +114,7 @@ function contacts_content(&$a) { $sort_type = 0; $o = ''; - $o .= '<script> $(document).ready(function() { $(\'#nav-contacts-link\').addClass(\'nav-selected\'); });</script>'; + nav_set_selected('contacts'); $_SESSION['return_url'] = $a->get_baseurl() . '/' . $a->cmd; diff --git a/mod/directory.php b/mod/directory.php index 0c60f04bf..93abcd5de 100644 --- a/mod/directory.php +++ b/mod/directory.php @@ -22,7 +22,7 @@ function directory_content(&$a) { } $o = ''; - $o .= '<script> $(document).ready(function() { $(\'#nav-directory-link\').addClass(\'nav-selected\'); });</script>'; + nav_set_selected('directory'); if(x($_SESSION,'theme')) unset($_SESSION['theme']); diff --git a/mod/help.php b/mod/help.php index 495b4ccc2..59e062f6d 100644 --- a/mod/help.php +++ b/mod/help.php @@ -17,6 +17,7 @@ function load_doc_file($s) { function help_content(&$a) { + nav_set_selected('help'); global $lang; @@ -41,4 +42,4 @@ function help_content(&$a) { return Markdown($text); -}
\ No newline at end of file +} diff --git a/mod/message.php b/mod/message.php index 165d63814..cc94730bc 100644 --- a/mod/message.php +++ b/mod/message.php @@ -36,7 +36,7 @@ function message_post(&$a) { function message_content(&$a) { $o = ''; - $o .= '<script> $(document).ready(function() { $(\'#nav-messages-link\').addClass(\'nav-selected\'); });</script>'; + nav_set_selected('messages'); if(! local_user()) { notice( t('Permission denied.') . EOL); diff --git a/mod/network.php b/mod/network.php index 54fb2a0a4..c0645fe7a 100644 --- a/mod/network.php +++ b/mod/network.php @@ -98,7 +98,7 @@ function network_content(&$a, $update = 0) { } } - $o .= '<script> $(document).ready(function() { $(\'#nav-network-link\').addClass(\'nav-selected\'); });</script>'; + nav_set_selected('network'); $_SESSION['return_url'] = $a->cmd; diff --git a/mod/notifications.php b/mod/notifications.php index 8c32ee862..0c35d4cd1 100644 --- a/mod/notifications.php +++ b/mod/notifications.php @@ -64,7 +64,7 @@ function notifications_content(&$a) { } $o = ''; - $o .= '<script> $(document).ready(function() { $(\'#nav-notify-link\').addClass(\'nav-selected\'); });</script>'; + nav_set_selected("notifications"); if(($a->argc > 1) && ($a->argv[1] == 'all')) $sql_extra = ''; diff --git a/mod/ping.php b/mod/ping.php index 924f9ff76..8a3d284af 100644 --- a/mod/ping.php +++ b/mod/ping.php @@ -1,5 +1,5 @@ <?php - +require_once("include/datetime.php"); function ping_init(&$a) { @@ -7,42 +7,161 @@ function ping_init(&$a) { if(! local_user()) xml_status(0); - $r = q("SELECT COUNT(*) AS `total` FROM `item` - WHERE `unseen` = 1 AND `visible` = 1 AND `deleted` = 0 AND `uid` = %d AND `wall` = 0 ", + + $comments = array(); + $likes = array(); + $dislikes = array(); + $friends = array(); + + $r = q("SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`author-name`, + `item`.`author-link`, `item`.`author-avatar`, `item`.`created`, + `pitem`.`author-name` as `pname`, `pitem`.`author-link` as `plink` + FROM `item` INNER JOIN `item` as `pitem` ON `pitem`.`id`=`item`.`parent` + WHERE `item`.`unseen` = 1 AND `item`.`visible` = 1 AND + `item`.`deleted` = 0 AND `item`.`uid` = %d AND `item`.`wall` = 0", intval(local_user()) ); - $network = $r[0]['total']; + + $network = count($r); + foreach ($r as $it) { + switch($it['verb']){ + case 'http://activitystrea.ms/schema/1.0/like': + $likes[] = $it; + break; + case 'http://activitystrea.ms/schema/1.0/dislike': + $dislikes[] = $it; + break; + case 'http://activitystrea.ms/schema/1.0/make-friend': + $friends[] = $it; + break; + default: + if ($it['parent']!=$it['id']) $comments[] = $it; + } + } + - $r = q("SELECT COUNT(*) AS `total` FROM `item` - WHERE `unseen` = 1 AND `visible` = 1 AND `deleted` = 0 AND `uid` = %d AND `wall` = 1 ", + $r = q("SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`author-name`, + `item`.`author-link`, `item`.`author-avatar`, `item`.`created`, + `pitem`.`author-name` as `pname`, `pitem`.`author-link` as `plink` + FROM `item` INNER JOIN `item` as `pitem` ON `pitem`.`id`=`item`.`parent` + WHERE `item`.`unseen` = 1 AND `item`.`visible` = 1 AND + `item`.`deleted` = 0 AND `item`.`uid` = %d AND `item`.`wall` = 1", intval(local_user()) - ); - $home = $r[0]['total']; + ); + $home = count($r); + foreach ($r as $it) { + switch($it['verb']){ + case 'http://activitystrea.ms/schema/1.0/like': + $likes[] = $it; + break; + case 'http://activitystrea.ms/schema/1.0/dislike': + $dislikes[] = $it; + break; + case 'http://activitystrea.ms/schema/1.0/make-friend': + $friends[] = $it; + break; + default: + if ($it['parent']!=$it['id']) $comments[] = $it; + } + } - $r = q("SELECT COUNT(*) AS `total` FROM `intro` - WHERE `uid` = %d AND `blocked` = 0 AND `ignore` = 0 ", + + $intros1 = q("SELECT COUNT(`intro`.`id`) AS `total`, `intro`.`id`, `intro`.`datetime`, + `fcontact`.`name`, `fcontact`.`url`, `fcontact`.`photo` + FROM `intro` LEFT JOIN `fcontact` ON `intro`.`fid` = `fcontact`.`id` + WHERE `intro`.`uid` = %d AND `intro`.`blocked` = 0 AND `intro`.`ignore` = 0 AND `intro`.`fid`!=0", + intval(local_user()) + ); + $intros2 = q("SELECT COUNT(`intro`.`id`) AS `total`, `intro`.`id`, `intro`.`datetime`, + `contact`.`name`, `contact`.`url`, `contact`.`photo` + FROM `intro` LEFT JOIN `contact` ON `intro`.`contact-id` = `contact`.`id` + WHERE `intro`.`uid` = %d AND `intro`.`blocked` = 0 AND `intro`.`ignore` = 0 AND `intro`.`contact-id`!=0", intval(local_user()) ); - $intro = $r[0]['total']; + + $intro = $intros1[0]['total'] + $intros2[0]['total']; + if ($intros1[0]['total']==0) $intros1=Array(); + if ($intros2[0]['total']==0) $intros2=Array(); + $intros = $intros1+$intros2; + + $myurl = $a->get_baseurl() . '/profile/' . $a->user['nickname'] ; - $r = q("SELECT COUNT(*) AS `total` FROM `mail` + $mails = q("SELECT *, COUNT(*) AS `total` FROM `mail` WHERE `uid` = %d AND `seen` = 0 AND `from-url` != '%s' ", intval(local_user()), dbesc($myurl) ); - $mail = $r[0]['total']; - + $mail = $mails[0]['total']; + if ($a->config['register_policy'] == REGISTER_APPROVE && is_site_admin()){ - $r = q("SELECT COUNT(*) AS `total` FROM `register`"); - $register = $r[0]['total']; + $regs = q("SELECT `contact`.`name`, `contact`.`url`, `contact`.`micro`, `register`.`created`, COUNT(*) as `total` FROM `contact` RIGHT JOIN `register` ON `register`.`uid`=`contact`.`uid` WHERE `contact`.`self`=1"); + $register = $regs[0]['total']; } else { $register = "0"; } + + function xmlize($href, $name, $url, $photo, $date, $message){ + $notsxml = '<note href="%s" name="%s" url="%s" photo="%s" date="%s">%s</note>'; + return sprintf ( $notsxml, + $href, $name, $url, $photo, $date, $message + ); + } header("Content-type: text/xml"); - echo "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\r\n<result><intro>$intro</intro><mail>$mail</mail><net>$network</net><home>$home</home><register>$register</register></result>\r\n"; + echo "<?xml version=\"1.0\" encoding=\"UTF-8\" ?> + <result> + <intro>$intro</intro> + <mail>$mail</mail> + <net>$network</net> + <home>$home</home>"; + if ($register!=0) echo "<register>$register</register>"; + + $tot = $mail+$intro+$register+count($comments)+count($likes)+count($dislikes)+count($friends); + + echo ' <notif count="'.$tot.'">'; + if ($intro>0){ + foreach ($intros as $i) { + echo xmlize( $a->get_baseurl().'/notifications/'.$i['id'], $i['name'], $i['url'], $i['photo'], relative_date($i['datetime']), t("{0} wants to be your friend") ); + }; + } + if ($mail>0){ + foreach ($mails as $i) { + echo xmlize( $a->get_baseurl().'/message/'.$i['id'], $i['from-name'], $i['from-url'], $i['from-photo'], relative_date($i['created']), t("{0} sent you a message") ); + }; + } + if ($register>0){ + foreach ($regs as $i) { + echo xmlize( $a->get_baseurl().'/admin/users/', $i['name'], $i['url'], $i['micro'], relative_date($i['created']), t("{0} requested registration") ); + }; + } + + if (count($comments)){ + foreach ($comments as $i) { + echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} commented %s's post"), $i['pname'] ) ); + }; + } + if (count($likes)){ + foreach ($likes as $i) { + echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} like %s's post"), $i['pname'] ) ); + }; + } + if (count($dislikes)){ + foreach ($dislikes as $i) { + echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} dislike %s's post"), $i['pname'] ) ); + }; + } + if (count($friends)){ + foreach ($friends as $i) { + echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} is now friend with %s"), $i['pname'] ) ); + }; + } + + + echo " </notif> + </result> + "; killme(); } diff --git a/mod/profile.php b/mod/profile.php index 2dd5df758..66fa17554 100644 --- a/mod/profile.php +++ b/mod/profile.php @@ -70,8 +70,9 @@ function profile_content(&$a, $update = 0) { $a->profile['profile_uid'] = $update; } else { - if($a->profile['profile_uid'] == local_user()) - $o .= '<script> $(document).ready(function() { $(\'#nav-home-link\').addClass(\'nav-selected\'); });</script>'; + if($a->profile['profile_uid'] == local_user()) { + nav_set_selected('home'); + } } $contact = null; diff --git a/mod/profiles.php b/mod/profiles.php index b269fa30c..5cc9fa38c 100644 --- a/mod/profiles.php +++ b/mod/profiles.php @@ -220,7 +220,7 @@ function profiles_post(&$a) { function profiles_content(&$a) { $o = ''; - $o .= '<script> $(document).ready(function() { $(\'#nav-profiles-link\').addClass(\'nav-selected\'); });</script>'; + nav_set_selected('profiles'); if(! local_user()) { notice( t('Permission denied.') . EOL); diff --git a/mod/search.php b/mod/search.php index 88ff9bbb7..f7ce75905 100644 --- a/mod/search.php +++ b/mod/search.php @@ -13,6 +13,8 @@ function search_content(&$a) { notice( t('Public access denied.') . EOL); return; } + + nav_set_selected('search'); require_once("include/bbcode.php"); require_once('include/security.php'); diff --git a/mod/settings.php b/mod/settings.php index 1b4098de8..44ebdd77b 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -299,7 +299,7 @@ if(! function_exists('settings_content')) { function settings_content(&$a) { $o = ''; - $o .= '<script> $(document).ready(function() { $(\'#nav-settings-link\').addClass(\'nav-selected\'); });</script>'; + nav_set_selected('settings'); if(! local_user()) { notice( t('Permission denied.') . EOL ); |