if (!($ver_dir = opendir($ver_path))) { die('Cannot read ' . $ver_path); } while (false !== ($ver = readdir($ver_dir))) { if ($ver == '.' || $ver == '..' || !is_dir($ver_path . '/' . $ver)) { continue; } if (!($version = CBitrixLiveapi::GetModuleVersion($ver_path . '/' . $ver, $module_id))) { $version = $ver; } $rs = $DB->Query('SELECT item FROM b_liveapi WHERE module_id="' . $DB->ForSQL($module_id) . '" AND version="' . $DB->ForSQL($version) . '" LIMIT 1'); // MySQL only if ($rs->Fetch()) { continue; } $ar = CBitrixLiveapi::ScanModule($ver_path . '/' . $ver); foreach ($ar as $type => $arList) { foreach ($arList as $item => $Location) { CBitrixLiveapi::Insert(array('module_id' => $module_id, 'version' => $version, 'type' => $type, 'item' => $item, 'location' => $Location)); } } } closedir($ver_dir); $loop = true; } closedir($dir); } require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php"; echo '<div> <input type=button value="' . GetMessage("BITRIX_LIVEAPI_SKANIROVATQ_PAPKU_S") . '" onclick="if(confirm(\'' . GetMessage("BITRIX_LIVEAPI_NACATQ_SKANIROVANIE") . '?\'))document.location=\'?scan=Y\'"> <input type=button value="' . GetMessage("BITRIX_LIVEAPI_POKAZATQ_POSLEDNIE_O") . '" onclick="document.location=\'?last_updates=Y\'">
CheckDirPath(dirname(DATA_FILE)); if (!$_REQUEST['next_file'] && file_exists(DATA_FILE)) { rename(DATA_FILE, DATA_FILE_OLD); } while (false !== ($file = readdir($dir))) { if ($file == '.' || $file == '..' || strpos($file, '.') === 0 || !is_dir($path . '/' . $file)) { continue; } if ($_REQUEST['next_file'] && $file != $_REQUEST['next_file']) { continue; } unset($_REQUEST['next_file']); if (time() - START_TIME > 10) { die('<div>' . GetMessage("BITRIX_LIVEAPI_SKANIROVANIE_MODULA") . $file . '</div> <script>document.location="?scan=Y&next_file=' . htmlspecialchars($file) . '";</script>'); } $ar = CBitrixLiveapi::ScanModule($path . '/' . $file); $f = fopen(DATA_FILE, 'ab'); fwrite($f, '<' . '? $DATA[\'' . $file . '\'] = \'' . str_replace("'", "\\'", str_replace('\\', '\\\\', serialize($ar))) . '\'; ?' . '>' . "\n"); fclose($f); } closedir($dir); echo '<div>' . GetMessage("BITRIX_LIVEAPI_SKANIROVANIE_ZAVERSE") . '</div>'; } else { $bNeedToRescan = true; if (file_exists(DATA_FILE)) { $utime = COption::GetOptionString("main", "update_system_update", 0); $bNeedToRescan = MakeTimeStamp($utime) > filemtime(DATA_FILE); } if ($bNeedToRescan) { echo '<div style="color:red">' . GetMessage("BITRIX_LIVEAPI_BYLI_USTANOVLENY_OBN") . '.</div>'; }