|
@@ -1222,34 +1222,78 @@ class ImportCsv
|
|
|
$report['mail_not_sent_because_date']++;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
$content = '';
|
|
|
if ($update && isset($item['item_id'])) {
|
|
|
- //the event already exists, just update
|
|
|
- $eventResult = $agenda->editEvent(
|
|
|
- $item['item_id'],
|
|
|
- $event['start'],
|
|
|
- $event['end'],
|
|
|
- false,
|
|
|
- $event['title'],
|
|
|
- $content,
|
|
|
- array('everyone'), // $usersToSend
|
|
|
- array(), //$attachmentArray = array(),
|
|
|
- [], //$attachmentCommentList
|
|
|
- $eventComment,
|
|
|
- $color,
|
|
|
- false,
|
|
|
- false,
|
|
|
- $this->defaultAdminId
|
|
|
- );
|
|
|
-
|
|
|
- if ($eventResult !== false) {
|
|
|
- $this->logger->addInfo(
|
|
|
- "Event updated #".$item['item_id']." External cal Id: (".$externalEventId.") $info"
|
|
|
+ $eventInfo = $agenda->get_event($item['item_id']);
|
|
|
+ if (empty($eventInfo)) {
|
|
|
+ // Means that agenda external id exists but the event doesn't exist
|
|
|
+ $this->logger->addInfo("external event id exists: $externalEventId");
|
|
|
+ $this->logger->addInfo("but Chamilo event don't exists: ".$item['item_id']);
|
|
|
+
|
|
|
+ $eventId = $agenda->addEvent(
|
|
|
+ $event['start'],
|
|
|
+ $event['end'],
|
|
|
+ false,
|
|
|
+ $event['title'],
|
|
|
+ $content,
|
|
|
+ array('everyone'), // $usersToSend
|
|
|
+ false, //$addAsAnnouncement = false
|
|
|
+ null, // $parentEventId
|
|
|
+ array(), //$attachmentArray = array(),
|
|
|
+ [], //$attachmentCommentList
|
|
|
+ $eventComment,
|
|
|
+ $color
|
|
|
);
|
|
|
+
|
|
|
+ if (!empty($eventId)) {
|
|
|
+ $this->logger->addInfo("Chamilo event created: ".$eventId);
|
|
|
+ $values = $extraFieldValue->get_values_by_handler_and_field_id(
|
|
|
+ $item['item_id'],
|
|
|
+ $extraFieldInfo['id']
|
|
|
+ );
|
|
|
+
|
|
|
+ foreach ($values as $extraFieldValueItem) {
|
|
|
+ $params = [
|
|
|
+ 'id' => $extraFieldValueItem['id'],
|
|
|
+ 'item_id' => $eventId
|
|
|
+ ];
|
|
|
+ $extraFieldValue->update($params);
|
|
|
+ $this->logger->addInfo(
|
|
|
+ 'Updating calendar extra field #'.$extraFieldValueItem['id'].' new item_id: '.$eventId.' old item_id: '.$item['item_id']
|
|
|
+ );
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ $this->logger->addInfo("Error while creating event external id: $externalEventId");
|
|
|
+ }
|
|
|
} else {
|
|
|
- $this->logger->addInfo(
|
|
|
- "Error while updating event with external id: $externalEventId"
|
|
|
+ // The event already exists, just update
|
|
|
+ $eventResult = $agenda->editEvent(
|
|
|
+ $item['item_id'],
|
|
|
+ $event['start'],
|
|
|
+ $event['end'],
|
|
|
+ false,
|
|
|
+ $event['title'],
|
|
|
+ $content,
|
|
|
+ array('everyone'), // $usersToSend
|
|
|
+ array(), //$attachmentArray = array(),
|
|
|
+ [], //$attachmentCommentList
|
|
|
+ $eventComment,
|
|
|
+ $color,
|
|
|
+ false,
|
|
|
+ false,
|
|
|
+ $this->defaultAdminId
|
|
|
);
|
|
|
+
|
|
|
+ if ($eventResult !== false) {
|
|
|
+ $this->logger->addInfo(
|
|
|
+ "Event updated #".$item['item_id']." External cal Id: (".$externalEventId.") $info"
|
|
|
+ );
|
|
|
+ } else {
|
|
|
+ $this->logger->addInfo(
|
|
|
+ "Error while updating event with external id: $externalEventId"
|
|
|
+ );
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
// New event. Create it.
|