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; }
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; }