/data/pnode/httpdocs/vendor/twig/twig/src/Template.php
}
protected function displayWithErrorHandling(array $context, array $blocks = [])
{
try {
$this->doDisplay($context, $blocks);
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
// this is mostly useful for \Twig\Error\LoaderError exceptions
// see \Twig\Error\LoaderError
if (-1 === $e->getTemplateLine()) {
$e->guess();
}
throw $e;
} catch (\Exception $e) {
$e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
$e->guess();
throw $e;
}
}
/**
* Auto-generated method to display the template with the given context.
*
* @param array $context An array of parameters to pass to the template
* @param array $blocks An array of blocks to pass to the template
*/
abstract protected function doDisplay(array $context, array $blocks = []);
/**
* Returns a variable from the context.
*
* This method is for internal use only and should never be called
* directly.
*
Arguments
"An exception has been thrown during the rendering of a template ("fopen(): Peer certificate CN=`*.p-node.org' did not match expected CN=`irc.leplacard.org'") in "@Page:/data/pnode/httpdocs/user/pages/03.works/02.artworks/09.EVP" at line 5."
/data/pnode/httpdocs/user/themes/pnode/pnode.php
$this->grav['twig']->twig->addFunction(new \Twig_SimpleFunction('streamJSONPlayer', [$this, 'streamJSONPlayer']));
$this->grav['twig']->twig->addFunction(new \Twig_SimpleFunction('streamJSONList', [$this, 'streamJSONList']));
$this->grav['twig']->twig->addFunction(new \Twig_SimpleFunction('streamsListJs', [$this, 'streamsListJs']));
$this->grav['twig']->twig->addFunction(new \Twig_SimpleFunction('streamsList', [$this, 'streamsList']));
$this->grav['twig']->twig->addFunction(new \Twig_SimpleFunction('streamsListHtml', [$this, 'streamsListHtml']));
$this->grav['twig']->twig->addFunction(new \Twig_SimpleFunction('lineUp', [$this, 'lineUp']));
$this->grav['twig']->twig->addFunction(new \Twig_SimpleFunction('airtimeSchedule', [$this, 'airtimeSchedule']));
$this->grav['twig']->twig->addFunction(new \Twig_SimpleFunction('airtimePlayer', [$this, 'airtimePlayer']));
}
public function dumpLog($file_url) {
if (substr( $file_url, 0, 4 ) === "http") {
$url = '';
} else {
$url = "https://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}/";
}
echo '<script>console.log("'.$url.'")</script>';
$file = fopen($url.$file_url, "r") or exit("Unable to open file!");
echo '<p class="log_listing">';
//Output a line of the file until the end is reached
while(!feof($file)){
echo fgets($file). "<br>";
}
fclose($file);
echo '</p>';
}
public function filePlayer($file_url,$title) {
if (substr( $file_url, 0, 4 ) === "http") {
$url = '';
} else {
//$url = "//{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}/";
$url = "{$_SERVER['REQUEST_URI']}/";
}
$file_url = $url.$file_url;
$mount = $file_url;
$name = basename($file_url);
Arguments
"fopen(): Peer certificate CN=`*.p-node.org' did not match expected CN=`irc.leplacard.org'"
/data/pnode/httpdocs/user/themes/pnode/pnode.php
$this->grav['twig']->twig->addFunction(new \Twig_SimpleFunction('streamJSONPlayer', [$this, 'streamJSONPlayer']));
$this->grav['twig']->twig->addFunction(new \Twig_SimpleFunction('streamJSONList', [$this, 'streamJSONList']));
$this->grav['twig']->twig->addFunction(new \Twig_SimpleFunction('streamsListJs', [$this, 'streamsListJs']));
$this->grav['twig']->twig->addFunction(new \Twig_SimpleFunction('streamsList', [$this, 'streamsList']));
$this->grav['twig']->twig->addFunction(new \Twig_SimpleFunction('streamsListHtml', [$this, 'streamsListHtml']));
$this->grav['twig']->twig->addFunction(new \Twig_SimpleFunction('lineUp', [$this, 'lineUp']));
$this->grav['twig']->twig->addFunction(new \Twig_SimpleFunction('airtimeSchedule', [$this, 'airtimeSchedule']));
$this->grav['twig']->twig->addFunction(new \Twig_SimpleFunction('airtimePlayer', [$this, 'airtimePlayer']));
}
public function dumpLog($file_url) {
if (substr( $file_url, 0, 4 ) === "http") {
$url = '';
} else {
$url = "https://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}/";
}
echo '<script>console.log("'.$url.'")</script>';
$file = fopen($url.$file_url, "r") or exit("Unable to open file!");
echo '<p class="log_listing">';
//Output a line of the file until the end is reached
while(!feof($file)){
echo fgets($file). "<br>";
}
fclose($file);
echo '</p>';
}
public function filePlayer($file_url,$title) {
if (substr( $file_url, 0, 4 ) === "http") {
$url = '';
} else {
//$url = "//{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}/";
$url = "{$_SERVER['REQUEST_URI']}/";
}
$file_url = $url.$file_url;
$mount = $file_url;
$name = basename($file_url);
Arguments
"https://irc.leplacard.org/works/artworks/evp/log_EVP.txt"
"r"
/data/pnode/httpdocs/cache/twig/bd/bde8862a71bff010571fa93de6fb208e09f186c224c7a3be4e4304514b86aa71.php
public function __construct(Environment $env)
{
parent::__construct($env);
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = [])
{
// line 1
echo "<h5>Installation.</h5>
<p>date : 24/01/2014 > 1/02/014 </p>
<p>During ten days, a speech recoginition system (Dragon) is connected to the ∏-Node stream and tries to recognize words from the noise. The result creates a text/score, which is read by a human reader. </p>
<h2>EVP logs</h2>
";
// line 5
echo call_user_func_array($this->env->getFunction('dumpLog')->getCallable(), ["log_EVP.txt"]);
echo "
<h2>EVP output - 24/01:02/02 2014</h2>
";
// line 7
echo call_user_func_array($this->env->getFunction('filePlayer')->getCallable(), ["20140203_pnode_evp_jf.mp3", "∏-NODE Electro Voice phenomena output"]);
echo "
<p>Archive : <a href=\"/actions/berlin\">http://p-node.org/actions/berlin</a></p>";
}
public function getTemplateName()
{
return "@Page:/data/pnode/httpdocs/user/pages/03.works/02.artworks/09.EVP";
}
public function isTraitable()
{
return false;
}
public function getDebugInfo()
Arguments
/data/pnode/httpdocs/vendor/twig/twig/src/Template.php
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (\Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = [])
{
try {
$this->doDisplay($context, $blocks);
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
// this is mostly useful for \Twig\Error\LoaderError exceptions
// see \Twig\Error\LoaderError
if (-1 === $e->getTemplateLine()) {
$e->guess();
}
throw $e;
} catch (\Exception $e) {
$e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
$e->guess();
throw $e;
}
}
Arguments
array:25 [
"config" => Config {#96}
"system" => array:27 [
"absolute_urls" => false
"timezone" => null
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => null
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => null
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "pnode"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => true
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => false
"auto_line_breaks" => true
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
2 => "html"
0 => "txt"
1 => "xml"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => null
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => false
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "302"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => null
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:15 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "auto"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => false
"allow_webserver_gzip" => false
"redis" => array:4 [
"socket" => null
"server" => null
"port" => null
"password" => null
]
"memcache" => array:2 [
"server" => null
"port" => null
]
"memcached" => array:2 [
"server" => null
"port" => null
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => false
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => false
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => null
"allowed_fallback_types" => null
"auto_metadata_exif" => false
"upload_limit" => 1048576000
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => false
"path" => null
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => true
]
]
"site" => array:10 [
"title" => "Π Node"
"default_lang" => "en"
"author" => array:2 [
"name" => "Patrick Node"
"email" => "joe@example.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "∏ node is an hybrid radio/stream platform"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:4 [
"/meetings/(.*)" => "/actions/$1"
"/meetings" => "/actions"
"/resources" => "/documentation"
"/resources/(.*)" => "/documentation/$1"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"acxtest" => "TEST"
]
"uri" => Uri {#128}
"assets" => Assets {#203}
"taxonomy" => Taxonomy {#223}
"browser" => Browser {#236}
"base_dir" => "/data/pnode/httpdocs"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://irc.leplacard.org"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/data/pnode/httpdocs/user/themes/pnode"
"theme_url" => "/user/themes/pnode"
"html_lang" => "en"
"language_codes" => LanguageCodes {#237}
"form" => null
"form_max_filesize" => 1000
"form_json_response" => []
"page" => Page {#250}
"media" => Media {#729}
"header" => {#248}
"grav" => Grav {#3}
]
[]
/data/pnode/httpdocs/vendor/twig/twig/src/Template.php
{
return $this;
}
/**
* Returns all blocks.
*
* This method is for internal use only and should never be called
* directly.
*
* @return array An array of blocks
*/
public function getBlocks()
{
return $this->blocks;
}
public function display(array $context, array $blocks = [])
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
public function render(array $context)
{
$level = ob_get_level();
if ($this->env->isDebug()) {
ob_start();
} else {
ob_start(function () { return ''; });
}
try {
$this->display($context);
} catch (\Exception $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (\Throwable $e) {
while (ob_get_level() > $level) {
Arguments
array:25 [
"config" => Config {#96}
"system" => array:27 [
"absolute_urls" => false
"timezone" => null
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => null
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => null
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "pnode"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => true
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => false
"auto_line_breaks" => true
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
2 => "html"
0 => "txt"
1 => "xml"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => null
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => false
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "302"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => null
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:15 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "auto"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => false
"allow_webserver_gzip" => false
"redis" => array:4 [
"socket" => null
"server" => null
"port" => null
"password" => null
]
"memcache" => array:2 [
"server" => null
"port" => null
]
"memcached" => array:2 [
"server" => null
"port" => null
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => false
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => false
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => null
"allowed_fallback_types" => null
"auto_metadata_exif" => false
"upload_limit" => 1048576000
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => false
"path" => null
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => true
]
]
"site" => array:10 [
"title" => "Π Node"
"default_lang" => "en"
"author" => array:2 [
"name" => "Patrick Node"
"email" => "joe@example.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "∏ node is an hybrid radio/stream platform"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:4 [
"/meetings/(.*)" => "/actions/$1"
"/meetings" => "/actions"
"/resources" => "/documentation"
"/resources/(.*)" => "/documentation/$1"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"acxtest" => "TEST"
]
"uri" => Uri {#128}
"assets" => Assets {#203}
"taxonomy" => Taxonomy {#223}
"browser" => Browser {#236}
"base_dir" => "/data/pnode/httpdocs"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://irc.leplacard.org"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/data/pnode/httpdocs/user/themes/pnode"
"theme_url" => "/user/themes/pnode"
"html_lang" => "en"
"language_codes" => LanguageCodes {#237}
"form" => null
"form_max_filesize" => 1000
"form_json_response" => []
"page" => Page {#250}
"media" => Media {#729}
"header" => {#248}
"grav" => Grav {#3}
]
[]
/data/pnode/httpdocs/vendor/twig/twig/src/Template.php
public function getBlocks()
{
return $this->blocks;
}
public function display(array $context, array $blocks = [])
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
public function render(array $context)
{
$level = ob_get_level();
if ($this->env->isDebug()) {
ob_start();
} else {
ob_start(function () { return ''; });
}
try {
$this->display($context);
} catch (\Exception $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (\Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = [])
{
try {
Arguments
array:24 [
"config" => Config {#96}
"system" => array:27 [
"absolute_urls" => false
"timezone" => null
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => null
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => null
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "pnode"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => true
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => false
"auto_line_breaks" => true
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
2 => "html"
0 => "txt"
1 => "xml"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => null
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => false
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "302"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => null
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:15 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "auto"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => false
"allow_webserver_gzip" => false
"redis" => array:4 [
"socket" => null
"server" => null
"port" => null
"password" => null
]
"memcache" => array:2 [
"server" => null
"port" => null
]
"memcached" => array:2 [
"server" => null
"port" => null
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => false
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => false
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => null
"allowed_fallback_types" => null
"auto_metadata_exif" => false
"upload_limit" => 1048576000
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => false
"path" => null
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => true
]
]
"site" => array:10 [
"title" => "Π Node"
"default_lang" => "en"
"author" => array:2 [
"name" => "Patrick Node"
"email" => "joe@example.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "∏ node is an hybrid radio/stream platform"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:4 [
"/meetings/(.*)" => "/actions/$1"
"/meetings" => "/actions"
"/resources" => "/documentation"
"/resources/(.*)" => "/documentation/$1"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"acxtest" => "TEST"
]
"uri" => Uri {#128}
"assets" => Assets {#203}
"taxonomy" => Taxonomy {#223}
"browser" => Browser {#236}
"base_dir" => "/data/pnode/httpdocs"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://irc.leplacard.org"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/data/pnode/httpdocs/user/themes/pnode"
"theme_url" => "/user/themes/pnode"
"html_lang" => "en"
"language_codes" => LanguageCodes {#237}
"form" => null
"form_max_filesize" => 1000
"form_json_response" => []
"page" => Page {#250}
"media" => Media {#729}
"header" => {#248}
]
/data/pnode/httpdocs/vendor/twig/twig/src/TemplateWrapper.php
* @internal
*/
public function __construct(Environment $env, Template $template)
{
$this->env = $env;
$this->template = $template;
}
/**
* Renders the template.
*
* @param array $context An array of parameters to pass to the template
*
* @return string The rendered template
*/
public function render($context = [])
{
// using func_get_args() allows to not expose the blocks argument
// as it should only be used by internal code
return $this->template->render($context, \func_num_args() > 1 ? func_get_arg(1) : []);
}
/**
* Displays the template.
*
* @param array $context An array of parameters to pass to the template
*/
public function display($context = [])
{
// using func_get_args() allows to not expose the blocks argument
// as it should only be used by internal code
$this->template->display($context, \func_num_args() > 1 ? func_get_arg(1) : []);
}
/**
* Checks if a block is defined.
*
* @param string $name The block name
* @param array $context An array of parameters to pass to the template
*
Arguments
array:24 [
"config" => Config {#96}
"system" => array:27 [
"absolute_urls" => false
"timezone" => null
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => null
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => null
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "pnode"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => true
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => false
"auto_line_breaks" => true
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
2 => "html"
0 => "txt"
1 => "xml"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => null
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => false
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "302"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => null
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:15 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "auto"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => false
"allow_webserver_gzip" => false
"redis" => array:4 [
"socket" => null
"server" => null
"port" => null
"password" => null
]
"memcache" => array:2 [
"server" => null
"port" => null
]
"memcached" => array:2 [
"server" => null
"port" => null
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => false
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => false
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => null
"allowed_fallback_types" => null
"auto_metadata_exif" => false
"upload_limit" => 1048576000
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => false
"path" => null
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => true
]
]
"site" => array:10 [
"title" => "Π Node"
"default_lang" => "en"
"author" => array:2 [
"name" => "Patrick Node"
"email" => "joe@example.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "∏ node is an hybrid radio/stream platform"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:4 [
"/meetings/(.*)" => "/actions/$1"
"/meetings" => "/actions"
"/resources" => "/documentation"
"/resources/(.*)" => "/documentation/$1"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"acxtest" => "TEST"
]
"uri" => Uri {#128}
"assets" => Assets {#203}
"taxonomy" => Taxonomy {#223}
"browser" => Browser {#236}
"base_dir" => "/data/pnode/httpdocs"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://irc.leplacard.org"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/data/pnode/httpdocs/user/themes/pnode"
"theme_url" => "/user/themes/pnode"
"html_lang" => "en"
"language_codes" => LanguageCodes {#237}
"form" => null
"form_max_filesize" => 1000
"form_json_response" => []
"page" => Page {#250}
"media" => Media {#729}
"header" => {#248}
]
[]
/data/pnode/httpdocs/vendor/twig/twig/src/Environment.php
@trigger_error(sprintf('The %s method is deprecated since version 1.22 and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);
return $this->templateClassPrefix;
}
/**
* Renders a template.
*
* @param string|TemplateWrapper $name The template name
* @param array $context An array of parameters to pass to the template
*
* @return string The rendered template
*
* @throws LoaderError When the template cannot be found
* @throws SyntaxError When an error occurred during compilation
* @throws RuntimeError When an error occurred during rendering
*/
public function render($name, array $context = [])
{
return $this->load($name)->render($context);
}
/**
* Displays a template.
*
* @param string|TemplateWrapper $name The template name
* @param array $context An array of parameters to pass to the template
*
* @throws LoaderError When the template cannot be found
* @throws SyntaxError When an error occurred during compilation
* @throws RuntimeError When an error occurred during rendering
*/
public function display($name, array $context = [])
{
$this->load($name)->display($context);
}
/**
* Loads a template.
*
Arguments
array:24 [
"config" => Config {#96}
"system" => array:27 [
"absolute_urls" => false
"timezone" => null
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => null
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => null
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "pnode"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => true
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => false
"auto_line_breaks" => true
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
2 => "html"
0 => "txt"
1 => "xml"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => null
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => false
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "302"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => null
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:15 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "auto"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => false
"allow_webserver_gzip" => false
"redis" => array:4 [
"socket" => null
"server" => null
"port" => null
"password" => null
]
"memcache" => array:2 [
"server" => null
"port" => null
]
"memcached" => array:2 [
"server" => null
"port" => null
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => false
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => false
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => null
"allowed_fallback_types" => null
"auto_metadata_exif" => false
"upload_limit" => 1048576000
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => false
"path" => null
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => true
]
]
"site" => array:10 [
"title" => "Π Node"
"default_lang" => "en"
"author" => array:2 [
"name" => "Patrick Node"
"email" => "joe@example.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "∏ node is an hybrid radio/stream platform"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:4 [
"/meetings/(.*)" => "/actions/$1"
"/meetings" => "/actions"
"/resources" => "/documentation"
"/resources/(.*)" => "/documentation/$1"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"acxtest" => "TEST"
]
"uri" => Uri {#128}
"assets" => Assets {#203}
"taxonomy" => Taxonomy {#223}
"browser" => Browser {#236}
"base_dir" => "/data/pnode/httpdocs"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://irc.leplacard.org"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/data/pnode/httpdocs/user/themes/pnode"
"theme_url" => "/user/themes/pnode"
"html_lang" => "en"
"language_codes" => LanguageCodes {#237}
"form" => null
"form_max_filesize" => 1000
"form_json_response" => []
"page" => Page {#250}
"media" => Media {#729}
"header" => {#248}
]
/data/pnode/httpdocs/system/src/Grav/Common/Twig/Twig.php
$twig_vars['header'] = $item->header();
$local_twig = clone $this->twig;
$output = '';
try {
// Process Modular Twig
if ($item->modularTwig()) {
$twig_vars['content'] = $content;
$extension = $item->templateFormat();
$extension = $extension ? ".{$extension}.twig" : TEMPLATE_EXT;
$template = $item->template() . $extension;
$output = $content = $local_twig->render($template, $twig_vars);
}
// Process in-page Twig
if ($item->shouldProcess('twig')) {
$name = '@Page:' . $item->path();
$this->setTemplate($name, $content);
$output = $local_twig->render($name, $twig_vars);
}
} catch (\Twig_Error_Loader $e) {
throw new \RuntimeException($e->getRawMessage(), 404, $e);
}
return $output;
}
/**
* Process a Twig template directly by using a template name
* and optional array of variables
*
* @param string $template template to render with
* @param array $vars Optional variables
*
* @return string
*/
public function processTemplate($template, $vars = [])
{
Arguments
"@Page:/data/pnode/httpdocs/user/pages/03.works/02.artworks/09.EVP"
array:24 [
"config" => Config {#96}
"system" => array:27 [
"absolute_urls" => false
"timezone" => null
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => null
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => null
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "pnode"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => true
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => false
"auto_line_breaks" => true
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
2 => "html"
0 => "txt"
1 => "xml"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => null
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => false
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "302"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => null
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:15 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "auto"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => false
"allow_webserver_gzip" => false
"redis" => array:4 [
"socket" => null
"server" => null
"port" => null
"password" => null
]
"memcache" => array:2 [
"server" => null
"port" => null
]
"memcached" => array:2 [
"server" => null
"port" => null
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => false
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => false
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => null
"allowed_fallback_types" => null
"auto_metadata_exif" => false
"upload_limit" => 1048576000
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => false
"path" => null
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => true
]
]
"site" => array:10 [
"title" => "Π Node"
"default_lang" => "en"
"author" => array:2 [
"name" => "Patrick Node"
"email" => "joe@example.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "∏ node is an hybrid radio/stream platform"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:4 [
"/meetings/(.*)" => "/actions/$1"
"/meetings" => "/actions"
"/resources" => "/documentation"
"/resources/(.*)" => "/documentation/$1"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"acxtest" => "TEST"
]
"uri" => Uri {#128}
"assets" => Assets {#203}
"taxonomy" => Taxonomy {#223}
"browser" => Browser {#236}
"base_dir" => "/data/pnode/httpdocs"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://irc.leplacard.org"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/data/pnode/httpdocs/user/themes/pnode"
"theme_url" => "/user/themes/pnode"
"html_lang" => "en"
"language_codes" => LanguageCodes {#237}
"form" => null
"form_max_filesize" => 1000
"form_json_response" => []
"page" => Page {#250}
"media" => Media {#729}
"header" => {#248}
]
/data/pnode/httpdocs/system/src/Grav/Common/Page/Page.php
$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]);
}
/**
* Needed by the onPageContentProcessed event to get the raw page content
*
* @return string the current page content
*/
public function getRawContent()
{
return $this->content;
Arguments
Page {#250}
"""
<h5>Installation.</h5>\n
<p>date : 24/01/2014 > 1/02/014 </p>\n
<p>During ten days, a speech recoginition system (Dragon) is connected to the ∏-Node stream and tries to recognize words from the noise. The result creates a text/score, which is read by a human reader. </p>\n
<h2>EVP logs</h2>\n
{{dumpLog('log_EVP.txt')}}\n
<h2>EVP output - 24/01:02/02 2014</h2>\n
{{filePlayer("20140203_pnode_evp_jf.mp3","∏-NODE Electro Voice phenomena output")}}\n
<p>Archive : <a href="/actions/berlin">http://p-node.org/actions/berlin</a></p>
"""
/data/pnode/httpdocs/system/src/Grav/Common/Page/Page.php
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) {
$this->summary_size = $divider_pos;
$this->content = str_replace("<p>{$delimiter}</p>", '', $this->content);
}
// Fire event when Page::content() is called
Grav::instance()->fireEvent('onPageContent', new Event(['page' => $this]));
}
/data/pnode/httpdocs/system/src/Grav/Common/Page/Page.php
*
* @param bool $textOnly Only count text size.
*
* @return string
*/
public function summary($size = null, $textOnly = false)
{
$config = (array)Grav::instance()['config']->get('site.summary');
if (isset($this->header->summary)) {
$config = array_merge($config, $this->header->summary);
}
// Return summary based on settings in site config file
if (!$config['enabled']) {
return $this->content();
}
// Set up variables to process summary from page or from custom summary
if ($this->summary === null) {
$content = $textOnly ? strip_tags($this->content()) : $this->content();
$summary_size = $this->summary_size;
} else {
$content = strip_tags($this->summary);
// Use mb_strwidth to deal with the 2 character widths characters
$summary_size = mb_strwidth($content, 'utf-8');
}
// Return calculated summary based on summary divider's position
$format = $config['format'];
// Return entire page content on wrong/ unknown format
if (!in_array($format, ['short', 'long'])) {
return $content;
}
if (($format === 'short') && isset($summary_size)) {
// Use mb_strimwidth to slice the string
if (mb_strwidth($content, 'utf8') > $summary_size) {
return mb_substr($content, 0, $summary_size);
}
return $content;
/data/pnode/httpdocs/user/plugins/social-seo-metatags/social-seo-metatags.php
}
}
/**
* Function called on Grav Page initilized
*/
public function onPageInitialized(Event $e)
{
/** @var $page Page */
$page = $this->grav['page'];
if($this->config->get('plugins.social-seo-metatags.quote.convert_simple')){
$this->html_flags = ENT_QUOTES;
} else {
$this->html_flags = ENT_COMPAT;
}
//Get values
$meta = $page->metadata(null);
$this->desc = $this->sanitizeMarkdowns(strip_tags($page->summary()));
$this->title = $this->sanitizeMarkdowns($this->grav['page']->title());
//Pre-treatment fro description
if(strlen($this->desc)>160)
{
// Remove last (truncated) word and replace by ...
$desc_temp = substr($this->desc,0,157);
$this->desc = substr($desc_temp, 0, strrpos($desc_temp, ' '))."...";
}
if($this->desc == "")
{
$this->desc = $this->config->get('site.metadata.description');
}
//Header description treatment
if(isset($page->header()->description)){
$this->desc = $page->header()->description;
}
//Apply change
/data/pnode/httpdocs/vendor/symfony/event-dispatcher/EventDispatcher.php
}
}
/**
* Triggers the listeners of an event.
*
* This method can be overridden to add functionality that is executed
* for each listener.
*
* @param callable[] $listeners The event listeners
* @param string $eventName The name of the event to dispatch
* @param Event $event The event object to pass to the event handlers/listeners
*/
protected function doDispatch($listeners, $eventName, Event $event)
{
foreach ($listeners as $listener) {
if ($event->isPropagationStopped()) {
break;
}
$listener($event, $eventName, $this);
}
}
/**
* Sorts the internal list of listeners for the given event by priority.
*
* @param string $eventName The name of the event
*/
private function sortListeners($eventName)
{
krsort($this->listeners[$eventName]);
$this->sorted[$eventName] = [];
foreach ($this->listeners[$eventName] as $priority => $listeners) {
foreach ($listeners as $k => $listener) {
if (\is_array($listener) && isset($listener[0]) && $listener[0] instanceof \Closure) {
$listener[0] = $listener[0]();
$this->listeners[$eventName][$priority][$k] = $listener;
}
$this->sorted[$eventName][] = $listener;
Arguments
Event {#721}
"onPageInitialized"
EventDispatcher {#135}
/data/pnode/httpdocs/vendor/symfony/event-dispatcher/EventDispatcher.php
* @author Jordi Boggiano <j.boggiano@seld.be>
* @author Jordan Alliot <jordan.alliot@gmail.com>
* @author Nicolas Grekas <p@tchwork.com>
*/
class EventDispatcher implements EventDispatcherInterface
{
private $listeners = [];
private $sorted = [];
/**
* {@inheritdoc}
*/
public function dispatch($eventName, Event $event = null)
{
if (null === $event) {
$event = new Event();
}
if ($listeners = $this->getListeners($eventName)) {
$this->doDispatch($listeners, $eventName, $event);
}
return $event;
}
/**
* {@inheritdoc}
*/
public function getListeners($eventName = null)
{
if (null !== $eventName) {
if (empty($this->listeners[$eventName])) {
return [];
}
if (!isset($this->sorted[$eventName])) {
$this->sortListeners($eventName);
}
return $this->sorted[$eventName];
Arguments
array:4 [
0 => array:2 [
0 => AdminPlugin {#99}
1 => "onPageInitialized"
]
1 => array:2 [
0 => LoginPlugin {#107}
1 => "authorizePage"
]
2 => array:2 [
0 => FormPlugin {#106}
1 => "onPageInitialized"
]
3 => array:2 [
0 => SocialSEOMetaTagsPlugin {#110}
1 => "onPageInitialized"
]
]
"onPageInitialized"
Event {#721}
/data/pnode/httpdocs/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php
use Symfony\Component\EventDispatcher\Event as BaseEvent;
use Symfony\Component\EventDispatcher\EventDispatcher as BaseEventDispatcher;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
/**
* Implements Symfony EventDispatcher interface.
*
* @package RocketTheme\Toolbox\Event
* @author RocketTheme
* @license MIT
*/
class EventDispatcher extends BaseEventDispatcher implements EventDispatcherInterface
{
public function dispatch($eventName, BaseEvent $event = null)
{
if (null === $event) {
$event = new Event();
}
return parent::dispatch($eventName, $event);
}
}
Arguments
"onPageInitialized"
Event {#721}
/data/pnode/httpdocs/system/src/Grav/Common/Grav.php
foreach ($values as $i => $value) {
header($key . ': ' . $value, $i === 0);
}
}
}
/**
* Fires an event with optional parameters.
*
* @param string $eventName
* @param Event $event
*
* @return Event
*/
public function fireEvent($eventName, Event $event = null)
{
/** @var EventDispatcher $events */
$events = $this['events'];
return $events->dispatch($eventName, $event);
}
/**
* Set the final content length for the page and flush the buffer
*
*/
public function shutdown()
{
// Prevent user abort allowing onShutdown event to run without interruptions.
if (\function_exists('ignore_user_abort')) {
@ignore_user_abort(true);
}
// Close the session allowing new requests to be handled.
if (isset($this['session'])) {
$this['session']->close();
}
if ($this['config']->get('system.debugger.shutdown.close_connection', true)) {
// Flush the response and close the connection to allow time consuming tasks to be performed without leaving
Arguments
"onPageInitialized"
Event {#721}
/data/pnode/httpdocs/system/src/Grav/Common/Processors/PagesProcessor.php
use RocketTheme\Toolbox\Event\Event;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class PagesProcessor extends ProcessorBase
{
public $id = 'pages';
public $title = 'Pages';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
{
$this->startTimer();
// Dump Cache state
$this->container['debugger']->addMessage($this->container['cache']->getCacheStatus());
$this->container['pages']->init();
$this->container->fireEvent('onPagesInitialized', new Event(['pages' => $this->container['pages']]));
$this->container->fireEvent('onPageInitialized', new Event(['page' => $this->container['page']]));
/** @var PageInterface $page */
$page = $this->container['page'];
if (!$page->routable()) {
// If no page found, fire event
$event = new Event(['page' => $page]);
$event->page = null;
$event = $this->container->fireEvent('onPageNotFound', $event);
if (isset($event->page)) {
unset ($this->container['page']);
$this->container['page'] = $page = $event->page;
} else {
throw new \RuntimeException('Page Not Found', 404);
}
$this->addMessage("Routed to page {$page->rawRoute()} (type: {$page->template()}) [Not Found fallback]");
} else {
$this->addMessage("Routed to page {$page->rawRoute()} (type: {$page->template()})");
Arguments
"onPageInitialized"
Event {#721}
/data/pnode/httpdocs/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
ServerRequest {#164}
RequestHandler {#239}
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
ServerRequest {#164}
RequestHandler {#205}
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
ServerRequest {#164}
RequestHandler {#202}
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
ServerRequest {#164}
RequestHandler {#172}
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
ServerRequest {#164}
RequestHandler {#169}
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
ServerRequest {#164}
RequestHandler {#167}
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
ServerRequest {#164}
RequestHandler {#162}
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
ServerRequest {#66}
RequestHandler {#157}
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
ServerRequest {#66}
RequestHandler {#134}
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
ServerRequest {#66}
RequestHandler {#126}
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
ServerRequest {#66}
RequestHandler {#124}
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
ServerRequest {#66}
RequestHandler {#112}
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
ServerRequest {#66}
RequestHandler {#100}
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
ServerRequest {#66}
RequestHandler {#93}
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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
/data/pnode/httpdocs/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;
}