success, * so you can use both flags equivalently. * * @var boolean * @since 2.5 */ public $error = false; /** * The main response message * * @var string * @since 2.5 */ public $message = null; /** * Array of messages gathered in the JApplication object * * @var array * @since 2.5 */ public $messages = null; /** * The response data * * @var mixed * @since 2.5 */ public $data = null; /** * Constructor * * @param mixed $response The Response data * @param string $message The main response message * @param boolean $error True, if the success flag shall be set to false, defaults to false * * @since 2.5 * @deprecated 4.0 Use JResponseJson instead */ public function __construct($response = null, $message = null, $error = false) { JLog::add('Class JJsonResponse is deprecated. Use class JResponseJson instead.', JLog::WARNING, 'deprecated'); $this->message = $message; // Get the message queue $messages = JFactory::getApplication()->getMessageQueue(); // Build the sorted messages list if (is_array($messages) && count($messages)) { foreach ($messages as $message) { if (isset($message['type']) && isset($message['message'])) { $lists[$message['type']][] = $message['message']; } } } // If messages exist add them to the output if (isset($lists) && is_array($lists)) { $this->messages = $lists; } // Check if we are dealing with an error if ($response instanceof Exception) { // Prepare the error response $this->success = false; $this->error = true; $this->message = $response->getMessage(); } else { // Prepare the response data $this->success = !$error; $this->error = $error; $this->data = $response; } } /** * Magic toString method for sending the response in JSON format * * @return string The response in JSON format * * @since 2.5 */ public function __toString() { return json_encode($this); } }