%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/modules/sender/lib/internals/querycontroller/ |
Current File : /home/bitrix/www/bitrix/modules/sender/lib/internals/querycontroller/content.php |
<?php /** * Bitrix Framework * @package bitrix * @subpackage sender * @copyright 2001-2017 Bitrix */ namespace Bitrix\Sender\Internals\QueryController; use Bitrix\Main\Localization\Loc; use Bitrix\Main\Error; use Bitrix\Main\ErrorCollection; Loc::loadMessages(__FILE__); /** * Class Answer * @package Bitrix\Sender\Internals\QueryController */ abstract class Content { const TYPE_JSON = 'json'; const TYPE_HTML = 'html'; /** @var ErrorCollection $errors Errors. */ protected $errors; /** @var Response $response Response. */ protected $response; public static function create (Response $response, $type) { switch ($type) { case Content::TYPE_HTML: return new ContentHtml($response); case Content::TYPE_JSON: default: return new ContentJson($response); } } /** * Answer constructor. * @param Response $response Response. */ public function __construct(Response $response) { $this->errors = new ErrorCollection; $this->response = $response; } /** * On flush callback. */ public function onFlush() { } /** * @return string */ abstract public function toText(); /** * @param $message * @param null $code */ public function addError($message, $code = null) { $this->errors->setError(new Error($message, $code)); } /** * @param string|null $message Message. */ public function addPermissionError($message = null) { if (!$message) { $message = 'Access denied.'; } $this->errors->setError(new Error($message, 0)); } /** * @return ErrorCollection */ public function getErrorCollection() { return $this->errors; } protected function getErrorMessages() { $list = array(); foreach ($this->errors as $error) { /** @var Error $error Error. */ $list[] = $error->getMessage(); } return $list; } }