| Server IP : 54.36.91.62 / Your IP : 216.73.217.94 Web Server : Apache System : Linux webm013.cluster127.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : coopiak ( 151928) PHP Version : 8.3.23 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/coopiak/amisdesseniors-fr/nice2/templates/yootheme/packages/platform-joomla/ |
Upload File : |
<?php
namespace YOOtheme;
use Joomla\CMS\Application\CMSApplication as CMSApp;
use Joomla\CMS\Application\SiteApplication as SiteApp;
use Joomla\CMS\Document\Document;
use Joomla\CMS\Document\HtmlDocument;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Language;
use Joomla\CMS\Router\Router as JoomlaRouter;
use Joomla\CMS\Router\SiteRouter;
use Joomla\CMS\Session\Session;
use Joomla\CMS\Uri\Uri;
use Joomla\CMS\User\User;
use Joomla\DI\Container;
use Joomla\Database\DatabaseDriver;
use Joomla\Input\Input;
use YOOtheme\Joomla\ActionLoader;
use YOOtheme\Joomla\Media;
use YOOtheme\Joomla\Platform;
use YOOtheme\Joomla\Router;
Url::setBase(Uri::root(true));
Path::setAlias('~', strtr(JPATH_ROOT, '\\', '/'));
return [
'config' => function () {
$joomla = Factory::getApplication();
$normalize = fn($path) => strtr($path, '\\', '/');
return [
'app' => [
'platform' => 'joomla',
'version' => JVERSION,
'secret' => (string) $joomla->get('secret'),
'debug' => (bool) $joomla->get('debug'),
'rootDir' => $normalize(JPATH_ROOT),
'tempDir' => $normalize($joomla->get('tmp_path', JPATH_ROOT . '/tmp')),
'adminDir' => $normalize(JPATH_ADMINISTRATOR),
'cacheDir' => $normalize($joomla->get('cache_path', JPATH_ROOT . '/cache')),
'uploadDir' => fn() => Media::getRoot(),
'isSite' => $joomla->isClient('site'),
'isAdmin' => $joomla->isClient('administrator'),
],
'req' => [
'baseUrl' => Uri::base(true),
'rootUrl' => Uri::root(true),
'siteUrl' => rtrim(Uri::root(), '/'),
],
'locale' => [
'rtl' => fn() => (bool) $joomla->getLanguage()->get('rtl'),
'code' => fn() => strtr($joomla->getLanguage()->get('tag'), '-', '_'),
],
'session' => [
'token' => fn() => Session::getFormToken(),
],
];
},
'events' => [
'url.route' => [Router::class => 'generate'],
'app.error' => [Platform::class => ['handleError', -50]],
],
'actions' => [
'onAfterRoute' => [Platform::class => ['handleRoute', -50]],
'onBeforeCompileHead' => [Platform::class => ['registerAssets', -50]],
],
'loaders' => [
'actions' => ActionLoader::class,
],
'aliases' => [
Document::class => HtmlDocument::class,
],
'services' => array_merge(
[
ActionLoader::class => '',
CsrfMiddleware::class => fn(Config $config) => new CsrfMiddleware(
$config('session.token'),
),
HttpClientInterface::class => Joomla\HttpClient::class,
Storage::class => Joomla\Storage::class,
DatabaseDriver::class => [
'factory' => fn(Container $container) => $container->get(DatabaseDriver::class),
],
SiteApp::class => [
'factory' => fn(CMSApp $joomla) => $joomla->isClient('site') ? $joomla : null,
],
CMSApp::class => ['factory' => fn() => Factory::getApplication()],
Container::class => ['factory' => fn() => Factory::getContainer()],
Document::class => ['factory' => fn(CMSApp $joomla) => $joomla->getDocument()],
Input::class => ['factory' => fn(CMSApp $joomla) => $joomla->input],
Language::class => ['factory' => fn(CMSApp $joomla) => $joomla->getLanguage()],
Session::class => ['factory' => fn(CMSApp $joomla) => $joomla->getSession()],
SiteRouter::class => fn(Container $container) => $container->get(SiteRouter::class),
User::class => ['factory' => fn(CMSApp $joomla) => $joomla->getIdentity()],
],
version_compare(JVERSION, '4.0', '<')
? [
DatabaseDriver::class => [
'factory' => function () {
// Force autoloading (Type hints do not trigger autoloading)
class_exists(DatabaseDriver::class);
return Factory::getDbo();
},
],
SiteRouter::class => fn() => JoomlaRouter::getInstance('site'),
User::class => ['factory' => fn() => Factory::getUser()],
]
: [],
),
];