/home4/shaynep1/public_html/rogerparkinson/www/user/plugins/external_links/classes/ExternalLinks.php
$width = 0;
$height = 0;
// Determine image dimensions based on "src" atrribute
if ($imgNode->hasAttribute('src')) {
$src = $imgNode->getAttribute('src');
// Simple check if the URL is internal i.e. check if path exists
$path = $_SERVER['DOCUMENT_ROOT'] . $src;
if (realpath($path) && is_file($path)) {
$size = @getimagesize($path);
} else {
// The URL is external; try to load it (default: 32 KB)
$size = $this->getRemoteImageSize($src, $limit * 1024);
}
}
// Read out width and height from <img> attributes
$width = $imgNode->hasAttribute('width') ?
$imgNode->getAttribute('width') : $size[0];
$height = $imgNode->hasAttribute('height') ?
$imgNode->getAttribute('height') : $size[1];
// Get width and height from style attribute
if ( $imgNode->hasAttribute('style') ) {
$style = $imgNode->getAttribute('style');
// Width
if (preg_match('~width:\s*(\d+)([a-z]+)~i', $style, $matches)) {
$width = $matches[1];
// Convert unit to pixel
if ( isset($units[$matches[2]]) ) {
$width *= $units[$matches[2]];
}
}
// Height
if (preg_match('~height:\s*(\d+)([a-z]+)~i', $style, $matches)) {
$height = $matches[1];
// Convert unit to pixel
Arguments
"Trying to access array offset on value of type bool"
/home4/shaynep1/public_html/rogerparkinson/www/user/plugins/external_links/classes/ExternalLinks.php
$width = 0;
$height = 0;
// Determine image dimensions based on "src" atrribute
if ($imgNode->hasAttribute('src')) {
$src = $imgNode->getAttribute('src');
// Simple check if the URL is internal i.e. check if path exists
$path = $_SERVER['DOCUMENT_ROOT'] . $src;
if (realpath($path) && is_file($path)) {
$size = @getimagesize($path);
} else {
// The URL is external; try to load it (default: 32 KB)
$size = $this->getRemoteImageSize($src, $limit * 1024);
}
}
// Read out width and height from <img> attributes
$width = $imgNode->hasAttribute('width') ?
$imgNode->getAttribute('width') : $size[0];
$height = $imgNode->hasAttribute('height') ?
$imgNode->getAttribute('height') : $size[1];
// Get width and height from style attribute
if ( $imgNode->hasAttribute('style') ) {
$style = $imgNode->getAttribute('style');
// Width
if (preg_match('~width:\s*(\d+)([a-z]+)~i', $style, $matches)) {
$width = $matches[1];
// Convert unit to pixel
if ( isset($units[$matches[2]]) ) {
$width *= $units[$matches[2]];
}
}
// Height
if (preg_match('~height:\s*(\d+)([a-z]+)~i', $style, $matches)) {
$height = $matches[1];
// Convert unit to pixel
Arguments
2
"Trying to access array offset on value of type bool"
"/home4/shaynep1/public_html/rogerparkinson/www/user/plugins/external_links/classes/ExternalLinks.php"
294
/home4/shaynep1/public_html/rogerparkinson/www/user/plugins/external_links/classes/ExternalLinks.php
}
// Set rel="noopener noreferrer"
$rel = $a->hasAttribute('rel') ? $a->getAttribute('rel') : '';
$rel = array_filter(explode(' ', $rel));
$rel[] = 'noopener';
$rel[] = 'noreferrer';
$a->setAttribute('rel', implode(' ', array_unique($rel)));
// Add image class to <a> if it has at least one <img> child element
$imgs = $a->getElementsByTagName('img');
if ($imgs->length > 1) {
// Add "images" class to <a> element, if it has multiple child images
$classes[] = 'images';
} elseif ($imgs->length == 1) {
$imgNode = $imgs->item(0);
// Get image size
list($width, $height) = $this->getImageSize($imgNode);
// Determine maximum dimension of image size
$size = max($width, $height);
// Depending on size determine image type
$classes[] = ((0 < $size) && ($size <= 32)) ? 'icon' : 'image';
} else {
// Add "no-image" class to <a> element, if it has no child images
$classes[] = 'no-image';
}
// Add title (aka alert text)
if ($options->get('title')) {
$language = Grav::instance()['language'];
$message = $language->translate(['PLUGINS.EXTERNAL_LINKS.TITLE_MESSAGE']);
// Set default title to link else, set title as data attribute
$key = $a->hasAttribute('title') ? 'data-title' : 'title';
$a->setAttribute($key, $message);
}
Arguments
DOMElement {#643
+nodeName: "img"
+nodeValue: ""
+nodeType: XML_ELEMENT_NODE
+parentNode: DOMElement {#726 …}
+childNodes: DOMNodeList {#727
+length: 0
}
+firstChild: null
+lastChild: null
+previousSibling: null
+nextSibling: null
+attributes: DOMNamedNodeMap {#732
+length: 2
}
+ownerDocument: DOMDocument {#734 …}
+namespaceURI: null
+prefix: ""
+localName: "img"
+baseURI: null
+textContent: ""
+tagName: "img"
+schemaTypeInfo: null
}
[internal]
Arguments
array:1 [
0 => "<a href="https://www.google.co.nz/url?source=imglanding&ct=img&q=http%3A%2F%2Fwww.philsp.com%2Fdata%2Fimages%2Fa%2Fanalog_196209.jpg&sa=X&ei=MxqwUMTnAuTymAXE-IHwAQ&ved=0CAkQ8wc&usg=AFQjCNE6Q5Bp0ys2tWkM7lJ7bmpYvYpHdw"><img src="https://www.google.co.nz/url?source=imglanding&ct=img&q=http://www.philsp.com/data/images/a/analog_196209.jpg&sa=X&ei=MxqwUMTnAuTymAXE-IHwAQ&ved=0CAkQ8wc&usg=AFQjCNE6Q5Bp0ys2tWkM7lJ7bmpYvYpHdw" alt="" /></a>"
]
/home4/shaynep1/public_html/rogerparkinson/www/user/plugins/external_links/classes/ExternalLinks.php
*/
/** -------------
* Public methods
* --------------
*/
/**
* Process contents i.e. apply filer to the content.
*
* @param string $content The content to render.
* @param array $options Options to be passed to the renderer.
* @param null|Page $page Null or an instance of \Grav\Common\Page.
*
* @return string The rendered contents.
*/
public function render($content, $options = [], $page = null)
{
// Get all <a> tags and process them
$content = preg_replace_callback('~<a(?:\s[^>]*)?>.*?</a>~i',
function($match) use ($options, $page) {
// Load PHP built-in DOMDocument class
if (($dom = $this->loadDOMDocument($match[0])) === null) {
return $match[0];
}
// Check that there is really a link tag
$a = $dom->getElementsByTagName('a');
if ($a->length == 0) {
return $match[0];
}
$a = $a->item(0);
// Process links with non-empty href attribute
$href = $a->getAttribute('href');
if (strlen($href) == 0) {
return $match[0];
}
// Get the class of the <a> element
Arguments
"~<a(?:\s[^>]*)?>.*?</a>~i"
Closure($match) {#635 …4}
"""
<p><a href="https://www.google.co.nz/url?source=imglanding&ct=img&q=http%3A%2F%2Fwww.philsp.com%2Fdata%2Fimages%2Fa%2Fanalog_196209.jpg&sa=X&ei=MxqwUMTnAuTymAXE-IHwAQ&ved=0CAkQ8wc&usg=AFQjCNE6Q5Bp0ys2tWkM7lJ7bmpYvYpHdw"><img src="https://www.google.co.nz/url?source=imglanding&ct=img&q=http://www.philsp.com/data/images/a/analog_196209.jpg&sa=X&ei=MxqwUMTnAuTymAXE-IHwAQ&ved=0CAkQ8wc&usg=AFQjCNE6Q5Bp0ys2tWkM7lJ7bmpYvYpHdw" alt="" /></a></p>\n
<p>At the age of about 12 I was exposed to a dangerous idea. It would be a better story if this went all dark and blighted my life from then on but it didn’t and I turned out fairly normal. But the idea still lurks and surfaces fairly often. Since it didn’t blight my life I guess it won’t blight yours either so I will share it.</p>\n
<p>There is a series of books by James Blish called ‘<a href="https://en.wikipedia.org/wiki/Cities_in_Flight">Cities in Flight</a>‘ about whole cities converted to space ships and lifted off the earth along with their industrial factories etc. They move from planet to planet selling their services to the inhabitants, all originally from Earth as well. Blish took this story into the far future. At times it is a metaphor for the <a href="https://en.wikipedia.org/wiki/Okie">Okie</a> phenomenon in the 1930s and the cities are the itinerant tramps hawking their labour for meagre wages. They even call themselves Okies sometimes. In the final book he makes several sly references to <a href="https://en.wikipedia.org/wiki/Gulliver's_Travels">Gulliver’s Travels</a> and around then the dangerous idea emerges not as a key part of the story, just as an aside. The image shown here refers to the second book in the series.</p>\n
<p>I should add that these books contain fascinating ideas, especially for something written in the 1960s, but the characters are mostly cardboard things with no depth, so not great literature.</p>\n
<p>In the last book one of these characters expresses a belief in something called ‘stochasticism’ which is a term that crops up in the real world in discussions about quantum effects and the unpredictability of various other things. Blish’s character explained that his stochasticism view held that everything is random and the laws of the universe are an illusion. In a big enough universe that is truly random chances are there will be pockets of something that looks like order. We just happen to live in one of those pockets.</p>\n
<p>For now.</p>\n
<p>The orderliness of our particular part of the universe extends to as far as we can see, which is a long way but the universe is really, really big so that doesn’t help. It is ordered at this point in time, for this few million or billion years or so, and that might change at any moment and everything we know would fall apart.</p>\n
<p>Is this just nonsense? Don’t we know better?</p>\n
<p>Well, as far as I can tell, we don’t. Science has done very well for us and scientific method is probably the most useful thing we have invented, but even without being very scientific we make assumptions about the consistency of the universe all the time. People who thought the earth was flat still assumed the sun would rise in the morning. Consistency, see? And we observe this consistency over and over, so it must be right, mustn’t it?</p>\n
<p>Well, only if we can justify something called induction, which is what we are doing when we assume the observations we made in this lab on this date will apply in a different lab on another day. <a href="https://en.wikipedia.org/wiki/David_Hume">David Hume</a> seems to have been the first to point out that we have no logical basis for that assumption. No matter how many times we observe something, as <a href="https://en.wikipedia.org/wiki/Karl_Popper">Karl Popper</a> pointed out, there is always the possibility that the next observation will break our theory. And if the universe is really random we have even less basis for it regardless how often we have observed it before. It is an awful thought and if you tried to base your life on it you probably wouldn’t bother getting out of bed in the morning. This is the dangerous idea.</p>\n
<p>To make things a little more awkward the rules of science hold that theories must be kept as simple as possible. This is <a href="https://en.wikipedia.org/wiki/Occam's_razor">Ockham’s Razor</a>. Which is simpler: the completely random universe which has natural pockets of seeming order, or the one with universal laws? It seems to me that the former has less to explain itself.</p>\n
<p>Of course no one does actually believe this. We continue making our observations, noting patterns in the way the universe seems to work and telling ourselves these are universal laws that apply across all time and space. Naturally some places have more gravity or more radiation etc than others so we’re not saying all time and space is exactly like Earth is today, but we are saying that we can figure this out because there <em>is</em> something to figure out.</p>\n
<p>No, don’t tell me there must be universal laws because they’ve been observed empirically. If you still think that you haven’t been paying attention. Go back and read what I said three paragraphs ago. </p>\n
<p>If I have explained this well enough you should now be convinced that, while the dangerous idea is a valid enough and, by the rules of science and philosophy, can be argued as preferable, there is no way you are going along with it. You are damn well going to believe in those universal laws because the alternative is simply awful.</p>\n
<p>Fine. I completely agree. I’m not going to endorse it either. I’m going to live in a universe where there are universal laws even if I can’t prove there really are universal laws. Which reminds me of something:</p>\n
<p>“<em>I’m on Aslan’s side even if there isn’t any Aslan to lead it. I’m going to live as like a Narnian as I can even if there isn’t any Narnia.</em>” – C.S. Lewis, The Silver Chair”</p>
"""
/home4/shaynep1/public_html/rogerparkinson/www/user/plugins/external_links/external_links.php
$this->grav['assets']->add('plugin://external_links/assets/css/external_links.css');
}
}
/**
* Filter to parse external links.
*
* @param string $content The content to be filtered.
* @param array $options Array of options for the External links filter.
*
* @return string The filtered content.
*/
public function externalLinksFilter($content, $params = [])
{
// Get custom user configuration
$page = func_num_args() > 2 ? func_get_arg(2) : $this->grav['page'];
$config = $this->mergeConfig($page, true, $params);
// Render
return $this->init()->render($content, $config, $page);
}
/** -------------------------------
* Private/protected helper methods
* --------------------------------
*/
/**
* Checks if a page has already been compiled yet.
*
* @param Page $page The page to check
* @return boolean Returns true if page has already been
* compiled yet, false otherwise
*/
protected function compileOnce(PageInterface $page)
{
static $processed = [];
$id = md5($page->path());
// Make sure that contents is only processed once
Arguments
"""
<p><a href="https://www.google.co.nz/url?source=imglanding&ct=img&q=http%3A%2F%2Fwww.philsp.com%2Fdata%2Fimages%2Fa%2Fanalog_196209.jpg&sa=X&ei=MxqwUMTnAuTymAXE-IHwAQ&ved=0CAkQ8wc&usg=AFQjCNE6Q5Bp0ys2tWkM7lJ7bmpYvYpHdw"><img src="https://www.google.co.nz/url?source=imglanding&ct=img&q=http://www.philsp.com/data/images/a/analog_196209.jpg&sa=X&ei=MxqwUMTnAuTymAXE-IHwAQ&ved=0CAkQ8wc&usg=AFQjCNE6Q5Bp0ys2tWkM7lJ7bmpYvYpHdw" alt="" /></a></p>\n
<p>At the age of about 12 I was exposed to a dangerous idea. It would be a better story if this went all dark and blighted my life from then on but it didn’t and I turned out fairly normal. But the idea still lurks and surfaces fairly often. Since it didn’t blight my life I guess it won’t blight yours either so I will share it.</p>\n
<p>There is a series of books by James Blish called ‘<a href="https://en.wikipedia.org/wiki/Cities_in_Flight">Cities in Flight</a>‘ about whole cities converted to space ships and lifted off the earth along with their industrial factories etc. They move from planet to planet selling their services to the inhabitants, all originally from Earth as well. Blish took this story into the far future. At times it is a metaphor for the <a href="https://en.wikipedia.org/wiki/Okie">Okie</a> phenomenon in the 1930s and the cities are the itinerant tramps hawking their labour for meagre wages. They even call themselves Okies sometimes. In the final book he makes several sly references to <a href="https://en.wikipedia.org/wiki/Gulliver's_Travels">Gulliver’s Travels</a> and around then the dangerous idea emerges not as a key part of the story, just as an aside. The image shown here refers to the second book in the series.</p>\n
<p>I should add that these books contain fascinating ideas, especially for something written in the 1960s, but the characters are mostly cardboard things with no depth, so not great literature.</p>\n
<p>In the last book one of these characters expresses a belief in something called ‘stochasticism’ which is a term that crops up in the real world in discussions about quantum effects and the unpredictability of various other things. Blish’s character explained that his stochasticism view held that everything is random and the laws of the universe are an illusion. In a big enough universe that is truly random chances are there will be pockets of something that looks like order. We just happen to live in one of those pockets.</p>\n
<p>For now.</p>\n
<p>The orderliness of our particular part of the universe extends to as far as we can see, which is a long way but the universe is really, really big so that doesn’t help. It is ordered at this point in time, for this few million or billion years or so, and that might change at any moment and everything we know would fall apart.</p>\n
<p>Is this just nonsense? Don’t we know better?</p>\n
<p>Well, as far as I can tell, we don’t. Science has done very well for us and scientific method is probably the most useful thing we have invented, but even without being very scientific we make assumptions about the consistency of the universe all the time. People who thought the earth was flat still assumed the sun would rise in the morning. Consistency, see? And we observe this consistency over and over, so it must be right, mustn’t it?</p>\n
<p>Well, only if we can justify something called induction, which is what we are doing when we assume the observations we made in this lab on this date will apply in a different lab on another day. <a href="https://en.wikipedia.org/wiki/David_Hume">David Hume</a> seems to have been the first to point out that we have no logical basis for that assumption. No matter how many times we observe something, as <a href="https://en.wikipedia.org/wiki/Karl_Popper">Karl Popper</a> pointed out, there is always the possibility that the next observation will break our theory. And if the universe is really random we have even less basis for it regardless how often we have observed it before. It is an awful thought and if you tried to base your life on it you probably wouldn’t bother getting out of bed in the morning. This is the dangerous idea.</p>\n
<p>To make things a little more awkward the rules of science hold that theories must be kept as simple as possible. This is <a href="https://en.wikipedia.org/wiki/Occam's_razor">Ockham’s Razor</a>. Which is simpler: the completely random universe which has natural pockets of seeming order, or the one with universal laws? It seems to me that the former has less to explain itself.</p>\n
<p>Of course no one does actually believe this. We continue making our observations, noting patterns in the way the universe seems to work and telling ourselves these are universal laws that apply across all time and space. Naturally some places have more gravity or more radiation etc than others so we’re not saying all time and space is exactly like Earth is today, but we are saying that we can figure this out because there <em>is</em> something to figure out.</p>\n
<p>No, don’t tell me there must be universal laws because they’ve been observed empirically. If you still think that you haven’t been paying attention. Go back and read what I said three paragraphs ago. </p>\n
<p>If I have explained this well enough you should now be convinced that, while the dangerous idea is a valid enough and, by the rules of science and philosophy, can be argued as preferable, there is no way you are going along with it. You are damn well going to believe in those universal laws because the alternative is simply awful.</p>\n
<p>Fine. I completely agree. I’m not going to endorse it either. I’m going to live in a universe where there are universal laws even if I can’t prove there really are universal laws. Which reminds me of something:</p>\n
<p>“<em>I’m on Aslan’s side even if there isn’t any Aslan to lead it. I’m going to live as like a Narnian as I can even if there isn’t any Narnia.</em>” – C.S. Lewis, The Silver Chair”</p>
"""
Grav\Common\Data\Data {#647}
Grav\Common\Page\Page {#495}
/home4/shaynep1/public_html/rogerparkinson/www/user/plugins/external_links/external_links.php
/** @var Page $page */
$page = $event['page'];
$config = $this->mergeConfig($page);
$enabled = ($config->get('process') && $config->get('enabled')) ? true : false;
if ($enabled && $this->compileOnce($page)) {
// Do nothing, if a route for a given page does not exist and check if
// mode option is valid
$mode = strtolower($config->get('mode', 'passive'));
if (!$page->route() || !in_array($mode, array('active', 'passive'))) {
return;
}
// Get content and list of exclude tags
$content = $page->getRawContent();
// Apply external links filter and save modified page content
$page->setRawContent(
$this->externalLinksFilter($content, $config->toArray(), $page)
);
}
}
/**
* Initialize Twig configuration and filters.
*/
public function onTwigInitialized()
{
// Expose function
$this->grav['twig']->twig()->addFilter(
new \Twig_SimpleFilter('external_links', [$this, 'externalLinksFilter'], ['is_safe' => ['html']])
);
}
/**
* Set needed variables to display external links.
*/
public function onTwigSiteVariables()
{
Arguments
"""
<p><a href="https://www.google.co.nz/url?source=imglanding&ct=img&q=http%3A%2F%2Fwww.philsp.com%2Fdata%2Fimages%2Fa%2Fanalog_196209.jpg&sa=X&ei=MxqwUMTnAuTymAXE-IHwAQ&ved=0CAkQ8wc&usg=AFQjCNE6Q5Bp0ys2tWkM7lJ7bmpYvYpHdw"><img src="https://www.google.co.nz/url?source=imglanding&ct=img&q=http://www.philsp.com/data/images/a/analog_196209.jpg&sa=X&ei=MxqwUMTnAuTymAXE-IHwAQ&ved=0CAkQ8wc&usg=AFQjCNE6Q5Bp0ys2tWkM7lJ7bmpYvYpHdw" alt="" /></a></p>\n
<p>At the age of about 12 I was exposed to a dangerous idea. It would be a better story if this went all dark and blighted my life from then on but it didn’t and I turned out fairly normal. But the idea still lurks and surfaces fairly often. Since it didn’t blight my life I guess it won’t blight yours either so I will share it.</p>\n
<p>There is a series of books by James Blish called ‘<a href="https://en.wikipedia.org/wiki/Cities_in_Flight">Cities in Flight</a>‘ about whole cities converted to space ships and lifted off the earth along with their industrial factories etc. They move from planet to planet selling their services to the inhabitants, all originally from Earth as well. Blish took this story into the far future. At times it is a metaphor for the <a href="https://en.wikipedia.org/wiki/Okie">Okie</a> phenomenon in the 1930s and the cities are the itinerant tramps hawking their labour for meagre wages. They even call themselves Okies sometimes. In the final book he makes several sly references to <a href="https://en.wikipedia.org/wiki/Gulliver's_Travels">Gulliver’s Travels</a> and around then the dangerous idea emerges not as a key part of the story, just as an aside. The image shown here refers to the second book in the series.</p>\n
<p>I should add that these books contain fascinating ideas, especially for something written in the 1960s, but the characters are mostly cardboard things with no depth, so not great literature.</p>\n
<p>In the last book one of these characters expresses a belief in something called ‘stochasticism’ which is a term that crops up in the real world in discussions about quantum effects and the unpredictability of various other things. Blish’s character explained that his stochasticism view held that everything is random and the laws of the universe are an illusion. In a big enough universe that is truly random chances are there will be pockets of something that looks like order. We just happen to live in one of those pockets.</p>\n
<p>For now.</p>\n
<p>The orderliness of our particular part of the universe extends to as far as we can see, which is a long way but the universe is really, really big so that doesn’t help. It is ordered at this point in time, for this few million or billion years or so, and that might change at any moment and everything we know would fall apart.</p>\n
<p>Is this just nonsense? Don’t we know better?</p>\n
<p>Well, as far as I can tell, we don’t. Science has done very well for us and scientific method is probably the most useful thing we have invented, but even without being very scientific we make assumptions about the consistency of the universe all the time. People who thought the earth was flat still assumed the sun would rise in the morning. Consistency, see? And we observe this consistency over and over, so it must be right, mustn’t it?</p>\n
<p>Well, only if we can justify something called induction, which is what we are doing when we assume the observations we made in this lab on this date will apply in a different lab on another day. <a href="https://en.wikipedia.org/wiki/David_Hume">David Hume</a> seems to have been the first to point out that we have no logical basis for that assumption. No matter how many times we observe something, as <a href="https://en.wikipedia.org/wiki/Karl_Popper">Karl Popper</a> pointed out, there is always the possibility that the next observation will break our theory. And if the universe is really random we have even less basis for it regardless how often we have observed it before. It is an awful thought and if you tried to base your life on it you probably wouldn’t bother getting out of bed in the morning. This is the dangerous idea.</p>\n
<p>To make things a little more awkward the rules of science hold that theories must be kept as simple as possible. This is <a href="https://en.wikipedia.org/wiki/Occam's_razor">Ockham’s Razor</a>. Which is simpler: the completely random universe which has natural pockets of seeming order, or the one with universal laws? It seems to me that the former has less to explain itself.</p>\n
<p>Of course no one does actually believe this. We continue making our observations, noting patterns in the way the universe seems to work and telling ourselves these are universal laws that apply across all time and space. Naturally some places have more gravity or more radiation etc than others so we’re not saying all time and space is exactly like Earth is today, but we are saying that we can figure this out because there <em>is</em> something to figure out.</p>\n
<p>No, don’t tell me there must be universal laws because they’ve been observed empirically. If you still think that you haven’t been paying attention. Go back and read what I said three paragraphs ago. </p>\n
<p>If I have explained this well enough you should now be convinced that, while the dangerous idea is a valid enough and, by the rules of science and philosophy, can be argued as preferable, there is no way you are going along with it. You are damn well going to believe in those universal laws because the alternative is simply awful.</p>\n
<p>Fine. I completely agree. I’m not going to endorse it either. I’m going to live in a universe where there are universal laws even if I can’t prove there really are universal laws. Which reminds me of something:</p>\n
<p>“<em>I’m on Aslan’s side even if there isn’t any Aslan to lead it. I’m going to live as like a Narnian as I can even if there isn’t any Narnia.</em>” – C.S. Lewis, The Silver Chair”</p>
"""
array:10 [
"enabled" => true
"built_in_css" => true
"weight" => 0
"exclude" => array:2 [
"classes" => array:1 [
0 => "exclude"
]
"domains" => null
]
"links" => array:3 [
"www" => false
"redirects" => false
"schemes" => array:13 [
0 => "http"
1 => "https"
2 => "ftp"
3 => "irc"
4 => "mailto"
5 => "news"
6 => "nntp"
7 => "rtsp"
8 => "sftp"
9 => "ssh"
10 => "tel"
11 => "telnet"
12 => "webcal"
]
]
"process" => true
"title" => false
"no_follow" => true
"target" => "_blank"
"mode" => "active"
]
Grav\Common\Page\Page {#495}
/home4/shaynep1/public_html/rogerparkinson/www/vendor/symfony/event-dispatcher/EventDispatcher.php
foreach ($listeners as $listener) {
if ($stoppable && $event->isPropagationStopped()) {
break;
}
// @deprecated: the ternary operator is part of a BC layer and should be removed in 5.0
$listener($listener instanceof WrappedListener ? new LegacyEventProxy($event) : $event, $eventName, $this);
}
}
/**
* @deprecated since Symfony 4.3, use callListeners() instead
*/
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.
*/
private function sortListeners(string $eventName)
{
krsort($this->listeners[$eventName]);
$this->sorted[$eventName] = [];
foreach ($this->listeners[$eventName] as &$listeners) {
foreach ($listeners as $k => &$listener) {
if (\is_array($listener) && isset($listener[0]) && $listener[0] instanceof \Closure && 2 >= \count($listener)) {
$listener[0] = $listener[0]();
$listener[1] = $listener[1] ?? '__invoke';
}
$this->sorted[$eventName][] = $listener;
}
}
Arguments
RocketTheme\Toolbox\Event\Event {#638}
"onPageContentProcessed"
Symfony\Component\EventDispatcher\EventDispatcher {#133
-listeners: array:60 [
"onPluginsInitialized" => array:8 [
100002 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ProblemsPlugin {#113}
1 => "autoload"
]
]
100001 => array:6 [
0 => array:2 [
0 => Grav\Plugin\BreadcrumbsPlugin {#99}
1 => "autoload"
]
1 => array:2 [
0 => Grav\Plugin\MarkdownNoticesPlugin {#110}
1 => "autoload"
]
2 => array:2 [
0 => Grav\Plugin\PaginationPlugin {#112}
1 => "autoload"
]
3 => array:2 [
0 => Grav\Plugin\ProblemsPlugin {#113}
1 => "onPluginsInitialized"
]
4 => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin {#115}
1 => "autoload"
]
5 => array:2 [
0 => Grav\Plugin\ShortcodeUiPlugin {#116}
1 => "autoload"
]
]
100000 => array:4 [
0 => array:2 [
0 => Grav\Plugin\AdminPlugin {#94}
1 => "setup"
]
1 => array:2 [
0 => Grav\Plugin\FeedPlugin {#103}
1 => "autoload"
]
2 => array:2 [
0 => Grav\Plugin\GitSyncPlugin {#107}
1 => "autoload"
]
3 => array:2 [
0 => Grav\Plugin\TaxonomylistPlugin {#120}
1 => "autoload"
]
]
10000 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "initializeSession"
]
]
1001 => array:1 [
0 => array:2 [
0 => Grav\Plugin\AdminPlugin {#94}
1 => "onPluginsInitialized"
]
]
1000 => array:2 [
0 => array:2 [
0 => Grav\Plugin\GitSyncPlugin {#107}
1 => "onPluginsInitialized"
]
1 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "initializeLogin"
]
]
10 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin {#115}
1 => "onPluginsInitialized"
]
]
0 => array:13 [
0 => array:2 [
0 => Grav\Plugin\AboutMePlugin {#95}
1 => "onPluginsInitialized"
]
1 => array:2 [
0 => Grav\Plugin\BreadcrumbsPlugin {#99}
1 => "onPluginsInitialized"
]
2 => array:2 [
0 => Grav\Plugin\EmailPlugin {#100}
1 => "onPluginsInitialized"
]
3 => array:2 [
0 => Grav\Plugin\ExternalLinksPlugin {#102}
1 => "onPluginsInitialized"
]
4 => array:2 [
0 => Grav\Plugin\FeedPlugin {#103}
1 => "onPluginsInitialized"
]
5 => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin {#104}
1 => "onPluginsInitialized"
]
6 => array:2 [
0 => Grav\Plugin\FormPlugin {#105}
1 => "onPluginsInitialized"
]
7 => array:2 [
0 => Grav\Plugin\GanalyticsPlugin {#106}
1 => "onPluginsInitialized"
]
8 => array:2 [
0 => Grav\Plugin\PageInjectPlugin {#111}
1 => "onPluginsInitialized"
]
9 => array:2 [
0 => Grav\Plugin\PaginationPlugin {#112}
1 => "onPluginsInitialized"
]
10 => array:2 [
0 => Grav\Plugin\SocialSEOMetaTagsPlugin {#118}
1 => "onPluginsInitialized"
]
11 => array:2 [
0 => Grav\Plugin\SocialButtonsPlugin {#119}
1 => "onPluginsInitialized"
]
12 => array:2 [
0 => Grav\Plugin\TaxonomylistPlugin {#120}
1 => "onPluginsInitialized"
]
]
]
"onRequestHandlerInit" => array:1 [
100000 => array:1 [
0 => array:2 [
0 => Grav\Plugin\AdminPlugin {#94}
1 => "onRequestHandlerInit"
]
]
]
"onFormRegisterTypes" => array:1 [
0 => array:2 [
0 => array:2 [
0 => Grav\Plugin\AdminPlugin {#94}
1 => "onFormRegisterTypes"
]
1 => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin {#104}
1 => "onFormRegisterTypes"
]
]
]
"onPageInitialized" => array:3 [
10000 => array:1 [
0 => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin {#104}
1 => "authorizePage"
]
]
10 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "authorizeLoginPage"
]
]
0 => array:6 [
0 => array:2 [
0 => Grav\Plugin\AdminPlugin {#94}
1 => "onPageInitialized"
]
1 => array:2 [
0 => Grav\Plugin\GitSyncPlugin {#107}
1 => "onPageInitialized"
]
2 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "authorizePage"
]
3 => array:2 [
0 => Grav\Plugin\FormPlugin {#105}
1 => "onPageInitialized"
]
4 => array:2 [
0 => Grav\Plugin\PaginationPlugin {#112}
1 => "onPageInitialized"
]
5 => array:2 [
0 => Grav\Plugin\SocialSEOMetaTagsPlugin {#118}
1 => "onPageInitialized"
]
]
]
"onShutdown" => array:1 [
1000 => array:1 [
0 => array:2 [
0 => Grav\Plugin\AdminPlugin {#94}
1 => "onShutdown"
]
]
]
"Grav\Events\PermissionsRegisterEvent" => array:2 [
1000 => array:1 [
0 => array:2 [
0 => Grav\Plugin\AdminPlugin {#94}
1 => "onRegisterPermissions"
]
]
100 => array:1 [
0 => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin {#104}
1 => "onRegisterPermissions"
]
]
]
"onAdminCreatePageFrontmatter" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\AutoDatePlugin {#98}
1 => "onAdminCreatePageFrontmatter"
]
]
]
"onFormProcessed" => array:1 [
0 => array:3 [
0 => array:2 [
0 => Grav\Plugin\EmailPlugin {#100}
1 => "onFormProcessed"
]
1 => array:2 [
0 => Grav\Plugin\GitSyncPlugin {#107}
1 => "onFormProcessed"
]
2 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "onFormProcessed"
]
]
]
"onTwigTemplatePaths" => array:2 [
0 => array:11 [
0 => array:2 [
0 => Grav\Plugin\EmailPlugin {#100}
1 => "onTwigTemplatePaths"
]
1 => array:2 [
0 => Grav\Plugin\FormPlugin {#105}
1 => "onTwigTemplatePaths"
]
2 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "onTwigTemplatePaths"
]
3 => array:2 [
0 => Grav\Plugin\ShortcodeUiPlugin {#116}
1 => "onTwigTemplatePaths"
]
4 => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin {#115}
1 => "onTwigTemplatePaths"
]
5 => array:2 [
0 => Grav\Plugin\AboutMePlugin {#95}
1 => "onTwigTemplatePaths"
]
6 => array:2 [
0 => Grav\Plugin\BreadcrumbsPlugin {#99}
1 => "onTwigTemplatePaths"
]
7 => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin {#104}
1 => "onTwigTemplatePaths"
]
8 => array:2 [
0 => Grav\Plugin\PaginationPlugin {#112}
1 => "onTwigTemplatePaths"
]
9 => array:2 [
0 => Grav\Plugin\SocialButtonsPlugin {#119}
1 => "onTwigTemplatePaths"
]
10 => array:2 [
0 => Grav\Plugin\TaxonomylistPlugin {#120}
1 => "onTwigTemplatePaths"
]
]
-10 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ErrorPlugin {#101}
1 => "onTwigTemplatePaths"
]
]
]
"onSchedulerInitialized" => array:1 [
0 => array:4 [
0 => array:2 [
0 => Grav\Plugin\EmailPlugin {#100}
1 => "onSchedulerInitialized"
]
1 => array:2 [
0 => Grav\Plugin\GitSyncPlugin {#107}
1 => "onSchedulerInitialized"
]
2 => array:2 [
0 => Grav\Common\Cache {#196}
1 => "onSchedulerInitialized"
]
3 => array:2 [
0 => Grav\Common\Backup\Backups {#304}
1 => "onSchedulerInitialized"
]
]
]
"onAdminSave" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\EmailPlugin {#100}
1 => "onAdminSave"
]
]
]
"onCliInitialize" => array:2 [
100000 => array:2 [
0 => array:2 [
0 => Grav\Plugin\ErrorPlugin {#101}
1 => "autoload"
]
1 => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin {#104}
1 => "autoload"
]
]
10 => array:1 [
0 => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin {#104}
1 => "initializeFlex"
]
]
]
"onPageNotFound" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ErrorPlugin {#101}
1 => "onPageNotFound"
]
]
]
"onGetPageTemplates" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ErrorPlugin {#101}
1 => "onGetPageTemplates"
]
]
]
"onDisplayErrorPage.404" => array:1 [
-1 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ErrorPlugin {#101}
1 => "onDisplayErrorPage404"
]
]
]
"onBlueprintCreated" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\FeedPlugin {#103}
1 => "onBlueprintCreated"
]
]
]
"onPageHeaders" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\FeedPlugin {#103}
1 => "onPageHeaders"
]
]
]
"Grav\Events\PluginsLoadedEvent" => array:1 [
10 => array:2 [
0 => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin {#104}
1 => "initializeFlex"
]
1 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "onPluginsLoaded"
]
]
]
"Grav\Events\FlexRegisterEvent" => array:1 [
100 => array:1 [
0 => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin {#104}
1 => "onRegisterFlex"
]
]
]
"onTwigExtensions" => array:1 [
0 => array:3 [
0 => array:2 [
0 => Grav\Plugin\FormPlugin {#105}
1 => "onTwigExtensions"
]
1 => array:2 [
0 => Grav\Plugin\ShortcodeUiPlugin {#116}
1 => "onTwigExtensions"
]
2 => array:2 [
0 => Grav\Plugin\PaginationPlugin {#112}
1 => "onTwigExtensions"
]
]
]
"onAssetsInitialized" => array:1 [
0 => array:2 [
0 => array:2 [
0 => Grav\Plugin\GanalyticsPlugin {#106}
1 => "onAssetsInitialized"
]
1 => array:2 [
0 => Grav\Plugin\AboutMePlugin {#95}
1 => "onAssetsInitialized"
]
]
]
"Grav\Events\SessionStartEvent" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "onSessionStart"
]
]
]
"Grav\Events\BeforeSessionStartEvent" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "onBeforeSessionStart"
]
]
]
"Grav\Plugin\Login\Events\PageAuthorizeEvent" => array:1 [
-10000 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "onPageAuthorizeEvent"
]
]
]
"onTask.login.login" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "loginController"
]
]
]
"onTask.login.twofa" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "loginController"
]
]
]
"onTask.login.twofa_cancel" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "loginController"
]
]
]
"onTask.login.forgot" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "loginController"
]
]
]
"onTask.login.logout" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "loginController"
]
]
]
"onTask.login.reset" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "loginController"
]
]
]
"onTask.login.regenerate2FASecret" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "loginController"
]
]
]
"onPageTask.login.invite" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "loginController"
]
]
]
"onPagesInitialized" => array:2 [
0 => array:4 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "storeReferrerPage"
]
1 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "pageVisibility"
]
2 => array:2 [
0 => Grav\Plugin\FormPlugin {#105}
1 => "onPagesInitialized"
]
3 => array:2 [
0 => Grav\Plugin\PageInjectPlugin {#111}
1 => "onPagesInitialized"
]
]
-10000 => array:1 [
0 => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin {#104}
1 => "onPagesInitialized"
]
]
]
"onDisplayErrorPage.401" => array:1 [
-1 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "onDisplayErrorPage401"
]
]
]
"onDisplayErrorPage.403" => array:1 [
-1 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "onDisplayErrorPage403"
]
]
]
"onPageFallBackUrl" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "authorizeFallBackUrl"
]
]
]
"onTwigSiteVariables" => array:2 [
-100000 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "onTwigSiteVariables"
]
]
0 => array:7 [
0 => array:2 [
0 => Grav\Plugin\MarkdownNoticesPlugin {#110}
1 => "onTwigSiteVariables"
]
1 => array:2 [
0 => Grav\Plugin\AboutMePlugin {#95}
1 => "onTwigSiteVariables"
]
2 => array:2 [
0 => Grav\Plugin\BreadcrumbsPlugin {#99}
1 => "onTwigSiteVariables"
]
3 => array:2 [
0 => Grav\Plugin\ExternalLinksPlugin {#102}
1 => "onTwigSiteVariables"
]
4 => array:2 [
0 => Grav\Plugin\FormPlugin {#105}
1 => "onTwigVariables"
]
5 => array:2 [
0 => Grav\Plugin\SocialButtonsPlugin {#119}
1 => "onTwigSiteVariables"
]
6 => array:2 [
0 => Grav\Plugin\TaxonomylistPlugin {#120}
1 => "onTwigSiteVariables"
]
]
]
"onUserLoginAuthenticate" => array:5 [
10003 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "userLoginAuthenticateRateLimit"
]
]
10002 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "userLoginAuthenticateByRegistration"
]
]
10001 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "userLoginAuthenticateByRememberMe"
]
]
10000 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "userLoginAuthenticateByEmail"
]
]
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "userLoginAuthenticate"
]
]
]
"onUserLoginAuthorize" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "userLoginAuthorize"
]
]
]
"onUserLoginFailure" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "userLoginGuest"
]
]
]
"onUserLoginGuest" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "userLoginGuest"
]
]
]
"onUserLogin" => array:2 [
1000 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "userLoginResetRateLimit"
]
]
10 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "userLogin"
]
]
]
"onUserLogout" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "userLogout"
]
]
]
"onMarkdownInitialized" => array:1 [
0 => array:3 [
0 => array:2 [
0 => Grav\Plugin\MarkdownFontAwesomePlugin {#109}
1 => "onMarkdownInitialized"
]
1 => array:2 [
0 => Grav\Plugin\MarkdownNoticesPlugin {#110}
1 => "onMarkdownInitialized"
]
2 => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin {#115}
1 => "onMarkdownInitialized"
]
]
]
"registerNextGenEditorPlugin" => array:1 [
0 => array:4 [
0 => array:2 [
0 => Grav\Plugin\PageInjectPlugin {#111}
1 => "registerNextGenEditorPlugin"
]
1 => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin {#115}
1 => "registerNextGenEditorPlugin"
]
2 => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin {#115}
1 => "registerNextGenEditorPluginShortcodes"
]
3 => array:2 [
0 => Grav\Plugin\ShortcodeUiPlugin {#116}
1 => "registerNextGenEditorPluginShortcodes"
]
]
]
"onAdminGenerateReports" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ProblemsPlugin {#113}
1 => "onAdminGenerateReports"
]
]
]
"onAdminCompilePresetSCSS" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ProblemsPlugin {#113}
1 => "onAdminCompilePresetSCSS"
]
]
]
"onShortcodeHandlers" => array:1 [
0 => array:3 [
0 => array:2 [
0 => Grav\Plugin\ShortcodeUiPlugin {#116}
1 => "onShortcodeHandlers"
]
1 => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin {#115}
1 => "onShortcodeHandlers"
]
2 => array:2 [
0 => Grav\Plugin\PageInjectPlugin {#111}
1 => "onShortcodeHandlers"
]
]
]
"onFatalException" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ProblemsPlugin {#113}
1 => "onFatalException"
]
]
]
"gitsync" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\GitSyncPlugin {#107}
1 => "synchronize"
]
]
]
"onThemeInitialized" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin {#115}
1 => "onThemeInitialized"
]
]
]
"onPageContentRaw" => array:1 [
0 => array:2 [
0 => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin {#115}
1 => "onPageContentRaw"
]
1 => array:2 [
0 => Grav\Plugin\PageInjectPlugin {#111}
1 => "onPageContentRaw"
]
]
]
"onPageContentProcessed" => array:2 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ExternalLinksPlugin {#102}
1 => "onPageContentProcessed"
]
]
-10 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin {#115}
1 => "onPageContentProcessed"
]
]
]
"onPageContent" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin {#115}
1 => "onPageContent"
]
]
]
"onTwigInitialized" => array:1 [
0 => array:3 [
0 => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin {#115}
1 => "onTwigInitialized"
]
1 => array:2 [
0 => Grav\Plugin\ExternalLinksPlugin {#102}
1 => "onTwigInitialized"
]
2 => array:2 [
0 => Grav\Plugin\FormPlugin {#105}
1 => "onTwigInitialized"
]
]
]
"onTwigPageVariables" => array:1 [
0 => array:2 [
0 => array:2 [
0 => Grav\Plugin\AboutMePlugin {#95}
1 => "onTwigPageVariables"
]
1 => array:2 [
0 => Grav\Plugin\FormPlugin {#105}
1 => "onTwigVariables"
]
]
]
"onBeforeFlexFormInitialize" => array:1 [
-10 => array:1 [
0 => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin {#104}
1 => "onBeforeFlexFormInitialize"
]
]
]
"onPageTask" => array:1 [
-10 => array:1 [
0 => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin {#104}
1 => "onPageTask"
]
]
]
"onPageProcessed" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\FormPlugin {#105}
1 => "onPageProcessed"
]
]
]
"onFormValidationProcessed" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\FormPlugin {#105}
1 => "onFormValidationProcessed"
]
]
]
]
-sorted: []
-optimized: array:22 [
"Grav\Events\PluginsLoadedEvent" => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin::initializeFlex(): void {#147 …4}
1 => Grav\Plugin\LoginPlugin::onPluginsLoaded(): void {#154 …4}
]
"Grav\Events\SessionStartEvent" => array:1 [
0 => Grav\Plugin\LoginPlugin::onSessionStart(SessionStartEvent $event): void {#162 …4}
]
"onPluginsInitialized" => array:29 [
0 => Grav\Plugin\ProblemsPlugin::autoload(): ClassLoader {#166 …4}
1 => Grav\Plugin\BreadcrumbsPlugin::autoload() {#167 …3}
2 => Grav\Plugin\MarkdownNoticesPlugin::autoload() {#168 …3}
3 => Grav\Plugin\PaginationPlugin::autoload() {#169 …3}
4 => Grav\Plugin\ProblemsPlugin::onPluginsInitialized(): void {#170 …4}
5 => Grav\Plugin\ShortcodeCorePlugin::autoload() {#171 …3}
6 => Grav\Plugin\ShortcodeUiPlugin::autoload() {#172 …3}
7 => Grav\Plugin\AdminPlugin::setup() {#173 …3}
8 => Grav\Plugin\FeedPlugin::autoload() {#174 …3}
9 => Grav\Plugin\GitSyncPlugin::autoload(): ClassLoader {#175 …4}
10 => Grav\Plugin\TaxonomylistPlugin::autoload(): ClassLoader {#176 …4}
11 => Grav\Plugin\LoginPlugin::initializeSession(): void {#177 …4}
12 => Grav\Plugin\AdminPlugin::onPluginsInitialized() {#178 …3}
13 => Grav\Plugin\GitSyncPlugin::onPluginsInitialized() {#179 …3}
14 => Grav\Plugin\LoginPlugin::initializeLogin(): void {#180 …4}
15 => Grav\Plugin\ShortcodeCorePlugin::onPluginsInitialized() {#181 …3}
16 => Grav\Plugin\AboutMePlugin::onPluginsInitialized() {#182 …3}
17 => Grav\Plugin\BreadcrumbsPlugin::onPluginsInitialized() {#183 …3}
18 => Grav\Plugin\EmailPlugin::onPluginsInitialized() {#184 …3}
19 => Grav\Plugin\ExternalLinksPlugin::onPluginsInitialized() {#185 …3}
20 => Grav\Plugin\FeedPlugin::onPluginsInitialized() {#186 …3}
21 => Grav\Plugin\FlexObjectsPlugin::onPluginsInitialized(): void {#187 …4}
22 => Grav\Plugin\FormPlugin::onPluginsInitialized(): void {#188 …4}
23 => Grav\Plugin\GanalyticsPlugin::onPluginsInitialized() {#189 …3}
24 => Grav\Plugin\PageInjectPlugin::onPluginsInitialized() {#190 …3}
25 => Grav\Plugin\PaginationPlugin::onPluginsInitialized() {#191 …3}
26 => Grav\Plugin\SocialSEOMetaTagsPlugin::onPluginsInitialized() {#192 …3}
27 => Grav\Plugin\SocialButtonsPlugin::onPluginsInitialized() {#193 …3}
28 => Grav\Plugin\TaxonomylistPlugin::onPluginsInitialized() {#194 …3}
]
"onThemeInitialized" => array:1 [
0 => Grav\Plugin\ShortcodeCorePlugin::onThemeInitialized() {#225 …3}
]
"onShortcodeHandlers" => array:3 [
0 => Grav\Plugin\ShortcodeUiPlugin::onShortcodeHandlers() {#227 …3}
1 => Grav\Plugin\ShortcodeCorePlugin::onShortcodeHandlers() {#228 …3}
2 => Grav\Plugin\PageInjectPlugin::onShortcodeHandlers() {#229 …3}
]
"onRequestHandlerInit" => array:1 [
0 => Grav\Plugin\AdminPlugin::onRequestHandlerInit(RequestHandlerEvent $event) {#294 …3}
]
"onSchedulerInitialized" => array:4 [
0 => Grav\Plugin\EmailPlugin::onSchedulerInitialized(Event $e) {#309 …3}
1 => Grav\Plugin\GitSyncPlugin::onSchedulerInitialized(Event $event) {#310 …3}
2 => Grav\Common\Cache::onSchedulerInitialized(Event $event) {#311 …3}
3 => Grav\Common\Backup\Backups::onSchedulerInitialized(Event $event) {#312 …3}
]
"onAssetsInitialized" => array:2 [
0 => Grav\Plugin\GanalyticsPlugin::onAssetsInitialized() {#343 …3}
1 => Grav\Plugin\AboutMePlugin::onAssetsInitialized() {#344 …3}
]
"onTwigTemplatePaths" => array:12 [
0 => Grav\Plugin\EmailPlugin::onTwigTemplatePaths() {#350 …3}
1 => Grav\Plugin\FormPlugin::onTwigTemplatePaths(): void {#351 …4}
2 => Grav\Plugin\LoginPlugin::onTwigTemplatePaths(): void {#352 …4}
3 => Grav\Plugin\ShortcodeUiPlugin::onTwigTemplatePaths() {#353 …3}
4 => Grav\Plugin\ShortcodeCorePlugin::onTwigTemplatePaths() {#354 …3}
5 => Grav\Plugin\AboutMePlugin::onTwigTemplatePaths() {#355 …3}
6 => Grav\Plugin\BreadcrumbsPlugin::onTwigTemplatePaths() {#356 …3}
7 => Grav\Plugin\FlexObjectsPlugin::onTwigTemplatePaths(): void {#357 …4}
8 => Grav\Plugin\PaginationPlugin::onTwigTemplatePaths() {#358 …3}
9 => Grav\Plugin\SocialButtonsPlugin::onTwigTemplatePaths() {#359 …3}
10 => Grav\Plugin\TaxonomylistPlugin::onTwigTemplatePaths() {#360 …3}
11 => Grav\Plugin\ErrorPlugin::onTwigTemplatePaths(): void {#361 …4}
]
"onTwigInitialized" => array:3 [
0 => Grav\Plugin\ShortcodeCorePlugin::onTwigInitialized() {#373 …3}
1 => Grav\Plugin\ExternalLinksPlugin::onTwigInitialized() {#374 …3}
2 => Grav\Plugin\FormPlugin::onTwigInitialized(): void {#375 …4}
]
"onTwigExtensions" => array:3 [
0 => Grav\Plugin\FormPlugin::onTwigExtensions(): void {#386 …4}
1 => Grav\Plugin\ShortcodeUiPlugin::onTwigExtensions() {#387 …3}
2 => Grav\Plugin\PaginationPlugin::onTwigExtensions() {#388 …3}
]
"onPagesInitialized" => array:5 [
0 => Grav\Plugin\LoginPlugin::storeReferrerPage(): void {#589 …4}
1 => Grav\Plugin\LoginPlugin::pageVisibility(Event $event): void {#590 …4}
2 => Grav\Plugin\FormPlugin::onPagesInitialized(): void {#591 …4}
3 => Grav\Plugin\PageInjectPlugin::onPagesInitialized() {#592 …3}
4 => Grav\Plugin\FlexObjectsPlugin::onPagesInitialized(Event $event): void {#593 …4}
]
"Grav\Events\FlexRegisterEvent" => array:1 [
0 => Grav\Plugin\FlexObjectsPlugin::onRegisterFlex(FlexRegisterEvent $event): void {#596 …4}
]
"onPageInitialized" => array:8 [
0 => Grav\Plugin\FlexObjectsPlugin::authorizePage(Event $event): void {#595 …4}
1 => Grav\Plugin\LoginPlugin::authorizeLoginPage(Event $event): void {#600 …4}
2 => Grav\Plugin\AdminPlugin::onPageInitialized() {#601 …3}
3 => Grav\Plugin\GitSyncPlugin::onPageInitialized() {#602 …3}
4 => Grav\Plugin\LoginPlugin::authorizePage(): void {#603 …4}
5 => Grav\Plugin\FormPlugin::onPageInitialized(): void {#604 …4}
6 => Grav\Plugin\PaginationPlugin::onPageInitialized() {#605 …3}
7 => Grav\Plugin\SocialSEOMetaTagsPlugin::onPageInitialized(Event $e) {#606 …3}
]
"onUserLoginAuthenticate" => array:5 [
0 => Grav\Plugin\LoginPlugin::userLoginAuthenticateRateLimit(UserLoginEvent $event): void {#612 …4}
1 => Grav\Plugin\LoginPlugin::userLoginAuthenticateByRegistration(UserLoginEvent $event): void {#613 …4}
2 => Grav\Plugin\LoginPlugin::userLoginAuthenticateByRememberMe(UserLoginEvent $event): void {#614 …4}
3 => Grav\Plugin\LoginPlugin::userLoginAuthenticateByEmail(UserLoginEvent $event): void {#615 …4}
4 => Grav\Plugin\LoginPlugin::userLoginAuthenticate(UserLoginEvent $event): void {#616 …4}
]
"onUserLoginGuest" => array:1 [
0 => Grav\Plugin\LoginPlugin::userLoginGuest(UserLoginEvent $event): void {#607 …4}
]
"Grav\Plugin\Login\Events\PageAuthorizeEvent" => array:1 [
0 => Grav\Plugin\LoginPlugin::onPageAuthorizeEvent(PageAuthorizeEvent $event): void {#610 …4}
]
"onFormRegisterTypes" => array:2 [
0 => Grav\Plugin\AdminPlugin::onFormRegisterTypes(Event $event): void {#624 …4}
1 => Grav\Plugin\FlexObjectsPlugin::onFormRegisterTypes(Event $event): void {#625 …4}
]
"onPageContentRaw" => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin::onPageContentRaw(Event $e) {#632 …3}
1 => Grav\Plugin\PageInjectPlugin::onPageContentRaw(Event $event) {#633 …3}
]
"onMarkdownInitialized" => array:3 [
0 => Grav\Plugin\MarkdownFontAwesomePlugin::onMarkdownInitialized(Event $event) {#637 …3}
1 => Grav\Plugin\MarkdownNoticesPlugin::onMarkdownInitialized(Event $event) {#636 …3}
2 => Grav\Plugin\ShortcodeCorePlugin::onMarkdownInitialized(Event $event) {#639 …3}
]
"onPageContentProcessed" => array:2 [
0 => Grav\Plugin\ExternalLinksPlugin::onPageContentProcessed(Event $event) {#634 …3}
1 => Grav\Plugin\ShortcodeCorePlugin::onPageContentProcessed(Event $e) {#645 …3}
]
"onFatalException" => array:1 [
0 => Grav\Plugin\ProblemsPlugin::onFatalException(): void {#293 …4}
]
]
}
/home4/shaynep1/public_html/rogerparkinson/www/vendor/symfony/event-dispatcher/EventDispatcher.php
} else {
$this->removeListener($eventName, [$subscriber, \is_string($params) ? $params : $params[0]]);
}
}
}
/**
* 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 object $event The event object to pass to the event handlers/listeners
*/
protected function callListeners(iterable $listeners, string $eventName, $event)
{
if ($event instanceof Event) {
$this->doDispatch($listeners, $eventName, $event);
return;
}
$stoppable = $event instanceof ContractsEvent || $event instanceof StoppableEventInterface;
foreach ($listeners as $listener) {
if ($stoppable && $event->isPropagationStopped()) {
break;
}
// @deprecated: the ternary operator is part of a BC layer and should be removed in 5.0
$listener($listener instanceof WrappedListener ? new LegacyEventProxy($event) : $event, $eventName, $this);
}
}
/**
* @deprecated since Symfony 4.3, use callListeners() instead
*/
protected function doDispatch($listeners, $eventName, Event $event)
{
Arguments
array:2 [
0 => Grav\Plugin\ExternalLinksPlugin::onPageContentProcessed(Event $event) {#634 …3}
1 => Grav\Plugin\ShortcodeCorePlugin::onPageContentProcessed(Event $e) {#645 …3}
]
"onPageContentProcessed"
RocketTheme\Toolbox\Event\Event {#638}
/home4/shaynep1/public_html/rogerparkinson/www/vendor/symfony/event-dispatcher/EventDispatcher.php
if (\is_object($event)) {
$eventName = $eventName ?? \get_class($event);
} elseif (\is_string($event) && (null === $eventName || $eventName instanceof ContractsEvent || $eventName instanceof Event)) {
@trigger_error(sprintf('Calling the "%s::dispatch()" method with the event name as the first argument is deprecated since Symfony 4.3, pass it as the second argument and provide the event object as the first argument instead.', EventDispatcherInterface::class), \E_USER_DEPRECATED);
$swap = $event;
$event = $eventName ?? new Event();
$eventName = $swap;
} else {
throw new \TypeError(sprintf('Argument 1 passed to "%s::dispatch()" must be an object, "%s" given.', EventDispatcherInterface::class, \is_object($event) ? \get_class($event) : \gettype($event)));
}
if (null !== $this->optimized && null !== $eventName) {
$listeners = $this->optimized[$eventName] ?? (empty($this->listeners[$eventName]) ? [] : $this->optimizeListeners($eventName));
} else {
$listeners = $this->getListeners($eventName);
}
if ($listeners) {
$this->callListeners($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:2 [
0 => Grav\Plugin\ExternalLinksPlugin::onPageContentProcessed(Event $event) {#634 …3}
1 => Grav\Plugin\ShortcodeCorePlugin::onPageContentProcessed(Event $e) {#645 …3}
]
"onPageContentProcessed"
RocketTheme\Toolbox\Event\Event {#638}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Common/Grav.php
return $event;
}
/**
* Fires an event with optional parameters.
*
* @param string $eventName
* @param Event|null $event
* @return Event
*/
public function fireEvent($eventName, Event $event = null)
{
/** @var EventDispatcherInterface $events */
$events = $this['events'];
if (null === $event) {
$event = new Event();
}
$timestamp = microtime(true);
$events->dispatch($event, $eventName);
/** @var Debugger $debugger */
$debugger = $this['debugger'];
$debugger->addEvent($eventName, $event, $events, $timestamp);
return $event;
}
/**
* Set the final content length for the page and flush the buffer
*
* @return void
*/
public function shutdown(): void
{
// Prevent user abort allowing onShutdown event to run without interruptions.
if (function_exists('ignore_user_abort')) {
@ignore_user_abort(true);
}
Arguments
RocketTheme\Toolbox\Event\Event {#638}
"onPageContentProcessed"
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Common/Page/Page.php
}
if ($process_twig) {
$this->processTwig();
}
} else {
if ($this->content === false || $cache_enable === false) {
$this->content = $this->raw_content;
Grav::instance()->fireEvent('onPageContentRaw', new Event(['page' => $this]));
if ($twig_first) {
if ($process_twig) {
$this->processTwig();
}
if ($process_markdown) {
$this->processMarkdown();
}
// Content Processed but not cached yet
Grav::instance()->fireEvent('onPageContentProcessed', new Event(['page' => $this]));
} else {
if ($process_markdown) {
$this->processMarkdown($process_twig);
}
// 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
Arguments
"onPageContentProcessed"
RocketTheme\Toolbox\Event\Event {#638}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Common/Page/Page.php
*
* @param int|null $size Max summary size.
* @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 = $textOnly ? strip_tags($this->summary) : $this->summary;
$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)) {
// Slice the string
if (mb_strwidth($content, 'utf8') > $summary_size) {
return mb_substr($content, 0, $summary_size);
}
return $content;
}
/home4/shaynep1/public_html/rogerparkinson/www/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
$meta = $this->getSEOMetatags($meta);
$meta = $this->getTwitterCardMetatags($meta);
/home4/shaynep1/public_html/rogerparkinson/www/vendor/symfony/event-dispatcher/EventDispatcher.php
foreach ($listeners as $listener) {
if ($stoppable && $event->isPropagationStopped()) {
break;
}
// @deprecated: the ternary operator is part of a BC layer and should be removed in 5.0
$listener($listener instanceof WrappedListener ? new LegacyEventProxy($event) : $event, $eventName, $this);
}
}
/**
* @deprecated since Symfony 4.3, use callListeners() instead
*/
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.
*/
private function sortListeners(string $eventName)
{
krsort($this->listeners[$eventName]);
$this->sorted[$eventName] = [];
foreach ($this->listeners[$eventName] as &$listeners) {
foreach ($listeners as $k => &$listener) {
if (\is_array($listener) && isset($listener[0]) && $listener[0] instanceof \Closure && 2 >= \count($listener)) {
$listener[0] = $listener[0]();
$listener[1] = $listener[1] ?? '__invoke';
}
$this->sorted[$eventName][] = $listener;
}
}
Arguments
RocketTheme\Toolbox\Event\Event {#588}
"onPageInitialized"
Symfony\Component\EventDispatcher\EventDispatcher {#133
-listeners: array:60 [
"onPluginsInitialized" => array:8 [
100002 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ProblemsPlugin {#113}
1 => "autoload"
]
]
100001 => array:6 [
0 => array:2 [
0 => Grav\Plugin\BreadcrumbsPlugin {#99}
1 => "autoload"
]
1 => array:2 [
0 => Grav\Plugin\MarkdownNoticesPlugin {#110}
1 => "autoload"
]
2 => array:2 [
0 => Grav\Plugin\PaginationPlugin {#112}
1 => "autoload"
]
3 => array:2 [
0 => Grav\Plugin\ProblemsPlugin {#113}
1 => "onPluginsInitialized"
]
4 => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin {#115}
1 => "autoload"
]
5 => array:2 [
0 => Grav\Plugin\ShortcodeUiPlugin {#116}
1 => "autoload"
]
]
100000 => array:4 [
0 => array:2 [
0 => Grav\Plugin\AdminPlugin {#94}
1 => "setup"
]
1 => array:2 [
0 => Grav\Plugin\FeedPlugin {#103}
1 => "autoload"
]
2 => array:2 [
0 => Grav\Plugin\GitSyncPlugin {#107}
1 => "autoload"
]
3 => array:2 [
0 => Grav\Plugin\TaxonomylistPlugin {#120}
1 => "autoload"
]
]
10000 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "initializeSession"
]
]
1001 => array:1 [
0 => array:2 [
0 => Grav\Plugin\AdminPlugin {#94}
1 => "onPluginsInitialized"
]
]
1000 => array:2 [
0 => array:2 [
0 => Grav\Plugin\GitSyncPlugin {#107}
1 => "onPluginsInitialized"
]
1 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "initializeLogin"
]
]
10 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin {#115}
1 => "onPluginsInitialized"
]
]
0 => array:13 [
0 => array:2 [
0 => Grav\Plugin\AboutMePlugin {#95}
1 => "onPluginsInitialized"
]
1 => array:2 [
0 => Grav\Plugin\BreadcrumbsPlugin {#99}
1 => "onPluginsInitialized"
]
2 => array:2 [
0 => Grav\Plugin\EmailPlugin {#100}
1 => "onPluginsInitialized"
]
3 => array:2 [
0 => Grav\Plugin\ExternalLinksPlugin {#102}
1 => "onPluginsInitialized"
]
4 => array:2 [
0 => Grav\Plugin\FeedPlugin {#103}
1 => "onPluginsInitialized"
]
5 => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin {#104}
1 => "onPluginsInitialized"
]
6 => array:2 [
0 => Grav\Plugin\FormPlugin {#105}
1 => "onPluginsInitialized"
]
7 => array:2 [
0 => Grav\Plugin\GanalyticsPlugin {#106}
1 => "onPluginsInitialized"
]
8 => array:2 [
0 => Grav\Plugin\PageInjectPlugin {#111}
1 => "onPluginsInitialized"
]
9 => array:2 [
0 => Grav\Plugin\PaginationPlugin {#112}
1 => "onPluginsInitialized"
]
10 => array:2 [
0 => Grav\Plugin\SocialSEOMetaTagsPlugin {#118}
1 => "onPluginsInitialized"
]
11 => array:2 [
0 => Grav\Plugin\SocialButtonsPlugin {#119}
1 => "onPluginsInitialized"
]
12 => array:2 [
0 => Grav\Plugin\TaxonomylistPlugin {#120}
1 => "onPluginsInitialized"
]
]
]
"onRequestHandlerInit" => array:1 [
100000 => array:1 [
0 => array:2 [
0 => Grav\Plugin\AdminPlugin {#94}
1 => "onRequestHandlerInit"
]
]
]
"onFormRegisterTypes" => array:1 [
0 => array:2 [
0 => array:2 [
0 => Grav\Plugin\AdminPlugin {#94}
1 => "onFormRegisterTypes"
]
1 => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin {#104}
1 => "onFormRegisterTypes"
]
]
]
"onPageInitialized" => array:3 [
10000 => array:1 [
0 => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin {#104}
1 => "authorizePage"
]
]
10 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "authorizeLoginPage"
]
]
0 => array:6 [
0 => array:2 [
0 => Grav\Plugin\AdminPlugin {#94}
1 => "onPageInitialized"
]
1 => array:2 [
0 => Grav\Plugin\GitSyncPlugin {#107}
1 => "onPageInitialized"
]
2 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "authorizePage"
]
3 => array:2 [
0 => Grav\Plugin\FormPlugin {#105}
1 => "onPageInitialized"
]
4 => array:2 [
0 => Grav\Plugin\PaginationPlugin {#112}
1 => "onPageInitialized"
]
5 => array:2 [
0 => Grav\Plugin\SocialSEOMetaTagsPlugin {#118}
1 => "onPageInitialized"
]
]
]
"onShutdown" => array:1 [
1000 => array:1 [
0 => array:2 [
0 => Grav\Plugin\AdminPlugin {#94}
1 => "onShutdown"
]
]
]
"Grav\Events\PermissionsRegisterEvent" => array:2 [
1000 => array:1 [
0 => array:2 [
0 => Grav\Plugin\AdminPlugin {#94}
1 => "onRegisterPermissions"
]
]
100 => array:1 [
0 => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin {#104}
1 => "onRegisterPermissions"
]
]
]
"onAdminCreatePageFrontmatter" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\AutoDatePlugin {#98}
1 => "onAdminCreatePageFrontmatter"
]
]
]
"onFormProcessed" => array:1 [
0 => array:3 [
0 => array:2 [
0 => Grav\Plugin\EmailPlugin {#100}
1 => "onFormProcessed"
]
1 => array:2 [
0 => Grav\Plugin\GitSyncPlugin {#107}
1 => "onFormProcessed"
]
2 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "onFormProcessed"
]
]
]
"onTwigTemplatePaths" => array:2 [
0 => array:11 [
0 => array:2 [
0 => Grav\Plugin\EmailPlugin {#100}
1 => "onTwigTemplatePaths"
]
1 => array:2 [
0 => Grav\Plugin\FormPlugin {#105}
1 => "onTwigTemplatePaths"
]
2 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "onTwigTemplatePaths"
]
3 => array:2 [
0 => Grav\Plugin\ShortcodeUiPlugin {#116}
1 => "onTwigTemplatePaths"
]
4 => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin {#115}
1 => "onTwigTemplatePaths"
]
5 => array:2 [
0 => Grav\Plugin\AboutMePlugin {#95}
1 => "onTwigTemplatePaths"
]
6 => array:2 [
0 => Grav\Plugin\BreadcrumbsPlugin {#99}
1 => "onTwigTemplatePaths"
]
7 => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin {#104}
1 => "onTwigTemplatePaths"
]
8 => array:2 [
0 => Grav\Plugin\PaginationPlugin {#112}
1 => "onTwigTemplatePaths"
]
9 => array:2 [
0 => Grav\Plugin\SocialButtonsPlugin {#119}
1 => "onTwigTemplatePaths"
]
10 => array:2 [
0 => Grav\Plugin\TaxonomylistPlugin {#120}
1 => "onTwigTemplatePaths"
]
]
-10 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ErrorPlugin {#101}
1 => "onTwigTemplatePaths"
]
]
]
"onSchedulerInitialized" => array:1 [
0 => array:4 [
0 => array:2 [
0 => Grav\Plugin\EmailPlugin {#100}
1 => "onSchedulerInitialized"
]
1 => array:2 [
0 => Grav\Plugin\GitSyncPlugin {#107}
1 => "onSchedulerInitialized"
]
2 => array:2 [
0 => Grav\Common\Cache {#196}
1 => "onSchedulerInitialized"
]
3 => array:2 [
0 => Grav\Common\Backup\Backups {#304}
1 => "onSchedulerInitialized"
]
]
]
"onAdminSave" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\EmailPlugin {#100}
1 => "onAdminSave"
]
]
]
"onCliInitialize" => array:2 [
100000 => array:2 [
0 => array:2 [
0 => Grav\Plugin\ErrorPlugin {#101}
1 => "autoload"
]
1 => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin {#104}
1 => "autoload"
]
]
10 => array:1 [
0 => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin {#104}
1 => "initializeFlex"
]
]
]
"onPageNotFound" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ErrorPlugin {#101}
1 => "onPageNotFound"
]
]
]
"onGetPageTemplates" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ErrorPlugin {#101}
1 => "onGetPageTemplates"
]
]
]
"onDisplayErrorPage.404" => array:1 [
-1 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ErrorPlugin {#101}
1 => "onDisplayErrorPage404"
]
]
]
"onBlueprintCreated" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\FeedPlugin {#103}
1 => "onBlueprintCreated"
]
]
]
"onPageHeaders" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\FeedPlugin {#103}
1 => "onPageHeaders"
]
]
]
"Grav\Events\PluginsLoadedEvent" => array:1 [
10 => array:2 [
0 => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin {#104}
1 => "initializeFlex"
]
1 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "onPluginsLoaded"
]
]
]
"Grav\Events\FlexRegisterEvent" => array:1 [
100 => array:1 [
0 => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin {#104}
1 => "onRegisterFlex"
]
]
]
"onTwigExtensions" => array:1 [
0 => array:3 [
0 => array:2 [
0 => Grav\Plugin\FormPlugin {#105}
1 => "onTwigExtensions"
]
1 => array:2 [
0 => Grav\Plugin\ShortcodeUiPlugin {#116}
1 => "onTwigExtensions"
]
2 => array:2 [
0 => Grav\Plugin\PaginationPlugin {#112}
1 => "onTwigExtensions"
]
]
]
"onAssetsInitialized" => array:1 [
0 => array:2 [
0 => array:2 [
0 => Grav\Plugin\GanalyticsPlugin {#106}
1 => "onAssetsInitialized"
]
1 => array:2 [
0 => Grav\Plugin\AboutMePlugin {#95}
1 => "onAssetsInitialized"
]
]
]
"Grav\Events\SessionStartEvent" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "onSessionStart"
]
]
]
"Grav\Events\BeforeSessionStartEvent" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "onBeforeSessionStart"
]
]
]
"Grav\Plugin\Login\Events\PageAuthorizeEvent" => array:1 [
-10000 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "onPageAuthorizeEvent"
]
]
]
"onTask.login.login" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "loginController"
]
]
]
"onTask.login.twofa" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "loginController"
]
]
]
"onTask.login.twofa_cancel" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "loginController"
]
]
]
"onTask.login.forgot" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "loginController"
]
]
]
"onTask.login.logout" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "loginController"
]
]
]
"onTask.login.reset" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "loginController"
]
]
]
"onTask.login.regenerate2FASecret" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "loginController"
]
]
]
"onPageTask.login.invite" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "loginController"
]
]
]
"onPagesInitialized" => array:2 [
0 => array:4 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "storeReferrerPage"
]
1 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "pageVisibility"
]
2 => array:2 [
0 => Grav\Plugin\FormPlugin {#105}
1 => "onPagesInitialized"
]
3 => array:2 [
0 => Grav\Plugin\PageInjectPlugin {#111}
1 => "onPagesInitialized"
]
]
-10000 => array:1 [
0 => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin {#104}
1 => "onPagesInitialized"
]
]
]
"onDisplayErrorPage.401" => array:1 [
-1 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "onDisplayErrorPage401"
]
]
]
"onDisplayErrorPage.403" => array:1 [
-1 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "onDisplayErrorPage403"
]
]
]
"onPageFallBackUrl" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "authorizeFallBackUrl"
]
]
]
"onTwigSiteVariables" => array:2 [
-100000 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "onTwigSiteVariables"
]
]
0 => array:7 [
0 => array:2 [
0 => Grav\Plugin\MarkdownNoticesPlugin {#110}
1 => "onTwigSiteVariables"
]
1 => array:2 [
0 => Grav\Plugin\AboutMePlugin {#95}
1 => "onTwigSiteVariables"
]
2 => array:2 [
0 => Grav\Plugin\BreadcrumbsPlugin {#99}
1 => "onTwigSiteVariables"
]
3 => array:2 [
0 => Grav\Plugin\ExternalLinksPlugin {#102}
1 => "onTwigSiteVariables"
]
4 => array:2 [
0 => Grav\Plugin\FormPlugin {#105}
1 => "onTwigVariables"
]
5 => array:2 [
0 => Grav\Plugin\SocialButtonsPlugin {#119}
1 => "onTwigSiteVariables"
]
6 => array:2 [
0 => Grav\Plugin\TaxonomylistPlugin {#120}
1 => "onTwigSiteVariables"
]
]
]
"onUserLoginAuthenticate" => array:5 [
10003 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "userLoginAuthenticateRateLimit"
]
]
10002 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "userLoginAuthenticateByRegistration"
]
]
10001 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "userLoginAuthenticateByRememberMe"
]
]
10000 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "userLoginAuthenticateByEmail"
]
]
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "userLoginAuthenticate"
]
]
]
"onUserLoginAuthorize" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "userLoginAuthorize"
]
]
]
"onUserLoginFailure" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "userLoginGuest"
]
]
]
"onUserLoginGuest" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "userLoginGuest"
]
]
]
"onUserLogin" => array:2 [
1000 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "userLoginResetRateLimit"
]
]
10 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "userLogin"
]
]
]
"onUserLogout" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\LoginPlugin {#108}
1 => "userLogout"
]
]
]
"onMarkdownInitialized" => array:1 [
0 => array:3 [
0 => array:2 [
0 => Grav\Plugin\MarkdownFontAwesomePlugin {#109}
1 => "onMarkdownInitialized"
]
1 => array:2 [
0 => Grav\Plugin\MarkdownNoticesPlugin {#110}
1 => "onMarkdownInitialized"
]
2 => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin {#115}
1 => "onMarkdownInitialized"
]
]
]
"registerNextGenEditorPlugin" => array:1 [
0 => array:4 [
0 => array:2 [
0 => Grav\Plugin\PageInjectPlugin {#111}
1 => "registerNextGenEditorPlugin"
]
1 => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin {#115}
1 => "registerNextGenEditorPlugin"
]
2 => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin {#115}
1 => "registerNextGenEditorPluginShortcodes"
]
3 => array:2 [
0 => Grav\Plugin\ShortcodeUiPlugin {#116}
1 => "registerNextGenEditorPluginShortcodes"
]
]
]
"onAdminGenerateReports" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ProblemsPlugin {#113}
1 => "onAdminGenerateReports"
]
]
]
"onAdminCompilePresetSCSS" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ProblemsPlugin {#113}
1 => "onAdminCompilePresetSCSS"
]
]
]
"onShortcodeHandlers" => array:1 [
0 => array:3 [
0 => array:2 [
0 => Grav\Plugin\ShortcodeUiPlugin {#116}
1 => "onShortcodeHandlers"
]
1 => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin {#115}
1 => "onShortcodeHandlers"
]
2 => array:2 [
0 => Grav\Plugin\PageInjectPlugin {#111}
1 => "onShortcodeHandlers"
]
]
]
"onFatalException" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ProblemsPlugin {#113}
1 => "onFatalException"
]
]
]
"gitsync" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\GitSyncPlugin {#107}
1 => "synchronize"
]
]
]
"onThemeInitialized" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin {#115}
1 => "onThemeInitialized"
]
]
]
"onPageContentRaw" => array:1 [
0 => array:2 [
0 => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin {#115}
1 => "onPageContentRaw"
]
1 => array:2 [
0 => Grav\Plugin\PageInjectPlugin {#111}
1 => "onPageContentRaw"
]
]
]
"onPageContentProcessed" => array:2 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ExternalLinksPlugin {#102}
1 => "onPageContentProcessed"
]
]
-10 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin {#115}
1 => "onPageContentProcessed"
]
]
]
"onPageContent" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin {#115}
1 => "onPageContent"
]
]
]
"onTwigInitialized" => array:1 [
0 => array:3 [
0 => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin {#115}
1 => "onTwigInitialized"
]
1 => array:2 [
0 => Grav\Plugin\ExternalLinksPlugin {#102}
1 => "onTwigInitialized"
]
2 => array:2 [
0 => Grav\Plugin\FormPlugin {#105}
1 => "onTwigInitialized"
]
]
]
"onTwigPageVariables" => array:1 [
0 => array:2 [
0 => array:2 [
0 => Grav\Plugin\AboutMePlugin {#95}
1 => "onTwigPageVariables"
]
1 => array:2 [
0 => Grav\Plugin\FormPlugin {#105}
1 => "onTwigVariables"
]
]
]
"onBeforeFlexFormInitialize" => array:1 [
-10 => array:1 [
0 => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin {#104}
1 => "onBeforeFlexFormInitialize"
]
]
]
"onPageTask" => array:1 [
-10 => array:1 [
0 => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin {#104}
1 => "onPageTask"
]
]
]
"onPageProcessed" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\FormPlugin {#105}
1 => "onPageProcessed"
]
]
]
"onFormValidationProcessed" => array:1 [
0 => array:1 [
0 => array:2 [
0 => Grav\Plugin\FormPlugin {#105}
1 => "onFormValidationProcessed"
]
]
]
]
-sorted: []
-optimized: array:22 [
"Grav\Events\PluginsLoadedEvent" => array:2 [
0 => Grav\Plugin\FlexObjectsPlugin::initializeFlex(): void {#147 …4}
1 => Grav\Plugin\LoginPlugin::onPluginsLoaded(): void {#154 …4}
]
"Grav\Events\SessionStartEvent" => array:1 [
0 => Grav\Plugin\LoginPlugin::onSessionStart(SessionStartEvent $event): void {#162 …4}
]
"onPluginsInitialized" => array:29 [
0 => Grav\Plugin\ProblemsPlugin::autoload(): ClassLoader {#166 …4}
1 => Grav\Plugin\BreadcrumbsPlugin::autoload() {#167 …3}
2 => Grav\Plugin\MarkdownNoticesPlugin::autoload() {#168 …3}
3 => Grav\Plugin\PaginationPlugin::autoload() {#169 …3}
4 => Grav\Plugin\ProblemsPlugin::onPluginsInitialized(): void {#170 …4}
5 => Grav\Plugin\ShortcodeCorePlugin::autoload() {#171 …3}
6 => Grav\Plugin\ShortcodeUiPlugin::autoload() {#172 …3}
7 => Grav\Plugin\AdminPlugin::setup() {#173 …3}
8 => Grav\Plugin\FeedPlugin::autoload() {#174 …3}
9 => Grav\Plugin\GitSyncPlugin::autoload(): ClassLoader {#175 …4}
10 => Grav\Plugin\TaxonomylistPlugin::autoload(): ClassLoader {#176 …4}
11 => Grav\Plugin\LoginPlugin::initializeSession(): void {#177 …4}
12 => Grav\Plugin\AdminPlugin::onPluginsInitialized() {#178 …3}
13 => Grav\Plugin\GitSyncPlugin::onPluginsInitialized() {#179 …3}
14 => Grav\Plugin\LoginPlugin::initializeLogin(): void {#180 …4}
15 => Grav\Plugin\ShortcodeCorePlugin::onPluginsInitialized() {#181 …3}
16 => Grav\Plugin\AboutMePlugin::onPluginsInitialized() {#182 …3}
17 => Grav\Plugin\BreadcrumbsPlugin::onPluginsInitialized() {#183 …3}
18 => Grav\Plugin\EmailPlugin::onPluginsInitialized() {#184 …3}
19 => Grav\Plugin\ExternalLinksPlugin::onPluginsInitialized() {#185 …3}
20 => Grav\Plugin\FeedPlugin::onPluginsInitialized() {#186 …3}
21 => Grav\Plugin\FlexObjectsPlugin::onPluginsInitialized(): void {#187 …4}
22 => Grav\Plugin\FormPlugin::onPluginsInitialized(): void {#188 …4}
23 => Grav\Plugin\GanalyticsPlugin::onPluginsInitialized() {#189 …3}
24 => Grav\Plugin\PageInjectPlugin::onPluginsInitialized() {#190 …3}
25 => Grav\Plugin\PaginationPlugin::onPluginsInitialized() {#191 …3}
26 => Grav\Plugin\SocialSEOMetaTagsPlugin::onPluginsInitialized() {#192 …3}
27 => Grav\Plugin\SocialButtonsPlugin::onPluginsInitialized() {#193 …3}
28 => Grav\Plugin\TaxonomylistPlugin::onPluginsInitialized() {#194 …3}
]
"onThemeInitialized" => array:1 [
0 => Grav\Plugin\ShortcodeCorePlugin::onThemeInitialized() {#225 …3}
]
"onShortcodeHandlers" => array:3 [
0 => Grav\Plugin\ShortcodeUiPlugin::onShortcodeHandlers() {#227 …3}
1 => Grav\Plugin\ShortcodeCorePlugin::onShortcodeHandlers() {#228 …3}
2 => Grav\Plugin\PageInjectPlugin::onShortcodeHandlers() {#229 …3}
]
"onRequestHandlerInit" => array:1 [
0 => Grav\Plugin\AdminPlugin::onRequestHandlerInit(RequestHandlerEvent $event) {#294 …3}
]
"onSchedulerInitialized" => array:4 [
0 => Grav\Plugin\EmailPlugin::onSchedulerInitialized(Event $e) {#309 …3}
1 => Grav\Plugin\GitSyncPlugin::onSchedulerInitialized(Event $event) {#310 …3}
2 => Grav\Common\Cache::onSchedulerInitialized(Event $event) {#311 …3}
3 => Grav\Common\Backup\Backups::onSchedulerInitialized(Event $event) {#312 …3}
]
"onAssetsInitialized" => array:2 [
0 => Grav\Plugin\GanalyticsPlugin::onAssetsInitialized() {#343 …3}
1 => Grav\Plugin\AboutMePlugin::onAssetsInitialized() {#344 …3}
]
"onTwigTemplatePaths" => array:12 [
0 => Grav\Plugin\EmailPlugin::onTwigTemplatePaths() {#350 …3}
1 => Grav\Plugin\FormPlugin::onTwigTemplatePaths(): void {#351 …4}
2 => Grav\Plugin\LoginPlugin::onTwigTemplatePaths(): void {#352 …4}
3 => Grav\Plugin\ShortcodeUiPlugin::onTwigTemplatePaths() {#353 …3}
4 => Grav\Plugin\ShortcodeCorePlugin::onTwigTemplatePaths() {#354 …3}
5 => Grav\Plugin\AboutMePlugin::onTwigTemplatePaths() {#355 …3}
6 => Grav\Plugin\BreadcrumbsPlugin::onTwigTemplatePaths() {#356 …3}
7 => Grav\Plugin\FlexObjectsPlugin::onTwigTemplatePaths(): void {#357 …4}
8 => Grav\Plugin\PaginationPlugin::onTwigTemplatePaths() {#358 …3}
9 => Grav\Plugin\SocialButtonsPlugin::onTwigTemplatePaths() {#359 …3}
10 => Grav\Plugin\TaxonomylistPlugin::onTwigTemplatePaths() {#360 …3}
11 => Grav\Plugin\ErrorPlugin::onTwigTemplatePaths(): void {#361 …4}
]
"onTwigInitialized" => array:3 [
0 => Grav\Plugin\ShortcodeCorePlugin::onTwigInitialized() {#373 …3}
1 => Grav\Plugin\ExternalLinksPlugin::onTwigInitialized() {#374 …3}
2 => Grav\Plugin\FormPlugin::onTwigInitialized(): void {#375 …4}
]
"onTwigExtensions" => array:3 [
0 => Grav\Plugin\FormPlugin::onTwigExtensions(): void {#386 …4}
1 => Grav\Plugin\ShortcodeUiPlugin::onTwigExtensions() {#387 …3}
2 => Grav\Plugin\PaginationPlugin::onTwigExtensions() {#388 …3}
]
"onPagesInitialized" => array:5 [
0 => Grav\Plugin\LoginPlugin::storeReferrerPage(): void {#589 …4}
1 => Grav\Plugin\LoginPlugin::pageVisibility(Event $event): void {#590 …4}
2 => Grav\Plugin\FormPlugin::onPagesInitialized(): void {#591 …4}
3 => Grav\Plugin\PageInjectPlugin::onPagesInitialized() {#592 …3}
4 => Grav\Plugin\FlexObjectsPlugin::onPagesInitialized(Event $event): void {#593 …4}
]
"Grav\Events\FlexRegisterEvent" => array:1 [
0 => Grav\Plugin\FlexObjectsPlugin::onRegisterFlex(FlexRegisterEvent $event): void {#596 …4}
]
"onPageInitialized" => array:8 [
0 => Grav\Plugin\FlexObjectsPlugin::authorizePage(Event $event): void {#595 …4}
1 => Grav\Plugin\LoginPlugin::authorizeLoginPage(Event $event): void {#600 …4}
2 => Grav\Plugin\AdminPlugin::onPageInitialized() {#601 …3}
3 => Grav\Plugin\GitSyncPlugin::onPageInitialized() {#602 …3}
4 => Grav\Plugin\LoginPlugin::authorizePage(): void {#603 …4}
5 => Grav\Plugin\FormPlugin::onPageInitialized(): void {#604 …4}
6 => Grav\Plugin\PaginationPlugin::onPageInitialized() {#605 …3}
7 => Grav\Plugin\SocialSEOMetaTagsPlugin::onPageInitialized(Event $e) {#606 …3}
]
"onUserLoginAuthenticate" => array:5 [
0 => Grav\Plugin\LoginPlugin::userLoginAuthenticateRateLimit(UserLoginEvent $event): void {#612 …4}
1 => Grav\Plugin\LoginPlugin::userLoginAuthenticateByRegistration(UserLoginEvent $event): void {#613 …4}
2 => Grav\Plugin\LoginPlugin::userLoginAuthenticateByRememberMe(UserLoginEvent $event): void {#614 …4}
3 => Grav\Plugin\LoginPlugin::userLoginAuthenticateByEmail(UserLoginEvent $event): void {#615 …4}
4 => Grav\Plugin\LoginPlugin::userLoginAuthenticate(UserLoginEvent $event): void {#616 …4}
]
"onUserLoginGuest" => array:1 [
0 => Grav\Plugin\LoginPlugin::userLoginGuest(UserLoginEvent $event): void {#607 …4}
]
"Grav\Plugin\Login\Events\PageAuthorizeEvent" => array:1 [
0 => Grav\Plugin\LoginPlugin::onPageAuthorizeEvent(PageAuthorizeEvent $event): void {#610 …4}
]
"onFormRegisterTypes" => array:2 [
0 => Grav\Plugin\AdminPlugin::onFormRegisterTypes(Event $event): void {#624 …4}
1 => Grav\Plugin\FlexObjectsPlugin::onFormRegisterTypes(Event $event): void {#625 …4}
]
"onPageContentRaw" => array:2 [
0 => Grav\Plugin\ShortcodeCorePlugin::onPageContentRaw(Event $e) {#632 …3}
1 => Grav\Plugin\PageInjectPlugin::onPageContentRaw(Event $event) {#633 …3}
]
"onMarkdownInitialized" => array:3 [
0 => Grav\Plugin\MarkdownFontAwesomePlugin::onMarkdownInitialized(Event $event) {#637 …3}
1 => Grav\Plugin\MarkdownNoticesPlugin::onMarkdownInitialized(Event $event) {#636 …3}
2 => Grav\Plugin\ShortcodeCorePlugin::onMarkdownInitialized(Event $event) {#639 …3}
]
"onPageContentProcessed" => array:2 [
0 => Grav\Plugin\ExternalLinksPlugin::onPageContentProcessed(Event $event) {#634 …3}
1 => Grav\Plugin\ShortcodeCorePlugin::onPageContentProcessed(Event $e) {#645 …3}
]
"onFatalException" => array:1 [
0 => Grav\Plugin\ProblemsPlugin::onFatalException(): void {#293 …4}
]
]
}
/home4/shaynep1/public_html/rogerparkinson/www/vendor/symfony/event-dispatcher/EventDispatcher.php
} else {
$this->removeListener($eventName, [$subscriber, \is_string($params) ? $params : $params[0]]);
}
}
}
/**
* 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 object $event The event object to pass to the event handlers/listeners
*/
protected function callListeners(iterable $listeners, string $eventName, $event)
{
if ($event instanceof Event) {
$this->doDispatch($listeners, $eventName, $event);
return;
}
$stoppable = $event instanceof ContractsEvent || $event instanceof StoppableEventInterface;
foreach ($listeners as $listener) {
if ($stoppable && $event->isPropagationStopped()) {
break;
}
// @deprecated: the ternary operator is part of a BC layer and should be removed in 5.0
$listener($listener instanceof WrappedListener ? new LegacyEventProxy($event) : $event, $eventName, $this);
}
}
/**
* @deprecated since Symfony 4.3, use callListeners() instead
*/
protected function doDispatch($listeners, $eventName, Event $event)
{
Arguments
array:8 [
0 => Grav\Plugin\FlexObjectsPlugin::authorizePage(Event $event): void {#595 …4}
1 => Grav\Plugin\LoginPlugin::authorizeLoginPage(Event $event): void {#600 …4}
2 => Grav\Plugin\AdminPlugin::onPageInitialized() {#601 …3}
3 => Grav\Plugin\GitSyncPlugin::onPageInitialized() {#602 …3}
4 => Grav\Plugin\LoginPlugin::authorizePage(): void {#603 …4}
5 => Grav\Plugin\FormPlugin::onPageInitialized(): void {#604 …4}
6 => Grav\Plugin\PaginationPlugin::onPageInitialized() {#605 …3}
7 => Grav\Plugin\SocialSEOMetaTagsPlugin::onPageInitialized(Event $e) {#606 …3}
]
"onPageInitialized"
RocketTheme\Toolbox\Event\Event {#588}
/home4/shaynep1/public_html/rogerparkinson/www/vendor/symfony/event-dispatcher/EventDispatcher.php
if (\is_object($event)) {
$eventName = $eventName ?? \get_class($event);
} elseif (\is_string($event) && (null === $eventName || $eventName instanceof ContractsEvent || $eventName instanceof Event)) {
@trigger_error(sprintf('Calling the "%s::dispatch()" method with the event name as the first argument is deprecated since Symfony 4.3, pass it as the second argument and provide the event object as the first argument instead.', EventDispatcherInterface::class), \E_USER_DEPRECATED);
$swap = $event;
$event = $eventName ?? new Event();
$eventName = $swap;
} else {
throw new \TypeError(sprintf('Argument 1 passed to "%s::dispatch()" must be an object, "%s" given.', EventDispatcherInterface::class, \is_object($event) ? \get_class($event) : \gettype($event)));
}
if (null !== $this->optimized && null !== $eventName) {
$listeners = $this->optimized[$eventName] ?? (empty($this->listeners[$eventName]) ? [] : $this->optimizeListeners($eventName));
} else {
$listeners = $this->getListeners($eventName);
}
if ($listeners) {
$this->callListeners($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:8 [
0 => Grav\Plugin\FlexObjectsPlugin::authorizePage(Event $event): void {#595 …4}
1 => Grav\Plugin\LoginPlugin::authorizeLoginPage(Event $event): void {#600 …4}
2 => Grav\Plugin\AdminPlugin::onPageInitialized() {#601 …3}
3 => Grav\Plugin\GitSyncPlugin::onPageInitialized() {#602 …3}
4 => Grav\Plugin\LoginPlugin::authorizePage(): void {#603 …4}
5 => Grav\Plugin\FormPlugin::onPageInitialized(): void {#604 …4}
6 => Grav\Plugin\PaginationPlugin::onPageInitialized() {#605 …3}
7 => Grav\Plugin\SocialSEOMetaTagsPlugin::onPageInitialized(Event $e) {#606 …3}
]
"onPageInitialized"
RocketTheme\Toolbox\Event\Event {#588}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Common/Grav.php
return $event;
}
/**
* Fires an event with optional parameters.
*
* @param string $eventName
* @param Event|null $event
* @return Event
*/
public function fireEvent($eventName, Event $event = null)
{
/** @var EventDispatcherInterface $events */
$events = $this['events'];
if (null === $event) {
$event = new Event();
}
$timestamp = microtime(true);
$events->dispatch($event, $eventName);
/** @var Debugger $debugger */
$debugger = $this['debugger'];
$debugger->addEvent($eventName, $event, $events, $timestamp);
return $event;
}
/**
* Set the final content length for the page and flush the buffer
*
* @return void
*/
public function shutdown(): void
{
// Prevent user abort allowing onShutdown event to run without interruptions.
if (function_exists('ignore_user_abort')) {
@ignore_user_abort(true);
}
Arguments
RocketTheme\Toolbox\Event\Event {#588}
"onPageInitialized"
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Common/Processors/PagesProcessor.php
// Dump Cache state
$this->container['debugger']->addMessage($this->container['cache']->getCacheStatus());
$this->container['pages']->init();
$route = $this->container['route'];
$this->container->fireEvent('onPagesInitialized', new Event(
[
'pages' => $this->container['pages'],
'route' => $route,
'request' => $request
]
));
$this->container->fireEvent('onPageInitialized', new Event(
[
'page' => $this->container['page'],
'route' => $route,
'request' => $request
]
));
/** @var PageInterface $page */
$page = $this->container['page'];
if (!$page->routable()) {
$exception = new RequestException($request, 'Page Not Found', 404);
// If no page found, fire event
$event = new PageEvent([
'page' => $page,
'code' => $exception->getCode(),
'message' => $exception->getMessage(),
'exception' => $exception,
'route' => $route,
'request' => $request
]);
$event->page = null;
$event = $this->container->fireEvent('onPageNotFound', $event);
Arguments
"onPageInitialized"
RocketTheme\Toolbox\Event\Event {#588}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
protected $handler;
/** @var ContainerInterface|null */
protected $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
Nyholm\Psr7\ServerRequest {#231}
Grav\Framework\RequestHandler\RequestHandler {#395}
/home4/shaynep1/public_html/rogerparkinson/www/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
Nyholm\Psr7\ServerRequest {#231}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Common/Processors/TwigProcessor.php
*/
class TwigProcessor extends ProcessorBase
{
/** @var string */
public $id = 'twig';
/** @var string */
public $title = 'Twig';
/**
* @param ServerRequestInterface $request
* @param RequestHandlerInterface $handler
* @return ResponseInterface
*/
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$this->startTimer();
$this->container['twig']->init();
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
Nyholm\Psr7\ServerRequest {#231}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
protected $handler;
/** @var ContainerInterface|null */
protected $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
Nyholm\Psr7\ServerRequest {#231}
Grav\Framework\RequestHandler\RequestHandler {#348}
/home4/shaynep1/public_html/rogerparkinson/www/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
Nyholm\Psr7\ServerRequest {#231}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Common/Processors/AssetsProcessor.php
class AssetsProcessor extends ProcessorBase
{
/** @var string */
public $id = '_assets';
/** @var string */
public $title = 'Assets';
/**
* @param ServerRequestInterface $request
* @param RequestHandlerInterface $handler
* @return ResponseInterface
*/
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
Nyholm\Psr7\ServerRequest {#231}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
protected $handler;
/** @var ContainerInterface|null */
protected $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
Nyholm\Psr7\ServerRequest {#231}
Grav\Framework\RequestHandler\RequestHandler {#340}
/home4/shaynep1/public_html/rogerparkinson/www/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
Nyholm\Psr7\ServerRequest {#231}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Common/Processors/SchedulerProcessor.php
class SchedulerProcessor extends ProcessorBase
{
/** @var string */
public $id = '_scheduler';
/** @var string */
public $title = 'Scheduler';
/**
* @param ServerRequestInterface $request
* @param RequestHandlerInterface $handler
* @return ResponseInterface
*/
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
Nyholm\Psr7\ServerRequest {#231}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
protected $handler;
/** @var ContainerInterface|null */
protected $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
Nyholm\Psr7\ServerRequest {#231}
Grav\Framework\RequestHandler\RequestHandler {#306}
/home4/shaynep1/public_html/rogerparkinson/www/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
Nyholm\Psr7\ServerRequest {#231}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Common/Processors/BackupsProcessor.php
class BackupsProcessor extends ProcessorBase
{
/** @var string */
public $id = '_backups';
/** @var string */
public $title = 'Backups';
/**
* @param ServerRequestInterface $request
* @param RequestHandlerInterface $handler
* @return ResponseInterface
*/
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$this->startTimer();
$backups = $this->container['backups'];
$backups->init();
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
Nyholm\Psr7\ServerRequest {#231}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
protected $handler;
/** @var ContainerInterface|null */
protected $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
Nyholm\Psr7\ServerRequest {#231}
Grav\Framework\RequestHandler\RequestHandler {#303}
/home4/shaynep1/public_html/rogerparkinson/www/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
Nyholm\Psr7\ServerRequest {#231}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Common/Processors/TasksProcessor.php
$response = $handler->handle($request);
}
$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
Nyholm\Psr7\ServerRequest {#231}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
protected $handler;
/** @var ContainerInterface|null */
protected $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
Nyholm\Psr7\ServerRequest {#231}
Grav\Framework\RequestHandler\RequestHandler {#295}
/home4/shaynep1/public_html/rogerparkinson/www/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
Nyholm\Psr7\ServerRequest {#231}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Common/Processors/RequestProcessor.php
$uri = $request->getUri();
$ext = mb_strtolower(Utils::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
Nyholm\Psr7\ServerRequest {#231}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
protected $handler;
/** @var ContainerInterface|null */
protected $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
Nyholm\Psr7\ServerRequest {#231}
Grav\Framework\RequestHandler\RequestHandler {#226}
/home4/shaynep1/public_html/rogerparkinson/www/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
Nyholm\Psr7\ServerRequest {#66}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Common/Processors/ThemesProcessor.php
*/
class ThemesProcessor extends ProcessorBase
{
/** @var string */
public $id = 'themes';
/** @var string */
public $title = 'Themes';
/**
* @param ServerRequestInterface $request
* @param RequestHandlerInterface $handler
* @return ResponseInterface
*/
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$this->startTimer();
$this->container['themes']->init();
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
Nyholm\Psr7\ServerRequest {#66}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
protected $handler;
/** @var ContainerInterface|null */
protected $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
Nyholm\Psr7\ServerRequest {#66}
Grav\Framework\RequestHandler\RequestHandler {#210}
/home4/shaynep1/public_html/rogerparkinson/www/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
Nyholm\Psr7\ServerRequest {#66}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Common/Processors/PluginsProcessor.php
class PluginsProcessor extends ProcessorBase
{
/** @var string */
public $id = 'plugins';
/** @var string */
public $title = 'Initialize Plugins';
/**
* @param ServerRequestInterface $request
* @param RequestHandlerInterface $handler
* @return ResponseInterface
*/
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$this->startTimer();
$grav = $this->container;
$grav->fireEvent('onPluginsInitialized');
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
Nyholm\Psr7\ServerRequest {#66}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
protected $handler;
/** @var ContainerInterface|null */
protected $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
Nyholm\Psr7\ServerRequest {#66}
Grav\Framework\RequestHandler\RequestHandler {#164}
/home4/shaynep1/public_html/rogerparkinson/www/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
Nyholm\Psr7\ServerRequest {#66}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Common/Processors/InitializeProcessor.php
// Initialize URI (uses session, see issue #3269).
$this->initializeUri($config);
// Grav may return redirect response right away.
$redirectCode = (int)$config->get('system.pages.redirect_trailing_slash', 1);
if ($redirectCode) {
$response = $this->handleRedirectRequest($request, $redirectCode > 300 ? $redirectCode : null);
if ($response) {
$this->stopTimer('_init');
return $response;
}
}
$this->stopTimer('_init');
// Wrap call to next handler so that debugger can profile it.
/** @var Response $response */
$response = $debugger->profile(static function () use ($handler, $request) {
return $handler->handle($request);
});
// Log both request and response and return the response.
return $debugger->logRequest($request, $response);
}
public function processCli(): void
{
// Load configuration.
$config = $this->initializeConfig();
// Initialize logger.
$this->initializeLogger($config);
// Disable debugger.
$this->container['debugger']->enabled(false);
// Set timezone, locale.
$this->initializeLocale($config);
Arguments
Nyholm\Psr7\ServerRequest {#66}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Common/Debugger.php
}
$this->addMeasures();
$this->addDeprecations();
$this->timers = [];
return $this->debugbar->getData();
}
/**
* Hierarchical Profiler support.
*
* @param callable $callable
* @param string|null $message
* @return mixed
*/
public function profile(callable $callable, string $message = null)
{
$this->startProfiling();
$response = $callable();
$this->stopProfiling($message);
return $response;
}
public function addTwigProfiler(Environment $twig): void
{
$clockwork = $this->getClockwork();
if ($clockwork) {
$source = new TwigClockworkDataSource($twig);
$source->listenToEvents();
$clockwork->addDataSource($source);
}
}
/**
* Start profiling code.
*
* @return void
*/
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Common/Processors/InitializeProcessor.php
$this->initializeUri($config);
// Grav may return redirect response right away.
$redirectCode = (int)$config->get('system.pages.redirect_trailing_slash', 1);
if ($redirectCode) {
$response = $this->handleRedirectRequest($request, $redirectCode > 300 ? $redirectCode : null);
if ($response) {
$this->stopTimer('_init');
return $response;
}
}
$this->stopTimer('_init');
// Wrap call to next handler so that debugger can profile it.
/** @var Response $response */
$response = $debugger->profile(static function () use ($handler, $request) {
return $handler->handle($request);
});
// Log both request and response and return the response.
return $debugger->logRequest($request, $response);
}
public function processCli(): void
{
// Load configuration.
$config = $this->initializeConfig();
// Initialize logger.
$this->initializeLogger($config);
// Disable debugger.
$this->container['debugger']->enabled(false);
// Set timezone, locale.
$this->initializeLocale($config);
// Load plugins.
Arguments
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
protected $handler;
/** @var ContainerInterface|null */
protected $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
Nyholm\Psr7\ServerRequest {#66}
Grav\Framework\RequestHandler\RequestHandler {#89}
/home4/shaynep1/public_html/rogerparkinson/www/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
Nyholm\Psr7\ServerRequest {#66}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Framework/RequestHandler/Middlewares/MultipartRequestSupport.php
use function in_array;
use function is_array;
use function strlen;
/**
* Multipart request support for PUT and PATCH.
*/
class MultipartRequestSupport implements MiddlewareInterface
{
/**
* @param ServerRequestInterface $request
* @param RequestHandlerInterface $handler
* @return ResponseInterface
*/
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$contentType = $request->getHeaderLine('content-type');
$method = $request->getMethod();
if (!str_starts_with($contentType, 'multipart/form-data') || !in_array($method, ['PUT', 'PATH'], true)) {
return $handler->handle($request);
}
$boundary = explode('; boundary=', $contentType, 2)[1] ?? '';
$parts = explode("--{$boundary}", $request->getBody()->getContents());
$parts = array_slice($parts, 1, count($parts) - 2);
$params = [];
$files = [];
foreach ($parts as $part) {
$this->processPart($params, $files, $part);
}
return $handler->handle($request->withParsedBody($params)->withUploadedFiles($files));
}
/**
* @param array $params
* @param array $files
* @param string $part
* @return void
Arguments
Nyholm\Psr7\ServerRequest {#66}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
protected $handler;
/** @var ContainerInterface|null */
protected $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
Nyholm\Psr7\ServerRequest {#66}
Grav\Framework\RequestHandler\RequestHandler {#87}
/home4/shaynep1/public_html/rogerparkinson/www/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
Nyholm\Psr7\ServerRequest {#66}
/home4/shaynep1/public_html/rogerparkinson/www/system/src/Grav/Common/Grav.php
},
'pagesProcessor' => function () {
return new PagesProcessor($this);
},
'debuggerAssetsProcessor' => function () {
return new DebuggerAssetsProcessor($this);
},
'renderProcessor' => function () {
return new RenderProcessor($this);
},
]
);
$default = static function () {
return new Response(404, ['Expires' => 0, 'Cache-Control' => 'no-store, max-age=0'], 'Not Found');
};
$collection = new RequestHandler($this->middleware, $default, $container);
$response = $collection->handle($this['request']);
$body = $response->getBody();
/** @var Messages $messages */
$messages = $this['messages'];
// Prevent caching if session messages were displayed in the page.
$noCache = $messages->isCleared();
if ($noCache) {
$response = $response->withHeader('Cache-Control', 'no-store, max-age=0');
}
// Handle ETag and If-None-Match headers.
if ($response->getHeaderLine('ETag') === '1') {
$etag = md5($body);
$response = $response->withHeader('ETag', '"' . $etag . '"');
$search = trim($this['request']->getHeaderLine('If-None-Match'), '"');
if ($noCache === false && $search === $etag) {
$response = $response->withStatus(304);
$body = '';
Arguments
Nyholm\Psr7\ServerRequest {#66}
/home4/shaynep1/public_html/rogerparkinson/www/index.php
// Register the auto-loader.
$loader = require $autoload;
// Set timezone to default, falls back to system if php.ini not set
date_default_timezone_set(@date_default_timezone_get());
// Set internal encoding.
@ini_set('default_charset', 'UTF-8');
mb_internal_encoding('UTF-8');
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|\Exception $e) {
$grav->fireEvent('onFatalException', new Event(array('exception' => $e)));
throw $e;
}