Server : LiteSpeed System : Linux server 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 User : alsaif ( 1057) PHP Version : 7.4.33 Disable Function : show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/alsaif/public_html/libraries/src/Document/Renderer/Html/ |
<?php
/**
* Joomla! Content Management System
*
* @copyright (C) 2015 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace Joomla\CMS\Document\Renderer\Html;
defined('JPATH_PLATFORM') or die;
use Joomla\CMS\Document\DocumentRenderer;
use Joomla\CMS\Log\Log;
use Joomla\CMS\Layout\LayoutHelper;
/**
* HTML document renderer for the system message queue
*
* @since 3.5
*/
class MessageRenderer extends DocumentRenderer
{
/**
* Renders the error stack and returns the results as a string
*
* @param string $name Not used.
* @param array $params Associative array of values
* @param string $content Not used.
*
* @return string The output of the script
*
* @since 3.5
*/
public function render($name, $params = array(), $content = null)
{
$msgList = $this->getData();
$displayData = array(
'msgList' => $msgList,
'name' => $name,
'params' => $params,
'content' => $content,
);
$app = \JFactory::getApplication();
$chromePath = JPATH_THEMES . '/' . $app->getTemplate() . '/html/message.php';
if (file_exists($chromePath))
{
include_once $chromePath;
}
if (function_exists('renderMessage'))
{
Log::add('renderMessage() is deprecated. Override system message rendering with layouts instead.', Log::WARNING, 'deprecated');
return renderMessage($msgList);
}
return LayoutHelper::render('joomla.system.message', $displayData);
}
/**
* Get and prepare system message data for output
*
* @return array An array contains system message
*
* @since 3.5
*/
private function getData()
{
// Initialise variables.
$lists = array();
// Get the message queue
$messages = \JFactory::getApplication()->getMessageQueue();
// Build the sorted message list
if (is_array($messages) && !empty($messages))
{
foreach ($messages as $msg)
{
if (isset($msg['type']) && isset($msg['message']))
{
$lists[$msg['type']][] = $msg['message'];
}
}
}
return $lists;
}
}