Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/fof30/Input/Input.php on line 99
Crikey! There was an error...
Twig_Error_Syntax
An exception has been thrown during the compilation of a template ("Unparenthesized `a ? b : c ? d : e` is deprecated. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)`") in "component.html.twig". Twig_Error_Syntax thrown with message "An exception has been thrown during the compilation of a template ("Unparenthesized `a ? b : c ? d : e` is deprecated. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)`") in "component.html.twig"." Stacktrace: #43 Twig_Error_Syntax in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/gantry5/vendor/twig/twig/lib/Twig/Environment.php:779 #42 Whoops\Exception\ErrorException in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/gantry5/vendor/twig/twig/lib/Twig/Node.php:42 #41 Whoops\Run:handleError in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/gantry5/classes/Gantry/Component/Whoops/SystemFacade.php:107 #40 Gantry\Component\Whoops\SystemFacade:handleError in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/vendor/composer/ClassLoader.php:444 #39 include in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/vendor/composer/ClassLoader.php:444 #38 Composer\Autoload\includeFile in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/vendor/composer/ClassLoader.php:322 #37 Composer\Autoload\ClassLoader:loadClass in [internal]:0 #36 spl_autoload_call in [internal]:0 #35 class_exists in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/gantry5/vendor/twig/twig/lib/Twig/Parser.php:411 #34 include in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/vendor/composer/ClassLoader.php:444 #33 Composer\Autoload\includeFile in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/vendor/composer/ClassLoader.php:322 #32 Composer\Autoload\ClassLoader:loadClass in [internal]:0 #31 spl_autoload_call in [internal]:0 #30 class_exists in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/gantry5/vendor/twig/twig/lib/Twig/TokenParserInterface.php:42 #29 include in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/vendor/composer/ClassLoader.php:444 #28 Composer\Autoload\includeFile in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/vendor/composer/ClassLoader.php:322 #27 Composer\Autoload\ClassLoader:loadClass in [internal]:0 #26 spl_autoload_call in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/gantry5/vendor/twig/twig/lib/Twig/TokenParser.php:17 #25 include in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/vendor/composer/ClassLoader.php:444 #24 Composer\Autoload\includeFile in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/vendor/composer/ClassLoader.php:322 #23 Composer\Autoload\ClassLoader:loadClass in [internal]:0 #22 spl_autoload_call in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/gantry5/vendor/twig/twig/lib/Twig/TokenParser/For.php:26 #21 include in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/vendor/composer/ClassLoader.php:444 #20 Composer\Autoload\includeFile in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/vendor/composer/ClassLoader.php:322 #19 Composer\Autoload\ClassLoader:loadClass in [internal]:0 #18 spl_autoload_call in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/gantry5/vendor/twig/twig/lib/Twig/Extension/Core.php:123 #17 Twig_Extension_Core:getTokenParsers in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/gantry5/vendor/twig/twig/lib/Twig/Environment.php:1546 #16 Twig_Environment:initExtension in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/gantry5/vendor/twig/twig/lib/Twig/Environment.php:1500 #15 Twig_Environment:initExtensions in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/gantry5/vendor/twig/twig/lib/Twig/Environment.php:1422 #14 Twig_Environment:getUnaryOperators in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/gantry5/vendor/twig/twig/lib/Twig/Lexer.php:385 #13 Twig_Lexer:getOperatorRegex in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/gantry5/vendor/twig/twig/lib/Twig/Lexer.php:68 #12 Twig_Lexer:__construct in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/gantry5/vendor/twig/twig/lib/Twig/Environment.php:674 #11 Twig_Environment:tokenize in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/gantry5/vendor/twig/twig/lib/Twig/Environment.php:774 #10 Twig_Environment:compileSource in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/gantry5/vendor/twig/twig/lib/Twig/Environment.php:452 #9 Twig_Environment:loadTemplate in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/gantry5/vendor/twig/twig/lib/Twig/Environment.php:363 #8 Twig_Environment:render in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/gantry5/classes/Gantry/Component/Theme/AbstractTheme.php:162 #7 Gantry\Component\Theme\AbstractTheme:render in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/templates/rt_ethereal/component.php:27 #6 require in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/src/Document/HtmlDocument.php:668 #5 Joomla\CMS\Document\HtmlDocument:_loadTemplate in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/src/Document/HtmlDocument.php:730 #4 Joomla\CMS\Document\HtmlDocument:_fetchTemplate in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/src/Document/HtmlDocument.php:545 #3 Joomla\CMS\Document\HtmlDocument:parse in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/src/Application/CMSApplication.php:1030 #2 Joomla\CMS\Application\CMSApplication:render in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/src/Application/SiteApplication.php:778 #1 Joomla\CMS\Application\SiteApplication:render in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/libraries/src/Application/CMSApplication.php:202 #0 Joomla\CMS\Application\CMSApplication:execute in /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/index.php:49
Stack frames (44)
43
Twig_Error_Syntax
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Environment.php
779
42
Whoops
\
Exception
\
ErrorException
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Node.php
42
41
Whoops
\
Run
handleError
/
classes
/
Gantry
/
Component
/
Whoops
/
SystemFacade.php
107
40
Gantry
\
Component
\
Whoops
\
SystemFacade
handleError
/
home
/
ppaa369904
/
domains
/
cacaoimpro.nl
/
public_html
/
zaanstreek
/
libraries
/
vendor
/
composer
/
ClassLoader.php
444
39
include
/
home
/
ppaa369904
/
domains
/
cacaoimpro.nl
/
public_html
/
zaanstreek
/
libraries
/
vendor
/
composer
/
ClassLoader.php
444
38
Composer
\
Autoload
\
includeFile
/
home
/
ppaa369904
/
domains
/
cacaoimpro.nl
/
public_html
/
zaanstreek
/
libraries
/
vendor
/
composer
/
ClassLoader.php
322
37
Composer
\
Autoload
\
ClassLoader
loadClass
[internal]
0
36
spl_autoload_call
[internal]
0
35
class_exists
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Parser.php
411
34
include
/
home
/
ppaa369904
/
domains
/
cacaoimpro.nl
/
public_html
/
zaanstreek
/
libraries
/
vendor
/
composer
/
ClassLoader.php
444
33
Composer
\
Autoload
\
includeFile
/
home
/
ppaa369904
/
domains
/
cacaoimpro.nl
/
public_html
/
zaanstreek
/
libraries
/
vendor
/
composer
/
ClassLoader.php
322
32
Composer
\
Autoload
\
ClassLoader
loadClass
[internal]
0
31
spl_autoload_call
[internal]
0
30
class_exists
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
TokenParserInterface.php
42
29
include
/
home
/
ppaa369904
/
domains
/
cacaoimpro.nl
/
public_html
/
zaanstreek
/
libraries
/
vendor
/
composer
/
ClassLoader.php
444
28
Composer
\
Autoload
\
includeFile
/
home
/
ppaa369904
/
domains
/
cacaoimpro.nl
/
public_html
/
zaanstreek
/
libraries
/
vendor
/
composer
/
ClassLoader.php
322
27
Composer
\
Autoload
\
ClassLoader
loadClass
[internal]
0
26
spl_autoload_call
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
TokenParser.php
17
25
include
/
home
/
ppaa369904
/
domains
/
cacaoimpro.nl
/
public_html
/
zaanstreek
/
libraries
/
vendor
/
composer
/
ClassLoader.php
444
24
Composer
\
Autoload
\
includeFile
/
home
/
ppaa369904
/
domains
/
cacaoimpro.nl
/
public_html
/
zaanstreek
/
libraries
/
vendor
/
composer
/
ClassLoader.php
322
23
Composer
\
Autoload
\
ClassLoader
loadClass
[internal]
0
22
spl_autoload_call
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
TokenParser
/
For.php
26
21
include
/
home
/
ppaa369904
/
domains
/
cacaoimpro.nl
/
public_html
/
zaanstreek
/
libraries
/
vendor
/
composer
/
ClassLoader.php
444
20
Composer
\
Autoload
\
includeFile
/
home
/
ppaa369904
/
domains
/
cacaoimpro.nl
/
public_html
/
zaanstreek
/
libraries
/
vendor
/
composer
/
ClassLoader.php
322
19
Composer
\
Autoload
\
ClassLoader
loadClass
[internal]
0
18
spl_autoload_call
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Extension
/
Core.php
123
17
Twig_Extension_Core
getTokenParsers
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Environment.php
1546
16
Twig_Environment
initExtension
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Environment.php
1500
15
Twig_Environment
initExtensions
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Environment.php
1422
14
Twig_Environment
getUnaryOperators
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Lexer.php
385
13
Twig_Lexer
getOperatorRegex
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Lexer.php
68
12
Twig_Lexer
__construct
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Environment.php
674
11
Twig_Environment
tokenize
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Environment.php
774
10
Twig_Environment
compileSource
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Environment.php
452
9
Twig_Environment
loadTemplate
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Environment.php
363
8
Twig_Environment
render
/
classes
/
Gantry
/
Component
/
Theme
/
AbstractTheme.php
162
7
Gantry
\
Component
\
Theme
\
AbstractTheme
render
/
home
/
ppaa369904
/
domains
/
cacaoimpro.nl
/
public_html
/
zaanstreek
/
templates
/
rt_ethereal
/
component.php
27
6
require
/
home
/
ppaa369904
/
domains
/
cacaoimpro.nl
/
public_html
/
zaanstreek
/
libraries
/
src
/
Document
/
HtmlDocument.php
668
5
Joomla
\
CMS
\
Document
\
HtmlDocument
_loadTemplate
/
home
/
ppaa369904
/
domains
/
cacaoimpro.nl
/
public_html
/
zaanstreek
/
libraries
/
src
/
Document
/
HtmlDocument.php
730
4
Joomla
\
CMS
\
Document
\
HtmlDocument
_fetchTemplate
/
home
/
ppaa369904
/
domains
/
cacaoimpro.nl
/
public_html
/
zaanstreek
/
libraries
/
src
/
Document
/
HtmlDocument.php
545
3
Joomla
\
CMS
\
Document
\
HtmlDocument
parse
/
home
/
ppaa369904
/
domains
/
cacaoimpro.nl
/
public_html
/
zaanstreek
/
libraries
/
src
/
Application
/
CMSApplication.php
1030
2
Joomla
\
CMS
\
Application
\
CMSApplication
render
/
home
/
ppaa369904
/
domains
/
cacaoimpro.nl
/
public_html
/
zaanstreek
/
libraries
/
src
/
Application
/
SiteApplication.php
778
1
Joomla
\
CMS
\
Application
\
SiteApplication
render
/
home
/
ppaa369904
/
domains
/
cacaoimpro.nl
/
public_html
/
zaanstreek
/
libraries
/
src
/
Application
/
CMSApplication.php
202
0
Joomla
\
CMS
\
Application
\
CMSApplication
execute
/
home
/
ppaa369904
/
domains
/
cacaoimpro.nl
/
public_html
/
zaanstreek
/
index.php
49
     * @param string             $name   The template name (deprecated)
     *
     * @return string The compiled PHP source code
     *
     * @throws Twig_Error_Syntax When there was an error during tokenizing, parsing or compiling
     */
    public function compileSource($source, $name = null)
    {
        if (!$source instanceof Twig_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 Twig_Source($source, $name);
        }
 
        try {
            return $this->compile($this->parse($this->tokenize($source)));
        } catch (Twig_Error $e) {
            $e->setSourceContext($source);
            throw $e;
        } catch (Exception $e) {
            throw new Twig_Error_Syntax(sprintf('An exception has been thrown during the compilation of a template ("%s").', $e->getMessage()), -1, $source, $e);
        }
    }
 
    public function setLoader(Twig_LoaderInterface $loader)
    {
        if (!$loader instanceof Twig_SourceContextLoaderInterface && 0 !== strpos(get_class($loader), 'Mock_')) {
            @trigger_error(sprintf('Twig loader "%s" should implement Twig_SourceContextLoaderInterface since version 1.27.', get_class($loader)), E_USER_DEPRECATED);
        }
 
        $this->loader = $loader;
    }
 
    /**
     * Gets the Loader instance.
     *
     * @return Twig_LoaderInterface
     */
    public function getLoader()
    {
        if (null === $this->loader) {
    protected $tag;
 
    private $name;
 
    /**
     * Constructor.
     *
     * The nodes are automatically made available as properties ($this->node).
     * The attributes are automatically made available as array items ($this['name']).
     *
     * @param array  $nodes      An array of named nodes
     * @param array  $attributes An array of attributes (should not be nodes)
     * @param int    $lineno     The line number
     * @param string $tag        The tag name associated with the Node
     */
    public function __construct(array $nodes = array(), array $attributes = array(), $lineno = 0, $tag = null)
    {
        foreach ($nodes as $name => $node) {
            if (!$node instanceof Twig_NodeInterface) {
                @trigger_error(sprintf('Using "%s" for the value of node "%s" of "%s" is deprecated since version 1.25 and will be removed in 2.0.', is_object($node) ? get_class($node) : null === $node ? 'null' : gettype($node), $name, get_class($this)), E_USER_DEPRECATED);
            }
        }
        $this->nodes = $nodes;
        $this->attributes = $attributes;
        $this->lineno = $lineno;
        $this->tag = $tag;
    }
 
    public function __toString()
    {
        $attributes = array();
        foreach ($this->attributes as $name => $value) {
            $attributes[] = sprintf('%s: %s', $name, str_replace("\n", '', var_export($value, true)));
        }
 
        $repr = array(get_class($this).'('.implode(', ', $attributes));
 
        if (count($this->nodes)) {
            foreach ($this->nodes as $name => $node) {
                $len = strlen($name) + 4;
Exception message: Unparenthesized `a ? b : c ? d : e` is deprecated. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)`
     *
     * @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;
        if ($node instanceof Twig_NodeCaptureInterface) {
            return $node;
        }
 
        if ($node instanceof Twig_NodeOutputInterface) {
            return;
        }
 
        foreach ($node as $k => $n) {
            if (null !== $n && null === $this->filterBodyNodes($n)) {
                $node->removeNode($k);
            }
        }
 
        return $node;
    }
}
 
