$container->registerServiceProvider(new ComponentDispatcherFactory('\\Joomla\\Component\\Templates'));
$container->set(
ComponentInterface::class,
function (Container $container) {
$component = new TemplatesComponent($container->get(ComponentDispatcherFactoryInterface::class));
$component->setMVCFactory($container->get(MVCFactoryInterface::class));
$component->setRegistry($container->get(Registry::class));
return $component;
}
return $this->instance;
}
return $callable($this->container);
}
/**
* Get the factory
*
}
throw new KeyNotFoundException(sprintf("Resource '%s' has not been registered with the container.", $resourceName));
}
return $this->resources[$key]->getInstance();
}
/**
* Check if specified resource exists.
*
'container' => $container,
]
)
);
$extension = $container->get($type);
if ($extension instanceof BootableExtensionInterface) {
$extension->boot($container);
}
$component = str_starts_with($component, 'com_') ? substr($component, 4) : $component;
// Path to look for services
$path = JPATH_ADMINISTRATOR . '/components/com_' . $component;
return $this->loadExtension(ComponentInterface::class, $component, $path);
}
/**
* Boots the module with the given name.
*
$cacheId = 'templates0' . $tag;
if ($cache->contains($cacheId)) {
$templates = $cache->get($cacheId);
} else {
$templates = $this->bootComponent('templates')->getMVCFactory()
->createModel('Style', 'Administrator')->getSiteTemplates();
foreach ($templates as &$template) {
// Create home element
if ($template->home == 1 && !isset($template_home) || $this->getLanguageFilter() && $template->home == $tag) {
public function render(\Throwable $error): string
{
$app = Factory::getApplication();
// Get the current template from the application
$template = $app->getTemplate(true);
// Push the error object into the document
$this->getDocument()->setError($error);
// Add registry file for the template asset
'subject' => $app,
'document' => $renderer->getDocument(),
])
);
$data = $renderer->render($error);
// If nothing was rendered, just use the message from the Exception
if (empty($data)) {
$data = $error->getMessage();
}
* @since 3.10.0
*/
public static function handleException(\Throwable $error)
{
static::logException($error);
static::render($error);
}
/**
* Render the error page based on an exception.
*
);
// Trigger the onError event.
$this->dispatchEvent('onError', $event);
ExceptionHandler::handleException($event->getError());
}
// Trigger the onBeforeRespond event.
$this->dispatchEvent(
'onBeforeRespond',
// Set the application as global app
\Joomla\CMS\Factory::$application = $app;
// Execute the application.
$app->execute();
* define() is used rather than "const" to not error for PHP 5.2 and lower
*/
define('_JEXEC', 1);
// Run the application - All executable code should be triggered through this file
require_once dirname(__FILE__) . '/includes/app.php';
if ($this->isActive()) {
throw new \RuntimeException('Failed to start the session: already started by PHP.');
}
if (ini_get('session.use_cookies') && headers_sent($file, $line)) {
throw new \RuntimeException(
sprintf('Failed to start the session because headers have already been sent by "%s" at line %d.', $file, $line)
);
}
if (!session_start()) {
$this->setId($session_clean);
$cookie->set($session_name, '', time() - 3600);
}
}
parent::start();
// Try loading data from the session
if (!empty($_SESSION['joomla'])) {
$this->data = unserialize(base64_decode($_SESSION['joomla']));
}
{
if ($this->isStarted()) {
return;
}
$this->store->start();
$this->setState(SessionState::ACTIVE);
// Initialise the session
$this->setCounter();
* @since 1.0
*/
public function has($name)
{
if (!$this->isActive()) {
$this->start();
}
return $this->store->has($name);
}
$name = $args[2] . '.' . $name;
}
}
if (parent::has($name)) {
// Parent is used because of b/c, can be changed in Joomla 6
return parent::get($name, $default);
}
/*
__CLASS__
),
E_USER_DEPRECATED
);
$instance = self::getApplication()->getSession()->get('user');
if (\is_null($id)) {
if (!($instance instanceof User)) {
$instance = User::getInstance();
}
*
* @since 3.2
*/
protected function initialiseApp($options = [])
{
$user = Factory::getUser();
// If the user is a guest we populate it with the guest user group.
if ($user->guest) {
$guestUsergroup = ComponentHelper::getParams('com_users')->get('guest_usergroup', 1);
$user->groups = [$guestUsergroup];
* @since 3.2
*/
protected function doExecute()
{
// Initialise the application
$this->initialiseApp();
// Mark afterInitialise in the profiler.
JDEBUG ? $this->profiler->mark('afterInitialise') : null;
// Route the application
$this->sanityCheckSystemVariables();
$this->setupLogging();
$this->createExtensionNamespaceMap();
// Perform application routines.
$this->doExecute();
// If we have an application document object, render it.
if ($this->document instanceof \Joomla\CMS\Document\Document) {
// Render the application output.
$this->render();
// Set the application as global app
\Joomla\CMS\Factory::$application = $app;
// Execute the application.
$app->execute();
* define() is used rather than "const" to not error for PHP 5.2 and lower
*/
define('_JEXEC', 1);
// Run the application - All executable code should be triggered through this file
require_once dirname(__FILE__) . '/includes/app.php';
[2/2]
ClassNotFoundError
|
---|
Symfony\Component\ErrorHandler\Error\ClassNotFoundError: Attempted to load class "TemplatesComponent" from namespace "Joomla\Component\Templates\Administrator\Extension". Did you forget a "use" statement for another namespace? at /www/htdocs/w0193bf6/websites/it-knaepper/prod/administrator/components/com_templates/services/provider.php:46 at Joomla\DI\ServiceProviderInterface@anonymous /www/htdocs/w0193bf6/websites/it-knaepper/prod/administrator/components/com_templates/services/provider.php:28$65->{closure}(object(Container)) (/www/htdocs/w0193bf6/websites/it-knaepper/prod/libraries/vendor/joomla/di/src/ContainerResource.php:172) at Joomla\DI\ContainerResource->getInstance() (/www/htdocs/w0193bf6/websites/it-knaepper/prod/libraries/vendor/joomla/di/src/Container.php:95) at Joomla\DI\Container->get('Joomla\\CMS\\Extension\\ComponentInterface') (/www/htdocs/w0193bf6/websites/it-knaepper/prod/libraries/src/Extension/ExtensionManagerTrait.php:177) at Joomla\CMS\Application\CMSApplication->loadExtension('Joomla\\CMS\\Extension\\ComponentInterface', 'templates', '/www/htdocs/w0193bf6/websites/it-knaepper/prod/administrator/components/com_templates') (/www/htdocs/w0193bf6/websites/it-knaepper/prod/libraries/src/Extension/ExtensionManagerTrait.php:51) at Joomla\CMS\Application\CMSApplication->bootComponent('templates') (/www/htdocs/w0193bf6/websites/it-knaepper/prod/libraries/src/Application/SiteApplication.php:475) at Joomla\CMS\Application\SiteApplication->getTemplate(true) (/www/htdocs/w0193bf6/websites/it-knaepper/prod/libraries/src/Error/Renderer/HtmlRenderer.php:50) at Joomla\CMS\Error\Renderer\HtmlRenderer->render(object(RuntimeException)) (/www/htdocs/w0193bf6/websites/it-knaepper/prod/libraries/src/Exception/ExceptionHandler.php:136) at Joomla\CMS\Exception\ExceptionHandler::render(object(RuntimeException)) (/www/htdocs/w0193bf6/websites/it-knaepper/prod/libraries/src/Exception/ExceptionHandler.php:73) at Joomla\CMS\Exception\ExceptionHandler::handleException(object(RuntimeException)) (/www/htdocs/w0193bf6/websites/it-knaepper/prod/libraries/src/Application/CMSApplication.php:336) at Joomla\CMS\Application\CMSApplication->execute() (/www/htdocs/w0193bf6/websites/it-knaepper/prod/includes/app.php:58) at require_once('/www/htdocs/w0193bf6/websites/it-knaepper/prod/includes/app.php') (/www/htdocs/w0193bf6/websites/it-knaepper/prod/index.php:32) |
[1/2]
RuntimeException
|
---|
RuntimeException: Failed to start the session because headers have already been sent by "/www/htdocs/w0193bf6/websites/it-knaepper/prod/libraries/namespacemap.php" at line 108. at /www/htdocs/w0193bf6/websites/it-knaepper/prod/libraries/vendor/joomla/session/src/Storage/NativeStorage.php:454 at Joomla\Session\Storage\NativeStorage->start() (/www/htdocs/w0193bf6/websites/it-knaepper/prod/libraries/src/Session/Storage/JoomlaStorage.php:313) at Joomla\CMS\Session\Storage\JoomlaStorage->start() (/www/htdocs/w0193bf6/websites/it-knaepper/prod/libraries/vendor/joomla/session/src/Session.php:396) at Joomla\Session\Session->start() (/www/htdocs/w0193bf6/websites/it-knaepper/prod/libraries/vendor/joomla/session/src/Session.php:327) at Joomla\Session\Session->has('user') (/www/htdocs/w0193bf6/websites/it-knaepper/prod/libraries/src/Session/Session.php:194) at Joomla\CMS\Session\Session->get('user') (/www/htdocs/w0193bf6/websites/it-knaepper/prod/libraries/src/Factory.php:372) at Joomla\CMS\Factory::getUser() (/www/htdocs/w0193bf6/websites/it-knaepper/prod/libraries/src/Application/SiteApplication.php:581) at Joomla\CMS\Application\SiteApplication->initialiseApp() (/www/htdocs/w0193bf6/websites/it-knaepper/prod/libraries/src/Application/SiteApplication.php:238) at Joomla\CMS\Application\SiteApplication->doExecute() (/www/htdocs/w0193bf6/websites/it-knaepper/prod/libraries/src/Application/CMSApplication.php:306) at Joomla\CMS\Application\CMSApplication->execute() (/www/htdocs/w0193bf6/websites/it-knaepper/prod/includes/app.php:58) at require_once('/www/htdocs/w0193bf6/websites/it-knaepper/prod/includes/app.php') (/www/htdocs/w0193bf6/websites/it-knaepper/prod/index.php:32) |