Twig \ Error \ SyntaxError
An exception has been thrown during the compilation of a template ("Required parameter $lineno follows optional parameter $only").
Previous exceptions
  • Required parameter $lineno follows optional parameter $only (8192)
Twig\Error\SyntaxError thrown with message "An exception has been thrown during the compilation of a template ("Required parameter $lineno follows optional parameter $only")." Stacktrace: #37 Twig\Error\SyntaxError in /home/tembiasa/expediciontembiasa.com/Manduvira2020/media/gantry5/engines/nucleus/templates/page.html.twig:1 #36 Whoops\Exception\ErrorException in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/gantry5/vendor/twig/twig/src/Node/IncludeNode.php:25 #35 Whoops\Run:handleError in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/gantry5/classes/Gantry/Component/Whoops/SystemFacade.php:107 #34 Gantry\Component\Whoops\SystemFacade:handleError in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/vendor/composer/ClassLoader.php:444 #33 include in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/vendor/composer/ClassLoader.php:444 #32 Composer\Autoload\includeFile in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/vendor/composer/ClassLoader.php:322 #31 Composer\Autoload\ClassLoader:loadClass in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/gantry5/vendor/twig/twig/src/TokenParser/IncludeTokenParser.php:33 #30 Twig\TokenParser\IncludeTokenParser:parse in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/gantry5/vendor/twig/twig/src/Parser.php:209 #29 Twig\Parser:subparse in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/gantry5/vendor/twig/twig/src/TokenParser/IfTokenParser.php:41 #28 Twig\TokenParser\IfTokenParser:parse in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/gantry5/vendor/twig/twig/src/Parser.php:209 #27 Twig\Parser:subparse in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/gantry5/vendor/twig/twig/src/TokenParser/BlockTokenParser.php:47 #26 Twig\TokenParser\BlockTokenParser:parse in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/gantry5/vendor/twig/twig/src/Parser.php:209 #25 Twig\Parser:subparse in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/gantry5/vendor/twig/twig/src/TokenParser/SetTokenParser.php:56 #24 Twig\TokenParser\SetTokenParser:parse in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/gantry5/vendor/twig/twig/src/Parser.php:209 #23 Twig\Parser:subparse in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/gantry5/vendor/twig/twig/src/Parser.php:122 #22 Twig\Parser:parse in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/gantry5/vendor/twig/twig/src/Environment.php:735 #21 Twig\Environment:parse in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/gantry5/vendor/twig/twig/src/Environment.php:793 #20 Twig\Environment:compileSource in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/gantry5/vendor/twig/twig/src/Environment.php:482 #19 Twig\Environment:loadClass in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/gantry5/vendor/twig/twig/src/Environment.php:445 #18 Twig\Environment:loadTemplate in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/gantry5/vendor/twig/twig/src/Template.php:377 #17 Twig\Template:loadTemplate in /home/tembiasa/expediciontembiasa.com/Manduvira2020/cache/gantry5/rt_kraken/twig/3b/3b19fb8080fef9c0ddb0fd04d063cb4d0d69876c9247ae8cae4ae42a262c9a81.php:34 #16 __TwigTemplate_2245947a9b5bfd3e7b022b98ea98a612b016f16febd8444e5a8ab4baa63ccd96:doDisplay in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/gantry5/vendor/twig/twig/src/Template.php:455 #15 Twig\Template:displayWithErrorHandling in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/gantry5/vendor/twig/twig/src/Template.php:422 #14 Twig\Template:display in /home/tembiasa/expediciontembiasa.com/Manduvira2020/cache/gantry5/rt_kraken/twig/b3/b3f01f370b87648ee0890ad832061785d9565db217d238ddcc426fb5fde21635.php:35 #13 __TwigTemplate_2513b18f2f06a28507147fb781b7a6ed190aebbecc44aa22907dc92ea552d95d:doDisplay in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/gantry5/vendor/twig/twig/src/Template.php:455 #12 Twig\Template:displayWithErrorHandling in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/gantry5/vendor/twig/twig/src/Template.php:422 #11 Twig\Template:display in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/gantry5/vendor/twig/twig/src/Template.php:434 #10 Twig\Template:render in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/gantry5/vendor/twig/twig/src/TemplateWrapper.php:47 #9 Twig\TemplateWrapper:render in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/gantry5/vendor/twig/twig/src/Environment.php:384 #8 Twig\Environment:render in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/gantry5/classes/Gantry/Component/Theme/AbstractTheme.php:163 #7 Gantry\Component\Theme\AbstractTheme:render in /home/tembiasa/expediciontembiasa.com/Manduvira2020/templates/rt_kraken/index.php:23 #6 require in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/src/Document/HtmlDocument.php:668 #5 Joomla\CMS\Document\HtmlDocument:_loadTemplate in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/src/Document/HtmlDocument.php:730 #4 Joomla\CMS\Document\HtmlDocument:_fetchTemplate in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/src/Document/HtmlDocument.php:545 #3 Joomla\CMS\Document\HtmlDocument:parse in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/src/Application/CMSApplication.php:1030 #2 Joomla\CMS\Application\CMSApplication:render in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/src/Application/SiteApplication.php:778 #1 Joomla\CMS\Application\SiteApplication:render in /home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/src/Application/CMSApplication.php:202 #0 Joomla\CMS\Application\CMSApplication:execute in /home/tembiasa/expediciontembiasa.com/Manduvira2020/index.php:49
Stack frames (38)
37
Twig\Error\SyntaxError
/home/tembiasa/expediciontembiasa.com/Manduvira2020/media/gantry5/engines/nucleus/templates/page.html.twig1
36
Whoops\Exception\ErrorException
/vendor/twig/twig/src/Node/IncludeNode.php25
35
Whoops\Run handleError
/classes/Gantry/Component/Whoops/SystemFacade.php107
34
Gantry\Component\Whoops\SystemFacade handleError
/home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/vendor/composer/ClassLoader.php444
33
include
/home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/vendor/composer/ClassLoader.php444
32
Composer\Autoload\includeFile
/home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/vendor/composer/ClassLoader.php322
31
Composer\Autoload\ClassLoader loadClass
/vendor/twig/twig/src/TokenParser/IncludeTokenParser.php33
30
Twig\TokenParser\IncludeTokenParser parse
/vendor/twig/twig/src/Parser.php209
29
Twig\Parser subparse
/vendor/twig/twig/src/TokenParser/IfTokenParser.php41
28
Twig\TokenParser\IfTokenParser parse
/vendor/twig/twig/src/Parser.php209
27
Twig\Parser subparse
/vendor/twig/twig/src/TokenParser/BlockTokenParser.php47
26
Twig\TokenParser\BlockTokenParser parse
/vendor/twig/twig/src/Parser.php209
25
Twig\Parser subparse
/vendor/twig/twig/src/TokenParser/SetTokenParser.php56
24
Twig\TokenParser\SetTokenParser parse
/vendor/twig/twig/src/Parser.php209
23
Twig\Parser subparse
/vendor/twig/twig/src/Parser.php122
22
Twig\Parser parse
/vendor/twig/twig/src/Environment.php735
21
Twig\Environment parse
/vendor/twig/twig/src/Environment.php793
20
Twig\Environment compileSource
/vendor/twig/twig/src/Environment.php482
19
Twig\Environment loadClass
/vendor/twig/twig/src/Environment.php445
18
Twig\Environment loadTemplate
/vendor/twig/twig/src/Template.php377
17
Twig\Template loadTemplate
/home/tembiasa/expediciontembiasa.com/Manduvira2020/cache/gantry5/rt_kraken/twig/3b/3b19fb8080fef9c0ddb0fd04d063cb4d0d69876c9247ae8cae4ae42a262c9a81.php34
16
__TwigTemplate_2245947a9b5bfd3e7b022b98ea98a612b016f16febd8444e5a8ab4baa63ccd96 doDisplay
/vendor/twig/twig/src/Template.php455
15
Twig\Template displayWithErrorHandling
/vendor/twig/twig/src/Template.php422
14
Twig\Template display
/home/tembiasa/expediciontembiasa.com/Manduvira2020/cache/gantry5/rt_kraken/twig/b3/b3f01f370b87648ee0890ad832061785d9565db217d238ddcc426fb5fde21635.php35
13
__TwigTemplate_2513b18f2f06a28507147fb781b7a6ed190aebbecc44aa22907dc92ea552d95d doDisplay
/vendor/twig/twig/src/Template.php455
12
Twig\Template displayWithErrorHandling
/vendor/twig/twig/src/Template.php422
11
Twig\Template display
/vendor/twig/twig/src/Template.php434
10
Twig\Template render
/vendor/twig/twig/src/TemplateWrapper.php47
9
Twig\TemplateWrapper render
/vendor/twig/twig/src/Environment.php384
8
Twig\Environment render
/classes/Gantry/Component/Theme/AbstractTheme.php163
7
Gantry\Component\Theme\AbstractTheme render
/home/tembiasa/expediciontembiasa.com/Manduvira2020/templates/rt_kraken/index.php23
6
require
/home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/src/Document/HtmlDocument.php668
5
Joomla\CMS\Document\HtmlDocument _loadTemplate
/home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/src/Document/HtmlDocument.php730
4
Joomla\CMS\Document\HtmlDocument _fetchTemplate
/home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/src/Document/HtmlDocument.php545
3
Joomla\CMS\Document\HtmlDocument parse
/home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/src/Application/CMSApplication.php1030
2
Joomla\CMS\Application\CMSApplication render
/home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/src/Application/SiteApplication.php778
1
Joomla\CMS\Application\SiteApplication render
/home/tembiasa/expediciontembiasa.com/Manduvira2020/libraries/src/Application/CMSApplication.php202
0
Joomla\CMS\Application\CMSApplication execute
/home/tembiasa/expediciontembiasa.com/Manduvira2020/index.php49
{%- do gantry.debugger.startTimer('render', 'Rendering page') %}
{%- do gantry.theme.setLayout() -%}
{%- do gantry.theme.loadAtoms() -%}
{%- set segments = gantry.theme.segments() -%}
 