class_alias('Twig_Parser', 'Twig\Parser', false);
class_exists('Twig_Node');
class_exists('Twig_TokenStream');
 
            }
        }
 
        // 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;
 
    /**
     * Parses a token and returns a node.
     *
     * @return Twig_NodeInterface
     *
     * @throws Twig_Error_Syntax
     */
    public function parse(Twig_Token $token);
 
    /**
     * Gets the tag name associated with this token parser.
     *
     * @return string The tag name
     */
    public function getTag();
}
 
class_alias('Twig_TokenParserInterface', 'Twig\TokenParser\TokenParserInterface', false);
class_exists('Twig_Parser');
class_exists('Twig_Token');
 
            }
        }
 
        // 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;
<?php
 
/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
 
/**
 * Base class for all token parsers.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
abstract class Twig_TokenParser implements Twig_TokenParserInterface
{
    /**
     * @var Twig_Parser
     */
    protected $parser;
 
    /**
     * Sets the parser associated with this token parser.
     */
    public function setParser(Twig_Parser $parser)
    {
        $this->parser = $parser;
    }
}
 
class_alias('Twig_TokenParser', 'Twig\TokenParser\AbstractTokenParser', false);
 
            }
        }
 
        // 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;
 * (c) Armin Ronacher
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
 
/**
 * Loops over each item of a sequence.
 *
 * <pre>
 * <ul>
 *  {% for user in users %}
 *    <li>{{ user.username|e }}</li>
 *  {% endfor %}
 * </ul>
 * </pre>
 *
 * @final
 */
