Whoops \ Exception \ ErrorException (E_NOTICE)
Trying to access array offset on value of type null Whoops\Exception\ErrorException thrown with message "Trying to access array offset on value of type null" Stacktrace: #59 Whoops\Exception\ErrorException in /data/prod/digitalcultures/2019/vendor/erusev/parsedown-extra/ParsedownExtra.php:241 #58 Grav\Common\Debugger:deprecatedErrorHandler in /data/prod/digitalcultures/2019/vendor/erusev/parsedown-extra/ParsedownExtra.php:241 #57 ParsedownExtra:blockSetextHeader in /data/prod/digitalcultures/2019/vendor/erusev/parsedown/Parsedown.php:206 #56 Parsedown:lines in /data/prod/digitalcultures/2019/vendor/erusev/parsedown/Parsedown.php:39 #55 Parsedown:text in /data/prod/digitalcultures/2019/vendor/erusev/parsedown-extra/ParsedownExtra.php:46 #54 ParsedownExtra:text in /data/prod/digitalcultures/2019/system/src/Grav/Common/Page/Page.php:849 #53 Grav\Common\Page\Page:processMarkdown in /data/prod/digitalcultures/2019/system/src/Grav/Common/Page/Page.php:725 #52 Grav\Common\Page\Page:content in /data/prod/digitalcultures/2019/system/src/Grav/Common/Twig/Twig.php:366 #51 Grav\Common\Twig\Twig:processSite in /data/prod/digitalcultures/2019/system/src/Grav/Common/Service/OutputServiceProvider.php:28 #50 Grav\Common\Service\OutputServiceProvider:Grav\Common\Service\{closure} in /data/prod/digitalcultures/2019/vendor/pimple/pimple/src/Pimple/Container.php:118 #49 Pimple\Container:offsetGet in /data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/RenderProcessor.php:28 #48 Grav\Common\Processors\RenderProcessor:process in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #47 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #46 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/DebuggerAssetsProcessor.php:28 #45 Grav\Common\Processors\DebuggerAssetsProcessor:process in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #44 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #43 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/PagesProcessor.php:69 #42 Grav\Common\Processors\PagesProcessor:process in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #41 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #40 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/TwigProcessor.php:27 #39 Grav\Common\Processors\TwigProcessor:process in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #38 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #37 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/AssetsProcessor.php:28 #36 Grav\Common\Processors\AssetsProcessor:process in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #35 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #34 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/SchedulerProcessor.php:29 #33 Grav\Common\Processors\SchedulerProcessor:process in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #32 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #31 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/BackupsProcessor.php:28 #30 Grav\Common\Processors\BackupsProcessor:process in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #29 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #28 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/TasksProcessor.php:59 #27 Grav\Common\Processors\TasksProcessor:process in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #26 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #25 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/RequestProcessor.php:52 #24 Grav\Common\Processors\RequestProcessor:process in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #23 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #22 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/ThemesProcessor.php:27 #21 Grav\Common\Processors\ThemesProcessor:process in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #20 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #19 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/PluginsProcessor.php:30 #18 Grav\Common\Processors\PluginsProcessor:process in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #17 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #16 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/InitializeProcessor.php:95 #15 Grav\Common\Processors\InitializeProcessor:process in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #14 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #13 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/DebuggerProcessor.php:27 #12 Grav\Common\Processors\DebuggerProcessor:process in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #11 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #10 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/ErrorsProcessor.php:27 #9 Grav\Common\Processors\ErrorsProcessor:process in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #8 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #7 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/LoggerProcessor.php:48 #6 Grav\Common\Processors\LoggerProcessor:process in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #5 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #4 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/ConfigurationProcessor.php:28 #3 Grav\Common\Processors\ConfigurationProcessor:process in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #2 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #1 Grav\Framework\RequestHandler\RequestHandler:handle in /data/prod/digitalcultures/2019/system/src/Grav/Common/Grav.php:272 #0 Grav\Common\Grav:process in /data/prod/digitalcultures/2019/index.php:54
Stack frames (60)
59
Whoops\Exception\ErrorException
/vendor/erusev/parsedown-extra/ParsedownExtra.php241
58
Grav\Common\Debugger deprecatedErrorHandler
/vendor/erusev/parsedown-extra/ParsedownExtra.php241
57
ParsedownExtra blockSetextHeader
/vendor/erusev/parsedown/Parsedown.php206
56
Parsedown lines
/vendor/erusev/parsedown/Parsedown.php39
55
Parsedown text
/vendor/erusev/parsedown-extra/ParsedownExtra.php46
54
ParsedownExtra text
/system/src/Grav/Common/Page/Page.php849
53
Grav\Common\Page\Page processMarkdown
/system/src/Grav/Common/Page/Page.php725
52
Grav\Common\Page\Page content
/system/src/Grav/Common/Twig/Twig.php366
51
Grav\Common\Twig\Twig processSite
/system/src/Grav/Common/Service/OutputServiceProvider.php28
50
Grav\Common\Service\OutputServiceProvider Grav\Common\Service\{closure}
/vendor/pimple/pimple/src/Pimple/Container.php118
49
Pimple\Container offsetGet
/system/src/Grav/Common/Processors/RenderProcessor.php28
48
Grav\Common\Processors\RenderProcessor process
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php45
47
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php57
46
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Common/Processors/DebuggerAssetsProcessor.php28
45
Grav\Common\Processors\DebuggerAssetsProcessor process
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php45
44
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php57
43
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Common/Processors/PagesProcessor.php69
42
Grav\Common\Processors\PagesProcessor process
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php45
41
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php57
40
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Common/Processors/TwigProcessor.php27
39
Grav\Common\Processors\TwigProcessor process
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php45
38
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php57
37
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Common/Processors/AssetsProcessor.php28
36
Grav\Common\Processors\AssetsProcessor process
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php45
35
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php57
34
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Common/Processors/SchedulerProcessor.php29
33
Grav\Common\Processors\SchedulerProcessor process
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php45
32
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php57
31
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Common/Processors/BackupsProcessor.php28
30
Grav\Common\Processors\BackupsProcessor process
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php45
29
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php57
28
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Common/Processors/TasksProcessor.php59
27
Grav\Common\Processors\TasksProcessor process
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php45
26
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php57
25
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Common/Processors/RequestProcessor.php52
24
Grav\Common\Processors\RequestProcessor process
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php45
23
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php57
22
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Common/Processors/ThemesProcessor.php27
21
Grav\Common\Processors\ThemesProcessor process
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php45
20
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php57
19
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Common/Processors/PluginsProcessor.php30
18
Grav\Common\Processors\PluginsProcessor process
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php45
17
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php57
16
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Common/Processors/InitializeProcessor.php95
15
Grav\Common\Processors\InitializeProcessor process
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php45
14
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php57
13
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Common/Processors/DebuggerProcessor.php27
12
Grav\Common\Processors\DebuggerProcessor process
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php45
11
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php57
10
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Common/Processors/ErrorsProcessor.php27
9
Grav\Common\Processors\ErrorsProcessor process
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php45
8
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php57
7
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Common/Processors/LoggerProcessor.php48
6
Grav\Common\Processors\LoggerProcessor process
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php45
5
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php57
4
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Common/Processors/ConfigurationProcessor.php28
3
Grav\Common\Processors\ConfigurationProcessor process
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php45
2
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php57
1
Grav\Framework\RequestHandler\RequestHandler handle
/system/src/Grav/Common/Grav.php272
0
Grav\Common\Grav process
/index.php54
/data/prod/digitalcultures/2019/vendor/erusev/parsedown-extra/ParsedownExtra.php
    # Markup
 
    protected function blockMarkupComplete($Block)
    {
        if ( ! isset($Block['void']))
        {
            $Block['markup'] = $this->processTag($Block['markup']);
        }
 
        return $Block;
    }
 
    #
    # Setext
 
    protected function blockSetextHeader($Line, array $Block = null)
    {
        $Block = parent::blockSetextHeader($Line, $Block);
 
        if (preg_match('/[ ]*{('.$this->regexAttribute.'+)}[ ]*$/', $Block['element']['text'], $matches, PREG_OFFSET_CAPTURE))
        {
            $attributeString = $matches[1][0];
 
            $Block['element']['attributes'] = $this->parseAttributeData($attributeString);
 
            $Block['element']['text'] = substr($Block['element']['text'], 0, $matches[0][1]);
        }
 
        return $Block;
    }
 
    #
    # Inline Elements
    #
 
    #
    # Footnote Marker
 
    protected function inlineFootnoteMarker($Excerpt)
    {
Arguments
  1. "Trying to access array offset on value of type null"
    
/data/prod/digitalcultures/2019/vendor/erusev/parsedown-extra/ParsedownExtra.php
    # Markup
 
    protected function blockMarkupComplete($Block)
    {
        if ( ! isset($Block['void']))
        {
            $Block['markup'] = $this->processTag($Block['markup']);
        }
 
        return $Block;
    }
 
    #
    # Setext
 
    protected function blockSetextHeader($Line, array $Block = null)
    {
        $Block = parent::blockSetextHeader($Line, $Block);
 
        if (preg_match('/[ ]*{('.$this->regexAttribute.'+)}[ ]*$/', $Block['element']['text'], $matches, PREG_OFFSET_CAPTURE))
        {
            $attributeString = $matches[1][0];
 
            $Block['element']['attributes'] = $this->parseAttributeData($attributeString);
 
            $Block['element']['text'] = substr($Block['element']['text'], 0, $matches[0][1]);
        }
 
        return $Block;
    }
 
    #
    # Inline Elements
    #
 
    #
    # Footnote Marker
 
    protected function inlineFootnoteMarker($Excerpt)
    {
Arguments
  1. 8
    
  2. "Trying to access array offset on value of type null"
    
  3. "/data/prod/digitalcultures/2019/vendor/erusev/parsedown-extra/ParsedownExtra.php"
    
  4. 241
    
  5. array:2 [
      "Line" => array:3 [
        "body" => "- Timelessness VS trends in art forms"
        "indent" => 0
        "text" => "- Timelessness VS trends in art forms"
      ]
      "Block" => null
    ]
    
/data/prod/digitalcultures/2019/vendor/erusev/parsedown/Parsedown.php
            $marker = $text[0];
 
            # ~
 
            $blockTypes = $this->unmarkedBlockTypes;
 
            if (isset($this->BlockTypes[$marker]))
            {
                foreach ($this->BlockTypes[$marker] as $blockType)
                {
                    $blockTypes []= $blockType;
                }
            }
 
            #
            # ~
 
            foreach ($blockTypes as $blockType)
            {
                $Block = $this->{'block'.$blockType}($Line, $CurrentBlock);
 
                if (isset($Block))
                {
                    $Block['type'] = $blockType;
 
                    if ( ! isset($Block['identified']))
                    {
                        $Blocks []= $CurrentBlock;
 
                        $Block['identified'] = true;
                    }
 
                    if ($this->isBlockContinuable($blockType))
                    {
                        $Block['continuable'] = true;
                    }
 
                    $CurrentBlock = $Block;
 
                    continue 2;
Arguments
  1. array:3 [
      "body" => "- Timelessness VS trends in art forms"
      "indent" => 0
      "text" => "- Timelessness VS trends in art forms"
    ]
    
  2. null
    
/data/prod/digitalcultures/2019/vendor/erusev/parsedown/Parsedown.php
    const version = '1.6.0';
 
    # ~
 
    function text($text)
    {
        # make sure no definitions are set
        $this->DefinitionData = array();
 
        # standardize line breaks
        $text = str_replace(array("\r\n", "\r"), "\n", $text);
 
        # remove surrounding line breaks
        $text = trim($text, "\n");
 
        # split text into lines
        $lines = explode("\n", $text);
 
        # iterate through lines to identify blocks
        $markup = $this->lines($lines);
 
        # trim line breaks
        $markup = trim($markup, "\n");
 
        return $markup;
    }
 
    #
    # Setters
    #
 
    function setBreaksEnabled($breaksEnabled)
    {
        $this->breaksEnabled = $breaksEnabled;
 
        return $this;
    }
 
    protected $breaksEnabled;
 
Arguments
  1. array:81 [
      0 => "As a part of Digital Cultures 2019, a series of masterclasses will be held on the 28th of September 2019. "
      1 => "This masterclasses will be held by Artist & Programmer Joseph Cutts (Sheffield, UK)."
      2 => ""
      3 => "Participation in the masterclasses is free of charge. "
      4 => "  "
      5 => ""
      6 => "## Welcoming New Art Forms (I was trendy once)"
      7 => ""
      8 => "In an age of rapidly developing technology, an artist or curator may find themselves beholden to trends as a means to remain current, if not socially engaged. In the world of contemporary arts, theatre or film, do the technological advancements of today eclipse the power of a subject matter and form? "
      9 => " "
      10 => "As an artist we must ask ourselves what are the key properties of an artwork we wish to be highlighted? and where do we desire for our work to be seen? As a programmer or curator, shouldn't we welcome, if not, accept artworks that have taken advantage of modern advancements in technology such as VR, AR, Facial Recognition etc. and ensure that subject matter and form is at the forefront of why it is to be exhibited. "
      11 => " "
      12 => "This looks to offer insight into what can be perceived as a trend by virtue of its currentness, where that perception has come from, and what worlds welcome and are beginning to welcome such art forms. "
      13 => "  "
      14 => "  "
      15 => "**The masterclass will be split in half consisting two parts. One person can either apply for one or both of the masterclass parts.**"
      16 => ""
      17 => "**PART ONE OF THE MASTERCLASS: **"
      18 => ""
      19 => "For Emerging Artists & Project Creators working in a developing technology (at beginning to middle of their career)"
      20 => "- Timelessness VS trends in art forms"
      21 => "- Funding & Pitching - How do you describe your work? What is at the core of it?"
      22 => "- What are you looking for when exhibiting? Press, Space, Reputation, Production Costs Covered"
      23 => "- Production Budgets: Blowing the door wide open"
      24 => "- Building an exhibiting model (administratively & physically) "
      25 => "- Film Festivals, Art Festivals, Theatre, Museums & Galleries, Educational and Resource "
      26 => "- Longevity: Distribution & Gallery Representation"
      27 => "- Group Discussion"
      28 => ""
      29 => "Artists will come away with a furthered understanding of:"
      30 => "- which worlds their work may exist in"
      31 => "- how to strategise where to take their work to"
      32 => "- furthered insight into pitching to curators/programmers"
      33 => "- what questions to ask curators/programmers"
      34 => ""
      35 => "- There are 20 places available on this masterclass"
      36 => "- The organiser will accept participants based on the application form; space is limited. The chronological order of applications is not binding. Participation does not require accreditation or a Digital Cultures carnet. The masterclass is free of charge"
      37 => "- The selected 20 should be available for the above date "
      38 => "- The selected 20 should cover their own travel"
      39 => " "
      40 => ""
      41 => " "
      42 => "* **Date**: 28.09.2019 "
      43 => "* **Time**: 14:30-16:00"
      44 => "* **Duration**: 90 min.  "
      45 => "* **Location**: Adam Mickiewicz Institute, 25 Mokotowska Str. Warsaw, Room "Wielka Improwizacja""
      46 => "    "
      47 => "    "
      48 => "**PART TWO OF THE MASTERCLASS:**  "
      49 => "    "
      50 => "For Festival Programmers, Gallery & Museum Curators, Cultural Funders & Governmental "
      51 => "- Timelessness vs trends in art forms"
      52 => "- Where do you research and locate such modern technological works? Festivals, Exhibitions"
      53 => "- Do you afford a new medium the same opportunity as established and timeless ones? For example - Virtual Reality vs Video Art or Sculpture "
      54 => "- What do you offer? Guidance, Space, Reputation, Production Costs, Artist Fee?"
      55 => "- Where can modern forms of equipment be located?"
      56 => "- Longevity in Trendy Mediums: Distribution & Gallery Representation"
      57 => "- Group Discussion"
      58 => " "
      59 => " Participants will come away with a furthered understanding of:"
      60 => "- exhibiting the intricacies of new art forms (VR, AR etc..)"
      61 => "- where to locate certain projects/artworks"
      62 => "- the potential direction(s) of modern technological art forms "
      63 => ""
      64 => ""
      65 => "Practical information:"
      66 => "- There are 20 places available on this masterclass"
      67 => "- The organiser will accept participants based on the application form; space is limited. The chronological order of applications is not binding. Participation does not require accreditation or a Digital Cultures carnet. The masterclass is free of charge"
      68 => "- The selected 20 should be available for the above date "
      69 => "- The selected 20 should cover their own travel"
      70 => " "
      71 => "* **Date**: 28.09.2019"
      72 => "* **Time**: 16:30-17:30"
      73 => "* **Duration**: 60 min."
      74 => "* **Location:** Adam Mickiewicz Institute, 25 Mokotowska Str. Warsaw, Room "Wielka Improwizacja""
      75 => ""
      76 => ""
      77 => "**Participation is free of charge however, filling in the application and being accepted as a participant is required.**   "
      78 => "Application form will be open until 15.09.2019"
      79 => ""
      80 => "The conference curators will review all applications and deliver the invitation to the workshop participants via e-mail on September 18th 2019. "
    ]
    
/data/prod/digitalcultures/2019/vendor/erusev/parsedown-extra/ParsedownExtra.php
        {
            throw new Exception('ParsedownExtra requires a later version of Parsedown');
        }
 
        $this->BlockTypes[':'] []= 'DefinitionList';
        $this->BlockTypes['*'] []= 'Abbreviation';
 
        # identify footnote definitions before reference definitions
        array_unshift($this->BlockTypes['['], 'Footnote');
 
        # identify footnote markers before before links
        array_unshift($this->InlineTypes['['], 'FootnoteMarker');
    }
 
    #
    # ~
 
    function text($text)
    {
        $markup = parent::text($text);
 
        # merge consecutive dl elements
 
        $markup = preg_replace('/<\/dl>\s+<dl>\s+/', '', $markup);
 
        # add footnotes
 
        if (isset($this->DefinitionData['Footnote']))
        {
            $Element = $this->buildFootnoteElement();
 
            $markup .= "\n" . $this->element($Element);
        }
 
        return $markup;
    }
 
    #
    # Blocks
    #
Arguments
  1. """
    As a part of Digital Cultures 2019, a series of masterclasses will be held on the 28th of September 2019. \n
    This masterclasses will be held by Artist & Programmer Joseph Cutts (Sheffield, UK).\n
    \n
    Participation in the masterclasses is free of charge. \n
      \n
    \n
    ## Welcoming New Art Forms (I was trendy once)\n
    \n
    In an age of rapidly developing technology, an artist or curator may find themselves beholden to trends as a means to remain current, if not socially engaged. In the world of contemporary arts, theatre or film, do the technological advancements of today eclipse the power of a subject matter and form? \n
     \n
    As an artist we must ask ourselves what are the key properties of an artwork we wish to be highlighted? and where do we desire for our work to be seen? As a programmer or curator, shouldn't we welcome, if not, accept artworks that have taken advantage of modern advancements in technology such as VR, AR, Facial Recognition etc. and ensure that subject matter and form is at the forefront of why it is to be exhibited. \n
     \n
    This looks to offer insight into what can be perceived as a trend by virtue of its currentness, where that perception has come from, and what worlds welcome and are beginning to welcome such art forms. \n
      \n
      \n
    **The masterclass will be split in half consisting two parts. One person can either apply for one or both of the masterclass parts.**\n
    \n
    **PART ONE OF THE MASTERCLASS: **\n
    \n
    For Emerging Artists & Project Creators working in a developing technology (at beginning to middle of their career)\n
    - Timelessness VS trends in art forms\n
    - Funding & Pitching - How do you describe your work? What is at the core of it?\n
    - What are you looking for when exhibiting? Press, Space, Reputation, Production Costs Covered\n
    - Production Budgets: Blowing the door wide open\n
    - Building an exhibiting model (administratively & physically) \n
    - Film Festivals, Art Festivals, Theatre, Museums & Galleries, Educational and Resource \n
    - Longevity: Distribution & Gallery Representation\n
    - Group Discussion\n
    \n
    Artists will come away with a furthered understanding of:\n
    - which worlds their work may exist in\n
    - how to strategise where to take their work to\n
    - furthered insight into pitching to curators/programmers\n
    - what questions to ask curators/programmers\n
    \n
    - There are 20 places available on this masterclass\n
    - The organiser will accept participants based on the application form; space is limited. The chronological order of applications is not binding. Participation does not require accreditation or a Digital Cultures carnet. The masterclass is free of charge\n
    - The selected 20 should be available for the above date \n
    - The selected 20 should cover their own travel\n
     \n
    \n
     \n
    * **Date**: 28.09.2019 \n
    * **Time**: 14:30-16:00\n
    * **Duration**: 90 min.  \n
    * **Location**: Adam Mickiewicz Institute, 25 Mokotowska Str. Warsaw, Room "Wielka Improwizacja"\n
        \n
        \n
    **PART TWO OF THE MASTERCLASS:**  \n
        \n
    For Festival Programmers, Gallery & Museum Curators, Cultural Funders & Governmental \n
    - Timelessness vs trends in art forms\n
    - Where do you research and locate such modern technological works? Festivals, Exhibitions\n
    - Do you afford a new medium the same opportunity as established and timeless ones? For example - Virtual Reality vs Video Art or Sculpture \n
    - What do you offer? Guidance, Space, Reputation, Production Costs, Artist Fee?\n
    - Where can modern forms of equipment be located?\n
    - Longevity in Trendy Mediums: Distribution & Gallery Representation\n
    - Group Discussion\n
     \n
     Participants will come away with a furthered understanding of:\n
    - exhibiting the intricacies of new art forms (VR, AR etc..)\n
    - where to locate certain projects/artworks\n
    - the potential direction(s) of modern technological art forms \n
    \n
    \n
    Practical information:\n
    - There are 20 places available on this masterclass\n
    - The organiser will accept participants based on the application form; space is limited. The chronological order of applications is not binding. Participation does not require accreditation or a Digital Cultures carnet. The masterclass is free of charge\n
    - The selected 20 should be available for the above date \n
    - The selected 20 should cover their own travel\n
     \n
    * **Date**: 28.09.2019\n
    * **Time**: 16:30-17:30\n
    * **Duration**: 60 min.\n
    * **Location:** Adam Mickiewicz Institute, 25 Mokotowska Str. Warsaw, Room "Wielka Improwizacja"\n
    \n
    \n
    **Participation is free of charge however, filling in the application and being accepted as a participant is required.**   \n
    Application form will be open until 15.09.2019\n
    \n
    The conference curators will review all applications and deliver the invitation to the workshop participants via e-mail on September 18th 2019. 
    """
    
/data/prod/digitalcultures/2019/system/src/Grav/Common/Page/Page.php
 
            $markdownDefaults['extra'] = $this->markdown_extra ?: $config->get('system.pages.markdown_extra');
        }
 
        $extra = $markdownDefaults['extra'] ?? false;
        $defaults = [
            'markdown' => $markdownDefaults,
            'images' => $config->get('system.images', [])
        ];
 
        $excerpts = new Excerpts($this, $defaults);
 
        // Initialize the preferred variant of Parsedown
        if ($extra) {
            $parsedown = new ParsedownExtra($excerpts);
        } else {
            $parsedown = new Parsedown($excerpts);
        }
 
        $this->content = $parsedown->text($this->content);
    }
 
 
    /**
     * Process the Twig page content.
     */
    private function processTwig()
    {
        $twig = Grav::instance()['twig'];
        $this->content = $twig->processPage($this, $this->content);
    }
 
    /**
     * Fires the onPageContentProcessed event, and caches the page content using a unique ID for the page
     */
    public function cachePageContent()
    {
        $cache = Grav::instance()['cache'];
        $cache_id = md5('page' . $this->getCacheKey());
        $cache->save($cache_id, ['content' => $this->content, 'content_meta' => $this->content_meta]);
Arguments
  1. """
    As a part of Digital Cultures 2019, a series of masterclasses will be held on the 28th of September 2019. \n
    This masterclasses will be held by Artist & Programmer Joseph Cutts (Sheffield, UK).\n
    \n
    Participation in the masterclasses is free of charge. \n
      \n
    \n
    ## Welcoming New Art Forms (I was trendy once)\n
    \n
    In an age of rapidly developing technology, an artist or curator may find themselves beholden to trends as a means to remain current, if not socially engaged. In the world of contemporary arts, theatre or film, do the technological advancements of today eclipse the power of a subject matter and form? \n
     \n
    As an artist we must ask ourselves what are the key properties of an artwork we wish to be highlighted? and where do we desire for our work to be seen? As a programmer or curator, shouldn't we welcome, if not, accept artworks that have taken advantage of modern advancements in technology such as VR, AR, Facial Recognition etc. and ensure that subject matter and form is at the forefront of why it is to be exhibited. \n
     \n
    This looks to offer insight into what can be perceived as a trend by virtue of its currentness, where that perception has come from, and what worlds welcome and are beginning to welcome such art forms. \n
      \n
      \n
    **The masterclass will be split in half consisting two parts. One person can either apply for one or both of the masterclass parts.**\n
    \n
    **PART ONE OF THE MASTERCLASS: **\n
    \n
    For Emerging Artists & Project Creators working in a developing technology (at beginning to middle of their career)\n
    - Timelessness VS trends in art forms\n
    - Funding & Pitching - How do you describe your work? What is at the core of it?\n
    - What are you looking for when exhibiting? Press, Space, Reputation, Production Costs Covered\n
    - Production Budgets: Blowing the door wide open\n
    - Building an exhibiting model (administratively & physically) \n
    - Film Festivals, Art Festivals, Theatre, Museums & Galleries, Educational and Resource \n
    - Longevity: Distribution & Gallery Representation\n
    - Group Discussion\n
    \n
    Artists will come away with a furthered understanding of:\n
    - which worlds their work may exist in\n
    - how to strategise where to take their work to\n
    - furthered insight into pitching to curators/programmers\n
    - what questions to ask curators/programmers\n
    \n
    - There are 20 places available on this masterclass\n
    - The organiser will accept participants based on the application form; space is limited. The chronological order of applications is not binding. Participation does not require accreditation or a Digital Cultures carnet. The masterclass is free of charge\n
    - The selected 20 should be available for the above date \n
    - The selected 20 should cover their own travel\n
     \n
    \n
     \n
    * **Date**: 28.09.2019 \n
    * **Time**: 14:30-16:00\n
    * **Duration**: 90 min.  \n
    * **Location**: Adam Mickiewicz Institute, 25 Mokotowska Str. Warsaw, Room "Wielka Improwizacja"\n
        \n
        \n
    **PART TWO OF THE MASTERCLASS:**  \n
        \n
    For Festival Programmers, Gallery & Museum Curators, Cultural Funders & Governmental \n
    - Timelessness vs trends in art forms\n
    - Where do you research and locate such modern technological works? Festivals, Exhibitions\n
    - Do you afford a new medium the same opportunity as established and timeless ones? For example - Virtual Reality vs Video Art or Sculpture \n
    - What do you offer? Guidance, Space, Reputation, Production Costs, Artist Fee?\n
    - Where can modern forms of equipment be located?\n
    - Longevity in Trendy Mediums: Distribution & Gallery Representation\n
    - Group Discussion\n
     \n
     Participants will come away with a furthered understanding of:\n
    - exhibiting the intricacies of new art forms (VR, AR etc..)\n
    - where to locate certain projects/artworks\n
    - the potential direction(s) of modern technological art forms \n
    \n
    \n
    Practical information:\n
    - There are 20 places available on this masterclass\n
    - The organiser will accept participants based on the application form; space is limited. The chronological order of applications is not binding. Participation does not require accreditation or a Digital Cultures carnet. The masterclass is free of charge\n
    - The selected 20 should be available for the above date \n
    - The selected 20 should cover their own travel\n
     \n
    * **Date**: 28.09.2019\n
    * **Time**: 16:30-17:30\n
    * **Duration**: 60 min.\n
    * **Location:** Adam Mickiewicz Institute, 25 Mokotowska Str. Warsaw, Room "Wielka Improwizacja"\n
    \n
    \n
    **Participation is free of charge however, filling in the application and being accepted as a participant is required.**   \n
    Application form will be open until 15.09.2019\n
    \n
    The conference curators will review all applications and deliver the invitation to the workshop participants via e-mail on September 18th 2019. 
    """
    
/data/prod/digitalcultures/2019/system/src/Grav/Common/Page/Page.php
 
            } else {
                if ($this->content === false || $cache_enable === false) {
                    $this->content = $this->raw_content;
                    Grav::instance()->fireEvent('onPageContentRaw', new Event(['page' => $this]));
 
                    if ($twig_first) {
                        if ($process_twig) {
                            $this->processTwig();
                        }
                        if ($process_markdown) {
                            $this->processMarkdown();
                        }
 
                        // Content Processed but not cached yet
                        Grav::instance()->fireEvent('onPageContentProcessed', new Event(['page' => $this]));
 
                    } else {
                        if ($process_markdown) {
                            $this->processMarkdown();
                        }
 
                        // Content Processed but not cached yet
                        Grav::instance()->fireEvent('onPageContentProcessed', new Event(['page' => $this]));
 
                        if ($process_twig) {
                            $this->processTwig();
                        }
                    }
 
                    if ($cache_enable) {
                        $this->cachePageContent();
                    }
                }
            }
 
            // Handle summary divider
            $delimiter = $config->get('site.summary.delimiter', '===');
            $divider_pos = mb_strpos($this->content, "<p>{$delimiter}</p>");
            if ($divider_pos !== false) {
/data/prod/digitalcultures/2019/system/src/Grav/Common/Twig/Twig.php
 
        return $output;
    }
 
    /**
     * Twig process that renders the site layout. This is the main twig process that renders the overall
     * page and handles all the layout for the site display.
     *
     * @param string $format Output format (defaults to HTML).
     *
     * @return string the rendered output
     * @throws \RuntimeException
     */
    public function processSite($format = null, array $vars = [])
    {
        // set the page now its been processed
        $this->grav->fireEvent('onTwigSiteVariables');
        $pages = $this->grav['pages'];
        $page = $this->grav['page'];
        $content = $page->content();
 
        $twig_vars = $this->twig_vars;
 
        $twig_vars['theme'] = $this->grav['config']->get('theme');
        $twig_vars['pages'] = $pages->root();
        $twig_vars['page'] = $page;
        $twig_vars['header'] = $page->header();
        $twig_vars['media'] = $page->media();
        $twig_vars['content'] = $content;
        $ext = '.' . ($format ?: 'html') . TWIG_EXT;
 
        // determine if params are set, if so disable twig cache
        $params = $this->grav['uri']->params(null, true);
        if (!empty($params)) {
            $this->twig->setCache(false);
        }
 
        // Get Twig template layout
        $template = $this->template($page->template() . $ext);
 
/data/prod/digitalcultures/2019/system/src/Grav/Common/Service/OutputServiceProvider.php
 
namespace Grav\Common\Service;
 
use Grav\Common\Page\Interfaces\PageInterface;
use Grav\Common\Twig\Twig;
use Pimple\Container;
use Pimple\ServiceProviderInterface;
 
class OutputServiceProvider implements ServiceProviderInterface
{
    public function register(Container $container)
    {
        $container['output'] = function ($c) {
            /** @var Twig $twig */
            $twig = $c['twig'];
 
            /** @var PageInterface $page */
            $page = $c['page'];
 
            return $twig->processSite($page->templateFormat());
        };
    }
}
 
Arguments
  1. "html"
    
/data/prod/digitalcultures/2019/vendor/pimple/pimple/src/Pimple/Container.php
    {
        if (!isset($this->keys[$id])) {
            throw new UnknownIdentifierException($id);
        }
 
        if (
            isset($this->raw[$id])
            || !\is_object($this->values[$id])
            || isset($this->protected[$this->values[$id]])
            || !\method_exists($this->values[$id], '__invoke')
        ) {
            return $this->values[$id];
        }
 
        if (isset($this->factories[$this->values[$id]])) {
            return $this->values[$id]($this);
        }
 
        $raw = $this->values[$id];
        $val = $this->values[$id] = $raw($this);
        $this->raw[$id] = $raw;
 
        $this->frozen[$id] = true;
 
        return $val;
    }
 
    /**
     * Checks if a parameter or an object is set.
     *
     * @param string $id The unique identifier for the parameter or object
     *
     * @return bool
     */
    public function offsetExists($id)
    {
        return isset($this->keys[$id]);
    }
 
    /**
Arguments
  1. Grav {#3}
    
/data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/RenderProcessor.php
 
namespace Grav\Common\Processors;
 
use Grav\Common\Page\Interfaces\PageInterface;
use Grav\Framework\Psr7\Response;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class RenderProcessor extends ProcessorBase
{
    public $id = 'render';
    public $title = 'Render';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
 
        $container = $this->container;
        $output =  $container['output'];
 
        if ($output instanceof ResponseInterface) {
            return $output;
        }
 
        ob_start();
 
        // Use internal Grav output.
        $container->output = $output;
        $container->fireEvent('onOutputGenerated');
 
        echo $container->output;
 
        // remove any output
        $container->output = '';
 
        $this->container->fireEvent('onOutputRendered');
 
        $html = ob_get_clean();
 
Arguments
  1. "output"
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#159}
    
  2. RequestHandler {#507}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#159}
    
/data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/DebuggerAssetsProcessor.php
 
namespace Grav\Common\Processors;
 
use Grav\Framework\Psr7\Response;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class DebuggerAssetsProcessor extends ProcessorBase
{
    public $id = 'debugger_assets';
    public $title = 'Debugger Assets';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $this->container['debugger']->addAssets();
        $this->stopTimer();
 
        return $handler->handle($request);
 
    }
}
 
Arguments
  1. ServerRequest {#159}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#159}
    
  2. RequestHandler {#505}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#159}
    
/data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/PagesProcessor.php
            $this->addMessage("Routed to page {$page->rawRoute()} (type: {$page->template()}) [Not Found fallback]");
        } else {
            $this->addMessage("Routed to page {$page->rawRoute()} (type: {$page->template()})");
 
            $task = $this->container['task'];
            $action = $this->container['action'];
            if ($task) {
                $event = new Event(['task' => $task, 'page' => $page]);
                $this->container->fireEvent('onPageTask', $event);
                $this->container->fireEvent('onPageTask.' . $task, $event);
            } elseif ($action) {
                $event = new Event(['action' => $action, 'page' => $page]);
                $this->container->fireEvent('onPageAction', $event);
                $this->container->fireEvent('onPageAction.' . $action, $event);
            }
        }
 
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#159}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#159}
    
  2. RequestHandler {#226}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#159}
    
/data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/TwigProcessor.php
 */
 
namespace Grav\Common\Processors;
 
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class TwigProcessor extends ProcessorBase
{
    public $id = 'twig';
    public $title = 'Twig';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $this->container['twig']->init();
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#159}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#159}
    
  2. RequestHandler {#200}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#159}
    
/data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/AssetsProcessor.php
 
namespace Grav\Common\Processors;
 
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class AssetsProcessor extends ProcessorBase
{
    public $id = '_assets';
    public $title = 'Assets';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $this->container['assets']->init();
        $this->container->fireEvent('onAssetsInitialized');
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#159}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#159}
    
  2. RequestHandler {#197}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#159}
    
/data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/SchedulerProcessor.php
namespace Grav\Common\Processors;
 
use RocketTheme\Toolbox\Event\Event;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class SchedulerProcessor extends ProcessorBase
{
    public $id = '_scheduler';
    public $title = 'Scheduler';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $scheduler = $this->container['scheduler'];
        $this->container->fireEvent('onSchedulerInitialized', new Event(['scheduler' => $scheduler]));
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#159}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#159}
    
  2. RequestHandler {#167}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#159}
    
/data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/BackupsProcessor.php
 
namespace Grav\Common\Processors;
 
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class BackupsProcessor extends ProcessorBase
{
    public $id = '_backups';
    public $title = 'Backups';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $backups = $this->container['backups'];
        $backups->init();
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#159}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#159}
    
  2. RequestHandler {#164}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#159}
    
/data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/TasksProcessor.php
                    }
 
                    $this->stopTimer();
 
                    return $response;
 
                } catch (NotFoundException $e) {
                    // Task not found: Let it pass through.
                }
            }
 
            if ($task) {
                $this->container->fireEvent('onTask.' . $task);
            } elseif ($action) {
                $this->container->fireEvent('onAction.' . $action);
            }
        }
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#159}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#159}
    
  2. RequestHandler {#162}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#159}
    
/data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/RequestProcessor.php
        $uri = $request->getUri();
        $ext = mb_strtolower(pathinfo($uri->getPath(), PATHINFO_EXTENSION));
 
        $request = $request
            ->withAttribute('grav', $this->container)
            ->withAttribute('time', $_SERVER['REQUEST_TIME_FLOAT'] ?? GRAV_REQUEST_TIME)
            ->withAttribute('route', Uri::getCurrentRoute()->withExtension($ext))
            ->withAttribute('referrer', $this->container['uri']->referrer());
 
        $event = new RequestHandlerEvent(['request' => $request, 'handler' => $handler]);
        /** @var RequestHandlerEvent $event */
        $event = $this->container->fireEvent('onRequestHandlerInit', $event);
        $response = $event->getResponse();
        $this->stopTimer();
 
        if ($response) {
            return $response;
        }
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#159}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#159}
    
  2. RequestHandler {#157}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#69}
    
/data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/ThemesProcessor.php
 */
 
namespace Grav\Common\Processors;
 
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class ThemesProcessor extends ProcessorBase
{
    public $id = 'themes';
    public $title = 'Themes';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $this->container['themes']->init();
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#69}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#69}
    
  2. RequestHandler {#153}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#69}
    
/data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/PluginsProcessor.php
 
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class PluginsProcessor extends ProcessorBase
{
    public $id = 'plugins';
    public $title = 'Plugins';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        // TODO: remove in 2.0.
        $this->container['accounts'];
        $this->container['plugins']->init();
        $this->container->fireEvent('onPluginsInitialized');
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#69}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#69}
    
  2. RequestHandler {#134}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#69}
    
/data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/InitializeProcessor.php
        }
 
        /** @var Uri $uri */
        $uri = $this->container['uri'];
        $uri->init();
 
        // Redirect pages with trailing slash if configured to do so.
        $path = $uri->path() ?: '/';
        if ($path !== '/'
            && $config->get('system.pages.redirect_trailing_slash', false)
            && Utils::endsWith($path, '/')) {
 
            $redirect = (string) $uri::getCurrentRoute()->toString();
            $this->container->redirect($redirect);
        }
 
        $this->container->setLocale();
        $this->stopTimer();
 
        return $handler->handle($request);
    }
 
    public function processCli(): void
    {
        // Load configuration.
        $this->container['config']->init();
        $this->container['plugins']->setup();
 
        // Disable debugger.
        $this->container['debugger']->enabled(false);
 
        // Set timezone, locale.
        /** @var Config $config */
        $config = $this->container['config'];
        $timezone = $config->get('system.timezone');
        if ($timezone) {
            date_default_timezone_set($timezone);
        }
        $this->container->setLocale();
 
Arguments
  1. ServerRequest {#69}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#69}
    
  2. RequestHandler {#126}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#69}
    
/data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/DebuggerProcessor.php
 */
 
namespace Grav\Common\Processors;
 
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class DebuggerProcessor extends ProcessorBase
{
    public $id = '_debugger';
    public $title = 'Init Debugger';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $this->container['debugger']->init();
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#69}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#69}
    
  2. RequestHandler {#124}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#69}
    
/data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/ErrorsProcessor.php
 */
 
namespace Grav\Common\Processors;
 
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class ErrorsProcessor extends ProcessorBase
{
    public $id = '_errors';
    public $title = 'Error Handlers Reset';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $this->container['errors']->resetHandlers();
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#69}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#69}
    
  2. RequestHandler {#112}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#69}
    
/data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/LoggerProcessor.php
 
        /** @var Config $config */
        $config = $grav['config'];
 
        switch ($config->get('system.log.handler', 'file')) {
            case 'syslog':
                $log = $grav['log'];
                $log->popHandler();
 
                $facility = $config->get('system.log.syslog.facility', 'local6');
                $logHandler = new SyslogHandler('grav', $facility);
                $formatter = new LineFormatter("%channel%.%level_name%: %message% %extra%");
                $logHandler->setFormatter($formatter);
 
                $log->pushHandler($logHandler);
                break;
        }
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#69}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#69}
    
  2. RequestHandler {#100}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#69}
    
/data/prod/digitalcultures/2019/system/src/Grav/Common/Processors/ConfigurationProcessor.php
 
namespace Grav\Common\Processors;
 
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class ConfigurationProcessor extends ProcessorBase
{
    public $id = '_config';
    public $title = 'Configuration';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $this->container['config']->init();
        $this->container['plugins']->setup();
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#69}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#69}
    
  2. RequestHandler {#93}
    
/data/prod/digitalcultures/2019/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#69}
    
/data/prod/digitalcultures/2019/system/src/Grav/Common/Grav.php
                },
                'debuggerAssetsProcessor' => function () {
                    return new DebuggerAssetsProcessor($this);
                },
                'renderProcessor' => function () {
                    return new RenderProcessor($this);
                },
            ]
        );
 
        $default = function (ServerRequestInterface $request) {
            return new Response(404);
        };
 
        /** @var Debugger $debugger */
        $debugger = $this['debugger'];
 
        $collection = new RequestHandler($this->middleware, $default, $container);
 
        $response = $collection->handle($this['request']);
        $body = $response->getBody();
 
        // Handle ETag and If-None-Match headers.
        if ($response->getHeaderLine('ETag') === '1') {
            $etag = md5($body);
            $response = $response->withHeader('ETag', $etag);
 
            if ($this['request']->getHeaderLine('If-None-Match') === $etag) {
                $response = $response->withStatus(304);
                $body = '';
            }
        }
 
        $this->header($response);
        echo $body;
 
        $debugger->render();
 
        register_shutdown_function([$this, 'shutdown']);
    }
Arguments
  1. ServerRequest {#69}
    
/data/prod/digitalcultures/2019/index.php
if (!is_file($autoload)) {
    die('Please run: <i>bin/grav install</i>');
}
 
// Register the auto-loader.
$loader = require $autoload;
 
use Grav\Common\Grav;
use RocketTheme\Toolbox\Event\Event;
 
// Get the Grav instance
$grav = Grav::instance(
    array(
        'loader' => $loader
    )
);
 
// Process the page
try {
    $grav->process();
} catch (\Error $e) {
    $grav->fireEvent('onFatalException', new Event(array('exception' => $e)));
    throw $e;
} catch (\Exception $e) {
    $grav->fireEvent('onFatalException', new Event(array('exception' => $e)));
    throw $e;
}
 

Environment & details:

Key Value
_url
"/en/workshops/welcoming-new-art-forms-i-was-trendy-once-by-joseph-cutts"
empty
empty
empty
empty
Key Value
USER
"www"
HOME
"/"
HTTP_CF_IPCOUNTRY
"US"
HTTP_CDN_LOOP
"cloudflare"
HTTP_CF_CONNECTING_IP
"44.200.82.195"
HTTP_USER_AGENT
"claudebot"
HTTP_ACCEPT
"*/*"
HTTP_CF_VISITOR
"{"scheme":"http"}"
HTTP_X_FORWARDED_PROTO
"http"
HTTP_CF_RAY
"86c052674fc51fd6-IAD"
HTTP_ACCEPT_ENCODING
"gzip"
HTTP_CONNECTION
"close"
HTTP_X_FORWARDED_FOR
"44.200.82.195, 44.200.82.195"
HTTP_X_REAL_IP
"44.200.82.195"
HTTP_X_FORWARDED_HOST
"2019.digitalcultures.pl"
HTTP_HOST
"2019.digitalcultures.pl"
SCRIPT_FILENAME
"/data/prod/digitalcultures/2019//index.php"
REDIRECT_STATUS
"200"
SERVER_NAME
"2019.digitalcultures.pl"
SERVER_PORT
"80"
SERVER_ADDR
"10.20.30.31"
REMOTE_PORT
""
REMOTE_ADDR
"44.200.82.195"
SERVER_SOFTWARE
"nginx/1.20.1"
GATEWAY_INTERFACE
"CGI/1.1"
REQUEST_SCHEME
"http"
SERVER_PROTOCOL
"HTTP/1.0"
DOCUMENT_ROOT
"/data/prod/digitalcultures/2019"
DOCUMENT_URI
"/index.php"
REQUEST_URI
"/en/workshops/welcoming-new-art-forms-i-was-trendy-once-by-joseph-cutts"
SCRIPT_NAME
"/index.php"
CONTENT_LENGTH
""
CONTENT_TYPE
""
REQUEST_METHOD
"GET"
QUERY_STRING
"_url=/en/workshops/welcoming-new-art-forms-i-was-trendy-once-by-joseph-cutts"
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1711720152.2814
REQUEST_TIME
1711720152
empty
0. Whoops\Handler\PrettyPageHandler
1. Whoops\Handler\CallbackHandler