X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fping.php;h=0b82e71d392e3eb083cd3bdfb2af9578118954e0;hb=9fb4ba2b733d59b8a704cb8df846c3b43769503d;hp=7e20b9383d6788cb68bf8c6a08c060a87ee46f36;hpb=df8db7d90d717fecad9c3bb331cbdbd65c2c2615;p=friendica.git diff --git a/mod/ping.php b/mod/ping.php index 7e20b9383d..0b82e71d39 100644 --- a/mod/ping.php +++ b/mod/ping.php @@ -5,6 +5,7 @@ require_once('include/ForumManager.php'); require_once('include/group.php'); require_once('mod/proxy.php'); require_once('include/xml.php'); +require_once('include/cache.php'); /** * @brief Outputs the counts and the lists of various notifications @@ -175,9 +176,9 @@ function ping_init(App $a) ); $intro_count = count($intros1) + count($intros2); - $intros = $intros1+$intros2; + $intros = $intros1 + $intros2; - $myurl = $a->get_baseurl() . '/profile/' . $a->user['nickname'] ; + $myurl = App::get_baseurl() . '/profile/' . $a->user['nickname'] ; $mails = qu("SELECT `id`, `from-name`, `from-url`, `from-photo`, `created` FROM `mail` WHERE `uid` = %d AND `seen` = 0 AND `from-url` != '%s' ", intval(local_user()), @@ -189,18 +190,27 @@ function ping_init(App $a) $regs = qu("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"); - if ($regs) { + + if (dbm::is_result($regs)) { $register_count = $regs[0]['total']; } } - $ev = qu("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')) - ); + $cachekey = "ping_init:".local_user(); + $ev = Cache::get($cachekey); + if (is_null($ev)) { + $ev = qu("SELECT count(`event`.`id`) AS total, type, start, adjust FROM `event` + WHERE `event`.`uid` = %d AND `start` < '%s' AND `finish` > '%s' and `ignore` = 0 + GROUP BY type, start, adjust + ORDER BY `start` ASC ", + intval(local_user()), + dbesc(datetime_convert('UTC', 'UTC', 'now + 7 days')), + dbesc(datetime_convert('UTC', 'UTC', 'now')) + ); + if (dbm::is_result($ev)) { + Cache::set($cachekey, $ev, CACHE_HOUR); + } + } if (dbm::is_result($ev)) { $all_events = intval($ev[0]['total']); @@ -252,7 +262,7 @@ function ping_init(App $a) if (dbm::is_result($intros)) { foreach ($intros as $intro) { $notif = array( - 'href' => $a->get_baseurl() . '/notifications/intros/' . $intro['id'], + 'href' => App::get_baseurl() . '/notifications/intros/' . $intro['id'], 'name' => $intro['name'], 'url' => $intro['url'], 'photo' => $intro['photo'], @@ -267,7 +277,7 @@ function ping_init(App $a) if (dbm::is_result($mails)) { foreach ($mails as $mail) { $notif = array( - 'href' => $a->get_baseurl() . '/message/' . $mail['id'], + 'href' => App::get_baseurl() . '/message/' . $mail['id'], 'name' => $mail['from-name'], 'url' => $mail['from-url'], 'photo' => $mail['from-photo'], @@ -282,7 +292,7 @@ function ping_init(App $a) if (dbm::is_result($regs)) { foreach ($regs as $reg) { $notif = array( - 'href' => $a->get_baseurl() . '/admin/users/', + 'href' => App::get_baseurl() . '/admin/users/', 'name' => $reg['name'], 'url' => $reg['url'], 'photo' => $reg['micro'], @@ -449,7 +459,7 @@ function ping_get_notifications($uid) ); } - $notification["href"] = $a->get_baseurl() . "/notify/view/" . $notification["id"]; + $notification["href"] = App::get_baseurl() . "/notify/view/" . $notification["id"]; if ($notification["visible"] AND !$notification["spam"] AND !$notification["deleted"] AND !is_array($result[$notification["parent"]])) {