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); } return $this->registerAsset($type, ...$arguments); }//$templatePath = 'media/templates/site/esmaka_social';// Color Theme$paramsColorName = $this->params->get('colorName', 'colors_standard');$assetColorName = 'theme.' . $paramsColorName;$wa->registerAndUseStyle($assetColorName, '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_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, '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(); // ... die die();}// Run the application - All executable code should be triggered through this filerequire_once __DIR__ . '/includes/app.php'; * TRUCO: Forzamos la carga de la clase aquí mismo. * Esto se ejecuta tan pronto como Joomla lee este archivo, * mucho antes de que el componente EasySocial empiece a renderizar. * Esto garantiza que la clase 'EsmakaHitsFormatter' exista globalmente. */require_once __DIR__ . '/format.php';/** * La clase del plugin es necesaria para que Joomla lo reconozca como válido, * pero no necesita hacer nada. La magia ya ocurrió con el require_once de arriba. */ if (!is_file($path)) { return new DummyPlugin($dispatcher); } // Include the file of the plugin require_once $path; // Compile the classname $className = 'Plg' . str_replace('-', '', $type) . $plugin; // Editors don't follow the convention case ModuleInterface::class: $container->set($type, new Module(new ModuleDispatcherFactory(''), new HelperFactory(''))); break; case PluginInterface::class: [$pluginName, $pluginType] = explode(':', $extensionName); $container->set($type, $this->loadPluginFromFilesystem($pluginName, $pluginType)); } } $container->get(DispatcherInterface::class)->dispatch( 'onAfterExtensionBoot', $plugin = str_starts_with($plugin, 'plg_') ? substr($plugin, 4) : $plugin; // Path to look for services $path = JPATH_SITE . '/plugins/' . $type . '/' . $plugin; return $this->loadExtension(PluginInterface::class, $plugin . ':' . $type, $path); } /** * Loads the extension. * return; } $plugins[$hash] = true; $plugin = Factory::getApplication()->bootPlugin($plugin->name, $plugin->type); if ($dispatcher && $plugin instanceof DispatcherAwareInterface) { $plugin->setDispatcher($dispatcher); } $plugins = static::load(); // Get the specified plugin(s). foreach ($plugins as $value) { if ($value->type === $type && ($plugin === null || $value->name === $plugin)) { static::import($value, $autocreate, $dispatcher); $results = true; } } // Bail out early if we're not using default args // Load the behaviour plugins PluginHelper::importPlugin('behaviour', null, true, $this->getDispatcher()); // Load the system plugins PluginHelper::importPlugin('system', null, true, $this->getDispatcher()); // Trigger the onBeforeExecute event $this->dispatchEvent( 'onBeforeExecute', new BeforeExecuteEvent('onBeforeExecute', ['subject' => $this, 'container' => $this->getContainer()])// Set the application as global app\Joomla\CMS\Factory::$application = $app;// Execute the application.$app->execute(); // ... die die();}// Run the application - All executable code should be triggered through this filerequire_once __DIR__ . '/includes/app.php';|
[2/2]
Error
|
|---|
Error:
Call to a member function getTag() on null
at /home/esmaka/public_html/libraries/src/WebAsset/AssetItem/LangActiveAssetItem.php:48
at Joomla\CMS\WebAsset\AssetItem\LangActiveAssetItem->__construct()
(/home/esmaka/public_html/libraries/src/WebAsset/WebAssetRegistry.php:248)
at Joomla\CMS\WebAsset\WebAssetRegistry->createAsset()
(/home/esmaka/public_html/libraries/src/WebAsset/WebAssetRegistry.php:420)
at Joomla\CMS\WebAsset\WebAssetRegistry->parseRegistryFile()
(/home/esmaka/public_html/libraries/src/WebAsset/WebAssetRegistry.php:352)
at Joomla\CMS\WebAsset\WebAssetRegistry->parseRegistryFiles()
(/home/esmaka/public_html/libraries/src/WebAsset/WebAssetRegistry.php:160)
at Joomla\CMS\WebAsset\WebAssetRegistry->add()
(/home/esmaka/public_html/libraries/src/WebAsset/WebAssetManager.php:525)
at Joomla\CMS\WebAsset\WebAssetManager->registerAsset()
(/home/esmaka/public_html/libraries/src/WebAsset/WebAssetManager.php:245)
at Joomla\CMS\WebAsset\WebAssetManager->__call()
(/home/esmaka/public_html/templates/esmaka_social/error.php:40)
at require('/home/esmaka/public_html/templates/esmaka_social/error.php')
(/home/esmaka/public_html/libraries/src/Document/HtmlDocument.php:731)
at Joomla\CMS\Document\HtmlDocument->_loadTemplate()
(/home/esmaka/public_html/libraries/src/Document/HtmlDocument.php:785)
at Joomla\CMS\Document\HtmlDocument->_fetchTemplate()
(/home/esmaka/public_html/libraries/src/Document/HtmlDocument.php:622)
at Joomla\CMS\Document\HtmlDocument->parse()
(/home/esmaka/public_html/libraries/src/Document/HtmlDocument.php:640)
at Joomla\CMS\Document\HtmlDocument->render()
(/home/esmaka/public_html/libraries/src/Document/ErrorDocument.php:139)
at Joomla\CMS\Document\ErrorDocument->render()
(/home/esmaka/public_html/libraries/src/Error/Renderer/HtmlRenderer.php:70)
at Joomla\CMS\Error\Renderer\HtmlRenderer->render()
(/home/esmaka/public_html/libraries/src/Exception/ExceptionHandler.php:139)
at Joomla\CMS\Exception\ExceptionHandler::render()
(/home/esmaka/public_html/libraries/src/Exception/ExceptionHandler.php:73)
at Joomla\CMS\Exception\ExceptionHandler::handleException()
(/home/esmaka/public_html/libraries/src/Application/CMSApplication.php:350)
at Joomla\CMS\Application\CMSApplication->execute()
(/home/esmaka/public_html/includes/app.php:58)
at require_once('/home/esmaka/public_html/includes/app.php')
(/home/esmaka/public_html/index.php:51)
|
|
[1/2]
Error
|
|---|
Error:
Failed opening required '/home/esmaka/public_html/plugins/system/esmaka_hitsformatter/format.php' (include_path='.:/usr/share/php')
at /home/esmaka/public_html/plugins/system/esmaka_hitsformatter/esmaka_hitsformatter.php:18
at require_once()
(/home/esmaka/public_html/libraries/src/Extension/ExtensionManagerTrait.php:217)
at Joomla\CMS\Application\CMSApplication->loadPluginFromFilesystem()
(/home/esmaka/public_html/libraries/src/Extension/ExtensionManagerTrait.php:160)
at Joomla\CMS\Application\CMSApplication->loadExtension()
(/home/esmaka/public_html/libraries/src/Extension/ExtensionManagerTrait.php:99)
at Joomla\CMS\Application\CMSApplication->bootPlugin()
(/home/esmaka/public_html/libraries/src/Plugin/PluginHelper.php:232)
at Joomla\CMS\Plugin\PluginHelper::import()
(/home/esmaka/public_html/libraries/src/Plugin/PluginHelper.php:192)
at Joomla\CMS\Plugin\PluginHelper::importPlugin()
(/home/esmaka/public_html/libraries/src/Application/CMSApplication.php:308)
at Joomla\CMS\Application\CMSApplication->execute()
(/home/esmaka/public_html/includes/app.php:58)
at require_once('/home/esmaka/public_html/includes/app.php')
(/home/esmaka/public_html/index.php:51)
|