Whoops \ Exception \ ErrorException (E_DEPRECATED)
realpath(): Passing null to parameter #1 ($path) of type string is deprecated
Previous exceptions
  • json_decode(): Passing null to parameter #1 ($json) of type string is deprecated (8192)
Whoops\Exception\ErrorException thrown with message "realpath(): Passing null to parameter #1 ($path) of type string is deprecated" Stacktrace: #23 Whoops\Exception\ErrorException in /www/a/i/u68802/public_html/_sub/test/libraries/gantry5/vendor/twig/twig/src/Loader/FilesystemLoader.php:40 #22 realpath in /www/a/i/u68802/public_html/_sub/test/libraries/gantry5/vendor/twig/twig/src/Loader/FilesystemLoader.php:40 #21 Twig\Loader\FilesystemLoader:__construct in /www/a/i/u68802/public_html/_sub/test/libraries/gantry5/src/classes/Gantry/Component/Theme/AbstractTheme.php:142 #20 Gantry\Component\Theme\AbstractTheme:renderer in /www/a/i/u68802/public_html/_sub/test/libraries/gantry5/src/classes/Gantry/Component/Theme/AbstractTheme.php:176 #19 Gantry\Component\Theme\AbstractTheme:render in /www/a/i/u68802/public_html/_sub/test/templates/g5_helium/error.php:46 #18 require in /www/a/i/u68802/public_html/_sub/test/libraries/src/Document/HtmlDocument.php:783 #17 Joomla\CMS\Document\HtmlDocument:_loadTemplate in /www/a/i/u68802/public_html/_sub/test/libraries/src/Document/HtmlDocument.php:842 #16 Joomla\CMS\Document\HtmlDocument:_fetchTemplate in /www/a/i/u68802/public_html/_sub/test/libraries/src/Document/HtmlDocument.php:645 #15 Joomla\CMS\Document\HtmlDocument:parse in /www/a/i/u68802/public_html/_sub/test/libraries/src/Document/HtmlDocument.php:664 #14 Joomla\CMS\Document\HtmlDocument:render in /www/a/i/u68802/public_html/_sub/test/libraries/src/Document/ErrorDocument.php:140 #13 Joomla\CMS\Document\ErrorDocument:render in /www/a/i/u68802/public_html/_sub/test/libraries/src/Error/Renderer/HtmlRenderer.php:77 #12 Joomla\CMS\Error\Renderer\HtmlRenderer:render in /www/a/i/u68802/public_html/_sub/test/libraries/src/Exception/ExceptionHandler.php:128 #11 Joomla\CMS\Exception\ExceptionHandler:render in /www/a/i/u68802/public_html/_sub/test/libraries/src/Exception/ExceptionHandler.php:71 #10 Joomla\CMS\Exception\ExceptionHandler:handleException in /www/a/i/u68802/public_html/_sub/test/libraries/src/Application/CMSApplication.php:311 #9 Whoops\Exception\ErrorException in /www/a/i/u68802/public_html/_sub/test/components/com_gantry5/gantry5.php:102 #8 json_decode in /www/a/i/u68802/public_html/_sub/test/components/com_gantry5/gantry5.php:102 #7 require_once in /www/a/i/u68802/public_html/_sub/test/libraries/src/Dispatcher/LegacyComponentDispatcher.php:69 #6 Joomla\CMS\Dispatcher\LegacyComponentDispatcher:Joomla\CMS\Dispatcher\{closure} in /www/a/i/u68802/public_html/_sub/test/libraries/src/Dispatcher/LegacyComponentDispatcher.php:71 #5 Joomla\CMS\Dispatcher\LegacyComponentDispatcher:dispatch in /www/a/i/u68802/public_html/_sub/test/libraries/src/Component/ComponentHelper.php:389 #4 Joomla\CMS\Component\ComponentHelper:renderComponent in /www/a/i/u68802/public_html/_sub/test/libraries/src/Application/SiteApplication.php:206 #3 Joomla\CMS\Application\SiteApplication:dispatch in /www/a/i/u68802/public_html/_sub/test/libraries/src/Application/SiteApplication.php:245 #2 Joomla\CMS\Application\SiteApplication:doExecute in /www/a/i/u68802/public_html/_sub/test/libraries/src/Application/CMSApplication.php:278 #1 Joomla\CMS\Application\CMSApplication:execute in /www/a/i/u68802/public_html/_sub/test/includes/app.php:63 #0 require_once in /www/a/i/u68802/public_html/_sub/test/index.php:32
Stack frames (24)
23
Whoops\Exception\ErrorException
/vendor/twig/twig/src/Loader/FilesystemLoader.php40
22
realpath
/vendor/twig/twig/src/Loader/FilesystemLoader.php40
21
Twig\Loader\FilesystemLoader __construct
/src/classes/Gantry/Component/Theme/AbstractTheme.php142
20
Gantry\Component\Theme\AbstractTheme renderer
/src/classes/Gantry/Component/Theme/AbstractTheme.php176
19
Gantry\Component\Theme\AbstractTheme render
/www/a/i/u68802/public_html/_sub/test/templates/g5_helium/error.php46
18
require
/www/a/i/u68802/public_html/_sub/test/libraries/src/Document/HtmlDocument.php783
17
Joomla\CMS\Document\HtmlDocument _loadTemplate
/www/a/i/u68802/public_html/_sub/test/libraries/src/Document/HtmlDocument.php842
16
Joomla\CMS\Document\HtmlDocument _fetchTemplate
/www/a/i/u68802/public_html/_sub/test/libraries/src/Document/HtmlDocument.php645
15
Joomla\CMS\Document\HtmlDocument parse
/www/a/i/u68802/public_html/_sub/test/libraries/src/Document/HtmlDocument.php664
14
Joomla\CMS\Document\HtmlDocument render
/www/a/i/u68802/public_html/_sub/test/libraries/src/Document/ErrorDocument.php140
13
Joomla\CMS\Document\ErrorDocument render
/www/a/i/u68802/public_html/_sub/test/libraries/src/Error/Renderer/HtmlRenderer.php77
12
Joomla\CMS\Error\Renderer\HtmlRenderer render
/www/a/i/u68802/public_html/_sub/test/libraries/src/Exception/ExceptionHandler.php128
11
Joomla\CMS\Exception\ExceptionHandler render
/www/a/i/u68802/public_html/_sub/test/libraries/src/Exception/ExceptionHandler.php71
10
Joomla\CMS\Exception\ExceptionHandler handleException
/www/a/i/u68802/public_html/_sub/test/libraries/src/Application/CMSApplication.php311
9
Whoops\Exception\ErrorException
/www/a/i/u68802/public_html/_sub/test/components/com_gantry5/gantry5.php102
8
json_decode
/www/a/i/u68802/public_html/_sub/test/components/com_gantry5/gantry5.php102
7
require_once
/www/a/i/u68802/public_html/_sub/test/libraries/src/Dispatcher/LegacyComponentDispatcher.php69
6
Joomla\CMS\Dispatcher\LegacyComponentDispatcher Joomla\CMS\Dispatcher\{closure}
/www/a/i/u68802/public_html/_sub/test/libraries/src/Dispatcher/LegacyComponentDispatcher.php71
5
Joomla\CMS\Dispatcher\LegacyComponentDispatcher dispatch
/www/a/i/u68802/public_html/_sub/test/libraries/src/Component/ComponentHelper.php389
4
Joomla\CMS\Component\ComponentHelper renderComponent
/www/a/i/u68802/public_html/_sub/test/libraries/src/Application/SiteApplication.php206
3
Joomla\CMS\Application\SiteApplication dispatch
/www/a/i/u68802/public_html/_sub/test/libraries/src/Application/SiteApplication.php245
2
Joomla\CMS\Application\SiteApplication doExecute
/www/a/i/u68802/public_html/_sub/test/libraries/src/Application/CMSApplication.php278
1
Joomla\CMS\Application\CMSApplication execute
/www/a/i/u68802/public_html/_sub/test/includes/app.php63
0
require_once
/www/a/i/u68802/public_html/_sub/test/index.php32
 */
