Beispiel #1
0
function event_calendar_modify_full_calendar($event_guid, $day_delta, $minute_delta, $start_time, $resend, $minutes, $iso_date)
{
    $event = get_entity($event_guid);
    if (elgg_instanceof($event, 'object', 'event_calendar') && $event->canEdit()) {
        if ($event->is_event_poll) {
            if (elgg_is_active_plugin('event_poll')) {
                elgg_load_library('elgg:event_poll');
                return event_poll_change($event_guid, $day_delta, $minute_delta, $start_time, $resend, $minutes, $iso_date);
            } else {
                return FALSE;
            }
        } else {
            $event->start_date = strtotime("{$day_delta} days", $event->start_date) + 60 * $minute_delta;
            if ($event->end_date) {
                $event->end_date = strtotime("{$day_delta} days", $event->end_date);
            }
            $times = elgg_get_plugin_setting('times', 'event_calendar');
            //$inc = 24*60*60*$day_delta+60*$minute_delta;
            //$event->real_end_time += $inc;
            $event->real_end_time = strtotime("{$day_delta} days", $event->real_end_time) + 60 * $minute_delta;
            if ($times != 'no') {
                $event->start_time += $minute_delta;
                if ($event->end_time) {
                    $event->end_time += $minute_delta;
                }
            }
            $dow = array('monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday');
            $week_repeats = array();
            $weekday_delta = ($day_delta % 7 + 7) % 7;
            // Imagine delta is -12: ((-12 % 7) + 7 % 7) = +2 (thursdays are saturdays)
            foreach ($dow as $i => $w) {
                $v = 'event-calendar-repeating-' . $w . '-value';
                $new_day = $dow[($i + $weekday_delta) % 7];
                $week_repeats[$new_day] = $event->{$v};
            }
            foreach ($week_repeats as $w => $value) {
                $v = 'event-calendar-repeating-' . $w . '-value';
                $event->{$v} = $value;
            }
            return TRUE;
        }
    }
    return FALSE;
}
Beispiel #2
0
function event_calendar_modify_full_calendar($event_guid, $day_delta, $minute_delta, $start_time, $resend, $minutes, $iso_date)
{
    $event = get_entity($event_guid);
    if (elgg_instanceof($event, 'object', 'event_calendar') && $event->canEdit()) {
        if ($event->is_event_poll) {
            if (elgg_is_active_plugin('event_poll')) {
                elgg_load_library('elgg:event_poll');
                return event_poll_change($event_guid, $day_delta, $minute_delta, $start_time, $resend, $minutes, $iso_date);
            } else {
                return FALSE;
            }
        } else {
            $event->start_date = strtotime("{$day_delta} days", $event->start_date) + 60 * $minute_delta;
            if ($event->end_date) {
                $event->end_date = strtotime("{$day_delta} days", $event->end_date);
            }
            $times = elgg_get_plugin_setting('times', 'event_calendar');
            //$inc = 24*60*60*$day_delta+60*$minute_delta;
            //$event->real_end_time += $inc;
            $event->real_end_time = strtotime("{$day_delta} days", $event->real_end_time) + 60 * $minute_delta;
            if ($times != 'no') {
                $event->start_time += $minute_delta;
                if ($event->end_time) {
                    $event->end_time += $minute_delta;
                }
            }
            return TRUE;
        }
    }
    return FALSE;
}