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/domains/alsaif.group/public_html/libraries/fof40/Cli/Traits/ |
<?php
/**
* @package FOF
* @copyright Copyright (c)2010-2022 Nicholas K. Dionysopoulos / Akeeba Ltd
* @license GNU General Public License version 3, or later
*/
namespace FOF40\Cli\Traits;
defined('_JEXEC') || die;
/**
* Sometimes other extensions will try to enqueue messages to the application. Methods for those tasks only exists in
* web applications, so we have to replicate their behavior in CLI environment or fatal errors will occur
*
* @package FOF40\Cli\Traits
*/
trait MessageAware
{
/** @var array Queue holding all messages */
protected $messageQueue = [];
/**
* @param $msg
* @param $type
*
* @return void
*/
public function enqueueMessage($msg, $type)
{
// Don't add empty messages.
if (trim($msg) === '')
{
return;
}
$message = ['message' => $msg, 'type' => strtolower($type)];
if (!in_array($message, $this->messageQueue))
{
// Enqueue the message.
$this->messageQueue[] = $message;
}
}
/**
* Loosely based on Joomla getMessageQueue
*
* @param bool $clear
*
* @return array
*/
public function getMessageQueue($clear = false)
{
$messageQueue = $this->messageQueue;
if ($clear)
{
$this->messageQueue = [];
}
return $messageQueue;
}
}