class FilesystemLoader implements LoaderInterface, ExistsLoaderInterface, SourceContextLoaderInterface
{
    /** Identifier of the main namespace. */
    const MAIN_NAMESPACE = '__main__';
 
    protected $paths = [];
    protected $cache = [];
    protected $errorCache = [];
 
    private $rootPath;
 
    /**
     * @param string|array $paths    A path or an array of paths where to look for templates
     * @param string|null  $rootPath The root path common to all relative paths (null for getcwd())
     */
    public function __construct($paths = [], $rootPath = null)
    {
        $this->rootPath = (null === $rootPath ? getcwd() : $rootPath).\DIRECTORY_SEPARATOR;
        if (false !== $realPath = realpath($rootPath)) {
            $this->rootPath = $realPath.\DIRECTORY_SEPARATOR;
        }
 
        if ($paths) {
            $this->setPaths($paths);
        }
    }
 
    /**
     * Returns the paths to the templates.
     *
     * @param string $namespace A path namespace
     *
     * @return array The array of paths where to look for templates
     */
    public function getPaths($namespace = self::MAIN_NAMESPACE)
    {
        return isset($this->paths[$namespace]) ? $this->paths[$namespace] : [];
    }
 
Arguments
  1. "realpath(): Passing null to parameter #1 ($path) of type string is deprecated"
    
 */
class FilesystemLoader implements LoaderInterface, ExistsLoaderInterface, SourceContextLoaderInterface
{
    /** Identifier of the main namespace. */
    const MAIN_NAMESPACE = '__main__';
 
