%PDF- %PDF-
Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/libs/ |
Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/libs/JSONResponse.php |
<?php /** * @link https://www.humhub.org/ * @copyright Copyright (c) 2017 HumHub GmbH & Co. KG * @license https://www.humhub.com/licences */ namespace humhub\libs; use Yii; use yii\base\BaseObject; use yii\web\Response; /** * Description of JSONResponse * * @author buddha */ class JSONResponse extends BaseObject { const RESULT_KEY_OUTPUT = 'output'; const RESULT_KEY_SUCCESS = 'success'; /** * The resulting json array * @var [] */ private $result = []; public static function output($dom, $success = null) { return (new static())->withOutput($dom, $success)->result(); } public function error($errors, $errorTitle = null, $status = null) { $this->result['errorTitle'] = $errorTitle; $this->result['errors'] = $errors; $this->result['status'] = ($status != null && $status > 0) ? $status : self::STATE_ERROR_APPLICATION; return $this; } public function success($success = true) { $this->result[static::RESULT_KEY_SUCCESS] = $success; } public function content($content) { $this->result['content'] = $content; return $this; } public function withOutput($dom, $success = null) { $this->result[static::RESULT_KEY_OUTPUT] = $dom; if($success !== null) { $this->success($success); } return $this; } public function data($key, $value) { if (!is_array($this->result['data'])) { $this->result['data'] = []; } $this->result['data'][$key] = $value; return $this; } public function result() { $response = Yii::$app->getResponse(); $response->format = Response::FORMAT_JSON; $response->data = $this->result; return $response; } }