if (empty($title) || empty($start_day) || empty($end_ts)) { register_error(elgg_echo("event_manager:action:event:edit:error_fields")); forward(REFERER); } $newEvent = false; if (!isset($event)) { $newEvent = true; $event = new Event(); } $event->title = $title; $event->description = $description; $event->container_guid = $container_guid; $event->access_id = $access_id; $event->save(); $event->setLocation($location); $event->setLatLong($latitude, $longitude); $event->tags = $tags; if ($newEvent) { // add event create river event elgg_create_river_item(array('view' => 'river/object/event/create', 'action_type' => 'create', 'subject_guid' => elgg_get_logged_in_user_guid(), 'object_guid' => $event->getGUID())); // add optional organizer relationship if ($organizer_rsvp) { $event->rsvp(EVENT_MANAGER_RELATION_ORGANIZING, null, true, false); } } $event->shortdescription = $shortdescription; $event->comments_on = $comments_on; $event->registration_ended = $registration_ended; $event->registration_needed = $registration_needed; $event->show_attendees = $show_attendees; $event->hide_owner_block = $hide_owner_block;
} $entity = get_entity(get_input('guid')); $event_created = false; if ($entity instanceof \Event) { $event = $entity; } else { $event_created = true; $event = new \Event(); } $event->title = $title; $event->description = get_input('description'); $event->container_guid = (int) get_input('container_guid'); $event->access_id = $access_id; $event->save(); $event->setLocation(get_input('location')); $event->setLatLong(get_input('latitude'), get_input('longitude')); $event->tags = string_to_tag_array(get_input('tags')); if ($event_created) { elgg_create_river_item(['view' => 'river/object/event/create', 'action_type' => 'create', 'subject_guid' => elgg_get_logged_in_user_guid(), 'object_guid' => $event->getGUID()]); } $event->setMaxAttendees(get_input('max_attendees')); $event->setRegion(get_input('region')); $event->setEventType(get_input('event_type')); $event->event_start = $event_start; $event->event_end = $event_end; $event->with_program = get_input('with_program'); $event->endregistration_day = $endregistration_day; $event->event_interested = 1; $metadata_fields = ['shortdescription', 'comments_on', 'registration_ended', 'registration_needed', 'show_attendees', 'notify_onsignup', 'waiting_list', 'venue', 'contact_details', 'website', 'organizer', 'fee', 'fee_details', 'register_nologin', 'waiting_list_enabled', 'registration_completed', 'organizer_guids', 'contact_guids']; foreach ($metadata_fields as $field) { $event->{$field} = get_input($field);