    protected $paths = [];
    protected $cache = [];
    protected $errorCache = [];
 
    private $rootPath;
 
    /**
     * @param string|array $paths    A path or an array of paths where to look for templates
     * @param string|null  $rootPath The root path common to all relative paths (null for getcwd())
     */
    public function __construct($paths = [], $rootPath = null)
    {
        $this->rootPath = (null === $rootPath ? getcwd() : $rootPath).\DIRECTORY_SEPARATOR;
        if (false !== $realPath = realpath($rootPath)) {
            $this->rootPath = $realPath.\DIRECTORY_SEPARATOR;
        }
 
        if ($paths) {
            $this->setPaths($paths);
        }
    }
 
    /**
     * Returns the paths to the templates.
     *
     * @param string $namespace A path namespace
     *
     * @return array The array of paths where to look for templates
     */
    public function getPaths($namespace = self::MAIN_NAMESPACE)
    {
        return isset($this->paths[$namespace]) ? $this->paths[$namespace] : [];
    }
 
Arguments
  1. null
    
 
            /** @var Config $global */
            $global = $gantry['global'];
 
            $cachePath = $global->get('compile_twig', 1) ? $this->getCachePath('twig') : null;
            if ($cachePath) {
                /** @phpstan-ignore-next-line */
                if (Environment::VERSION_ID > 3) {
                    // Twig 3 support.
                    $cache = new FilesystemCache($cachePath, FilesystemCache::FORCE_BYTECODE_INVALIDATION);
                /** @phpstan-ignore-next-line */
                } else {
                    $cache = new TwigCacheFilesystem($cachePath, FilesystemCache::FORCE_BYTECODE_INVALIDATION);
                }
            } else {
                $cache = null;
            }
            $debug = $gantry->debug();
            $production = (bool) $global->get('production', 1);
            $loader = new FilesystemLoader();
            $params = [
                'cache' => $cache,
                'debug' => $debug,
                'auto_reload' => !$production,
                'autoescape' => 'html'
            ];
 
            $twig = new Environment($loader, $params);
 
            $this->setTwigLoaderPaths($loader);
 
            if ($debug) {
                $twig->addExtension(new DebugExtension());
            }
 
            $this->renderer = $this->extendTwig($twig, $loader);
        }
 
        return $this->renderer;
    }
 
            $this->renderer = $this->extendTwig($twig, $loader);
        }
 
        return $this->renderer;
    }
 
    /**
     * Render a template file by using given context.
     *
     * @param string $file
     * @param array $context
     * @return string
     */
    public function render($file, array $context = [])
    {
        // Include Gantry specific things to the context.
        $context = $this->getContext($context);
 
        return $this->renderer()->render($file, $context);
    }
 
    /**
     * Compile and render twig string.
     *
     * @param string $string
     * @param array $context
     * @return string
     */
    public function compile($string, array $context = [])
    {
        $renderer = $this->renderer();
        $template = $renderer->createTemplate($string);
 
        // Include Gantry specific things to the context.
        $context = $this->getContext($context);
 
        return $template->render($context);
    }
 
$joomla->document = $this;
 
/** @var Theme $theme */
$theme = $gantry['theme'];
$app = Factory::getApplication();
 
$context = array(
    'errorcode' => isset($this->error) ? $this->error->getCode() : null,
    'error' => isset($this->error) ? $this->error->getMessage() : null,
    'debug' => $app->get('debug_lang', '0') == '1' || $app->get('debug', '0') == '1',
    'backtrace' => $this->debug ? $this->renderBacktrace() : null
);
 
// Reset used outline configuration.
unset($gantry['configuration']);
 
// Render the page.
echo $theme
    ->setLayout('_error', true)
    ->render('error.html.twig', $context);
 
