...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/agent/files/clearunregisteredlogo.php
- Класс: Bitrix\Crm\Agent\Files\ClearUnregisteredLogo
- Вызов: ClearUnregisteredLogo::doRun
static function doRun() { $limit = (int)static::$limit; if ($limit <= 0) { $limit = 100; } $timeLimit = (int)static::$timeLimit; if (defined('START_EXEC_TIME') && START_EXEC_TIME > 0) { $startTime = (int)START_EXEC_TIME; } else { $startTime = time(); } $connection = Application::getConnection(); $workLoad = false; $sqlDisk = $sqlActivityDisk = ''; $diskAvailable = Main\ModuleManager::isModuleInstalled('disk') && Main\Loader::includeModule('disk'); if ($diskAvailable) { $sqlDisk = " AND ID NOT IN (SELECT FILE_ID FROM b_disk_version ) AND ID NOT IN (SELECT FILE_ID FROM b_disk_object WHERE TYPE = '".\Bitrix\Disk\Internals\ObjectTable::TYPE_FILE."' AND ID = REAL_OBJECT_ID AND FILE_ID IS NOT NULL) "; // activity disk file $sqlActivityDisk = " AND ID NOT IN( SELECT FILE_ID FROM b_disk_object WHERE TYPE = '".\Bitrix\Disk\Internals\ObjectTable::TYPE_FILE."' AND ID IN(SELECT ELEMENT_ID FROM b_crm_act_elem where STORAGE_TYPE_ID = '".\Bitrix\Crm\Integration\StorageType::Disk."') ) "; } $ufFieldSql = ''; $ufFieldQueries = static::prepareUserFieldQuery(); foreach ($ufFieldQueries as $queryStr) { $ufFieldSql .= " AND ID NOT IN({$queryStr}) "; } for ($i = 2, $auxiliaries = ['1 as n']; $i <= 50; $i++) { $auxiliaries[] = $i; } $auxiliarySql = implode(' union select ', $auxiliaries); $storageTypeFile = \Bitrix\Crm\Integration\StorageType::File; $result = $connection->query(" select ID from b_file where MODULE_ID = 'crm' -- image and CONTENT_TYPE like 'image/%' -- activity file AND ID NOT IN (SELECT ELEMENT_ID FROM b_crm_act_elem where STORAGE_TYPE_ID = '{$storageTypeFile}') -- activity disk file {$sqlActivityDisk} -- event file and id not in (select CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(src.fids, ' ', NS.n), ' ', -1) AS UNSIGNED) as FILE_ID from ( select {$auxiliarySql} ) NS inner join ( select @xml := replace(replace(replace(replace(e.FILES,'a:',''),';}