• Модуль: xmpp
  • Путь к файлу: ~/bitrix/modules/xmpp/classes/server.php
  • Класс: CXMPPServer
  • Вызов: CXMPPServer::Initialize
protected function Initialize()
{
	if ($this->initialized)
		return;

	ini_set('max_execution_time', 0);
	set_time_limit(0);
	ob_implicit_flush(true);

	$level = ob_get_level();
	for ($i = 0; $i < $level; $i++)
		ob_end_clean();

	$this->testMode = ($GLOBALS["argc"] > 1 ? $GLOBALS["argv"][1] == "test_mode" : false);
	$this->bitrix24Mode = ($GLOBALS["argc"] > 1 ? $GLOBALS["argv"][1] == "bitrix24" : false);

	if ($this->testMode)
	{
		if ($f = @fsockopen(CXMPPServer::GetDomain(), 5222, $errNo, $errStr, 2))
			die(str_replace(array("#host#", "#port#"), array(CXMPPServer::GetDomain(), 5222), "#host#:#port# is already in use."));

		$curPhpVer = phpversion();
		$arCurPhpVer = explode(".", $curPhpVer);
		if (intval($arCurPhpVer[0]) < 5)
			die(str_replace("#ver#", $curPhpVer, "You are using PHP version #ver#, but the xmpp server requires version 5.0.0 or higher."));
	}

	$this->arClients = array();
	$this->arClientsIndex = array();
	$this->lastClientId = 0;

	$this->startPeriodTime = time();
	$this->startPeriodTimeTruncate = time();

	$this->arOnlineOnSite = array();

	$this->logLevel = intval(COption::GetOptionString("xmpp", "log_level", "4"));

	$this->initialized = true;
}