Arguments
  1. "error.html.twig"
    
  2. array:7 [
      "errorcode" => 8192
      "error" => "json_decode(): Passing null to parameter #1 ($json) of type string is deprecated"
      "debug" => false
      "backtrace" => null
      "theme" => GantryTheme {#787}
      "site" => Gantry\Framework\Site {#819}
      "joomla" => Gantry\Framework\Platform {#836}
    ]
    
     * @param   string  $directory  The name of the template
     * @param   string  $filename   The actual filename
     *
     * @return  string  The contents of the template
     *
     * @since   1.7.0
     */
    protected function _loadTemplate($directory, $filename)
    {
        $contents = '';
 
        // Check to see if we have a valid template file
        if (is_file($directory . '/' . $filename))
        {
            // 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;
    }
 
    /**
     * Fetch the template, and initialise the params
     *
     * @param   array  $params  Parameters to determine the template
     *
     * @return  HtmlDocument instance of $this to allow chaining
     *
     * @since   1.7.0
     */
    protected function _fetchTemplate($params = array())
    {
        // Check
        $directory = $params['directory'] ?? 'templates';
Arguments
  1. "/www/a/i/u68802/public_html/_sub/test/templates/g5_helium/error.php"
    
                    $file = 'index.php';
                }
            }
        }
 
        // Load the language file for the template
        $lang = CmsFactory::getLanguage();
 
        // 1.5 or core then 1.6
        $lang->load('tpl_' . $template, JPATH_BASE)
            || ($inherits !== '' && $lang->load('tpl_' . $inherits, $directory . '/' . $inherits))
            || $lang->load('tpl_' . $template, $directory . '/' . $template);
 
        // Assign the variables
        $this->baseurl = Uri::base(true);
        $this->params = $params['params'] ?? new Registry;
        $this->template = $template;
 
        // Load
        $this->_template = $this->_loadTemplate($baseDir, $file);
 
        return $this;
    }
 
    /**
     * Parse a document template
     *
     * @return  HtmlDocument  instance of $this to allow chaining
     *
     * @since   1.7.0
     */
    protected function _parseTemplate()
    {
        $matches = array();
 
        if (preg_match_all('#<jdoc:include\ type="([^"]+)"(.*)\/>#iU', $this->_template, $matches))
        {
            $messages = [];
            $template_tags_first = [];
            $template_tags_last = [];
Arguments
  1. "/www/a/i/u68802/public_html/_sub/test/templates/g5_helium"
    
  2. "error.php"
    
            $options['title'] = $args[3] ?? null;
        }
 
        parent::$_buffer[$options['type']][$options['name']][$options['title']] = $content;
 
        return $this;
    }
 
    /**
     * Parses the template and populates the buffer
     *
     * @param   array  $params  Parameters for fetching the template
     *
     * @return  HtmlDocument instance of $this to allow chaining
     *
     * @since   1.7.0
     */
    public function parse($params = array())
    {
        return $this->_fetchTemplate($params)->_parseTemplate();
    }
 
    /**
     * Outputs the template to the browser.
     *
     * @param   boolean  $caching  If true, cache the output
     * @param   array    $params   Associative array of attributes
     *
     * @return  string The rendered data
     *
     * @since   1.7.0
     */
    public function render($caching = false, $params = array())
    {
        $this->_caching = $caching;
 
        if (empty($this->_template))
        {
            $this->parse($params);
        }
Arguments
  1. array:7 [
      "template" => "g5_helium"
      "directory" => "/www/a/i/u68802/public_html/_sub/test/templates"
      "debug" => false
      "csp_nonce" => "ZDY5NmUwZTY0MmNjMTRhZTA1NTc2MmIyYmM3YmNmMDE5NDBiMTNhMzQwYWU4ODg4ZTc0ZWUwODUyNjk1NWNhMjc2ZjI4YWM3ZDE1NjI1NTZlMmNhZmQ5NTQ2NjMyNDdhODc4YTdkYjcwNzM5OGNhMjJlNjRlOGYzNjQ0YTYwNjI="
      "templateInherits" => ""
      "params" => Joomla\Registry\Registry {#797}
      "file" => "error.php"
    ]
    
        return $this->_fetchTemplate($params)->_parseTemplate();
    }
 
    /**
     * Outputs the template to the browser.
     *
     * @param   boolean  $caching  If true, cache the output
     * @param   array    $params   Associative array of attributes
     *
     * @return  string The rendered data
     *
     * @since   1.7.0
     */
    public function render($caching = false, $params = array())
    {
        $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'];
        }
 
        $data = $this->_renderTemplate();
        parent::render($caching, $params);
 
        return $data;
    }
 
    /**
     * Count the modules in the given position
     *
     * @param   string   $positionName     The position to use
     * @param   boolean  $withContentOnly  Count only a modules which actually has a content
     *
     * @return  integer  Number of modules found
Arguments
  1. array:7 [
      "template" => "g5_helium"
      "directory" => "/www/a/i/u68802/public_html/_sub/test/templates"
      "debug" => false
      "csp_nonce" => "ZDY5NmUwZTY0MmNjMTRhZTA1NTc2MmIyYmM3YmNmMDE5NDBiMTNhMzQwYWU4ODg4ZTc0ZWUwODUyNjk1NWNhMjc2ZjI4YWM3ZDE1NjI1NTZlMmNhZmQ5NTQ2NjMyNDdhODc4YTdkYjcwNzM5OGNhMjJlNjRlOGYzNjQ0YTYwNjI="
      "templateInherits" => ""
      "params" => Joomla\Registry\Registry {#797}
      "file" => "error.php"
    ]
    
        {
            $status = 500;
        }
 
        $errorReporting = CmsFactory::getApplication()->get('error_reporting');
 
        if ($errorReporting === "development" || $errorReporting === "maximum")
        {
            $status .= ' ' . str_replace("\n", ' ', $this->_error->getMessage());
        }
 
        CmsFactory::getApplication()->setHeader('status', $status);
 
        // Set variables
        $this->debug = $params['debug'] ?? false;
        $this->error = $this->_error;
 
        $params['file'] = 'error.php';
 
        return parent::render($cache, $params);
    }
 
    /**
     * Render the backtrace
     *
     * @return  string  The contents of the backtrace
     *
     * @since   1.7.0
     */
    public function renderBacktrace()
    {
        // If no error object is set return null
        if (!isset($this->_error))
        {
            return;
        }
 
        // The back trace
        $backtrace = $this->_error->getTrace();
 
Arguments
  1. false
    
  2. array:7 [
      "template" => "g5_helium"
      "directory" => "/www/a/i/u68802/public_html/_sub/test/templates"
      "debug" => false
      "csp_nonce" => "ZDY5NmUwZTY0MmNjMTRhZTA1NTc2MmIyYmM3YmNmMDE5NDBiMTNhMzQwYWU4ODg4ZTc0ZWUwODUyNjk1NWNhMjc2ZjI4YWM3ZDE1NjI1NTZlMmNhZmQ5NTQ2NjMyNDdhODc4YTdkYjcwNzM5OGNhMjJlNjRlOGYzNjQ0YTYwNjI="
      "templateInherits" => ""
      "params" => Joomla\Registry\Registry {#797}
      "file" => "error.php"
    ]
    
        {
            $wa->addTemplateRegistryFile($template->parent, $app->getClientId());
        }
 
        if (ob_get_contents())
        {
            ob_end_clean();
        }
 
        $this->getDocument()->setTitle(Text::_('Error') . ': ' . $error->getCode());
 
        return $this->getDocument()->render(
            false,
            [
                'template'         => $template->template,
                'directory'        => JPATH_THEMES,
                'debug'            => JDEBUG,
                'csp_nonce'        => $app->get('csp_nonce'),
                'templateInherits' => $template->parent,
                'params'           => $template->params,
            ]
        );
    }
}
 
Arguments
  1. false
    
  2. array:7 [
      "template" => "g5_helium"
      "directory" => "/www/a/i/u68802/public_html/_sub/test/templates"
      "debug" => false
      "csp_nonce" => "ZDY5NmUwZTY0MmNjMTRhZTA1NTc2MmIyYmM3YmNmMDE5NDBiMTNhMzQwYWU4ODg4ZTc0ZWUwODUyNjk1NWNhMjc2ZjI4YWM3ZDE1NjI1NTZlMmNhZmQ5NTQ2NjMyNDdhODc4YTdkYjcwNzM5OGNhMjJlNjRlOGYzNjQ0YTYwNjI="
      "templateInherits" => ""
      "params" => Joomla\Registry\Registry {#797}
      "file" => "error.php"
    ]
    
            else
            {
                $format = $app->input->getString('format', 'html');
            }
 
            try
            {
                $renderer = AbstractRenderer::getRenderer($format);
            }
            catch (\InvalidArgumentException $e)
            {
                // Default to the HTML renderer
                $renderer = AbstractRenderer::getRenderer('html');
            }
 
            // 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();
            }
 
            if ($isCli)
            {
                echo $data;
            }
            else
            {
                /** @var CMSApplication $app */
 
                // Do not allow cache
                $app->allowCache(false);
 
                $app->setBody($data);
            }
Arguments
  1. Whoops\Exception\ErrorException {#812
      #message: "json_decode(): Passing null to parameter #1 ($json) of type string is deprecated"
      #code: 8192
      #file: "/www/a/i/u68802/public_html/_sub/test/components/com_gantry5/gantry5.php"
      #line: 102
      #severity: E_DEPRECATED
    }
    
            }
        }
 
        // Always return false, this will tell PHP to handle the error internally
        return false;
    }
 
    /**
     * Handles exceptions: logs errors and renders error page.
     *
     * @param   \Exception|\Throwable  $error  An Exception or Throwable (PHP 7+) object for which to render the error page.
     *
     * @return  void
     *
     * @since   3.10.0
     */
    public static function handleException(\Throwable $error)
    {
        static::logException($error);
        static::render($error);
    }
 
    /**
     * Render the error page based on an exception.
     *
     * @param   \Throwable  $error  An Exception or Throwable (PHP 7+) object for which to render the error page.
     *
     * @return  void
     *
     * @since   3.0
     */
    public static function render(\Throwable $error)
    {
        try
        {
            $app = Factory::getApplication();
 
            // Flag if we are on cli
            $isCli = $app->isClient('cli');
 
Arguments
  1. Whoops\Exception\ErrorException {#812
      #message: "json_decode(): Passing null to parameter #1 ($json) of type string is deprecated"
      #code: 8192
      #file: "/www/a/i/u68802/public_html/_sub/test/components/com_gantry5/gantry5.php"
      #line: 102
      #severity: E_DEPRECATED
    }
    
                // Trigger the onAfterCompress event.
                $this->triggerEvent('onAfterCompress');
            }
        }
        catch (\Throwable $throwable)
        {
            /** @var ErrorEvent $event */
            $event = AbstractEvent::create(
                'onError',
                [
                    'subject'     => $throwable,
                    'eventClass'  => ErrorEvent::class,
                    'application' => $this,
                ]
            );
 
            // Trigger the onError event.
            $this->triggerEvent('onError', $event);
 
            ExceptionHandler::handleException($event->getError());
        }
 
        // Send the application response.
        $this->respond();
 
        // Trigger the onAfterRespond event.
        $this->triggerEvent('onAfterRespond');
    }
 
    /**
     * Check if the user is required to reset their password.
     *
     * If the user is required to reset their password will be redirected to the page that manage the password reset.
     *
     * @param   string  $option  The option that manage the password reset
     * @param   string  $view    The view that manage the password reset
     * @param   string  $layout  The layout of the view that manage the password reset
     * @param   string  $tasks   Permitted tasks
     *
     * @return  void
Arguments
  1. Whoops\Exception\ErrorException {#812
      #message: "json_decode(): Passing null to parameter #1 ($json) of type string is deprecated"
      #code: 8192
      #file: "/www/a/i/u68802/public_html/_sub/test/components/com_gantry5/gantry5.php"
      #line: 102
      #severity: E_DEPRECATED
    }
    
}
$document->setTitle($title);
 
// Set description.
if ($params->get('menu-meta_description')) {
    $document->setDescription($params->get('menu-meta_description'));
}
 
// Set Keywords.
if ($params->get('menu-meta_keywords')) {
    $document->setMetaData('keywords', $params->get('menu-meta_keywords'));
}
 
// Set robots.
if ($params->get('robots')) {
    $document->setMetaData('robots', $params->get('robots'));
}
 
/** @var object $params */
$data = json_decode($params->get('particle'), true);
if (!$data) {
    // No component output.
    return;
}
 