class Twig_TokenParser_For extends Twig_TokenParser
{
    public function parse(Twig_Token $token)
    {
        $lineno = $token->getLine();
        $stream = $this->parser->getStream();
        $targets = $this->parser->getExpressionParser()->parseAssignmentExpression();
        $stream->expect(Twig_Token::OPERATOR_TYPE, 'in');
        $seq = $this->parser->getExpressionParser()->parseExpression();
 
        $ifexpr = null;
        if ($stream->nextIf(Twig_Token::NAME_TYPE, 'if')) {
            $ifexpr = $this->parser->getExpressionParser()->parseExpression();
        }
 
        $stream->expect(Twig_Token::BLOCK_END_TYPE);
        $body = $this->parser->subparse(array($this, 'decideForFork'));
        if ('else' == $stream->next()->getValue()) {
            $stream->expect(Twig_Token::BLOCK_END_TYPE);
            $else = $this->parser->subparse(array($this, 'decideForEnd'), true);
        } else {
            }
        }
 
        // 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;
     */
    public function setNumberFormat($decimal, $decimalPoint, $thousandSep)
    {
        $this->numberFormat = array($decimal, $decimalPoint, $thousandSep);
    }
 
    /**
     * Get the default format used by the number_format filter.
     *
     * @return array The arguments for number_format()
     */
    public function getNumberFormat()
    {
        return $this->numberFormat;
    }
 