{%- set content %}
    {% if gantry.theme.hasContent() %}
        {% block content %}
        {% endblock %}
    {% endif %}
{% endset -%}
 
{%- set offcanvas = null -%}
{%- for segment in segments if segment.type == 'offcanvas' %}
    {%- set offcanvas = segment -%}
{% endfor -%}
 
{%- set page_offcanvas %}
    {% block page_offcanvas %}
        {% if offcanvas %}
            {% include '@nucleus/layout/' ~ offcanvas.type ~ '.html.twig' with { 'segment': offcanvas } -%}
        {% endif %}
    {% endblock %}
{% endset -%}
 
{%- set page_offcanvas = page_offcanvas|trim ?: '' %}
{%- set offcanvas_position = page_offcanvas ? offcanvas.attributes.position|default('g-offcanvas-left') : '' -%}
 
{%- set page_layout %}
    {% block page_layout %}
    {% for segment in segments if segment.type != 'offcanvas' %}
        {% include '@nucleus/layout/' ~ segment.type ~ '.html.twig' with { 'segments': segment.children } %}
    {% endfor %}
    {% endblock %}
{% endset -%}
 
{%- set page_top %}
    {% block page_top %}
    {% endblock %}
    {{ gantry.document.getHtml('top')|join("\n    ")|raw }}
 * (c) Fabien Potencier
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
 
