public static function DoConvertStep() { $types = CCalendarConvert::GetOption('__convert'); $start_time = microtime(true); $time_limit = 2; $stage = 'stop'; $finished = false; self::$accessTasks = CCalendar::GetAccessTasks('calendar_section'); self::$userIblockId = $types['user']['iblockId']; foreach ($types as $key => $type) { $iblockId = $type['iblockId']; if ($iblockId < 0) { continue; } // Fetch type if ($key == 'user') { $arFilter = array('IBLOCK_ID' => $iblockId, "ACTIVE" => "Y", "CHECK_PERMISSIONS" => 'N', "DEPTH_LEVEL" => 1, "UF_CAL_CONVERTED" => false); $dbSections = CIBlockSection::GetList(array('ID' => 'ASC'), $arFilter); // For each user: while ($arSection = $dbSections->Fetch()) { $ownerId = $arSection["CREATED_BY"]; CCalendar::SetUserSettings(false, $ownerId); $res = CCalendarConvert::ConvertEntity('user', $ownerId, $arSection["ID"], $iblockId, $arSection["CREATED_BY"]); if ($res['sectCount'] > 0 || $res['eventsCount'] > 0) { CCalendarConvert::Log(GetMessage("CAL_CONVERT_STAGE_USER_CALS", array('#USER_NAME#' => $arSection['NAME'], '#SECT_COUNT#' => $res['sectCount'], '#EVENTS_COUNT#' => $res['eventsCount']))); } if ($res && ($res['sectCount'] > 0 || $res['eventsCount'] > 0) && microtime(true) - $start_time > $time_limit) { $stage = 'go'; break; } } } elseif ($key == 'group') { $arFilter = array('IBLOCK_ID' => $iblockId, "ACTIVE" => "Y", "CHECK_PERMISSIONS" => 'N', "DEPTH_LEVEL" => 1, "UF_CAL_CONVERTED" => false); $dbSections = CIBlockSection::GetList(array('ID' => 'ASC'), $arFilter); // For each group: while ($arSection = $dbSections->Fetch()) { $ownerId = $arSection["SOCNET_GROUP_ID"]; $res = CCalendarConvert::ConvertEntity('group', $ownerId, $arSection["ID"], $iblockId, $arSection["CREATED_BY"]); if ($res['sectCount'] > 0 || $res['eventsCount'] > 0) { CCalendarConvert::Log(GetMessage("CAL_CONVERT_STAGE_GROUP_CALS", array('#GROUP_NAME#' => $arSection['NAME'], '#SECT_COUNT#' => $res['sectCount'], '#EVENTS_COUNT#' => $res['eventsCount']))); } if ($res && ($res['sectCount'] > 0 || $res['eventsCount'] > 0) && microtime(true) - $start_time > $time_limit) { $stage = 'go'; break; } } } else { $res = CCalendarConvert::ConvertEntity($key, 0, 0, $iblockId, 1); if ($res['sectCount'] > 0 || $res['eventsCount'] > 0) { CCalendarConvert::Log(GetMessage("CAL_CONVERT_STAGE_TYPE", array('#TYPE_NAME#' => $type['name'], '#SECT_COUNT#' => $res['sectCount'], '#EVENTS_COUNT#' => $res['eventsCount']))); } if ($res && ($res['sectCount'] > 0 || $res['eventsCount'] > 0) && microtime(true) - $start_time > $time_limit) { $stage = 'go'; break; } } if ($stage == 'go') { break; } } return $stage; }
public static function GetMeetingSection($userId, $bCreate = false) { if (isset(self::$meetingSections[$userId])) { return self::$meetingSections[$userId]; } $result = false; if ($userId > 0) { $set = CCalendar::GetUserSettings($userId); $result = $set['meetSection']; if ($result && !CCalendarSect::GetById($result, true, true)) { $result = false; } if (!$result) { $res = CCalendarSect::GetList(array('arFilter' => array('CAL_TYPE' => 'user', 'OWNER_ID' => $userId))); if ($res && count($res) > 0 && $res[0]['ID']) { $result = $res[0]['ID']; } if (!$result && $bCreate) { $defCalendar = CCalendarSect::CreateDefault(array('type' => 'user', 'ownerId' => $userId)); if ($defCalendar && $defCalendar['ID'] > 0) { $result = $defCalendar['ID']; } } if ($result) { $set['meetSection'] = $result; CCalendar::SetUserSettings($set, $userId); } } } self::$meetingSections[$userId] = $result; return $result; }
public static function UserSettingsClear($arParams = array(), $nav = null, $server = null) { $userId = CCalendar::GetCurUserId(); $methodName = "calendar.user.settings.clear"; CCalendar::SetUserSettings(false, $userId); return true; }