    public function getTokenParsers()
    {
        return array(
            new Twig_TokenParser_For(),
            new Twig_TokenParser_If(),
            new Twig_TokenParser_Extends(),
            new Twig_TokenParser_Include(),
            new Twig_TokenParser_Block(),
            new Twig_TokenParser_Use(),
            new Twig_TokenParser_Filter(),
            new Twig_TokenParser_Macro(),
            new Twig_TokenParser_Import(),
            new Twig_TokenParser_From(),
            new Twig_TokenParser_Set(),
            new Twig_TokenParser_Spaceless(),
            new Twig_TokenParser_Flush(),
            new Twig_TokenParser_Do(),
            new Twig_TokenParser_Embed(),
            new Twig_TokenParser_With(),
        );
    }
 
    public function getFilters()
    {
            } else {
                @trigger_error(sprintf('Using an instance of "%s" for function "%s" is deprecated since version 1.21. Use Twig_SimpleFunction instead.', get_class($function), $name), E_USER_DEPRECATED);
            }
 
            $this->functions[$name] = $function;
        }
 
        // tests
        foreach ($extension->getTests() as $name => $test) {
            if ($test instanceof Twig_SimpleTest) {
                $name = $test->getName();
            } else {
                @trigger_error(sprintf('Using an instance of "%s" for test "%s" is deprecated since version 1.21. Use Twig_SimpleTest instead.', get_class($test), $name), E_USER_DEPRECATED);
            }
 
            $this->tests[$name] = $test;
        }
 
        // token parsers
        foreach ($extension->getTokenParsers() as $parser) {
            if ($parser instanceof Twig_TokenParserInterface) {
                $this->parsers->addTokenParser($parser);
            } elseif ($parser instanceof Twig_TokenParserBrokerInterface) {
                @trigger_error('Registering a Twig_TokenParserBrokerInterface instance is deprecated since version 1.21.', E_USER_DEPRECATED);
 
                $this->parsers->addTokenParserBroker($parser);
            } else {
                throw new LogicException('getTokenParsers() must return an array of Twig_TokenParserInterface or Twig_TokenParserBrokerInterface instances.');
            }
        }
 
        // node visitors
        foreach ($extension->getNodeVisitors() as $visitor) {
            $this->visitors[] = $visitor;
        }
 
        // operators
        if ($operators = $extension->getOperators()) {
            if (!is_array($operators)) {
                throw new InvalidArgumentException(sprintf('"%s::getOperators()" must return an array with operators, got "%s".', get_class($extension), is_object($operators) ? get_class($operators) : gettype($operators).(is_resource($operators) ? '' : '#'.$operators)));
 
    /**
     * @internal
     */
    protected function initExtensions()
    {
        if ($this->extensionInitialized) {
            return;
        }
 
        $this->parsers = new Twig_TokenParserBroker(array(), array(), false);
        $this->filters = array();
        $this->functions = array();
        $this->tests = array();
        $this->visitors = array();
        $this->unaryOperators = array();
        $this->binaryOperators = array();
 
        foreach ($this->extensions as $extension) {
            $this->initExtension($extension);
        }
        $this->initExtension($this->staging);
        // Done at the end only, so that an exception during initialization does not mark the environment as initialized when catching the exception
        $this->extensionInitialized = true;
    }
 
    /**
     * @internal
     */
    protected function initExtension(Twig_ExtensionInterface $extension)
    {
        // filters
        foreach ($extension->getFilters() as $name => $filter) {
            if ($filter instanceof Twig_SimpleFilter) {
                $name = $filter->getName();
            } else {
                @trigger_error(sprintf('Using an instance of "%s" for filter "%s" is deprecated since version 1.21. Use Twig_SimpleFilter instead.', get_class($filter), $name), E_USER_DEPRECATED);
            }
 
            $this->filters[$name] = $filter;
        foreach ($this->getGlobals() as $key => $value) {
            if (!array_key_exists($key, $context)) {
                $context[$key] = $value;
            }
        }
 
        return $context;
    }
 
    /**
     * Gets the registered unary Operators.
     *
     * @return array An array of unary operators
     *
     * @internal
     */
    public function getUnaryOperators()
    {
        if (!$this->extensionInitialized) {
            $this->initExtensions();
        }
 
        return $this->unaryOperators;
    }
 
    /**
     * Gets the registered binary Operators.
     *
     * @return array An array of binary operators
     *
     * @internal
     */
    public function getBinaryOperators()
    {
        if (!$this->extensionInitialized) {
            $this->initExtensions();
        }
 
        return $this->binaryOperators;
    }
    {
        // do not push empty text tokens
        if (Twig_Token::TEXT_TYPE === $type && '' === $value) {
            return;
        }
 
        $this->tokens[] = new Twig_Token($type, $value, $this->lineno);
    }
 
    protected function moveCursor($text)
    {
        $this->cursor += strlen($text);
        $this->lineno += substr_count($text, "\n");
    }
 
    protected function getOperatorRegex()
    {
        $operators = array_merge(
            array('='),
            array_keys($this->env->getUnaryOperators()),
            array_keys($this->env->getBinaryOperators())
        );
 
        $operators = array_combine($operators, array_map('strlen', $operators));
        arsort($operators);
 
        $regex = array();
        foreach ($operators as $operator => $length) {
            // an operator that ends with a character must be followed by
            // a whitespace or a parenthesis
            if (ctype_alpha($operator[$length - 1])) {
                $r = preg_quote($operator, '/').'(?=[\s()])';
            } else {
                $r = preg_quote($operator, '/');
            }
 
            // an operator with a space can be any amount of whitespaces
            $r = preg_replace('/\s+/', '\s+', $r);
 
            $regex[] = $r;
    const REGEX_DQ_STRING_PART = '/[^#"\\\\]*(?:(?:\\\\.|#(?!\{))[^#"\\\\]*)*/As';
    const PUNCTUATION = '()[]{}?:.,|';
 
    public function __construct(Twig_Environment $env, array $options = array())
    {
        $this->env = $env;
 
        $this->options = array_merge(array(
            'tag_comment' => array('{#', '#}'),
            'tag_block' => array('{%', '%}'),
            'tag_variable' => array('{{', '}}'),
            'whitespace_trim' => '-',
            'interpolation' => array('#{', '}'),
        ), $options);
 
        $this->regexes = array(
            'lex_var' => '/\s*'.preg_quote($this->options['whitespace_trim'].$this->options['tag_variable'][1], '/').'\s*|\s*'.preg_quote($this->options['tag_variable'][1], '/').'/A',
            'lex_block' => '/\s*(?:'.preg_quote($this->options['whitespace_trim'].$this->options['tag_block'][1], '/').'\s*|\s*'.preg_quote($this->options['tag_block'][1], '/').')\n?/A',
            'lex_raw_data' => '/('.preg_quote($this->options['tag_block'][0].$this->options['whitespace_trim'], '/').'|'.preg_quote($this->options['tag_block'][0], '/').')\s*(?:end%s)\s*(?:'.preg_quote($this->options['whitespace_trim'].$this->options['tag_block'][1], '/').'\s*|\s*'.preg_quote($this->options['tag_block'][1], '/').')/s',
            'operator' => $this->getOperatorRegex(),
            'lex_comment' => '/(?:'.preg_quote($this->options['whitespace_trim'], '/').preg_quote($this->options['tag_comment'][1], '/').'\s*|'.preg_quote($this->options['tag_comment'][1], '/').')\n?/s',
            'lex_block_raw' => '/\s*(raw|verbatim)\s*(?:'.preg_quote($this->options['whitespace_trim'].$this->options['tag_block'][1], '/').'\s*|\s*'.preg_quote($this->options['tag_block'][1], '/').')/As',
            'lex_block_line' => '/\s*line\s+(\d+)\s*'.preg_quote($this->options['tag_block'][1], '/').'/As',
            'lex_tokens_start' => '/('.preg_quote($this->options['tag_variable'][0], '/').'|'.preg_quote($this->options['tag_block'][0], '/').'|'.preg_quote($this->options['tag_comment'][0], '/').')('.preg_quote($this->options['whitespace_trim'], '/').')?/s',
            'interpolation_start' => '/'.preg_quote($this->options['interpolation'][0], '/').'\s*/A',
            'interpolation_end' => '/\s*'.preg_quote($this->options['interpolation'][1], '/').'/A',
        );
    }
 
    public function tokenize($code, $name = null)
    {
        if (!$code instanceof Twig_Source) {
            @trigger_error(sprintf('Passing a string as the $code argument of %s() is deprecated since version 1.27 and will be removed in 2.0. Pass a Twig_Source instance instead.', __METHOD__), E_USER_DEPRECATED);
            $this->source = new Twig_Source($code, $name);
        } else {
            $this->source = $code;
        }
 
        if (((int) ini_get('mbstring.func_overload')) & 2) {
            @trigger_error('Support for having "mbstring.func_overload" different from 0 is deprecated version 1.29 and will be removed in 2.0.', E_USER_DEPRECATED);
 
    /**
     * Tokenizes a source code.
     *
     * @param string|Twig_Source $source The template source code
     * @param string             $name   The template name (deprecated)
     *
     * @return Twig_TokenStream
     *
     * @throws Twig_Error_Syntax When the code is syntactically wrong
     */
    public function tokenize($source, $name = null)
    {
        if (!$source instanceof Twig_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 Twig_Source($source, $name);
        }
 
        if (null === $this->lexer) {
            $this->lexer = new Twig_Lexer($this);
        }
 
        return $this->lexer->tokenize($source);
    }
 
    /**
     * Gets the Parser instance.
     *
     * @return Twig_ParserInterface
     *
     * @deprecated since 1.25 (to be removed in 2.0)
     */
    public function getParser()
    {
        @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->parser) {
            $this->parser = new Twig_Parser($this);
        }
 
 
    /**
     * Compiles a template source code.
     *
     * @param string|Twig_Source $source The template source code
     * @param string             $name   The template name (deprecated)
     *
     * @return string The compiled PHP source code
     *
     * @throws Twig_Error_Syntax When there was an error during tokenizing, parsing or compiling
     */
    public function compileSource($source, $name = null)
    {
        if (!$source instanceof Twig_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 Twig_Source($source, $name);
        }
 
        try {
            return $this->compile($this->parse($this->tokenize($source)));
        } catch (Twig_Error $e) {
            $e->setSourceContext($source);
            throw $e;
        } catch (Exception $e) {
            throw new Twig_Error_Syntax(sprintf('An exception has been thrown during the compilation of a template ("%s").', $e->getMessage()), -1, $source, $e);
        }
    }
 
    public function setLoader(Twig_LoaderInterface $loader)
    {
        if (!$loader instanceof Twig_SourceContextLoaderInterface && 0 !== strpos(get_class($loader), 'Mock_')) {
            @trigger_error(sprintf('Twig loader "%s" should implement Twig_SourceContextLoaderInterface since version 1.27.', get_class($loader)), E_USER_DEPRECATED);
        }
 
        $this->loader = $loader;
    }
 
    /**
     * Gets the Loader instance.
     *
        if (!class_exists($cls, false)) {
            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);
            }
 
            if (!class_exists($cls, false)) {
                $loader = $this->getLoader();
                if (!$loader instanceof Twig_SourceContextLoaderInterface) {
                    $source = new Twig_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 Twig_Error_Runtime(sprintf('Failed to load Twig template "%s", index "%s": cache is corrupted.', $name, $index), -1, $source);
        @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 $name    The template name
     * @param array  $context An array of parameters to pass to the template
     *
     * @return string The rendered template
     *
     * @throws Twig_Error_Loader  When the template cannot be found
     * @throws Twig_Error_Syntax  When an error occurred during compilation
     * @throws Twig_Error_Runtime When an error occurred during rendering
     */
    public function render($name, array $context = array())
    {
        return $this->loadTemplate($name)->render($context);
    }
 
    /**
     * Displays a template.
     *
     * @param string $name    The template name
     * @param array  $context An array of parameters to pass to the template
     *
     * @throws Twig_Error_Loader  When the template cannot be found
     * @throws Twig_Error_Syntax  When an error occurred during compilation
     * @throws Twig_Error_Runtime When an error occurred during rendering
     */
    public function display($name, array $context = array())
    {
        $this->loadTemplate($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);
    }
 
 * 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'];
 
$raw = JFactory::getApplication()->input->getString('type') == 'raw';
 
// Reset used outline configuration.
unset($gantry['configuration']);
 
// Render the component.
echo $theme
    ->setLayout('_body_only')
    ->render($raw ? 'raw.html.twig' : 'component.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:

Key Value
tmpl component
print 1
empty
empty
empty
empty
Key Value
USER ppaa369904
HOME /home/ppaa369904
SCRIPT_NAME /zaanstreek/index.php
REQUEST_URI /zaanstreek/improvisatietheater/playfulness.html?tmpl=component&print=1
QUERY_STRING tmpl=component&print=1
REQUEST_METHOD GET
SERVER_PROTOCOL HTTP/1.1
GATEWAY_INTERFACE CGI/1.1
REDIRECT_QUERY_STRING tmpl=component&print=1
REDIRECT_URL /zaanstreek/improvisatietheater/playfulness.html
REMOTE_PORT 50184
SCRIPT_FILENAME /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/index.php
SERVER_ADMIN webmaster@cacaoimpro.nl
CONTEXT_DOCUMENT_ROOT /home/ppaa369904/domains/cacaoimpro.nl/public_html
CONTEXT_PREFIX
REQUEST_SCHEME http
DOCUMENT_ROOT /home/ppaa369904/domains/cacaoimpro.nl/public_html
REMOTE_ADDR 3.236.126.69
SERVER_PORT 80
SERVER_ADDR 185.27.141.87
SERVER_NAME cacaoimpro.nl
SERVER_SOFTWARE Apache/2
SERVER_SIGNATURE
PATH /sbin:/usr/sbin:/bin:/usr/bin
HTTP_CONNECTION Keep-Alive
HTTP_HOST cacaoimpro.nl
HTTP_ACCEPT_ENCODING br,gzip
HTTP_ACCEPT_LANGUAGE en-US,en;q=0.5
HTTP_ACCEPT text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
HTTP_USER_AGENT CCBot/2.0 (https://commoncrawl.org/faq/)
proxy-nokeepalive 1
LimitLogin_Remaining 0
LimitLogin_Counter 0
QS_ConnectionId 15937865641323725710670
QS_AllConn 8
QS_IPConn 1
QS_SrvConn 8
UNIQUE_ID Xv9AxE75BVma1SkWMqSyqgAAADk
REDIRECT_STATUS 200
REDIRECT_HTTP_AUTHORIZATION
REDIRECT_LimitLogin_Remaining 0
REDIRECT_LimitLogin_Counter 0
REDIRECT_QS_Limit_VAR_NAME_IDXLimitLogin LimitLogin
REDIRECT_QS_ConnectionId 15937865641323725710670
REDIRECT_QS_AllConn 8
REDIRECT_QS_IPConn 1
REDIRECT_QS_SrvConn 8
REDIRECT_UNIQUE_ID Xv9AxE75BVma1SkWMqSyqgAAADk
FCGI_ROLE RESPONDER
PHP_SELF /zaanstreek/index.php
REQUEST_TIME_FLOAT 1593786564.14
REQUEST_TIME 1593786564
argv Array ( [0] => tmpl=component&print=1 )
argc 1
Key Value
USER ppaa369904
HOME /home/ppaa369904
SCRIPT_NAME /zaanstreek/index.php
REQUEST_URI /zaanstreek/improvisatietheater/playfulness.html?tmpl=component&print=1
QUERY_STRING tmpl=component&print=1
REQUEST_METHOD GET
SERVER_PROTOCOL HTTP/1.1
GATEWAY_INTERFACE CGI/1.1
REDIRECT_QUERY_STRING tmpl=component&print=1
REDIRECT_URL /zaanstreek/improvisatietheater/playfulness.html
REMOTE_PORT 50184
SCRIPT_FILENAME /home/ppaa369904/domains/cacaoimpro.nl/public_html/zaanstreek/index.php
SERVER_ADMIN webmaster@cacaoimpro.nl
CONTEXT_DOCUMENT_ROOT /home/ppaa369904/domains/cacaoimpro.nl/public_html
CONTEXT_PREFIX
REQUEST_SCHEME http
DOCUMENT_ROOT /home/ppaa369904/domains/cacaoimpro.nl/public_html
REMOTE_ADDR 3.236.126.69
SERVER_PORT 80
SERVER_ADDR 185.27.141.87
SERVER_NAME cacaoimpro.nl
SERVER_SOFTWARE Apache/2
SERVER_SIGNATURE
PATH /sbin:/usr/sbin:/bin:/usr/bin
HTTP_CONNECTION Keep-Alive
HTTP_HOST cacaoimpro.nl
HTTP_ACCEPT_ENCODING br,gzip
HTTP_ACCEPT_LANGUAGE en-US,en;q=0.5
HTTP_ACCEPT text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
HTTP_USER_AGENT CCBot/2.0 (https://commoncrawl.org/faq/)
proxy-nokeepalive 1
LimitLogin_Remaining 0
LimitLogin_Counter 0
QS_ConnectionId 15937865641323725710670
QS_AllConn 8
QS_IPConn 1
QS_SrvConn 8
UNIQUE_ID Xv9AxE75BVma1SkWMqSyqgAAADk
REDIRECT_STATUS 200
REDIRECT_HTTP_AUTHORIZATION
REDIRECT_LimitLogin_Remaining 0
REDIRECT_LimitLogin_Counter 0
REDIRECT_QS_Limit_VAR_NAME_IDXLimitLogin LimitLogin
REDIRECT_QS_ConnectionId 15937865641323725710670
REDIRECT_QS_AllConn 8
REDIRECT_QS_IPConn 1
REDIRECT_QS_SrvConn 8
REDIRECT_UNIQUE_ID Xv9AxE75BVma1SkWMqSyqgAAADk
FCGI_ROLE RESPONDER
PHP_SELF /zaanstreek/index.php
REQUEST_TIME_FLOAT 1593786564.14
REQUEST_TIME 1593786564
argv Array ( [0] => tmpl=component&print=1 )
argc 1
0. Whoops\Handler\PrettyPageHandler