namespace Twig\Node;
 
use Twig\Compiler;
use Twig\Node\Expression\AbstractExpression;
 
/**
 * Represents an include node.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class IncludeNode extends Node implements NodeOutputInterface
{
    public function __construct(AbstractExpression $expr, AbstractExpression $variables = null, $only = false, $ignoreMissing = false, $lineno, $tag = null)
    {
        $nodes = ['expr' => $expr];
        if (null !== $variables) {
            $nodes['variables'] = $variables;
        }
 
        parent::__construct($nodes, ['only' => (bool) $only, 'ignore_missing' => (bool) $ignoreMissing], $lineno, $tag);
    }
 
    public function compile(Compiler $compiler)
    {
        $compiler->addDebugInfo($this);
 
        if ($this->getAttribute('ignore_missing')) {
            $template = $compiler->getVarName();
 
            $compiler
                ->write(sprintf("$%s = null;\n", $template))
                ->write("try {\n")
                ->indent()
Exception message: Required parameter $lineno follows optional parameter $only
     *
     * @return bool
     * @throws \ErrorException
     */
    public function handleError($level, $message, $file = null, $line = null)
    {
        $handler = $this->whoopsErrorHandler;
 
        if (!$this->registeredPatterns) {
            // Just forward to parent function is there aren't no registered patterns.
            return $handler($level, $message, $file, $line);
 
        }
 
        // If there are registered patterns, only handle errors if error matches one of the patterns.
        if ($level & error_reporting()) {
            foreach ($this->registeredPatterns as $entry) {
                $pathMatches = $file && preg_match($entry["pattern"], $file);
                if ($pathMatches) {
                    return $handler($level, $message, $file, $line);
                }
            }
        }
 
        // Propagate error to the next handler, allows error_get_last() to work on silenced errors.
        return false;
    }
 
    /**
     * Handles an exception, ultimately generating a Whoops error page.
     *
     * @param  \Throwable $exception
     * @return void
     */
    public function handleException($exception)
    {
        $handler = $this->whoopsExceptionHandler;
 
        // If there are registered patterns, only handle errors if error matches one of the patterns.
        if ($this->registeredPatterns) {
            }
        }
 
        // PSR-0 include paths.
        if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
            return $file;
        }
 
        return false;
    }
}
 
/**
 * Scope isolated include.
 *
 * Prevents access to $this/self from included files.
 */
function includeFile($file)
{
    include $file;
}
 
            }
        }
 
        // PSR-0 include paths.
        if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
            return $file;
        }
 
        return false;
    }
}
 
/**
 * Scope isolated include.
 *
 * Prevents access to $this/self from included files.
 */
