$patch_file_tgz = !empty($patch_file_data) ? $patch_file_data['_FILE'] : ""; if (!$patch_file_tgz) { break; } if (!file_exists($TMP_FOLDER . $patch_file_tgz)) { break; } if (!checkPermissions($HTTP_ROOT_PATH . "tmp/", $DOCUMENT_ROOT)) { break; } // this temporary file will be deleted in the end of this function or in InstallationAborted() if (!nc_tgz_extract($TMP_FOLDER . $patch_file_tgz, $TMP_FOLDER) && !file_exists($TMP_FOLDER . "id.txt")) { InstallationAborted(TOOLS_PATCH_ERR_EXTRACT, 'activation'); } // check files in patch if (!CheckDeps('patch')) { InstallationAborted(TOOLS_PATCH_INFO_NOTINSTALLED . ".<br>", 'activation'); } // other version if ($VersionID != $VERSION_ID) { InstallationAborted(str_replace(array("%REQUIRE", "%EXIST"), array($VersionID, $VERSION_ID), TOOLS_PATCH_INVALIDVERSION), 'activation'); } // other system if ($SystemID && $SystemID != $SYSTEM_ID) { list($required_sys_name, $required_sys_color) = nc_system_name_by_id($SystemID); list($installed_sys_name, $installed_sys_color) = nc_system_name_by_id($SYSTEM_ID); InstallationAborted(str_replace(array("%REQUIRE", "%EXIST"), array($required_sys_name, $installed_sys_name), TOOLS_PATCH_INVALIDVERSION) . "<br>", 'activation'); } // проверка версий if ($LAST_LOCAL_PATCH != $PatchName) { InstallationAborted(TOOLS_PATCH_INFO_NOTINSTALLED . ".<br>", 'activation');
} $ModuleFile = tempnam($TMP_FOLDER, "module"); move_uploaded_file($_FILES['FilePatch']['tmp_name'], $ModuleFile); // this temporary file will be deleted in the end of this function or in InstallationAborted() if (!nc_tgz_extract($ModuleFile, $TMP_FOLDER) && !file_exists($TMP_FOLDER . "id.txt")) { //print TOOLS_MODULES_ERR_EXTRACT; InstallationAborted(TOOLS_MODULES_ERR_EXTRACT, 'module'); } $InstallFile = $TMP_FOLDER . "install.php"; if (!is_readable($InstallFile)) { //nc_print_status(TOOLS_MODULES_ERR_CANTOPEN." install.php.", 'error'); InstallationAborted(TOOLS_MODULES_ERR_CANTOPEN . " install.php.", 'module'); } else { require $InstallFile; } if (!CheckDeps('module')) { InstallationAborted(); } CheckFiles(); if (!nc_version_control($VERSION_ID)) { //nc_print_status(TOOLS_MODULES_ERR_VERSION." NetCat.", 'error'); InstallationAborted(TOOLS_MODULES_ERR_VERSION . " NetCat.", 'module'); } if ($SystemID == "1") { //nc_print_status(TOOLS_MODULES_ERR_VERSION." NetCat.", 'error'); InstallationAborted(TOOLS_MODULES_ERR_VERSION . " NetCat.", 'module'); } if (IsAlreadyInstalled('module')) { //nc_print_status(TOOLS_MODULES_ERR_INSTALLED, 'error'); InstallationAborted(TOOLS_MODULES_ERR_INSTALLED, 'module'); }