• Модуль: imconnector
  • Путь к файлу: ~/bitrix/modules/imconnector/lib/rest/status.php
  • Класс: BitrixImConnectorRestStatus
  • Вызов: Status::activate
static function activate($params, $n, CRestServer $server)
	{
		$result = true;

		$params = array_change_key_case($params, CASE_UPPER);

		if($server->getAuthType() !== Auth::AUTH_TYPE)
		{
			throw new AuthTypeException("Application context required");
		}

		if(!isset($params['CONNECTOR']))
		{
			throw new ArgumentNullException("CONNECTOR");
		}

		if(!isset($params['LINE']))
		{
			throw new ArgumentNullException("LINE");
		}

		if(!isset($params['ACTIVE']))
		{
			throw new ArgumentNullException("ACTIVE");
		}

		if(!empty($params['ACTIVE']))
		{
			$status = StatusConnector::getInstance($params['CONNECTOR'], (int)$params['LINE']);
			$status
				->setActive(true)
				->setConnection(true)
				->setRegister(true)
				->setError(false);

			$app = BitrixRestAppTable::getByClientId($server->getClientId());
			if ($app['CODE'])
			{
				$id = uniqid($app['CODE'], true);
				AddEventToStatFile(
					'imconnector',
					'activateRestConnector',
					$id,
					$app['CODE'],
					'appCode'
				);
				AddEventToStatFile(
					'imconnector',
					'activateRestConnector',
					$id,
					$params['CONNECTOR'],
					'connectorCode'
				);
			}
		}
		else
		{
			$result = StatusConnector::delete($params['CONNECTOR'], (int)$params['LINE']);
		}

		self::cleanCache($params['CONNECTOR'], $params['LINE']);

		return $result;
	}