* * @return object[] * * @since 5.0.0 */ protected function onSetModules(array $value): array { // Filter out Module elements. Non empty result means invalid data $valid = !array_filter($value, function ($item) { return !\is_object($item); }); $ucfirst = ucfirst($name); $methodName1 = 'onSet' . $ucfirst; $methodName2 = 'set' . $ucfirst; if (method_exists($this, $methodName1)) { $value = $this->{$methodName1}($value); } elseif (method_exists($this, $methodName2)) { @trigger_error( \sprintf( 'Use method "%s" for value pre-processing is deprecated, and will not work in Joomla 7. Use "%s" instead. Event %s', $methodName2, public function __construct(string $name, array $arguments = []) { parent::__construct($name, $arguments); foreach ($arguments as $argumentName => $value) { $this->setArgument($argumentName, $value); } } /** * Get an event argument value. ); } $this->constructed = true; parent::__construct($name, $arguments); } /** * Set the value of an event argument. * // Reshape the arguments array to preserve b/c with legacy listeners if ($this->legacyArgumentsOrder) { $arguments = $this->reshapeArguments($arguments, $this->legacyArgumentsOrder); } parent::__construct($name, $arguments); if (!\array_key_exists('subject', $this->arguments)) { throw new \BadMethodCallException("Argument 'subject' of event {$name} is required but has not been provided"); } } public function __construct($name, array $arguments = []) { // This event has a dummy subject for now $this->arguments['subject'] ??= new \stdClass(); parent::__construct($name, $arguments); if (!\array_key_exists('modules', $this->arguments)) { throw new \BadMethodCallException("Argument 'modules' of event {$name} is required but has not been provided"); } // If the onPrepareModuleList event returns an array of modules, then ignore the default module list creation if (!$modules) { $modules = static::getModuleList(); } $modules = $dispatcher->dispatch('onAfterModuleList', new Module\AfterModuleListEvent('onAfterModuleList', [ 'modules' => &$modules, // @todo: Remove reference in Joomla 7, see AfterModuleListEvent::__constructor() ]))->getArgument('modules', $modules); $modules = static::cleanModuleList($modules); public static function &getModules($position) { $position = strtolower($position); $result = []; $input = Factory::getApplication()->getInput(); $modules = &static::load(); foreach ($modules as $module) { if ($module->position === $position) { $result[] = $module; } { if ((isset(parent::$_buffer['modules'][$positionName])) && (parent::$_buffer['modules'][$positionName] === false)) { return 0; } $modules = ModuleHelper::getModules($positionName); if (!$withContentOnly) { return \count($modules); }</head><body> <div class="error"> <div id="outline"> <div id="errorboxoutline"> <?php if ($this->countModules('error-' . $errorCode)) : ?> <jdoc:include type="modules" name="error-<?php echo $errorCode; ?>" style="none" /> <?php else : ?> <div id="errorboxheader"><?php echo $this->error->getCode(); ?> - <?php echo htmlspecialchars($this->error->getMessage(), ENT_QUOTES, 'UTF-8'); ?></div> <div id="errorboxbody"> <p><strong><?php echo Text::_('JERROR_LAYOUT_NOT_ABLE_TO_VISIT'); ?></strong></p> // 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'; \define('JPATH_COMPONENT_ADMINISTRATOR', JPATH_ADMINISTRATOR . '/components/' . $option); } // If component is disabled throw error if (!static::isEnabled($option)) { throw new MissingComponentException(Text::_('JLIB_APPLICATION_ERROR_COMPONENT_NOT_FOUND'), 404); } ob_start(); $app->bootComponent($option)->getDispatcher($app)->dispatch(); $contents = ob_get_clean(); $this->dispatchEvent( 'onAfterInitialiseDocument', new AfterInitialiseDocumentEvent('onAfterInitialiseDocument', ['subject' => $this, 'document' => $document]) ); $contents = ComponentHelper::renderComponent($component); $document->setBuffer($contents, ['type' => 'component']); // Trigger the onAfterDispatch event. $this->dispatchEvent( 'onAfterDispatch', ['option' => 'com_users', 'task' => 'method.save'], ]); } // Dispatch the application $this->dispatch(); // Mark afterDispatch in the profiler. JDEBUG ? $this->profiler->mark('afterDispatch') : null; } $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(); // ... die die();}// Run the application - All executable code should be triggered through this filerequire_once __DIR__ . '/includes/app.php';|
[2/2]
TypeError
|
|---|
TypeError:
Joomla\CMS\Event\Module\ModuleListEvent::onSetModules(): Argument #1 ($value) must be of type array, null given, called in /home/iranieex/public_html/libraries/src/Event/AbstractEvent.php on line 227
at /home/iranieex/public_html/libraries/src/Event/Module/ModuleListEvent.php:73
at Joomla\CMS\Event\Module\ModuleListEvent->onSetModules(null)
(/home/iranieex/public_html/libraries/src/Event/AbstractEvent.php:227)
at Joomla\CMS\Event\AbstractEvent->setArgument('modules', null)
(/home/iranieex/public_html/libraries/src/Event/AbstractEvent.php:115)
at Joomla\CMS\Event\AbstractEvent->__construct('onAfterModuleList', array('modules' => null, 'subject' => null))
(/home/iranieex/public_html/libraries/src/Event/AbstractImmutableEvent.php:51)
at Joomla\CMS\Event\AbstractImmutableEvent->__construct('onAfterModuleList', array('modules' => null, 'subject' => null))
(/home/iranieex/public_html/libraries/src/Event/Module/ModuleEvent.php:55)
at Joomla\CMS\Event\Module\ModuleEvent->__construct('onAfterModuleList', array('modules' => null, 'subject' => null))
(/home/iranieex/public_html/libraries/src/Event/Module/ModuleListEvent.php:48)
at Joomla\CMS\Event\Module\ModuleListEvent->__construct('onAfterModuleList', array('modules' => null))
(/home/iranieex/public_html/libraries/src/Helper/ModuleHelper.php:385)
at Joomla\CMS\Helper\ModuleHelper::load()
(/home/iranieex/public_html/libraries/src/Helper/ModuleHelper.php:88)
at Joomla\CMS\Helper\ModuleHelper::getModules('error-404')
(/home/iranieex/public_html/libraries/src/Document/HtmlDocument.php:672)
at Joomla\CMS\Document\HtmlDocument->countModules('error-404')
(/home/iranieex/public_html/templates/system/error.php:47)
at require('/home/iranieex/public_html/templates/system/error.php')
(/home/iranieex/public_html/libraries/src/Document/HtmlDocument.php:734)
at Joomla\CMS\Document\HtmlDocument->_loadTemplate('/home/iranieex/public_html/templates/system', 'error.php')
(/home/iranieex/public_html/libraries/src/Document/HtmlDocument.php:788)
at Joomla\CMS\Document\HtmlDocument->_fetchTemplate(array('template' => 'j-directory', 'directory' => '/home/iranieex/public_html/templates', 'debug' => false, 'csp_nonce' => null, 'templateInherits' => '', 'params' => object(Registry), 'file' => 'error.php'))
(/home/iranieex/public_html/libraries/src/Document/HtmlDocument.php:625)
at Joomla\CMS\Document\HtmlDocument->parse(array('template' => 'j-directory', 'directory' => '/home/iranieex/public_html/templates', 'debug' => false, 'csp_nonce' => null, 'templateInherits' => '', 'params' => object(Registry), 'file' => 'error.php'))
(/home/iranieex/public_html/libraries/src/Document/HtmlDocument.php:643)
at Joomla\CMS\Document\HtmlDocument->render(false, array('template' => 'j-directory', 'directory' => '/home/iranieex/public_html/templates', 'debug' => false, 'csp_nonce' => null, 'templateInherits' => '', 'params' => object(Registry), 'file' => 'error.php'))
(/home/iranieex/public_html/libraries/src/Document/ErrorDocument.php:139)
at Joomla\CMS\Document\ErrorDocument->render(false, array('template' => 'j-directory', 'directory' => '/home/iranieex/public_html/templates', 'debug' => false, 'csp_nonce' => null, 'templateInherits' => '', 'params' => object(Registry), 'file' => 'error.php'))
(/home/iranieex/public_html/libraries/src/Error/Renderer/HtmlRenderer.php:70)
at Joomla\CMS\Error\Renderer\HtmlRenderer->render(object(MissingComponentException))
(/home/iranieex/public_html/libraries/src/Exception/ExceptionHandler.php:142)
at Joomla\CMS\Exception\ExceptionHandler::render(object(MissingComponentException))
(/home/iranieex/public_html/libraries/src/Exception/ExceptionHandler.php:76)
at Joomla\CMS\Exception\ExceptionHandler::handleException(object(MissingComponentException))
(/home/iranieex/public_html/libraries/src/Application/CMSApplication.php:334)
at Joomla\CMS\Application\CMSApplication->execute()
(/home/iranieex/public_html/includes/app.php:58)
at require_once('/home/iranieex/public_html/includes/app.php')
(/home/iranieex/public_html/index.php:51)
|
|
[1/2]
MissingComponentException
|
|---|
Joomla\CMS\Component\Exception\MissingComponentException:
Component not found.
at /home/iranieex/public_html/libraries/src/Component/ComponentHelper.php:357
at Joomla\CMS\Component\ComponentHelper::renderComponent('com_users')
(/home/iranieex/public_html/libraries/src/Application/SiteApplication.php:217)
at Joomla\CMS\Application\SiteApplication->dispatch()
(/home/iranieex/public_html/libraries/src/Application/SiteApplication.php:271)
at Joomla\CMS\Application\SiteApplication->doExecute()
(/home/iranieex/public_html/libraries/src/Application/CMSApplication.php:304)
at Joomla\CMS\Application\CMSApplication->execute()
(/home/iranieex/public_html/includes/app.php:58)
at require_once('/home/iranieex/public_html/includes/app.php')
(/home/iranieex/public_html/index.php:51)
|