예제 #1
0
 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);
 }
예제 #2
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);
    }
}
예제 #3
0
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();
}