$context = [
    'gantry' => $gantry,
    'noConfig' => true,
    'inContent' => true,
    'segment' => [
        'id' => 'main-particle',
        'type' => $data['type'],
        'classes' => $params->get('pageclass_sfx'),
        'subtype' => $data['particle'],
        'attributes' => $data['options']['particle'],
    ]
];
 
// Render the particle.
echo trim($theme->render('@nucleus/content/particle.html.twig', $context));
Arguments
  1. "json_decode(): Passing null to parameter #1 ($json) of type string is deprecated"
    
Exception message: json_decode(): Passing null to parameter #1 ($json) of type string is deprecated
}
$document->setTitle($title);
 
// Set description.
if ($params->get('menu-meta_description')) {
    $document->setDescription($params->get('menu-meta_description'));
}
 
// Set Keywords.
if ($params->get('menu-meta_keywords')) {
    $document->setMetaData('keywords', $params->get('menu-meta_keywords'));
}
 
// Set robots.
if ($params->get('robots')) {
    $document->setMetaData('robots', $params->get('robots'));
}
 
/** @var object $params */
$data = json_decode($params->get('particle'), true);
if (!$data) {
    // No component output.
    return;
}
 
$context = [
    'gantry' => $gantry,
    'noConfig' => true,
    'inContent' => true,
    'segment' => [
        'id' => 'main-particle',
        'type' => $data['type'],
        'classes' => $params->get('pageclass_sfx'),
        'subtype' => $data['particle'],
        'attributes' => $data['options']['particle'],
    ]
];
 
