|
@@ -869,25 +869,28 @@ function insertEvent(&$eventOptions)
|
|
$eventOptions['board'] = isset($eventOptions['board']) ? (int) $eventOptions['board'] : 0;
|
|
$eventOptions['board'] = isset($eventOptions['board']) ? (int) $eventOptions['board'] : 0;
|
|
$eventOptions['topic'] = isset($eventOptions['topic']) ? (int) $eventOptions['topic'] : 0;
|
|
$eventOptions['topic'] = isset($eventOptions['topic']) ? (int) $eventOptions['topic'] : 0;
|
|
|
|
|
|
|
|
+ $event_columns = array(
|
|
|
|
+ 'id_board' => 'int', 'id_topic' => 'int', 'title' => 'string-60', 'id_member' => 'int',
|
|
|
|
+ 'start_date' => 'date', 'end_date' => 'date',
|
|
|
|
+ );
|
|
|
|
+ $event_parameters = array(
|
|
|
|
+ $eventOptions['board'], $eventOptions['topic'], $eventOptions['title'], $eventOptions['member'],
|
|
|
|
+ $eventOptions['start_date'], $eventOptions['end_date'],
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ call_integration_hook('integrate_create_event', array(&$eventOptions, &$event_columns, &$event_parameters));
|
|
|
|
+
|
|
// Insert the event!
|
|
// Insert the event!
|
|
$smcFunc['db_insert']('',
|
|
$smcFunc['db_insert']('',
|
|
'{db_prefix}calendar',
|
|
'{db_prefix}calendar',
|
|
- array(
|
|
|
|
- 'id_board' => 'int', 'id_topic' => 'int', 'title' => 'string-60', 'id_member' => 'int',
|
|
|
|
- 'start_date' => 'date', 'end_date' => 'date',
|
|
|
|
- ),
|
|
|
|
- array(
|
|
|
|
- $eventOptions['board'], $eventOptions['topic'], $eventOptions['title'], $eventOptions['member'],
|
|
|
|
- $eventOptions['start_date'], $eventOptions['end_date'],
|
|
|
|
- ),
|
|
|
|
|
|
+ $event_columns,
|
|
|
|
+ $event_parameters,
|
|
array('id_event')
|
|
array('id_event')
|
|
);
|
|
);
|
|
|
|
|
|
// Store the just inserted id_event for future reference.
|
|
// Store the just inserted id_event for future reference.
|
|
$eventOptions['id'] = $smcFunc['db_insert_id']('{db_prefix}calendar', 'id_event');
|
|
$eventOptions['id'] = $smcFunc['db_insert_id']('{db_prefix}calendar', 'id_event');
|
|
|
|
|
|
- call_integration_hook('integrate_insert_event', array($eventOptions));
|
|
|
|
-
|
|
|
|
// Update the settings to show something calendarish was updated.
|
|
// Update the settings to show something calendarish was updated.
|
|
updateSettings(array(
|
|
updateSettings(array(
|
|
'calendar_updated' => time(),
|
|
'calendar_updated' => time(),
|
|
@@ -916,25 +919,35 @@ function modifyEvent($event_id, &$eventOptions)
|
|
if (!isset($eventOptions['end_date']))
|
|
if (!isset($eventOptions['end_date']))
|
|
$eventOptions['end_date'] = strftime('%Y-%m-%d', mktime(0, 0, 0, $month, $day, $year) + $eventOptions['span'] * 86400);
|
|
$eventOptions['end_date'] = strftime('%Y-%m-%d', mktime(0, 0, 0, $month, $day, $year) + $eventOptions['span'] * 86400);
|
|
|
|
|
|
|
|
+ $event_columns = array(
|
|
|
|
+ 'start_date' => '{date:start_date}',
|
|
|
|
+ 'end_date' => '{date:end_date}',
|
|
|
|
+ 'title' => 'SUBSTRING({string:title}, 1, 60)',
|
|
|
|
+ 'id_board' => '{int:id_board}',
|
|
|
|
+ 'id_topic' => '{int:id_topic}'
|
|
|
|
+ );
|
|
|
|
+ $event_parameters = array(
|
|
|
|
+ 'start_date' => $eventOptions['start_date'],
|
|
|
|
+ 'end_date' => $eventOptions['end_date'],
|
|
|
|
+ 'title' => $eventOptions['title'],
|
|
|
|
+ 'id_board' => isset($eventOptions['board']) ? (int) $eventOptions['board'] : 0,
|
|
|
|
+ 'id_topic' => isset($eventOptions['topic']) ? (int) $eventOptions['topic'] : 0,
|
|
|
|
+ );
|
|
|
|
|
|
- call_integration_hook('integrate_modify_event', array($event_id, &$eventOptions));
|
|
|
|
|
|
+ // This is to prevent hooks to modify the id of the event
|
|
|
|
+ $real_event_id = $event_id;
|
|
|
|
+ call_integration_hook('integrate_modify_event', array($event_id, &$eventOptions, &$event_columns, &$event_parameters));
|
|
|
|
|
|
$smcFunc['db_query']('', '
|
|
$smcFunc['db_query']('', '
|
|
UPDATE {db_prefix}calendar
|
|
UPDATE {db_prefix}calendar
|
|
SET
|
|
SET
|
|
- start_date = {date:start_date},
|
|
|
|
- end_date = {date:end_date},
|
|
|
|
- title = SUBSTRING({string:title}, 1, 60),
|
|
|
|
- id_board = {int:id_board},
|
|
|
|
- id_topic = {int:id_topic}
|
|
|
|
|
|
+ ' . implode(', ', $event_columns) . '
|
|
WHERE id_event = {int:id_event}',
|
|
WHERE id_event = {int:id_event}',
|
|
- array(
|
|
|
|
- 'start_date' => $eventOptions['start_date'],
|
|
|
|
- 'end_date' => $eventOptions['end_date'],
|
|
|
|
- 'title' => $eventOptions['title'],
|
|
|
|
- 'id_board' => isset($eventOptions['board']) ? (int) $eventOptions['board'] : 0,
|
|
|
|
- 'id_topic' => isset($eventOptions['topic']) ? (int) $eventOptions['topic'] : 0,
|
|
|
|
- 'id_event' => $event_id,
|
|
|
|
|
|
+ array_merge(
|
|
|
|
+ $event_parameters,
|
|
|
|
+ array(
|
|
|
|
+ 'id_event' => $real_event_id
|
|
|
|
+ )
|
|
)
|
|
)
|
|
);
|
|
);
|
|
|
|
|