Current Path : /home/bitrix/vorobey-clubru/bitrix/modules/main/ |
Current File : /home/bitrix/vorobey-clubru/bitrix/modules/main/include.php |
<?php /** * Bitrix Framework * @package bitrix * @subpackage main * @copyright 2001-2013 Bitrix */ require_once(substr(__FILE__, 0, strlen(__FILE__) - strlen("/include.php"))."/bx_root.php"); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/start.php"); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/virtual_io.php"); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/virtual_file.php"); $application = \Bitrix\Main\Application::getInstance(); $application->initializeExtendedKernel(array( "get" => $_GET, "post" => $_POST, "files" => $_FILES, "cookie" => $_COOKIE, "server" => $_SERVER, "env" => $_ENV )); //define global application object $GLOBALS["APPLICATION"] = new CMain; if(defined("SITE_ID")) define("LANG", SITE_ID); if(defined("LANG")) { if(defined("ADMIN_SECTION") && ADMIN_SECTION===true) $db_lang = CLangAdmin::GetByID(LANG); else $db_lang = CLang::GetByID(LANG); $arLang = $db_lang->Fetch(); if(!$arLang) { throw new \Bitrix\Main\SystemException("Incorrect site: ".LANG."."); } } else { $arLang = $GLOBALS["APPLICATION"]->GetLang(); define("LANG", $arLang["LID"]); } $lang = $arLang["LID"]; if (!defined("SITE_ID")) define("SITE_ID", $arLang["LID"]); define("SITE_DIR", $arLang["DIR"]); define("SITE_SERVER_NAME", $arLang["SERVER_NAME"]); define("SITE_CHARSET", $arLang["CHARSET"]); define("FORMAT_DATE", $arLang["FORMAT_DATE"]); define("FORMAT_DATETIME", $arLang["FORMAT_DATETIME"]); define("LANG_DIR", $arLang["DIR"]); define("LANG_CHARSET", $arLang["CHARSET"]); define("LANG_ADMIN_LID", $arLang["LANGUAGE_ID"]); define("LANGUAGE_ID", $arLang["LANGUAGE_ID"]); $context = $application->getContext(); $context->setLanguage(LANGUAGE_ID); $context->setCulture(new \Bitrix\Main\Context\Culture($arLang)); $request = $context->getRequest(); if (!$request->isAdminSection()) { $context->setSite(SITE_ID); } $application->start(); $GLOBALS["APPLICATION"]->reinitPath(); if (!defined("POST_FORM_ACTION_URI")) { define("POST_FORM_ACTION_URI", htmlspecialcharsbx(GetRequestUri())); } $GLOBALS["MESS"] = array(); $GLOBALS["ALL_LANG_FILES"] = array(); IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/tools.php"); IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/classes/general/database.php"); IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/classes/general/main.php"); IncludeModuleLangFile(__FILE__); error_reporting(COption::GetOptionInt("main", "error_reporting", E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR|E_PARSE) & ~E_STRICT & ~E_DEPRECATED); if(!defined("BX_COMP_MANAGED_CACHE") && COption::GetOptionString("main", "component_managed_cache_on", "Y") <> "N") { define("BX_COMP_MANAGED_CACHE", true); } require_once($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/filter_tools.php"); require_once($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/ajax_tools.php"); /*ZDUyZmZMDA5ZDAwOGMxMDQxYzgyZDg3YzNjOGE5YzE1ODU4OWU=*/$GLOBALS['_____1546394958']= array(base64_decode('R2V'.'0TW9'.'kdW'.'xlRXZl'.'b'.'nRz'),base64_decode(''.'RXh'.'lY'.'3V0'.'Z'.'U1vZHVsZUV'.'2ZW50'.'RX'.'g'.'='));$GLOBALS['____327425822']= array(base64_decode('Z'.'GVmaW'.'5l'),base64_decode('c'.'3RybGVu'),base64_decode(''.'Y'.'mFzZTY0X2RlY29'.'kZ'.'Q=='),base64_decode('dW'.'5z'.'ZXJpYW'.'xpe'.'mU'.'='),base64_decode(''.'a'.'X'.'NfYX'.'JyY'.'Xk='),base64_decode('Y29'.'1bn'.'Q='),base64_decode('aW5f'.'Y'.'X'.'JyYXk='),base64_decode('c'.'2'.'V'.'ya'.'WFsaXpl'),base64_decode('YmFzZT'.'Y'.'0X2VuY2'.'9kZ'.'Q=='),base64_decode('c3RybGVu'),base64_decode(''.'Y'.'XJ'.'yYXl'.'fa2'.'V5X2V4'.'aXN0cw=='),base64_decode('aW5fYX'.'JyY'.'Xk='),base64_decode('c3Ry'.'bG'.'V'.'u'),base64_decode('YXJ'.'yY'.'X'.'lfa2V5X2V4aX'.'N0'.'c'.'w=='),base64_decode('bWV0'.'aG9kX2V4aXN'.'0c'.'w=='),base64_decode('Y2FsbF91c2'.'VyX2Z1bmNfY'.'XJ'.'yYXk='),base64_decode(''.'aW5f'.'YXJyYXk'.'='),base64_decode('ZGVmaW5l'));if(!function_exists(__NAMESPACE__.'\\___1231584934')){function ___1231584934($_1929581268){static $_118491078= false; if($_118491078 == false) $_118491078=array('Q'.'lVTSU5FU1N'.'f'.'RURJVElPTg==','WQ'.'='.'=','bWFpbg='.'=','fmNwZl9tYX'.'BfdmF'.'sdWU=','','U21h'.'bGw'.'=',''.'U2'.'1'.'hbGw=','b'.'WF'.'pbg==',''.'fmN'.'wZl9tYXBfdm'.'Fsd'.'W'.'U=','bWFp'.'bg==','T'.'24=',''.'U'.'2V'.'0dGl'.'u'.'Z'.'3NDaG'.'FuZ2U'.'=','VFlQRQ==',''.'Rg='.'=','WA==','REFURQ==','','Rk'.'VB'.'V'.'F'.'V'.'SRVM'.'=','RVhQSV'.'JFRA==','RkV'.'BVFVSRV'.'M'.'=','Rg='.'=','RU5DT0RF',''.'WQ'.'==');return base64_decode($_118491078[$_1929581268]);}};$GLOBALS['____327425822'][0](___1231584934(0), ___1231584934(1));class CBXFeatures{ private static $_1903444298= array( "Small" => array(), "Big" => array( "CatMultiPrice", "CatMultiStore", "CatDiscountSave", "SaleAffiliate", "SaleAccounts", "SaleCCards", "SaleReports", "SaleRecurring", "CatCompleteSet", "CatMultiFactor",),); private static $_357368515= false; private static $_1265197664= false; private static function __250331739(){ if(self::$_357368515 == false){ self::$_357368515= array(); foreach(self::$_1903444298 as $_1908762202 => $_1732289223){ foreach($_1732289223 as $_293750282) self::$_357368515[$_293750282]= $_1908762202;}} if(self::$_1265197664 == false){ self::$_1265197664= array(); $_258690528= COption::GetOptionString(___1231584934(2), ___1231584934(3), ___1231584934(4)); if($GLOBALS['____327425822'][1]($_258690528)>(197*2-394)){ $_258690528= $GLOBALS['____327425822'][2]($_258690528); self::$_1265197664= $GLOBALS['____327425822'][3]($_258690528); if(!$GLOBALS['____327425822'][4](self::$_1265197664)) self::$_1265197664= array(___1231584934(5));} if($GLOBALS['____327425822'][5](self::$_1265197664) <=(1304/2-652)) self::$_1265197664= array(___1231584934(6));}} public static function InitiateEditionsSettings($_497357275){ self::__250331739(); $_1647949988= array(); foreach(self::$_1903444298 as $_1908762202 => $_1732289223){ if($GLOBALS['____327425822'][6]($_1908762202, $_497357275)){ self::$_1265197664[]= $_1908762202;} else{ foreach($_1732289223 as $_293750282) $_1647949988[]= $_293750282;}} $_2098634410= $GLOBALS['____327425822'][7](self::$_1265197664); $_2098634410= $GLOBALS['____327425822'][8]($_2098634410); COption::SetOptionString(___1231584934(7), ___1231584934(8), $_2098634410); foreach($_1647949988 as $_631743234) self::__693159612($_631743234, false);} public static function IsFeatureEnabled($_293750282){ if($GLOBALS['____327425822'][9]($_293750282) <= 0) return true; self::__250331739(); if(!$GLOBALS['____327425822'][10]($_293750282, self::$_357368515)) return true; return $GLOBALS['____327425822'][11](self::$_357368515[$_293750282], self::$_1265197664);} public static function IsFeatureInstalled($_293750282){ return self::IsFeatureEnabled($_293750282);} public static function IsFeatureEditable($_293750282){ if($GLOBALS['____327425822'][12]($_293750282) <= 0) return true; self::__250331739(); if(!$GLOBALS['____327425822'][13]($_293750282, self::$_357368515)) return true; return false;} private static function __693159612($_293750282, $_2017293765){ if($GLOBALS['____327425822'][14]("CBXFeatures", "On".$_293750282."SettingsChange")) $GLOBALS['____327425822'][15](array("CBXFeatures", "On".$_293750282."SettingsChange"), array($_293750282, $_2017293765)); $_25169242= $GLOBALS['_____1546394958'][0](___1231584934(9), ___1231584934(10).$_293750282.___1231584934(11)); while($_226737142= $_25169242->Fetch()) $GLOBALS['_____1546394958'][1]($_226737142, array($_293750282, $_2017293765));} public static function SetFeatureEnabled($_293750282, $_2017293765= true, $_948618202= true){} public static function SaveFeaturesSettings($_143019178, $_1838924278){} public static function GetFeaturesList(){ self::__250331739(); $_474313930= array(); foreach(self::$_1903444298 as $_1908762202 => $_1732289223){ $_474313930[$_1908762202]= array( ___1231584934(12) => $GLOBALS['____327425822'][16]($_1908762202, self::$_1265197664)? ___1231584934(13): ___1231584934(14), ___1231584934(15) => ___1231584934(16), ___1231584934(17) => array(), ___1231584934(18) => false,); foreach($_1732289223 as $_293750282) $_474313930[$_1908762202][___1231584934(19)][$_293750282]=($_474313930[$_1908762202] == ___1231584934(20));} return $_474313930;}} $GLOBALS['____327425822'][17](___1231584934(21), ___1231584934(22));/**/ //Do not remove this //component 2.0 template engines $GLOBALS["arCustomTemplateEngines"] = array(); require_once($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/classes/general/urlrewriter.php"); /** * Defined in dbconn.php * @param string $DBType */ \Bitrix\Main\Loader::registerAutoLoadClasses( "main", array( "CSiteTemplate" => "classes/general/site_template.php", "CBitrixComponent" => "classes/general/component.php", "CComponentEngine" => "classes/general/component_engine.php", "CComponentAjax" => "classes/general/component_ajax.php", "CBitrixComponentTemplate" => "classes/general/component_template.php", "CComponentUtil" => "classes/general/component_util.php", "CControllerClient" => "classes/general/controller_member.php", "PHPParser" => "classes/general/php_parser.php", "CDiskQuota" => "classes/".$DBType."/quota.php", "CEventLog" => "classes/general/event_log.php", "CEventMain" => "classes/general/event_log.php", "CAdminFileDialog" => "classes/general/file_dialog.php", "WLL_User" => "classes/general/liveid.php", "WLL_ConsentToken" => "classes/general/liveid.php", "WindowsLiveLogin" => "classes/general/liveid.php", "CAllFile" => "classes/general/file.php", "CFile" => "classes/".$DBType."/file.php", "CTempFile" => "classes/general/file_temp.php", "CFavorites" => "classes/".$DBType."/favorites.php", "CUserOptions" => "classes/general/user_options.php", "CGridOptions" => "classes/general/grids.php", "CUndo" => "/classes/general/undo.php", "CAutoSave" => "/classes/general/undo.php", "CRatings" => "classes/".$DBType."/ratings.php", "CRatingsComponentsMain" => "classes/".$DBType."/ratings_components.php", "CRatingRule" => "classes/general/rating_rule.php", "CRatingRulesMain" => "classes/".$DBType."/rating_rules.php", "CTopPanel" => "public/top_panel.php", "CEditArea" => "public/edit_area.php", "CComponentPanel" => "public/edit_area.php", "CTextParser" => "classes/general/textparser.php", "CPHPCacheFiles" => "classes/general/cache_files.php", "CDataXML" => "classes/general/xml.php", "CXMLFileStream" => "classes/general/xml.php", "CRsaProvider" => "classes/general/rsasecurity.php", "CRsaSecurity" => "classes/general/rsasecurity.php", "CRsaBcmathProvider" => "classes/general/rsabcmath.php", "CRsaOpensslProvider" => "classes/general/rsaopenssl.php", "CASNReader" => "classes/general/asn.php", "CBXShortUri" => "classes/".$DBType."/short_uri.php", "CFinder" => "classes/general/finder.php", "CAccess" => "classes/general/access.php", "CAuthProvider" => "classes/general/authproviders.php", "IProviderInterface" => "classes/general/authproviders.php", "CGroupAuthProvider" => "classes/general/authproviders.php", "CUserAuthProvider" => "classes/general/authproviders.php", "CTableSchema" => "classes/general/table_schema.php", "CCSVData" => "classes/general/csv_data.php", "CSmile" => "classes/general/smile.php", "CSmileGallery" => "classes/general/smile.php", "CSmileSet" => "classes/general/smile.php", "CGlobalCounter" => "classes/general/global_counter.php", "CUserCounter" => "classes/".$DBType."/user_counter.php", "CUserCounterPage" => "classes/".$DBType."/user_counter.php", "CHotKeys" => "classes/general/hot_keys.php", "CHotKeysCode" => "classes/general/hot_keys.php", "CBXSanitizer" => "classes/general/sanitizer.php", "CBXArchive" => "classes/general/archive.php", "CAdminNotify" => "classes/general/admin_notify.php", "CBXFavAdmMenu" => "classes/general/favorites.php", "CAdminInformer" => "classes/general/admin_informer.php", "CSiteCheckerTest" => "classes/general/site_checker.php", "CSqlUtil" => "classes/general/sql_util.php", "CHTMLPagesCache" => "classes/general/cache_html.php", "CFileUploader" => "classes/general/uploader.php", "LPA" => "classes/general/lpa.php", "CAdminFilter" => "interface/admin_filter.php", "CAdminList" => "interface/admin_list.php", "CAdminUiList" => "interface/admin_ui_list.php", "CAdminUiResult" => "interface/admin_ui_list.php", "CAdminUiContextMenu" => "interface/admin_ui_list.php", "CAdminListRow" => "interface/admin_list.php", "CAdminTabControl" => "interface/admin_tabcontrol.php", "CAdminForm" => "interface/admin_form.php", "CAdminFormSettings" => "interface/admin_form.php", "CAdminTabControlDrag" => "interface/admin_tabcontrol_drag.php", "CAdminDraggableBlockEngine" => "interface/admin_tabcontrol_drag.php", "CJSPopup" => "interface/jspopup.php", "CJSPopupOnPage" => "interface/jspopup.php", "CAdminCalendar" => "interface/admin_calendar.php", "CAdminViewTabControl" => "interface/admin_viewtabcontrol.php", "CAdminTabEngine" => "interface/admin_tabengine.php", ) ); require_once($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/classes/".$DBType."/agent.php"); require_once($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/classes/".$DBType."/user.php"); require_once($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/classes/".$DBType."/event.php"); require_once($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/classes/general/menu.php"); AddEventHandler("main", "OnAfterEpilog", array("\\Bitrix\\Main\\Data\\ManagedCache", "finalize")); require_once($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/classes/".$DBType."/usertype.php"); if(file_exists(($_fname = $_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/classes/general/update_db_updater.php"))) { $US_HOST_PROCESS_MAIN = False; include($_fname); } if(file_exists(($_fname = $_SERVER["DOCUMENT_ROOT"]."/bitrix/init.php"))) include_once($_fname); if(($_fname = getLocalPath("php_interface/init.php", BX_PERSONAL_ROOT)) !== false) include_once($_SERVER["DOCUMENT_ROOT"].$_fname); if(($_fname = getLocalPath("php_interface/".SITE_ID."/init.php", BX_PERSONAL_ROOT)) !== false) include_once($_SERVER["DOCUMENT_ROOT"].$_fname); if(!defined("BX_FILE_PERMISSIONS")) define("BX_FILE_PERMISSIONS", 0644); if(!defined("BX_DIR_PERMISSIONS")) define("BX_DIR_PERMISSIONS", 0755); //global var, is used somewhere $GLOBALS["sDocPath"] = $GLOBALS["APPLICATION"]->GetCurPage(); if((!(defined("STATISTIC_ONLY") && STATISTIC_ONLY && substr($GLOBALS["APPLICATION"]->GetCurPage(), 0, strlen(BX_ROOT."/admin/"))!=BX_ROOT."/admin/")) && COption::GetOptionString("main", "include_charset", "Y")=="Y" && strlen(LANG_CHARSET)>0) header("Content-Type: text/html; charset=".LANG_CHARSET); if(COption::GetOptionString("main", "set_p3p_header", "Y")=="Y") header("P3P: policyref=\"/bitrix/p3p.xml\", CP=\"NON DSP COR CUR ADM DEV PSA PSD OUR UNR BUS UNI COM NAV INT DEM STA\""); header("X-Powered-CMS: Bitrix Site Manager (".(LICENSE_KEY == "DEMO"? "DEMO" : md5("BITRIX".LICENSE_KEY."LICENCE")).")"); if (COption::GetOptionString("main", "update_devsrv", "") == "Y") header("X-DevSrv-CMS: Bitrix"); define("BX_CRONTAB_SUPPORT", defined("BX_CRONTAB")); if(COption::GetOptionString("main", "check_agents", "Y")=="Y") { define("START_EXEC_AGENTS_1", microtime()); $GLOBALS["BX_STATE"] = "AG"; $GLOBALS["DB"]->StartUsingMasterOnly(); CAgent::CheckAgents(); $GLOBALS["DB"]->StopUsingMasterOnly(); define("START_EXEC_AGENTS_2", microtime()); $GLOBALS["BX_STATE"] = "PB"; } //session initialization ini_set("session.cookie_httponly", "1"); if($domain = $GLOBALS["APPLICATION"]->GetCookieDomain()) ini_set("session.cookie_domain", $domain); if(COption::GetOptionString("security", "session", "N") === "Y" && CModule::IncludeModule("security")) CSecuritySession::Init(); session_start(); foreach (GetModuleEvents("main", "OnPageStart", true) as $arEvent) ExecuteModuleEventEx($arEvent); //define global user object $GLOBALS["USER"] = new CUser; //session control from group policy $arPolicy = $GLOBALS["USER"]->GetSecurityPolicy(); $currTime = time(); if( ( //IP address changed $_SESSION['SESS_IP'] && strlen($arPolicy["SESSION_IP_MASK"])>0 && ( (ip2long($arPolicy["SESSION_IP_MASK"]) & ip2long($_SESSION['SESS_IP'])) != (ip2long($arPolicy["SESSION_IP_MASK"]) & ip2long($_SERVER['REMOTE_ADDR'])) ) ) || ( //session timeout $arPolicy["SESSION_TIMEOUT"]>0 && $_SESSION['SESS_TIME']>0 && $currTime-$arPolicy["SESSION_TIMEOUT"]*60 > $_SESSION['SESS_TIME'] ) || ( //session expander control isset($_SESSION["BX_SESSION_TERMINATE_TIME"]) && $_SESSION["BX_SESSION_TERMINATE_TIME"] > 0 && $currTime > $_SESSION["BX_SESSION_TERMINATE_TIME"] ) || ( //signed session isset($_SESSION["BX_SESSION_SIGN"]) && $_SESSION["BX_SESSION_SIGN"] <> bitrix_sess_sign() ) || ( //session manually expired, e.g. in $User->LoginHitByHash isSessionExpired() ) ) { $_SESSION = array(); @session_destroy(); //session_destroy cleans user sesssion handles in some PHP versions //see http://bugs.php.net/bug.php?id=32330 discussion if(COption::GetOptionString("security", "session", "N") === "Y" && CModule::IncludeModule("security")) CSecuritySession::Init(); session_id(md5(uniqid(rand(), true))); session_start(); $GLOBALS["USER"] = new CUser; } $_SESSION['SESS_IP'] = $_SERVER['REMOTE_ADDR']; $_SESSION['SESS_TIME'] = time(); if(!isset($_SESSION["BX_SESSION_SIGN"])) $_SESSION["BX_SESSION_SIGN"] = bitrix_sess_sign(); //session control from security module if( (COption::GetOptionString("main", "use_session_id_ttl", "N") == "Y") && (COption::GetOptionInt("main", "session_id_ttl", 0) > 0) && !defined("BX_SESSION_ID_CHANGE") ) { if(!array_key_exists('SESS_ID_TIME', $_SESSION)) { $_SESSION['SESS_ID_TIME'] = $_SESSION['SESS_TIME']; } elseif(($_SESSION['SESS_ID_TIME'] + COption::GetOptionInt("main", "session_id_ttl")) < $_SESSION['SESS_TIME']) { if(COption::GetOptionString("security", "session", "N") === "Y" && CModule::IncludeModule("security")) { CSecuritySession::UpdateSessID(); } else { session_regenerate_id(); } $_SESSION['SESS_ID_TIME'] = $_SESSION['SESS_TIME']; } } define("BX_STARTED", true); if (isset($_SESSION['BX_ADMIN_LOAD_AUTH'])) { define('ADMIN_SECTION_LOAD_AUTH', 1); unset($_SESSION['BX_ADMIN_LOAD_AUTH']); } if(!defined("NOT_CHECK_PERMISSIONS") || NOT_CHECK_PERMISSIONS!==true) { $bLogout = isset($_REQUEST["logout"]) && (strtolower($_REQUEST["logout"]) == "yes"); if($bLogout && $GLOBALS["USER"]->IsAuthorized()) { $GLOBALS["USER"]->Logout(); LocalRedirect($GLOBALS["APPLICATION"]->GetCurPageParam('', array('logout'))); } // authorize by cookies if(!$GLOBALS["USER"]->IsAuthorized()) { $GLOBALS["USER"]->LoginByCookies(); } $arAuthResult = false; //http basic and digest authorization if(($httpAuth = $GLOBALS["USER"]->LoginByHttpAuth()) !== null) { $arAuthResult = $httpAuth; $GLOBALS["APPLICATION"]->SetAuthResult($arAuthResult); } //Authorize user from authorization html form if(isset($_REQUEST["AUTH_FORM"]) && $_REQUEST["AUTH_FORM"] <> '') { $bRsaError = false; if(COption::GetOptionString('main', 'use_encrypted_auth', 'N') == 'Y') { //possible encrypted user password $sec = new CRsaSecurity(); if(($arKeys = $sec->LoadKeys())) { $sec->SetKeys($arKeys); $errno = $sec->AcceptFromForm(array('USER_PASSWORD', 'USER_CONFIRM_PASSWORD')); if($errno == CRsaSecurity::ERROR_SESS_CHECK) $arAuthResult = array("MESSAGE"=>GetMessage("main_include_decode_pass_sess"), "TYPE"=>"ERROR"); elseif($errno < 0) $arAuthResult = array("MESSAGE"=>GetMessage("main_include_decode_pass_err", array("#ERRCODE#"=>$errno)), "TYPE"=>"ERROR"); if($errno < 0) $bRsaError = true; } } if($bRsaError == false) { if(!defined("ADMIN_SECTION") || ADMIN_SECTION !== true) $USER_LID = LANG; else $USER_LID = false; if($_REQUEST["TYPE"] == "AUTH") { $arAuthResult = $GLOBALS["USER"]->Login($_REQUEST["USER_LOGIN"], $_REQUEST["USER_PASSWORD"], $_REQUEST["USER_REMEMBER"]); } elseif($_REQUEST["TYPE"] == "OTP") { $arAuthResult = $GLOBALS["USER"]->LoginByOtp($_REQUEST["USER_OTP"], $_REQUEST["OTP_REMEMBER"], $_REQUEST["captcha_word"], $_REQUEST["captcha_sid"]); } elseif($_REQUEST["TYPE"] == "SEND_PWD") { $arAuthResult = CUser::SendPassword($_REQUEST["USER_LOGIN"], $_REQUEST["USER_EMAIL"], $USER_LID, $_REQUEST["captcha_word"], $_REQUEST["captcha_sid"]); } elseif($_SERVER['REQUEST_METHOD'] == 'POST' && $_REQUEST["TYPE"] == "CHANGE_PWD") { $arAuthResult = $GLOBALS["USER"]->ChangePassword($_REQUEST["USER_LOGIN"], $_REQUEST["USER_CHECKWORD"], $_REQUEST["USER_PASSWORD"], $_REQUEST["USER_CONFIRM_PASSWORD"], $USER_LID, $_REQUEST["captcha_word"], $_REQUEST["captcha_sid"]); } elseif(COption::GetOptionString("main", "new_user_registration", "N") == "Y" && $_SERVER['REQUEST_METHOD'] == 'POST' && $_REQUEST["TYPE"] == "REGISTRATION" && (!defined("ADMIN_SECTION") || ADMIN_SECTION!==true)) { $arAuthResult = $GLOBALS["USER"]->Register($_REQUEST["USER_LOGIN"], $_REQUEST["USER_NAME"], $_REQUEST["USER_LAST_NAME"], $_REQUEST["USER_PASSWORD"], $_REQUEST["USER_CONFIRM_PASSWORD"], $_REQUEST["USER_EMAIL"], $USER_LID, $_REQUEST["captcha_word"], $_REQUEST["captcha_sid"]); } if($_REQUEST["TYPE"] == "AUTH" || $_REQUEST["TYPE"] == "OTP") { //special login form in the control panel if($arAuthResult === true && defined('ADMIN_SECTION') && ADMIN_SECTION === true) { //store cookies for next hit (see CMain::GetSpreadCookieHTML()) $GLOBALS["APPLICATION"]->StoreCookies(); $_SESSION['BX_ADMIN_LOAD_AUTH'] = true; echo '<script type="text/javascript">window.onload=function(){top.BX.AUTHAGENT.setAuthResult(false);};</script>'; die(); } } } $GLOBALS["APPLICATION"]->SetAuthResult($arAuthResult); } elseif(!$GLOBALS["USER"]->IsAuthorized()) { //Authorize by unique URL $GLOBALS["USER"]->LoginHitByHash(); } } //application password scope control if(($applicationID = $GLOBALS["USER"]->GetParam("APPLICATION_ID")) !== null) { $appManager = \Bitrix\Main\Authentication\ApplicationManager::getInstance(); if($appManager->checkScope($applicationID) !== true) { $event = new \Bitrix\Main\Event("main", "onApplicationScopeError", Array('APPLICATION_ID' => $applicationID)); $event->send(); CHTTP::SetStatus("403 Forbidden"); die(); } } //define the site template if(!defined("ADMIN_SECTION") || ADMIN_SECTION !== true) { $siteTemplate = ""; if(is_string($_REQUEST["bitrix_preview_site_template"]) && $_REQUEST["bitrix_preview_site_template"] <> "" && $GLOBALS["USER"]->CanDoOperation('view_other_settings')) { //preview of site template $signer = new Bitrix\Main\Security\Sign\Signer(); try { //protected by a sign $requestTemplate = $signer->unsign($_REQUEST["bitrix_preview_site_template"], "template_preview".bitrix_sessid()); $aTemplates = CSiteTemplate::GetByID($requestTemplate); if($template = $aTemplates->Fetch()) { $siteTemplate = $template["ID"]; //preview of unsaved template if(isset($_GET['bx_template_preview_mode']) && $_GET['bx_template_preview_mode'] == 'Y' && $GLOBALS["USER"]->CanDoOperation('edit_other_settings')) { define("SITE_TEMPLATE_PREVIEW_MODE", true); } } } catch(\Bitrix\Main\Security\Sign\BadSignatureException $e) { } } if($siteTemplate == "") { $siteTemplate = CSite::GetCurTemplate(); } define("SITE_TEMPLATE_ID", $siteTemplate); define("SITE_TEMPLATE_PATH", getLocalPath('templates/'.SITE_TEMPLATE_ID, BX_PERSONAL_ROOT)); } //magic parameters: show page creation time if(isset($_GET["show_page_exec_time"])) { if($_GET["show_page_exec_time"]=="Y" || $_GET["show_page_exec_time"]=="N") $_SESSION["SESS_SHOW_TIME_EXEC"] = $_GET["show_page_exec_time"]; } //magic parameters: show included file processing time if(isset($_GET["show_include_exec_time"])) { if($_GET["show_include_exec_time"]=="Y" || $_GET["show_include_exec_time"]=="N") $_SESSION["SESS_SHOW_INCLUDE_TIME_EXEC"] = $_GET["show_include_exec_time"]; } //magic parameters: show include areas if(isset($_GET["bitrix_include_areas"]) && $_GET["bitrix_include_areas"] <> "") $GLOBALS["APPLICATION"]->SetShowIncludeAreas($_GET["bitrix_include_areas"]=="Y"); //magic sound if($GLOBALS["USER"]->IsAuthorized()) { $cookie_prefix = COption::GetOptionString('main', 'cookie_name', 'BITRIX_SM'); if(!isset($_COOKIE[$cookie_prefix.'_SOUND_LOGIN_PLAYED'])) $GLOBALS["APPLICATION"]->set_cookie('SOUND_LOGIN_PLAYED', 'Y', 0); } //magic cache \Bitrix\Main\Page\Frame::shouldBeEnabled(); //magic short URI if(defined("BX_CHECK_SHORT_URI") && BX_CHECK_SHORT_URI && CBXShortUri::CheckUri()) { //local redirect inside die(); } foreach(GetModuleEvents("main", "OnBeforeProlog", true) as $arEvent) ExecuteModuleEventEx($arEvent); if((!defined("NOT_CHECK_PERMISSIONS") || NOT_CHECK_PERMISSIONS!==true) && (!defined("NOT_CHECK_FILE_PERMISSIONS") || NOT_CHECK_FILE_PERMISSIONS!==true)) { $real_path = $request->getScriptFile(); if(!$GLOBALS["USER"]->CanDoFileOperation('fm_view_file', array(SITE_ID, $real_path)) || (defined("NEED_AUTH") && NEED_AUTH && !$GLOBALS["USER"]->IsAuthorized())) { /** @noinspection PhpUndefinedVariableInspection */ if($GLOBALS["USER"]->IsAuthorized() && $arAuthResult["MESSAGE"] == '') $arAuthResult = array("MESSAGE"=>GetMessage("ACCESS_DENIED").' '.GetMessage("ACCESS_DENIED_FILE", array("#FILE#"=>$real_path)), "TYPE"=>"ERROR"); if(defined("ADMIN_SECTION") && ADMIN_SECTION==true) { if ($_REQUEST["mode"]=="list" || $_REQUEST["mode"]=="settings") { echo "<script>top.location='".$GLOBALS["APPLICATION"]->GetCurPage()."?".DeleteParam(array("mode"))."';</script>"; die(); } elseif ($_REQUEST["mode"]=="frame") { echo "<script type=\"text/javascript\"> var w = (opener? opener.window:parent.window); w.location.href='".$GLOBALS["APPLICATION"]->GetCurPage()."?".DeleteParam(array("mode"))."'; </script>"; die(); } elseif(defined("MOBILE_APP_ADMIN") && MOBILE_APP_ADMIN==true) { echo json_encode(Array("status"=>"failed")); die(); } } /** @noinspection PhpUndefinedVariableInspection */ $GLOBALS["APPLICATION"]->AuthForm($arAuthResult); } } //Do not remove this if(isset($REDIRECT_STATUS) && $REDIRECT_STATUS==404) { if(COption::GetOptionString("main", "header_200", "N")=="Y") CHTTP::SetStatus("200 OK"); }