diff --git a/administrator/modules/mod_user/mod_user.php b/administrator/modules/mod_user/mod_user.php deleted file mode 100644 index a78693f73252a..0000000000000 --- a/administrator/modules/mod_user/mod_user.php +++ /dev/null @@ -1,17 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - */ - -\defined('_JEXEC') or die; - -use Joomla\CMS\Helper\ModuleHelper; - -$user = $app->getIdentity(); - -require ModuleHelper::getLayoutPath('mod_user', $params->get('layout', 'default')); diff --git a/administrator/modules/mod_user/mod_user.xml b/administrator/modules/mod_user/mod_user.xml index 2ddf26bbadb5d..4c491b040bff3 100644 --- a/administrator/modules/mod_user/mod_user.xml +++ b/administrator/modules/mod_user/mod_user.xml @@ -9,8 +9,10 @@ www.joomla.org 4.0.0 MOD_USER_XML_DESCRIPTION + Joomla\Module\User - mod_user.php + services + src tmpl diff --git a/administrator/modules/mod_user/services/provider.php b/administrator/modules/mod_user/services/provider.php new file mode 100644 index 0000000000000..3c23c7c9228d3 --- /dev/null +++ b/administrator/modules/mod_user/services/provider.php @@ -0,0 +1,39 @@ + + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +\defined('_JEXEC') or die; + +use Joomla\CMS\Extension\Service\Provider\Module; +use Joomla\CMS\Extension\Service\Provider\ModuleDispatcherFactory; +use Joomla\DI\Container; +use Joomla\DI\ServiceProviderInterface; + +/** + * The user menu module service provider. + * + * @since __DEPLOY_VERSION__ + */ +return new class () implements ServiceProviderInterface { + /** + * Registers the service provider with a DI container. + * + * @param Container $container The DI container. + * + * @return void + * + * @since __DEPLOY_VERSION__ + */ + public function register(Container $container) + { + $container->registerServiceProvider(new ModuleDispatcherFactory('\\Joomla\\Module\\User')); + + $container->registerServiceProvider(new Module()); + } +}; diff --git a/administrator/modules/mod_user/src/Dispatcher/Dispatcher.php b/administrator/modules/mod_user/src/Dispatcher/Dispatcher.php new file mode 100644 index 0000000000000..6ad5e94ad346b --- /dev/null +++ b/administrator/modules/mod_user/src/Dispatcher/Dispatcher.php @@ -0,0 +1,41 @@ + + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +namespace Joomla\Module\User\Administrator\Dispatcher; + +use Joomla\CMS\Dispatcher\AbstractModuleDispatcher; + +// phpcs:disable PSR1.Files.SideEffects +\defined('_JEXEC') or die; +// phpcs:enable PSR1.Files.SideEffects + +/** + * Dispatcher class for mod_user + * + * @since __DEPLOY_VERSION__ + */ +class Dispatcher extends AbstractModuleDispatcher +{ + /** + * Returns the layout data. + * + * @return array + * + * @since __DEPLOY_VERSION__ + */ + protected function getLayoutData() + { + $data = parent::getLayoutData(); + + $data['user'] = $this->getApplication()->getIdentity(); + + return $data; + } +}