29
0
mirror of https://github.com/joomla/joomla-cms.git synced 2024-08-25 20:49:50 +00:00
cms/installation/response/json.php
Jean-Marie Simonet 99737a0887 Updating copyright
2013-12-31 12:25:08 +01:00

73 lines
1.6 KiB
PHP

<?php
/**
* @package Joomla.Installation
* @subpackage Response
*
* @copyright Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* JSON Response class for the Joomla Installer.
*
* @package Joomla.Installation
* @subpackage Response
* @since 3.1
*/
class InstallationResponseJson
{
/**
* Constructor for the JSON response
*
* @param mixed $data Exception if there is an error, otherwise, the session data
*
* @since 3.1
*/
public function __construct($data)
{
// The old token is invalid so send a new one.
$this->token = JSession::getFormToken(true);
// Get the language and send it's tag along
$this->lang = JFactory::getLanguage()->getTag();
// Get the message queue
$messages = JFactory::getApplication()->getMessageQueue();
// Build the sorted message list
if (is_array($messages) && count($messages))
{
foreach ($messages as $msg)
{
if (isset($msg['type']) && isset($msg['message']))
{
$lists[$msg['type']][] = $msg['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 ($data instanceof Exception)
{
// Prepare the error response.
$this->error = true;
$this->header = JText::_('INSTL_HEADER_ERROR');
$this->message = $data->getMessage();
}
else
{
// Prepare the response data.
$this->error = false;
$this->data = $data;
}
}
}