} elseif (!check_bitrix_sessid()) { echo "failure\n", GetMessage("CC_BCIH_ERROR_SOURCE_CHECK"); } elseif (!$USER->IsAuthorized()) { echo "failure\n", GetMessage("CC_BCIH_ERROR_AUTHORIZE"); } elseif (!$bUSER_HAVE_ACCESS) { echo "failure\n", GetMessage("CC_BCIH_PERMISSION_DENIED"); } elseif (!CModule::IncludeModule('highloadblock')) { echo "failure\n", GetMessage("CC_BCIH_ERROR_MODULE"); } elseif ($_GET["mode"] == "init") { if ($arParams["USE_TEMP_DIR"] === "Y") { $DIR_NAME = CTempFile::GetDirectoryName(6, "1c_highloadblock"); } else { //Cleanup previous import files $directory = new \Bitrix\Main\IO\Directory($DIR_NAME); if ($directory->isExists()) { $directory->delete(); } } CheckDirPath($DIR_NAME); if (!is_dir($DIR_NAME)) { echo "failure\n", GetMessage("CC_BCIH_ERROR_INIT"); } else { $_SESSION["BX_HL_IMPORT"] = array("zip" => $arParams["USE_ZIP"] && function_exists("zip_open"), "TEMP_DIR" => $arParams["USE_TEMP_DIR"] === "Y" ? $DIR_NAME : "", "NS" => array("XMLPOS" => "", "SESSID" => md5($_REQUEST["sessid"]))); echo "zip=" . ($_SESSION["BX_HL_IMPORT"]["zip"] ? "yes" : "no") . "\n"; echo "file_limit=" . $arParams["FILE_SIZE_LIMIT"]; } } elseif ($_GET["mode"] == "file" && $ABS_FILE_NAME) { //Read http data if (function_exists("file_get_contents")) { $DATA = file_get_contents("php://input"); } elseif (isset($HTTP_RAW_POST_DATA)) {
protected function deleteOneDir($etime = 0) { $bDeleteFromQueue = false; $con = \Bitrix\Main\Application::getDbConnection(); $rs = $con->query("SELECT * from b_cache_tag WHERE TAG='*'", 0, 1); if ($ar = $rs->fetch()) { $dir_name = \Bitrix\Main\IO\Path::convertRelativeToAbsolute($ar["RELATIVE_PATH"]); $dir = new \Bitrix\Main\IO\Directory($dir_name); if ($dir->isExists()) { $arChildren = $dir->getChildren(); $Counter = 0; foreach ($arChildren as $child) { $child->delete(); $Counter++; if (time() > $etime) { break; } } if ($Counter == 0) { $dir->delete(); $bDeleteFromQueue = true; } } else { $bDeleteFromQueue = true; } if ($bDeleteFromQueue) { $con->queryExecute("DELETE FROM b_cache_tag\n\t\t\t\t\tWHERE SITE_ID = '" . $con->getSqlHelper()->forSql($ar["SITE_ID"]) . "'\n\t\t\t\t\tAND CACHE_SALT = '" . $con->getSqlHelper()->forSql($ar["CACHE_SALT"]) . "'\n\t\t\t\t\tAND RELATIVE_PATH = '" . $con->getSqlHelper()->forSql($ar["RELATIVE_PATH"]) . "'"); } } }