private function delete_event($delete_all_serie_events = false) { $events_list = CalendarService::get_serie_events($this->event->get_content()->get_id()); if ($delete_all_serie_events) { foreach ($events_list as $event) { //Delete event comments CommentsService::delete_comments_topic_module('calendar', $event->get_id()); //Delete participants CalendarService::delete_all_participants($event->get_id()); } CalendarService::delete_all_serie_events($this->event->get_content()->get_id()); PersistenceContext::get_querier()->delete(DB_TABLE_EVENTS, 'WHERE module = :module AND id_in_module = :id', array('module' => 'calendar', 'id' => !$this->event->get_parent_id() ? $this->event->get_id() : $this->event->get_parent_id())); } else { if (!$this->event->belongs_to_a_serie() || count($events_list) == 1) { CalendarService::delete_event_content('WHERE id = :id', array('id' => $this->event->get_parent_id())); } //Delete event CalendarService::delete_event('WHERE id_event = :id', array('id' => $this->event->get_id())); if (!$this->event->get_parent_id()) { PersistenceContext::get_querier()->delete(DB_TABLE_EVENTS, 'WHERE module=:module AND id_in_module=:id', array('module' => 'calendar', 'id' => $this->event->get_id())); } //Delete event comments CommentsService::delete_comments_topic_module('calendar', $this->event->get_id()); //Delete participants CalendarService::delete_all_participants($this->event->get_id()); } Feed::clear_cache('calendar'); CalendarCurrentMonthEventsCache::invalidate(); }