// Render the particle.
echo trim($theme->render('@nucleus/content/particle.html.twig', $context));
Arguments
  1. null
    
  2. true
    
     * @since   4.0.0
     */
    public function dispatch()
    {
        $path = JPATH_COMPONENT . '/' . substr($this->app->scope, 4) . '.php';
 
        // If component file doesn't exist throw error
        if (!is_file($path))
        {
            throw new \Exception(Text::_('JLIB_APPLICATION_ERROR_COMPONENT_NOT_FOUND'), 404);
        }
 
        $lang = $this->app->getLanguage();
 
        // Load common and local language files.
        $lang->load($this->app->scope, JPATH_BASE) || $lang->load($this->app->scope, JPATH_COMPONENT);
 
        // Execute the component
        $loader = static function ($path) {
            require_once $path;
        };
        $loader($path);
    }
}
 
Arguments
  1. "/www/a/i/u68802/public_html/_sub/test/components/com_gantry5/gantry5.php"
    
    public function dispatch()
    {
        $path = JPATH_COMPONENT . '/' . substr($this->app->scope, 4) . '.php';
 
        // If component file doesn't exist throw error
        if (!is_file($path))
        {
            throw new \Exception(Text::_('JLIB_APPLICATION_ERROR_COMPONENT_NOT_FOUND'), 404);
        }
 
        $lang = $this->app->getLanguage();
 
        // Load common and local language files.
        $lang->load($this->app->scope, JPATH_BASE) || $lang->load($this->app->scope, JPATH_COMPONENT);
 
        // Execute the component
        $loader = static function ($path) {
            require_once $path;
        };
        $loader($path);
    }
}
 
