array $dependencies = []
) {
parent::__construct($name, $uri, $options, $attributes, $dependencies);
// Prepare Uri depend from the active language
$langTag = Factory::getApplication()->getLanguage()->getTag();
$client = $this->getOption('client');
// Create Uri <client>/language/<langTag>/<langTag>.css
if ($client) {
$this->uri = $client . '/language/' . $langTag . '/' . $langTag . '.css';
$className = \array_key_exists('class', $options) ? $options['class'] : null;
if ($className && class_exists($nameSpace . '\\' . $className)) {
$className = $nameSpace . '\\' . $className;
return new $className($name, $uri, $options, $attributes, $dependencies);
}
return new WebAssetItem($name, $uri, $options, $attributes, $dependencies);
}
// Inheriting the Namespace
if ($namespace && !\array_key_exists('namespace', $options)) {
$options['namespace'] = $namespace;
}
$assetItem = $this->createAsset($name, $uri, $options);
$this->add($item['type'], $assetItem);
}
}
/**
$this->dataFilesNew = [];
foreach ($paths as $path) {
// Parse only if the file was not parsed already
if (empty($this->dataFilesParsed[$path])) {
$this->parseRegistryFile($path);
// Mark the file as parsed
$this->dataFilesParsed[$path] = $path;
}
}
if (!array_key_exists($type, $this->assets)) {
$this->assets[$type] = [];
}
// Check if any new file was added
$this->parseRegistryFiles();
$eventChange = 'new';
$eventAsset = $asset;
// Use "old" asset for "Changed" event, a "new" asset can be loaded by a name from the registry
if ($asset instanceof WebAssetItemInterface) {
$this->registry->add($type, $asset);
} elseif (is_string($asset)) {
$options['type'] = $type;
$assetInstance = $this->registry->createAsset($asset, $uri, $options, $attributes, $dependencies);
$this->registry->add($type, $assetInstance);
} else {
throw new \InvalidArgumentException(
sprintf(
'%s(): Argument #2 ($asset) must be a string or an instance of %s, %s given.',
__METHOD__,
}
if ($andUse) {
$name = $arguments[0] instanceof WebAssetItemInterface ? $arguments[0]->getName() : $arguments[0];
return $this->registerAsset($type, ...$arguments)->useAsset($type, $name);
} else {
return $this->registerAsset($type, ...$arguments);
}
}
$templatePath = 'media/templates/site/cassiopeia';
// Color Theme
$paramsColorName = $this->params->get('colorName', 'colors_standard');
$assetColorName = 'theme.' . $paramsColorName;
$wa->registerAndUseStyle($assetColorName, $templatePath . '/css/global/' . $paramsColorName . '.css');
// Use a font scheme if set in the template style options
$paramsFontScheme = $this->params->get('useFontScheme', false);
$fontStyles = '';
// Store the file path
$this->_file = $directory . '/' . $filename;
// Get the file content
ob_start();
require $directory . '/' . $filename;
$contents = ob_get_contents();
ob_end_clean();
}
return $contents;
$this->baseurl = Uri::base(true);
$this->params = $params['params'] ?? new Registry();
$this->template = $template;
// Load
$this->_template = $this->_loadTemplate($baseDir, $file);
return $this;
}
/**
*
* @since 1.7.0
*/
public function parse($params = [])
{
return $this->_fetchTemplate($params)->_parseTemplate();
}
/**
* Outputs the template to the browser.
*
public function render($caching = false, $params = [])
{
$this->_caching = $caching;
if (empty($this->_template)) {
$this->parse($params);
}
if (\array_key_exists('csp_nonce', $params) && $params['csp_nonce'] !== null) {
$this->cspNonce = $params['csp_nonce'];
}
$this->debug = $params['debug'] ?? false;
$this->error = $this->_error;
$params['file'] = 'error.php';
return parent::render($cache, $params);
}
/**
* Render the backtrace
*
ob_end_clean();
}
$this->getDocument()->setTitle(Text::_('Error') . ': ' . $error->getCode());
return $this->getDocument()->render(
false,
[
'template' => $template->template,
'directory' => JPATH_THEMES,
'debug' => JDEBUG,
// 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';
throw new ExecutionFailureException($this->query, $this->statement->error, $this->statement->errno);
}
}
catch (\Throwable $e)
{
throw new ExecutionFailureException($this->query, $e->getMessage(), $e->getCode(), $e);
}
if ($this->columnNames === null)
{
$meta = $this->statement->result_metadata();
$this->statement->bindParam($key, $obj->value, $obj->dataType);
}
try
{
$this->executed = $this->statement->execute();
// If there is a monitor registered, let it know we have finished this query
if ($this->monitor)
{
$this->monitor->stopQuery();
*/
public function getIterator($column = null, $class = \stdClass::class)
{
if (!$this->executed)
{
$this->execute();
}
/**
* Calling setQuery free's the statement from the iterator which will break the iterator.
* So we set statement to null so that freeResult on the statement here has no affect.
);
$components = [];
$db->setQuery($query);
foreach ($db->getIterator() as $component) {
$components[$component->option] = new ComponentRecord((array) $component);
}
return $components;
};
$referenceArgs = &$args;
}
// Just execute the callback if caching is disabled.
if (empty($this->options['caching'])) {
return \call_user_func_array($callback, $referenceArgs);
}
if (!$id) {
// Generate an ID
$id = $this->_makeId($callback, $args);
/** @var CallbackController $cache */
$cache = Factory::getContainer()->get(CacheControllerFactoryInterface::class)->createCacheController('callback', ['defaultgroup' => '_system']);
try {
static::$components = $cache->get($loader, [], __METHOD__);
} catch (CacheExceptionInterface $e) {
static::$components = $loader();
}
return true;
* @since 3.6.3
*/
public static function getComponents()
{
if (empty(static::$components)) {
static::load();
}
return static::$components;
}
*
* @since 1.5
*/
public static function getComponent($option, $strict = false)
{
$components = static::getComponents();
if (isset($components[$option])) {
return $components[$option];
}
* @see Registry
* @since 1.5
*/
public static function getParams($option, $strict = false)
{
return static::getComponent($option, $strict)->getParams();
}
/**
* Applies the global text filters to arbitrary text as per settings for current user groups
*
{
$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];
}
if ($plugin = PluginHelper::getPlugin('system', 'languagefilter')) {
$pluginParams = new Registry($plugin->params);
* @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';
}
}
try
{
if (!$this->statement->execute())
{
throw new ExecutionFailureException($this->query, $this->statement->error, $this->statement->errno);
}
}
catch (\Throwable $e)
}
}
try
{
if (!$this->statement->execute())
{
throw new ExecutionFailureException($this->query, $this->statement->error, $this->statement->errno);
}
}
catch (\Throwable $e)
$this->statement->bindParam($key, $obj->value, $obj->dataType);
}
try
{
$this->executed = $this->statement->execute();
// If there is a monitor registered, let it know we have finished this query
if ($this->monitor)
{
$this->monitor->stopQuery();
*/
public function getIterator($column = null, $class = \stdClass::class)
{
if (!$this->executed)
{
$this->execute();
}
/**
* Calling setQuery free's the statement from the iterator which will break the iterator.
* So we set statement to null so that freeResult on the statement here has no affect.
);
$components = [];
$db->setQuery($query);
foreach ($db->getIterator() as $component) {
$components[$component->option] = new ComponentRecord((array) $component);
}
return $components;
};
$referenceArgs = &$args;
}
// Just execute the callback if caching is disabled.
if (empty($this->options['caching'])) {
return \call_user_func_array($callback, $referenceArgs);
}
if (!$id) {
// Generate an ID
$id = $this->_makeId($callback, $args);
/** @var CallbackController $cache */
$cache = Factory::getContainer()->get(CacheControllerFactoryInterface::class)->createCacheController('callback', ['defaultgroup' => '_system']);
try {
static::$components = $cache->get($loader, [], __METHOD__);
} catch (CacheExceptionInterface $e) {
static::$components = $loader();
}
return true;
* @since 3.6.3
*/
public static function getComponents()
{
if (empty(static::$components)) {
static::load();
}
return static::$components;
}
*
* @since 1.5
*/
public static function getComponent($option, $strict = false)
{
$components = static::getComponents();
if (isset($components[$option])) {
return $components[$option];
}
* @see Registry
* @since 1.5
*/
public static function getParams($option, $strict = false)
{
return static::getComponent($option, $strict)->getParams();
}
/**
* Applies the global text filters to arbitrary text as per settings for current user groups
*
{
$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];
}
if ($plugin = PluginHelper::getPlugin('system', 'languagefilter')) {
$pluginParams = new Registry($plugin->params);
* @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';
[3/3]
Error
|
---|
Error: Call to a member function getTag() on null at /var/www/web1325/html/libraries/src/WebAsset/AssetItem/LangActiveAssetItem.php:48 at Joomla\CMS\WebAsset\AssetItem\LangActiveAssetItem->__construct('template.active.language', '', array('description' => 'An asset to allow language specific css, eg \'language/[lang-CODE]/[lang-CODE].css\', to use it as a dependency to the active template', 'type' => 'style', 'class' => 'LangActiveAssetItem', 'dependencies' => array('template.active'), 'assetSource' => array('registryFile' => 'templates/cassiopeia/joomla.asset.json')), array(), array()) (/var/www/web1325/html/libraries/src/WebAsset/WebAssetRegistry.php:247) at Joomla\CMS\WebAsset\WebAssetRegistry->createAsset('template.active.language', '', array('description' => 'An asset to allow language specific css, eg \'language/[lang-CODE]/[lang-CODE].css\', to use it as a dependency to the active template', 'type' => 'style', 'class' => 'LangActiveAssetItem', 'dependencies' => array('template.active'), 'assetSource' => array('registryFile' => 'templates/cassiopeia/joomla.asset.json'))) (/var/www/web1325/html/libraries/src/WebAsset/WebAssetRegistry.php:419) at Joomla\CMS\WebAsset\WebAssetRegistry->parseRegistryFile('templates/cassiopeia/joomla.asset.json') (/var/www/web1325/html/libraries/src/WebAsset/WebAssetRegistry.php:351) at Joomla\CMS\WebAsset\WebAssetRegistry->parseRegistryFiles() (/var/www/web1325/html/libraries/src/WebAsset/WebAssetRegistry.php:159) at Joomla\CMS\WebAsset\WebAssetRegistry->add('style', object(WebAssetItem)) (/var/www/web1325/html/libraries/src/WebAsset/WebAssetManager.php:508) at Joomla\CMS\WebAsset\WebAssetManager->registerAsset('style', 'theme.colors_standard', 'media/templates/site/cassiopeia/css/global/colors_standard.css') (/var/www/web1325/html/libraries/src/WebAsset/WebAssetManager.php:234) at Joomla\CMS\WebAsset\WebAssetManager->__call('registerandusestyle', array('theme.colors_standard', 'media/templates/site/cassiopeia/css/global/colors_standard.css')) (/var/www/web1325/html/templates/cassiopeia/error.php:40) at require('/var/www/web1325/html/templates/cassiopeia/error.php') (/var/www/web1325/html/libraries/src/Document/HtmlDocument.php:721) at Joomla\CMS\Document\HtmlDocument->_loadTemplate('/var/www/web1325/html/templates/cassiopeia', 'error.php') (/var/www/web1325/html/libraries/src/Document/HtmlDocument.php:776) at Joomla\CMS\Document\HtmlDocument->_fetchTemplate(array('template' => 'cassiopeia_amc', 'directory' => '/var/www/web1325/html/templates', 'debug' => '0', 'csp_nonce' => null, 'templateInherits' => 'cassiopeia', 'params' => object(Registry), 'file' => 'error.php')) (/var/www/web1325/html/libraries/src/Document/HtmlDocument.php:612) at Joomla\CMS\Document\HtmlDocument->parse(array('template' => 'cassiopeia_amc', 'directory' => '/var/www/web1325/html/templates', 'debug' => '0', 'csp_nonce' => null, 'templateInherits' => 'cassiopeia', 'params' => object(Registry), 'file' => 'error.php')) (/var/www/web1325/html/libraries/src/Document/HtmlDocument.php:630) at Joomla\CMS\Document\HtmlDocument->render(false, array('template' => 'cassiopeia_amc', 'directory' => '/var/www/web1325/html/templates', 'debug' => '0', 'csp_nonce' => null, 'templateInherits' => 'cassiopeia', 'params' => object(Registry), 'file' => 'error.php')) (/var/www/web1325/html/libraries/src/Document/ErrorDocument.php:139) at Joomla\CMS\Document\ErrorDocument->render(false, array('template' => 'cassiopeia_amc', 'directory' => '/var/www/web1325/html/templates', 'debug' => '0', 'csp_nonce' => null, 'templateInherits' => 'cassiopeia', 'params' => object(Registry), 'file' => 'error.php')) (/var/www/web1325/html/libraries/src/Error/Renderer/HtmlRenderer.php:70) at Joomla\CMS\Error\Renderer\HtmlRenderer->render(object(ExecutionFailureException)) (/var/www/web1325/html/libraries/src/Exception/ExceptionHandler.php:126) at Joomla\CMS\Exception\ExceptionHandler::render(object(ExecutionFailureException)) (/var/www/web1325/html/libraries/src/Exception/ExceptionHandler.php:72) at Joomla\CMS\Exception\ExceptionHandler::handleException(object(ExecutionFailureException)) (/var/www/web1325/html/libraries/src/Application/CMSApplication.php:322) at Joomla\CMS\Application\CMSApplication->execute() (/var/www/web1325/html/includes/app.php:61) at require_once('/var/www/web1325/html/includes/app.php') (/var/www/web1325/html/index.php:32) |
[2/3]
ExecutionFailureException
|
---|
Joomla\Database\Exception\ExecutionFailureException: Prepared statement needs to be re-prepared at /var/www/web1325/html/libraries/vendor/joomla/database/src/Mysqli/MysqliStatement.php:442 at Joomla\Database\Mysqli\MysqliStatement->execute() (/var/www/web1325/html/libraries/vendor/joomla/database/src/DatabaseDriver.php:675) at Joomla\Database\DatabaseDriver->execute() (/var/www/web1325/html/libraries/vendor/joomla/database/src/DatabaseDriver.php:1068) at Joomla\Database\DatabaseDriver->getIterator() (/var/www/web1325/html/libraries/src/Component/ComponentHelper.php:399) at Joomla\CMS\Component\ComponentHelper::Joomla\CMS\Component\{closure}() (/var/www/web1325/html/libraries/src/Cache/Controller/CallbackController.php:51) at Joomla\CMS\Cache\Controller\CallbackController->get(object(Closure), array(), 'Joomla\\CMS\\Component\\ComponentHelper::load') (/var/www/web1325/html/libraries/src/Component/ComponentHelper.php:410) at Joomla\CMS\Component\ComponentHelper::load() (/var/www/web1325/html/libraries/src/Component/ComponentHelper.php:428) at Joomla\CMS\Component\ComponentHelper::getComponents() (/var/www/web1325/html/libraries/src/Component/ComponentHelper.php:56) at Joomla\CMS\Component\ComponentHelper::getComponent('com_users', false) (/var/www/web1325/html/libraries/src/Component/ComponentHelper.php:114) at Joomla\CMS\Component\ComponentHelper::getParams('com_users') (/var/www/web1325/html/libraries/src/Application/SiteApplication.php:566) at Joomla\CMS\Application\SiteApplication->initialiseApp() (/var/www/web1325/html/libraries/src/Application/SiteApplication.php:226) at Joomla\CMS\Application\SiteApplication->doExecute() (/var/www/web1325/html/libraries/src/Application/CMSApplication.php:293) at Joomla\CMS\Application\CMSApplication->execute() (/var/www/web1325/html/includes/app.php:61) at require_once('/var/www/web1325/html/includes/app.php') (/var/www/web1325/html/index.php:32) |
[1/3]
mysqli_sql_exception
|
---|
mysqli_sql_exception: Prepared statement needs to be re-prepared at /var/www/web1325/html/libraries/vendor/joomla/database/src/Mysqli/MysqliStatement.php:435 at mysqli_stmt->execute() (/var/www/web1325/html/libraries/vendor/joomla/database/src/Mysqli/MysqliStatement.php:435) at Joomla\Database\Mysqli\MysqliStatement->execute() (/var/www/web1325/html/libraries/vendor/joomla/database/src/DatabaseDriver.php:675) at Joomla\Database\DatabaseDriver->execute() (/var/www/web1325/html/libraries/vendor/joomla/database/src/DatabaseDriver.php:1068) at Joomla\Database\DatabaseDriver->getIterator() (/var/www/web1325/html/libraries/src/Component/ComponentHelper.php:399) at Joomla\CMS\Component\ComponentHelper::Joomla\CMS\Component\{closure}() (/var/www/web1325/html/libraries/src/Cache/Controller/CallbackController.php:51) at Joomla\CMS\Cache\Controller\CallbackController->get(object(Closure), array(), 'Joomla\\CMS\\Component\\ComponentHelper::load') (/var/www/web1325/html/libraries/src/Component/ComponentHelper.php:410) at Joomla\CMS\Component\ComponentHelper::load() (/var/www/web1325/html/libraries/src/Component/ComponentHelper.php:428) at Joomla\CMS\Component\ComponentHelper::getComponents() (/var/www/web1325/html/libraries/src/Component/ComponentHelper.php:56) at Joomla\CMS\Component\ComponentHelper::getComponent('com_users', false) (/var/www/web1325/html/libraries/src/Component/ComponentHelper.php:114) at Joomla\CMS\Component\ComponentHelper::getParams('com_users') (/var/www/web1325/html/libraries/src/Application/SiteApplication.php:566) at Joomla\CMS\Application\SiteApplication->initialiseApp() (/var/www/web1325/html/libraries/src/Application/SiteApplication.php:226) at Joomla\CMS\Application\SiteApplication->doExecute() (/var/www/web1325/html/libraries/src/Application/CMSApplication.php:293) at Joomla\CMS\Application\CMSApplication->execute() (/var/www/web1325/html/includes/app.php:61) at require_once('/var/www/web1325/html/includes/app.php') (/var/www/web1325/html/index.php:32) |