24 if (Loader::includeModule(
"calendar")
25 && Option::get(
'calendar',
'needEventIndex',
'Y') ===
'N')
27 return self::FINISH_EXECUTION;
30 $status = $this->loadCurrentStatus();
34 return self::FINISH_EXECUTION;
40 'sectionFinished' =>
$status[
'sectionFinished'],
41 'finished' =>
$status[
'finished']
45 if (!
$status[
'sectionFinished'])
47 $sections = \CCalendarSect::GetList(
array(
49 '>ID' =>
$status[
'sectionLastId']
51 'arOrder' =>
array(
'ID' =>
'asc'),
52 'checkPermissions' =>
false,
53 'getPermissions' =>
false,
54 'limit' => self::PORTION
57 foreach ($sections as $section)
61 if (mb_strtolower($color) != mb_strtolower($section[
'COLOR']))
63 \CCalendarSect::Edit(
array(
65 'ID' => $section[
'ID'],
70 $newStatus[
'sectionLastId'] = $section[
'ID'];
71 $newStatus[
'steps']++;
75 if (!empty($newStatus[
'sectionLastId']))
77 Option::set(
'calendar',
'eventindex', serialize($newStatus));
79 'title' => Loc::getMessage(
"CALENDAR_INDEX_TITLE"),
80 'count' => $newStatus[
'count'],
81 'steps' => $newStatus[
'steps']
84 return self::CONTINUE_EXECUTION;
87 $newStatus[
'sectionFinished'] =
true;
88 Option::set(
'calendar',
'eventindex', serialize($newStatus));
92 $events = \CCalendarEvent::GetList(
array(
94 '>ID' =>
$status[
'eventLastId'],
97 'arOrder' =>
array(
'ID' =>
'asc'),
98 'fetchAttendees' =>
true,
99 'parseRecursion' =>
false,
100 'checkPermissions' =>
false,
101 'parseDescription' =>
false,
102 'fetchSection' =>
true,
103 'limit' => self::PORTION
107 foreach ($events as
$event)
111 if (mb_strtolower($color) != mb_strtolower(
$event[
'COLOR']))
113 \CCalendarEvent::updateColor(
$event[
'ID'], $color);
117 \CCalendarEvent::updateSearchIndex(
$event[
'ID'],
array(
121 $newStatus[
'eventLastId'] =
$event[
'ID'];
122 $newStatus[
'steps']++;
125 if (!empty($newStatus[
'eventLastId']))
127 Option::set(
'calendar',
'eventindex', serialize($newStatus));
129 'title' => Loc::getMessage(
"CALENDAR_INDEX_TITLE"),
130 'count' => $newStatus[
'count'],
131 'steps' => $newStatus[
'steps']
133 return self::CONTINUE_EXECUTION;
136 Option::set(
'calendar',
'needEventIndex',
'N');
137 Option::delete(
'calendar',
array(
'name' =>
'eventindex'));
139 return self::FINISH_EXECUTION;