| Current Path : /var/www/element/data/www/greenpr.ru/bitrix/modules/main/admin/ |
| Current File : /var/www/element/data/www/greenpr.ru/bitrix/modules/main/admin/file_checker.php |
<?
@set_time_limit(10000);
ini_set("track_errors", "1");
ignore_user_abort(true);
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
IncludeModuleLangFile(__FILE__);
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/prolog.php");
define("HELP_FILE", "utilities/file_checker.php");
if(!$USER->CanDoOperation('view_other_settings'))
$APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
$isAdmin = $USER->CanDoOperation('edit_other_settings');
@set_time_limit(10000);
$serverFileLogName = "/serverfilelog.dat";
$serverFileLogPath = $_SERVER["DOCUMENT_ROOT"]."/bitrix/modules";
$serverFileLog = $serverFileLogPath.$serverFileLogName;
$serverFileLogNameError = "/serverfilerr.dat";
$serverFileLogError = $serverFileLogPath.$serverFileLogNameError;
$errorMessage = "";
$okMessage = "";
$message = null;
$INTEGRITY_VALUE = "";
if (defined("INTEGRITY_VALUE"))
$INTEGRITY_VALUE = INTEGRITY_VALUE;
if (!function_exists("file_get_contents"))
{
function file_get_contents($filename)
{
$fd = fopen("$filename", "rb");
$content = fread($fd, filesize($filename));
fclose($fd);
return $content;
}
}
function fileCRC($path)
{
$fileString = file_get_contents($path);
$crc = crc32($fileString);
return sprintf("%u", $crc);
}
function CRCCryptData($data, $pwdString, $type)
{
$type = strtoupper($type);
if ($type != "D")
$type = "E";
$res_data = "";
if ($type == 'D')
$data = urldecode($data);
$key[] = "";
$box[] = "";
$temp_swap = "";
$pwdLength = strlen($pwdString);
for ($i = 0; $i <= 255; $i++)
{
$key[$i] = ord(substr($pwdString, ($i % $pwdLength), 1));
$box[$i] = $i;
}
$x = 0;
for ($i = 0; $i <= 255; $i++)
{
$x = ($x + $box[$i] + $key[$i]) % 256;
$temp_swap = $box[$i];
$box[$i] = $box[$x];
$box[$x] = $temp_swap;
}
$temp = "";
$k = "";
$cipherby = "";
$cipher = "";
$a = 0;
$j = 0;
for ($i = 0; $i < strlen($data); $i++)
{
$a = ($a + 1) % 256;
$j = ($j + $box[$a]) % 256;
$temp = $box[$a];
$box[$a] = $box[$j];
$box[$j] = $temp;
$k = $box[(($box[$a] + $box[$j]) % 256)];
$cipherby = ord(substr($data, $i, 1)) ^ $k;
$cipher .= chr($cipherby);
}
if ($type == 'D')
$res_data = urldecode(urlencode($cipher));
else
$res_data = urlencode($cipher);
return $res_data;
}
function CRCPrepareFileInfo($path)
{
$path = str_replace("\\", "/", $path);
$fileSize = filesize($_SERVER["DOCUMENT_ROOT"].$path);
$fileCRC = fileCRC($_SERVER["DOCUMENT_ROOT"].$path);
return "*".$path."*".$fileSize."*".$fileCRC;
}
function CRCGetDirRec($path, $arExcept, &$hFile)
{
$path = str_replace("\\", "/", $path);
if ($handle = @opendir($_SERVER["DOCUMENT_ROOT"].$path))
{
while (($file = readdir($handle)) !== false)
{
if ($file == "." || $file == "..")
continue;
$bExcept = False;
for ($i = 0; $i < count($arExcept); $i++)
{
if (
strlen($path."/".$file) >= strlen($arExcept[$i])
&& substr($path."/".$file, 0, strlen($arExcept[$i])) == $arExcept[$i])
{
$bExcept = True;
break;
}
}
if ($bExcept)
continue;
if (is_dir($_SERVER["DOCUMENT_ROOT"].$path."/".$file))
{
CRCGetDirRec($path."/".$file, $arExcept, $hFile);
}
else
{
fwrite($hFile, CRCPrepareFileInfo($path."/".$file)."\n");
}
}
closedir($handle);
}
return;
}
function CRCVerifyDirRec($path, $arExcept, &$hFileError, &$logData)
{
$path = str_replace("\\", "/", $path);
if ($handle = @opendir($_SERVER["DOCUMENT_ROOT"].$path))
{
while (($file = readdir($handle)) !== false)
{
if ($file == "." || $file == "..")
continue;
$bExcept = False;
for ($i = 0; $i < count($arExcept); $i++)
{
if (
strlen($path."/".$file) >= strlen($arExcept[$i])
&& substr($path."/".$file, 0, strlen($arExcept[$i])) == $arExcept[$i])
{
$bExcept = True;
break;
}
}
if ($bExcept)
continue;
if (is_dir($_SERVER["DOCUMENT_ROOT"].$path."/".$file))
{
CRCVerifyDirRec($path."/".$file, $arExcept, $hFileError, $logData);
}
else
{
if (strpos($logData, "*".$path."/".$file."*") === false)
fwrite($hFileError, str_replace("#FILE#", $path."/".$file, GetMessage("MFCW_C_FILE_NEW"))."\n");
}
}
closedir($handle);
}
return;
}
function CRCVerify($path, $arExcept, $logName, &$hFileError)
{
$hFile = fopen($logName, "r");
while (!feof($hFile))
{
$buffer = fgets($hFile, 4096);
if (strlen($buffer) > 0)
{
$arBuffer = explode("*", $buffer);
if (count($arBuffer) < 4)
{
$errorCnt++;
fwrite($hFileError, str_replace("#BUF#", $buffer, GetMessage("MFCW_C_STR_BAD"))."\n");
}
else
{
$bShouldCheck = False;
if (strlen($path) <= 0
|| substr($arBuffer[1], 0, strlen($path)) == $path)
{
$bShouldCheck = True;
for ($i = 0; $i < count($arExcept); $i++)
{
if (
strlen($arBuffer[1]) >= strlen($arExcept[$i])
&& substr($arBuffer[1], 0, strlen($arExcept[$i])) == $arExcept[$i])
{
$bShouldCheck = False;
break;
}
}
}
if ($bShouldCheck)
{
if (!file_exists($_SERVER["DOCUMENT_ROOT"].$arBuffer[1]))
{
$errorCnt++;
fwrite($hFileError, str_replace("#FILE#", $_SERVER["DOCUMENT_ROOT"].$arBuffer[1], GetMessage("MFCW_C_NO_FILE"))."\n");
}
else
{
$fs = filesize($_SERVER["DOCUMENT_ROOT"].$arBuffer[1]);
if ($fs != $arBuffer[2])
{
$errorCnt++;
fwrite($hFileError, str_replace("#NS#", $fs, str_replace("#OS#", $arBuffer[2], str_replace("#FILE#", $_SERVER["DOCUMENT_ROOT"].$arBuffer[1], GetMessage("MFCW_C_FILE_SIZE"))))."\n");
}
else
{
$crc = fileCRC($_SERVER["DOCUMENT_ROOT"].$arBuffer[1]);
if ($crc != Trim($arBuffer[3]))
{
$errorCnt++;
fwrite($hFileError, str_replace("#NS#", $crc, str_replace("#OS#", Trim($arBuffer[3]), str_replace("#FILE#", $_SERVER["DOCUMENT_ROOT"].$arBuffer[1], GetMessage("MFCW_C_FILE_CRC"))))."\n");
}
else
{
$goodCnt++;
}
}
}
}
}
}
}
fclose($hFile);
$logData = file_get_contents($logName);
CRCVerifyDirRec($path, $arExcept, $hFileError, $logData);
}
function GetIntegrityParams($data, $password)
{
if (strlen($data) <= 0)
return False;
$dataNew = CRCCryptData($data, $password, "D");
$arDataNew = explode("*", $dataNew);
if (count($arDataNew) != 2)
return False;
return array("CRC" => $arDataNew[0], "KEY" => $arDataNew[1]);
}
function SetIntegrityParams($arData, $password)
{
if (!is_array($arData) || !isset($arData["CRC"]) || !isset($arData["KEY"]))
return False;
$data = $arData["CRC"]."*".$arData["KEY"];
$dataNew = CRCCryptData($data, $password, "E");
return $dataNew;
}
if ($REQUEST_METHOD == "GET" && $get_data_file == "Y" && $isAdmin && check_bitrix_sessid())
{
$bUseCompression = (function_exists("gzcompress") ? True : False);
$streamFileName = $serverFileLog;
if ($bUseCompression)
{
$streamFileName = $serverFileLog."2";
$zp_file = gzopen($serverFileLog."2", "wb9f");
$hFile = fopen($serverFileLog, "rb");
while (!feof($hFile))
{
$buffer = fgets($hFile, 4096);
if (strlen($buffer) > 0)
gzwrite($zp_file, $buffer);
}
gzclose($zp_file);
fclose($hFile);
}
$filesize = filesize($streamFileName);
header($_SERVER["SERVER_PROTOCOL"]." 200 OK");
header("Content-Type: application/force-download; name=\"".substr($serverFileLogName, 1)."\"");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".$filesize);
header("Content-Disposition: attachment; filename=\"".substr($serverFileLogName, 1)."\"");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Expires: 0");
header("Pragma: public");
$p = file_get_contents($streamFileName);
echo $p;
flush();
if ($bUseCompression)
{
if (!@unlink($serverFileLog."2"))
$errorMessage .= str_replace("#FILE#", $serverFileLog."2", GetMessage("MFCW_CANT_DEL_FILE"))."<br>";
}
}
if ($REQUEST_METHOD == "GET" && $delete_errlog == "Y" && $isAdmin && check_bitrix_sessid())
{
if (!@unlink($serverFileLogError))
$errorMessage .= str_replace("#FILE#", $serverFileLogError, GetMessage("MFCW_CANT_DEL_LOG"))."<br>";
}
if ($REQUEST_METHOD == "POST" && $action == "load" && $isAdmin && check_bitrix_sessid())
{
if (!isset($_FILES["crc_file"]) || !is_uploaded_file($_FILES["crc_file"]["tmp_name"]))
$errorMessage .= GetMessage("MFCW_FILE_NOT_LOAD")."<br>";
if (strlen($errorMessage) <= 0)
{
$bUseCompression = (function_exists("gzcompress") ? True : False);
if ($bUseCompression && $crc_unpack_file == "Y")
{
$hFile = fopen($serverFileLog, "wb");
$zp_file = gzopen($_FILES["crc_file"]["tmp_name"], "rb9f");
while (!gzeof($zp_file))
{
$buffer = gzread($zp_file, 4096);
if (strlen($buffer) > 0)
fwrite($hFile, $buffer);
}
gzclose($zp_file);
fclose($hFile);
$okMessage .= GetMessage("MFCW_FILE_LOAD_SUCCESS")."<br>";
}
else
{
if (copy($_FILES["crc_file"]["tmp_name"], $serverFileLog))
$okMessage .= GetMessage("MFCW_FILE_LOAD_SUCCESS")."<br>";
else
$errorMessage .= GetMessage("MFCW_FILE_CANT_COPY")."<br>";
}
}
}
if ($REQUEST_METHOD == "POST" && $action == "integrity" && $isAdmin && check_bitrix_sessid())
{
if (strlen($crc_password) <= 0)
{
$errorMessage .= GetMessage("MFCW_NO_PASSWORD")."<br>";
$aMsg[] = array("id"=>"crc_password", "text"=>GetMessage("MFCW_NO_PASSWORD"));
}
elseif(strlen($errorMessage) <= 0 && $crc_password_check != $crc_password)
{
$errorMessage .= GetMessage("MFCW_NO_PASSWORD_CONF")."<br>";
$aMsg[] = array("id"=>"crc_password_check", "text"=>GetMessage("MFCW_NO_PASSWORD_CONF"));
$aMsg[] = array("id"=>"crc_password", "text"=>"");
}
if (strlen($errorMessage) <= 0)
{
$bVerify = True;
if (strlen($crc_collect) > 0)
$bVerify = False;
if (!$bVerify)
{
if (strlen($crc_key) <= 0)
{
$errorMessage .= GetMessage("MFCW_NO_NEW_KEY")."<br>";
$aMsg[] = array("id"=>"crc_key", "text"=>GetMessage("MFCW_NO_NEW_KEY"));
}
}
}
if (strlen($errorMessage) <= 0)
{
if (!$bVerify)
{
if ($crc_key == $crc_password)
{
$errorMessage .= GetMessage("MFCW_KEY_PASS")."<br>";
$aMsg[] = array("id"=>"crc_key", "text"=>GetMessage("MFCW_KEY_PASS"));
$aMsg[] = array("id"=>"crc_password", "text"=>"");
}
}
}
if (strlen($errorMessage) <= 0)
{
if ($bVerify)
{
$fileString = file_get_contents(__FILE__);
$fileString = preg_replace("#<"."\?[\s]*define\(\"INTEGRITY_VALUE\",[\s]*\"[^\"]*?\"\);?[\s]*\?".">#i", "", $fileString);
$currentCRC = sprintf("%u", crc32($fileString));
if (strlen($INTEGRITY_VALUE) > 0)
{
if ($arIntegrityParams = GetIntegrityParams($INTEGRITY_VALUE, $crc_password))
{
if ($arIntegrityParams["CRC"] != $currentCRC)
$errorMessage .= GetMessage("MFCW_CRC_CHANGED")."<br>";
else
$okMessage .= str_replace("#KEY#", $arIntegrityParams["KEY"], GetMessage("MFCW_INT_CHECK"))."<br>";
}
else
{
$errorMessage .= GetMessage("MFCW_INT_BAD")."<br>";
}
}
else
{
$errorMessage .= GetMessage("MFCW_INT_NO")."<br>";
}
}
else
{
$fileString = file_get_contents(__FILE__);
$fileString = preg_replace("#<"."\?[\s]*define\(\"INTEGRITY_VALUE\",[\s]*\"[^\"]*?\"\);?[\s]*\?".">#i", "", $fileString);
$currentCRC = sprintf("%u", crc32($fileString));
$data = SetIntegrityParams(
array("CRC" => $currentCRC, "KEY" => $crc_key),
$crc_password
);
$fileString = "<"."?define(\"INTEGRITY_VALUE\",\"".$data."\");?".">".$fileString;
$hFile = fopen(__FILE__, "wb");
fwrite($hFile, $fileString);
fclose($hFile);
$INTEGRITY_VALUE = $data;
$okMessage .= GetMessage("MFCW_KEY_SET")."<br>";
}
}
}
if ($REQUEST_METHOD == "POST" && $action == "check" && $isAdmin && check_bitrix_sessid())
{
if (strlen($crc_password) <= 0)
{
$errorMessage .= GetMessage("MFCW_NO_PASSWORD")."<br>";
$aMsg[] = array("id"=>"crc_password", "text"=>GetMessage("MFCW_NO_PASSWORD"));
}
elseif(strlen($errorMessage) <= 0 && $crc_password_check != $crc_password)
{
$errorMessage .= GetMessage("MFCW_NO_PASSWORD_CONF")."<br>";
$aMsg[] = array("id"=>"crc_password_check", "text"=>GetMessage("MFCW_NO_PASSWORD_CONF"));
$aMsg[] = array("id"=>"crc_password", "text"=>"");
}
if (strlen($errorMessage) <= 0)
{
$crc_kernel = (($crc_kernel == "Y") ? "Y" : "N");
$crc_special = (($crc_special == "Y") ? "Y" : "N");
$crc_public = (($crc_public == "Y") ? "Y" : "N");
if ($crc_kernel != "Y" && $crc_special != "Y" && $crc_public != "Y")
{
$errorMessage = GetMessage("MFCW_NO_AREA")."<br>";
$aMsg[] = array("id"=>"crc_kernel", "text"=>GetMessage("MFCW_NO_AREA"));
$aMsg[] = array("id"=>"crc_public", "text"=>"");
$aMsg[] = array("id"=>"crc_special", "text"=>"");
}
}
if (strlen($errorMessage) <= 0)
{
$bVerify = True;
if (strlen($crc_collect) > 0)
$bVerify = False;
if ($bVerify)
{
if (!file_exists($serverFileLog))
$errorMessage = GetMessage("MFCW_NO_VERIFILE")."<br>";
}
}
if (strlen($errorMessage) <= 0)
{
if ($bVerify)
{
$fileString = file_get_contents($serverFileLog);
$fileStringNew = CRCCryptData($fileString, $crc_password, "D");
if (substr($fileStringNew, 0, 1) == "*")
{
$hFile = fopen($serverFileLog."1", "wb");
fwrite($hFile, $fileStringNew);
fclose($hFile);
}
else
{
$errorMessage .= GetMessage("MFCW_ERR_DECRYPT");
}
}
}
if (strlen($errorMessage) <= 0)
{
$aExceptSpec = array(
BX_ROOT."/modules",
BX_PERSONAL_ROOT."/cache",
BX_PERSONAL_ROOT."/cache_image",
BX_PERSONAL_ROOT."/managed_cache",
BX_PERSONAL_ROOT."/stack_cache",
);
if ($bVerify)
{
$hFileError = fopen($serverFileLogError, "wb");
if ($crc_kernel == "Y")
CRCVerify(BX_ROOT."/modules", array(BX_ROOT."/modules".$serverFileLogName, BX_ROOT."/modules".$serverFileLogName."1", BX_ROOT."/modules".$serverFileLogNameError), $serverFileLog."1", $hFileError);
if ($crc_special == "Y")
{
CRCVerify(BX_ROOT, $aExceptSpec, $serverFileLog."1", $hFileError);
if(BX_PERSONAL_ROOT <> BX_ROOT)
CRCVerify(BX_PERSONAL_ROOT, $aExceptSpec, $serverFileLog."1", $hFileError);
}
if ($crc_public == "Y")
CRCVerify("", array(BX_ROOT, "/upload"), $serverFileLog."1", $hFileError);
fclose($hFileError);
if (!@unlink($serverFileLog."1"))
$errorMessage .= str_replace("#FILE#", $serverFileLog."1", GetMessage("MFCW_CANT_DEL_FILE"))."<br>";
$okMessage .= GetMessage("MFCW_CHECK_FINISH")."<br>";
}
else
{
$hFile = fopen($serverFileLog."1", "w");
if ($crc_kernel == "Y")
CRCGetDirRec(BX_ROOT."/modules", array(BX_ROOT."/modules".$serverFileLogName, BX_ROOT."/modules".$serverFileLogName."1", BX_ROOT."/modules".$serverFileLogNameError), $hFile);
if ($crc_special == "Y")
{
CRCGetDirRec(BX_ROOT, $aExceptSpec, $hFile);
if(BX_PERSONAL_ROOT <> BX_ROOT)
CRCGetDirRec(BX_PERSONAL_ROOT, $aExceptSpec, $hFile);
}
if ($crc_public == "Y")
CRCGetDirRec("", array(BX_ROOT, "/upload"), $hFile);
fclose($hFile);
sleep(3);
$fileString = file_get_contents($serverFileLog."1");
$fileStringNew = CRCCryptData($fileString, $crc_password, "E");
$hFile = fopen($serverFileLog, "wb");
fwrite($hFile, $fileStringNew);
fclose($hFile);
if (!@unlink($serverFileLog."1"))
$errorMessage .= str_replace("#FILE#", $serverFileLog."1", GetMessage("MFCW_CANT_DEL_FILE"))."<br>";
$okMessage .= GetMessage("MFCW_INFO_CHECK")."<br>";
}
}
}
$APPLICATION->SetTitle(GetMessage("MFCW_FILE_TITLE"));
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");
$aTabs = array(
array("DIV" => "edit1", "TAB" => GetMessage("MFCW_TAB_1"), "ICON" => "file_check", "TITLE" => GetMessage("MFCW_FILE_CHECK")),
array("DIV" => "edit2", "TAB" => GetMessage("MFCW_TAB_2"), "ICON" => "file_check", "TITLE" => GetMessage("MFCW_LOAD_VERIFILE_T")),
array("DIV" => "edit3", "TAB" => GetMessage("MFCW_TAB_3"), "ICON" => "file_check", "TITLE" => GetMessage("MFCW_INT_TITLE")),
);
$tabControl = new CAdminTabControl("tabControl", $aTabs);
if(!empty($aMsg))
{
$e = new CAdminException($aMsg);
$APPLICATION->ThrowException($e);
if($e = $APPLICATION->GetException())
{
$message = new CAdminMessage(GetMessage("MFCW_ERROR"), $e);
if($message)
echo $message->Show();
}
}
if(strlen($okMessage)>0)
CAdminMessage::ShowMessage(Array("MESSAGE" =>$okMessage, "TYPE"=>"OK"));
if(strlen($errorMessage)>0 && !$message)
CAdminMessage::ShowMessage($errorMessage);
$tabControl->Begin();
?>
<form method="POST" action="<?echo $APPLICATION->GetCurPage()?>" name="ffile_checker">
<?echo bitrix_sessid_post()?>
<input type="hidden" name="action" value="check">
<input type="hidden" name="lang" value="<?=LANGUAGE_ID?>">
<input type="hidden" name="tabControl_active_tab" value="edit1">
<?
$tabControl->BeginNextTab();
?>
<tr>
<td valign="top" width="30%"><span class="required">*</span><?echo GetMessage("MFCW_PASSWORD")?></td>
<td valign="top" width="70%">
<input type="password" name="crc_password" style="width:80%;"> <?echo BeginNote(); echo GetMessage("MFCW_PASSWORD_HINT");?><br><?echo GetMessage("MFCW_PASSWORD_HINT1"); echo EndNote();?>
</td>
</tr>
<tr>
<td valign="top"><span class="required">*</span><?echo GetMessage("MFCW_PASSWORD_RET")?></td>
<td valign="top">
<input type="password" name="crc_password_check" style="width:80%;">
</td>
</tr>
<tr>
<td valign="top"><span class="required">*</span><?echo GetMessage("MFCW_AREAS")?></td>
<td valign="top"><input type="checkbox" name="crc_kernel" id="id_crc_kernel" value="Y"<?if ($REQUEST_METHOD != "POST" || $crc_kernel == "Y") echo " checked";?>> <label for="id_crc_kernel"><?echo GetMessage("MFCW_KERNEL")?></label><br>
<input type="checkbox" name="crc_special" id="id_crc_special" value="Y"<?if ($crc_special == "Y") echo " checked";?>> <label for="id_crc_special"><?echo GetMessage("MFCW_SLUG")?></label><br>
<input type="checkbox" name="crc_public" id="id_crc_public" value="Y"<?if ($crc_public == "Y") echo " checked";?>> <label for="id_crc_public"><?echo GetMessage("MFCW_PUBLIC")?></label><br>
</td>
</tr>
<tr>
<td colspan="2">
<?if (file_exists($serverFileLog))
{
?><input type="submit"<?if(!$isAdmin) echo " disabled"?> name="crc_verify" value="<?echo GetMessage("MFCW_CHECK_FILES")?>"> <?
}?>
<input type="submit"<?if(!$isAdmin) echo " disabled"?> name="crc_collect" value="<?echo GetMessage("MFCW_INFO_FILES")?>">
</td>
</tr>
<?
$tabControl->EndTab();
?>
</form>
<form method="POST" action="<?echo $APPLICATION->GetCurPage()?>" name="ffile_load" enctype="multipart/form-data">
<?echo bitrix_sessid_post()?>
<input type="hidden" name="action" value="load">
<input type="hidden" name="lang" value="<?=LANGUAGE_ID?>">
<input type="hidden" name="tabControl_active_tab" value="edit2">
<?
$tabControl->BeginNextTab();
if ($REQUEST_METHOD == "POST" && $action == "check" && $bVerify):
?>
<tr><td colspan="2"><textarea name="ta" rows="20" cols="100"><?
$fileString = file_get_contents($serverFileLogError);
if (strlen($fileString) <= 0)
echo GetMessage("MFCW_NO_CHANGES");
else
echo $fileString;
?></textarea><br>
<a href="file_checker.php?lang=<?=LANG?>&delete_errlog=Y&<?echo bitrix_sessid_get()?>" title="<?=GetMessage("MFCW_DEL_LOG")?>"><?echo GetMessage("MFCW_DEL_LOG")?> (<?= $serverFileLogError ?>)</a></td>
</tr>
<?
endif;
?>
<?
if (file_exists($serverFileLog) && $isAdmin)
{
?>
<tr>
<td valign="top" align="left" colspan="2">
<?
echo str_replace("#URL#", "file_checker.php?lang=".LANG."&get_data_file=Y&".bitrix_sessid_get(), str_replace("#FILE#", $serverFileLog, GetMessage("MFCW_CUR_VERIFILE")));
echo GetMessage("MFCW_CUR_VERIFILE_H");
?>
</td>
</tr>
<?
}
?>
<tr>
<td valign="top" width="30%"><span class="required">*</span><?echo GetMessage("MFCW_VERIFILE")?></td>
<td valign="top" width="70%"><input type="hidden" name="MAX_FILE_SIZE" value="1000000000">
<input type="file" name="crc_file" size="40"></td>
</tr>
<?if (function_exists("gzcompress"))
{
?>
<tr>
<td valign="top"><label for="crc_unpack_file"><?echo GetMessage("MFCW_VERIPACK")?></label></td>
<td valign="top"><input type="checkbox" name="crc_unpack_file" value="Y" id="crc_unpack_file"></td>
</tr>
<?
}?>
<tr>
<td colspan="2"><input type="submit"<?if(!$isAdmin) echo " disabled"?> name="crc_load" value="<?echo GetMessage("MFCW_VERILOAD")?>"></td>
</tr>
<?
$tabControl->EndTab();
?>
</form>
<form method="POST" action="<?echo $APPLICATION->GetCurPage()?>" name="ffile_integrity">
<?echo bitrix_sessid_post()?>
<input type="hidden" name="action" value="integrity">
<input type="hidden" name="lang" value="<?=LANGUAGE_ID?>">
<input type="hidden" name="tabControl_active_tab" value="edit3">
<?
$tabControl->BeginNextTab();
if(strlen($INTEGRITY_VALUE) <= 0):
?>
<tr>
<td colspan="2">
<?
CAdminMessage::ShowMessage(GetMessage("MFCW_PROMT_KEY"));
?>
</td>
</tr>
<?
endif;
?>
<tr>
<td valign="top" width="30%"><span class="required">*</span><?echo GetMessage("MFCW_PASSWORD")?><br></td>
<td valign="top" width="70%"><input type="password" name="crc_password" style="width:80%;"><?echo BeginNote().GetMessage("MFCW_INT_PASS")."<br>".GetMessage("MFCW_INT_PASS1").EndNote();?></td>
</tr>
<tr>
<td valign="top"><span class="required">*</span><?echo GetMessage("MFCW_PASSWORD_RET")?></td>
<td valign="top"><input type="password" name="crc_password_check" style="width:80%;"></td>
</tr>
<tr>
<td valign="top"><?if (strlen($INTEGRITY_VALUE) <= 0) echo "<span class=\"required\">*</span>";?><?echo GetMessage("MFCW_INT_KEY")?><br><small><?
if (strlen($INTEGRITY_VALUE) <= 0)
echo "<span class=\"required\">(".GetMessage("MFCW_INT_NO_KEY").")</span>";
else
echo "(".GetMessage("MFCW_INT_HAVE_KEY").")";
?></small></td>
<td valign="top"><input type="text" name="crc_key" style="width:80%;" value=""><?echo BeginNote().GetMessage("MFCW_INT_KEY_HINT").EndNote();?></td>
</tr>
<tr>
<td colspan="2">
<?
if (strlen($INTEGRITY_VALUE) > 0)
{
?><input type="submit"<?if(!$isAdmin) echo " disabled"?> name="crc_verify" value="<?echo GetMessage("MFCW_INT_DO_CHECK")?>"> <?
}
?>
<input type="submit"<?if(!$isAdmin) echo " disabled"?> name="crc_collect" value="<?echo GetMessage("MFCW_INT_DO_SET")?>">
</td>
</tr>
<?
$tabControl->EndTab();
?>
</form>
<?
$tabControl->End();
$tabControl->ShowWarnings("ffile_checker", $message);
$tabControl->ShowWarnings("ffile_integrity", $message);
$legend = GetMessage("MFCW_LEGEND");
if (strlen($legend) > 0)
{
echo BeginNote().$legend.EndNote();
}
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");
?>