/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Common/Twig/Twig.php
$this->twig->setCache(false);
}
// Get Twig template layout
$template = $this->template($page->template() . $ext);
try {
$output = $this->twig->render($template, $vars + $twig_vars);
} catch (\Twig_Error_Loader $e) {
$error_msg = $e->getMessage();
// Try html version of this template if initial template was NOT html
if ($ext !== '.html' . TWIG_EXT) {
try {
$page->templateFormat('html');
$output = $this->twig->render($page->template() . '.html' . TWIG_EXT, $vars + $twig_vars);
} catch (\Twig_Error_Loader $e) {
throw new \RuntimeException($error_msg, 400, $e);
}
} else {
throw new \RuntimeException($error_msg, 400, $e);
}
}
return $output;
}
/**
* Wraps the Twig_Loader_Filesystem addPath method (should be used only in `onTwigLoader()` event
* @param string $template_path
* @param string $namespace
*/
public function addPath($template_path, $namespace = '__main__')
{
$this->loader->addPath($template_path, $namespace);
}
/**
* Wraps the Twig_Loader_Filesystem prependPath method (should be used only in `onTwigLoader()` event
* @param string $template_path
* @param string $namespace
Arguments
"Template "default_250118.html.twig" is not defined."
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/vendor/twig/twig/src/Loader/ChainLoader.php
return $this->hasSourceCache[$name] = false;
}
public function getCacheKey($name)
{
$exceptions = [];
foreach ($this->loaders as $loader) {
if ($loader instanceof ExistsLoaderInterface && !$loader->exists($name)) {
continue;
}
try {
return $loader->getCacheKey($name);
} catch (LoaderError $e) {
$exceptions[] = \get_class($loader).': '.$e->getMessage();
}
}
throw new LoaderError(sprintf('Template "%s" is not defined%s.', $name, $exceptions ? ' ('.implode(', ', $exceptions).')' : ''));
}
public function isFresh($name, $time)
{
$exceptions = [];
foreach ($this->loaders as $loader) {
if ($loader instanceof ExistsLoaderInterface && !$loader->exists($name)) {
continue;
}
try {
return $loader->isFresh($name, $time);
} catch (LoaderError $e) {
$exceptions[] = \get_class($loader).': '.$e->getMessage();
}
}
throw new LoaderError(sprintf('Template "%s" is not defined%s.', $name, $exceptions ? ' ('.implode(', ', $exceptions).')' : ''));
}
}
Arguments
"Template "default_250118.html.twig" is not defined."
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/vendor/twig/twig/src/Environment.php
/**
* Gets the template class associated with the given string.
*
* The generated template class is based on the following parameters:
*
* * The cache key for the given template;
* * The currently enabled extensions;
* * Whether the Twig C extension is available or not;
* * PHP version;
* * Twig version;
* * Options with what environment was created.
*
* @param string $name The name for which to calculate the template class name
* @param int|null $index The index if it is an embedded template
*
* @return string The template class name
*/
public function getTemplateClass($name, $index = null)
{
$key = $this->getLoader()->getCacheKey($name).$this->optionsHash;
return $this->templateClassPrefix.hash('sha256', $key).(null === $index ? '' : '___'.$index);
}
/**
* Gets the template class prefix.
*
* @return string The template class prefix
*
* @deprecated since 1.22 (to be removed in 2.0)
*/
public function getTemplateClassPrefix()
{
@trigger_error(sprintf('The %s method is deprecated since version 1.22 and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);
return $this->templateClassPrefix;
}
/**
* Renders a template.
Arguments
"default_250118.html.twig"
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/vendor/twig/twig/src/Environment.php
/**
* Loads a template internal representation.
*
* This method is for internal use only and should never be called
* directly.
*
* @param string $name The template name
* @param int $index The index if it is an embedded template
*
* @return \Twig_TemplateInterface A template instance representing the given template name
*
* @throws LoaderError When the template cannot be found
* @throws RuntimeError When a previously generated cache is corrupted
* @throws SyntaxError When an error occurred during compilation
*
* @internal
*/
public function loadTemplate($name, $index = null)
{
return $this->loadClass($this->getTemplateClass($name), $name, $index);
}
/**
* @internal
*/
public function loadClass($cls, $name, $index = null)
{
$mainCls = $cls;
if (null !== $index) {
$cls .= '___'.$index;
}
if (isset($this->loadedTemplates[$cls])) {
return $this->loadedTemplates[$cls];
}
if (!class_exists($cls, false)) {
if ($this->bcGetCacheFilename) {
$key = $this->getCacheFilename($name);
} else {
Arguments
"default_250118.html.twig"
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/vendor/twig/twig/src/Environment.php
*
* @param string|TemplateWrapper|\Twig\Template $name The template name
*
* @throws LoaderError When the template cannot be found
* @throws RuntimeError When a previously generated cache is corrupted
* @throws SyntaxError When an error occurred during compilation
*
* @return TemplateWrapper
*/
public function load($name)
{
if ($name instanceof TemplateWrapper) {
return $name;
}
if ($name instanceof Template) {
return new TemplateWrapper($this, $name);
}
return new TemplateWrapper($this, $this->loadTemplate($name));
}
/**
* Loads a template internal representation.
*
* This method is for internal use only and should never be called
* directly.
*
* @param string $name The template name
* @param int $index The index if it is an embedded template
*
* @return \Twig_TemplateInterface A template instance representing the given template name
*
* @throws LoaderError When the template cannot be found
* @throws RuntimeError When a previously generated cache is corrupted
* @throws SyntaxError When an error occurred during compilation
*
* @internal
*/
public function loadTemplate($name, $index = null)
Arguments
"default_250118.html.twig"
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/vendor/twig/twig/src/Environment.php
@trigger_error(sprintf('The %s method is deprecated since version 1.22 and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);
return $this->templateClassPrefix;
}
/**
* Renders a template.
*
* @param string|TemplateWrapper $name The template name
* @param array $context An array of parameters to pass to the template
*
* @return string The rendered template
*
* @throws LoaderError When the template cannot be found
* @throws SyntaxError When an error occurred during compilation
* @throws RuntimeError When an error occurred during rendering
*/
public function render($name, array $context = [])
{
return $this->load($name)->render($context);
}
/**
* Displays a template.
*
* @param string|TemplateWrapper $name The template name
* @param array $context An array of parameters to pass to the template
*
* @throws LoaderError When the template cannot be found
* @throws SyntaxError When an error occurred during compilation
* @throws RuntimeError When an error occurred during rendering
*/
public function display($name, array $context = [])
{
$this->load($name)->display($context);
}
/**
* Loads a template.
*
Arguments
"default_250118.html.twig"
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Common/Twig/Twig.php
$twig_vars['theme'] = $this->grav['config']->get('theme');
$twig_vars['pages'] = $pages->root();
$twig_vars['page'] = $page;
$twig_vars['header'] = $page->header();
$twig_vars['media'] = $page->media();
$twig_vars['content'] = $content;
$ext = '.' . ($format ?: 'html') . TWIG_EXT;
// determine if params are set, if so disable twig cache
$params = $this->grav['uri']->params(null, true);
if (!empty($params)) {
$this->twig->setCache(false);
}
// Get Twig template layout
$template = $this->template($page->template() . $ext);
try {
$output = $this->twig->render($template, $vars + $twig_vars);
} catch (\Twig_Error_Loader $e) {
$error_msg = $e->getMessage();
// Try html version of this template if initial template was NOT html
if ($ext !== '.html' . TWIG_EXT) {
try {
$page->templateFormat('html');
$output = $this->twig->render($page->template() . '.html' . TWIG_EXT, $vars + $twig_vars);
} catch (\Twig_Error_Loader $e) {
throw new \RuntimeException($error_msg, 400, $e);
}
} else {
throw new \RuntimeException($error_msg, 400, $e);
}
}
return $output;
}
/**
* Wraps the Twig_Loader_Filesystem addPath method (should be used only in `onTwigLoader()` event
Arguments
"default_250118.html.twig"
array:27 [
"config" => Config {#96}
"system" => array:28 [
"absolute_urls" => false
"timezone" => ""
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => false
"custom_base_url" => ""
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"http_x_forwarded" => array:4 [
"protocol" => true
"host" => false
"port" => true
"ip" => true
]
"languages" => array:9 [
"supported" => array:2 [
0 => "de"
1 => "en"
]
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => true
"http_accept_language" => true
"override_locale" => false
]
"home" => array:2 [
"alias" => "/grav_files"
"hide_in_urls" => true
]
"pages" => array:26 [
"theme" => "ls2"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => "d-m-Y H:i"
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => true
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:6 [
"extra" => true
"auto_line_breaks" => false
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
"valid_link_attributes" => array:5 [
0 => "rel"
1 => "target"
2 => "id"
3 => "class"
4 => "classes"
]
]
"types" => array:7 [
0 => "txt"
1 => "xml"
2 => "html"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => "/"
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => false
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "301"
"redirect_trailing_slash" => false
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => false
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:13 [
"enabled" => true
"check" => array:1 [
"method" => "none"
]
"driver" => "auto"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => false
"allow_webserver_gzip" => false
"redis" => array:1 [
"socket" => false
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => false
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => false
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => "1"
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => false
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => []
"allowed_fallback_types" => []
"auto_metadata_exif" => false
"upload_limit" => 25165824
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => true
"path" => null
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
"site" => array:9 [
"title" => "LS2 - TU Dortmund"
"default_lang" => "en"
"author" => array:2 [
"name" => "Joe Bloggs"
"email" => "joe@test.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Grav is an easy to use, yet powerful, open source flat-file CMS"
]
"summary" => array:4 [
"enabled" => false
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
]
"uri" => Uri {#127}
"assets" => Assets {#199}
"taxonomy" => Taxonomy {#221}
"browser" => Browser {#222}
"base_dir" => "/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav"
"home_url" => "/grav/de"
"base_url" => "/grav/de"
"base_url_absolute" => "https://ls2-www.cs.tu-dortmund.de/grav/de"
"base_url_relative" => "/grav/de"
"base_url_simple" => "/grav"
"theme_dir" => "/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/user/themes/ls2"
"theme_url" => "/grav/user/themes/ls2"
"html_lang" => "de"
"language_codes" => LanguageCodes {#223}
"form" => null
"form_max_filesize" => 24
"form_json_response" => []
"langswitcher" => {#3381}
"pages" => Page {#226}
"page" => Page {#3209}
"header" => {#3210}
"media" => Media {#3376}
"content" => """
<style type="text/css">\n
* {\n
\n
}\n
\n
DIV.yy-spacer {\n
\theight:1em;\n
}\n
\n
DIV.yy-article {\n
\n
}\n
\n
DIV.yy-article TABLE {\n
\twidth: 100%;\n
\tmax-width: 1000px;\n
}\n
\n
DIV.yy-article STRONG {\n
\tfont-weight:bold;\n
\tcolor:#000000;\n
\tdisplay:block;\n
\tmargin-bottom: 0.5em;\n
}\n
\n
DIV.yy-article TABLE TR TH {\n
\tpadding-left: 0.5em;\n
\tpadding-right: 0.5em;\n
\ttext-align: left;\n
\tbackground-color: #d0d0d0 !important;\n
\twidth: 25%;\n
}\n
\n
DIV.yy-article TABLE TR TD {\n
\tpadding-left: 0.5em;\n
\tpadding-right: 0.5em;\n
\ttext-align: left;\n
}\n
\n
DIV.yy-article TABLE TR.color1 {\n
\tbackground-color: #f5f5f5;\n
}\n
\n
DIV.yy-article TABLE TR.color2 {\n
\tbackground-color: #e0e0e0;\n
}\n
</style>\n
\n
<center>\n
<h1>Formale Methoden 2</h1>\n
<h2>Wintersemester 2017/18</h2>\n
<table cellpadding="5" cellspacing="10">\n
\t<tbody><tr align="center">\n
\t\t<td><h3><a href="/grav/grav_files/people/bollig">Prof. (apl) Dr. Beate Bollig</a></h3></td>\n
\t</tr>\n
</tbody></table>\n
</center>\n
\n
<hr>\n
\n
<p>\n
<a href="#Termine">[Termine]</a>\n
<a href="#Inhalt">[Inhalt]</a>\n
<a href="#Literatur">[Literatur]</a>\n
<a href="#Hinweis">[Hinweis]</a>\n
<a href="#Organisation">[Organisation]</a>\n
<a href="#Veranstaltungsmaterialien">[Veranstaltungsmaterialien]</a>\n
</p>\n
\n
<hr>\n
\n
<p>\n
<h3><a name="Termine">Termine</a></h3>\n
</p>\n
\n
Fr 12-14 Uhr, OH 14 R 304 <br>\n
Beginn 13.10.2017\n
<p>\n
<p>\n
\n
\n
<hr>\n
\n
\n
<h3><a name="Inhalt">Inhalt</a></h3>\n
<p>\n
Die Veranstaltung Formale Methoden 2 vermittelt die zum Verständnis der Vorlesung \n
Grundbegriffe der Theoretischen Informatik BL (GTI-BL) und\n
Theoretische Informatik für BK (TIfBK)\n
benötigten mathematischen Grundlagen\n
für Studierende der Bachelorstudiengänge Lehramt Informatik Gy/Ge und BK.\n
Inhaltlich geht es u.a. um den Umgang mit mathematischer Notation,\n
Mengen, Relationen und Abbildungen,\n
mathematische Beweistechniken, rekursive und induktive Definitionen,\n
Codierung,\n
Grundelemente der Prädikatenlogik,\n
Grundbegriffe der Graphentheorie und\n
elementare Grundbegriffe aus der Wahrscheinlichkeitstheorie.\n
\n
<p>\n
\n
</p>\n
\n
<p>\n
</p>\n
\n
<p>\n
</p>\n
\n
\n
<hr>\n
\n
\n
<h3><a name="Literatur">Literatur</a></h3>\n
\n
<ul>\n
Die folgende Literatur ist insbesondere für Studienanfänger und -anfängerinnen geeignet.\n
<p>\n
<li> Grieser, D. (2012). <br>\n
Mathematisches Problemlösen und Beweisen. <br>\n
Springer Spektrum. \n
<h4>Das Buch ist aus dem Hochschulnetz der TU Dortmund als pdf-Dokument verfügbar.</h4>\n
</li>\n
<p>\n
\t<li> Jukna, S. (2008). <br>\n
Crashkurs Mathematik für Informatiker. <br>\n
Teubner.\n
<h4>Das Buch ist aus dem Hochschulnetz der TU Dortmund als pdf-Dokument verfügbar.</h4>\n
Das Buch zeichnet sich insbesondere durch seinen Bezug zur Informatik aus.\n
</li>\n
\n
<p>\n
<li> Schichl, H., Steinbauer, R. (2011). <br>\n
Einführung in das mathematische Arbeiten, 2. Auflage. <br>\n
Springer Spektrum.\n
<h4>Das Buch ist aus dem Hochschulnetz der TU Dortmund als pdf-Dokument verfügbar.</h4>\n
</li>\n
<p>\n
\t<li> Schickinger, T., Steger, A. (2001). <br>\n
Diskrete Strukturen, Band 2. <br>\n
Springer.\n
<h4>Das Buch ist in der Universitätsbibliothek der TU Dortmund vorhanden.</h4>\n
<p>\n
\t<li> Steger, A. (2001). <br>\n
Diskrete Strukturen, Band 1. <br>\n
Springer.\n
<h4>Das Buch ist aus dem Hochschulnetz der TU Dortmund als pdf-Dokument verfügbar.</h4>\n
</li>\n
<p>\n
\n
</ul>\n
\n
<hr>\n
<p>\n
<h3><a name="Hinweis">Hinweis</a></h3>\n
</p>\n
\n
Die Veranstaltung Formale Methoden 2 ist Teil der Module INF-BL-104 \n
und INF-BL-105. Eine Studienleistung in Formale Methoden 2 ist Voraussetzung \n
für die jeweilige Modulprüfung.<br>\n
\n
<p>\n
Formale Methoden 2 ist eine 1V+1Ü Veranstaltung. Vorlesung und Übung wechseln sich wöchentlich ab.\n
\n
<p>\n
<hr>\n
<h3><a name="Organisation">Organisation</a></h3>\n
\n
<strong>Die Studienleistung erfolgt durch \n
aktive Mitarbeit in der Veranstaltung inklusive Präsentationen (z.B. von Aufgabenlösungen)\n
an der Tafel sowie ein mündliches Fachgespräch im Anschluss an die Veranstaltung.</strong>\n
\n
<p>\n
Die Fachgespräche werden voraussichtlich in der ersten Woche nach Veranstaltungsende stattfinden. \n
</p>\n
<hr>\n
<h3><a name="Veranstaltungsmaterialien">Veranstaltungsmaterialien</a></h3>\n
<p>\n
<div class="yy-article">\n
<strong>Vorlesungsfolien</strong>\n
Hier werden jeweils die aktuellen Vorlesungsfolien in der <em>Druckversion</em> hochgeladen.<br/>\n
<div class="yy-spacer"></div>\n
<table border="0" cellspacing="0">\n
\n
<tr>\n
<th>Inhalt</th>\n
<th>Folien</th>\n
<th>Version</th>\n
<th>Notizen</th>\n
</tr>\n
\n
<tr class="color1">\n
<td>Einführung, Mengen und Relationen</td>\n
<td><a href="/grav/grav_files/people/bollig/FM2_WS17/Folien/fM2_1.pdf">PDF</a></td>\n
<td>27.10.2017</td>\n
<td>Folie 21 und 43\n
Tippfehler korrigiert</td>\n
</tr>\n
\n
<tr class="color2">\n
<td>Beweistechniken</td>\n
<td><a href="/grav/grav_files/people/bollig/FM2_WS17/Folien/fM2_2.pdf">PDF</a></td>\n
<td>01.12.2017</td>\n
<td>Vereinfachung auf Folie 77</td>\n
</tr>\n
\n
<tr class="color1">\n
<td>Codierung</td>\n
<td><a href="/grav/grav_files/people/bollig/FM2_WS17/Folien/fM2_3.pdf">PDF</a></td>\n
<td>01.12.2017</td>\n
<td></td>\n
</tr>\n
\n
<tr class="color2">\n
<td>Graphentheorie I</td>\n
<td><a href="/grav/grav_files/people/bollig/FM2_WS17/Folien/fM2_4.pdf">PDF</a></td>\n
<td>14.12.2017</td>\n
<td>Folie 86 Tippfehler korrigiert</td>\n
</tr>\n
\n
<tr class="color1">\n
<td>Graphentheorie II</td>\n
<td><a href="/grav/grav_files/people/bollig/FM2_WS17/Folien/fM2_5.pdf">PDF</a></td>\n
<td>10.01.2018</td>\n
<td></td>\n
</tr>\n
\n
<tr class="color2">\n
<td>Wahrscheinlichkeitstheorie</td>\n
<td><a href="/grav/grav_files/people/bollig/FM2_WS17/Folien/fM2_6.pdf">PDF</a></td>\n
<td>Noch nicht freigegeben</td>\n
<td></td>\n
</tr>\n
\n
<tr class="color1">\n
<td><strong>Formale Methoden 2 (gesamt)</strong></td>\n
<td><a href="/grav/grav_files/people/bollig/FM2_WS17/Folien/fM2_gesamt.pdf">PDF</a></td>\n
<td>Folien bis Graphentheorie II</td>\n
<td>Version 10.01.2018</td>\n
</tr>\n
\n
</table>\n
</div>\n
<div class="yy-spacer"></div>\n
\n
<!-- Ende der Vorlesungsfolien -->\n
\n
<!-- Beginn der Ãbungsaufgaben -->\n
\n
<div class="yy-article">\n
<strong>Übungsaufgaben</strong>\n
Hier wird jeweils das aktuelle Übungsblatt hochgeladen.<br/>\n
<div class="yy-spacer"></div>\n
<table border="0" cellspacing="0">\n
\n
<tr>\n
<th>Nr.</th>\n
<th>Download</th>\n
<th>Version</th>\n
<th>Notizen</th>\n
</tr>\n
\n
<tr class="color1">\n
<td>Übungsblatt 1</td>\n
<td><a href="/grav/grav_files/people/bollig/FM2_WS17/Uebungen/fmBlatt01.pdf">PDF</a></td>\n
<td>13.10.2017</td>\n
<td></td>\n
</tr>\n
\n
<tr class="color2">\n
<td>Übungsblatt 2</td>\n
<td><a href="/grav/grav_files/people/bollig/FM2_WS17/Uebungen/fmBlatt02.pdf">PDF</a></td>\n
<td>20.10.2017</td>\n
<td></td>\n
</tr>\n
\n
<tr class="color1">\n
<td>Übungsblatt 3</td>\n
<td><a href="/grav/grav_files/people/bollig/FM2_WS17/Uebungen/fmBlatt03.pdf">PDF</a></td>\n
<td>21.11.2017</td>\n
<td>Tippfehler bei Aufgabe 3.1 korrigiert</td>\n
</tr>\n
\n
<tr class="color2">\n
<td>Übungsblatt 4</td>\n
<td><a href="/grav/grav_files/people/bollig/FM2_WS17/Uebungen/fmBlatt04.pdf">PDF</a></td>\n
<td>05.12.2017</td>\n
<td>Hinweis zu Aufgabe 4.1 ergänzt<br>\n
Definition charakteristische Funktion einer Sprache siehe Folie 19</td>\n
</tr>\n
\n
<tr class="color1">\n
<td>Übungsblatt 5</td>\n
<td><a href="/grav/grav_files/people/bollig/FM2_WS17/Uebungen/fmBlatt05.pdf">PDF</a></td>\n
<td>15.12.2017</td>\n
<td>Tippfehler korrigiert</td>\n
</tr>\n
\n
<tr class="color2">\n
<td>Übungsblatt 6</td>\n
<td><a href="/grav/grav_files/people/bollig/FM2_WS17/Uebungen/fmBlatt06.pdf">PDF</a></td>\n
<td>22.12.2017</td>\n
<td></td>\n
</tr>\n
\n
<tr class="color1">\n
<td>Übungsblatt 7</td>\n
<td><a href="/grav/grav_files/people/bollig/FM2_WS17/Uebungen/fmBlatt07.pdf">PDF</a></td>\n
<td>19.01.2018</td>\n
<td>Aufgabe 7.4 ist eine Zusatzaufgabe</td>\n
</tr>\n
\n
</table>\n
</div>\n
<div class="yy-spacer"></div>\n
</p>\n
\n
<hr>\n
<a href="#OBEN">Seitenanfang</a>\n
<p>\n
</p>\n
<address>\n
<align="right">Letzte Änderung: 25.01.2018 von B. Bollig\n
</address>\n
\n
\n
\n
<br class="clear">\n
</div>\n
</div>\n
\n
\n
"""
]
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Common/Service/OutputServiceProvider.php
namespace Grav\Common\Service;
use Grav\Common\Page\Interfaces\PageInterface;
use Grav\Common\Twig\Twig;
use Pimple\Container;
use Pimple\ServiceProviderInterface;
class OutputServiceProvider implements ServiceProviderInterface
{
public function register(Container $container)
{
$container['output'] = function ($c) {
/** @var Twig $twig */
$twig = $c['twig'];
/** @var PageInterface $page */
$page = $c['page'];
return $twig->processSite($page->templateFormat());
};
}
}
Arguments
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/vendor/pimple/pimple/src/Pimple/Container.php
{
if (!isset($this->keys[$id])) {
throw new UnknownIdentifierException($id);
}
if (
isset($this->raw[$id])
|| !\is_object($this->values[$id])
|| isset($this->protected[$this->values[$id]])
|| !\method_exists($this->values[$id], '__invoke')
) {
return $this->values[$id];
}
if (isset($this->factories[$this->values[$id]])) {
return $this->values[$id]($this);
}
$raw = $this->values[$id];
$val = $this->values[$id] = $raw($this);
$this->raw[$id] = $raw;
$this->frozen[$id] = true;
return $val;
}
/**
* Checks if a parameter or an object is set.
*
* @param string $id The unique identifier for the parameter or object
*
* @return bool
*/
public function offsetExists($id)
{
return isset($this->keys[$id]);
}
/**
Arguments
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Common/Processors/RenderProcessor.php
namespace Grav\Common\Processors;
use Grav\Common\Page\Interfaces\PageInterface;
use Grav\Framework\Psr7\Response;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class RenderProcessor extends ProcessorBase
{
public $id = 'render';
public $title = 'Render';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
{
$this->startTimer();
$container = $this->container;
$output = $container['output'];
if ($output instanceof ResponseInterface) {
return $output;
}
ob_start();
// Use internal Grav output.
$container->output = $output;
$container->fireEvent('onOutputGenerated');
echo $container->output;
// remove any output
$container->output = '';
$this->container->fireEvent('onOutputRendered');
$html = ob_get_clean();
Arguments
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/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
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Common/Processors/DebuggerAssetsProcessor.php
namespace Grav\Common\Processors;
use Grav\Framework\Psr7\Response;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class DebuggerAssetsProcessor extends ProcessorBase
{
public $id = 'debugger_assets';
public $title = 'Debugger Assets';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
{
$this->startTimer();
$this->container['debugger']->addAssets();
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/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
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Common/Processors/PagesProcessor.php
$this->addMessage("Routed to page {$page->rawRoute()} (type: {$page->template()}) [Not Found fallback]");
} else {
$this->addMessage("Routed to page {$page->rawRoute()} (type: {$page->template()})");
$task = $this->container['task'];
$action = $this->container['action'];
if ($task) {
$event = new Event(['task' => $task, 'page' => $page]);
$this->container->fireEvent('onPageTask', $event);
$this->container->fireEvent('onPageTask.' . $task, $event);
} elseif ($action) {
$event = new Event(['action' => $action, 'page' => $page]);
$this->container->fireEvent('onPageAction', $event);
$this->container->fireEvent('onPageAction.' . $action, $event);
}
}
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {#160}
RequestHandler {#225}
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/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
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Common/Processors/TwigProcessor.php
*/
namespace Grav\Common\Processors;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class TwigProcessor extends ProcessorBase
{
public $id = 'twig';
public $title = 'Twig';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
{
$this->startTimer();
$this->container['twig']->init();
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {#160}
RequestHandler {#201}
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/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
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Common/Processors/AssetsProcessor.php
namespace Grav\Common\Processors;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class AssetsProcessor extends ProcessorBase
{
public $id = '_assets';
public $title = 'Assets';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
{
$this->startTimer();
$this->container['assets']->init();
$this->container->fireEvent('onAssetsInitialized');
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {#160}
RequestHandler {#198}
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/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
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Common/Processors/SchedulerProcessor.php
namespace Grav\Common\Processors;
use RocketTheme\Toolbox\Event\Event;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class SchedulerProcessor extends ProcessorBase
{
public $id = '_scheduler';
public $title = 'Scheduler';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
{
$this->startTimer();
$scheduler = $this->container['scheduler'];
$this->container->fireEvent('onSchedulerInitialized', new Event(['scheduler' => $scheduler]));
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {#160}
RequestHandler {#168}
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/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
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Common/Processors/BackupsProcessor.php
namespace Grav\Common\Processors;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class BackupsProcessor extends ProcessorBase
{
public $id = '_backups';
public $title = 'Backups';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
{
$this->startTimer();
$backups = $this->container['backups'];
$backups->init();
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {#160}
RequestHandler {#165}
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/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
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Common/Processors/TasksProcessor.php
}
$this->stopTimer();
return $response;
} catch (NotFoundException $e) {
// Task not found: Let it pass through.
}
}
if ($task) {
$this->container->fireEvent('onTask.' . $task);
} elseif ($action) {
$this->container->fireEvent('onAction.' . $action);
}
}
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {#160}
RequestHandler {#163}
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/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
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Common/Processors/RequestProcessor.php
$uri = $request->getUri();
$ext = mb_strtolower(pathinfo($uri->getPath(), PATHINFO_EXTENSION));
$request = $request
->withAttribute('grav', $this->container)
->withAttribute('time', $_SERVER['REQUEST_TIME_FLOAT'] ?? GRAV_REQUEST_TIME)
->withAttribute('route', Uri::getCurrentRoute()->withExtension($ext))
->withAttribute('referrer', $this->container['uri']->referrer());
$event = new RequestHandlerEvent(['request' => $request, 'handler' => $handler]);
/** @var RequestHandlerEvent $event */
$event = $this->container->fireEvent('onRequestHandlerInit', $event);
$response = $event->getResponse();
$this->stopTimer();
if ($response) {
return $response;
}
return $handler->handle($request);
}
}
Arguments
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {#160}
RequestHandler {#158}
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/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
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Common/Processors/ThemesProcessor.php
*/
namespace Grav\Common\Processors;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class ThemesProcessor extends ProcessorBase
{
public $id = 'themes';
public $title = 'Themes';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
{
$this->startTimer();
$this->container['themes']->init();
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {#69}
RequestHandler {#151}
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/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
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Common/Processors/PluginsProcessor.php
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class PluginsProcessor extends ProcessorBase
{
public $id = 'plugins';
public $title = 'Plugins';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
{
$this->startTimer();
// TODO: remove in 2.0.
$this->container['accounts'];
$this->container['plugins']->init();
$this->container->fireEvent('onPluginsInitialized');
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {#69}
RequestHandler {#133}
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/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
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Common/Processors/InitializeProcessor.php
}
/** @var Uri $uri */
$uri = $this->container['uri'];
$uri->init();
// Redirect pages with trailing slash if configured to do so.
$path = $uri->path() ?: '/';
if ($path !== '/'
&& $config->get('system.pages.redirect_trailing_slash', false)
&& Utils::endsWith($path, '/')) {
$redirect = (string) $uri::getCurrentRoute()->toString();
$this->container->redirect($redirect);
}
$this->container->setLocale();
$this->stopTimer();
return $handler->handle($request);
}
public function processCli(): void
{
// Load configuration.
$this->container['config']->init();
$this->container['plugins']->setup();
// Disable debugger.
$this->container['debugger']->enabled(false);
// Set timezone, locale.
/** @var Config $config */
$config = $this->container['config'];
$timezone = $config->get('system.timezone');
if ($timezone) {
date_default_timezone_set($timezone);
}
$this->container->setLocale();
Arguments
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {#69}
RequestHandler {#125}
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/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
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Common/Processors/DebuggerProcessor.php
*/
namespace Grav\Common\Processors;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class DebuggerProcessor extends ProcessorBase
{
public $id = '_debugger';
public $title = 'Init Debugger';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
{
$this->startTimer();
$this->container['debugger']->init();
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {#69}
RequestHandler {#123}
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/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
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Common/Processors/ErrorsProcessor.php
*/
namespace Grav\Common\Processors;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class ErrorsProcessor extends ProcessorBase
{
public $id = '_errors';
public $title = 'Error Handlers Reset';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
{
$this->startTimer();
$this->container['errors']->resetHandlers();
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {#69}
RequestHandler {#111}
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/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
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Common/Processors/LoggerProcessor.php
/** @var Config $config */
$config = $grav['config'];
switch ($config->get('system.log.handler', 'file')) {
case 'syslog':
$log = $grav['log'];
$log->popHandler();
$facility = $config->get('system.log.syslog.facility', 'local6');
$logHandler = new SyslogHandler('grav', $facility);
$formatter = new LineFormatter("%channel%.%level_name%: %message% %extra%");
$logHandler->setFormatter($formatter);
$log->pushHandler($logHandler);
break;
}
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {#69}
RequestHandler {#100}
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/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
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Common/Processors/ConfigurationProcessor.php
namespace Grav\Common\Processors;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class ConfigurationProcessor extends ProcessorBase
{
public $id = '_config';
public $title = 'Configuration';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
{
$this->startTimer();
$this->container['config']->init();
$this->container['plugins']->setup();
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {#69}
RequestHandler {#93}
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/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
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/system/src/Grav/Common/Grav.php
},
'debuggerAssetsProcessor' => function () {
return new DebuggerAssetsProcessor($this);
},
'renderProcessor' => function () {
return new RenderProcessor($this);
},
]
);
$default = function (ServerRequestInterface $request) {
return new Response(404);
};
/** @var Debugger $debugger */
$debugger = $this['debugger'];
$collection = new RequestHandler($this->middleware, $default, $container);
$response = $collection->handle($this['request']);
$body = $response->getBody();
// Handle ETag and If-None-Match headers.
if ($response->getHeaderLine('ETag') === '1') {
$etag = md5($body);
$response = $response->withHeader('ETag', $etag);
if ($this['request']->getHeaderLine('If-None-Match') === $etag) {
$response = $response->withStatus(304);
$body = '';
}
}
$this->header($response);
echo $body;
$debugger->render();
register_shutdown_function([$this, 'shutdown']);
}
Arguments
/var/www/vhosts/ls2-www.cs.tu-dortmund.de/httpdocs/grav/index.php
if (!is_file($autoload)) {
die('Please run: <i>bin/grav install</i>');
}
// Register the auto-loader.
$loader = require $autoload;
use Grav\Common\Grav;
use RocketTheme\Toolbox\Event\Event;
// Get the Grav instance
$grav = Grav::instance(
array(
'loader' => $loader
)
);
// Process the page
try {
$grav->process();
} catch (\Error $e) {
$grav->fireEvent('onFatalException', new Event(array('exception' => $e)));
throw $e;
} catch (\Exception $e) {
$grav->fireEvent('onFatalException', new Event(array('exception' => $e)));
throw $e;
}