Arguments
  1. "/www/a/i/u68802/public_html/_sub/test/components/com_gantry5/gantry5.php"
    
        if (!\defined('JPATH_COMPONENT_ADMINISTRATOR'))
        {
            /**
             * Defines the path to the admin element of the active component for the request
             *
             * @var    string
             * @since  1.5
             * @deprecated 5.0 without replacement
             */
            \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();
 
        // Revert the scope
        $app->scope = $scope;
 
        if (JDEBUG)
        {
            Profiler::getInstance('Application')->mark('afterRenderComponent ' . $option);
        }
 
        return $contents;
    }
 
    /**
     * Load the installed components into the components property.
     *
     * @return  boolean  True on success
     *
     * @since   3.2
     */
 
            case 'feed':
                $document->setBase(htmlspecialchars(Uri::current()));
                break;
        }
 
        $document->setTitle($params->get('page_title'));
        $document->setDescription($params->get('page_description'));
 
        // Add version number or not based on global configuration
        if ($this->get('MetaVersion', 0))
        {
            $document->setGenerator('Joomla! - Open Source Content Management - Version ' . JVERSION);
        }
        else
        {
            $document->setGenerator('Joomla! - Open Source Content Management');
        }
 
        $contents = ComponentHelper::renderComponent($component);
        $document->setBuffer($contents, 'component');
 
        // Trigger the onAfterDispatch event.
        PluginHelper::importPlugin('system');
        $this->triggerEvent('onAfterDispatch');
    }
 
    /**
     * Method to run the Web application routines.
     *
     * @return  void
     *
     * @since   3.2
     */
    protected function doExecute()
    {
        // Initialise the application
        $this->initialiseApp();
 
        // Mark afterInitialise in the profiler.
Arguments
  1. "com_gantry5"
    
        // Mark afterInitialise in the profiler.
        JDEBUG ? $this->profiler->mark('afterInitialise') : null;
 
        // Route the application
        $this->route();
 
        // Mark afterRoute in the profiler.
        JDEBUG ? $this->profiler->mark('afterRoute') : null;
 
        /*
         * Check if the user is required to reset their password
         *
         * Before $this->route(); "option" and "view" can't be safely read using:
         * $this->input->getCmd('option'); or $this->input->getCmd('view');
         * ex: due of the sef urls
         */
        $this->checkUserRequireReset('com_users', 'profile', 'edit', 'com_users/profile.save,com_users/profile.apply,com_users/user.logout');
 
        // Dispatch the application
        $this->dispatch();
 
        // Mark afterDispatch in the profiler.
        JDEBUG ? $this->profiler->mark('afterDispatch') : null;
    }
 
    /**
     * Return the current state of the detect browser option.
     *
     * @return    boolean
     *
     * @since    3.2
     */
    public function getDetectBrowser()
    {
        return $this->detect_browser;
    }
 
    /**
     * Return the current state of the language filter.
     *
        }
    }
 
    /**
     * Execute the application.
     *
     * @return  void
     *
     * @since   3.2
     */
    public function execute()
    {
        try
        {
            $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();
            }
 
            // If gzip compression is enabled in configuration and the server is compliant, compress the output.
            if ($this->get('gzip') && !ini_get('zlib.output_compression') && ini_get('output_handler') !== 'ob_gzhandler')
            {
                $this->compress();
 
                // Trigger the onAfterCompress event.
                $this->triggerEvent('onAfterCompress');
            }
        }
        catch (\Throwable $throwable)
        {
            /** @var ErrorEvent $event */
 *
 * In addition to aliasing "common" service keys, we also create aliases for the PHP classes to ensure autowiring objects
 * is supported.  This includes aliases for aliased class names, and the keys for aliased class names should be considered
 * deprecated to be removed when the class name alias is removed as well.
 */
$container->alias('session.web', 'session.web.site')
    ->alias('session', 'session.web.site')
    ->alias('JSession', 'session.web.site')
    ->alias(\Joomla\CMS\Session\Session::class, 'session.web.site')
    ->alias(\Joomla\Session\Session::class, 'session.web.site')
    ->alias(\Joomla\Session\SessionInterface::class, 'session.web.site');
 
// Instantiate the application.
$app = $container->get(\Joomla\CMS\Application\SiteApplication::class);
 
// Set the application as global app
\Joomla\CMS\Factory::$application = $app;
 
// Execute the application.
$app->execute();
 
 
if (version_compare(PHP_VERSION, JOOMLA_MINIMUM_PHP, '<'))
{
    die(
        str_replace(
            '{{phpversion}}',
            JOOMLA_MINIMUM_PHP,
            file_get_contents(dirname(__FILE__) . '/templates/system/incompatible.html')
        )
    );
}
 
/**
 * Constant that is checked in included files to prevent direct access.
 * 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';
 
Arguments
  1. "/www/a/i/u68802/public_html/_sub/test/includes/app.php"
    

Environment & details:

empty
empty
empty
empty
empty
Key Value
PHP_FCGI_CHILDREN
"0"
PATH
"/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"
PHP_FCGI_MAX_REQUESTS
"5000"
PWD
"/www/a/i/u68802/wrappers"
PHPRC
"/www/a/i/u68802/conf/php81"
HTTP_CONNECTION
"close"
SCRIPT_NAME
"/index.php"
REQUEST_URI
"/"
QUERY_STRING
""
REQUEST_METHOD
"GET"
SERVER_PROTOCOL
"HTTP/1.1"
GATEWAY_INTERFACE
"CGI/1.1"
REMOTE_PORT
"31796"
SCRIPT_FILENAME
"/www/a/i/u68802/public_html/_sub/test/index.php"
SERVER_ADMIN
"support@exohosting.sk"
CONTEXT_DOCUMENT_ROOT
"/www/a/i/u68802/public_html"
CONTEXT_PREFIX
""
REQUEST_SCHEME
"http"
DOCUMENT_ROOT
"/www/a/i/u68802/public_html"
REMOTE_ADDR
"52.23.201.145"
SERVER_PORT
"80"
SERVER_ADDR
"10.10.51.96"
SERVER_NAME
"test.aimi.sk"
SERVER_SOFTWARE
"Apache"
SERVER_SIGNATURE
""
LD_LIBRARY_PATH
"/home/httpd/lib"
HTTP_X_IP_COUNTRY
"US"
HTTP_X_FORWARDED_PROTO
"http"
HTTP_X_FORWARDED_PORT
"80"
HTTP_X_FORWARDED_FOR
"52.23.201.145"
HTTP_HOST
"test.aimi.sk"
HTTP_USER_AGENT
"claudebot"
HTTP_ACCEPT
"*/*"
PHPSESSDIR
"/tmp"
TMPDIR
"/tmp"
SCRIPT_URI
"http://test.aimi.sk/"
SCRIPT_URL
"/"
GEOIP_COUNTRY_CODE
"US"
HTTPS
"off"
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1711692852.16
REQUEST_TIME
1711692852
argv
[]
argc
0
Key Value
PHP_FCGI_CHILDREN
"0"
PATH
"/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"
PHP_FCGI_MAX_REQUESTS
"5000"
PWD
"/www/a/i/u68802/wrappers"
PHPRC
"/www/a/i/u68802/conf/php81"
HTTP_CONNECTION
"close"
SCRIPT_NAME
"/index.php"
REQUEST_URI
"/"
QUERY_STRING
""
REQUEST_METHOD
"GET"
SERVER_PROTOCOL
"HTTP/1.1"
GATEWAY_INTERFACE
"CGI/1.1"
REMOTE_PORT
"31796"
SCRIPT_FILENAME
"/www/a/i/u68802/public_html/_sub/test/index.php"
SERVER_ADMIN
"support@exohosting.sk"
CONTEXT_DOCUMENT_ROOT
"/www/a/i/u68802/public_html"
CONTEXT_PREFIX
""
REQUEST_SCHEME
"http"
DOCUMENT_ROOT
"/www/a/i/u68802/public_html"
REMOTE_ADDR
"52.23.201.145"
SERVER_PORT
"80"
SERVER_ADDR
"10.10.51.96"
SERVER_NAME
"test.aimi.sk"
SERVER_SOFTWARE
"Apache"
SERVER_SIGNATURE
""
LD_LIBRARY_PATH
"/home/httpd/lib"
HTTP_X_IP_COUNTRY
"US"
HTTP_X_FORWARDED_PROTO
"http"
HTTP_X_FORWARDED_PORT
"80"
HTTP_X_FORWARDED_FOR
"52.23.201.145"
HTTP_HOST
"test.aimi.sk"
HTTP_USER_AGENT
"claudebot"
HTTP_ACCEPT
"*/*"
PHPSESSDIR
"/tmp"
TMPDIR
"/tmp"
SCRIPT_URI
"http://test.aimi.sk/"
SCRIPT_URL
"/"
GEOIP_COUNTRY_CODE
"US"
HTTPS
"off"
FCGI_ROLE
"RESPONDER"
0. Whoops\Handler\PrettyPageHandler