30 if (Loader::includeModule(
"calendar")
31 && (Option::get(
'calendar',
'eventWithLocationConverted',
'N') ===
'Y')
35 return self::FINISH_EXECUTION;
37 $status = $this->loadCurrentStatus();
42 'newFinished' =>
$status[
'newFinished'],
43 'lastEventId' =>
$status[
'lastEventId']
49 $res = $this->getLocationEvent($newStatus[
'lastEventId']);
52 $eventId = (int)
$event[
'ID'];
53 $newStatus[
'lastEventId'] = $eventId;
55 $parentRes = $this->getLocationParentEvent($eventId);
56 if ($parentEvent = $parentRes->Fetch())
58 $ownerName = $sqlHelper->forSql(CCalendar::GetUserName($parentEvent[
'CREATED_BY']));
59 $parentId = (int)$parentEvent[
'ID'];
60 $this->updateLocationEvent($parentId, $ownerName, $eventId);
64 $this->deleteEvent($eventId);
67 $newStatus[
'steps']++;
70 if (isset($newStatus[
'lastEventId']) &&
$res->SelectedRowsCount() !== 0)
72 Option::set(
'calendar',
'eventWithLocationConvertedStatus', serialize($newStatus));
74 'title' => Loc::getMessage(
"CALENDAR_UPDATE_EVENT_WITH_LOCATION"),
75 'count' => $newStatus[
'count'],
76 'steps' => $newStatus[
'steps'],
77 'lastEventId' => $newStatus[
'lastEventId'],
78 'newFinished' => $newStatus[
'newFinished']
81 return self::CONTINUE_EXECUTION;
84 $newStatus[
'newFinished'] =
true;
85 $newStatus[
'lastEventId'] = PHP_INT_MAX;
89 $meetingRoomArray = $this->getMeetingRoomArray();
91 if ($meetingRoomArray !==
null)
93 $res = $this->getIBlockEvent($newStatus[
'lastEventId']);
96 $eventId = (int)
$event[
'ID'];
97 $newStatus[
'lastEventId'] = $eventId;
98 $phrases = $this->prepareLocationEvent(
$event, $meetingRoomArray);
100 if ($phrases !==
null && isset($phrases[
'child']) && isset($phrases[
'parent']))
102 $this->updateLocationValue($phrases[
'parent'], $eventId);
105 $this->updateLocationValueForChildEvents($phrases[
'child'], $eventId);
110 $newStatus[
'steps']++;
113 if (isset($newStatus[
'lastEventId']) &&
$res->SelectedRowsCount() !== 0)
115 Option::set(
'calendar',
'eventWithLocationConvertedStatus', serialize($newStatus));
117 'title' => Loc::getMessage(
"CALENDAR_UPDATE_EVENT_WITH_LOCATION"),
118 'count' => $newStatus[
'count'],
119 'steps' => $newStatus[
'steps'],
120 'lastEventId' => $newStatus[
'lastEventId'],
121 'newFinished' => $newStatus[
'newFinished']
124 return self::CONTINUE_EXECUTION;
128 Option::set(
'calendar',
'eventWithLocationConverted',
'Y');
129 Option::delete(
'calendar', [
'name' =>
'eventWithLocationConvertedStatus']);
132 return self::FINISH_EXECUTION;