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;
 }
Exemple #2
0
 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;
 }