Spade
Mini Shell
| Directory:~$ /proc/self/root/home/lmsyaran/www/joomla5/libraries/src/Dispatcher/ |
| [Home] [System Details] [Kill Me] |
<?php
/**
* Joomla! Content Management System
*
* @copyright (C) 2018 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
namespace Joomla\CMS\Dispatcher;
// phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die;
// phpcs:enable PSR1.Files.SideEffects
/**
* Base class for a Joomla Module Dispatcher
*
* Executes the single entry file of a module.
*
* @since 4.0.0
*/
class ModuleDispatcher extends AbstractModuleDispatcher
{
/**
* Dispatches the dispatcher.
*
* @return void
*
* @since 4.0.0
*/
public function dispatch()
{
$path = JPATH_BASE . '/modules/' .
$this->module->module . '/' . $this->module->module .
'.php';
if (!is_file($path)) {
return;
}
$this->loadLanguage();
// Execute the layout without the module context
$loader = static function ($path, array $displayData) {
// If $displayData doesn't exist in extracted data, unset
the variable.
if (!\array_key_exists('displayData', $displayData))
{
extract($displayData);
unset($displayData);
} else {
extract($displayData);
}
include $path;
};
$loader($path, $this->getLayoutData());
}
}