/** * Generates a day and a slot if there is none * * @return void */ public function generateInitialProgramData() { if (empty($this->with_program)) { return; } if ($this->hasEventDays()) { return; } $day = new \ColdTrick\EventManager\Event\Day(); $day->title = elgg_echo('event_manager:event:initial:day:title'); $day->container_guid = $this->getGUID(); $day->owner_guid = $this->getGUID(); $day->access_id = $this->access_id; $day->save(); $day->date = $this->getStartTimestamp(); $day->addRelationship($this->getGUID(), 'event_day_relation'); $slot = new \ColdTrick\EventManager\Event\Slot(); $slot->title = elgg_echo('event_manager:event:initial:slot:title'); $slot->description = elgg_echo('event_manager:event:initial:slot:description'); $slot->container_guid = $this->container_guid; $slot->owner_guid = $this->owner_guid; $slot->access_id = $this->access_id; $slot->save(); $slot->location = $this->location; $slot->start_time = mktime('08', '00', 1, 0, 0, 0); $slot->end_time = mktime('09', '00', 1, 0, 0, 0); $slot->addRelationship($day->getGUID(), 'event_day_slot_relation'); }
unset($day); } $edit = true; } else { // create new $day = new \ColdTrick\EventManager\Event\Day(); } if (empty($day) || empty($date)) { register_error(elgg_echo('save:fail')); forward(REFERER); } $day->title = $title; $day->description = $description; $day->container_guid = $event->getGUID(); $day->owner_guid = $event->getGUID(); $day->access_id = $event->access_id; if (!$day->save()) { register_error(elgg_echo('save:fail')); forward(REFERER); } $day->date = $date; $day->addRelationship($event->getGUID(), 'event_day_relation'); $content_title = $day->description; if (empty($content_title)) { $content_title = event_manager_format_date($day->date); } if (!$edit) { $content_title = '<li><a rel="day_' . $day->getGUID() . '" href="javascript:void(0);">' . $content_title . '</a></li>'; } $result = ['guid' => $day->getGUID(), 'edit' => $edit, 'content_title' => $content_title, 'content_body' => elgg_view('event_manager/program/elements/day', ['entity' => $day, 'details_only' => $edit])]; echo json_encode($result);