function includeFile($file)
{
    include $file;
}
 
    }
 
    /**
     * Unregisters this instance as an autoloader.
     */
    public function unregister()
    {
        spl_autoload_unregister(array($this, 'loadClass'));
    }
 
    /**
     * Loads the given class or interface.
     *
     * @param  string    $class The name of the class
     * @return bool|null True if loaded, null otherwise
     */
    public function loadClass($class)
    {
        if ($file = $this->findFile($class)) {
            includeFile($file);
 
            return true;
        }
    }
 
    /**
     * Finds the path to the file where the class is defined.
     *
     * @param string $class The name of the class
     *
     * @return string|false The path if found, false otherwise
     */
    public function findFile($class)
    {
        // class map lookup
        if (isset($this->classMap[$class])) {
            return $this->classMap[$class];
        }
        if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
            return false;
 
use Twig\Node\IncludeNode;
use Twig\Token;
 
/**
 * Includes a template.
 *
 *   {% include 'header.html' %}
 *     Body
 *   {% include 'footer.html' %}
 */
class IncludeTokenParser extends AbstractTokenParser
{
    public function parse(Token $token)
    {
        $expr = $this->parser->getExpressionParser()->parseExpression();
 
        list($variables, $only, $ignoreMissing) = $this->parseArguments();
 
        return new IncludeNode($expr, $variables, $only, $ignoreMissing, $token->getLine(), $this->getTag());
    }
 
    protected function parseArguments()
    {
        $stream = $this->parser->getStream();
 
        $ignoreMissing = false;
        if ($stream->nextIf(Token::NAME_TYPE, 'ignore')) {
            $stream->expect(Token::NAME_TYPE, 'missing');
 
            $ignoreMissing = true;
        }
 
        $variables = null;
        if ($stream->nextIf(Token::NAME_TYPE, 'with')) {
            $variables = $this->parser->getExpressionParser()->parseExpression();
        }
 
        $only = false;
        if ($stream->nextIf(Token::NAME_TYPE, 'only')) {
 
                    $subparser = $this->handlers->getTokenParser($token->getValue());
                    if (null === $subparser) {
                        if (null !== $test) {
                            $e = new SyntaxError(sprintf('Unexpected "%s" tag', $token->getValue()), $token->getLine(), $this->stream->getSourceContext());
 
                            if (\is_array($test) && isset($test[0]) && $test[0] instanceof TokenParserInterface) {
                                $e->appendMessage(sprintf(' (expecting closing tag for the "%s" tag defined near line %s).', $test[0]->getTag(), $lineno));
                            }
                        } else {
                            $e = new SyntaxError(sprintf('Unknown "%s" tag.', $token->getValue()), $token->getLine(), $this->stream->getSourceContext());
                            $e->addSuggestions($token->getValue(), array_keys($this->env->getTags()));
                        }
 
                        throw $e;
                    }
 
                    $this->stream->next();
 
                    $node = $subparser->parse($token);
                    if (null !== $node) {
                        $rv[] = $node;
                    }
                    break;
 
                default:
                    throw new SyntaxError('Lexer or parser ended up in unsupported state.', $this->getCurrentToken()->getLine(), $this->stream->getSourceContext());
            }
        }
 
        if (1 === \count($rv)) {
            return $rv[0];
        }
 
        return new Node($rv, [], $lineno);
    }
 
    /**
     * @deprecated since 1.27 (to be removed in 2.0)
     */
 *
 *   {% if users %}
 *    <ul>
 *      {% for user in users %}
 *        <li>{{ user.username|e }}</li>
 *      {% endfor %}
 *    </ul>
 *   {% endif %}
 *
 * @final
 */
class IfTokenParser extends AbstractTokenParser
{
    public function parse(Token $token)
    {
        $lineno = $token->getLine();
        $expr = $this->parser->getExpressionParser()->parseExpression();
        $stream = $this->parser->getStream();
        $stream->expect(Token::BLOCK_END_TYPE);
        $body = $this->parser->subparse([$this, 'decideIfFork']);
        $tests = [$expr, $body];
        $else = null;
 
        $end = false;
        while (!$end) {
            switch ($stream->next()->getValue()) {
                case 'else':
                    $stream->expect(Token::BLOCK_END_TYPE);
                    $else = $this->parser->subparse([$this, 'decideIfEnd']);
                    break;
 
                case 'elseif':
                    $expr = $this->parser->getExpressionParser()->parseExpression();
                    $stream->expect(Token::BLOCK_END_TYPE);
                    $body = $this->parser->subparse([$this, 'decideIfFork']);
                    $tests[] = $expr;
                    $tests[] = $body;
                    break;
 
                case 'endif':
 
                    $subparser = $this->handlers->getTokenParser($token->getValue());
                    if (null === $subparser) {
                        if (null !== $test) {
                            $e = new SyntaxError(sprintf('Unexpected "%s" tag', $token->getValue()), $token->getLine(), $this->stream->getSourceContext());
 
                            if (\is_array($test) && isset($test[0]) && $test[0] instanceof TokenParserInterface) {
                                $e->appendMessage(sprintf(' (expecting closing tag for the "%s" tag defined near line %s).', $test[0]->getTag(), $lineno));
                            }
                        } else {
                            $e = new SyntaxError(sprintf('Unknown "%s" tag.', $token->getValue()), $token->getLine(), $this->stream->getSourceContext());
                            $e->addSuggestions($token->getValue(), array_keys($this->env->getTags()));
                        }
 
                        throw $e;
                    }
 
                    $this->stream->next();
 
                    $node = $subparser->parse($token);
                    if (null !== $node) {
                        $rv[] = $node;
                    }
                    break;
 
                default:
                    throw new SyntaxError('Lexer or parser ended up in unsupported state.', $this->getCurrentToken()->getLine(), $this->stream->getSourceContext());
            }
        }
 
        if (1 === \count($rv)) {
            return $rv[0];
        }
 
        return new Node($rv, [], $lineno);
    }
 
    /**
     * @deprecated since 1.27 (to be removed in 2.0)
     */
 *  {% endblock %}
 *
 * @final
 */
class BlockTokenParser extends AbstractTokenParser
{
    public function parse(Token $token)
    {
        $lineno = $token->getLine();
        $stream = $this->parser->getStream();
        $name = $stream->expect(Token::NAME_TYPE)->getValue();
        if ($this->parser->hasBlock($name)) {
            throw new SyntaxError(sprintf("The block '%s' has already been defined line %d.", $name, $this->parser->getBlock($name)->getTemplateLine()), $stream->getCurrent()->getLine(), $stream->getSourceContext());
        }
        $this->parser->setBlock($name, $block = new BlockNode($name, new Node([]), $lineno));
        $this->parser->pushLocalScope();
        $this->parser->pushBlockStack($name);
 
        if ($stream->nextIf(Token::BLOCK_END_TYPE)) {
            $body = $this->parser->subparse([$this, 'decideBlockEnd'], true);
            if ($token = $stream->nextIf(Token::NAME_TYPE)) {
                $value = $token->getValue();
 
                if ($value != $name) {
                    throw new SyntaxError(sprintf('Expected endblock for block "%s" (but "%s" given).', $name, $value), $stream->getCurrent()->getLine(), $stream->getSourceContext());
                }
            }
        } else {
            $body = new Node([
                new PrintNode($this->parser->getExpressionParser()->parseExpression(), $lineno),
            ]);
        }
        $stream->expect(Token::BLOCK_END_TYPE);
 
        $block->setNode('body', $body);
        $this->parser->popBlockStack();
        $this->parser->popLocalScope();
 
        return new BlockReferenceNode($name, $lineno, $this->getTag());
    }
 
                    $subparser = $this->handlers->getTokenParser($token->getValue());
                    if (null === $subparser) {
                        if (null !== $test) {
                            $e = new SyntaxError(sprintf('Unexpected "%s" tag', $token->getValue()), $token->getLine(), $this->stream->getSourceContext());
 
                            if (\is_array($test) && isset($test[0]) && $test[0] instanceof TokenParserInterface) {
                                $e->appendMessage(sprintf(' (expecting closing tag for the "%s" tag defined near line %s).', $test[0]->getTag(), $lineno));
                            }
                        } else {
                            $e = new SyntaxError(sprintf('Unknown "%s" tag.', $token->getValue()), $token->getLine(), $this->stream->getSourceContext());
                            $e->addSuggestions($token->getValue(), array_keys($this->env->getTags()));
                        }
 
                        throw $e;
                    }
 
                    $this->stream->next();
 
                    $node = $subparser->parse($token);
                    if (null !== $node) {
                        $rv[] = $node;
                    }
                    break;
 
                default:
                    throw new SyntaxError('Lexer or parser ended up in unsupported state.', $this->getCurrentToken()->getLine(), $this->stream->getSourceContext());
            }
        }
 
        if (1 === \count($rv)) {
            return $rv[0];
        }
 
        return new Node($rv, [], $lineno);
    }
 
    /**
     * @deprecated since 1.27 (to be removed in 2.0)
     */
 
        $capture = false;
        if ($stream->nextIf(Token::OPERATOR_TYPE, '=')) {
            $values = $this->parser->getExpressionParser()->parseMultitargetExpression();
 
            $stream->expect(Token::BLOCK_END_TYPE);
 
            if (\count($names) !== \count($values)) {
                throw new SyntaxError('When using set, you must have the same number of variables and assignments.', $stream->getCurrent()->getLine(), $stream->getSourceContext());
            }
        } else {
            $capture = true;
 
            if (\count($names) > 1) {
                throw new SyntaxError('When using set with a block, you cannot have a multi-target.', $stream->getCurrent()->getLine(), $stream->getSourceContext());
            }
 
            $stream->expect(Token::BLOCK_END_TYPE);
 
            $values = $this->parser->subparse([$this, 'decideBlockEnd'], true);
            $stream->expect(Token::BLOCK_END_TYPE);
        }
 
        return new SetNode($capture, $names, $values, $lineno, $this->getTag());
    }
 
    public function decideBlockEnd(Token $token)
    {
        return $token->test('endset');
    }
 
    public function getTag()
    {
        return 'set';
    }
}
 
