| Current Path : /var/www/consult-e-syn/public_html/components/com_ats/Dispatcher/ |
| Current File : /var/www/consult-e-syn/public_html/components/com_ats/Dispatcher/Dispatcher.php |
<?php
/**
* @package ats
* @copyright Copyright (c)2011-2022 Nicholas K. Dionysopoulos / Akeeba Ltd
* @license GNU General Public License version 3, or later
*/
namespace Akeeba\TicketSystem\Site\Dispatcher;
defined('_JEXEC') or die;
use Akeeba\TicketSystem\Admin\Dispatcher\Mixin\CommonJavascript;
use Akeeba\TicketSystem\Admin\Dispatcher\Mixin\Emoji;
use Akeeba\TicketSystem\Admin\Helper\Blade;
use Akeeba\TicketSystem\Site\Helper\Breadcrumbs;
use AkeebaFEFHelper;
use FOF40\Container\Container;
use FOF40\Dispatcher\Mixin\ViewAliases;
use Joomla\CMS\HTML\HTMLHelper;
class Dispatcher extends \FOF40\Dispatcher\Dispatcher
{
use Emoji;
use CommonJavascript;
use ViewAliases
{
onBeforeDispatch as onBeforeDispatchViewAliases;
}
/** @var string The name of the default view, in case none is specified */
public $defaultView = 'ControlPanel';
public function __construct(Container $container, array $config = [])
{
parent::__construct($container, $config);
// Add our custom Blade templates
Blade::extend($container);
}
protected function onBeforeDispatch()
{
$autoloaderPath = $this->container->backEndPath . '/vendor/autoload.php';
if (file_exists($autoloaderPath))
{
require_once $autoloaderPath;
}
// Set up and implement view aliases
$this->viewNameAliases = [
'assignedticket' => 'AssignedTicket',
'assignedtickets' => 'AssignedTickets',
'bucket' => 'Bucket',
'buckets' => 'Buckets',
'bucketreply' => 'Bucket',
'cannedreplies' => 'CannedReplies',
'categories' => 'Categories',
'juser' => 'Juser',
'jusers' => 'Jusers',
'latests' => 'Latests',
'latest' => 'Latest',
'managernote' => 'ManagerNote',
'managernotes' => 'ManagerNotes',
'my' => 'My',
'mies' => 'Mies',
'newticket' => 'NewTicket',
'newtickets' => 'NewTickets',
'post' => 'Post',
'posts' => 'Posts',
'ticket' => 'Ticket',
'tickets' => 'Tickets',
];
$this->permanentAliasRedirectionOnGET = true;
$this->onBeforeDispatchViewAliases();
// Set up the version defines
@include_once(JPATH_ADMINISTRATOR . '/components/com_ats/version.php');
if (!defined('ATS_VERSION'))
{
define('ATS_PRO', '0');
define('ATS_VERSION', 'dev');
define('ATS_DATE', date('Y-m-d'));
}
// Renderer options (0=none, 1=frontend, 2=backend, 3=both)
$useFEF = in_array($this->container->params->get('load_fef', 3), [1, 3]);
$fefReset = $useFEF && in_array($this->container->params->get('fef_reset', 3), [1, 3]);
if (!$useFEF)
{
$this->container->rendererClass = '\\FOF40\\Render\\Joomla3';
$this->container->template->addCSS('media://com_ats/css/frontend.min.css', $this->container->mediaVersion);
}
$darkMode = $this->container->params->get('dark_mode_frontend', 0);
$customCss = 'media://com_ats/css/frontend.min.css';
if ($useFEF && ($darkMode != 0))
{
$customCss .= ', media://com_ats/css/frontend_dark.min.css';
}
$this->container->renderer->setOptions([
'load_fef' => $useFEF,
'fef_reset' => $fefReset,
'custom_css' => $customCss,
'fef_dark' => $useFEF ? $darkMode : 0,
]);
$this->loadCommonJavaScript();
}
protected function onAfterDispatch()
{
if (class_exists('Akeeba\TicketSystem\Site\Helper\Breadcrumbs'))
{
Breadcrumbs::buildCrumbs();
}
//$this->loadTwemoji();
}
}