예제 #1
0
} 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)) {
예제 #2
0
 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"]) . "'");
         }
     }
 }