/home/bitrix/www/public_html/bitrix/modules/main/include/prolog.php
Не найден
/home/bitrix/www/bitrix/components/bitrix/main.file.input/main.php
Не найден
/home/bitrix/www/bitrix/modules/fileman/admin/fileman_html_editor_action.php
<?
define("NO_KEEP_STATISTIC", "Y");
define("NO_AGENT_STATISTIC","Y");
define("NO_AGENT_CHECK", true);
define("DisableEventsCheck", true);
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
CModule::IncludeModule("fileman");
$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : false;
if ($GLOBALS['USER'] instanceof CUser
&& $GLOBALS['USER']->getId()
&& check_bitrix_sessid())
{
CHTMLEditor::RequestAction($action);
}
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
?>
/home/bitrix/www/bitrix/modules/main/include/prolog_admin_before.php
<?php
require_once(__DIR__."/../bx_root.php");
if (!defined('START_EXEC_PROLOG_BEFORE_1'))
{
define("START_EXEC_PROLOG_BEFORE_1", microtime(true));
}
$GLOBALS["BX_STATE"] = "PB";
unset($_REQUEST["BX_STATE"]);
unset($_GET["BX_STATE"]);
unset($_POST["BX_STATE"]);
unset($_COOKIE["BX_STATE"]);
unset($_FILES["BX_STATE"]);
define("NEED_AUTH", true);
if (isset($_REQUEST['bxpublic']) && $_REQUEST['bxpublic'] == 'Y' && !defined('BX_PUBLIC_MODE'))
define('BX_PUBLIC_MODE', 1);
if (isset($_REQUEST['public']) && $_REQUEST['public'] == 'Y' && !defined("PUBLIC_MODE"))
{
define("PUBLIC_MODE", 1);
if(!defined('BX_PUBLIC_MODE'))
{
define('BX_PUBLIC_MODE', 1);
}
}
if (!defined('PUBLIC_MODE') || PUBLIC_MODE !== 1)
{
if (!defined('ADMIN_SECTION'))
{
define("ADMIN_SECTION", true);
}
}
require_once(__DIR__."/../include.php");
if(!headers_sent())
header("Content-type: text/html; charset=".LANG_CHARSET);
if (defined('BX_PUBLIC_MODE') && BX_PUBLIC_MODE == 1)
{
if ($_SERVER['REQUEST_METHOD'] == 'POST')
require_once($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/interface/init_jspopup.php");
}
require_once($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/admin_tools.php");
require_once($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/interface/init_admin.php");
CMain::PrologActions();
if (!defined('START_EXEC_PROLOG_BEFORE_2'))
{
define("START_EXEC_PROLOG_BEFORE_2", microtime(true));
}
/home/bitrix/www/bitrix/modules/main/bx_root.php
<?php
define("BX_ROOT", "/bitrix");
if (!empty($_SERVER["BX_PERSONAL_ROOT"]))
{
define("BX_PERSONAL_ROOT", $_SERVER["BX_PERSONAL_ROOT"]);
}
else
{
define("BX_PERSONAL_ROOT", BX_ROOT);
}
/home/bitrix/www/bitrix/tools/vote_result.php
Не найден
/home/bitrix/www/bitrix/tools/vote/vote_result.php
Не найден
/home/bitrix/www/bitrix/modules/vote/tools/uf.php
<?php
define("STOP_STATISTICS", true);
define("PUBLIC_AJAX_MODE", true);
define("NO_KEEP_STATISTIC", "Y");
define("NO_AGENT_STATISTIC","Y");
define("DisableEventsCheck", true);
$siteId = isset($_REQUEST['SITE_ID']) && is_string($_REQUEST['SITE_ID'])? $_REQUEST['SITE_ID'] : '';
$siteId = mb_substr(preg_replace('/[^a-z0-9_]/i', '', $siteId), 0, 2);
if(!empty($siteId) && is_string($siteId))
{
define('SITE_ID', $siteId);
}
require_once($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");
if(!\Bitrix\Main\Loader::includeModule('vote'))
{
die;
}
$ufController = new Bitrix\Vote\Attachment\Controller();
$ufController->setActionName($_GET['action'])->exec();
/home/bitrix/www/bitrix/modules/main/tools/upload.php
<?
define("STOP_STATISTICS", true);
define("PUBLIC_AJAX_MODE", true);
define("NO_KEEP_STATISTIC", "Y");
define("NO_AGENT_STATISTIC","Y");
define("DisableEventsCheck", true);
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
if (isset($_REQUEST["action"]) && $_REQUEST["action"] == "uncloud")
{
$loader = new \Bitrix\Main\UI\FileInputUnclouder();
$loader
->setValue($_REQUEST["file"] ?? 0)
->setSignature($_REQUEST["signature"] ?? '')
->exec(
$_REQUEST["mode"] ?? '',
[
"width" => $_REQUEST["width"] ?? 0,
"height" => $_REQUEST["height"] ?? 0,
]
)
;
}
else if (isset($_REQUEST["action"]) && $_REQUEST["action"] == "error")
{
$errorCatcher = new \Bitrix\Main\UI\Uploader\ErrorCatcher();
$errorCatcher->log($_REQUEST["path"], $_REQUEST["data"]);
}
else if ($_SERVER["REQUEST_METHOD"] == "GET")
{
$uploader = new \Bitrix\Main\UI\Uploader\Uploader($_GET);
$uploader->checkPost(false);
}
else
{
$receiver = new \Bitrix\Main\UI\FileInputReceiver($_POST["signature"] ?? '');
$receiver->exec();
}
/home/bitrix/www/bitrix/modules/main/include/prolog.php
<?php
require_once(__DIR__ . "/../bx_root.php");
if (file_exists($_SERVER["DOCUMENT_ROOT"].BX_PERSONAL_ROOT."/html_pages/.enabled"))
{
require_once(__DIR__ . "/../lib/composite/responder.php");
Bitrix\Main\Composite\Responder::respond();
}
require_once(__DIR__ . "/prolog_before.php");
require($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/prolog_after.php");
/home/bitrix/www/bitrix/tools/upload.php
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/tools/upload.php");?>
/home/bitrix/www/bitrix/modules/main/tools/upload.php
<?
define("STOP_STATISTICS", true);
define("PUBLIC_AJAX_MODE", true);
define("NO_KEEP_STATISTIC", "Y");
define("NO_AGENT_STATISTIC","Y");
define("DisableEventsCheck", true);
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
if (isset($_REQUEST["action"]) && $_REQUEST["action"] == "uncloud")
{
$loader = new \Bitrix\Main\UI\FileInputUnclouder();
$loader
->setValue($_REQUEST["file"] ?? 0)
->setSignature($_REQUEST["signature"] ?? '')
->exec(
$_REQUEST["mode"] ?? '',
[
"width" => $_REQUEST["width"] ?? 0,
"height" => $_REQUEST["height"] ?? 0,
]
)
;
}
else if (isset($_REQUEST["action"]) && $_REQUEST["action"] == "error")
{
$errorCatcher = new \Bitrix\Main\UI\Uploader\ErrorCatcher();
$errorCatcher->log($_REQUEST["path"], $_REQUEST["data"]);
}
else if ($_SERVER["REQUEST_METHOD"] == "GET")
{
$uploader = new \Bitrix\Main\UI\Uploader\Uploader($_GET);
$uploader->checkPost(false);
}
else
{
$receiver = new \Bitrix\Main\UI\FileInputReceiver($_POST["signature"] ?? '');
$receiver->exec();
}
/home/bitrix/www/bitrix/tools/mail_entry.php
Не найден
/home/bitrix/www/bitrix/modules/main/include/virtual_file_system.php
<?php
/**
* Bitrix Framework
* @package bitrix
* @subpackage main
* @copyright 2001-2020 Bitrix
*/
/*
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME} [\xC2-\xDF][\x80-\xBF] [OR]
RewriteCond %{REQUEST_FILENAME} \xE0[\xA0-\xBF][\x80-\xBF] [OR]
RewriteCond %{REQUEST_FILENAME} [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} [OR]
RewriteCond %{REQUEST_FILENAME} \xED[\x80-\x9F][\x80-\xBF] [OR]
RewriteCond %{REQUEST_FILENAME} \xF0[\x90-\xBF][\x80-\xBF]{2} [OR]
RewriteCond %{REQUEST_FILENAME} [\xF1-\xF3][\x80-\xBF]{3} [OR]
RewriteCond %{REQUEST_FILENAME} \xF4[\x80-\x8F][\x80-\xBF]{2}
RewriteRule ^(.*)$ /bitrix/virtual_file_system.php [L]
*/
require_once(__DIR__."/../bx_root.php");
require_once(__DIR__."/../lib/loader.php");
require_once(__DIR__."/autoload.php");
require_once(__DIR__."/../tools.php");
require_once($_SERVER["DOCUMENT_ROOT"].BX_PERSONAL_ROOT."/php_interface/dbconn.php");
if (stripos(PHP_OS, "WIN") !== 0)
{
CHTTP::SetStatus("403 Forbidden");
die("Filename is out of range.");
}
$io = CBXVirtualIo::GetInstance();
$requestUri = $_SERVER["REQUEST_URI"];
if (($pos = strpos($requestUri, "?")) !== false)
$requestUri = substr($requestUri, 0, $pos);
$requestUri = rawurldecode($requestUri);
$requestUri = $io->CombinePath('/', $requestUri);
if (!preg_match("#([\xC2-\xDF][\x80-\xBF]|\xE0[\xA0-\xBF][\x80-\xBF]|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}|\xED[\x80-\x9F][\x80-\xBF]|\xF0[\x90-\xBF][\x80-\xBF]{2}|[\xF1-\xF3][\x80-\xBF]{3}|\xF4[\x80-\x8F][\x80-\xBF]{2})#", $requestUri))
{
// Not utf-8 filename. Should be handled in the regular way.
CHTTP::SetStatus("403 Forbidden");
die("Filename is out of range.");
}
$requestUri = preg_replace("/(\\.)(\\.[\\\\\\/])/is", "\\1 \\2", $requestUri);
$requestUri = preg_replace("/[\\.\\/\\\\\\x20\\x22\\x3c\\x3e\\x5c]{30,}/", " X ", $requestUri);
$requestUriAbsolute = $io->RelativeToAbsolutePath($requestUri);
$documentRoot = rtrim($_SERVER["DOCUMENT_ROOT"], "/");
$documentRootLength = mb_strlen($documentRoot) + 1;
if ($documentRootLength >= mb_strlen($requestUriAbsolute)
|| mb_substr($requestUriAbsolute, 0, $documentRootLength) !== $documentRoot."/")
{
CHTTP::SetStatus("403 Forbidden");
die("Path is out of range.");
}
$urlTmp = mb_substr($requestUriAbsolute, $documentRootLength);
$urlTmp = str_replace(".", "", $urlTmp);
if (str_starts_with($urlTmp, "bitrix/"))
{
CHTTP::SetStatus("403 Forbidden");
die("Path is out of range.");
}
if (!$io->ValidatePathString($requestUriAbsolute))
{
CHTTP::SetStatus("403 Forbidden");
die("Path is out of range.");
}
if (!$io->FileExists($requestUriAbsolute))
{
if ($io->DirectoryExists($requestUriAbsolute))
{
$requestUriAbsolute = $io->CombinePath($requestUriAbsolute, "index.php");
if (!$io->FileExists($requestUriAbsolute))
{
CHTTP::SetStatus("403 Forbidden");
die("Index file is not found.");
}
}
else
{
CHTTP::SetStatus("404 Not Found");
die("File is not found.");
}
}
if (strtolower(substr($requestUriAbsolute, -4)) == ".php")
{
$relativePath = $io->CombinePath("/", mb_substr($requestUriAbsolute, mb_strlen($_SERVER["DOCUMENT_ROOT"])));
$_SERVER["REAL_FILE_PATH"] = $relativePath;
include($io->GetPhysicalName($requestUriAbsolute));
}
else
{
$f = $io->GetFile($requestUriAbsolute);
$fsize = $f->GetFileSize();
$fModTime = $f->GetModificationTime();
$arTypes = array("jpeg"=>"image/jpeg", "jpe"=>"image/jpeg", "jpg"=>"image/jpeg", "png"=>"image/png", "gif"=>"image/gif", "bmp"=>"image/bmp");
$ext = mb_strtolower(mb_substr($requestUriAbsolute, bxstrrpos($requestUriAbsolute, ".") + 1));
if(isset($arTypes[$ext]))
{
header("Content-Type: ".$arTypes[$ext]);
}
else
{
$name = $io->ExtractNameFromPath($requestUri);
header("Content-Type: application/force-download; name=\"".$name."\"");
header("Content-Disposition: attachment; filename=\"".$name."\"");
}
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".$fsize);
header("Expires: 0");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Last-Modified: ".gmdate('D, d M Y H:i:s \G\M\T', $fModTime));
$f->ReadFile();
}
/home/bitrix/www/bitrix/components/bitrix/sender.mail.editor/ajax.php
<?php
define('STOP_STATISTICS', true);
define('BX_SECURITY_SHOW_MESSAGE', true);
require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');
use Bitrix\Main\HttpRequest;
use Bitrix\Sender\Internals\CommonAjax;
use Bitrix\Sender\Internals\PostFiles;
use Bitrix\Sender\Internals\QueryController as Controller;
if (!Bitrix\Main\Loader::includeModule('sender'))
{
return;
}
$actions = array();
$actions[] = CommonAjax\ActionGetTemplate::get()
->addChecker(CommonAjax\Checker::getViewLetterPermissionChecker());
$actions[] = CommonAjax\ActionPreview::get()
->addChecker(CommonAjax\Checker::getViewLetterPermissionChecker());
$actions[] = Controller\Action::create('getDemoUnsubscribePage')
->setRequestMethodGet()
->setHandler(
function (HttpRequest $request, Controller\Response $response)
{
$content = $response->initContentHtml();
$content->set('Demo unsubscribe page.');
}
)
->addChecker(CommonAjax\Checker::getViewLetterPermissionChecker());
$actions[] = Controller\Action::create('saveFile')
->setHandler(
function (HttpRequest $request, Controller\Response $response)
{
$result = array(
'error' => false,
'errorText' => '',
'data' => array(
'list' => array(),
)
);
$fileList = array();
//New from media library and file structure
$isCheckedSuccess = false;
$requestFiles = $request->getPost('NEW_FILE_EDITOR');
if($requestFiles && is_array($requestFiles))
{
foreach($requestFiles as $index=>$value)
{
if(is_array($value))
{
$filePath = urldecode($value['tmp_name']);
}
else
{
continue;
}
$checkResult = PostFiles::checkAbsolutePath($filePath);
if(is_null($checkResult))
{
continue;
}
$isCheckedSuccess = $checkResult['isSuccess'];
if($isCheckedSuccess)
{
$io = \CBXVirtualIo::GetInstance();
$fileList[$filePath] = \CFile::MakeFileArray($io->GetPhysicalName($checkResult['absPath']));
if(isset($value['name']))
{
$fileList[$filePath]['name'] = $value['name'];
}
}
else
{
$result['data']['list'][] = array(
'tmp' => $filePath,
'path' => ''
);
}
}
}
foreach($fileList as $tmpFileName => $file)
{
$fid = \Bitrix\Sender\Internals\PostFiles::saveFile($file);
if($fid > 0 && ($filePath = \CFile::GetPath($fid)) && $filePath <> '')
{
$result['data']['list'][] = array(
'tmp' => $tmpFileName,
'path' => $filePath
);
}
}
if (!$isCheckedSuccess && count($fileList) == 0)
{
$result['error'] = true;
$result['errorText'] = GetMessage("ACCESS_DENIED");
}
$response->initContentJson()->set($result);
}
)
->addChecker(CommonAjax\Checker::getModifyLetterPermissionChecker());
Controller\Listener::create()->setActions($actions)->run();/home/bitrix/www/bitrix/tools/vote/uf.php
Не найден
/home/bitrix/www/bitrix/tools/html_editor_action.php
<?php
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/admin/fileman_html_editor_action.php");
/home/bitrix/www/bitrix/admin/fileman_html_editor_action.php
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/fileman/admin/fileman_html_editor_action.php");?>
/home/bitrix/www/bitrix/admin/site_checker.php
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/admin/site_checker.php");?>
/home/bitrix/www/bitrix/modules/main/admin/site_checker.php
<?php
/**
* Bitrix Framework
* @package bitrix
* @subpackage main
* @copyright 2001-2025 Bitrix
*/
/**
* Bitrix vars
*
* @global CMain $APPLICATION
* @global CUser $USER
*/
@ini_set("track_errors", "1");
@ini_set('display_errors', 1);
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
$message = null;
define('DEBUG_FLAG', str_replace('\\','/',$_SERVER['DOCUMENT_ROOT'] . '/bitrix/site_checker_debug'));
require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/classes/general/site_checker.php');
// NO AUTH TESTS
if (!empty($_REQUEST['unique_id']) && is_string($_REQUEST['unique_id']))
{
if (!file_exists(DEBUG_FLAG) && !hash_equals(checker_get_unique_id(), $_REQUEST['unique_id']))
{
die('Permission denied: UNIQUE ID ERROR');
}
$testType = $_GET['test_type'] ?? '';
switch ($testType)
{
case 'socket_test':
echo "SUCCESS";
break;
case 'webdav_test':
if ($_SERVER['REQUEST_METHOD'] == $_GET['method'])
{
echo "SUCCESS";
}
else
{
echo 'Incorrect $_SERVER[REQUEST_METHOD]: '.$_SERVER['REQUEST_METHOD'].', expected: '.preg_replace('#[^A-Z]#', '', $_GET['method']);
}
break;
case 'compression':
echo str_repeat('SUCCESS', 8*1024);
break;
case 'perf':
define("NOT_CHECK_PERMISSIONS", true);
define("LDAP_NO_PORT_REDIRECTION", true);
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
foreach(GetModuleEvents("main", "OnEpilog", true) as $arEvent)
{
ExecuteModuleEventEx($arEvent);
}
$APPLICATION->EndBufferContentMan();
echo round(microtime(true) - START_EXEC_TIME, 4);
break;
case 'fast_download':
header('X-Accel-Redirect: /bitrix/tmp/success.txt');
break;
case 'dbconn_test':
ob_start();
define('NOT_CHECK_PERMISSIONS', true);
require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');
$buff = '';
while(ob_get_level())
{
$buff .= ob_get_contents();
ob_end_clean();
}
ob_end_clean();
echo $buff === '' ? 'SUCCESS' : 'Length: '.strlen($buff).' ('.$buff . ')';
break;
case 'pcre_recursion_test':
$a = str_repeat('a',4096);
if (preg_match('/(a)+/',$a)) // Segmentation fault (core dumped)
{
echo 'SUCCESS';
}
else
{
echo 'CLEAN';
}
break;
case 'upload_test':
$dir = $_SERVER['DOCUMENT_ROOT'].'/bitrix/tmp';
if (!file_exists($dir))
{
mkdir($dir);
}
$binaryData = '';
for ($i=40; $i<240; $i++)
{
$binaryData .= chr($i);
}
if (isset($_REQUEST['big']) && $_REQUEST['big'])
{
$binaryData = str_repeat($binaryData, 21000);
}
if (isset($_REQUEST['raw']) && $_REQUEST['raw'])
{
$binaryData_received = file_get_contents('php://input');
}
elseif (move_uploaded_file($tmp_name = $_FILES['test_file']['tmp_name'], $image = $dir.'/site_checker.bin'))
{
$binaryData_received = file_get_contents($image);
unlink($image);
}
else
{
echo 'move_uploaded_file('.$tmp_name.','.$image.')=false'."\n";
echo '$_FILES='."\n";
print_r($_FILES);
die();
}
if ($binaryData === $binaryData_received)
{
echo "SUCCESS";
}
else
{
echo 'strlen($binaryData)='.strlen($binaryData).', strlen($binaryData_received)='.strlen($binaryData_received);
}
break;
case 'post_test':
$ok = true;
for ($i=0; $i<201; $i++)
{
$ok = $ok && ($_POST['i'.$i] === md5($i));
}
echo $ok ? 'SUCCESS' : 'FAIL';
break;
case 'memory_test':
@ini_set("memory_limit", "512M");
$max = intval($_GET['max']);
if ($max)
{
for($i=1;$i<=$max;$i++)
{
$a[] = str_repeat(chr($i),1024*1024); // 1 Mb
}
echo "SUCCESS";
}
break;
case 'auth_test':
$remote_user = ($_SERVER["REMOTE_USER"] ?? '') ?: ($_SERVER["REDIRECT_REMOTE_USER"] ?? '');
$strTmp = base64_decode(mb_substr($remote_user, 6));
if ($strTmp)
{
list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', $strTmp);
}
if ($_SERVER['PHP_AUTH_USER']=='test_user' && $_SERVER['PHP_AUTH_PW']=='test_password')
{
echo('SUCCESS');
}
break;
case 'session_test':
session_start();
echo $_SESSION['CHECKER_CHECK_SESSION'] ?? '';
$_SESSION['CHECKER_CHECK_SESSION'] = 'SUCCESS';
break;
case 'redirect_test':
foreach(array('SERVER_PORT','HTTPS','FCGI_ROLE','SERVER_PROTOCOL','SERVER_PORT','HTTP_HOST') as $key)
{
$GLOBALS['_SERVER'][$key] = $GLOBALS['_REQUEST'][$key];
}
if (isset($_REQUEST['done']))
{
echo 'SUCCESS';
}
else
{
$bCgi = (mb_stristr(php_sapi_name(), "cgi") !== false);
$bFastCgi = ($bCgi && (array_key_exists('FCGI_ROLE', $_SERVER) || array_key_exists('FCGI_ROLE', $_ENV)));
if($bCgi && !$bFastCgi)
{
header("Status: 302 Found");
}
else
{
header($_SERVER["SERVER_PROTOCOL"] . " 302 Found");
}
$protocol = (($_SERVER["SERVER_PORT"]==443 || mb_strtolower($_SERVER["HTTPS"]) == "on") ? "https" : "http");
$host = $_SERVER['HTTP_HOST'];
if($_SERVER['SERVER_PORT'] <> 80 && $_SERVER['SERVER_PORT'] <> 443 && $_SERVER['SERVER_PORT'] > 0 && !str_contains($_SERVER['HTTP_HOST'], ":"))
{
$host .= ":".$_SERVER['SERVER_PORT'];
}
$url = "?redirect_test=Y&done=Y&unique_id=".checker_get_unique_id();
header("Request-URI: ".$protocol."://".$host.$url);
header("Content-Location: ".$protocol."://".$host.$url);
header("Location: ".$protocol."://".$host.$url);
exit;
}
break;
}
if (isset($_GET['fix_mode']) && ($fix_mode = intval($_GET['fix_mode'])))
{
if (isset($_REQUEST['charset']) && $_REQUEST['charset'])
{
define('LANG_CHARSET', preg_replace('#[^a-z0-9\-]#i', '', $_REQUEST['charset']));
header('Content-type: text/plain; charset='.LANG_CHARSET);
}
define('LANGUAGE_ID', preg_match('#[a-z]{2}#',$_REQUEST['lang'] ?? '',$regs) ? $regs[0] : 'en');
$file = $_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/lang/'.LANGUAGE_ID.'/admin/site_checker.php';
if (file_exists($file))
{
include_once($file);
}
else
{
include_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/lang/en/admin/site_checker.php');
}
InitPureDB();
$oTest = new CSiteCheckerTest($_REQUEST['step'] ?? 0, 0, $fix_mode);
if (file_exists(DEBUG_FLAG))
$oTest->timeout = 30;
if (!empty($_REQUEST['global_test_vars']) && ($d = base64_decode($_REQUEST['global_test_vars'])))
$oTest->arTestVars = unserialize($d, ['allowed_classes' => false]);
else
$oTest->arTestVars = array();
$oTest->Start();
if ($oTest->percent < 100)
{
$strNextRequest = '&step='.$oTest->step.'&global_test_vars='.base64_encode(serialize($oTest->arTestVars));
$strFinalStatus = '';
}
else
{
$strNextRequest = '';
$strFinalStatus = '100%';
}
// fix mode
echo '
iPercent = '.$oTest->percent.';
test_percent = '.$oTest->test_percent.';
strCurrentTestFunc = "'.$oTest->last_function.'";
strCurrentTestName = "'.CUtil::JSEscape($oTest->strCurrentTestName).'";
strNextTestName = "'.CUtil::JSEscape($oTest->strNextTestName).'";
strNextRequest = "'.CUtil::JSEscape($strNextRequest).'";
strResult = "'.CUtil::JSEscape(str_replace(array("\r","\n"),"",$oTest->strResult)).'";
strFinalStatus = "'.CUtil::JSEscape($strFinalStatus).'";
test_result = '.($oTest->result === true ? 1 : ($oTest->result === false ? -1 : 0)).'; // 0 = note
';
}
die();
}
// END NO AUTH TESTS
if (file_exists(DEBUG_FLAG))
{
define('NOT_CHECK_PERMISSIONS', true);
}
if(isset($_REQUEST['test_start']) && $_REQUEST['test_start'])
{
define("NO_KEEP_STATISTIC", true);
define("NO_AGENT_CHECK", true);
}
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
IncludeModuleLangFile(__FILE__);
define("HELP_FILE", "utilities/site_checker.php");
//error_reporting(E_ALL &~E_NOTICE);
define("SUPPORT_PAGE", (LANGUAGE_ID == 'ru' ? 'https://www.1c-bitrix.ru/support/' : 'https://www.bitrixsoft.com/support/'));
if ($USER->CanDoOperation('view_other_settings'))
{
if (file_exists(DEBUG_FLAG))
if (!unlink(DEBUG_FLAG))
CAdminMessage::ShowMessage(Array("TYPE"=>"ERROR", "MESSAGE"=>'Can\'t delete ' . DEBUG_FLAG));
}
elseif(!defined('NOT_CHECK_PERMISSIONS') || NOT_CHECK_PERMISSIONS !== true)
$APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
if (isset($_POST['access_check']) && $_POST['access_check'])
{
if (defined('NOT_CHECK_PERMISSIONS') && NOT_CHECK_PERMISSIONS ===true || check_bitrix_sessid())
{
$ob = new CSearchFiles;
$ob->TimeLimit = 10;
if (isset($_REQUEST['break_point']) && $_REQUEST['break_point'])
{
$ob->SkipPath = $_REQUEST['break_point'];
}
$check_type = $_REQUEST['check_type'] ?? '';
$sNextPath = '';
if ($check_type == 'upload')
{
if (!file_exists($tmp = $_SERVER['DOCUMENT_ROOT'].BX_PERSONAL_ROOT.'/tmp'))
mkdir($tmp);
$upload = $_SERVER['DOCUMENT_ROOT'].'/'.COption::GetOptionString('main', 'upload_dir', 'upload');
if (0 === mb_strpos($_REQUEST['break_point'] ?? '', $upload))
$path = $upload;
else
{
$path = $tmp;
$sNextPath = $upload;
}
}
elseif($check_type == 'kernel')
$path = $_SERVER['DOCUMENT_ROOT'].'/bitrix';
elseif($check_type == 'personal')
$path = $_SERVER['DOCUMENT_ROOT'].BX_PERSONAL_ROOT;
else
{
$path = $_SERVER['DOCUMENT_ROOT'];
$check_type = 'full';
}
if ($ob->Search($path))
{
if ($ob->BreakPoint || $sNextPath)
{
if ($ob->BreakPoint)
$sNextPath = $ob->BreakPoint;
$cnt_total = intval($_REQUEST['cnt_total'] ?? 0) + $ob->FilesCount;
?><form method=post id=postform>
<input type=hidden name=access_check value="Y">
<input type=hidden name=lang value="<?=LANGUAGE_ID?>">
<?=bitrix_sessid_post();?>
<input type=hidden name=cnt_total value="<?=$cnt_total?>">
<input type=hidden name=check_type value="<?=$check_type?>">
<input type=hidden name=break_point value="<?=htmlspecialcharsbx($sNextPath)?>">
</form>
<?
CAdminMessage::ShowMessage(array(
'TYPE' => 'OK',
'HTML' => true,
'MESSAGE' => GetMessage('SC_TESTING'),
'DETAILS' => str_replace(array('#NUM#','#PATH#'),array($cnt_total,$sNextPath),GetMessage('SC_FILES_CHECKED')),
)
);
?>
<script>
if (parent.document.getElementById('access_submit').disabled)
window.setTimeout("parent.ShowWaitWindow();document.getElementById('postform').submit()",500);
</script><?
}
else
{
if ($check_type == 'full')
COption::SetOptionString('main', 'site_checker_access', 'Y');
CAdminMessage::ShowMessage(Array("TYPE"=>"OK", "MESSAGE"=>GetMessage("SC_FILES_OK")));
?><script>parent.access_check_start(0);</script><?
}
}
else
{
COption::SetOptionString('main', 'site_checker_access', 'N');
CAdminMessage::ShowMessage(array(
'TYPE' => 'ERROR',
'MESSAGE' => GetMessage("SC_FILES_FAIL"),
'DETAILS' => implode("<br>",$ob->arFail),
'HTML' => true
)
);
?><script>parent.access_check_start(0);</script><?
}
}
else
echo '<h1>Permission denied: BITRIX SESSID ERROR</h1>';
exit;
}
elseif(isset($_REQUEST['test_start']) && $_REQUEST['test_start'])
{
if (defined('NOT_CHECK_PERMISSIONS') && NOT_CHECK_PERMISSIONS ===true || check_bitrix_sessid())
{
$fast = isset($_REQUEST['fast']) ? (int)$_REQUEST['fast'] : 0;
$oTest = new CSiteCheckerTest($_REQUEST['step'] ?? 0, $fast);
if (isset($_REQUEST['global_test_vars']) && ($d = base64_decode($_REQUEST['global_test_vars'])))
{
$oTest->arTestVars = unserialize($d, ['allowed_classes' => false]);
}
$oTest->Start();
if ($oTest->percent < 100)
{
$strNextRequest = '&step='.$oTest->step.'&global_test_vars='.base64_encode(serialize($oTest->arTestVars));
$strFinalStatus = '';
}
else
{
$strNextRequest = '';
$strFinalStatus = '100%';
}
// test mode
echo '
iPercent = '.$oTest->percent.';
test_percent = '.$oTest->test_percent.';
strCurrentTestFunc = "'.$oTest->last_function.'";
strCurrentTestName = "'.CUtil::JSEscape($oTest->strCurrentTestName).'";
strNextTestName = "'.CUtil::JSEscape($oTest->strNextTestName).'";
strNextRequest = "'.CUtil::JSEscape($strNextRequest).'";
strResult = "'.CUtil::JSEscape(str_replace(array("\r","\n"),"",$oTest->strResult)).'";
strFinalStatus = "'.CUtil::JSEscape($strFinalStatus).'";
strGroupName = "'.CUtil::JSEscape($oTest->group_name).'";
strGroupDesc = "'.CUtil::JSEscape($oTest->group_desc).'";
test_result = '.($oTest->result === true ? 1 : ($oTest->result === false ? -1 : 0)).'; // 0 = note
';
}
else
echo '<h1>Permission denied: BITRIX SESSID ERROR</h1>';
exit;
}
elseif (isset($_REQUEST['read_log']) && $_REQUEST['read_log']) // after prolog to send correct charset
{
$oTest = new CSiteCheckerTest();
$str = htmlspecialcharsEx(file_get_contents($_SERVER['DOCUMENT_ROOT'].$oTest->LogFile));
if (($s = strlen($str)) > ini_get('pcre.backtrack_limit'))
@ini_set('pcre.backtrack_limit', $s);
?><!DOCTYPE HTML><html><body style="color:#666"><h1 style="color:#000"><?=GetMessage("MAIN_SC_SYSTEST_LOG")?></h1><?
$str = preg_replace('#^[0-9]{4}-...-[0-9]{2} .*\):#m','<span style="color:#000">$0</span>', $str);
$a = $_REQUEST['anchor'] ?? '';
if (preg_match('#[a-z_0-9]+#', $a))
{
$str = preg_replace('#^.+\(' . $a . '\)#m', '<a name="' . $a . '" style="background-color:#EE3">$0</a>', $str);
}
$str = preg_replace('#Ok$#m', '<span style="color:#408218">$0</span>', $str);
$str = preg_replace('#Warning$#m', '<span style="color:#663300">$0</span>', $str);
$str = preg_replace('#Fail$#m', '<span style="color:#DD0000">$0</span>', $str);
echo '<pre>'.$str.'</pre>';
exit;
}
elseif (isset($_REQUEST['fix_mode']) && ($fix_mode = intval($_REQUEST['fix_mode'])))
{
?>
<table id="fix_table" width="100%" class="internal" style="padding:20px;padding-bottom:0;">
<tr class="heading">
<td class="align-left" colspan="2"><?=GetMessage('SC_GR_FIX')?></td>
</tr>
</table>
<script>
var fix_mode = <?=$fix_mode?>;
BX.ajax.get('site_checker.php?fix_mode=' + fix_mode + '&test_start=Y&lang=<?=LANGUAGE_ID?>&charset=<?=LANG_CHARSET?>&<?=bitrix_sessid_get()?>&unique_id=<?=checker_get_unique_id()?>', fix_onload);
</script>
<?
exit;
}
$bIntranet = CModule::IncludeModule('intranet');
$aTabs = array();
if ($bIntranet)
$aTabs[] = array("DIV" => "edit0", "TAB" => GetMessage("SC_PORTAL_WORK"), "ICON" => "site_check", "TITLE" => GetMessage("SC_PORTAL_WORK_DESC"));
$aTabs[] = array("DIV" => "edit1", "TAB" => GetMessage("SC_TEST_CONFIG"), "ICON" => "site_check", "TITLE" => GetMessage("SC_FULL_CP_TEST"));
$aTabs[] = array("DIV" => "edit2", "TAB" => GetMessage("SC_TAB_2"), "ICON" => "site_check", "TITLE" => GetMessage("SC_SUBTITLE_DISK"));
$tabControl = new CAdminTabControl("tabControl", $aTabs, true, true);
$APPLICATION->SetTitle(GetMessage("SC_SYSTEM_TEST"));
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");
?>
<style>
.sc_help_link {
background: url("/bitrix/themes/.default/icons/status_icons.png") no-repeat scroll -12px -235px transparent;
cursor:pointer;
float:right;
width:25px;
height:25px;
margin-left:10px;
}
.sc_icon {
display: inline-block;
height:25px;
margin-right:10px;
vertical-align: middle;
width:25px;
}
.sc_icon_success {
background: url("/bitrix/themes/.default/icons/status_icons.png") no-repeat scroll -14px -19px transparent;
}
.sc_icon_warning{
background: url("/bitrix/themes/.default/icons/status_icons.png") no-repeat scroll -12px -212px transparent;
}
.sc_icon_error{
background: url("/bitrix/themes/.default/icons/status_icons.png") no-repeat scroll -12px -73px transparent;
}
.sc_success {
color:#408218 !important;
vertical-align: middle;
}
.sc_warning {
color:#000000;
vertical-align: middle;
}
.sc_error {
color:#DD0000 !important;
vertical-align: middle;
}
.sc_code {
border:1px solid #CCC;
margin:10px;
padding:10px;
font-family:monospace;
background-color:#FEFEFA;
}
.sc_progress {
text-align:center !important;
font-weight:bold !important;
background-color:#b9cbdf;
padding:2px;
margin:10px;
}
</style>
<script>
var bTestFinished = false;
function show_popup(title, link, confirm_text)
{
if (confirm_text && !confirm(confirm_text))
return;
var d = new BX.CAdminDialog({
'title': title,
'content_url': '/bitrix/admin/site_checker.php' + link,
'draggable': true,
'resizable': true,
'buttons': [BX.CAdminDialog.btnClose]
});
d.Show();
}
function help_me(title, id)
{
var html;
html = '<div style="font-size:1.2em;padding:20px">';
html += (r = obTestResult[id]) ? '<div style="border:1px solid #ccc;padding:10px;"><b><?=GetMessageJS("MAIN_SC_TEST_RESULT")?></b> ' + r + '</div><br>' : '';
html += (h = obHelp[id]) ? h : obHelp['notopic'];
html += '<br><br><?=GetMessageJS('SC_READ_MORE_ANC')?>'.replace('#LINK#', '/bitrix/admin/site_checker.php?lang=<?=LANGUAGE_ID?>&read_log=Y&anchor=' + id + '#' + id);
html += '</div>';
var d = new BX.CAdminDialog({
'title': title,
'content': html,
'draggable': true,
'resizable': true,
'buttons': [BX.CAdminDialog.btnClose]
});
d.Show();
}
function fix_onload(result)
{
var oRow;
var oCell;
try
{
eval(result);
var oTable = BX('fix_table');
if (oRow = BX('in_progress'))
{
oCell = oRow.cells[1];
}
else
{
oRow = oTable.insertRow(-1);
oCell = oRow.insertCell(-1);
oCell.style.width = '40%';
oCell.innerHTML = strCurrentTestName;
oCell = oRow.insertCell(-1);
}
if (strResult == '')
{
oRow.setAttribute('id', 'in_progress');
oCell.innerHTML = '<div class="sc_progress" style="width:' + test_percent + '%">' + test_percent + '%</div>';
}
else
{
oRow.setAttribute('id', '');
oCell.innerHTML = SetResultColor(test_result, strResult);
}
if (strNextRequest)
BX.ajax.get('site_checker.php?fix_mode=' + fix_mode + '&test_start=Y&lang=<?=LANGUAGE_ID?>&charset=<?=LANG_CHARSET?>&<?=bitrix_sessid_get()?>&unique_id=<?=checker_get_unique_id()?>' + strNextRequest, fix_onload);
}
catch(e)
{
console.log(e);
alert('<?=GetMessageJS("SC_TEST_FAIL")?>');
}
}
function set_start(val)
{
document.getElementById('test_start').disabled = val ? 'disabled' : '';
document.getElementById('test_stop').disabled = val ? '' : 'disabled';
document.getElementById('progress').style.visibility = val ? 'visible' : 'hidden';
if (val)
{
ShowWaitWindow();
obTestResult = new Object;
if (ob = BX('express_result'))
ob.innerHTML = '';
if (ob = BX('express_status'))
ob.innerHTML = '';
document.getElementById('result').innerHTML = '<table id="result_table" width="100%" class="internal"></table>';
document.getElementById('status').innerHTML = '<?
$oTest = new CSiteCheckerTest();
echo $oTest->strCurrentTestName;
?>';
document.getElementById('percent').innerHTML = '0%';
document.getElementById('indicator').style.width = '0%';
BX.ajax.get('site_checker.php?test_start=Y&lang=<?=LANGUAGE_ID?>&<?=bitrix_sessid_get()?>', test_onload);
}
else
CloseWaitWindow();
}
var strGroupName_last = '';
function test_onload(result)
{
var oRow;
var oCell;
try
{
if (result)
eval(result);
else
throw 'Empty result';
}
catch(e)
{
console.log(e);
strNextRequest = '';
strResult = '<span class="sc_error"><?=GetMessageJS("SC_TEST_FAIL")?></span>';
}
if (document.getElementById('test_start').disabled) // Stop was not pressed
{
document.getElementById('percent').innerHTML = iPercent + '%';
document.getElementById('indicator').style.width = iPercent + '%';
document.getElementById('status').innerHTML = strNextTestName;
if (!(oRow = BX('in_progress')))
{
var oTable = BX('result_table');
if (strGroupName != strGroupName_last)
{
strGroupName_last = strGroupName;
oRow = oTable.insertRow(-1);
oRow.className = 'heading';
oCell = oRow.insertCell(-1);
oCell.className = 'align-left';
oCell.setAttribute("colSpan", "2");
oCell.innerHTML = strGroupName;
}
oRow = oTable.insertRow(-1);
oCell = oRow.insertCell(-1);
oCell.style.width = '40%';
oCell.innerHTML = strCurrentTestName;
oCell = oRow.insertCell(-1);
}
if (strResult != '') // test finished
{
oRow.setAttribute('id', '');
oCell = oRow.cells[1];
oCell.innerHTML = '<div class="sc_help_link"></div>' + GetIconForResult(test_result) + SetResultColor(test_result, strResult);
var oDiv = oCell.firstChild;
oDiv.id = strCurrentTestFunc;
oDiv.title = strCurrentTestName;
oDiv.onclick = function(){help_me(this.title, this.id)};
}
else
{
oRow.setAttribute('id', 'in_progress');
oCell = oRow.cells[1];
oCell.innerHTML = '<div class="sc_progress" style="width:' + test_percent + '%">' + test_percent + '%</div>';
}
if (strNextRequest)
{
<? if (isset($_GET['HTTP_HOST']))
{
?>
BX.ajax.get('site_checker.php?HTTP_HOST=<?=urlencode($_GET['HTTP_HOST'])?>&SERVER_PORT=<?=urlencode($_GET['SERVER_PORT'])?>&HTTPS=<?=urlencode($_GET['HTTPS'])?>&test_start=Y&lang=<?=LANGUAGE_ID?>&<?=bitrix_sessid_get()?>' + strNextRequest, test_onload);
<?
}
else
{
?>
BX.ajax.get('site_checker.php?HTTP_HOST=' + window.location.hostname + '&SERVER_PORT=' + window.location.port + '&HTTPS=' + (window.location.protocol == 'https:' ? 'on' : '') + '&test_start=Y&lang=<?=LANGUAGE_ID?>&<?=bitrix_sessid_get()?>' + strNextRequest, test_onload);
<?
}?>
}
else // Finish
{
set_start(0);
bTestFinished = true;
}
}
}
var oExpressTable;
var strGroupName_last_e;
var group_num;
var group_test_result = 1;
var global_test_result = 1;
var obTestResult;
function ExpressTest(result, begin)
{
var oRow;
var oCell;
if (begin)
{
obTestResult = new Object;
group_num = 1;
global_test_result = 1;
set_start(0);
BX('express_start').disabled = true;
strNextRequest = '';
ob = BX('express_result');
ob.innerHTML = '<table width="100%" class="internal" style="margin-top:10px"></table>';
oExpressTable = ob.firstChild;
ShowWaitWindow();
}
else
{
try
{
if (result)
eval(result);
else
throw 'Empty result';
if (strResult)
{
if (test_result < global_test_result)
global_test_result = test_result;
if (strNextRequest)
BX('express_status').innerHTML = '<div class="sc_progress" style="width:' + iPercent + '%">' + iPercent + '%</div>';
else
{
strGroupName = '';
if (test_result < group_test_result)
group_test_result = test_result;
BX('express_status').innerHTML = global_test_result == 1 ? '<h3>' + SetResultColor(1, '<?=GetMessageJS("MAIN_SC_ALL_FUNCS_TESTED")?>') + '</h3>' : '';
}
if (strGroupName != strGroupName_last_e)
{
if (oRow = BX('express_group' + group_num))
{
html = GetIconForResult(group_test_result);
if (group_test_result == 1)
html += '<span onclick="ShowTestResult(' + group_num + ')" class="sc_success" style="cursor:pointer;border-bottom:1px dashed"><?=GetMessageJS("SC_ERRORS_NOT_FOUND")?></span>';
else if (group_test_result == -1)
html += '<span onclick="ShowTestResult(' + group_num + ')" class="sc_error" style="cursor:pointer;border-bottom:1px dashed"><?=GetMessageJS("SC_ERRORS_FOUND")?></span>'
else
html += '<span onclick="ShowTestResult(' + group_num + ')" class="sc_warning" style="cursor:pointer;border-bottom:1px dashed"><?=GetMessageJS("SC_WARNINGS_FOUND")?></span>'
oCell = oRow.cells[1];
oCell.innerHTML = html;
if (group_test_result == -1)
window.setTimeout('ShowTestResult(' + group_num + ', 1)', 100);
group_num++;
}
group_test_result = test_result;
if (strNextRequest)
{
strGroupName_last_e = strGroupName;
oRow = oExpressTable.insertRow(-1);
oRow.id = 'express_group' + group_num;
oRow.className = 'heading';
oCell = oRow.insertCell(-1);
oCell.className = 'align-left';
oCell.style.width = '40%';
oCell.innerHTML = strGroupName;
oCell = oRow.insertCell(-1);
oCell.className = "align-left";
oCell.innerHTML = '<span style="color:black"><?=GetMessageJS("SC_TESTING1")?></span>';
}
}
else if (test_result < group_test_result)
group_test_result = test_result;
oRow = oExpressTable.insertRow(-1);
oRow.style.display = 'none';
oCell = oRow.insertCell(-1);
oCell.style.width = '40%';
oCell.innerHTML = strCurrentTestName;
oCell = oRow.insertCell(-1);
oCell.innerHTML = '<div class="sc_help_link"></div>' + GetIconForResult(test_result, 1);
obTestResult[strCurrentTestFunc] = SetResultColor(test_result, strResult);
var oDiv = oCell.firstChild;
oDiv.id = strCurrentTestFunc;
oDiv.title = '<?=GetMessageJS("SC_HELP")?> ' + strCurrentTestName;
oDiv.onclick = function(){help_me(this.title, this.id)};
}
}
catch(e)
{
console.log(e);
strNextRequest = '';
BX('express_status').innerHTML = result;
}
}
HTTP_HOST = (tmp = "<?=urlencode($_GET['HTTP_HOST'] ?? '')?>") ? tmp : window.location.hostname;
SERVER_PORT = (tmp = "<?=urlencode($_GET['SERVER_PORT'] ?? '')?>") ? tmp : window.location.port;
HTTPS = (tmp = "<?=urlencode($_GET['HTTPS'] ?? '')?>") ? tmp : (window.location.protocol == 'https:' ? 'on' : '');
if (strNextRequest || begin)
BX.ajax.get('site_checker.php?test_start=Y&fast=1&lang=<?=LANGUAGE_ID?>&<?=bitrix_sessid_get()?>&HTTP_HOST=' + HTTP_HOST + '&SERVER_PORT=' + SERVER_PORT + '&HTTPS=' + HTTPS + strNextRequest, ExpressTest);
else
{
BX('express_start').disabled = false;
CloseWaitWindow();
}
}
function ShowTestResult(num, open)
{
var start = 0;
l = oExpressTable.rows.length;
for(i = 0; i < l; i++)
{
var oRow = oExpressTable.rows[i];
if (oRow.id == 'express_group' + num)
{
start = 1;
}
else if (start)
{
if (oRow.className != '')
break;
oRow.style.display = oRow.style.display == 'none' || open ? '' : 'none';
}
}
}
function GetIconForResult(test_result, bText)
{
if (test_result == 1)
return '<div class="sc_icon sc_icon_success"></div>' + (bText ? '<span class="sc_success"><?=GetMessageJS("MAIN_SC_FUNC_WORKS_FINE")?></span>' : '');
else if (test_result == 0)
return '<div class="sc_icon sc_icon_warning"></div>' + (bText ? '<span class="sc_warning"><?=GetMessageJS("MAIN_SC_FUNC_WORKS_PARTIAL")?></span>' : '');
else if (test_result == -1)
return '<div class="sc_icon sc_icon_error"></div>' + (bText ? '<span class="sc_error"><?=GetMessageJS("MAIN_SC_FUNC_WORKS_WRONG")?></span>' : '');
}
function SetResultColor(test_result, text)
{
return (test_result == 1 ? '<span class="sc_success">' : test_result == 0 ? '<span class="sc_warning">' : '<span class="sc_error">') + text + '</span>';
}
<?=(isset($_REQUEST['express_test']) && $_REQUEST['express_test'] ? 'window.setTimeout(\'ExpressTest("", true)\', 500);' : '')?>
<?=(isset($_REQUEST['start_test']) && $_REQUEST['start_test'] ? 'window.setTimeout(\'set_start(1)\', 500);' : '')?>
</script>
<?
$tabControl->Begin();
if ($bIntranet)
{
// portal checker
$tabControl->BeginNextTab();
?>
<tr>
<td colspan="2">
<input type=button id="express_start" value="<?=GetMessage("SC_TEST_START")?>" onclick="ExpressTest('', true)" class="adm-btn-green">
<div id="express_status"></div>
</td>
</tr>
<tr><td colspan="2" id="express_result"></td></tr>
<?
}
// site_checker
$tabControl->BeginNextTab();
?>
<tr>
<td colspan="2"><?=GetMessage("MAIN_SC_FULL_TEST_DESC")?></td>
</tr>
<tr>
<td colspan="2">
<br>
<input type=button value="<?=GetMessage("SC_START_TEST_B")?>" id="test_start" onclick="set_start(1)" class="adm-btn-green">
<input type=button value="<?=GetMessage("SC_STOP_TEST_B")?>" disabled id="test_stop" onclick="set_start(0)">
<div id="progress" style="visibility:hidden;padding-top:4px;" width="100%">
<div id="status" style="font-weight:bold;font-size:1.2em"></div>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td height="20">
<div style="border:1px solid #B9CBDF">
<div id="indicator" style="height:20px; width:0; background-color:#B9CBDF;transition: width 0.5s;"></div>
</div>
</td>
<td width=30> <span id="percent" style="font-size:1.4em">0%</span></td>
</tr>
</table>
</div>
<div id="result" style="padding-top:10px"></div>
</td>
</tr>
<?
// disk permissions
$tabControl->BeginNextTab();
?>
<tr>
<td colspan="2"><?echo GetMessage("SC_SUBTITLE_DISK_DESC");?></td>
</tr>
<tr>
<td colspan="2">
<script>
var obHelp = new Object;
obHelp["notopic"] = "<?=CUtil::JSEscape(GetMessage('SC_HELP_NOTOPIC'))?>";
<?
foreach(CSiteCheckerTest::GetTestList() as $test)
{
$help = GetMessage('SC_HELP_'.mb_strtoupper($test));
$help = str_replace('<code>','<div class="sc_code">',$help);
$help = str_replace('</code>','</div>',$help);
$help = str_replace("\r", "", $help);
$help = str_replace("\n", "<br>", $help);
$help = str_replace("<a href=", "<a target=_blank href=", $help);
echo 'obHelp["'.$test.'"] = "'.CUtil::JSEscape($help).'";'."\n";
}
?>
function onFrameLoad(ob)
{
CloseWaitWindow();
var oDoc;
if (ob.contentDocument)
oDoc = ob.contentDocument;
else
oDoc = ob.contentWindow.document;
document.getElementById('access_result').innerHTML = oDoc.body.innerHTML
}
function access_check_start(val)
{
document.getElementById('access_submit').disabled = val ? 'disabled' : '';
document.getElementById('access_stop').disabled = val ? '' : 'disabled';
if (val)
ShowWaitWindow();
else
CloseWaitWindow();
}
</script>
<? // CAdminMessage::ShowMessage(Array("MESSAGE"=>GetMessage("SC_CHECK_FILES_ATTENTION"), "TYPE"=>"ERROR","DETAILS"=>GetMessage("SC_CHECK_FILES_WARNING"))); ?>
<form method="POST" action="site_checker.php" target="access_frame" onsubmit="access_check_start(1)">
<input type=hidden name=access_check value=Y>
<input type=hidden name=lang value="<?=LANGUAGE_ID?>">
<?=bitrix_sessid_post();?>
<label><input type=radio name=check_type value=full checked> <?=GetMessage("SC_CHECK_FULL")?></label><br>
<label><input type=radio name=check_type value=upload> <?=GetMessage("SC_CHECK_UPLOAD")?></label><br>
<label><input type=radio name=check_type value=kernel> <?=GetMessage("SC_CHECK_KERNEL")?></label><br>
<? if ('/bitrix' != BX_PERSONAL_ROOT): ?>
<label><input type=radio name=check_type value=cache> <?=GetMessage("SC_CHECK_FOLDER")?> <b><?=BX_PERSONAL_ROOT?></b></label><br>
<? endif; ?>
<br>
<input type=submit value="<?=GetMessage("SC_CHECK_B")?>" id="access_submit">
<input type=button value="<?=GetMessage("SC_STOP_B")?>" disabled id="access_stop" onclick="access_check_start(0)">
</form>
<div width="100%" id="access_result"></div>
<iframe name="access_frame" style="width:1px;height:1px;visibility:hidden" onload="onFrameLoad(this)"></iframe>
</td>
</tr>
<?
?>
<script>
</script>
<?
?>
<?
//$tabControl->Buttons();
$tabControl->End();
$tabControl->ShowWarnings("fticket", $message);
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");
?>
/home/bitrix/www/bitrix/modules/fileman/classes/general/html_editor.phppassed
Не найдено