20 if (!Loader::includeModule(self::$moduleId))
31 (php_sapi_name() ===
'cli');
35 $params = Option::get(self::$moduleId, self::OPTION_NAME,
'');
44 'count' => ChatTable::getCount([
45 '>DISK_FOLDER_ID' => 0,
52 $result[
'title'] = Loc::getMessage(
'IM_UPDATE_CHAT_DISK_ACCESS');
58 '>DISK_FOLDER_ID' => 0,
64 $chatList = ChatTable::getList([
65 'select' => [
'ID',
'DISK_FOLDER_ID'],
67 'order' => [
'ID' =>
'DESC'],
74 $accessProvider = new \Bitrix\Im\Access\ChatAuthProvider;
77 while ($row = $chatList->fetch())
79 $chatId = (int)$row[
'ID'];
80 $folderId = (int)$row[
'DISK_FOLDER_ID'];
82 $accessProvider->updateChatCodesByRelations($chatId);
84 $accessCode = $accessProvider->generateAccessCode($chatId);
87 INSERT INTO b_disk_simple_right (OBJECT_ID, ACCESS_CODE)
88 SELECT P.OBJECT_ID, '{$accessCode}'
92 P.OBJECT_ID != {$folderId}
93 AND P.PARENT_ID = {$folderId}
100 if (!$isCronRun && (time() -
$startTime >= 30))
108 Option::set(self::$moduleId, self::OPTION_NAME, serialize(
$params));
115 if ($found ===
false)
117 Option::delete(self::$moduleId,
array(
'name' => self::OPTION_NAME));