/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/vendor
/rockettheme
/toolbox
/Blueprints
/src
/BlueprintForm.php
/**
* @param array $items
* @param array $path
* @return string
*/
protected function deepInit(array &$items, $path = [])
{
$ordering = '';
$order = [];
$field = end($path) === 'fields';
foreach ($items as $key => &$item) {
// Set name for nested field.
if ($field && isset($item['type'])) {
$item['name'] = $key;
}
// Handle special instructions in the form.
if (!empty($key) && ($key[0] === '@' || $key[strlen($key) - 1] === '@')) {
$list = explode('-', trim($key, '@'), 2);
$action = array_shift($list);
$property = array_shift($list);
switch ($action) {
case 'unset':
unset($items[$key]);
if (empty($items)) {
return null;
}
break;
case 'import':
$this->doImport($item, $path);
unset($items[$key]);
break;
case 'ordering':
$ordering = $item;
unset($items[$key]);
break;
default:
Arguments
"Trying to access array offset on value of type int"
/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/vendor
/rockettheme
/toolbox
/Blueprints
/src
/BlueprintForm.php
/**
* @param array $items
* @param array $path
* @return string
*/
protected function deepInit(array &$items, $path = [])
{
$ordering = '';
$order = [];
$field = end($path) === 'fields';
foreach ($items as $key => &$item) {
// Set name for nested field.
if ($field && isset($item['type'])) {
$item['name'] = $key;
}
// Handle special instructions in the form.
if (!empty($key) && ($key[0] === '@' || $key[strlen($key) - 1] === '@')) {
$list = explode('-', trim($key, '@'), 2);
$action = array_shift($list);
$property = array_shift($list);
switch ($action) {
case 'unset':
unset($items[$key]);
if (empty($items)) {
return null;
}
break;
case 'import':
$this->doImport($item, $path);
unset($items[$key]);
break;
case 'ordering':
$ordering = $item;
unset($items[$key]);
break;
default:
Arguments
2
"Trying to access array offset on value of type int"
"/home/httpd/vhosts/ogive.ch/dominikrohr/vendor/rockettheme/toolbox/Blueprints/src/BlueprintForm.php"
379
/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/vendor
/rockettheme
/toolbox
/Blueprints
/src
/BlueprintForm.php
return null;
}
break;
case 'import':
$this->doImport($item, $path);
unset($items[$key]);
break;
case 'ordering':
$ordering = $item;
unset($items[$key]);
break;
default:
$this->dynamic[implode('/', $path)][$property] = ['action' => $action, 'params' => $item];
}
} elseif (is_array($item)) {
// Recursively initialize form.
$newPath = array_merge($path, [$key]);
$location = $this->deepInit($item, $newPath);
if ($location) {
$order[$key] = $location;
} elseif ($location === null) {
unset($items[$key]);
}
}
}
if ($order) {
// Reorder fields if needed.
$items = $this->doReorder($items, $order);
}
return $ordering;
}
/**
* @param array|string $value
* @param array $path
*/
Arguments
array:2 [
1 => "PLUGIN_ADMIN.YES"
0 => "PLUGIN_ADMIN.NO"
]
array:6 [
0 => "form"
1 => "fields"
2 => "summary"
3 => "fields"
4 => "summary.enabled"
5 => "options"
]
/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/vendor
/rockettheme
/toolbox
/Blueprints
/src
/BlueprintForm.php
return null;
}
break;
case 'import':
$this->doImport($item, $path);
unset($items[$key]);
break;
case 'ordering':
$ordering = $item;
unset($items[$key]);
break;
default:
$this->dynamic[implode('/', $path)][$property] = ['action' => $action, 'params' => $item];
}
} elseif (is_array($item)) {
// Recursively initialize form.
$newPath = array_merge($path, [$key]);
$location = $this->deepInit($item, $newPath);
if ($location) {
$order[$key] = $location;
} elseif ($location === null) {
unset($items[$key]);
}
}
}
if ($order) {
// Reorder fields if needed.
$items = $this->doReorder($items, $order);
}
return $ordering;
}
/**
* @param array|string $value
* @param array $path
*/
Arguments
array:7 [
"type" => "toggle"
"label" => "PLUGIN_ADMIN.ENABLED"
"highlight" => 1
"help" => "PLUGIN_ADMIN.ENABLED_HELP"
"options" => array:2 [
1 => "PLUGIN_ADMIN.YES"
0 => "PLUGIN_ADMIN.NO"
]
"validate" => array:1 [
"type" => "bool"
]
"name" => "summary.enabled"
]
array:5 [
0 => "form"
1 => "fields"
2 => "summary"
3 => "fields"
4 => "summary.enabled"
]
/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/vendor
/rockettheme
/toolbox
/Blueprints
/src
/BlueprintForm.php
return null;
}
break;
case 'import':
$this->doImport($item, $path);
unset($items[$key]);
break;
case 'ordering':
$ordering = $item;
unset($items[$key]);
break;
default:
$this->dynamic[implode('/', $path)][$property] = ['action' => $action, 'params' => $item];
}
} elseif (is_array($item)) {
// Recursively initialize form.
$newPath = array_merge($path, [$key]);
$location = $this->deepInit($item, $newPath);
if ($location) {
$order[$key] = $location;
} elseif ($location === null) {
unset($items[$key]);
}
}
}
if ($order) {
// Reorder fields if needed.
$items = $this->doReorder($items, $order);
}
return $ordering;
}
/**
* @param array|string $value
* @param array $path
*/
Arguments
array:4 [
"summary.enabled" => array:7 [
"type" => "toggle"
"label" => "PLUGIN_ADMIN.ENABLED"
"highlight" => 1
"help" => "PLUGIN_ADMIN.ENABLED_HELP"
"options" => array:2 [
1 => "PLUGIN_ADMIN.YES"
0 => "PLUGIN_ADMIN.NO"
]
"validate" => array:1 [
"type" => "bool"
]
"name" => "summary.enabled"
]
"summary.size" => array:6 [
"type" => "text"
"size" => "x-small"
"append" => "PLUGIN_ADMIN.CHARACTERS"
"label" => "PLUGIN_ADMIN.SUMMARY_SIZE"
"help" => "PLUGIN_ADMIN.SUMMARY_SIZE_HELP"
"validate" => array:3 [
"type" => "int"
"min" => 0
"max" => 65536
]
]
"summary.format" => array:6 [
"type" => "toggle"
"label" => "PLUGIN_ADMIN.FORMAT"
"classes" => "fancy"
"help" => "PLUGIN_ADMIN.FORMAT_HELP"
"highlight" => "short"
"options" => array:2 [
"short" => "PLUGIN_ADMIN.SHORT"
"long" => "PLUGIN_ADMIN.LONG"
]
]
"summary.delimiter" => array:4 [
"type" => "text"
"size" => "x-small"
"label" => "PLUGIN_ADMIN.DELIMITER"
"help" => "PLUGIN_ADMIN.DELIMITER_HELP"
]
]
array:4 [
0 => "form"
1 => "fields"
2 => "summary"
3 => "fields"
]
/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/vendor
/rockettheme
/toolbox
/Blueprints
/src
/BlueprintForm.php
return null;
}
break;
case 'import':
$this->doImport($item, $path);
unset($items[$key]);
break;
case 'ordering':
$ordering = $item;
unset($items[$key]);
break;
default:
$this->dynamic[implode('/', $path)][$property] = ['action' => $action, 'params' => $item];
}
} elseif (is_array($item)) {
// Recursively initialize form.
$newPath = array_merge($path, [$key]);
$location = $this->deepInit($item, $newPath);
if ($location) {
$order[$key] = $location;
} elseif ($location === null) {
unset($items[$key]);
}
}
}
if ($order) {
// Reorder fields if needed.
$items = $this->doReorder($items, $order);
}
return $ordering;
}
/**
* @param array|string $value
* @param array $path
*/
Arguments
array:5 [
"type" => "section"
"title" => "PLUGIN_ADMIN.PAGE_SUMMARY"
"underline" => true
"fields" => array:4 [
"summary.enabled" => array:7 [
"type" => "toggle"
"label" => "PLUGIN_ADMIN.ENABLED"
"highlight" => 1
"help" => "PLUGIN_ADMIN.ENABLED_HELP"
"options" => array:2 [
1 => "PLUGIN_ADMIN.YES"
0 => "PLUGIN_ADMIN.NO"
]
"validate" => array:1 [
"type" => "bool"
]
"name" => "summary.enabled"
]
"summary.size" => array:6 [
"type" => "text"
"size" => "x-small"
"append" => "PLUGIN_ADMIN.CHARACTERS"
"label" => "PLUGIN_ADMIN.SUMMARY_SIZE"
"help" => "PLUGIN_ADMIN.SUMMARY_SIZE_HELP"
"validate" => array:3 [
"type" => "int"
"min" => 0
"max" => 65536
]
]
"summary.format" => array:6 [
"type" => "toggle"
"label" => "PLUGIN_ADMIN.FORMAT"
"classes" => "fancy"
"help" => "PLUGIN_ADMIN.FORMAT_HELP"
"highlight" => "short"
"options" => array:2 [
"short" => "PLUGIN_ADMIN.SHORT"
"long" => "PLUGIN_ADMIN.LONG"
]
]
"summary.delimiter" => array:4 [
"type" => "text"
"size" => "x-small"
"label" => "PLUGIN_ADMIN.DELIMITER"
"help" => "PLUGIN_ADMIN.DELIMITER_HELP"
]
]
"name" => "summary"
]
array:3 [
0 => "form"
1 => "fields"
2 => "summary"
]
/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/vendor
/rockettheme
/toolbox
/Blueprints
/src
/BlueprintForm.php
return null;
}
break;
case 'import':
$this->doImport($item, $path);
unset($items[$key]);
break;
case 'ordering':
$ordering = $item;
unset($items[$key]);
break;
default:
$this->dynamic[implode('/', $path)][$property] = ['action' => $action, 'params' => $item];
}
} elseif (is_array($item)) {
// Recursively initialize form.
$newPath = array_merge($path, [$key]);
$location = $this->deepInit($item, $newPath);
if ($location) {
$order[$key] = $location;
} elseif ($location === null) {
unset($items[$key]);
}
}
}
if ($order) {
// Reorder fields if needed.
$items = $this->doReorder($items, $order);
}
return $ordering;
}
/**
* @param array|string $value
* @param array $path
*/
Arguments
array:4 [
"content" => array:5 [
"type" => "section"
"title" => "PLUGIN_ADMIN.DEFAULTS"
"underline" => true
"fields" => array:5 [
"title" => array:6 [
"type" => "text"
"label" => "PLUGIN_ADMIN.SITE_TITLE"
"size" => "large"
"placeholder" => "PLUGIN_ADMIN.SITE_TITLE_PLACEHOLDER"
"help" => "PLUGIN_ADMIN.SITE_TITLE_HELP"
"name" => "title"
]
"default_lang" => array:6 [
"type" => "text"
"label" => "PLUGIN_ADMIN.SITE_DEFAULT_LANG"
"size" => "x-small"
"placeholder" => "PLUGIN_ADMIN.SITE_DEFAULT_LANG_PLACEHOLDER"
"help" => "PLUGIN_ADMIN.SITE_DEFAULT_LANG_HELP"
"name" => "default_lang"
]
"author.name" => array:5 [
"type" => "text"
"size" => "large"
"label" => "PLUGIN_ADMIN.DEFAULT_AUTHOR"
"help" => "PLUGIN_ADMIN.DEFAULT_AUTHOR_HELP"
"name" => "author.name"
]
"author.email" => array:6 [
"type" => "text"
"size" => "large"
"label" => "PLUGIN_ADMIN.DEFAULT_EMAIL"
"help" => "PLUGIN_ADMIN.DEFAULT_EMAIL_HELP"
"validate" => array:1 [
"type" => "email"
]
"name" => "author.email"
]
"taxonomies" => array:7 [
"type" => "selectize"
"size" => "large"
"label" => "PLUGIN_ADMIN.TAXONOMY_TYPES"
"classes" => "fancy"
"help" => "PLUGIN_ADMIN.TAXONOMY_TYPES_HELP"
"validate" => array:1 [
"type" => "commalist"
]
"name" => "taxonomies"
]
]
"name" => "content"
]
"summary" => array:5 [
"type" => "section"
"title" => "PLUGIN_ADMIN.PAGE_SUMMARY"
"underline" => true
"fields" => array:4 [
"summary.enabled" => array:7 [
"type" => "toggle"
"label" => "PLUGIN_ADMIN.ENABLED"
"highlight" => 1
"help" => "PLUGIN_ADMIN.ENABLED_HELP"
"options" => array:2 [
1 => "PLUGIN_ADMIN.YES"
0 => "PLUGIN_ADMIN.NO"
]
"validate" => array:1 [
"type" => "bool"
]
"name" => "summary.enabled"
]
"summary.size" => array:6 [
"type" => "text"
"size" => "x-small"
"append" => "PLUGIN_ADMIN.CHARACTERS"
"label" => "PLUGIN_ADMIN.SUMMARY_SIZE"
"help" => "PLUGIN_ADMIN.SUMMARY_SIZE_HELP"
"validate" => array:3 [
"type" => "int"
"min" => 0
"max" => 65536
]
]
"summary.format" => array:6 [
"type" => "toggle"
"label" => "PLUGIN_ADMIN.FORMAT"
"classes" => "fancy"
"help" => "PLUGIN_ADMIN.FORMAT_HELP"
"highlight" => "short"
"options" => array:2 [
"short" => "PLUGIN_ADMIN.SHORT"
"long" => "PLUGIN_ADMIN.LONG"
]
]
"summary.delimiter" => array:4 [
"type" => "text"
"size" => "x-small"
"label" => "PLUGIN_ADMIN.DELIMITER"
"help" => "PLUGIN_ADMIN.DELIMITER_HELP"
]
]
"name" => "summary"
]
"metadata" => array:4 [
"type" => "section"
"title" => "PLUGIN_ADMIN.METADATA"
"underline" => true
"fields" => array:1 [
"metadata" => array:5 [
"type" => "array"
"label" => "PLUGIN_ADMIN.METADATA"
"help" => "PLUGIN_ADMIN.METADATA_HELP"
"placeholder_key" => "PLUGIN_ADMIN.METADATA_KEY"
"placeholder_value" => "PLUGIN_ADMIN.METADATA_VALUE"
]
]
]
"routes" => array:4 [
"type" => "section"
"title" => "PLUGIN_ADMIN.REDIRECTS_AND_ROUTES"
"underline" => true
"fields" => array:2 [
"redirects" => array:5 [
"type" => "array"
"label" => "PLUGIN_ADMIN.CUSTOM_REDIRECTS"
"help" => "PLUGIN_ADMIN.CUSTOM_REDIRECTS_HELP"
"placeholder_key" => "PLUGIN_ADMIN.CUSTOM_REDIRECTS_PLACEHOLDER_KEY"
"placeholder_value" => "PLUGIN_ADMIN.CUSTOM_REDIRECTS_PLACEHOLDER_VALUE"
]
"routes" => array:5 [
"type" => "array"
"label" => "PLUGIN_ADMIN.CUSTOM_ROUTES"
"help" => "PLUGIN_ADMIN.CUSTOM_ROUTES_HELP"
"placeholder_key" => "PLUGIN_ADMIN.CUSTOM_ROUTES_PLACEHOLDER_KEY"
"placeholder_value" => "PLUGIN_ADMIN.CUSTOM_ROUTES_PLACEHOLDER_VALUE"
]
]
]
]
array:2 [
0 => "form"
1 => "fields"
]
/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/vendor
/rockettheme
/toolbox
/Blueprints
/src
/BlueprintForm.php
return null;
}
break;
case 'import':
$this->doImport($item, $path);
unset($items[$key]);
break;
case 'ordering':
$ordering = $item;
unset($items[$key]);
break;
default:
$this->dynamic[implode('/', $path)][$property] = ['action' => $action, 'params' => $item];
}
} elseif (is_array($item)) {
// Recursively initialize form.
$newPath = array_merge($path, [$key]);
$location = $this->deepInit($item, $newPath);
if ($location) {
$order[$key] = $location;
} elseif ($location === null) {
unset($items[$key]);
}
}
}
if ($order) {
// Reorder fields if needed.
$items = $this->doReorder($items, $order);
}
return $ordering;
}
/**
* @param array|string $value
* @param array $path
*/
Arguments
array:2 [
"validation" => "loose"
"fields" => array:4 [
"content" => array:5 [
"type" => "section"
"title" => "PLUGIN_ADMIN.DEFAULTS"
"underline" => true
"fields" => array:5 [
"title" => array:6 [
"type" => "text"
"label" => "PLUGIN_ADMIN.SITE_TITLE"
"size" => "large"
"placeholder" => "PLUGIN_ADMIN.SITE_TITLE_PLACEHOLDER"
"help" => "PLUGIN_ADMIN.SITE_TITLE_HELP"
"name" => "title"
]
"default_lang" => array:6 [
"type" => "text"
"label" => "PLUGIN_ADMIN.SITE_DEFAULT_LANG"
"size" => "x-small"
"placeholder" => "PLUGIN_ADMIN.SITE_DEFAULT_LANG_PLACEHOLDER"
"help" => "PLUGIN_ADMIN.SITE_DEFAULT_LANG_HELP"
"name" => "default_lang"
]
"author.name" => array:5 [
"type" => "text"
"size" => "large"
"label" => "PLUGIN_ADMIN.DEFAULT_AUTHOR"
"help" => "PLUGIN_ADMIN.DEFAULT_AUTHOR_HELP"
"name" => "author.name"
]
"author.email" => array:6 [
"type" => "text"
"size" => "large"
"label" => "PLUGIN_ADMIN.DEFAULT_EMAIL"
"help" => "PLUGIN_ADMIN.DEFAULT_EMAIL_HELP"
"validate" => array:1 [
"type" => "email"
]
"name" => "author.email"
]
"taxonomies" => array:7 [
"type" => "selectize"
"size" => "large"
"label" => "PLUGIN_ADMIN.TAXONOMY_TYPES"
"classes" => "fancy"
"help" => "PLUGIN_ADMIN.TAXONOMY_TYPES_HELP"
"validate" => array:1 [
"type" => "commalist"
]
"name" => "taxonomies"
]
]
"name" => "content"
]
"summary" => array:5 [
"type" => "section"
"title" => "PLUGIN_ADMIN.PAGE_SUMMARY"
"underline" => true
"fields" => array:4 [
"summary.enabled" => array:7 [
"type" => "toggle"
"label" => "PLUGIN_ADMIN.ENABLED"
"highlight" => 1
"help" => "PLUGIN_ADMIN.ENABLED_HELP"
"options" => array:2 [
1 => "PLUGIN_ADMIN.YES"
0 => "PLUGIN_ADMIN.NO"
]
"validate" => array:1 [
"type" => "bool"
]
"name" => "summary.enabled"
]
"summary.size" => array:6 [
"type" => "text"
"size" => "x-small"
"append" => "PLUGIN_ADMIN.CHARACTERS"
"label" => "PLUGIN_ADMIN.SUMMARY_SIZE"
"help" => "PLUGIN_ADMIN.SUMMARY_SIZE_HELP"
"validate" => array:3 [
"type" => "int"
"min" => 0
"max" => 65536
]
]
"summary.format" => array:6 [
"type" => "toggle"
"label" => "PLUGIN_ADMIN.FORMAT"
"classes" => "fancy"
"help" => "PLUGIN_ADMIN.FORMAT_HELP"
"highlight" => "short"
"options" => array:2 [
"short" => "PLUGIN_ADMIN.SHORT"
"long" => "PLUGIN_ADMIN.LONG"
]
]
"summary.delimiter" => array:4 [
"type" => "text"
"size" => "x-small"
"label" => "PLUGIN_ADMIN.DELIMITER"
"help" => "PLUGIN_ADMIN.DELIMITER_HELP"
]
]
"name" => "summary"
]
"metadata" => array:4 [
"type" => "section"
"title" => "PLUGIN_ADMIN.METADATA"
"underline" => true
"fields" => array:1 [
"metadata" => array:5 [
"type" => "array"
"label" => "PLUGIN_ADMIN.METADATA"
"help" => "PLUGIN_ADMIN.METADATA_HELP"
"placeholder_key" => "PLUGIN_ADMIN.METADATA_KEY"
"placeholder_value" => "PLUGIN_ADMIN.METADATA_VALUE"
]
]
]
"routes" => array:4 [
"type" => "section"
"title" => "PLUGIN_ADMIN.REDIRECTS_AND_ROUTES"
"underline" => true
"fields" => array:2 [
"redirects" => array:5 [
"type" => "array"
"label" => "PLUGIN_ADMIN.CUSTOM_REDIRECTS"
"help" => "PLUGIN_ADMIN.CUSTOM_REDIRECTS_HELP"
"placeholder_key" => "PLUGIN_ADMIN.CUSTOM_REDIRECTS_PLACEHOLDER_KEY"
"placeholder_value" => "PLUGIN_ADMIN.CUSTOM_REDIRECTS_PLACEHOLDER_VALUE"
]
"routes" => array:5 [
"type" => "array"
"label" => "PLUGIN_ADMIN.CUSTOM_ROUTES"
"help" => "PLUGIN_ADMIN.CUSTOM_ROUTES_HELP"
"placeholder_key" => "PLUGIN_ADMIN.CUSTOM_ROUTES_PLACEHOLDER_KEY"
"placeholder_value" => "PLUGIN_ADMIN.CUSTOM_ROUTES_PLACEHOLDER_VALUE"
]
]
]
]
]
array:1 [
0 => "form"
]
/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/vendor
/rockettheme
/toolbox
/Blueprints
/src
/BlueprintForm.php
*/
public function load()
{
// Only load and extend blueprint if it has not yet been loaded.
if (empty($this->items) && $this->filename) {
// Get list of files.
$files = $this->getFiles($this->filename);
// Load and extend blueprints.
$data = $this->doLoad($files);
$this->items = (array) array_shift($data);
foreach ($data as $content) {
$this->extend($content, true);
}
}
// Import blueprints.
$this->deepInit($this->items);
return $this;
}
/**
* Initialize blueprints with its dynamic fields.
*
* @return $this
*/
public function init()
{
foreach ($this->dynamic as $key => $data) {
// Locate field.
$path = explode('/', $key);
$current = &$this->items;
foreach ($path as $field) {
if (is_object($current)) {
// Handle objects.
if (!isset($current->{$field})) {
$current->{$field} = array();
Arguments
array:2 [
"title" => "PLUGIN_ADMIN.SITE"
"form" => array:2 [
"validation" => "loose"
"fields" => array:4 [
"content" => array:5 [
"type" => "section"
"title" => "PLUGIN_ADMIN.DEFAULTS"
"underline" => true
"fields" => array:5 [
"title" => array:6 [
"type" => "text"
"label" => "PLUGIN_ADMIN.SITE_TITLE"
"size" => "large"
"placeholder" => "PLUGIN_ADMIN.SITE_TITLE_PLACEHOLDER"
"help" => "PLUGIN_ADMIN.SITE_TITLE_HELP"
"name" => "title"
]
"default_lang" => array:6 [
"type" => "text"
"label" => "PLUGIN_ADMIN.SITE_DEFAULT_LANG"
"size" => "x-small"
"placeholder" => "PLUGIN_ADMIN.SITE_DEFAULT_LANG_PLACEHOLDER"
"help" => "PLUGIN_ADMIN.SITE_DEFAULT_LANG_HELP"
"name" => "default_lang"
]
"author.name" => array:5 [
"type" => "text"
"size" => "large"
"label" => "PLUGIN_ADMIN.DEFAULT_AUTHOR"
"help" => "PLUGIN_ADMIN.DEFAULT_AUTHOR_HELP"
"name" => "author.name"
]
"author.email" => array:6 [
"type" => "text"
"size" => "large"
"label" => "PLUGIN_ADMIN.DEFAULT_EMAIL"
"help" => "PLUGIN_ADMIN.DEFAULT_EMAIL_HELP"
"validate" => array:1 [
"type" => "email"
]
"name" => "author.email"
]
"taxonomies" => array:7 [
"type" => "selectize"
"size" => "large"
"label" => "PLUGIN_ADMIN.TAXONOMY_TYPES"
"classes" => "fancy"
"help" => "PLUGIN_ADMIN.TAXONOMY_TYPES_HELP"
"validate" => array:1 [
"type" => "commalist"
]
"name" => "taxonomies"
]
]
"name" => "content"
]
"summary" => array:5 [
"type" => "section"
"title" => "PLUGIN_ADMIN.PAGE_SUMMARY"
"underline" => true
"fields" => array:4 [
"summary.enabled" => array:7 [
"type" => "toggle"
"label" => "PLUGIN_ADMIN.ENABLED"
"highlight" => 1
"help" => "PLUGIN_ADMIN.ENABLED_HELP"
"options" => array:2 [
1 => "PLUGIN_ADMIN.YES"
0 => "PLUGIN_ADMIN.NO"
]
"validate" => array:1 [
"type" => "bool"
]
"name" => "summary.enabled"
]
"summary.size" => array:6 [
"type" => "text"
"size" => "x-small"
"append" => "PLUGIN_ADMIN.CHARACTERS"
"label" => "PLUGIN_ADMIN.SUMMARY_SIZE"
"help" => "PLUGIN_ADMIN.SUMMARY_SIZE_HELP"
"validate" => array:3 [
"type" => "int"
"min" => 0
"max" => 65536
]
]
"summary.format" => array:6 [
"type" => "toggle"
"label" => "PLUGIN_ADMIN.FORMAT"
"classes" => "fancy"
"help" => "PLUGIN_ADMIN.FORMAT_HELP"
"highlight" => "short"
"options" => array:2 [
"short" => "PLUGIN_ADMIN.SHORT"
"long" => "PLUGIN_ADMIN.LONG"
]
]
"summary.delimiter" => array:4 [
"type" => "text"
"size" => "x-small"
"label" => "PLUGIN_ADMIN.DELIMITER"
"help" => "PLUGIN_ADMIN.DELIMITER_HELP"
]
]
"name" => "summary"
]
"metadata" => array:4 [
"type" => "section"
"title" => "PLUGIN_ADMIN.METADATA"
"underline" => true
"fields" => array:1 [
"metadata" => array:5 [
"type" => "array"
"label" => "PLUGIN_ADMIN.METADATA"
"help" => "PLUGIN_ADMIN.METADATA_HELP"
"placeholder_key" => "PLUGIN_ADMIN.METADATA_KEY"
"placeholder_value" => "PLUGIN_ADMIN.METADATA_VALUE"
]
]
]
"routes" => array:4 [
"type" => "section"
"title" => "PLUGIN_ADMIN.REDIRECTS_AND_ROUTES"
"underline" => true
"fields" => array:2 [
"redirects" => array:5 [
"type" => "array"
"label" => "PLUGIN_ADMIN.CUSTOM_REDIRECTS"
"help" => "PLUGIN_ADMIN.CUSTOM_REDIRECTS_HELP"
"placeholder_key" => "PLUGIN_ADMIN.CUSTOM_REDIRECTS_PLACEHOLDER_KEY"
"placeholder_value" => "PLUGIN_ADMIN.CUSTOM_REDIRECTS_PLACEHOLDER_VALUE"
]
"routes" => array:5 [
"type" => "array"
"label" => "PLUGIN_ADMIN.CUSTOM_ROUTES"
"help" => "PLUGIN_ADMIN.CUSTOM_ROUTES_HELP"
"placeholder_key" => "PLUGIN_ADMIN.CUSTOM_ROUTES_PLACEHOLDER_KEY"
"placeholder_value" => "PLUGIN_ADMIN.CUSTOM_ROUTES_PLACEHOLDER_VALUE"
]
]
]
]
]
]
/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/system
/src
/Grav
/Common
/Config
/CompiledBlueprints.php
/**
* Finalize configuration object.
*/
protected function finalizeObject()
{
}
/**
* Load single configuration file and append it to the correct position.
*
* @param string $name Name of the position.
* @param array $files Files to be loaded.
*/
protected function loadFile($name, $files)
{
// Load blueprint file.
$blueprint = new Blueprint($files);
$this->object->embed($name, $blueprint->load()->toArray(), '/', true);
}
/**
* Load and join all configuration files.
*
* @return bool
* @internal
*/
protected function loadFiles()
{
$this->createObject();
// Convert file list into parent list.
$list = [];
foreach ($this->files as $files) {
foreach ($files as $name => $item) {
$list[$name][] = $this->path . $item['file'];
}
}
/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/system
/src
/Grav
/Common
/Config
/CompiledBlueprints.php
* Load and join all configuration files.
*
* @return bool
* @internal
*/
protected function loadFiles()
{
$this->createObject();
// Convert file list into parent list.
$list = [];
foreach ($this->files as $files) {
foreach ($files as $name => $item) {
$list[$name][] = $this->path . $item['file'];
}
}
// Load files.
foreach ($list as $name => $files) {
$this->loadFile($name, $files);
}
$this->finalizeObject();
return true;
}
protected function getState()
{
return $this->object->getState();
}
}
Arguments
"site"
array:1 [
0 => "/home/httpd/vhosts/ogive.ch/dominikrohr/system/blueprints/config/site.yaml"
]
/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/system
/src
/Grav
/Common
/Config
/CompiledBase.php
* @return int Timestamp of compiled configuration
*/
public function timestamp()
{
return $this->timestamp ?: time();
}
/**
* Load the configuration.
*
* @return mixed
*/
public function load()
{
if ($this->object) {
return $this->object;
}
$filename = $this->createFilename();
if (!$this->loadCompiledFile($filename) && $this->loadFiles()) {
$this->saveCompiledFile($filename);
}
return $this->object;
}
/**
* Returns checksum from the configuration files.
*
* You can set $this->checksum = false to disable this check.
*
* @return bool|string
*/
public function checksum()
{
if (!isset($this->checksum)) {
$this->checksum = md5(json_encode($this->files) . $this->version);
}
return $this->checksum;
/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/system
/src
/Grav
/Common
/Service
/ConfigServiceProvider.php
public static function blueprints(Container $container)
{
/** Setup $setup */
$setup = $container['setup'];
/** @var UniformResourceLocator $locator */
$locator = $container['locator'];
$cache = $locator->findResource('cache://compiled/blueprints', true, true);
$files = [];
$paths = $locator->findResources('blueprints://config');
$files += (new ConfigFileFinder)->locateFiles($paths);
$paths = $locator->findResources('plugins://');
$files += (new ConfigFileFinder)->setBase('plugins')->locateInFolders($paths, 'blueprints');
$blueprints = new CompiledBlueprints($cache, $files, GRAV_ROOT);
return $blueprints->name("master-{$setup->environment}")->load();
}
public static function load(Container $container)
{
/** Setup $setup */
$setup = $container['setup'];
/** @var UniformResourceLocator $locator */
$locator = $container['locator'];
$cache = $locator->findResource('cache://compiled/config', true, true);
$files = [];
$paths = $locator->findResources('config://');
$files += (new ConfigFileFinder)->locateFiles($paths);
$paths = $locator->findResources('plugins://');
$files += (new ConfigFileFinder)->setBase('plugins')->locateInFolders($paths);
$config = new CompiledConfig($cache, $files, GRAV_ROOT);
$config->setBlueprints(function() use ($container) {
/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/system
/src
/Grav
/Common
/Service
/ConfigServiceProvider.php
use Grav\Common\Config\CompiledBlueprints;
use Grav\Common\Config\CompiledConfig;
use Grav\Common\Config\CompiledLanguages;
use Grav\Common\Config\Config;
use Grav\Common\Config\ConfigFileFinder;
use Grav\Common\Config\Setup;
use Pimple\Container;
use Pimple\ServiceProviderInterface;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;
class ConfigServiceProvider implements ServiceProviderInterface
{
public function register(Container $container)
{
$container['setup'] = function ($c) {
return static::setup($c);
};
$container['blueprints'] = function ($c) {
return static::blueprints($c);
};
$container['config'] = function ($c) {
return static::load($c);
};
$container['languages'] = function ($c) {
return static::languages($c);
};
}
public static function setup(Container $container)
{
return new Setup($container);
}
public static function blueprints(Container $container)
{
/** Setup $setup */
$setup = $container['setup'];
Arguments
/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/vendor
/pimple
/pimple
/src
/Pimple
/Container.php
{
if (!isset($this->keys[$id])) {
throw new \InvalidArgumentException(sprintf('Identifier "%s" is not defined.', $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
/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/system
/src
/Grav
/Common
/Service
/ConfigServiceProvider.php
public static function load(Container $container)
{
/** Setup $setup */
$setup = $container['setup'];
/** @var UniformResourceLocator $locator */
$locator = $container['locator'];
$cache = $locator->findResource('cache://compiled/config', true, true);
$files = [];
$paths = $locator->findResources('config://');
$files += (new ConfigFileFinder)->locateFiles($paths);
$paths = $locator->findResources('plugins://');
$files += (new ConfigFileFinder)->setBase('plugins')->locateInFolders($paths);
$config = new CompiledConfig($cache, $files, GRAV_ROOT);
$config->setBlueprints(function() use ($container) {
return $container['blueprints'];
});
return $config->name("master-{$setup->environment}")->load();
}
public static function languages(Container $container)
{
/** @var Setup $setup */
$setup = $container['setup'];
/** @var Config $config */
$config = $container['config'];
/** @var UniformResourceLocator $locator */
$locator = $container['locator'];
$cache = $locator->findResource('cache://compiled/languages', true, true);
$files = [];
// Process languages only if enabled in configuration.
Arguments
/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/system
/src
/Grav
/Common
/Data
/Data.php
* @return array
*/
public function extra()
{
return $this->blueprints()->extra($this->items);
}
/**
* Return blueprints.
*
* @return Blueprint
*/
public function blueprints()
{
if (!$this->blueprints){
$this->blueprints = new Blueprint;
} elseif (is_callable($this->blueprints)) {
// Lazy load blueprints.
$blueprints = $this->blueprints;
$this->blueprints = $blueprints();
}
return $this->blueprints;
}
/**
* Save data if storage has been defined.
*/
public function save()
{
$file = $this->file();
if ($file) {
$file->save($this->items);
}
}
/**
* Returns whether the data already exists in the storage.
*
* NOTE: This method does not check if the data is current.
*
/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/system
/src
/Grav
/Common
/Data
/Data.php
{
return $this->blueprints()->getDefaults();
}
/**
* Set default values by using blueprints.
*
* @param string $name Dot separated path to the requested value.
* @param mixed $value Value to be joined.
* @param string $separator Separator, defaults to '.'
* @return $this
*/
public function joinDefaults($name, $value, $separator = '.')
{
if (is_object($value)) {
$value = (array) $value;
}
$old = $this->get($name, null, $separator);
if ($old !== null) {
$value = $this->blueprints()->mergeData($value, $old, $name, $separator);
}
$this->set($name, $value, $separator);
return $this;
}
/**
* Get value from the configuration and join it with given data.
*
* @param string $name Dot separated path to the requested value.
* @param array $value Value to be joined.
* @param string $separator Separator, defaults to '.'
* @return array
* @throws \RuntimeException
*/
public function getJoined($name, $value, $separator = '.')
{
if (is_object($value)) {
$value = (array) $value;
/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/system
/src
/Grav
/Common
/Themes.php
if (!stream_wrapper_register($scheme, $type)) {
throw new \InvalidArgumentException("Stream '{$type}' could not be initialized.");
}
}
// Load languages after streams has been properly initialized
$this->loadLanguages($this->config);
}
/**
* Load theme configuration.
*
* @param string $name Theme name
* @param Config $config Configuration class
*/
protected function loadConfiguration($name, Config $config)
{
$themeConfig = CompiledYamlFile::instance("themes://{$name}/{$name}" . YAML_EXT)->content();
$config->joinDefaults("themes.{$name}", $themeConfig);
}
/**
* Load theme languages.
*
* @param Config $config Configuration class
*/
protected function loadLanguages(Config $config)
{
/** @var UniformResourceLocator $locator */
$locator = $this->grav['locator'];
if ($config->get('system.languages.translations', true)) {
$language_file = $locator->findResource("theme://languages" . YAML_EXT);
if ($language_file) {
$language = CompiledYamlFile::instance($language_file)->content();
$this->grav['languages']->mergeRecursive($language);
}
$languages_folder = $locator->findResource("theme://languages/");
if (file_exists($languages_folder)) {
Arguments
"themes.herrrohr"
array:4 [
"enabled" => true
"default_lang" => "de"
"dropdown" => array:1 [
"enabled" => false
]
"streams" => array:1 [
"schemes" => array:1 [
"theme" => array:2 [
"type" => "ReadOnlyStream"
"paths" => array:1 [
0 => "user/themes/herrrohr"
]
]
]
]
]
/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/system
/src
/Grav
/Common
/Themes.php
$this->config->set('theme', $config->get('themes.' . $name));
if (empty($class)) {
$class = new Theme($grav, $config, $name);
}
return $class;
}
/**
* Configure and prepare streams for current template.
*
* @throws \InvalidArgumentException
*/
public function configure()
{
$name = $this->current();
$config = $this->config;
$this->loadConfiguration($name, $config);
/** @var UniformResourceLocator $locator */
$locator = $this->grav['locator'];
$registered = stream_get_wrappers();
$schemes = $config->get("themes.{$name}.streams.schemes", []);
$schemes += [
'theme' => [
'type' => 'ReadOnlyStream',
'paths' => $locator->findResources("themes://{$name}", false)
]
];
foreach ($schemes as $scheme => $config) {
if (isset($config['paths'])) {
$locator->addPath($scheme, '', $config['paths']);
}
if (isset($config['prefixes'])) {
foreach ($config['prefixes'] as $prefix => $paths) {
Arguments
/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/system
/src
/Grav
/Common
/Themes.php
* Themes constructor.
*
* @param Grav $grav
*/
public function __construct(Grav $grav)
{
parent::__construct();
$this->grav = $grav;
$this->config = $grav['config'];
// Register instance as autoloader for theme inheritance
spl_autoload_register([$this, 'autoloadTheme']);
}
public function init()
{
/** @var Themes $themes */
$themes = $this->grav['themes'];
$themes->configure();
$this->initTheme();
}
public function initTheme()
{
if ($this->inited === false) {
/** @var Themes $themes */
$themes = $this->grav['themes'];
try {
$instance = $themes->load();
} catch (\InvalidArgumentException $e) {
throw new \RuntimeException($this->current() . ' theme could not be found');
}
if ($instance instanceof EventSubscriberInterface) {
/** @var EventDispatcher $events */
$events = $this->grav['events'];
/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/system
/src
/Grav
/Common
/Processors
/ThemesProcessor.php
<?php
/**
* @package Grav.Common.Processors
*
* @copyright Copyright (C) 2014 - 2017 RocketTheme, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
namespace Grav\Common\Processors;
class ThemesProcessor extends ProcessorBase implements ProcessorInterface
{
public $id = 'themes';
public $title = 'Themes';
public function process()
{
$this->container['themes']->init();
}
}
/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/system
/src
/Grav
/Common
/Grav.php
} elseif ($values) {
$instance = self::$instance;
foreach ($values as $key => $value) {
$instance->offsetSet($key, $value);
}
}
return self::$instance;
}
/**
* Process a request
*/
public function process()
{
// process all processors (e.g. config, initialize, assets, ..., render)
foreach ($this->processors as $processor) {
$processor = $this[$processor];
$this->measureTime($processor->id, $processor->title, function () use ($processor) {
$processor->process();
});
}
/** @var Debugger $debugger */
$debugger = $this['debugger'];
$debugger->render();
register_shutdown_function([$this, 'shutdown']);
}
/**
* Set the system locale based on the language and configuration
*/
public function setLocale()
{
// Initialize Locale if set and configured.
if ($this['language']->enabled() && $this['config']->get('system.languages.override_locale')) {
$language = $this['language']->getLanguage();
setlocale(LC_ALL, count($language < 3) ? ($language . '_' . strtoupper($language)) : $language);
} elseif ($this['config']->get('system.default_locale')) {
/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/system
/src
/Grav
/Common
/Grav.php
*
* @param array $values
*
* @return static
*/
protected static function load(array $values)
{
$container = new static($values);
$container['grav'] = $container;
$container['debugger'] = new Debugger();
$debugger = $container['debugger'];
// closure that measures time by wrapping a function into startTimer and stopTimer
// The debugger can be passed to the closure. Should be more performant
// then to get it from the container all time.
$container->measureTime = function ($timerId, $timerTitle, $callback) use ($debugger) {
$debugger->startTimer($timerId, $timerTitle);
$callback();
$debugger->stopTimer($timerId);
};
$container->measureTime('_services', 'Services', function () use ($container) {
$container->registerServices($container);
});
return $container;
}
/**
* Register all services
* Services are defined in the diMap. They can either only the class
* of a Service Provider or a pair of serviceKey => serviceClass that
* gets directly mapped into the container.
*
* @return void
*/
protected function registerServices()
{
/home
/httpd
/vhosts
/ogive.ch
/dominikrohr
/system
/src
/Grav
/Common
/Grav.php
ob_end_flush();
@ob_flush();
flush();
}
}
// Run any time consuming tasks.
$this->fireEvent('onShutdown');
}
/**
* Magic Catch All Function
* Used to call closures like measureTime on the instance.
* Source: http://stackoverflow.com/questions/419804/closures-as-class-members
*/
public function __call($method, $args)
{
$closure = $this->$method;
call_user_func_array($closure, $args);
}
/**
* Initialize and return a Grav instance
*
* @param array $values
*
* @return static
*/
protected static function load(array $values)
{
$container = new static($values);
$container['grav'] = $container;
$container['debugger'] = new Debugger();
$debugger = $container['debugger'];
// closure that measures time by wrapping a function into startTimer and stopTimer
// The debugger can be passed to the closure. Should be more performant
Fatal error: Uncaught ArgumentCountError: Too few arguments to function Symfony\Component\VarDumper\Cloner\AbstractCloner::handleError(), 4 passed in /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/symfony/var-dumper/Caster/ReflectionCaster.php on line 331 and exactly 5 expected in /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/symfony/var-dumper/Cloner/AbstractCloner.php:308
Stack trace:
#0 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/symfony/var-dumper/Caster/ReflectionCaster.php(331): Symfony\Component\VarDumper\Cloner\AbstractCloner->handleError(8192, 'Method Reflecti...', '/home/httpd/vho...', 331)
#1 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/symfony/var-dumper/Caster/ReflectionCaster.php(321): Symfony\Component\VarDumper\Caster\ReflectionCaster::addMap(Array, Object(ReflectionFunction), Array, '')
#2 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/symfony/var-dumper/Caster/ReflectionCaster.php(217): Symfony\Component\VarDumper\Caster\ReflectionCaster::addExtra(Array, Object(ReflectionFunction))
#3 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/symfony/var-dumper/Caster/ReflectionCaster.php(51): Symfony\Component\VarDumper\Caster\ReflectionCaster::castFunctionAbstract(Object(ReflectionFunction), Array, Object(Symfony\Component\VarDumper\Cloner\Stub), false)
#4 [internal function]: Symfony\Component\VarDumper\Caster\ReflectionCaster::castClosure(Object(ReflectionFunction), Array, Object(Symfony\Component\VarDumper\Cloner\Stub), false, 1)
#5 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/symfony/var-dumper/Cloner/AbstractCloner.php(291): call_user_func('Symfony\\Compone...', Object(Closure), Array, Object(Symfony\Component\VarDumper\Cloner\Stub), false, 1)
#6 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/symfony/var-dumper/Cloner/AbstractCloner.php(246): Symfony\Component\VarDumper\Cloner\AbstractCloner->callCaster('Symfony\\Compone...', Object(Closure), Array, Object(Symfony\Component\VarDumper\Cloner\Stub), false)
#7 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/symfony/var-dumper/Cloner/VarCloner.php(154): Symfony\Component\VarDumper\Cloner\AbstractCloner->castObject(Object(Symfony\Component\VarDumper\Cloner\Stub), false)
#8 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/symfony/var-dumper/Cloner/AbstractCloner.php(192): Symfony\Component\VarDumper\Cloner\VarCloner->doClone(Object(Closure))
#9 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/filp/whoops/src/Whoops/Util/TemplateHelper.php(168): Symfony\Component\VarDumper\Cloner\AbstractCloner->cloneVar(Object(Closure), 1)
#10 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/filp/whoops/src/Whoops/Util/TemplateHelper.php(207): Whoops\Util\TemplateHelper->dump(Object(Closure))
#11 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/filp/whoops/src/Whoops/Resources/views/frame_code.html.php(37): Whoops\Util\TemplateHelper->dumpArgs(Object(Whoops\Exception\Frame))
#12 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/filp/whoops/src/Whoops/Util/TemplateHelper.php(249): require('/home/httpd/vho...')
#13 [internal function]: Whoops\Util\TemplateHelper->Whoops\Util\{closure}('/home/httpd/vho...', Array)
#14 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/filp/whoops/src/Whoops/Util/TemplateHelper.php(247): call_user_func(Object(Closure), '/home/httpd/vho...', Array)
#15 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/filp/whoops/src/Whoops/Resources/views/panel_details.html.php(1): Whoops\Util\TemplateHelper->render('/home/httpd/vho...')
#16 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/filp/whoops/src/Whoops/Util/TemplateHelper.php(249): require('/home/httpd/vho...')
#17 [internal function]: Whoops\Util\TemplateHelper->Whoops\Util\{closure}('/home/httpd/vho...', Array)
#18 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/filp/whoops/src/Whoops/Util/TemplateHelper.php(247): call_user_func(Object(Closure), '/home/httpd/vho...', Array)
#19 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/filp/whoops/src/Whoops/Resources/views/panel_details_outer.html.php(2): Whoops\Util\TemplateHelper->render('/home/httpd/vho...')
#20 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/filp/whoops/src/Whoops/Util/TemplateHelper.php(249): require('/home/httpd/vho...')
#21 [internal function]: Whoops\Util\TemplateHelper->Whoops\Util\{closure}('/home/httpd/vho...', Array)
#22 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/filp/whoops/src/Whoops/Util/TemplateHelper.php(247): call_user_func(Object(Closure), '/home/httpd/vho...', Array)
#23 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/filp/whoops/src/Whoops/Resources/views/layout.html.php(21): Whoops\Util\TemplateHelper->render('/home/httpd/vho...')
#24 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/filp/whoops/src/Whoops/Util/TemplateHelper.php(249): require('/home/httpd/vho...')
#25 [internal function]: Whoops\Util\TemplateHelper->Whoops\Util\{closure}('/home/httpd/vho...', Array)
#26 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/filp/whoops/src/Whoops/Util/TemplateHelper.php(247): call_user_func(Object(Closure), '/home/httpd/vho...', Array)
#27 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/filp/whoops/src/Whoops/Handler/PrettyPageHandler.php(264): Whoops\Util\TemplateHelper->render('/home/httpd/vho...')
#28 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/filp/whoops/src/Whoops/Run.php(272): Whoops\Handler\PrettyPageHandler->handle(Object(Whoops\Exception\ErrorException))
#29 [internal function]: Whoops\Run->handleException(Object(Whoops\Exception\ErrorException))
#30 {main}
thrown in /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/symfony/var-dumper/Cloner/AbstractCloner.php on line 308
Fatal error: Uncaught ArgumentCountError: Too few arguments to function Symfony\Component\VarDumper\Cloner\AbstractCloner::handleError(), 4 passed and exactly 5 expected in /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/symfony/var-dumper/Cloner/AbstractCloner.php:308
Stack trace:
#0 [internal function]: Symfony\Component\VarDumper\Cloner\AbstractCloner->handleError(8192, 'DateTime::__con...', '/home/httpd/vho...', 318)
#1 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/monolog/monolog/src/Monolog/Logger.php(318): DateTime->__construct(NULL, Object(DateTimeZone))
#2 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/monolog/monolog/src/Monolog/Logger.php(416): Monolog\Logger->addRecord(500, 'Uncaught Argume...', Array)
#3 /home/httpd/vhosts/ogive.ch/dominikrohr/system/src/Grav/Common/Errors/Errors.php(69): Monolog\Logger->addCritical('Uncaught Argume...')
#4 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/filp/whoops/src/Whoops/Handler/CallbackHandler.php(50): Grav\Common\Errors\Errors->Grav\Common\Errors\{closure}(Object(Whoops\Exception\ErrorException), Object(Whoops\Exception\Inspector), Object(Whoops\Run))
#5 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/filp/whoops/src/Whoops/Run.php(272): Whoops\Handler\CallbackHandler->handle(Object(Whoops\Exception\ErrorException))
#6 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/filp/whoops/src/Whoops/Run.php(353): Whoops\Run->handleException(Object(Whoops\Exception\ErrorException))
#7 /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/filp/whoops/src/Whoops/Run.php(378): Whoops\Run->handleError(1, 'Uncaught Argume...', '/home/httpd/vho...', 308)
#8 /home/httpd/vhosts/ogive.ch/dominikrohr/system/src/Grav/Common/Errors/SystemFacade.php(36): Whoops\Run->handleShutdown()
#9 [internal function]: Grav\Common\Errors\SystemFacade->handleShutdown()
#10 {main}
thrown in /home/httpd/vhosts/ogive.ch/dominikrohr/vendor/symfony/var-dumper/Cloner/AbstractCloner.php on line 308