public function testGetDayStartEndFromStringToFormat() { $time = '21-Feb-15 18:27:52'; $format = 'Y-m-d H:i:s'; $expected_start = '2015-02-21 00:00:00'; $expected_end = '2015-02-21 23:59:59'; $this->assertEquals($this->util->getDayStart($time, $format), $expected_start); $this->assertEquals($this->util->getDayEnd($time, $format), $expected_end); }
/** * called on daily cron * build reminder annotations ahead of when we need them * * @param type $hook * @param type $type * @param type $return * @param type $params */ function daily_build_reminders($hook, $type, $return, $params) { $time = time(); // get the largest reminder offset // @TODO - what if someone sets a stupid reminder for a year or something? // we don't want to be calculating all of those every day... $longest_reminder = Util::getLongestReminder(); $longest_lookahead = Util::getDayEnd($time + $longest_reminder); $default_lookahead = Util::getDayEnd($time + Util::SECONDS_IN_A_DAY * 2); $reminder_lookahead = max(array($default_lookahead, $longest_lookahead)); // get all events that are upcoming $events = Util::getAllEvents($time, $reminder_lookahead); foreach ($events as $event) { $event->buildReminders($time, $reminder_lookahead); } }
namespace Events\UI; use Events\API\Calendar; use Events\API\Util; use Events\API\PAM; $is_logged_in = elgg_is_logged_in(); $guid = get_input('guid'); $consumer = get_input('consumer'); if (!$is_logged_in) { $token = get_input('token'); $user_guid = get_input('uid'); try { PAM::authenticate(); } catch (Exception $ex) { register_error($ex->getMessage()); forward('', '403'); } } $entity = get_entity($guid); if (!$entity instanceof Calendar) { forward('', '404'); } $start = (int) get_input('start', time()); $end = (int) get_input('end', strtotime('+1 month', $start)); $start = (int) Util::getDayStart($start); $end = (int) Util::getDayEnd($end); $events = $entity->getAllEventInstances($start, $end, true, $consumer); echo json_encode($events); if (!$is_logged_in) { logout(); }