// edit existing if (!$slot instanceof EventSlot) { unset($slot); } $result['edit'] = 1; } else { // create new $slot = new EventSlot(); } if ($slot) { $slot->title = $title; $slot->description = $description; $slot->container_guid = $day->container_guid; $slot->owner_guid = $day->owner_guid; $slot->access_id = $day->access_id; if ($slot->save()) { // add metadata $slot->start_time = $start_time; $slot->end_time = $end_time; $slot->location = $location; $slot->max_attendees = $max_attendees; if (!empty($slot_set)) { $slot->slot_set = $slot_set; } else { unset($slot->slot_set); } $slot->addRelationship($day->getGUID(), 'event_day_slot_relation'); $result['valid'] = 1; $result['guid'] = $slot->getGUID(); $result['parent_guid'] = $parent_guid; $result['content'] = elgg_view('event_manager/program/elements/slot', array('entity' => $slot));
if ($with_program && !$eventDays) { $eventDay = new EventDay(); $eventDay->title = 'Event day 1'; $eventDay->container_guid = $event->getGUID(); $eventDay->owner_guid = $event->getGUID(); $eventDay->access_id = $event->access_id; $eventDay->save(); $eventDay->date = $event->start_day; $eventDay->addRelationship($event->getGUID(), 'event_day_relation'); $eventSlot = new EventSlot(); $eventSlot->title = 'Activity title'; $eventSlot->description = 'Activity description'; $eventSlot->container_guid = $event->container_guid; $eventSlot->owner_guid = $event->owner_guid; $eventSlot->access_id = $event->access_id; $eventSlot->save(); $eventSlot->location = $event->location; $eventSlot->start_time = '08:00'; $eventSlot->end_time = '09:00'; $eventSlot->addRelationship($eventDay->getGUID(), 'event_day_slot_relation'); } $event->setAccessToOwningObjects($access_id); $prefix = "events/" . $event->guid . "/"; $icon_sizes = elgg_get_config("icon_sizes"); $icon_file = get_resized_image_from_uploaded_file("icon", 100, 100); if ($icon_file) { // create icons $fh = new ElggFile(); $fh->owner_guid = $event->getOwnerGUID(); foreach ($icon_sizes as $icon_name => $icon_info) { $icon_file = get_resized_image_from_uploaded_file("icon", $icon_info["w"], $icon_info["h"], $icon_info["square"], $icon_info["upscale"]);
if (!$slot instanceof EventSlot) { register_error(elgg_echo('event_manager:action:slot:not_found')); forward(REFERER); } $edit = true; } else { // create new $slot = new EventSlot(); } $slot->title = $title; $slot->description = $description; $slot->container_guid = $day->container_guid; $slot->owner_guid = $day->owner_guid; $slot->access_id = $day->access_id; $slot->start_time = $start_time; $slot->end_time = $end_time; $slot->location = $location; $slot->max_attendees = $max_attendees; if (!$slot->save()) { register_error(elgg_echo('event_manager:action:slot:cannot_save')); forward(REFERER); } if (!empty($slot_set)) { $slot->slot_set = $slot_set; } if (!$edit) { $slot->addRelationship($day->getGUID(), 'event_day_slot_relation'); } system_message(elgg_echo('event_manager:action:slot:saved')); $result = array('edit' => $edit, 'guid' => $slot->guid, 'parent_guid' => $parent_guid, 'content' => elgg_view('event_manager/program/elements/slot', array('entity' => $slot))); echo json_encode($result);