primo commit

This commit is contained in:
2024-12-17 17:34:10 +01:00
commit e650f8df99
16435 changed files with 2451012 additions and 0 deletions

View File

@ -0,0 +1,65 @@
<?php
/**
* @package Joomla.Administrator
* @subpackage mod_messages
*
* @copyright (C) 2024 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace Joomla\Module\Messages\Administrator\Dispatcher;
use Joomla\CMS\Dispatcher\AbstractModuleDispatcher;
use Joomla\CMS\Helper\HelperFactoryAwareInterface;
use Joomla\CMS\Helper\HelperFactoryAwareTrait;
// phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die;
// phpcs:enable PSR1.Files.SideEffects
/**
* Dispatcher class for mod_messages
*
* @since 5.1.0
*/
class Dispatcher extends AbstractModuleDispatcher implements HelperFactoryAwareInterface
{
use HelperFactoryAwareTrait;
/**
* Runs the dispatcher.
*
* @return void
*
* @since 5.1.0
*/
public function dispatch()
{
// Check permissions.
if (
!$this->getApplication()->getIdentity()->authorise('core.login.admin')
|| !$this->getApplication()->getIdentity()->authorise('core.manage', 'com_messages')
) {
return;
}
parent::dispatch();
}
/**
* Returns the layout data.
*
* @return array
*
* @since 5.1.0
*/
protected function getLayoutData()
{
$data = parent::getLayoutData();
$data['countUnread'] = $this->getHelperFactory()->getHelper('MessagesHelper')->getUnreadMessagesCount($data['params'], $this->getApplication());
return $data;
}
}

View File

@ -0,0 +1,58 @@
<?php
/**
* @package Joomla.Administrator
* @subpackage mod_messages
*
* @copyright (C) 2024 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace Joomla\Module\Messages\Administrator\Helper;
use Joomla\CMS\Application\AdministratorApplication;
use Joomla\Registry\Registry;
// phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die;
// phpcs:enable PSR1.Files.SideEffects
/**
* Helper for mod_messages
*
* @since 5.1.0
*/
class MessagesHelper
{
/**
* Get count of unread messages.
*
* @param Registry $params Object holding the module parameters
* @param AdministratorApplication $app The application
*
* @return integer
*
* @since 5.1.0
*/
public function getUnreadMessagesCount(Registry $params, AdministratorApplication $app)
{
// Try to get the items from the messages model
try {
/**
* @var \Joomla\Component\Messages\Administrator\Model\MessagesModel $messagesModel
*
*/
$messagesModel = $app->bootComponent('com_messages')->getMVCFactory()
->createModel('Messages', 'Administrator', ['ignore_request' => true]);
$messagesModel->setState('filter.state', 0);
$messages = $messagesModel->getItems();
return \count($messages);
} catch (\RuntimeException $e) {
// Still render the error message from the Exception object
$app->enqueueMessage($e->getMessage(), 'error');
return 0;
}
}
}