private $query = '';
/** @var string Uri fragment. */
private $fragment = '';
public function __construct(string $uri = '')
{
if ('' !== $uri) {
if (false === $parts = \parse_url($uri)) {
throw new \InvalidArgumentException(\sprintf('Unable to parse URI: "%s"', $uri));
}
*
* @return Uri
*/
public static function generate($path, array $parameters = [], $secure = null)
{
$url = new Uri($path);
$base = static::getBase();
if (!$url->getHost() && !str_starts_with($url->getPath(), '/')) {
$url = $url->withPath(Path::join($base->getPath(), $url->getPath()));
}
// add next() as last argument
if ($this->stack) {
$arguments[] = $this;
}
return $callback(...$arguments);
}
}
);
}
$middleware = new Middleware(array_shift($arguments), $listeners);
return $middleware(...$arguments);
}
}
{
[$event, $type] = explode('|', $event, 2) + [1 => 'default'];
$handler = $this->handlers[$type] ?? $this->handlers['default'];
return $handler($this->getListeners($event), $arguments);
}
/**
* Gets the event listeners.
*
*
* @return mixed
*/
public static function emit($event, ...$arguments)
{
return static::getDispatcher()->dispatch($event, ...$arguments);
}
/**
* Gets the event dispatcher instance.
*
try {
if (empty($parameters) && is_null($secure) && static::isValid($path)) {
return $path;
}
return (string) Event::emit(
'url.resolve|middleware',
[static::class, 'generate'],
$path,
$parameters,
$secure,
? "{$this->baseurl}/{$params['touchicon']}"
: "{$this->baseurl}/templates/yootheme/packages/theme-joomla/assets/images/apple-touch-icon.png";
$rtl = $this->direction == 'ltr' ? '' : '.rtl';
$style = class_exists(File::class)
? Url::to(File::find("~theme/css/theme{.{$template->id},}{$rtl}.css"))
: "{$this->baseurl}/templates/system/css/theme{$rtl}.css";
$customCss = !empty($params['child_theme']) && file_exists("{$directory}_{$params['child_theme']}/css/custom.css")
? "{$this->baseurl}/templates/{$template->template}_{$params['child_theme']}/css/custom.css"
: false;
// 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';
$filesToLoad = \YOOtheme\Autoload\ComposerStaticInit1ff7acf71eeae03ad57cbb59970da74d::$files;
$requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
require $file;
}
}, null, null);
foreach ($filesToLoad as $fileIdentifier => $file) {
$requireFile($fileIdentifier, $file);
}
require $file;
}
}, null, null);
foreach ($filesToLoad as $fileIdentifier => $file) {
$requireFile($fileIdentifier, $file);
}
return $loader;
}
}
throw new RuntimeException($err);
}
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit1ff7acf71eeae03ad57cbb59970da74d::getLoader();
namespace YOOtheme;
$root = __DIR__;
$cache = "{$root}/cache";
$loader = require "{$root}/vendor/autoload.php";
if (!is_dir($cache)) {
mkdir($cache);
}
$option = $this->app->input->getCmd('option');
$options = ['com_ajax', 'com_content', 'com_templates', 'com_modules', 'com_advancedmodules'];
if ($this->app->isClient('site') || in_array($option, $options, true)) {
// bootstrap application
$app = require __DIR__ . '/bootstrap.php';
$app->load(
__DIR__ .
'/{packages/{platform-joomla,' .
'theme{,-analytics,-cookie,-highlight,-settings},' .
'builder{,-source*,-templates,-newsletter},' .
* @param string $file
* @return void
*/
public function loadFile($file)
{
require $file;
}
}
{
parent::__construct($subject, $config);
$pattern = JPATH_ROOT . '/templates/*/template_bootstrap.php';
array_map([$this, 'loadFile'], glob($pattern) ?: array());
}
/**
* Loads a file.
*
if (!class_exists($className)) {
return new DummyPlugin($dispatcher);
}
// Instantiate the plugin
return new $className($dispatcher, (array) PluginHelper::getPlugin($type, $plugin));
}
/**
* Get the DI container.
*
case ModuleInterface::class:
$container->set($type, new Module(new ModuleDispatcherFactory(''), new HelperFactory('')));
break;
case PluginInterface::class:
list($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).
for ($i = 0, $t = \count($plugins); $i < $t; $i++) {
if ($plugins[$i]->type === $type && ($plugin === null || $plugins[$i]->name === $plugin)) {
static::import($plugins[$i], $autocreate, $dispatcher);
$results = true;
}
}
// Bail out early if we're not using default args
// Load the behaviour plugins
PluginHelper::importPlugin('behaviour');
// Trigger the onAfterInitialise event.
PluginHelper::importPlugin('system');
$this->triggerEvent('onAfterInitialise');
}
/**
* Checks if HTTPS is forced in the client configuration.
$options['language'] = 'en-GB';
}
}
// Finish initialisation
parent::initialiseApp($options);
}
/**
* Load the library language files for the application
*
* @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]
TypeError
|
---|
TypeError: YOOtheme\Http\Message\Uri::__construct(): Argument #1 ($uri) must be of type string, null given, called in /home/gabiychm/www/templates/yootheme/packages/utils/src/Url.php on line 92 at /home/gabiychm/www/templates/yootheme/packages/http-message/lib/Uri.php:51 at YOOtheme\Http\Message\Uri->__construct(null) (/home/gabiychm/www/templates/yootheme/packages/utils/src/Url.php:92) at YOOtheme\Url::generate(null, array(), null) (/home/gabiychm/www/templates/yootheme/packages/utils/src/Middleware.php:40) at YOOtheme\Middleware->__invoke(null, array(), null) (/home/gabiychm/www/templates/yootheme/packages/utils/src/EventDispatcher.php:173) at YOOtheme\EventDispatcher->handleMiddleware(array(), array(null, array(), null)) (/home/gabiychm/www/templates/yootheme/packages/utils/src/EventDispatcher.php:45) at YOOtheme\EventDispatcher->dispatch('url.resolve', array('YOOtheme\\Url', 'generate'), null, array(), null) (/home/gabiychm/www/templates/yootheme/packages/utils/src/Event.php:47) at YOOtheme\Event::emit('url.resolve|middleware', array('YOOtheme\\Url', 'generate'), null, array(), null) (/home/gabiychm/www/templates/yootheme/packages/utils/src/Url.php:55) at YOOtheme\Url::to(null) (/home/gabiychm/www/templates/yootheme/error.php:43) at require('/home/gabiychm/www/templates/yootheme/error.php') (/home/gabiychm/www/libraries/src/Document/HtmlDocument.php:721) at Joomla\CMS\Document\HtmlDocument->_loadTemplate('/home/gabiychm/www/templates/yootheme', 'error.php') (/home/gabiychm/www/libraries/src/Document/HtmlDocument.php:776) at Joomla\CMS\Document\HtmlDocument->_fetchTemplate(array('template' => 'yootheme', 'directory' => '/home/gabiychm/www/templates', 'debug' => false, 'csp_nonce' => null, 'templateInherits' => '', 'params' => object(Registry), 'file' => 'error.php')) (/home/gabiychm/www/libraries/src/Document/HtmlDocument.php:612) at Joomla\CMS\Document\HtmlDocument->parse(array('template' => 'yootheme', 'directory' => '/home/gabiychm/www/templates', 'debug' => false, 'csp_nonce' => null, 'templateInherits' => '', 'params' => object(Registry), 'file' => 'error.php')) (/home/gabiychm/www/libraries/src/Document/HtmlDocument.php:630) at Joomla\CMS\Document\HtmlDocument->render(false, array('template' => 'yootheme', 'directory' => '/home/gabiychm/www/templates', 'debug' => false, 'csp_nonce' => null, 'templateInherits' => '', 'params' => object(Registry), 'file' => 'error.php')) (/home/gabiychm/www/libraries/src/Document/ErrorDocument.php:139) at Joomla\CMS\Document\ErrorDocument->render(false, array('template' => 'yootheme', 'directory' => '/home/gabiychm/www/templates', 'debug' => false, 'csp_nonce' => null, 'templateInherits' => '', 'params' => object(Registry), 'file' => 'error.php')) (/home/gabiychm/www/libraries/src/Error/Renderer/HtmlRenderer.php:70) at Joomla\CMS\Error\Renderer\HtmlRenderer->render(object(Error)) (/home/gabiychm/www/libraries/src/Exception/ExceptionHandler.php:126) at Joomla\CMS\Exception\ExceptionHandler::render(object(Error)) (/home/gabiychm/www/libraries/src/Exception/ExceptionHandler.php:72) at Joomla\CMS\Exception\ExceptionHandler::handleException(object(Error)) (/home/gabiychm/www/libraries/src/Application/CMSApplication.php:322) at Joomla\CMS\Application\CMSApplication->execute() (/home/gabiychm/www/includes/app.php:61) at require_once('/home/gabiychm/www/includes/app.php') (/home/gabiychm/www/index.php:32) |
[1/2]
Error
|
---|
Error: Failed opening required '/home/gabiychm/www/templates/yootheme/vendor/composer/../../packages/application/functions.php' (include_path='.:/usr/local/php8.2/lib/php') at /home/gabiychm/www/templates/yootheme/vendor/composer/autoload_real.php:39 at {closure}('f530325d18dded5377011b84e7ee4c1b', '/home/gabiychm/www/templates/yootheme/vendor/composer/../../packages/application/functions.php') (/home/gabiychm/www/templates/yootheme/vendor/composer/autoload_real.php:43) at ComposerAutoloaderInit1ff7acf71eeae03ad57cbb59970da74d::getLoader() (/home/gabiychm/www/templates/yootheme/vendor/autoload.php:22) at require('/home/gabiychm/www/templates/yootheme/vendor/autoload.php') (/home/gabiychm/www/templates/yootheme/bootstrap.php:7) at require('/home/gabiychm/www/templates/yootheme/bootstrap.php') (/home/gabiychm/www/templates/yootheme/template_bootstrap.php:9) at require('/home/gabiychm/www/templates/yootheme/template_bootstrap.php') (/home/gabiychm/www/plugins/system/yootheme/yootheme.php:42) at plgSystemYOOtheme->loadFile('/home/gabiychm/www/templates/yootheme/template_bootstrap.php') at array_map(array(object(plgSystemYOOtheme), 'loadFile'), array('/home/gabiychm/www/templates/yootheme/template_bootstrap.php')) (/home/gabiychm/www/plugins/system/yootheme/yootheme.php:31) at plgSystemYOOtheme->__construct(object(Dispatcher), array('type' => 'system', 'name' => 'yootheme', 'params' => '{}', 'id' => 10735)) (/home/gabiychm/www/libraries/src/Extension/ExtensionManagerTrait.php:242) at Joomla\CMS\Application\CMSApplication->loadPluginFromFilesystem('yootheme', 'system') (/home/gabiychm/www/libraries/src/Extension/ExtensionManagerTrait.php:160) at Joomla\CMS\Application\CMSApplication->loadExtension('Joomla\\CMS\\Extension\\PluginInterface', 'yootheme:system', '/home/gabiychm/www/plugins/system/yootheme') (/home/gabiychm/www/libraries/src/Extension/ExtensionManagerTrait.php:99) at Joomla\CMS\Application\CMSApplication->bootPlugin('yootheme', 'system') (/home/gabiychm/www/libraries/src/Plugin/PluginHelper.php:232) at Joomla\CMS\Plugin\PluginHelper::import(object(stdClass), true, object(Dispatcher)) (/home/gabiychm/www/libraries/src/Plugin/PluginHelper.php:192) at Joomla\CMS\Plugin\PluginHelper::importPlugin('system') (/home/gabiychm/www/libraries/src/Application/CMSApplication.php:744) at Joomla\CMS\Application\CMSApplication->initialiseApp(array('language' => 'fr-FR')) (/home/gabiychm/www/libraries/src/Application/SiteApplication.php:635) at Joomla\CMS\Application\SiteApplication->initialiseApp() (/home/gabiychm/www/libraries/src/Application/SiteApplication.php:226) at Joomla\CMS\Application\SiteApplication->doExecute() (/home/gabiychm/www/libraries/src/Application/CMSApplication.php:293) at Joomla\CMS\Application\CMSApplication->execute() (/home/gabiychm/www/includes/app.php:61) at require_once('/home/gabiychm/www/includes/app.php') (/home/gabiychm/www/index.php:32) |