class_alias('Twig\TokenParser\SetTokenParser', 'Twig_TokenParser_Set');
 
 
                    $subparser = $this->handlers->getTokenParser($token->getValue());
                    if (null === $subparser) {
                        if (null !== $test) {
                            $e = new SyntaxError(sprintf('Unexpected "%s" tag', $token->getValue()), $token->getLine(), $this->stream->getSourceContext());
 
                            if (\is_array($test) && isset($test[0]) && $test[0] instanceof TokenParserInterface) {
                                $e->appendMessage(sprintf(' (expecting closing tag for the "%s" tag defined near line %s).', $test[0]->getTag(), $lineno));
                            }
                        } else {
                            $e = new SyntaxError(sprintf('Unknown "%s" tag.', $token->getValue()), $token->getLine(), $this->stream->getSourceContext());
                            $e->addSuggestions($token->getValue(), array_keys($this->env->getTags()));
                        }
 
                        throw $e;
                    }
 
                    $this->stream->next();
 
                    $node = $subparser->parse($token);
                    if (null !== $node) {
                        $rv[] = $node;
                    }
                    break;
 
                default:
                    throw new SyntaxError('Lexer or parser ended up in unsupported state.', $this->getCurrentToken()->getLine(), $this->stream->getSourceContext());
            }
        }
 
        if (1 === \count($rv)) {
            return $rv[0];
        }
 
        return new Node($rv, [], $lineno);
    }
 
    /**
     * @deprecated since 1.27 (to be removed in 2.0)
     */
        if (null === $this->visitors) {
            $this->visitors = $this->env->getNodeVisitors();
        }
 
        if (null === $this->expressionParser) {
            $this->expressionParser = new ExpressionParser($this, $this->env);
        }
 
        $this->stream = $stream;
        $this->parent = null;
        $this->blocks = [];
        $this->macros = [];
        $this->traits = [];
        $this->blockStack = [];
        $this->importedSymbols = [[]];
        $this->embeddedTemplates = [];
        $this->varNameSalt = 0;
 
        try {
            $body = $this->subparse($test, $dropNeedle);
 
            if (null !== $this->parent && null === $body = $this->filterBodyNodes($body)) {
                $body = new Node();
            }
        } catch (SyntaxError $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->stream->getSourceContext());
            }
 
            if (!$e->getTemplateLine()) {
                $e->setTemplateLine($this->stream->getCurrent()->getLine());
            }
 
            throw $e;
        }
 
        $node = new ModuleNode(new BodyNode([$body]), $this->parent, new Node($this->blocks), new Node($this->macros), new Node($this->traits), $this->embeddedTemplates, $stream->getSourceContext());
 
        $traverser = new NodeTraverser($this->env, $this->visitors);
 
 
    public function setParser(\Twig_ParserInterface $parser)
    {
        $this->parser = $parser;
    }
 
    /**
     * Converts a token stream to a node tree.
     *
     * @return ModuleNode
     *
     * @throws SyntaxError When the token stream is syntactically or semantically wrong
     */
    public function parse(TokenStream $stream)
    {
        if (null === $this->parser) {
            $this->parser = new Parser($this);
        }
 
        return $this->parser->parse($stream);
    }
 
    /**
     * Gets the Compiler instance.
     *
     * @return \Twig_CompilerInterface
     *
     * @deprecated since 1.25 (to be removed in 2.0)
     */
    public function getCompiler()
    {
        @trigger_error(sprintf('The %s() method is deprecated since version 1.25 and will be removed in 2.0.', __FUNCTION__), E_USER_DEPRECATED);
 
        if (null === $this->compiler) {
            $this->compiler = new Compiler($this);
        }
 
        return $this->compiler;
    }
 
 
    /**
     * Compiles a template source code.
     *
     * @param string|Source $source The template source code
     * @param string        $name   The template name (deprecated)
     *
     * @return string The compiled PHP source code
     *
     * @throws SyntaxError When there was an error during tokenizing, parsing or compiling
     */
    public function compileSource($source, $name = null)
    {
        if (!$source instanceof Source) {
            @trigger_error(sprintf('Passing a string as the $source argument of %s() is deprecated since version 1.27. Pass a Twig\Source instance instead.', __METHOD__), E_USER_DEPRECATED);
            $source = new Source($source, $name);
        }
 
        try {
            return $this->compile($this->parse($this->tokenize($source)));
        } catch (Error $e) {
            $e->setSourceContext($source);
            throw $e;
        } catch (\Exception $e) {
            throw new SyntaxError(sprintf('An exception has been thrown during the compilation of a template ("%s").', $e->getMessage()), -1, $source, $e);
        }
    }
 
    public function setLoader(LoaderInterface $loader)
    {
        if (!$loader instanceof SourceContextLoaderInterface && 0 !== strpos(\get_class($loader), 'Mock_')) {
            @trigger_error(sprintf('Twig loader "%s" should implement Twig\Loader\SourceContextLoaderInterface since version 1.27.', \get_class($loader)), E_USER_DEPRECATED);
        }
 
        $this->loader = $loader;
    }
 
    /**
     * Gets the Loader instance.
     *
            if ($this->bcGetCacheFilename) {
                $key = $this->getCacheFilename($name);
            } else {
                $key = $this->cache->generateKey($name, $mainCls);
            }
 
            if (!$this->isAutoReload() || $this->isTemplateFresh($name, $this->cache->getTimestamp($key))) {
                $this->cache->load($key);
            }
 
            $source = null;
            if (!class_exists($cls, false)) {
                $loader = $this->getLoader();
                if (!$loader instanceof SourceContextLoaderInterface) {
                    $source = new Source($loader->getSource($name), $name);
                } else {
                    $source = $loader->getSourceContext($name);
                }
 
                $content = $this->compileSource($source);
 
                if ($this->bcWriteCacheFile) {
                    $this->writeCacheFile($key, $content);
                } else {
                    $this->cache->write($key, $content);
                    $this->cache->load($key);
                }
 
                if (!class_exists($mainCls, false)) {
                    /* Last line of defense if either $this->bcWriteCacheFile was used,
                     * $this->cache is implemented as a no-op or we have a race condition
                     * where the cache was cleared between the above calls to write to and load from
                     * the cache.
                     */
                    eval('?>'.$content);
                }
            }
 
            if (!class_exists($cls, false)) {
                throw new RuntimeError(sprintf('Failed to load Twig template "%s", index "%s": cache might be corrupted.', $name, $index), -1, $source);
    /**
     * Loads a template internal representation.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @param string $name  The template name
     * @param int    $index The index if it is an embedded template
     *
     * @return \Twig_TemplateInterface A template instance representing the given template name
     *
     * @throws LoaderError  When the template cannot be found
     * @throws RuntimeError When a previously generated cache is corrupted
     * @throws SyntaxError  When an error occurred during compilation
     *
     * @internal
     */
    public function loadTemplate($name, $index = null)
    {
        return $this->loadClass($this->getTemplateClass($name), $name, $index);
    }
 
    /**
     * @internal
     */
    public function loadClass($cls, $name, $index = null)
    {
        $mainCls = $cls;
        if (null !== $index) {
            $cls .= '___'.$index;
        }
 
        if (isset($this->loadedTemplates[$cls])) {
            return $this->loadedTemplates[$cls];
        }
 
        if (!class_exists($cls, false)) {
            if ($this->bcGetCacheFilename) {
                $key = $this->getCacheFilename($name);
            } else {
    {
        try {
            if (\is_array($template)) {
                return $this->env->resolveTemplate($template);
            }
 
            if ($template instanceof self || $template instanceof TemplateWrapper) {
                return $template;
            }
 
            if ($template === $this->getTemplateName()) {
                $class = \get_class($this);
                if (false !== $pos = strrpos($class, '___', -1)) {
                    $class = substr($class, 0, $pos);
                }
 
                return $this->env->loadClass($class, $template, $index);
            }
 
            return $this->env->loadTemplate($template, $index);
        } catch (Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($templateName ? new Source('', $templateName) : $this->getSourceContext());
            }
 
            if ($e->getTemplateLine() > 0) {
                throw $e;
            }
 
            if (!$line) {
                $e->guess();
            } else {
                $e->setTemplateLine($line);
            }
 
            throw $e;
        }
    }
 
    /**
class __TwigTemplate_2245947a9b5bfd3e7b022b98ea98a612b016f16febd8444e5a8ab4baa63ccd96 extends \Twig\Template
{
    public function __construct(Environment $env)
    {
        parent::__construct($env);
 
        $this->blocks = [
            'page_footer' => [$this, 'block_page_footer'],
        ];
    }
 
    protected function doGetParent(array $context)
    {
        // line 1
        return "@nucleus/page.html.twig";
    }
 
    protected function doDisplay(array $context, array $blocks = [])
    {
        $this->parent = $this->loadTemplate("@nucleus/page.html.twig", "partials/page.html.twig", 1);
        $this->parent->display($context, array_merge($this->blocks, $blocks));
    }
 
    // line 3
    public function block_page_footer($context, array $blocks = [])
    {
        // line 4
        echo "    ";
        $this->displayParentBlock("page_footer", $context, $blocks);
        echo "
    <jdoc:include type=\"modules\" name=\"debug\" />
";
    }
 
    public function getTemplateName()
    {
        return "partials/page.html.twig";
    }
 
    public function isTraitable()
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        } catch (\Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        }
 
        return ob_get_clean();
    }
 
    protected function displayWithErrorHandling(array $context, array $blocks = [])
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->getSourceContext());
            }
 
            // this is mostly useful for \Twig\Error\LoaderError exceptions
            // see \Twig\Error\LoaderError
            if (-1 === $e->getTemplateLine()) {
                $e->guess();
            }
 
            throw $e;
        } catch (\Exception $e) {
            $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
            $e->guess();
 
            throw $e;
        }
    }
 
    {
        return $this;
    }
 
    /**
     * Returns all blocks.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     */
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    public function render(array $context)
    {
        $level = ob_get_level();
        if ($this->env->isDebug()) {
            ob_start();
        } else {
            ob_start(function () { return ''; });
        }
        try {
            $this->display($context);
        } catch (\Exception $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        } catch (\Throwable $e) {
            while (ob_get_level() > $level) {
{
    public function __construct(Environment $env)
    {
        parent::__construct($env);
 
        $this->blocks = [
            'content' => [$this, 'block_content'],
        ];
    }
 
    protected function doGetParent(array $context)
    {
        // line 1
        return "partials/page.html.twig";
    }
 
    protected function doDisplay(array $context, array $blocks = [])
    {
        $this->parent = $this->loadTemplate("partials/page.html.twig", "index.html.twig", 1);
        $this->parent->display($context, array_merge($this->blocks, $blocks));
    }
 
    // line 3
    public function block_content($context, array $blocks = [])
    {
        // line 4
        echo "    ";
        echo $this->getAttribute($this->getAttribute(($context["gantry"] ?? null), "platform", []), "displayContent", [0 => ($context["content"] ?? null)], "method");
        echo "
";
    }
 
    public function getTemplateName()
    {
        return "index.html.twig";
    }
 
    public function isTraitable()
    {
        return false;
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        } catch (\Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        }
 
        return ob_get_clean();
    }
 
    protected function displayWithErrorHandling(array $context, array $blocks = [])
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->getSourceContext());
            }
 
            // this is mostly useful for \Twig\Error\LoaderError exceptions
            // see \Twig\Error\LoaderError
            if (-1 === $e->getTemplateLine()) {
                $e->guess();
            }
 
            throw $e;
        } catch (\Exception $e) {
            $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
            $e->guess();
 
            throw $e;
        }
    }
 
    {
        return $this;
    }
 
    /**
     * Returns all blocks.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     */
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    public function render(array $context)
    {
        $level = ob_get_level();
        if ($this->env->isDebug()) {
            ob_start();
        } else {
            ob_start(function () { return ''; });
        }
        try {
            $this->display($context);
        } catch (\Exception $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        } catch (\Throwable $e) {
            while (ob_get_level() > $level) {
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    public function render(array $context)
    {
        $level = ob_get_level();
        if ($this->env->isDebug()) {
            ob_start();
        } else {
            ob_start(function () { return ''; });
        }
        try {
            $this->display($context);
        } catch (\Exception $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        } catch (\Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        }
 
        return ob_get_clean();
    }
 
    protected function displayWithErrorHandling(array $context, array $blocks = [])
    {
        try {
     * @internal
     */
    public function __construct(Environment $env, Template $template)
    {
        $this->env = $env;
        $this->template = $template;
    }
 
    /**
     * Renders the template.
     *
     * @param array $context An array of parameters to pass to the template
     *
     * @return string The rendered template
     */
    public function render($context = [])
    {
        // using func_get_args() allows to not expose the blocks argument
        // as it should only be used by internal code
        return $this->template->render($context, \func_num_args() > 1 ? func_get_arg(1) : []);
    }
 
    /**
     * Displays the template.
     *
     * @param array $context An array of parameters to pass to the template
     */
    public function display($context = [])
    {
        // using func_get_args() allows to not expose the blocks argument
        // as it should only be used by internal code
        $this->template->display($context, \func_num_args() > 1 ? func_get_arg(1) : []);
    }
 
    /**
     * Checks if a block is defined.
     *
     * @param string $name    The block name
     * @param array  $context An array of parameters to pass to the template
     *
        @trigger_error(sprintf('The %s method is deprecated since version 1.22 and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);
 
        return $this->templateClassPrefix;
    }
 
    /**
     * Renders a template.
     *
     * @param string|TemplateWrapper $name    The template name
     * @param array                  $context An array of parameters to pass to the template
     *
     * @return string The rendered template
     *
     * @throws LoaderError  When the template cannot be found
     * @throws SyntaxError  When an error occurred during compilation
     * @throws RuntimeError When an error occurred during rendering
     */
    public function render($name, array $context = [])
    {
        return $this->load($name)->render($context);
    }
 
    /**
     * Displays a template.
     *
     * @param string|TemplateWrapper $name    The template name
     * @param array                  $context An array of parameters to pass to the template
     *
     * @throws LoaderError  When the template cannot be found
     * @throws SyntaxError  When an error occurred during compilation
     * @throws RuntimeError When an error occurred during rendering
     */
    public function display($name, array $context = [])
    {
        $this->load($name)->display($context);
    }
 
    /**
     * Loads a template.
     *
 
            $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);
    }
 
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2015 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */
 
defined('_JEXEC') or die;
 
// Bootstrap Gantry framework or fail gracefully (inside included file).
$gantry = include __DIR__ . '/includes/gantry.php';
 
/** @var \Gantry\Framework\Theme $theme */
$theme = $gantry['theme'];
 
/** @var \Gantry\Framework\Configurations $configurations */
$configurations = $gantry['configurations'];
 
// Render the page.
echo $theme->render('index.html.twig');
 
     * @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 (file_exists($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();
        }
 
        // Try to find a favicon by checking the template and root folder
        $icon = '/favicon.ico';
 
        foreach (array($directory, JPATH_BASE) as $dir)
        {
            if (file_exists($dir . $icon))
            {
                $path = str_replace(JPATH_BASE, '', $dir);
                $path = str_replace('\\', '/', $path);
                $this->addFavicon(Uri::base(true) . $path . $icon);
                break;
            }
        }
 
        return $contents;
    }
 
        if (!file_exists($directory . '/' . $template . '/' . $file))
        {
            $file = 'index.php';
        }
 
        // Load the language file for the template
        $lang = \JFactory::getLanguage();
 
        // 1.5 or core then 1.6
        $lang->load('tpl_' . $template, JPATH_BASE, null, false, true)
            || $lang->load('tpl_' . $template, $directory . '/' . $template, null, false, true);
 
        // Assign the variables
        $this->template = $template;
        $this->baseurl = Uri::base(true);
        $this->params = isset($params['params']) ? $params['params'] : new Registry;
 
        // Load
        $this->_template = $this->_loadTemplate($directory . '/' . $template, $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))
        {
            $template_tags_first = array();
            $template_tags_last = array();
 
            $options['title'] = (isset($args[3])) ? $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);
        }
     */
    protected function render()
    {
        // Setup the document options.
        $this->docOptions['template'] = $this->get('theme');
        $this->docOptions['file']     = $this->get('themeFile', 'index.php');
        $this->docOptions['params']   = $this->get('themeParams');
 
        if ($this->get('themes.base'))
        {
            $this->docOptions['directory'] = $this->get('themes.base');
        }
        // Fall back to constants.
        else
        {
            $this->docOptions['directory'] = defined('JPATH_THEMES') ? JPATH_THEMES : (defined('JPATH_BASE') ? JPATH_BASE : __DIR__) . '/themes';
        }
 
        // Parse the document.
        $this->document->parse($this->docOptions);
 
        // Trigger the onBeforeRender event.
        \JPluginHelper::importPlugin('system');
        $this->triggerEvent('onBeforeRender');
 
        $caching = false;
 
        if ($this->isClient('site') && $this->get('caching') && $this->get('caching', 2) == 2 && !\JFactory::getUser()->get('id'))
        {
            $caching = true;
        }
 
        // Render the document.
        $data = $this->document->render($caching, $this->docOptions);
 
        // Set the application output data.
        $this->setBody($data);
 
        // Trigger the onAfterRender event.
        $this->triggerEvent('onAfterRender');
                    $this->setUserState('users.login.form.data', array('return' => \JUri::getInstance()->toString()));
                    $this->set('themeFile', 'offline.php');
                    $this->setHeader('Status', '503 Service Temporarily Unavailable', 'true');
                }
 
                if (!is_dir(JPATH_THEMES . '/' . $template->template) && !$this->get('offline'))
                {
                    $this->set('themeFile', 'component.php');
                }
 
                // Ensure themeFile is set by now
                if ($this->get('themeFile') == '')
                {
                    $this->set('themeFile', $file . '.php');
                }
 
                break;
        }
 
        parent::render();
    }
 
    /**
     * Route the application.
     *
     * Routing is the process of examining the request environment to determine which
     * component should receive the request. The component optional parameters
     * are then set in the request object to be processed when the application is being
     * dispatched.
     *
     * @return  void
     *
     * @since   3.2
     */
    protected function route()
    {
        // Execute the parent method
        parent::route();
 
        $Itemid = $this->input->getInt('Itemid', null);
        }
    }
 
    /**
     * Execute the application.
     *
     * @return  void
     *
     * @since   3.2
     */
    public function execute()
    {
        // Perform application routines.
        $this->doExecute();
 
        // If we have an application document object, render it.
        if ($this->document instanceof \JDocument)
        {
            // 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');
        }
 
        // Send the application response.
        $this->respond();
 
        // Trigger the onAfterRespond event.
        $this->triggerEvent('onAfterRespond');
    }
 
    /**
     * Check if the user is required to reset their password.
{
    include_once __DIR__ . '/defines.php';
}
 
if (!defined('_JDEFINES'))
{
    define('JPATH_BASE', __DIR__);
    require_once JPATH_BASE . '/includes/defines.php';
}
 
require_once JPATH_BASE . '/includes/framework.php';
 
// Set profiler start time and memory usage and mark afterLoad in the profiler.
JDEBUG ? JProfiler::getInstance('Application')->setStart($startTime, $startMem)->mark('afterLoad') : null;
 
// Instantiate the application.
$app = JFactory::getApplication('site');
 
// Execute the application.
$app->execute();
 

Environment & details:

empty
empty
empty
empty
empty
Key Value
USER tembiasa
HOME /home/tembiasa
SCRIPT_NAME /Manduvira2020/index.php
REQUEST_URI /Manduvira2020/
QUERY_STRING
REQUEST_METHOD GET
SERVER_PROTOCOL HTTP/1.1
GATEWAY_INTERFACE CGI/1.1
REMOTE_PORT 38902
SCRIPT_FILENAME /home/tembiasa/expediciontembiasa.com/Manduvira2020/index.php
SERVER_ADMIN webmaster@expediciontembiasa.tembiasa.com
CONTEXT_DOCUMENT_ROOT /home/tembiasa/expediciontembiasa.com
CONTEXT_PREFIX
REQUEST_SCHEME https
DOCUMENT_ROOT /home/tembiasa/expediciontembiasa.com
REMOTE_ADDR 18.234.165.107
SERVER_PORT 443
SERVER_ADDR 174.136.57.250
SERVER_NAME www.expediciontembiasa.com
SERVER_SOFTWARE Apache
SERVER_SIGNATURE
PATH /usr/local/jdk/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin:/opt/bin
HTTP_X_HTTPS 1
HTTP_HOST www.expediciontembiasa.com
HTTP_USER_AGENT claudebot
HTTP_ACCEPT */*
proxy-nokeepalive 1
SSL_TLS_SNI www.expediciontembiasa.com
HTTPS on
SCRIPT_URI https://www.expediciontembiasa.com/Manduvira2020/
SCRIPT_URL /Manduvira2020/
UNIQUE_ID ZgXhscP0sXPCenjYjn9ZxgAAAME
FCGI_ROLE RESPONDER
PHP_SELF /Manduvira2020/index.php
REQUEST_TIME_FLOAT 1711661489.7418
REQUEST_TIME 1711661489
argv Array ( )
argc 0
empty
0. Whoops\Handler\PrettyPageHandler