function bat_api_services_edit_event in Booking and Availability Management API 7.2
Update an existing event.
Parameters
int $event_id:
array $bat_event_data:
1 string reference to 'bat_api_services_edit_event'
- bat_api_services_resources in ./
bat_api.module - Implements hook_services_resources().
File
- ./
bat_api.module, line 1067 - API access to booking data for BAT.
Code
function bat_api_services_edit_event($event_id, $bat_event_data) {
$return = new stdClass();
$return->status = 0;
$return->sessid = session_id();
if ($event_id && ($event = bat_event_load($event_id))) {
$event->start_date = isset($bat_event_data['start_date']) ? $bat_event_data['start_date'] : $event->start_date;
$event->end_date = isset($bat_event_data['end_date']) ? $bat_event_data['end_date'] : $event->end_date;
$event->uid = isset($bat_event_data['uid']) ? $bat_event_data['uid'] : $event->uid;
$event->data = isset($bat_event_data['data']) ? $bat_event_data['data'] : $event->data;
$event->changed = REQUEST_TIME;
// Set new target_id if present.
if (isset($bat_event_data['target_id'])) {
$event_type = bat_event_type_load($event->type);
// Construct target entity reference field name using this event type's target entity type.
$target_field_name = 'event_' . $event_type->target_entity_type . '_reference';
$event->{$target_field_name} = array(
LANGUAGE_NONE => array(
0 => array(
'target_id' => $bat_event_data['target_id'],
),
),
);
}
// Set new state id if present.
if (isset($bat_event_data['state_id'])) {
$event->event_state_reference = array(
LANGUAGE_NONE => array(
0 => array(
'state_id' => $bat_event_data['state_id'],
),
),
);
}
$event
->save();
$return->status = 1;
}
elseif ($event_id == 'undefined') {
// This is a new event, save it.
$event = bat_event_create(array(
'type' => $bat_event_data['type'],
));
$event->start_date = $bat_event_data['start_date'];
$event->end_date = $bat_event_data['end_date'];
$event->uid = isset($bat_event_data['uid']) ? $bat_event_data['uid'] : 0;
$event->data = isset($bat_event_data['data']) ? $bat_event_data['data'] : NULL;
$event->created = REQUEST_TIME;
$event->changed = REQUEST_TIME;
// Set new target_id if present.
if (isset($bat_event_data['target_id'])) {
$event_type = bat_event_type_load($event->type);
// Construct target entity reference field name using this event type's target entity type.
$target_field_name = 'event_' . $event_type->target_entity_type . '_reference';
$event->{$target_field_name} = array(
LANGUAGE_NONE => array(
0 => array(
'target_id' => $bat_event_data['target_id'],
),
),
);
}
// Set new state id if present.
if (isset($bat_event_data['state_id'])) {
$event->event_state_reference = array(
LANGUAGE_NONE => array(
0 => array(
'state_id' => $bat_event_data['state_id'],
),
),
);
}
$event
->save();
$return->status = 1;
}
return $return;
}