Current Path : /var/www/www-root/data/www/monolith-realty.ru/bitrix/modules/main/classes/general/ |
Current File : /var/www/www-root/data/www/monolith-realty.ru/bitrix/modules/main/classes/general/update_update.php |
<? /**********************************************************************/ /** DO NOT MODIFY THIS FILE **/ /** MODIFICATION OF THIS FILE WILL ENTAIL SITE FAILURE **/ /**********************************************************************/ if (!defined("UPDATE_SYSTEM_VERSION")) define("UPDATE_SYSTEM_VERSION", "11.0.12"); if (file_exists($_SERVER["DOCUMENT_ROOT"]."/bitrix/admin/update_system.php")) { require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/admin/update_system.php"); die(); } require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php"); define("HELP_FILE", "updates/index.php"); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/update_class.php"); @set_time_limit(0); ini_set("track_errors", "1"); ignore_user_abort(true); if(defined("SM_VERSION") && version_compare(SM_VERSION, "5.0.10") >= 0) { require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/update_update5.php"); die(); } include(GetLangFileName($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/lang/", "/classes/general/update_update.php", $lang)); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/prolog.php"); $MAIN_RIGHT = $APPLICATION->GetGroupRight("main"); if ($MAIN_RIGHT<"R") $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); $strErrorMessage = ""; /* ����������� �������� ����� ������ */ $STEP = IntVal($STEP); if ($STEP <= 0 || $STEP > 4) $STEP = 1; if ($MAIN_RIGHT != "W") $STEP = 1; if ($TYPE!="REGVER" && $TYPE!="LOADSRC" && $TYPE!="UPDUPD" && $TYPE!="LANGS" && $TYPE!="HELP" && $TYPE!="HISTORY" && $TYPE!="SAVE_KEY" && $TYPE!="ACTIVATE_KEY" && $TYPE!="ADD_SITE" && $TYPE!="SUBSCR_UPDATE" && $TYPE!="TURN_STABILITY" && $TYPE!="AGREE_LICENSE_ACT") { $TYPE = "UPDATE"; } if ($TYPE=="REGVER" || $TYPE=="LOADSRC" || $TYPE=="UPDUPD" || $TYPE=="SAVE_KEY" || $TYPE=="ACTIVATE_KEY" || $TYPE=="SUBSCR_UPDATE" || $TYPE=="TURN_STABILITY" || $TYPE=="AGREE_LICENSE_ACT") { $STEP = 1; } /* ���� ��������� ���������� ����� ������ */ $bLockUpdateSystemKernel = CUpdateSystem::IsInCommonKernel(); if ($bLockUpdateSystemKernel) { $STEP = 1; $TYPE = "UPDATE"; $strErrorMessage .= GetMessage("SUP_CANT_CONTRUPDATE").". "; } $stableVersionsOnly = COption::GetOptionString("main", "stable_versions_only", "Y"); if ($TYPE=="AGREE_LICENSE_ACT" && $MAIN_RIGHT=="W") { COption::SetOptionString("main", "~new_license11_sign", "Y"); $TYPE = "UPDATE"; } /*********** ��������� / ���������� �������� ���-������ *************/ if ($TYPE=="TURN_STABILITY" && $MAIN_RIGHT=="W") { $stableVersionsOnly = (($stableVersionsOnly == "Y") ? "N" : "Y"); COption::SetOptionString("main", "stable_versions_only", $stableVersionsOnly); $TYPE = "UPDATE"; } /*********** �������� �� ������ *************/ if ($TYPE=="SAVE_KEY" && $MAIN_RIGHT=="W") { $NEW_LICENSE_KEY = preg_replace("/[^A-Za-z0-9_.-]/", "", $NEW_LICENSE_KEY); if (strlen($NEW_LICENSE_KEY)<=0) $strErrorMessage .= GetMessage("SUP_ENTER_KEY")." [PULK01]. "; elseif (strtolower($NEW_LICENSE_KEY)=="demo") $strErrorMessage .= GetMessage("SUP_ENTER_CORRECT_KEY")." [PULK02]. "; if (strlen($strErrorMessage)<=0) { if (!($fp = fopen($_SERVER["DOCUMENT_ROOT"]."/bitrix/license_key.php", "w"))) { $strErrorMessage .= GetMessage("SUP_CANT_OPEN_FILE")." [PULK03]. "; } } if (strlen($strErrorMessage)<=0) { fputs($fp, "<"."? \$"."LICENSE_KEY = \"".EscapePHPString($NEW_LICENSE_KEY)."\"; ?".">"); fclose($fp); } $TYPE = "UPDATE"; } /*********** �������� �� ��������� *************/ if ($TYPE=="SUBSCR_UPDATE" && $MAIN_RIGHT=="W") { $strSaveEmails = ""; if (strlen($SUBSCR_DELETE)<=0) { if (strlen($SUBSCR_EMAIL)<=0) $strErrorMessage .= GetMessage("SUP_ERROR_NO_MAIL_U")." [PSUUE01]. "; if (strlen($strErrorMessage)<=0) { $arEmails = explode(",", $SUBSCR_EMAIL); for ($i = 0; $i < count($arEmails); $i++) { $arEmails[$i] = Trim($arEmails[$i]); if (strlen($arEmails[$i])>0) { if (CUpdateSystem::CheckEMail($arEmails[$i])) { if (strlen($strSaveEmails)>0) $strSaveEmails .= ","; $strSaveEmails .= $arEmails[$i]; } else { $strErrorMessage .= str_replace("#EMAIL#", $arEmails[$i], GetMessage("SUP_ERROR_BAD_MAIL_U"))." [PSUUE02]. "; } } } } if (strlen($strErrorMessage)<=0) { if (strlen($strSaveEmails)<=0) { $strErrorMessage .= GetMessage("SUP_ERROR_NO_MAIL_U")." [PSUUE03]. "; } } } if (strlen($strErrorMessage)<=0) { CUpdateSystem::SubscribeUpdates($strSaveEmails, $strErrorMessage, LANG); } $TYPE = "UPDATE"; } /*********** �������� �� ��������� ���� *************/ if ($TYPE=="ACTIVATE_KEY" && $MAIN_RIGHT=="W") { if (strlen($NAME)<=0) $strErrorMessage .= GetMessage("SUP_ACT_NAME").". "; if (strlen($EMAIL)<=0) $strErrorMessage .= GetMessage("SUP_ACT_EMAIL").". "; elseif (!CUpdateSystem::CheckEMail($EMAIL)) $strErrorMessage .= GetMessage("SUP_ACT_BAD_EMAIL").". "; if (strlen($SITE_URL)<=0) $strErrorMessage .= GetMessage("SUP_ACT_URL").". "; if ($GENERATE_USER == "Y") { if (strlen($USER_NAME) <= 0) $strErrorMessage .= GetMessage("SUP_ACT_NO_USER_NAME").". "; if (strlen($USER_LAST_NAME) <= 0) $strErrorMessage .= GetMessage("SUP_ACT_NO_USER_LAST_NAME").". "; if (strlen($USER_LOGIN) <= 0) $strErrorMessage .= GetMessage("SUP_ACT_NO_USER_LOGIN").". "; elseif (strlen($USER_LOGIN) < 3) $strErrorMessage .= GetMessage("SUP_ACT_SHORT_USER_LOGIN").". "; if (strlen($USER_PASSWORD) <= 0) $strErrorMessage .= GetMessage("SUP_ACT_NO_USER_PASSWORD").". "; if ($USER_PASSWORD != $USER_PASSWORD_CONFIRM) $strErrorMessage .= GetMessage("SUP_ACT_NO_USER_PASSWORD_CONFIRM").". "; } if (strlen($strErrorMessage) <= 0) { $arFields = array( "NAME" => $NAME, "EMAIL" => $EMAIL, "SITE_URL" => $SITE_URL, "CONTACT_INFO" => $CONTACT_INFO, "GENERATE_USER" => (($GENERATE_USER == "Y") ? "Y" : "N"), "USER_NAME" => $USER_NAME, "USER_LAST_NAME" => $USER_LAST_NAME, "USER_LOGIN" => $USER_LOGIN, "USER_PASSWORD" => $USER_PASSWORD ); CUpdateSystem::ActivateLicenseKey($arFields, $strErrorMessage, LANG, $stableVersionsOnly); } $TYPE = "UPDATE"; } /*********** �������� �� ����� *************/ if ($TYPE=="ADD_SITE" && $MAIN_RIGHT=="W" && $STEP==2) { if (strlen($CHECK)<=0) $strErrorMessage .= GetMessage("SUP_ENTER_CHECK").". "; if (strlen($strErrorMessage)<=0) { CUpdateSystem::AddSites($CHECK, $strErrorMessage, LANG, $stableVersionsOnly); } $STEP = 1; if (strlen($strErrorMessage)<=0) $TYPE = "UPDATE"; } /*********** �������� �� ����������� *************/ if ($TYPE=="REGVER" && $MAIN_RIGHT=="W") { if (CUpdateSystem::RegisterVersion($strErrorMessage, LANG, $stableVersionsOnly)) { LocalRedirect("sysupdate.php?STEP=1&TYPE=UPDATE&lang=".LANG); } $TYPE = "UPDATE"; } /*********** �������� �� ���������� *************/ if ($TYPE=="LOADSRC" && $MAIN_RIGHT=="W") { if (CUpdateSystem::LoadSources($strErrorMessage, LANG, $stableVersionsOnly)) { LocalRedirect("sysupdate.php?STEP=1&TYPE=UPDATE&lang=".LANG); } $TYPE = "UPDATE"; } /*********** �������� �� �������� ��������� *************/ if ($TYPE=="UPDUPD" && $MAIN_RIGHT=="W") { if (CUpdateSystem::UpdateUpdate($strErrorMessage, LANG, $stableVersionsOnly)) { LocalRedirect("sysupdate.php?STEP=1&TYPE=UPDATE&lang=".LANG); } $TYPE = "UPDATE"; } /*********** �������� �� �������� *************/ if ($TYPE=="UPDATE" && $STEP==4 && $MAIN_RIGHT=="W") { if (strlen($UNIID)>0 && $_SESSION[$UNIID]=="Y") { CUpdateSystem::AddMessage2Log(GetMessage("SUP_NOT_REFRESH"), "PU400"); $strErrorMessage .= GetMessage("SUP_NOT_REFRESH")." [PU400]. "; } if (strlen($strErrorMessage)<=0) { CUpdateSystem::AddMessage2Log("Query updating modules: ".$load_modules); $arLoadModules = array(); if (strlen($load_modules) > 0) { $arLoadModules_tmp = explode(",", $load_modules); for ($i = 0; $i < count($arLoadModules_tmp); $i++) { $arLoadModules_tmp[$i] = Trim($arLoadModules_tmp[$i]); if (strlen($arLoadModules_tmp[$i])>0) $arLoadModules[] = $arLoadModules_tmp[$i]; } } if (count($arLoadModules)<=0) { $strErrorMessage .= GetMessage("SUP_EMPTY_UPD_MOD")." [PU401]. "; CUpdateSystem::AddMessage2Log(GetMessage("SUP_EMPTY_UPD_MOD"), "PU401"); } } if (strlen($strErrorMessage)<=0) { if (strlen($temporary_updates_dir)<=0) { $strErrorMessage .= GetMessage("SUP_EMPTY_TEMP_DIR")." [PU402]. "; CUpdateSystem::AddMessage2Log(GetMessage("SUP_EMPTY_TEMP_DIR"), "PU402"); } } $arModulesUpdates = false; if (strlen($strErrorMessage)<=0) { $arModulesUpdates = CUpdateSystem::GetLoadedModuleUpdates($temporary_updates_dir, $strErrorMessage); } if (strlen($strErrorMessage)<=0) { if (!CUpdateSystem::CheckVersions($arModulesUpdates, $strErrorMessage, $arLoadModules)) { $strErrorMessage .= GetMessage("SUP_UPD_LOAD_BREAK")." [PU404]. "; CUpdateSystem::AddMessage2Log(GetMessage("SUP_UPD_LOAD_BREAK"), "PU404"); } } $arErrorModules = array(); $arSuccessModules = array(); if (strlen($strErrorMessage)<=0) { if (strlen($UNIID)>0) $_SESSION[$UNIID] = "Y"; if (!CUpdateSystem::UpdateKernel($temporary_updates_dir, $arLoadModules, $strErrorMessage, $arErrorModules, $arSuccessModules)) { $strErrorMessage .= GetMessage("SUP_BAD_UPD_INSTALL")." [PU405]. "; CUpdateSystem::AddMessage2Log(GetMessage("SUP_BAD_UPD_INSTALL"), "PU405"); } else { $db_events = GetModuleEvents("main", "OnUpdatesInstalled"); while ($arEvent = $db_events->Fetch()) ExecuteModuleEvent($arEvent, Array("successModules" => $arSuccessModules, "loadModules" => $arLoadModules, "errorModules" => $arErrorModules, "modulesUpdates" => $arModulesUpdates)); } } } if ($TYPE=="UPDATE" && $STEP==3 && $MAIN_RIGHT=="W") { CUpdateSystem::AddMessage2Log("Query loading modules: ".$load_modules); if (!isset($FAS) || $FAS != "Y") { $arLoadModules = array(); if (strlen($load_modules) > 0) { $arLoadModules_tmp = explode(",", $load_modules); for ($i = 0; $i < count($arLoadModules_tmp); $i++) { $arLoadModules_tmp[$i] = Trim($arLoadModules_tmp[$i]); if (strlen($arLoadModules_tmp[$i])>0) $arLoadModules[] = $arLoadModules_tmp[$i]; } } if (count($arLoadModules)<=0) { $strErrorMessage .= GetMessage("SUP_NO_LOAD_MODULES")." [PU301]. "; CUpdateSystem::AddMessage2Log(GetMessage("SUP_NO_LOAD_MODULES"), "PU301"); } if (strlen($strErrorMessage)<=0) { if (!CUpdateSystem::LoadModuleUpdates($arLoadModules, $strErrorMessage, LANG, $stableVersionsOnly)) { $strErrorMessage .= GetMessage("SUP_UPD_LOAD_BREAK")." [PU302]. "; CUpdateSystem::AddMessage2Log(GetMessage("SUP_UPD_LOAD_BREAK"), "PU302"); } } } else { $archiveFileName = $_SERVER["DOCUMENT_ROOT"]."/bitrix/updates/update_archive.gz"; if (!file_exists($archiveFileName) || !is_file($archiveFileName)) { $strErrorMessage .= str_replace("#FILE#", $archiveFileName, GetMessage("SUP_NO_TEMP_FILE"))." [PU3021]. "; } } if (strlen($strErrorMessage)<=0) { $temporary_updates_dir = ""; if (!CUpdateSystem::UnGzipArchive($temporary_updates_dir, $strErrorMessage, "Y")) { $strErrorMessage .= GetMessage("SUP_UPD_LOAD_BREAK")." [PU303]. "; CUpdateSystem::AddMessage2Log(GetMessage("SUP_UPD_LOAD_BREAK"), "PU303"); } } if (strlen($strErrorMessage)<=0) { if (!CUpdateSystem::CheckUpdatability($temporary_updates_dir, $strErrorMessage)) { $strErrorMessage .= GetMessage("SUP_UPD_LOAD_BREAK")." [PU304]. "; CUpdateSystem::AddMessage2Log(GetMessage("SUP_UPD_LOAD_BREAK"), "PU304"); } } $arModulesUpdates = false; if (strlen($strErrorMessage)<=0) { $arModulesUpdates = CUpdateSystem::GetLoadedModuleUpdates($temporary_updates_dir, $strErrorMessage); } if (strlen($strErrorMessage)<=0) { if (!CUpdateSystem::CheckVersions($arModulesUpdates, $strErrorMessage, false)) { $strErrorMessage .= GetMessage("SUP_UPD_LOAD_BREAK")." [PU305]. "; CUpdateSystem::AddMessage2Log(GetMessage("SUP_UPD_LOAD_BREAK"), "PU305"); } } if (strlen($strErrorMessage) > 0) { $STEP = 2; } } if ($TYPE=="UPDATE" && $STEP==2 && $MAIN_RIGHT=="W") { $arModulesUpdates = CUpdateSystem::GetServerModuleUpdates($strErrorMessage, LANG, $stableVersionsOnly); } if ($TYPE=="UPDATE" && $STEP==1) { if (!$bLockUpdateSystemKernel) { $arTypesUpdates = CUpdateSystem::GetAvailableUpdateTypes($strErrorMessage, LANG, $stableVersionsOnly); COption::SetOptionString("main", "PARAM_MAX_SITES", $arTypesUpdates["CLIENT"]["@"]["MAX_SITES"]); } } /*********** �������� �� ������ *************/ if ($TYPE=="LANGS" && $STEP==3 && $MAIN_RIGHT=="W") { if (strlen($UNIID)>0 && $_SESSION[$UNIID]=="Y") { CUpdateSystem::AddMessage2Log(GetMessage("SUP_NOT_REFRESH"), "PUL300"); $strErrorMessage .= GetMessage("SUP_NOT_REFRESH")." [PUL300]. "; } if (strlen($strErrorMessage)<=0) { CUpdateSystem::AddMessage2Log("Query loading langs: ".$load_langs); $arLoadLangs = array(); if (strlen($load_langs) > 0) { $arLoadLangs_tmp = explode(",", $load_langs); for ($i = 0; $i < count($arLoadLangs_tmp); $i++) { $arLoadLangs_tmp[$i] = Trim($arLoadLangs_tmp[$i]); if (strlen($arLoadLangs_tmp[$i])>0) $arLoadLangs[] = $arLoadLangs_tmp[$i]; } } if (count($arLoadLangs)<=0) { $strErrorMessage .= GetMessage("SUP_NO_LANGS_LOAD")." [PUL301]. "; CUpdateSystem::AddMessage2Log(GetMessage("SUP_NO_LANGS_LOAD"), "PUL301"); } } if (strlen($strErrorMessage)<=0) { if (!CUpdateSystem::LoadLangsUpdates($arLoadLangs, $strErrorMessage, LANG, $stableVersionsOnly)) { $strErrorMessage .= GetMessage("SUP_LANG_LOAD_BREAK")." [PUL302]. "; CUpdateSystem::AddMessage2Log(GetMessage("SUP_LANG_LOAD_BREAK"), "PUL302"); } } if (strlen($strErrorMessage)<=0) { $temporary_updates_dir = ""; if (!CUpdateSystem::UnGzipArchive($temporary_updates_dir, $strErrorMessage, "Y")) { $strErrorMessage .= GetMessage("SUP_LANG_LOAD_BREAK")." [PUL303]. "; CUpdateSystem::AddMessage2Log(GetMessage("SUP_LANG_LOAD_BREAK"), "PUL303"); } } $arLangsUpdates = false; if (strlen($strErrorMessage)<=0) { $arLangsUpdates = CUpdateSystem::GetLoadedLangsUpdates($temporary_updates_dir, $strErrorMessage); } /* if (strlen($strErrorMessage)<=0) { if (!CUpdateSystem::CheckUpdatability($temporary_updates_dir, $strErrorMessage)) { $strErrorMessage .= GetMessage("SUP_LANG_LOAD_BREAK")." [PUL304]. "; CUpdateSystem::AddMessage2Log(GetMessage("SUP_LANG_LOAD_BREAK"), "PUL304"); } } */ $arErrorLangs = array(); $arSuccessLangs = array(); if (strlen($strErrorMessage)<=0) { if (strlen($UNIID)>0) $_SESSION[$UNIID] = "Y"; if (!CUpdateSystem::UpdateLangs($temporary_updates_dir, $arLoadLangs, $strErrorMessage, $arErrorLangs, $arSuccessLangs)) { $strErrorMessage .= GetMessage("SUP_BAD_LANG_INSTALL")." [PUL305]. "; CUpdateSystem::AddMessage2Log(GetMessage("SUP_BAD_LANG_INSTALL"), "PUL305"); } } } if ($TYPE=="LANGS" && $STEP==2 && $MAIN_RIGHT=="W") { $arLangsUpdates = CUpdateSystem::GetServerLangsUpdates($strErrorMessage, LANG, $stableVersionsOnly); } /*********** �������� �� ������� *************/ if ($TYPE=="HELP" && $STEP==3 && $MAIN_RIGHT=="W") { if (strlen($UNIID)>0 && $_SESSION[$UNIID]=="Y") { CUpdateSystem::AddMessage2Log(GetMessage("SUP_NOT_REFRESH"), "PUH300"); $strErrorMessage .= GetMessage("SUP_NOT_REFRESH")." [PUH300]. "; } if (strlen($strErrorMessage)<=0) { CUpdateSystem::AddMessage2Log("Query loading helps: ".$load_help); if (strlen($load_help)<=0) { $strErrorMessage .= GetMessage("SUP_EMPTY_HELP_LANG")." [PUH301]. "; CUpdateSystem::AddMessage2Log(GetMessage("SUP_EMPTY_HELP_LANG"), "PUH301"); } } if (strlen($strErrorMessage)<=0) { if (!CUpdateSystem::LoadHelpUpdates(array($load_help), $strErrorMessage, LANG, $stableVersionsOnly)) { $strErrorMessage .= GetMessage("SUP_HELP_LOAD_BREAK")." [PUH302]. "; CUpdateSystem::AddMessage2Log(GetMessage("SUP_HELP_LOAD_BREAK"), "PUH302"); } } if (strlen($strErrorMessage)<=0) { $temporary_updates_dir = ""; if (!CUpdateSystem::UnGzipArchive($temporary_updates_dir, $strErrorMessage, "Y")) { $strErrorMessage .= GetMessage("SUP_HELP_LOAD_BREAK")." [PUH303]. "; CUpdateSystem::AddMessage2Log(GetMessage("SUP_HELP_LOAD_BREAK"), "PUH303"); } } $arHelpUpdates = false; if (strlen($strErrorMessage)<=0) { $arHelpUpdates = CUpdateSystem::GetLoadedHelpUpdates($temporary_updates_dir, $strErrorMessage); } $arErrorHelp = array(); $arSuccessHelp = array(); if (strlen($strErrorMessage)<=0) { if (strlen($UNIID)>0) $_SESSION[$UNIID] = "Y"; if (!CUpdateSystem::UpdateHelp($temporary_updates_dir, array($load_help), $strErrorMessage, $arErrorHelp, $arSuccessHelp)) { $strErrorMessage .= GetMessage("SUP_BAD_HELP_INSTALL")." [PUH305]. "; CUpdateSystem::AddMessage2Log(GetMessage("SUP_BAD_HELP_INSTALL"), "PUH305"); } } } if ($TYPE=="HELP" && $STEP==2 && $MAIN_RIGHT=="W") { $arHelpUpdates = CUpdateSystem::GetServerHelpUpdates($strErrorMessage, LANG, $stableVersionsOnly); } /*********** ����� �������� *************/ $strTitle = GetMessage("SUP_TITLE_BASE"); if ($TYPE=="UPDATE" && $STEP==1) $strTitle = GetMessage("SUP_TITLE_UPD_1"); elseif ($TYPE=="UPDATE" && $STEP==2) $strTitle = GetMessage("SUP_TITLE_UPD_2"); elseif ($TYPE=="UPDATE" && $STEP==3) $strTitle = GetMessage("SUP_TITLE_UPD_3"); elseif ($TYPE=="UPDATE" && $STEP==4) $strTitle = GetMessage("SUP_TITLE_UPD_4"); elseif ($TYPE=="LANGS" && $STEP==2) $strTitle = GetMessage("SUP_TITLE_LANG_2"); elseif ($TYPE=="LANGS" && $STEP==3) $strTitle = GetMessage("SUP_TITLE_LANG_3"); elseif ($TYPE=="HELP" && $STEP==2) $strTitle = GetMessage("SUP_TITLE_HELP_2"); elseif ($TYPE=="HELP" && $STEP==3) $strTitle = GetMessage("SUP_TITLE_HELP_3"); elseif ($TYPE=="HISTORY") $strTitle = GetMessage("SUP_TITLE_HISTORY"); elseif ($TYPE=="ADD_SITE") $strTitle = GetMessage("SUP_TITLE_ADD_SITE"); $APPLICATION->SetTitle($strTitle); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); ?> <? /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ /*@@@@@@@@@ ����� ���� @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ /**********************************************************************/ /****** �� 1 /����/ ********************************************/ /**********************************************************************/ if ($TYPE=="UPDATE" && $STEP==1) { if (!CUpdateSystem::IsGzipInstalled()) echo "<font class=\"errortext\">".str_replace("#ZLIB_URL#", "http://www.php.net/manual/en/ref.zlib.php", GetMessage("SUP_ZLIB_RECOM"))."</font><br><br>"; if (strlen($strErrorMessage)>0) echo "<font class=\"errortext\">".$strErrorMessage."</font><br><br>"; // ���� ����� ����� � ������� if ($arTypesUpdates!==false && isset($arTypesUpdates["ERROR"]) && count($arTypesUpdates["ERROR"])>0) { for ($i = 0; $i < count($arTypesUpdates["ERROR"]); $i++) { ?><font class="errortext"> <?if (strlen($arTypesUpdates["ERROR"][$i]["@"]["TYPE"])>0):?> [<?= $arTypesUpdates["ERROR"][$i]["@"]["TYPE"] ?>] <?endif;?> <?= $arTypesUpdates["ERROR"][$i]["#"] ?></font><br><? } ?><br><? } if ($DB->type == "MYSQL") { $dbQueryRes = $DB->Query("select VERSION() as ver", True); if ($arQueryRes = $dbQueryRes->Fetch()) { $curMySqlVer = trim($arQueryRes["ver"]); $arCurMySqlVer = explode(".", $curMySqlVer); if (IntVal($arCurMySqlVer[0]) < 4 || IntVal($arCurMySqlVer[0]) == 4 && IntVal($arCurMySqlVer[1]) < 0 || IntVal($arCurMySqlVer[0]) == 4 && IntVal($arCurMySqlVer[1]) == 0 && IntVal($arCurMySqlVer[2]) < 18) { ?><font class="errortext"> <?= GetMessage("SUP_MYSQL_L4") ?> </font><br><br><? $arTypesUpdates = false; } } } ?> <font class="text"> <? if ($stableVersionsOnly == "N") { if (class_exists("CAdminMessage")) CAdminMessage::ShowNote(GetMessage("SUP_STABLE_OFF")); else ShowNote(GetMessage("SUP_STABLE_OFF")); } ?> <? if ($arTypesUpdates!==false && isset($arTypesUpdates["CLIENT"]) && count($arTypesUpdates["CLIENT"])>0 && $arTypesUpdates["CLIENT"]["@"]["RESERVED"]!="Y") { ?> <table align="right" style="border: 1px solid #DBE9F3; background-color: #F3F3F3;"> <tr> <td> <font class="text"> <b><?echo $arTypesUpdates["CLIENT"]["@"]["NAME"]?></b><br> <?= GetMessage("SUP_LICENSE_KEY") ?>: <?echo ($MAIN_RIGHT=="W") ? CUpdateSystem::GetLicenseKey() : "XXX-XX-XXXXXXXXXXX"?><br> <?echo GetMessage("SUP_EDITION")?> <?echo $arTypesUpdates["CLIENT"]["@"]["LICENSE"]?><br> <?echo GetMessage("SUP_SITES")?> <?echo ($arTypesUpdates["CLIENT"]["@"]["MAX_SITES"]>0? $arTypesUpdates["CLIENT"]["@"]["MAX_SITES"]:2)?><br> <? echo str_replace( "#DATE_TO#", ((strlen($arTypesUpdates["CLIENT"]["@"]["DATE_TO"])>0) ? $arTypesUpdates["CLIENT"]["@"]["DATE_TO"] : "NA"), str_replace( "#DATE_FROM#", ((strlen($arTypesUpdates["CLIENT"]["@"]["DATE_FROM"])>0) ? $arTypesUpdates["CLIENT"]["@"]["DATE_FROM"] : "NA"), GetMessage("SUP_ACTIVE_PERIOD"))); echo "<br>"; if (strlen($arTypesUpdates["CLIENT"]["@"]["HTTP_HOST"])>0) echo str_replace("#HOST#", $arTypesUpdates["CLIENT"]["@"]["HTTP_HOST"], GetMessage("SUP_UPD_HOST")); ?> </font> </td> </tr> </table> <? } ?> <? if ($arTypesUpdates!==false && isset($arTypesUpdates["CLIENT"]) && !isset($arTypesUpdates["UPDATE_SYSTEM"]) && count($arTypesUpdates["CLIENT"])>0 && $arTypesUpdates["CLIENT"]["@"]["RESERVED"]=="Y") { ?> <?= GetMessage("SUP_ACTIVATE_PROMT") ?> <form method="POST" action="sysupdate.php" name="activate_key_form"> <center> <input type="hidden" name="TYPE" VALUE="ACTIVATE_KEY"> <input type="hidden" name="STEP" VALUE="1"> <input type="hidden" name="lang" VALUE="<?= htmlspecialchars($lang) ?>"> <table width="100%" border="0" cellspacing="1" cellpadding="3" class="edittable"> <tr> <td valign="top" align="right" width="50%" class="tablebody"> <font class="tablefieldtext"><?= GetMessage("SUP_ACTIVATE_NAME") ?>:<font color="#FF0000"><b>*</b></font></font> </td> <td valign="top" align="left" width="50%" class="tablebody"> <font class="tablebodytext"> <input type="text" name="NAME" value="<?= htmlspecialchars($NAME) ?>" size="50" class="typeinput"><br> <small><?= GetMessage("SUP_ACTIVATE_NAME_DESCR") ?><br></small> </font> </td> </tr> <tr> <td valign="top" align="right" width="50%" class="tablebody"> <font class="tablefieldtext"><?= GetMessage("SUP_ACTIVATE_EMAIL") ?>:<font color="#FF0000"><b>*</b></font></font> </td> <td valign="top" align="left" width="50%" class="tablebody"> <input type="text" name="EMAIL" value="<?= htmlspecialchars($EMAIL) ?>" size="50" class="typeinput"> </td> </tr> <tr> <td valign="top" align="right" width="50%" class="tablebody"> <font class="tablefieldtext"><?= GetMessage("SUP_ACTIVATE_CONTARC_INFO") ?>:</font> </td> <td valign="top" align="left" width="50%" class="tablebody"> <textarea name="CONTACT_INFO" rows="2" cols="46" class="typearea"><?= htmlspecialchars($CONTACT_INFO) ?></textarea> </td> </tr> <tr> <td valign="top" align="right" width="50%" class="tablebody"> <font class="tablefieldtext"><?= GetMessage("SUP_ACTIVATE_URL") ?>:<font color="#FF0000"><b>*</b></font></font> </td> <td valign="top" align="left" width="50%" class="tablebody"> <input type="text" name="SITE_URL" value="<?= htmlspecialchars($SITE_URL) ?>" size="50" class="typeinput"> </td> </tr> <tr> <td valign="top" align="right" colspan="2"> <img src="/bitrix/images/1.gif" width="1" height="8"> </td> </tr> <tr> <td valign="top" align="left" class="tablebody" colspan="2"> <font class="tablebodytext"> <?= GetMessage("SUP_ACT_CREATE_USER_HINT") ?> <script language="JavaScript"> <!-- function EnableDisableUser(activateUserName) { var val = document.activate_key_form.GENERATE_USER.checked; document.activate_key_form.USER_NAME.disabled = !val; document.activate_key_form.USER_LAST_NAME.disabled = !val; document.activate_key_form.USER_LOGIN.disabled = !val; document.activate_key_form.USER_PASSWORD.disabled = !val; document.activate_key_form.USER_PASSWORD_CONFIRM.disabled = !val; var obj = document.getElementById("tr_user_name"); obj.disabled = !val; obj = document.getElementById("tr_user_last_name"); obj.disabled = !val; obj = document.getElementById("tr_user_login"); obj.disabled = !val; obj = document.getElementById("tr_user_password"); obj.disabled = !val; obj = document.getElementById("tr_user_password_confirm"); obj.disabled = !val; if (activateUserName) try{document.activate_key_form.USER_NAME.focus();}catch(e){} } //--> </script> </font> </td> </tr> <tr> <td valign="top" align="right" width="50%"> <font class="tablefieldtext"><?= GetMessage("SUP_ACT_F_CREATE_USER") ?>:</font> </td> <td valign="top" align="left" width="50%"> <input type="checkbox" name="GENERATE_USER" OnClick="EnableDisableUser(true)" value="Y"<?if ($GENERATE_USER == "Y" || !isset($GENERATE_USER)) echo " checked";?>> </td> </tr> <tr id="tr_user_name"> <td valign="top" align="right" width="50%"> <font class="tablefieldtext"><?= GetMessage("SUP_ACT_F_USER_NAME") ?>:<font color="#FF0000"><b>*</b></font></font> </td> <td valign="top" align="left" width="50%"> <input type="text" name="USER_NAME" value="<?= htmlspecialchars($USER_NAME) ?>" size="50" class="typeinput"> </td> </tr> <tr id="tr_user_last_name"> <td valign="top" align="right" width="50%"> <font class="tablefieldtext"><?= GetMessage("SUP_ACT_F_USER_LAST_NAME") ?>:<font color="#FF0000"><b>*</b></font></font> </td> <td valign="top" align="left" width="50%"> <input type="text" name="USER_LAST_NAME" value="<?= htmlspecialchars($USER_LAST_NAME) ?>" size="50" class="typeinput"> </td> </tr> <tr id="tr_user_login"> <td valign="top" align="right" width="50%"> <font class="tablefieldtext"><?= GetMessage("SUP_ACT_F_USER_LOGIN") ?>:<font color="#FF0000"><b>*</b></font></font> </td> <td valign="top" align="left" width="50%"> <input type="text" name="USER_LOGIN" value="<?= htmlspecialchars($USER_LOGIN) ?>" size="50" class="typeinput"> </td> </tr> <tr id="tr_user_password"> <td valign="top" align="right" width="50%"> <font class="tablefieldtext"><?= GetMessage("SUP_ACT_F_USER_PASSWORD") ?>:<font color="#FF0000"><b>*</b></font></font> </td> <td valign="top" align="left" width="50%"> <input type="password" name="USER_PASSWORD" value="" size="50" class="typeinput"> </td> </tr> <tr id="tr_user_password_confirm"> <td valign="top" align="right" width="50%"> <font class="tablefieldtext"><?= GetMessage("SUP_ACT_F_USER_PASSWORD_CONFIRM") ?>:<font color="#FF0000"><b>*</b></font></font> </td> <td valign="top" align="left" width="50%"> <input type="password" name="USER_PASSWORD_CONFIRM" value="" size="50" class="typeinput"> </td> </tr> </table> <br> <input <?if ($MAIN_RIGHT<"W") echo "disabled" ?> class="button" type="submit" value="<?= GetMessage("SUP_ACTIVATE_DO") ?>"> </center> <script language="JavaScript"> <!-- EnableDisableUser(false); //--> </script> </form> <br><br> <? } ?> <? $bLicenseNotFound = False; if ($arTypesUpdates !== false && isset($arTypesUpdates["ERROR"]) && count($arTypesUpdates["ERROR"]) > 0) { for ($i = 0; $i < count($arTypesUpdates["ERROR"]); $i++) { if ($arTypesUpdates["ERROR"][$i]["@"]["TYPE"] == "LICENSE_NOT_FOUND") { $bLicenseNotFound = True; break; } } } $strLicenseKey_tmp = CUpdateSystem::GetLicenseKey(); if (!$bLockUpdateSystemKernel && (strlen($strLicenseKey_tmp) <= 0 || strtolower($strLicenseKey_tmp) == "demo" || $bLicenseNotFound)) { if (defined("DEMO") && DEMO == "Y") { ?> <?= str_replace("#URL#", "http://".(($lang=="ru") ? "www.bitrixsoft.ru/ru" : "www.bitrixsoft.com" )."/bsm_register.php?dt=".UrlEncode($SiteExpireDate), GetMessage("SUP_NO_KEY_PROMT")) ?> <br><br> <a href="http://<?= (($lang=="ru") ? "www.bitrixsoft.ru/ru" : "www.bitrixsoft.com" ) ?>/bsm_register.php?dt=<?echo UrlEncode($SiteExpireDate) ?>" target="_blank"><img src="/bitrix/images/main/icon2.gif" width="15" height="15" border="0" alt="<?= GetMessage("SUP_NO_KEY_ACT_ALT") ?>"> <?= GetMessage("SUP_NO_KEY_ACT") ?> >></a> <br><br><br> <?= str_replace("#URL#", "/bitrix/admin/settings.php?mid_SELECTED=yes&mid=main", GetMessage("SUP_NO_KEY_ENTER_PROMT")) ?> <? } else { ?> <?= str_replace("#URL_SET#", "/bitrix/admin/settings.php?mid_SELECTED=yes&mid=main", str_replace("#URL#", "http://www.bitrixsoft.".(($lang=="ru") ? "ru" : "com")."/support/", GetMessage("SUP_NO_KEY_PROMT_SRC"))) ?> <? } ?> <form method="POST" action="sysupdate.php"> <center> <input type="text" name="NEW_LICENSE_KEY" class="typeinput" VALUE="<?= (($MAIN_RIGHT<"W") ? "XXXXXXX" : htmlspecialchars($strLicenseKey_tmp)) ?>" size="30"> <input type="hidden" name="TYPE" VALUE="SAVE_KEY"> <input type="hidden" name="STEP" VALUE="1"> <input type="hidden" name="lang" VALUE="<?= htmlspecialchars($lang) ?>"> <input <?if ($MAIN_RIGHT<"W") echo "disabled" ?> class="button" type="submit" value="<?= GetMessage("SUP_NO_KEY_ENTER_DO") ?>"> </center> </form> <br><br> <? } ?> <? // ���� ��� ���������� ������ ���������� if ($arTypesUpdates!==false && isset($arTypesUpdates["UPDATE_SYSTEM"])) { ?> <?= GetMessage("SUP_UPDATE_UPDATE_PROMT") ?> <br><br> <a href="sysupdate.php?TYPE=UPDUPD&STEP=1&lang=<?= htmlspecialchars($lang) ?>"><img src="/bitrix/images/main/icon2.gif" width="15" height="15" border="0" alt="<?= GetMessage("SUP_UPD_UPD_ACT_ALT") ?>"> <?= GetMessage("SUP_UPD_UPD_ACT") ?> >></a> <br><br><br> <? } ?> <? $newLicense = COption::GetOptionString("main", "~new_license11_sign", "N"); if (!$bLockUpdateSystemKernel && $newLicense == "Y") { // ���� ����� ������������� ������� if ($arTypesUpdates!==false && defined("DEMO") && DEMO=="Y" && isset($arTypesUpdates["CLIENT"]) && !isset($arTypesUpdates["UPDATE_SYSTEM"]) && ( $arTypesUpdates["CLIENT"]["@"]["ENC_TYPE"]=="F" || $arTypesUpdates["CLIENT"]["@"]["ENC_TYPE"]=="E")) { ?> <?= GetMessage("SUP_REG_PROMT") ?> <br><br> <a href="sysupdate.php?TYPE=REGVER&STEP=1&lang=<?= htmlspecialchars($lang) ?>"><img src="/bitrix/images/main/icon2.gif" width="15" height="15" border="0" alt="<?= GetMessage("SUP_REG_ACT_ALT") ?>"> <?= GetMessage("SUP_REG_ACT") ?> >></a> <br><br><br> <? } ?> <? // ���� ��� ��������� �� ������ if ($arTypesUpdates!==false && isset($arTypesUpdates["MODULES"]) && !isset($arTypesUpdates["UPDATE_SYSTEM"]) && IntVal($arTypesUpdates["MODULES"]["@"]["COUNT"])>0) { ?> <?= str_replace("#END#", CUpdateSystem::NumberEndings($arTypesUpdates["MODULES"]["@"]["COUNT"]), str_replace("#NUM#", $arTypesUpdates["MODULES"]["@"]["COUNT"], GetMessage("SUP_MUPD_PROMT"))) ?> <br><br> <a href="sysupdate.php?STEP=2&TYPE=UPDATE&lang=<?= htmlspecialchars($lang) ?>"><img src="/bitrix/images/main/icon2.gif" width="15" height="15" border="0" alt="<?= GetMessage("SUP_MUPD_ACT_ALT") ?>"> <?= GetMessage("SUP_MUPD_ACT") ?> >></a> <br><br><br> <? } else { ?> <?= GetMessage("SUP_MUPD_NO_UPD") ?> <br><br><br> <? } ?> <? // ���� ����� ������ ������ ����� if ($arTypesUpdates!==false && defined("ENCODE") && ENCODE=="Y" && isset($arTypesUpdates["CLIENT"]) && !isset($arTypesUpdates["UPDATE_SYSTEM"]) && ($arTypesUpdates["CLIENT"]["@"]["ENC_TYPE"]=="F")) { ?> <?= GetMessage("SUP_SRC_PROMT") ?> <br><br> <?if (!isset($arTypesUpdates["MODULES"]) || IntVal($arTypesUpdates["MODULES"]["@"]["COUNT"])<=0):?> <a href="sysupdate.php?TYPE=LOADSRC&STEP=1&lang=<?= htmlspecialchars($lang) ?>"><img src="/bitrix/images/main/icon2.gif" width="15" height="15" border="0" alt="<?= GetMessage("SUP_SRC_ACT_ALT") ?>"> <?= GetMessage("SUP_SRC_ACT") ?> >></a> <br><br> <?endif;?> <br> <? } ?> <? // ���� ��� ��������� �� ����� if ($arTypesUpdates!==false && isset($arTypesUpdates["LANGS"]) && !isset($arTypesUpdates["UPDATE_SYSTEM"]) && (IntVal($arTypesUpdates["LANGS"]["@"]["COUNT"])>0 || IntVal($arTypesUpdates["LANGS"]["@"]["OTHER_COUNT"])>0) ) { if (IntVal($arTypesUpdates["LANGS"]["@"]["COUNT"])>0) echo str_replace("#END#", CUpdateSystem::NumberEndings($arTypesUpdates["LANGS"]["@"]["COUNT"]), str_replace("#NUM#", $arTypesUpdates["LANGS"]["@"]["COUNT"], GetMessage("SUP_LUPD_PROMT"))); if (IntVal($arTypesUpdates["LANGS"]["@"]["OTHER_COUNT"])>0) echo GetMessage("SUP_LUPD_PROMT_OTHER"); ?> <br><br> <a href="sysupdate.php?STEP=2&TYPE=LANGS&lang=<?= htmlspecialchars($lang) ?>"><img src="/bitrix/images/main/icon2.gif" width="15" height="15" border="0" alt="<?= GetMessage("SUP_LUPD_ACT_ALT") ?>"> <?= GetMessage("SUP_LUPD_ACT") ?> >></a> <br><br><br> <? } ?> <? // ���� ��� ��������� �� ����� if ($arTypesUpdates!==false && isset($arTypesUpdates["HELPS"]) && !isset($arTypesUpdates["UPDATE_SYSTEM"]) && (IntVal($arTypesUpdates["HELPS"]["@"]["COUNT"])>0 || IntVal($arTypesUpdates["HELPS"]["@"]["OTHER_COUNT"])>0) ) { if (IntVal($arTypesUpdates["HELPS"]["@"]["COUNT"])>0) echo str_replace("#END#", CUpdateSystem::NumberEndings($arTypesUpdates["HELPS"]["@"]["COUNT"], $lang, array(GetMessage("SUP_WORD_YAZIK_END1"), GetMessage("SUP_WORD_YAZIK_END2"), GetMessage("SUP_WORD_YAZIK_END3"), GetMessage("SUP_WORD_YAZIK_END4"))), str_replace("#NUM#", $arTypesUpdates["HELPS"]["@"]["COUNT"], GetMessage("SUP_HUPD_PROMT"))); if (IntVal($arTypesUpdates["HELPS"]["@"]["OTHER_COUNT"])>0) echo GetMessage("SUP_HUPD_PROMT_OTHER"); ?> <br><br> <a href="sysupdate.php?STEP=2&TYPE=HELP&lang=<?= htmlspecialchars($lang) ?>"><img src="/bitrix/images/main/icon2.gif" width="15" height="15" border="0" alt="<?= GetMessage("SUP_HUPD_ACT_ALT") ?>"> <?= GetMessage("SUP_HUPD_ACT") ?> >></a> <br><br><br> <? } ?> <? if ($arTypesUpdates!==false && isset($arTypesUpdates["CLIENT"]) && !isset($arTypesUpdates["UPDATE_SYSTEM"]) && count($arTypesUpdates["CLIENT"])>0 && $arTypesUpdates["CLIENT"]["@"]["RESERVED"]!="Y") { $arTypesUpdates["CLIENT"]["@"]["MAX_SITES"] = IntVal($arTypesUpdates["CLIENT"]["@"]["MAX_SITES"]); if ($arTypesUpdates["CLIENT"]["@"]["MAX_SITES"] > 0) echo str_replace("#END#", CUpdateSystem::NumberEndings($arTypesUpdates["CLIENT"]["@"]["MAX_SITES"], $lang, array(GetMessage("SUP_WORD_SAIT_END1"), GetMessage("SUP_WORD_SAIT_END2"), GetMessage("SUP_WORD_SAIT_END3"), GetMessage("SUP_WORD_SAIT_END4"))), str_replace("#NUM#", $arTypesUpdates["CLIENT"]["@"]["MAX_SITES"], GetMessage("SUP_CHECK_PROMT"))); else echo GetMessage("SUP_CHECK_PROMT_2"); ?> <br><br> <?= GetMessage("SUP_CHECK_PROMT_1") ?> <br><br> <a href="sysupdate.php?TYPE=ADD_SITE&STEP=1&lang=<?= htmlspecialchars($lang) ?>"><img src="/bitrix/images/main/icon2.gif" width="15" height="15" border="0" alt="<?= GetMessage("SUP_SITES_ACT_ALT") ?>"> <?= GetMessage("SUP_CHECK_ACT") ?> >></a> <br><br> <br> <? } } elseif (!$bLockUpdateSystemKernel) { ?> <form method="POST" action="sysupdate.php" name="license_form"> <font class="text"> <script language="JavaScript"> <!-- function AgreeLicenseChecked(obj) { var obj1 = document.license_form.SUP_LICENSE_ENTER_DON; obj1.disabled = <?if ($MAIN_RIGHT < "W"):?>true<?else:?>!obj.checked<?endif;?>; } //--> </script> <? if (LANG == "ru") $license_text_file = "http://www.bitrixsoft.ru/license-ru.htm"; else $license_text_file = "http://www.bitrixsoft.com/license-en.htm"; ?> <iframe name="license_text" src="<?= $license_text_file ?>" width="560" height="250" border="0" frameBorder="1" scrolling="yes"></iframe> <br><br> <input class="typeinput" type="checkbox" name="agree_license" value="Y" id="agree_license_id" OnClick="AgreeLicenseChecked(this)"> <label for="agree_license_id"><?= GetMessage("LICENSE_AGREE_PROMT") ?></label> <br><br> <input type="hidden" name="TYPE" VALUE="AGREE_LICENSE_ACT"> <input type="hidden" name="STEP" VALUE="1"> <input type="hidden" name="lang" VALUE="<?= htmlspecialchars($lang) ?>"> <input disabled id="SUP_LICENSE_ENTER_DO" name="SUP_LICENSE_ENTER_DON" class="button" type="submit" value="<?= GetMessage("SUP_LICENSE_ENTER_DO") ?>"> </center> </font> </form> <br><br> <? } ?> <? if (!$bLockUpdateSystemKernel) { if ($stableVersionsOnly == "N") echo GetMessage("SUP_STABLE_OFF_PROMT"); else echo GetMessage("SUP_STABLE_ON_PROMT"); ?> <br><?= GetMessage("SUP_STABLE_PROMT");?> <br><br> <a href="sysupdate.php?TYPE=TURN_STABILITY&STEP=1&lang=<?= htmlspecialchars($lang) ?>"><img src="/bitrix/images/main/icon2.gif" width="15" height="15" border="0" alt="<?= (($stableVersionsOnly == "N") ? GetMessage("SUP_STABLE_TURN_ON") : GetMessage("SUP_STABLE_TURN_OFF")) ?>"> <?= (($stableVersionsOnly == "N") ? GetMessage("SUP_STABLE_TURN_ON") : GetMessage("SUP_STABLE_TURN_OFF")) ?> >></a> <br><br> <br> <? } ?> <?= GetMessage("SUP_1STEP_NOTES1") ?> <br><br> <!-- �������������� / �������� --> <?= GetMessage("SUP_1STEP_NOTES2") ?> <br><br> <a href="sysupdate.php?TYPE=HISTORY&lang=<?= LANG ?>"><?= GetMessage("SUP_HISTORY_LINK") ?></a><br><br> <br> <? if (!$bLockUpdateSystemKernel) { ?> <!-- �������� --> <form method="POST" action="sysupdate.php"> <?if (isset($arTypesUpdates["CLIENT"]["@"]["SUBSCR_EMAIL"]) && strlen($arTypesUpdates["CLIENT"]["@"]["SUBSCR_EMAIL"])>0):?> <?= GetMessage("SUP_SUBSCR_ALREADY_U") ?><br> <?else:?> <?= GetMessage("SUP_SUBSCR_NEW_U") ?><br> <?endif;?> <input type="text" name="SUBSCR_EMAIL" class="typeinput" VALUE="<?= ((isset($arTypesUpdates["CLIENT"]["@"]["SUBSCR_EMAIL"])) ? htmlspecialchars($arTypesUpdates["CLIENT"]["@"]["SUBSCR_EMAIL"]) : "") ?>" size="40"> <input type="hidden" name="TYPE" VALUE="SUBSCR_UPDATE"> <input type="hidden" name="STEP" VALUE="1"> <input type="hidden" name="lang" VALUE="<?= htmlspecialchars($lang) ?>"> <?if (isset($arTypesUpdates["CLIENT"]["@"]["SUBSCR_EMAIL"]) && strlen($arTypesUpdates["CLIENT"]["@"]["SUBSCR_EMAIL"])>0):?> <input <?if ($MAIN_RIGHT<"W") echo "disabled" ?> class="button" type="submit" value="<?= GetMessage("SUP_SUBSCR_ALREADY_CHANGE_U") ?>"> <input <?if ($MAIN_RIGHT<"W") echo "disabled" ?> class="button" type="submit" name="SUBSCR_DELETE" value="<?= GetMessage("SUP_SUBSCR_ALREADY_DEL_U") ?>"> <?else:?> <input <?if ($MAIN_RIGHT<"W") echo "disabled" ?> class="button" type="submit" value="<?= GetMessage("SUP_SUBSCR_ALREADY_ADD_U") ?>"> <?endif;?> </form> <br><br> <? } ?> </font> <? } /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ /*@@@@@@@@@ ����� ������� @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ /**********************************************************************/ /****** �� 2 /����/ ********************************************/ /**********************************************************************/ if ($TYPE=="UPDATE" && $STEP==2 && $MAIN_RIGHT=="W") { if (strlen($strErrorMessage)>0) { ?><font class="errortext"><?= $strErrorMessage ?></font><br><br><? } // ���� ����� ����� � ������� if ($arModulesUpdates!==false && isset($arModulesUpdates["ERROR"]) && count($arModulesUpdates["ERROR"])>0) { for ($i = 0; $i < count($arModulesUpdates["ERROR"]); $i++) { ?><font class="errortext"> <?if (strlen($arModulesUpdates["ERROR"][$i]["@"]["TYPE"])>0):?> [<?= $arModulesUpdates["ERROR"][$i]["@"]["TYPE"] ?>] <?endif;?> <?= $arModulesUpdates["ERROR"][$i]["#"] ?></font><br><? } ?><br><? } ?> <font class="text"> <?= GetMessage("SUP_STEP2_UPD_PROMT") ?> </font> <?if (!$arModulesUpdates || !isset($arModulesUpdates["MODULES"]) || !isset($arModulesUpdates["MODULES"]["#"]["MODULE"]) || !is_array($arModulesUpdates["MODULES"]["#"]["MODULE"]) || count($arModulesUpdates["MODULES"]["#"]["MODULE"])<=0):?> <p><center><font class="errortext"><?= GetMessage("SUP_STEP2_NO_MODULES") ?></font></center> <?endif;?> <table border="0" align="center" width="95%"> <tr> <td align="left"> <form method="post" action="sysupdate.php" onsubmit="return ValidateForm(this);"> <input type="submit" name="load_button" id="load_button" value="<?= GetMessage("SUP_STEP2_LOAD_BTN") ?>" <?if (!isset($arModulesUpdates["MODULES"]) || !isset($arModulesUpdates["MODULES"]["#"]["MODULE"]) || !is_array($arModulesUpdates["MODULES"]["#"]["MODULE"]) || !count($arModulesUpdates["MODULES"]["#"]["MODULE"])>0) echo "disabled";?>> <input type="hidden" name="load_modules" id="load_modules" value=""> <input type="hidden" name="STEP" value="3"> <input type="hidden" name="lang" value="<?= htmlspecialchars($lang) ?>"> <input type="hidden" name="TYPE" value="UPDATE"> </form> </td> <td align="right"> <font class="text"> <input type="text" name="total_size" id="total_size" size="20" style="font-size:11px;font-family:verdana,arial;border: 0 solid;" readonly value=""> </font> </td> </tr> </table> <? } /**********************************************************************/ /****** �� 3 /����/ ********************************************/ /**********************************************************************/ if ($TYPE=="UPDATE" && $STEP==3 && $MAIN_RIGHT=="W") { if (strlen($strErrorMessage)>0) { ?><font class="errortext"><?= $strErrorMessage ?></font><br><br><? } // ���� ����� ����� � ������� if ($arModulesUpdates!==false && isset($arModulesUpdates["ERROR"]) && count($arModulesUpdates["ERROR"])>0) { for ($i = 0; $i < count($arModulesUpdates["ERROR"]); $i++) { ?><font class="errortext"> <?if (strlen($arModulesUpdates["ERROR"][$i]["@"]["TYPE"])>0):?> [<?= $arModulesUpdates["ERROR"][$i]["@"]["TYPE"] ?>] <?endif;?> <?= $arModulesUpdates["ERROR"][$i]["#"] ?></font><br><? } ?><br><? } ?> <font class="text"> <?= GetMessage("SUP_STEP3_UPD_PROMT") ?> </font> <?if (!$arModulesUpdates || !isset($arModulesUpdates["MODULES"]) || !isset($arModulesUpdates["MODULES"]["#"]["MODULE"]) || !is_array($arModulesUpdates["MODULES"]["#"]["MODULE"]) || count($arModulesUpdates["MODULES"]["#"]["MODULE"])<=0):?> <p><center><font class="errortext"><?= GetMessage("SUP_STEP3_NO_MODULES") ?></font></center> <?endif;?> <table border="0" align="center" width="95%"> <tr> <td align="left"> <form method="post" action="sysupdate.php" onsubmit="return ValidateForm(this);"> <input type="submit" name="load_button" id="load_button" value="<?= GetMessage("SUP_STEP3_LOAD_BTN") ?>" <?if (!isset($arModulesUpdates["MODULES"]) || !isset($arModulesUpdates["MODULES"]["#"]["MODULE"]) || !is_array($arModulesUpdates["MODULES"]["#"]["MODULE"]) || !count($arModulesUpdates["MODULES"]["#"]["MODULE"])>0) echo "disabled";?>> <input type="hidden" name="load_modules" id="load_modules" value=""> <input type="hidden" name="temporary_updates_dir" value="<?= htmlspecialchars($temporary_updates_dir) ?>"> <input type="hidden" name="UNIID" value="<?echo md5(time());?>"> <input type="hidden" name="lang" value="<?= htmlspecialchars($lang) ?>"> <input type="hidden" name="STEP" value="4"> <input type="hidden" name="TYPE" value="UPDATE"> </form> </td> <td align="right"> <font class="text"> <input type="text" name="total_size" id="total_size" size="20" style="font-size:11px;font-family:verdana,arial;border: 0 solid;" readonly value=""> </font> </td> </tr> </table> <? } /**********************************************************************/ /****** ��� 2 � 3 /����/ ***************************************/ /**********************************************************************/ if ($TYPE=="UPDATE" && ($STEP==2 || $STEP==3) && $MAIN_RIGHT=="W") { ?> <script language="javascript"> var arModules = new Array(); <? if ($arModulesUpdates && isset($arModulesUpdates["MODULES"]) && is_array($arModulesUpdates["MODULES"]["#"]["MODULE"]) && count($arModulesUpdates["MODULES"]["#"]["MODULE"])>0) { $arModuleCurVersions = array(); for ($i = 0; $i < count($arModulesUpdates["MODULES"]["#"]["MODULE"]); $i++) { ?> var arDepends = new Array(); var arDepends1 = new Array(); <? $arDepends = array(); for ($j = 0; $j < count($arModulesUpdates["MODULES"]["#"]["MODULE"]); $j++) { if ($i != $j) { if (is_array($arModulesUpdates["MODULES"]["#"]["MODULE"][$j]["#"]["VERSION_CONTROL"])) { for ($k = 0; $k < count($arModulesUpdates["MODULES"]["#"]["MODULE"][$j]["#"]["VERSION_CONTROL"]); $k++) { if ($arModulesUpdates["MODULES"]["#"]["MODULE"][$j]["#"]["VERSION_CONTROL"][$k]["@"]["MODUL"]==$arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["ID"]) { if (!array_key_exists($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["ID"], $arModuleCurVersions)) $arModuleCurVersions[$arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["ID"]] = CUpdateSystem::GetModuleVersion($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["ID"]); $i_cur_version = $arModuleCurVersions[$arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["ID"]]; if (!$i_cur_version || strlen($i_cur_version)<=0 || CUpdateSystem::CompareVersions( $arModulesUpdates["MODULES"]["#"]["MODULE"][$j]["#"]["VERSION_CONTROL"][$k]["@"]["VERSION"], $i_cur_version ) > 0) { $arDepends[] = $j; } } } } } } if (count($arDepends)>0) { for ($j = 0; $j < count($arDepends); $j++) { ?>arDepends[<?= $j ?>]=<?= $arDepends[$j] ?>;<? } } $arDepends1 = array(); if (is_array($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["#"]["VERSION_CONTROL"])) { for ($j = 0; $j < count($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["#"]["VERSION_CONTROL"]); $j++) { if (!array_key_exists($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["#"]["VERSION_CONTROL"][$j]["@"]["MODUL"], $arModuleCurVersions)) $arModuleCurVersions[$arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["#"]["VERSION_CONTROL"][$j]["@"]["MODUL"]] = CUpdateSystem::GetModuleVersion($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["#"]["VERSION_CONTROL"][$j]["@"]["MODUL"]); $i_cur_version = $arModuleCurVersions[$arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["#"]["VERSION_CONTROL"][$j]["@"]["MODUL"]]; if (!$i_cur_version || strlen($i_cur_version)<=0 || CUpdateSystem::CompareVersions( $arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["#"]["VERSION_CONTROL"][$j]["@"]["VERSION"], $i_cur_version ) > 0) { for ($k = 0; $k < count($arModulesUpdates["MODULES"]["#"]["MODULE"]); $k++) { if ($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["#"]["VERSION_CONTROL"][$j]["@"]["MODUL"]==$arModulesUpdates["MODULES"]["#"]["MODULE"][$k]["@"]["ID"]) { $arDepends1[] = $k; break; } } } } } if (count($arDepends1)>0) { for ($j = 0; $j < count($arDepends1); $j++) { ?>arDepends1[<?= $j ?>]=<?= $arDepends1[$j] ?>;<? } } ?> arModules[<?= $i ?>] = Array( "<?= $arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["ID"] ?>", "<?= $arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["NAME"] ?>", "<?= $arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["VERSION"] ?>", <?= $arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["SIZE"] ?>, "<? $strModuleDescr = ""; if ($STEP==2) { if (is_array($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["#"]["DESCRIPTION"])) { for ($j = 0; $j < count($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["#"]["DESCRIPTION"]); $j++) { if (strlen($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["#"]["DESCRIPTION"][$j]["@"]["VERSION"])>0) $strModuleDescr .= "<br><b>".$arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["#"]["DESCRIPTION"][$j]["@"]["VERSION"]."</b><br>"; $strModuleDescr .= $arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["#"]["DESCRIPTION"][$j]["#"]."<br>"; } } } if (is_array($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["#"]["VERSION_CONTROL"])) { $strModuleDescr .= "<br><b>".GetMessage("SUP_UPD_DESCR_VERC").":</b><br>"; for ($j = 0; $j < count($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["#"]["VERSION_CONTROL"]); $j++) { $strModuleDescr .= "- ".$arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["#"]["VERSION_CONTROL"][$j]["@"]["MODUL"]." "; $strModuleDescr .= str_replace("#VERS#", $arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["#"]["VERSION_CONTROL"][$j]["@"]["VERSION"], GetMessage("SUP_UPD_DESCR_VERC_N"))." "; if (strlen($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["#"]["VERSION_CONTROL"][$j]["@"]["NOTES"])>0) { $strModuleDescr .= "<small>(".$arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["#"]["VERSION_CONTROL"][$j]["@"]["NOTES"].")</small>"; } $strModuleDescr .= "<br>"; } } $strModuleDescr = preg_replace("#</?pre>#i", " ", $strModuleDescr); $strModuleDescr = preg_replace("/[\s\n\r]+/", " ", $strModuleDescr); $strModuleDescr = addslashes($strModuleDescr); echo CUpdateSystem::InsertSpaces($strModuleDescr, 80); ?>", "Y", "<?= $arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["NEW"] ?>", arDepends, arDepends1 ); <? } } ?> </script> <!--<hr align="left" width="98%" size="1" color="#CCCCCC">--> <!--<div ID="updates_list_div" style="position: absolute; height: 300px; z-index: 10;">--> <iframe ID="updates_list" name="updates_list" src="sys_update_list.php?lang=<?echo LANG?>" width="100%" height="100%"></iframe> <!--</div>--> <script language="javascript"> var ns4 = (document.layers) ? true : false; var ie4 = (document.all) ? true : false; var oUpdatesList; var oUpdatesTbl; var totalNumUpd = arModules.length; var totalSizeUpd = 0; for (i = 0; i < arModules.length; i++) { totalSizeUpd = totalSizeUpd + arModules[i][3]; } degKoeff = 1000; degKoeffName = "Kb"; if (1*totalSizeUpd>500000) { degKoeff = 1000000; degKoeffName = "Mb"; } var oTotalSizeInfo = (ie4) ? document.all['total_size'] : document.getElementById('total_size'); var iSize_tmp = Math.round((totalSizeUpd/degKoeff)*10)/10; if (iSize_tmp<=0) { iSize_tmp = 0.1; } oTotalSizeInfo.value = "<?= GetMessage("SUP_TOTAL_UPDS") ?>: "+totalNumUpd+" = "+iSize_tmp+" "+degKoeffName; // Modules to load var oLoadModules = (ie4) ? document.all['load_modules'] : document.getElementById('load_modules'); oLoadModules.value = MakeLoadModulesList(); var oLoadButton = (ie4) ? document.all['load_button'] : document.getElementById('load_button'); if (totalNumUpd<=0) { oLoadButton.disabled = true; } else { oLoadButton.disabled = false; } function ValidateForm(form) { oLoadButton.disabled = true; return true; } function MakeLoadModulesList() { var strLoadModulesUpd_tmp = ""; for (i = 0; i < arModules.length; i++) { if (arModules[i][5]=="Y") { if (strLoadModulesUpd_tmp.length>0) strLoadModulesUpd_tmp = strLoadModulesUpd_tmp + ","; strLoadModulesUpd_tmp = strLoadModulesUpd_tmp + arModules[i][0]; } } return strLoadModulesUpd_tmp; } // End modules to load function findlayer(name,doc) { var i,layer; for (i = 0; i < doc.layers.length; i++) { layer=doc.layers[i]; if (layer.name==name) return layer; if (layer.document.layers.length>0) if ((layer=findlayer(name,layer.document))!=null) return layer; } return null; } // Manage updates list function MakeUpdateText(ind, enbl) { var strTxt = ""; if (enbl=="Y") { strTxt += '<table border="0" width="100%" cellspacing="1" cellpadding="3"><tr><td width="100%">'; strTxt += '<font class="text">'; strTxt += '<font class="titletext"><?= GetMessage("SUP_MODULE") ?> "'+arModules[ind][1]+'" ('+arModules[ind][0]+')</font>'; if (arModules[ind][6]=="Y") { strTxt += '<font color="#00AA00"><b> - <?= GetMessage("SUP_NEW") ?>!</b></font>'; } strTxt += '<br>'; strTxt += '<?= GetMessage("SUP_LAST_VERSION") ?>: '+arModules[ind][2]+'<br>'; degKoeff = 1000; degKoeffName = "Kb"; if (1*arModules[ind][3]>500000) { degKoeff = 1000000; degKoeffName = "Mb"; } var iSize_tmp = Math.round((arModules[ind][3]/degKoeff)*10)/10; if (iSize_tmp<=0) { iSize_tmp = 0.1; } strTxt += '<?= GetMessage("SUP_LOAD_SIZE") ?>: '+iSize_tmp+' '+degKoeffName+'<br>'; strTxt += '</font>'; strTxt += '</td><td align="right" width="0%">'; strTxt += '<input type="button" value="<?= GetMessage("SUP_DELETE_FROM_LOAD") ?>" OnClick="DoEvent(\'DisableUpdate('+ind+')\')">'; strTxt += '</td></tr><tr><td>'; strTxt += '<font class="text">'; strTxt += arModules[ind][4]; strTxt += '</font>'; strTxt += '</td></tr></table>'; strTxt += '<hr width="100%" size="1" color="#CCCCCC">'; } else { strTxt += '<table border="0" width="100%" cellspacing="1" cellpadding="3"><tr><td disabled width="100%">'; strTxt += '<font class="text"><font color="#AAAAAA"><?= GetMessage("SUP_MODULE") ?> "'+arModules[ind][1]+'" ('+arModules[ind][0]+')</font></font><br>'; strTxt += '</font>'; strTxt += '</td><td align="right" width="0%">'; strTxt += '<input type="button" value="<?= GetMessage("SUP_ADD_TO_LOAD") ?>" OnClick="DoEvent(\'EnableUpdate('+ind+')\')">'; strTxt += '</td></tr></table>'; strTxt += '<hr width="100%" size="1" color="#CCCCCC">'; } return strTxt; } function updates_list_DisableUpdate(ind) { arModules[ind][5] = "N"; oLoadModules.value = MakeLoadModulesList(); totalNumUpd = totalNumUpd - 1; totalSizeUpd = totalSizeUpd - arModules[ind][3]; degKoeff = 1000; degKoeffName = "Kb"; if (1*totalSizeUpd>500000) { degKoeff = 1000000; degKoeffName = "Mb"; } var iSize_tmp = Math.round((totalSizeUpd/degKoeff)*10)/10; if (iSize_tmp<=0) { iSize_tmp = 0.1; } oTotalSizeInfo.value = "<?= GetMessage("SUP_TOTAL_UPDS") ?>: "+totalNumUpd+" = "+iSize_tmp+" "+degKoeffName; if (totalNumUpd<=0) { oLoadButton.disabled = true; } oRow = oUpdatesTbl.rows[ind]; oRow.cells[0].innerHTML = MakeUpdateText(ind, "N"); if (arModules[ind][7].length > 0) { var i1; for (i1 = 0; i1 < arModules[ind][7].length; i1++) { if (arModules[arModules[ind][7][i1]][5]=="Y") { updates_list_DisableUpdate(arModules[ind][7][i1]); alert('<?= GetMessage("SUP_ALERT_PART1") ?> "'+arModules[arModules[ind][7][i1]][1]+'" ('+arModules[arModules[ind][7][i1]][0]+') <?= GetMessage("SUP_ALERT_PART2") ?> "'+arModules[ind][1]+'" ('+arModules[ind][0]+'). <?= GetMessage("SUP_ALERT_PART3") ?> "'+arModules[arModules[ind][7][i1]][1]+'" ('+arModules[arModules[ind][7][i1]][0]+') <?= GetMessage("SUP_ALERT_PART4") ?>.'); } } } } function updates_list_EnableUpdate(ind) { arModules[ind][5] = "Y"; oLoadModules.value = MakeLoadModulesList(); totalNumUpd = totalNumUpd + 1; totalSizeUpd = totalSizeUpd + arModules[ind][3]; degKoeff = 1000; degKoeffName = "Kb"; if (1*totalSizeUpd>500000) { degKoeff = 1000000; degKoeffName = "Mb"; } var iSize_tmp = Math.round((totalSizeUpd/degKoeff)*10)/10; if (iSize_tmp<=0) { iSize_tmp = 0.1; } oTotalSizeInfo.value = "<?= GetMessage("SUP_TOTAL_UPDS") ?>: "+totalNumUpd+" = "+iSize_tmp+" "+degKoeffName; if (totalNumUpd>0) { oLoadButton.disabled = false; } oRow = oUpdatesTbl.rows[ind]; oRow.cells[0].innerHTML = MakeUpdateText(ind, "Y"); if (arModules[ind][8].length > 0) { var i1; for (i1 = 0; i1 < arModules[ind][8].length; i1++) { if (arModules[arModules[ind][8][i1]][5]!="Y") { updates_list_EnableUpdate(arModules[ind][8][i1]); alert('<?= GetMessage("SUP_ALERT1_PART1") ?> "'+arModules[arModules[ind][8][i1]][1]+'" ('+arModules[arModules[ind][8][i1]][0]+') <?= GetMessage("SUP_ALERT1_PART2") ?> "'+arModules[ind][1]+'" ('+arModules[ind][0]+'). <?= GetMessage("SUP_ALERT1_PART3") ?> "'+arModules[arModules[ind][8][i1]][1]+'" ('+arModules[arModules[ind][8][i1]][0]+') <?= GetMessage("SUP_ALERT1_PART4") ?>.'); } } } } var XXXXXXXXX = 0; function PrepareUpdatesList() { if (XXXXXXXXX > 0) return; XXXXXXXXX = 1; ResizeUpdatesList(); if (ns4) { oUpdatesList = document.getElementById("updates_list"); oUpdatesTbl = oUpdatesList.document.getElementById('updates_items'); } else if (ie4) { oUpdatesList = document.frames("updates_list"); oUpdatesTbl = oUpdatesList.document.all['updates_items']; } else { oUpdatesList = document.getElementById("updates_list"); oUpdatesTbl = oUpdatesList.contentDocument.getElementById('updates_items'); } if (oUpdatesTbl) { for (i = 0; i < arModules.length; i++) { oRow = oUpdatesTbl.insertRow(i); oCell = oRow.insertCell(0); oCell.innerHTML = MakeUpdateText(i, "Y"); } } else { XXXXXXXXX = 0; setTimeout("PrepareUpdatesList();", 2000); } } function ResizeUpdatesList() { // oUpdatesListDiv = (ns4) ? findlayer('updates_list_div', document) : (ie4) ? document.all['updates_list_div'] : document.getElementById('updates_list_div'); var oUpdatesListDiv = (ie4) ? document.all['updates_list'] : document.getElementById('updates_list'); if (ns4) { newHeight = window.innerHeight - pageYOffset - 27; // if (window.innerHeight<700 || newHeight<200) // oUpdatesListDiv.height = window.innerHeight-70; // else if (newHeight>200) oUpdatesListDiv.height = newHeight; } else if (ie4) { newHeight = document.body.clientHeight - oUpdatesListDiv.offsetTop - 27; // if (document.body.clientHeight<700 || newHeight<200) // oUpdatesListDiv.style.height = document.body.clientHeight-70; // else if (newHeight>200) oUpdatesListDiv.style.height = newHeight; } else { newHeight = window.innerHeight-pageYOffset - 27; // if (window.innerHeight<700 || newHeight<200) // oUpdatesListDiv.style.height = window.innerHeight-50; // else if (newHeight>200) oUpdatesListDiv.style.height = newHeight; newWidth = window.innerWidth-pageXOffset-190; oUpdatesListDiv.style.width = newWidth; } } // End manage updates list window.onload = PrepareUpdatesList; window.onresize = ResizeUpdatesList; setTimeout("PrepareUpdatesList();", 2000); </script> <? } /**********************************************************************/ /****** �� 4 /����/ ********************************************/ /**********************************************************************/ if ($TYPE=="UPDATE" && $STEP==4 && $MAIN_RIGHT=="W") { if (strlen($strErrorMessage)>0) { ?><font class="errortext"><?= $strErrorMessage ?></font><br><br><? } ?> <font class="text"> <?= GetMessage("SUP_STEP4_UPD_PROMT") ?> <br><br> <? $arServerReport = array(); if ($arModulesUpdates && isset($arModulesUpdates["MODULES"]) && is_array($arModulesUpdates["MODULES"]["#"]["MODULE"]) && count($arModulesUpdates["MODULES"]["#"]["MODULE"])>0) { $strSuccessModules = ""; $strErrorModules = ""; $strNoneModules = ""; for ($i = 0; $i < count($arModulesUpdates["MODULES"]["#"]["MODULE"]); $i++) { if (array_key_exists($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["ID"], $arErrorModules)) { $strErrorModules .= "<b>".$arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["NAME"]."</b> (".$arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["ID"].")"; if ($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["NEW"]=="Y") { $strErrorModules .= " - <font class=\"text\">"; $strErrorModules .= "<a href=\"module_admin.php?lang=".LANG."&id=".urlencode($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["ID"])."&".bitrix_sessid_get()."&install=".urlencode(GetMessage("SUP_STEP4_INST"))."\" target=\"_blank\" title=\"".GetMessage("SUP_STEP4_INST_ALT")."\">".GetMessage("SUP_STEP4_INST_DO")."</a>"; $strErrorModules .= "</font>"; } $strErrorModules .= "<br>"; $strErrorModules .= "<i>".$arErrorModules[$arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["ID"]]."</i><br>"; CUpdateSystem::AddMessage2Log( str_replace("#VERS#", $arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["VERSION"], str_replace("#MODULE#", $arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["NAME"]." (".$arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["ID"].")", GetMessage("SUP_STEP4_UPD_LOG"))). $arErrorModules[$arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["ID"]], "UPD_ERROR"); $arServerReport[$arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["ID"]] = array($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["VERSION"], $arErrorModules[$arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["ID"]]); } elseif (array_key_exists($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["ID"], $arSuccessModules)) { $strSuccessModules .= "<b>".$arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["NAME"]."</b> (".$arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["ID"].")"; if ($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["NEW"]=="Y") { $strSuccessModules .= " - <font class=\"text\">"; $strSuccessModules .= "<a href=\"module_admin.php?lang=".LANG."&id=".urlencode($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["ID"])."&".bitrix_sessid_get()."&install=".urlencode(GetMessage("SUP_STEP4_INST"))."\" target=\"_blank\" title=\"".GetMessage("SUP_STEP4_INST_ALT")."\">".GetMessage("SUP_STEP4_INST_DO")."</a>"; $strSuccessModules .= "</font>"; } $strSuccessModules .= "<br>"; $strModuleDescr = ""; if (is_array($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["#"]["DESCRIPTION"])) { for ($j = 0; $j < count($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["#"]["DESCRIPTION"]); $j++) { if (strlen($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["#"]["DESCRIPTION"][$j]["@"]["VERSION"])>0) $strModuleDescr .= "<br><b>".$arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["#"]["DESCRIPTION"][$j]["@"]["VERSION"]."</b><br>"; $strModuleDescr .= $arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["#"]["DESCRIPTION"][$j]["#"]."<br>"; } } $strModuleDescr = preg_replace("#</?pre>#i", " ", $strModuleDescr); $strModuleDescr = preg_replace("/[\s\n\r]+/", " ", $strModuleDescr); $strModuleDescr = addslashes($strModuleDescr); CUpdateSystem::AddMessage2Log( str_replace("#VERS#", $arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["VERSION"], str_replace("#MODULE#", $arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["NAME"]." (".$arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["ID"].")", GetMessage("SUP_STEP4_UPD_LOG")))."<br>".$strModuleDescr, "UPD_SUCCESS"); $arServerReport[$arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["ID"]] = array($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["VERSION"], "S"); } else { $strNoneModules .= "<b>".$arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["NAME"]."</b> (".$arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["ID"].")<br>"; $arServerReport[$arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["ID"]] = array($arModulesUpdates["MODULES"]["#"]["MODULE"][$i]["@"]["VERSION"], "N"); } } if (strlen($strSuccessModules)>0) { ?><?= GetMessage("SUP_STEP4_SUCCESS") ?>:<br><br><? echo $strSuccessModules; echo "<br><br>"; } if (strlen($strErrorModules)>0) { ?><?= GetMessage("SUP_STEP4_ERROR") ?>:<br><br><? echo $strErrorModules; echo "<br><br>"; } if (strlen($strNoneModules)>0) { ?><?= GetMessage("SUP_STEP4_NONE") ?>:<br><br><? echo $strNoneModules; echo "<br><br>"; } } ?> <br> <a href="sysupdate.php?TYPE=HISTORY&lang=<?= LANG ?>"><?= GetMessage("SUP_HISTORY_LINK") ?></a><br><br> <a href="sysupdate.php?STEP=1&TYPE=UPDATE&lang=<?= LANG ?>"><< <?= GetMessage("SUP_MAIN_PAGE") ?></a> </font> <? CUpdateSystem::EraseOldFolders(2); CUpdateSystem::Report2Server($arServerReport); } /**********************************************************************/ /****** ����� ���� /����/ **************************************/ /**********************************************************************/ /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ /*@@@@@@@@@ ����� ������ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ /**********************************************************************/ /****** �� 2 /�����/ ********************************************/ /**********************************************************************/ if ($TYPE=="LANGS" && $STEP==2 && $MAIN_RIGHT=="W") { if (strlen($strErrorMessage)>0) { ?><font class="errortext"><?= $strErrorMessage ?></font><br><br><? } // ���� ����� ����� � ������� if ($arLangsUpdates!==false && isset($arLangsUpdates["ERROR"]) && count($arLangsUpdates["ERROR"])>0) { for ($i = 0; $i < count($arLangsUpdates["ERROR"]); $i++) { ?><font class="errortext"> <?if (strlen($arLangsUpdates["ERROR"][$i]["@"]["TYPE"])>0):?> [<?= $arLangsUpdates["ERROR"][$i]["@"]["TYPE"] ?>] <?endif;?> <?= $arLangsUpdates["ERROR"][$i]["#"] ?></font><br><? } ?><br><? } ?> <font class="text"> <a href="sysupdate.php?STEP=1&TYPE=UPDATE&lang=<?= LANG ?>"><< <?= GetMessage("SUP_MAIN_PAGE") ?></a><br><br> <?= GetMessage("SUP_LSTEP2_PROMT") ?> </font> <?if (!$arLangsUpdates || !isset($arLangsUpdates["LANGS"]) || !isset($arLangsUpdates["LANGS"]["#"]["LANG"]) || !is_array($arLangsUpdates["LANGS"]["#"]["LANG"]) || count($arLangsUpdates["LANGS"]["#"]["LANG"])<=0):?> <p><center><font class="errortext"><?= GetMessage("SUP_LSTEP2_NO_LANGS") ?></font></center> <?endif;?> <table border="0" align="center" width="95%"> <tr> <td align="left"> <form method="post" action="sysupdate.php" onsubmit="return ValidateForm(this);"> <input type="submit" name="load_button" id="load_button" value="<?= GetMessage("SUP_LSTEP2_LOAD_BTN") ?>" disabled> <input type="hidden" name="load_langs" id="load_langs" value=""> <input type="hidden" name="lang" value="<?= htmlspecialchars($lang) ?>"> <input type="hidden" name="STEP" value="3"> <input type="hidden" name="UNIID" value="<?echo md5(time());?>"> <input type="hidden" name="TYPE" value="LANGS"> </form> </td> </tr> </table> <script language="javascript"> var arLangs = new Array(); </script> <? if ($arLangsUpdates && isset($arLangsUpdates["LANGS"]) && is_array($arLangsUpdates["LANGS"]["#"]["LANG"]) && count($arLangsUpdates["LANGS"]["#"]["LANG"])>0) { ?> <table border="0" align="center" width="95%"> <tr> <td align="left"> <font class="text"> <? $strPHPDateFormat = CUpdateSystem::GetDateFormat(false); $strLangsHTML1 = ""; $strLangsHTML2 = ""; for ($i = 0; $i < count($arLangsUpdates["LANGS"]["#"]["LANG"]); $i++) { ?> <script language="javascript"> arLangs[<?= $i ?>] = Array('<?= $arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["ID"] ?>', 'N'); </script> <? $dDate = mktime(0, 0, 0, substr($arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["DATE"], 4, 2), substr($arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["DATE"], 6, 2), substr($arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["DATE"], 0, 4)); $strLID = $arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["ID"]; if ($arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["TYPE"]=="INST") { $strLangsHTML1 .= "<input type=\"checkbox\" name=\"load_lang_cbox_".$i."\" id=\"load_lang_cbox_".$i."\" value=\"".$strLID."\" OnClick=\"LangClick(this, ".$i.")\"> "; $strLangsHTML1 .= "<b><label for=\"load_lang_cbox_".$i."\">[".htmlspecialchars($strLID)."] "; $strLangsHTML1 .= htmlspecialchars($arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["NAME"])." "; $strLangsHTML1 .= "(".GetMessage("SUP_LSTEP2_FROM")." ".Date($strPHPDateFormat, $dDate).")</label></b><br>"; } else { $strLangsHTML2 .= "<input type=\"checkbox\" name=\"load_lang_cbox_".$i."\" id=\"load_lang_cbox_".$i."\" value=\"".$strLID."\" OnClick=\"LangClick(this, ".$i.")\"> "; $strLangsHTML2 .= "<label for=\"load_lang_cbox_".$i."\">[".htmlspecialchars($strLID)."] "; $strLangsHTML2 .= htmlspecialchars($arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["NAME"])." "; $strLangsHTML2 .= "(".GetMessage("SUP_LSTEP2_FROM")." ".Date($strPHPDateFormat, $dDate).")</label><br>"; } } if (strlen($strLangsHTML1)>0) { ?> <hr align="left" width="98%" size="1" color="#CCCCCC"> <b><?= GetMessage("SUP_LSTEP2_INST") ?>:</b><br><br> <? echo $strLangsHTML1; echo "<br><br>"; } if (strlen($strLangsHTML2)>0) { ?> <hr align="left" width="98%" size="1" color="#CCCCCC"> <?= GetMessage("SUP_LSTEP2_OTHER") ?>:<br><br> <? echo $strLangsHTML2; } ?> </font> </td> </tr> </table> <? } ?> <script language="javascript"> var ns4 = (document.layers) ? true : false; var ie4 = (document.all) ? true : false; var oLoadLangs = (ie4) ? document.all['load_langs'] : document.getElementById('load_langs'); var oLoadButton = (ie4) ? document.all['load_button'] : document.getElementById('load_button'); var totalNumUpd = 0; function ValidateForm(form) { oLoadButton.disabled = true; return true; } function MakeLoadLangsList() { var strLoadLangsUpd_tmp = ""; for (i = 0; i < arLangs.length; i++) { if (arLangs[i][1]=="Y") { if (strLoadLangsUpd_tmp.length>0) strLoadLangsUpd_tmp = strLoadLangsUpd_tmp + ","; strLoadLangsUpd_tmp = strLoadLangsUpd_tmp + arLangs[i][0]; } } return strLoadLangsUpd_tmp; } function LangClick(elem, ind) { if (elem.checked) { arLangs[ind][1] = "Y"; oLoadLangs.value = MakeLoadLangsList(); totalNumUpd = totalNumUpd + 1; } else { arLangs[ind][1] = "N"; oLoadLangs.value = MakeLoadLangsList(); totalNumUpd = totalNumUpd - 1; } if (totalNumUpd<=0) { oLoadButton.disabled = true; } else { oLoadButton.disabled = false; } } </script> <? } /**********************************************************************/ /****** �� 3 /�����/ ********************************************/ /**********************************************************************/ if ($TYPE=="LANGS" && $STEP==3 && $MAIN_RIGHT=="W") { if (strlen($strErrorMessage)>0) { ?><font class="errortext"><?= $strErrorMessage ?></font><br><br><? } // ���� ����� ����� � ������� if ($arLangsUpdates!==false && isset($arLangsUpdates["ERROR"]) && count($arLangsUpdates["ERROR"])>0) { for ($i = 0; $i < count($arLangsUpdates["ERROR"]); $i++) { ?><font class="errortext"> <?if (strlen($arLangsUpdates["ERROR"][$i]["@"]["TYPE"])>0):?> [<?= $arLangsUpdates["ERROR"][$i]["@"]["TYPE"] ?>] <?endif;?> <?= $arLangsUpdates["ERROR"][$i]["#"] ?></font><br><? } ?><br><? } ?> <font class="text"> <?= GetMessage("SUP_STEP4_UPD_PROMT") ?> <br><br> <? if ($arLangsUpdates && isset($arLangsUpdates["LANGS"]) && is_array($arLangsUpdates["LANGS"]["#"]["LANG"]) && count($arLangsUpdates["LANGS"]["#"]["LANG"])>0) { $strSuccessLangs = ""; $strErrorLangs = ""; $strNoneLangs = ""; $strPHPDateFormat = CUpdateSystem::GetDateFormat(false); for ($i = 0; $i < count($arLangsUpdates["LANGS"]["#"]["LANG"]); $i++) { if (array_key_exists($arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["ID"], $arErrorLangs)) { $strErrorLangs .= "<b>[".$arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["ID"]."] ".$arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["NAME"]."</b><br>"; $strErrorLangs .= "<i>".$arErrorLangs[$arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["ID"]]."</i><br>"; $dDate = mktime(0, 0, 0, substr($arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["DATE"], 4, 2), substr($arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["DATE"], 6, 2), substr($arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["DATE"], 0, 4)); CUpdateSystem::AddMessage2Log( str_replace("#DATE#", Date($strPHPDateFormat, $dDate), str_replace("#LANG#", $arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["NAME"]." (".$arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["ID"].")", GetMessage("SUP_LSTEP3_UPD_LOG")))." ". $arErrorLangs[$arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["ID"]], "UPD_ERROR"); } elseif (array_key_exists($arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["ID"], $arSuccessLangs)) { $strSuccessLangs .= "<b>[".$arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["ID"]."] ".$arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["NAME"]."</b><br>"; $dDate = mktime(0, 0, 0, substr($arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["DATE"], 4, 2), substr($arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["DATE"], 6, 2), substr($arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["DATE"], 0, 4)); CUpdateSystem::AddMessage2Log( str_replace("#DATE#", Date($strPHPDateFormat, $dDate), str_replace("#LANG#", $arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["NAME"]." (".$arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["ID"].")", GetMessage("SUP_LSTEP3_UPD_LOG"))), "UPD_SUCCESS"); } else { $strNoneLangs .= "<b>[".$arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["ID"]."] ".$arLangsUpdates["LANGS"]["#"]["LANG"][$i]["@"]["NAME"]."</b><br>"; } } if (strlen($strSuccessLangs)>0) { ?><?= GetMessage("SUP_LSTEP3_SUCCESS") ?>:<br><br><? echo $strSuccessLangs; echo "<br><br>"; } if (strlen($strErrorLangs)>0) { ?><?= GetMessage("SUP_LSTEP3_ERROR") ?>:<br><br><? echo $strErrorLangs; echo "<br><br>"; } if (strlen($strNoneLangs)>0) { ?><?= GetMessage("SUP_LSTEP3_NONE") ?>:<br><br><? echo $strNoneLangs; echo "<br><br>"; } } ?> <br> <a href="sysupdate.php?TYPE=HISTORY&lang=<?= LANG ?>"><?= GetMessage("SUP_HISTORY_LINK") ?></a><br><br> <a href="sysupdate.php?STEP=1&TYPE=UPDATE&lang=<?= LANG ?>"><< <?= GetMessage("SUP_MAIN_PAGE") ?></a> </font> <? CUpdateSystem::EraseOldFolders(2); } /**********************************************************************/ /****** ����� ���� /�����/ **************************************/ /**********************************************************************/ /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ /*@@@@@@@@@ ����� ������ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ /**********************************************************************/ /****** �� 2 /����/ ********************************************/ /**********************************************************************/ if ($TYPE=="HELP" && $STEP==2 && $MAIN_RIGHT=="W") { if (strlen($strErrorMessage)>0) { ?><font class="errortext"><?= $strErrorMessage ?></font><br><br><? } // ���� ����� ����� � ������� if ($arHelpUpdates!==false && isset($arHelpUpdates["ERROR"]) && count($arHelpUpdates["ERROR"])>0) { for ($i = 0; $i < count($arHelpUpdates["ERROR"]); $i++) { ?><font class="errortext"> <?if (strlen($arHelpUpdates["ERROR"][$i]["@"]["TYPE"])>0):?> [<?= $arHelpUpdates["ERROR"][$i]["@"]["TYPE"] ?>] <?endif;?> <?= $arHelpUpdates["ERROR"][$i]["#"] ?></font><br><? } ?><br><? } ?> <font class="text"> <a href="sysupdate.php?STEP=1&TYPE=UPDATE&lang=<?= LANG ?>"><< <?= GetMessage("SUP_MAIN_PAGE") ?></a><br><br> <?= GetMessage("SUP_HSTEP2_PROMT") ?> </font> <?if (!$arHelpUpdates || !isset($arHelpUpdates["HELPS"]) || !isset($arHelpUpdates["HELPS"]["#"]["HELP"]) || !is_array($arHelpUpdates["HELPS"]["#"]["HELP"]) || count($arHelpUpdates["HELPS"]["#"]["HELP"])<=0):?> <p><center><font class="errortext"><?= GetMessage("SUP_HSTEP2_NO_UPDS") ?></font></center> <?endif;?> <table border="0" align="center" width="95%"> <tr> <td align="left"> <form method="post" action="sysupdate.php" onsubmit="return ValidateForm(this);"> <input type="submit" name="load_button" id="load_button" value="<?= GetMessage("SUP_HSTEP2_LOAD_BTN") ?>" disabled> <input type="hidden" name="load_help" id="load_help" value=""> <input type="hidden" name="lang" value="<?= htmlspecialchars($lang) ?>"> <input type="hidden" name="STEP" value="3"> <input type="hidden" name="UNIID" value="<?echo md5(time());?>"> <input type="hidden" name="TYPE" value="HELP"> </form> </td> </tr> </table> <? if ($arHelpUpdates && isset($arHelpUpdates["HELPS"]) && is_array($arHelpUpdates["HELPS"]["#"]["HELP"]) && count($arHelpUpdates["HELPS"]["#"]["HELP"])>0) { ?> <table border="0" align="center" width="95%"> <tr> <td align="left"> <font class="text"> <? $strPHPDateFormat = CUpdateSystem::GetDateFormat(false); $strHelpsHTML1 = ""; $strHelpsHTML2 = ""; for ($i = 0; $i < count($arHelpUpdates["HELPS"]["#"]["HELP"]); $i++) { $dDate = mktime(0, 0, 0, substr($arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["DATE"], 4, 2), substr($arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["DATE"], 6, 2), substr($arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["DATE"], 0, 4)); $strLID = $arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["ID"]; if ($arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["TYPE"]=="INST") { $strHelpsHTML1 .= "<input type=\"radio\" name=\"load_lang_rd\" id=\"load_lang_rd_".$i."\" value=\"".$strLID."\" OnClick=\"HelpClick(this)\"> "; $strHelpsHTML1 .= "<b><label for=\"load_lang_rd_".$i."\">[".htmlspecialchars($strLID)."] "; $strHelpsHTML1 .= htmlspecialchars($arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["NAME"])." "; $strHelpsHTML1 .= "(".GetMessage("SUP_LSTEP2_FROM")." ".Date($strPHPDateFormat, $dDate).")</label></b><br>"; } else { $strHelpsHTML2 .= "<input type=\"radio\" name=\"load_lang_rd\" id=\"load_lang_rd_".$i."\" value=\"".$strLID."\" OnClick=\"HelpClick(this)\"> "; $strHelpsHTML2 .= "<label for=\"load_lang_rd_".$i."\">[".htmlspecialchars($strLID)."] "; $strHelpsHTML2 .= htmlspecialchars($arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["NAME"])." "; $strHelpsHTML2 .= "(".GetMessage("SUP_LSTEP2_FROM")." ".Date($strPHPDateFormat, $dDate).")</label><br>"; } } if (strlen($strHelpsHTML1)>0) { ?> <hr align="left" width="98%" size="1" color="#CCCCCC"> <b><?= GetMessage("SUP_HSTEP2_INST") ?>:</b><br><br> <? echo $strHelpsHTML1; echo "<br><br>"; } if (strlen($strHelpsHTML2)>0) { ?> <hr align="left" width="98%" size="1" color="#CCCCCC"> <?= GetMessage("SUP_HSTEP2_OTHER") ?>:<br><br> <? echo $strHelpsHTML2; } ?> </font> </td> </tr> </table> <? } ?> <script language="javascript"> var ns4 = (document.layers) ? true : false; var ie4 = (document.all) ? true : false; var oLoadHelps = (ie4) ? document.all['load_help'] : document.getElementById('load_help'); var oLoadButton = (ie4) ? document.all['load_button'] : document.getElementById('load_button'); function ValidateForm(form) { oLoadButton.disabled = true; return true; } function HelpClick(elem) { elem.checked = true; oLoadHelps.value = elem.value; oLoadButton.disabled = false; } </script> <? } /**********************************************************************/ /****** �� 3 /����/ ********************************************/ /**********************************************************************/ if ($TYPE=="HELP" && $STEP==3 && $MAIN_RIGHT=="W") { if (strlen($strErrorMessage)>0) { ?><font class="errortext"><?= $strErrorMessage ?></font><br><br><? } // ���� ����� ����� � ������� if ($arHelpUpdates!==false && isset($arHelpUpdates["ERROR"]) && count($arHelpUpdates["ERROR"])>0) { for ($i = 0; $i < count($arHelpUpdates["ERROR"]); $i++) { ?><font class="errortext"> <?if (strlen($arHelpUpdates["ERROR"][$i]["@"]["TYPE"])>0):?> [<?= $arHelpUpdates["ERROR"][$i]["@"]["TYPE"] ?>] <?endif;?> <?= $arHelpUpdates["ERROR"][$i]["#"] ?></font><br><? } ?><br><? } ?> <font class="text"> <?= GetMessage("SUP_STEP4_UPD_PROMT") ?> <br><br> <? if ($arHelpUpdates && isset($arHelpUpdates["HELPS"]) && is_array($arHelpUpdates["HELPS"]["#"]["HELP"]) && count($arHelpUpdates["HELPS"]["#"]["HELP"])>0) { $strPHPDateFormat = CUpdateSystem::GetDateFormat(false); for ($i = 0; $i < count($arHelpUpdates["HELPS"]["#"]["HELP"]); $i++) { if (array_key_exists($arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["ID"], $arErrorHelp)) { $dDate = mktime(0, 0, 0, substr($arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["DATE"], 4, 2), substr($arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["DATE"], 6, 2), substr($arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["DATE"], 0, 4)); echo str_replace("#DATE#", Date($strPHPDateFormat, $dDate), str_replace("#HELP#", $arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["NAME"]." (".$arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["ID"].")", GetMessage("SUP_HSTEP3_UPD_ERR"))); ?> <br> <i><?= $arErrorHelp[$arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["ID"]] ?></i> <br><br> <? CUpdateSystem::AddMessage2Log( str_replace("#DATE#", Date($strPHPDateFormat, $dDate), str_replace("#HELP#", $arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["NAME"]." (".$arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["ID"].")", GetMessage("SUP_HSTEP3_UPD_LOG")))." ". $arErrorHelp[$arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["ID"]], "UPD_ERROR"); } elseif (array_key_exists($arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["ID"], $arSuccessHelp)) { $dDate = mktime(0, 0, 0, substr($arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["DATE"], 4, 2), substr($arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["DATE"], 6, 2), substr($arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["DATE"], 0, 4)); echo str_replace("#DATE#", Date($strPHPDateFormat, $dDate), str_replace("#HELP#", $arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["NAME"]." (".$arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["ID"].")", GetMessage("SUP_HSTEP3_UPD_SUC"))); ?> <br><br> <? CUpdateSystem::AddMessage2Log( str_replace("#DATE#", Date($strPHPDateFormat, $dDate), str_replace("#HELP#", $arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["NAME"]." (".$arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["ID"].")", GetMessage("SUP_HSTEP3_UPD_LOG"))), "UPD_SUCCESS"); } else { echo str_replace("#HELP#", $arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["NAME"]." (".$arHelpUpdates["HELPS"]["#"]["HELP"][$i]["@"]["ID"].")", GetMessage("SUP_HSTEP3_UPD_NONE")); ?> <br><br> <? } } } ?> <br><br> <br> <a href="sysupdate.php?TYPE=HISTORY&lang=<?= LANG ?>"><?= GetMessage("SUP_HISTORY_LINK") ?></a><br><br> <a href="sysupdate.php?STEP=1&TYPE=UPDATE&lang=<?= LANG ?>"><< <?= GetMessage("SUP_MAIN_PAGE") ?></a> </font> <? CUpdateSystem::EraseOldFolders(2); } /**********************************************************************/ /****** ����� ���� /����/ **************************************/ /**********************************************************************/ /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ /*@@@@@@@@@ ����� ������� @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ /**********************************************************************/ /****** ������� ***************************************************/ /**********************************************************************/ if ($TYPE=="HISTORY") { ?> <font class="text"> <a href="sysupdate.php?STEP=1&TYPE=UPDATE&lang=<?= LANG ?>"><< <?= GetMessage("SUP_MAIN_PAGE") ?></a><br><br> <?= GetMessage("SUP_HIST_PROMT") ?> <br><br> <? $iMaxNumRecs = 20; $arLogRecs = array(); if (file_exists($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/updater.log") && is_file($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/updater.log") && is_readable($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/updater.log")) { $logf = fopen($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/updater.log", "r"); while (!feof($logf)) { $buffer = fgets($logf, 8192); if (substr($buffer, strlen("0000-00-00 00:00:00 "), strlen("- UPD_SUCCESS -"))=="- UPD_SUCCESS -") { array_unshift( $arLogRecs, array( "S", substr($buffer, 0, strlen("0000-00-00 00:00:00")), substr($buffer, strlen("0000-00-00 00:00:00 - UPD_SUCCESS - ")) )); if (count($arLogRecs)>$iMaxNumRecs) array_splice($arLogRecs, $iMaxNumRecs); } elseif (substr($buffer, strlen("0000-00-00 00:00:00 "), strlen("- UPD_ERROR -"))=="- UPD_ERROR -") { array_unshift( $arLogRecs, array( "E", substr($buffer, 0, strlen("0000-00-00 00:00:00")), substr($buffer, strlen("0000-00-00 00:00:00 - UPD_ERROR - ")) )); if (count($arLogRecs)>$iMaxNumRecs) array_splice($arLogRecs, $iMaxNumRecs); } elseif (substr($buffer, strlen("0000-00-00 00:00:00 "), strlen("- UPD_NOTE -"))=="- UPD_NOTE -") { array_unshift( $arLogRecs, array( "N", substr($buffer, 0, strlen("0000-00-00 00:00:00")), substr($buffer, strlen("0000-00-00 00:00:00 - UPD_NOTE - ")) )); if (count($arLogRecs)>$iMaxNumRecs) array_splice($arLogRecs, $iMaxNumRecs); } } fclose($logf); } if (count($arLogRecs)>0) { ?> <script language="JavaScript"> <!-- <? for ($i = 0; $i < count($arLogRecs); $i++) { $strDetDescr = ""; $arLogRecs[$i][3] = "N"; $pos1 = strpos($arLogRecs[$i][2], "<br>"); if ($pos1!==false) { $strDetDescr = Trim(substr($arLogRecs[$i][2], $pos1 + 4)); $arLogRecs[$i][2] = substr($arLogRecs[$i][2], 0, $pos1); $arLogRecs[$i][3] = "Y"; } ?> DescrDetList_<?echo $i ?> = "<?= $strDetDescr ?>"; <? } ?> function DescrDetListWindow(sModule) { var left, top; if('['+typeof(window.event)+']' == "[object]") { top = (window.event.screenY+10); left = (window.event.screenX-125); } else { top = Math.floor((screen.height - 50)/2-14); left = Math.floor((screen.width - 250)/2-5); } var wnd = window.open('','','scrollbars=yes,resizable=yes,width=300,height=200,left='+left+',top='+top); wnd.document.write('<html><head><title><?echo GetMessage("HINT_WIND_TITLE") ?></title>\n'); wnd.document.write('<script language="JavaScript">\n'); wnd.document.write('<!'+'--\n'); wnd.document.write('function KeyPress()\n'); wnd.document.write('{\n'); wnd.document.write('\tif(window.event.keyCode == 27)\n'); wnd.document.write('\t\twindow.close();\n'); wnd.document.write('}\n'); wnd.document.write('//-'+'->\n'); wnd.document.write('</script>\n'); wnd.document.write('<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"></head>\n'); wnd.document.write('<body bgcolor="#FFFFFF" text="#000000" onKeyPress="KeyPress()">\n'); wnd.document.write('<font face="Arial,helvetica" size="-1">'); wnd.document.write(eval("DescrDetList_"+sModule)); wnd.document.write('</font>'); wnd.document.write('\n</body></html>'); } //--> </script> <table border="0" cellspacing="1" cellpadding="2" width="99%"> <tr> <td align="center" class="tablehead1"><font class="tableheadtext"><?= GetMessage("SUP_HIST_DATE") ?></font></td> <td align="center" class="tablehead2"><font class="tableheadtext"><?= GetMessage("SUP_HIST_DESCR") ?></font></td> <td align="center" class="tablehead3"><font class="tableheadtext"><?= GetMessage("SUP_HIST_STATUS") ?></font></td> </tr> <? for ($i = 0; $i < count($arLogRecs); $i++) { ?> <tr> <td align="center" class="tablebody1"> <font class="tablebodytext"><?= $arLogRecs[$i][1] ?></font> </td> <td align="left" class="tablebody2"> <font class="tablebodytext"> <?= $arLogRecs[$i][2] ?> <?if ($arLogRecs[$i][3]=="Y"):?> <a href="javascript:void(0)" onClick="DescrDetListWindow('<?echo $i ?>')" title="<?echo GetMessage("HINT_WIND_EXEC_ALT")?>"><?echo GetMessage("HINT_WIND_EXEC")?></a> <?endif;?> </font> </td> <td align="center" class="tablebody3"> <font class="tablebodytext"><? if ($arLogRecs[$i][0]=="S") echo GetMessage("SUP_HIST_SUCCESS"); elseif ($arLogRecs[$i][0]=="E") echo GetMessage("SUP_HIST_ERROR"); elseif ($arLogRecs[$i][0]=="N") echo GetMessage("SUP_HIST_NOTES"); ?></font> </td> </tr> <? } ?> </table> <? } else { ?><b><?= GetMessage("SUP_HIST_EMPTY_LOG") ?></b><br><? } ?> <br><br> <b><?= GetMessage("SUP_HIST_PNOTES1") ?></b> <?= GetMessage("SUP_HIST_PNOTES2") ?> </font> <? } /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ /*@@@@@@@@@ ����� ��������� ����� @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ /**********************************************************************/ /****** ��������� ����� *****************************************/ /**********************************************************************/ if ($TYPE=="ADD_SITE" && $STEP==1 && $MAIN_RIGHT=="W") { if (strlen($strErrorMessage)>0) { ?><font class="errortext"><?= $strErrorMessage ?></font><br><br><? } ?> <font class="text"> <a href="sysupdate.php?STEP=1&TYPE=UPDATE&lang=<?= LANG ?>"><< <?= GetMessage("SUP_MAIN_PAGE") ?></a><br><br> <?= GetMessage("SUP_ADD_CHECK_PROMT") ?>: <form method="POST" action="sysupdate.php"> <center> <input type="text" name="CHECK" class="typeinput" VALUE="" size="50"> <input type="hidden" name="TYPE" VALUE="ADD_SITE"> <input type="hidden" name="STEP" VALUE="2"> <input type="hidden" name="lang" VALUE="<?= htmlspecialchars($lang) ?>"> <input class="button" type="submit" value="<?= GetMessage("SUP_AD_CHECK_DO") ?>"> </center> </form> </font> <? } require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php"); ?>