}
}
// Check, the data were found and if template really exists
if (!is_file(JPATH_THEMES . '/' . $template->template . '/index.php')) {
throw new \InvalidArgumentException(Text::sprintf('JERROR_COULD_NOT_FIND_TEMPLATE', $original_tmpl));
}
}
// Cache the result
$this->template = $template;
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
// Reset the document object in the factory, this gives us a clean slate and lets everything render properly
Factory::$document = $renderer->getDocument();
Factory::getApplication()->loadDocument(Factory::$document);
$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->triggerEvent('onError', $event);
ExceptionHandler::handleException($event->getError());
}
// Trigger the onBeforeRespond event.
$this->getDispatcher()->dispatch('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';
$this->statement = $connection->prepare($query);
if (!$this->statement)
{
throw new PrepareStatementFailureException($this->connection->error, $this->connection->errno);
}
}
/**
* Replace named parameters with numbered parameters
* @since 2.0.0
* @throws PrepareStatementFailureException
*/
protected function prepareStatement(string $query): StatementInterface
{
return new MysqliStatement($this->connection, $query);
}
/**
* Unlocks tables in the database.
*
$query->setLimit($limit, $offset);
$sql = $this->replacePrefix((string) $query);
$this->statement = $this->prepareStatement($sql);
$this->sql = $query;
$this->limit = (int) max(0, $limit);
$this->offset = (int) max(0, $offset);
->from($this->db->quoteName('#__session'))
->where($this->db->quoteName('session_id') . ' = :session_id')
->bind(':session_id', $sessionId)
->setLimit(1);
$this->db->setQuery($query);
try {
$exists = $this->db->loadResult();
} catch (ExecutionFailureException $e) {
return self::$sessionRecordUnknown;
* @since 4.0.0
* @throws \RuntimeException
*/
public function createOrUpdateRecord(SessionInterface $session, User $user)
{
$exists = $this->checkSessionRecordExists($session->getId());
// Do not try to touch the database if we can't determine the record state
if ($exists === self::$sessionRecordUnknown) {
return;
}
// Whether to track Session Metadata for Guest user
if (!$this->config->get('session_metadata_for_guest', true) && !$user->id) {
return;
}
$this->metadataManager->createOrUpdateRecord($event->getSession(), $user);
}
}
$this->serviceId
)
);
}
\call_user_func([$service, $this->method], $event);
}
}
if ($event->isStopped())
{
return $event;
}
$listener($event);
}
}
return $event;
}
// Dispatch deprecated event
$this->dispatcher->dispatch('onAfterSessionStart', new SessionEvent('onAfterSessionStart', $this));
}
// Dispatch new event
$this->dispatcher->dispatch(SessionEvents::START, new SessionEvent(SessionEvents::START, $this));
}
}
/**
* Frees all session variables and destroys all data registered to a session
*/
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 5
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]
InvalidArgumentException
|
---|
InvalidArgumentException: Could not find template "". at /home/eshistorico/public_html/libraries/src/Application/SiteApplication.php:557 at Joomla\CMS\Application\SiteApplication->getTemplate(true) (/home/eshistorico/public_html/libraries/src/Error/Renderer/HtmlRenderer.php:50) at Joomla\CMS\Error\Renderer\HtmlRenderer->render(object(PrepareStatementFailureException)) (/home/eshistorico/public_html/libraries/src/Exception/ExceptionHandler.php:121) at Joomla\CMS\Exception\ExceptionHandler::render(object(PrepareStatementFailureException)) (/home/eshistorico/public_html/libraries/src/Exception/ExceptionHandler.php:72) at Joomla\CMS\Exception\ExceptionHandler::handleException(object(PrepareStatementFailureException)) (/home/eshistorico/public_html/libraries/src/Application/CMSApplication.php:322) at Joomla\CMS\Application\CMSApplication->execute() (/home/eshistorico/public_html/includes/app.php:61) at require_once('/home/eshistorico/public_html/includes/app.php') (/home/eshistorico/public_html/index.php:32) |
[1/2]
PrepareStatementFailureException
|
---|
Joomla\Database\Exception\PrepareStatementFailureException: Table 'eshistorico_eshistodb.eshi_session' doesn't exist at /home/eshistorico/public_html/libraries/vendor/joomla/database/src/Mysqli/MysqliStatement.php:141 at Joomla\Database\Mysqli\MysqliStatement->__construct(object(mysqli), 'SELECT `session_id`FROM `eshi_session`WHERE `session_id` = ? LIMIT 1') (/home/eshistorico/public_html/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:1089) at Joomla\Database\Mysqli\MysqliDriver->prepareStatement('SELECT `session_id`FROM `eshi_session`WHERE `session_id` = :session_id LIMIT 1') (/home/eshistorico/public_html/libraries/vendor/joomla/database/src/DatabaseDriver.php:1900) at Joomla\Database\DatabaseDriver->setQuery(object(MysqliQuery)) (/home/eshistorico/public_html/libraries/src/Session/MetadataManager.php:184) at Joomla\CMS\Session\MetadataManager->checkSessionRecordExists('3529bdb7fa24e2250bbbb92409c768bc') (/home/eshistorico/public_html/libraries/src/Session/MetadataManager.php:125) at Joomla\CMS\Session\MetadataManager->createOrUpdateRecord(object(Session), object(User)) (/home/eshistorico/public_html/libraries/src/Session/EventListener/MetadataManagerListener.php:80) at Joomla\CMS\Session\EventListener\MetadataManagerListener->onAfterSessionStart(object(SessionEvent)) (/home/eshistorico/public_html/libraries/vendor/joomla/event/src/LazyServiceEventListener.php:128) at Joomla\Event\LazyServiceEventListener->__invoke(object(SessionEvent)) (/home/eshistorico/public_html/libraries/vendor/joomla/event/src/Dispatcher.php:486) at Joomla\Event\Dispatcher->dispatch('session.start', object(SessionEvent)) (/home/eshistorico/public_html/libraries/vendor/joomla/session/src/Session.php:444) at Joomla\Session\Session->start() (/home/eshistorico/public_html/libraries/vendor/joomla/session/src/Session.php:333) at Joomla\Session\Session->has('user') (/home/eshistorico/public_html/libraries/src/Session/Session.php:194) at Joomla\CMS\Session\Session->get('user') (/home/eshistorico/public_html/libraries/src/Factory.php:374) at Joomla\CMS\Factory::getUser() (/home/eshistorico/public_html/libraries/src/Application/SiteApplication.php:582) at Joomla\CMS\Application\SiteApplication->initialiseApp() (/home/eshistorico/public_html/libraries/src/Application/SiteApplication.php:238) at Joomla\CMS\Application\SiteApplication->doExecute() (/home/eshistorico/public_html/libraries/src/Application/CMSApplication.php:293) at Joomla\CMS\Application\CMSApplication->execute() (/home/eshistorico/public_html/includes/app.php:61) at require_once('/home/eshistorico/public_html/includes/app.php') (/home/eshistorico/public_html/index.php:32) |