Current Path : /var/www/www-root/data/www/monolith-realty.ru/bitrix/modules/main/lib/ |
Current File : /var/www/www-root/data/www/monolith-realty.ru/bitrix/modules/main/lib/result.php |
<?php /** * Bitrix Framework * @package bitrix * @subpackage main * @copyright 2001-2015 Bitrix */ namespace Bitrix\Main; use Bitrix\Main\DB\SqlExpression; class Result { /** @var bool */ protected $isSuccess = true; /** @var ErrorCollection */ protected $errors; /** @var array */ protected $data = array(); public function __construct() { $this->errors = new ErrorCollection(); } public function __clone() { $this->errors = clone $this->errors; } /** * Returns the result status. * * @return bool */ public function isSuccess() { return $this->isSuccess; } /** * Adds the error. * * @param Error $error * @return $this */ public function addError(Error $error) { $this->isSuccess = false; $this->errors[] = $error; return $this; } /** * Returns an array of Error objects. * * @return Error[] */ public function getErrors() { return $this->errors->toArray(); } /** * Returns the error collection. * * @return ErrorCollection */ public function getErrorCollection() { return $this->errors; } /** * Returns array of strings with error messages * * @return string[] */ public function getErrorMessages() { $messages = array(); foreach($this->getErrors() as $error) $messages[] = $error->getMessage(); return $messages; } /** * Adds array of Error objects * * @param Error[] $errors * @return $this */ public function addErrors(array $errors) { if ($errors) { $this->isSuccess = false; $this->errors->add($errors); } return $this; } /** * Sets data of the result. * @param array $data * @return $this */ public function setData(array $data) { // do not save sql expressions foreach ($data as $k => $v) { if ($v instanceof SqlExpression) { unset($data[$k]); } } $this->data = $data; return $this; } /** * Returns data array saved into the result. * @return array */ public function getData() { return $this->data; } }