예제 #1
0
if (!$bLockUpdateSystemKernel) {
    if (CUpdateClient::Lock()) {
        if ($arUpdateList = CUpdateClient::GetUpdatesList($errorMessage, LANG, $stableVersionsOnly)) {
            $refreshStep = intval($_REQUEST["refresh_step"]) + 1;
            if (isset($arUpdateList["REPAIR"])) {
                if ($refreshStep < 5) {
                    CUpdateClient::Repair($arUpdateList["REPAIR"][0]["@"]["TYPE"], $stableVersionsOnly, LANG);
                    LocalRedirect("/bitrix/admin/update_system.php?refresh=Y&refresh_step=" . $refreshStep . "&lang=" . LANGUAGE_ID);
                } else {
                    $errorMessage .= "<br>" . GetMessage("SUP_CANT_REPARE") . ". ";
                }
            }
        } else {
            $errorMessage .= "<br>" . GetMessage("SUP_CANT_CONNECT") . ". ";
        }
        CUpdateClient::UnLock();
    } else {
        $errorMessage .= "<br>" . GetMessage("SUP_CANT_LOCK_UPDATES") . ". ";
    }
} else {
    $errorMessage .= "<br>" . GetMessage("SUP_CANT_CONTRUPDATE") . ". ";
}
if (extension_loaded('eaccelerator')) {
    $errorMessage .= "<br>" . GetMessage("SUP_CANT_EACCELERATOR") . ". ";
}
// MySQL 5.0.0, PHP 5.3.0
if ($DB->type == "MYSQL") {
    $dbQueryRes = $DB->Query("select VERSION() as ver", True);
    if ($arQueryRes = $dbQueryRes->Fetch()) {
        $curMySqlVer = Trim($arQueryRes["ver"]);
        $arCurMySqlVer = Explode(".", $curMySqlVer);