diff --git a/include/identity.php b/include/identity.php index c18bc3a805..d3852b2c2c 100644 --- a/include/identity.php +++ b/include/identity.php @@ -6,6 +6,7 @@ require_once('include/ForumManager.php'); require_once('include/bbcode.php'); require_once("mod/proxy.php"); +require_once('include/cache.php'); /** * @@ -453,15 +454,21 @@ function get_birthdays() { $bd_format = t('g A l F d') ; // 8 AM Friday January 18 $bd_short = t('F d'); - $r = q("SELECT `event`.*, `event`.`id` AS `eid`, `contact`.* FROM `event` - INNER JOIN `contact` ON `contact`.`id` = `event`.`cid` - WHERE `event`.`uid` = %d AND `type` = 'birthday' AND `start` < '%s' AND `finish` > '%s' - ORDER BY `start` ASC ", - intval(local_user()), - dbesc(datetime_convert('UTC','UTC','now + 6 days')), - dbesc(datetime_convert('UTC','UTC','now')) - ); - + $cachekey = "get_birthdays:".local_user(); + $r = Cache::get($cachekey); + if (is_null($r)) { + $r = q("SELECT `event`.*, `event`.`id` AS `eid`, `contact`.* FROM `event` + INNER JOIN `contact` ON `contact`.`id` = `event`.`cid` + WHERE `event`.`uid` = %d AND `type` = 'birthday' AND `start` < '%s' AND `finish` > '%s' + ORDER BY `start` ASC ", + intval(local_user()), + dbesc(datetime_convert('UTC','UTC','now + 6 days')), + dbesc(datetime_convert('UTC','UTC','now')) + ); + if (dbm::is_result($r)) { + Cache::set($cachekey, $r, CACHE_HOUR); + } + } if (dbm::is_result($r)) { $total = 0; $now = strtotime('now'); diff --git a/mod/ping.php b/mod/ping.php index 8b2090cb69..b5330c7b33 100644 --- a/mod/ping.php +++ b/mod/ping.php @@ -196,7 +196,7 @@ function ping_init(App $a) } } - $cachekey = "ping:events:".local_user(); + $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` @@ -206,11 +206,12 @@ function ping_init(App $a) 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)) { - Cache::set($cachekey, $ev, CACHE_HOUR); - $all_events = intval($ev[0]['total']); if ($all_events) {