Exemple #1
0
/**
 * 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);
    }
}