protected function doDisplay(array $context, array $blocks = array()) { $__internal_d5df272f6546f4a41daabb9a4980540cc0a5ad45d38339ad747f462cf3817597 = $this->env->getExtension("native_profiler"); $__internal_d5df272f6546f4a41daabb9a4980540cc0a5ad45d38339ad747f462cf3817597->enter($__internal_d5df272f6546f4a41daabb9a4980540cc0a5ad45d38339ad747f462cf3817597_prof = new Twig_Profiler_Profile($this->getTemplateName(), "template", "links2.html")); // line 1 echo "<a class=\"list-group-item\" href=\"#\">\n <h4 class=\"list-group-item-heading\">INFOS SUR LES LIENS : </h4>\n<p class=\"list-group-item-text\">"; // line 3 echo twig_escape_filter($this->env, isset($context["nblinks2"]) ? $context["nblinks2"] : $this->getContext($context, "nblinks2"), "html", null, true); echo " "; echo twig_escape_filter($this->env, twig_convert_encoding(" lien(s) trouvé(s)", "UTF-8", " iso-8859-1"), "html", null, true); echo "</p>\n\t<ul style=\"list-style-type: none;\">"; // line 4 $context['_parent'] = $context; $context['_seq'] = twig_ensure_traversable(range(0, (isset($context["nblinks2"]) ? $context["nblinks2"] : $this->getContext($context, "nblinks2")) - 1)); foreach ($context['_seq'] as $context["_key"] => $context["i"]) { // line 5 echo "\t\t\t<li>Texte de l'ancre du lien : "; echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute(isset($context["links2"]) ? $context["links2"] : $this->getContext($context, "links2"), $context["i"], array(), "array"), 0, array(), "array"), "html", null, true); echo "</li>\n\t\t\t<li>Lien de la page de destination : "; // line 6 echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute(isset($context["links2"]) ? $context["links2"] : $this->getContext($context, "links2"), $context["i"], array(), "array"), 1, array(), "array"), "html", null, true); echo "</li>\n\t\t\t<li>Attribut title du lien : "; // line 7 echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute(isset($context["links2"]) ? $context["links2"] : $this->getContext($context, "links2"), $context["i"], array(), "array"), 2, array(), "array"), "html", null, true); echo "</li>\n\t\t\t<br>\n\t\t"; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['i'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; // line 10 echo "\t</ul>\n \n</a> \n"; $__internal_d5df272f6546f4a41daabb9a4980540cc0a5ad45d38339ad747f462cf3817597->leave($__internal_d5df272f6546f4a41daabb9a4980540cc0a5ad45d38339ad747f462cf3817597_prof); }
public function testReverseFilterOnNonUTF8String() { if (!function_exists('iconv') && !function_exists('mb_convert_encoding')) { $this->markTestSkipped('needs iconv or mbstring'); } $twig = new Twig_Environment($this->getMock('Twig_LoaderInterface')); $twig->setCharset('ISO-8859-1'); $input = twig_convert_encoding('Äé', 'ISO-8859-1', 'UTF-8'); $output = twig_convert_encoding(twig_reverse_filter($twig, $input), 'UTF-8', 'ISO-8859-1'); $this->assertEquals($output, 'éÄ'); }
public function block_panel($context, array $blocks = array()) { // line 34 echo " <h2>Messages "; echo $this->getAttribute($this->getContext($context, "collector"), "isSpool") ? "spooled" : "sent"; echo "</h2>\n\n "; // line 36 if (!$this->getAttribute($this->getContext($context, "collector"), "messages")) { // line 37 echo " <p>\n <em>No message sent.</em>\n </p>\n "; } else { // line 41 echo " "; $context['_parent'] = (array) $context; $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getContext($context, "collector"), "messages")); foreach ($context['_seq'] as $context["i"] => $context["message"]) { // line 42 echo " <h3>Message "; echo twig_escape_filter($this->env, $this->getContext($context, "i") + 1, "html", null, true); echo " / "; echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "collector"), "messagecount"), "html", null, true); echo "</h3>\n\n "; // line 44 $context['_parent'] = (array) $context; $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getAttribute($this->getContext($context, "message"), "headers"), "all")); foreach ($context['_seq'] as $context["_key"] => $context["header"]) { // line 45 echo " <pre>"; echo twig_escape_filter($this->env, $this->getContext($context, "header"), "html", null, true); echo "</pre>\n "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['header'], $context['_parent'], $context['loop']); $context = array_merge($_parent, array_intersect_key($context, $_parent)); // line 47 echo "\n <p>\n <pre>"; // line 50 if ($this->getAttribute($this->getContext($context, "message"), "charset")) { // line 51 echo twig_escape_filter($this->env, twig_convert_encoding(twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "message"), "body"), "html", $this->getAttribute($this->getContext($context, "message"), "charset")), "UTF-8", $this->getAttribute($this->getContext($context, "message"), "charset")), "html", null, true); } else { // line 53 echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "message"), "body"), "html"); } // line 55 echo "</pre>\n </p>\n "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['i'], $context['message'], $context['_parent'], $context['loop']); $context = array_merge($_parent, array_intersect_key($context, $_parent)); // line 58 echo " "; } }
public function block_panel($context, array $blocks = array()) { $__internal_bc2dfa2f75a4283535b6eb0c6ed2d7f2100d58cb7fe3fb1c1eab67164914aa0a = $this->env->getExtension("native_profiler"); $__internal_bc2dfa2f75a4283535b6eb0c6ed2d7f2100d58cb7fe3fb1c1eab67164914aa0a->enter($__internal_bc2dfa2f75a4283535b6eb0c6ed2d7f2100d58cb7fe3fb1c1eab67164914aa0a_prof = new Twig_Profiler_Profile($this->getTemplateName(), "block", "panel")); // line 73 echo " "; $context["profiler_markup_version"] = array_key_exists("profiler_markup_version", $context) ? _twig_default_filter(isset($context["profiler_markup_version"]) ? $context["profiler_markup_version"] : $this->getContext($context, "profiler_markup_version"), 1) : 1; // line 74 echo "\n "; // line 75 if ((isset($context["profiler_markup_version"]) ? $context["profiler_markup_version"] : $this->getContext($context, "profiler_markup_version")) == 1) { // line 76 echo " <style>\n h3 { margin-top: 2em; }\n h3 span { color: #999; font-weight: normal; }\n h3 small { color: #999; }\n h4 { font-size: 14px; font-weight: bold; }\n .card { background: #F5F5F5; margin: .5em 0 1em; padding: .5em; }\n .card .label { display: block; font-size: 13px; font-weight: bold; margin-bottom: .5em; }\n .card .card-block { margin-bottom: 1em; }\n </style>\n "; } // line 86 echo "\n <h2>E-mails</h2>\n\n "; // line 89 if (!$this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "mailers", array())) { // line 90 echo " <div class=\"empty\">\n <p>No e-mail messages were sent.</p>\n </div>\n "; } // line 94 echo "\n "; // line 95 if ((isset($context["profiler_markup_version"]) ? $context["profiler_markup_version"] : $this->getContext($context, "profiler_markup_version")) == 1 || twig_length_filter($this->env, $this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "mailers", array())) > 1) { // line 96 echo " <table>\n <thead>\n <tr>\n <th scope=\"col\">Mailer Name</th>\n <th scope=\"col\">Num. of messages</th>\n <th scope=\"col\">Messages status</th>\n <th scope=\"col\">Notes</th>\n </tr>\n </thead>\n <tbody>\n "; // line 106 $context['_parent'] = $context; $context['_seq'] = twig_ensure_traversable($this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "mailers", array())); foreach ($context['_seq'] as $context["_key"] => $context["name"]) { // line 107 echo " <tr>\n <th class=\"font-normal\">"; // line 108 echo twig_escape_filter($this->env, $context["name"], "html", null, true); echo "</th>\n <td class=\"font-normal\">"; // line 109 echo twig_escape_filter($this->env, $this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "messageCount", array(0 => $context["name"]), "method"), "html", null, true); echo "</td>\n <td class=\"font-normal\">"; // line 110 echo $this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "isSpool", array(0 => $context["name"]), "method") ? "spooled" : "sent"; echo "</td>\n <td class=\"font-normal\">"; // line 111 echo $this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "isDefaultMailer", array(0 => $context["name"]), "method") ? "This is the default mailer" : ""; echo "</td>\n </tr>\n "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['name'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; // line 114 echo " </tbody>\n </table>\n "; } else { // line 117 echo " <div class=\"metrics\">\n "; // line 118 $context['_parent'] = $context; $context['_seq'] = twig_ensure_traversable($this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "mailers", array())); foreach ($context['_seq'] as $context["_key"] => $context["name"]) { // line 119 echo " <div class=\"metric\">\n <span class=\"value\">"; // line 120 echo twig_escape_filter($this->env, $this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "messageCount", array(0 => $context["name"]), "method"), "html", null, true); echo "</span>\n <span class=\"label\">"; // line 121 echo $this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "isSpool", array(0 => $context["name"]), "method") ? "spooled" : "sent"; echo " "; echo $this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "messageCount", array(0 => $context["name"]), "method") == 1 ? "message" : "messages"; echo "</span>\n </div>\n "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['name'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; // line 124 echo " </div>\n "; } // line 126 echo "\n "; // line 127 $context['_parent'] = $context; $context['_seq'] = twig_ensure_traversable($this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "mailers", array())); foreach ($context['_seq'] as $context["_key"] => $context["name"]) { // line 128 echo " "; if (twig_length_filter($this->env, $this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "mailers", array())) > 1) { // line 129 echo " <h3>\n "; // line 130 echo twig_escape_filter($this->env, $context["name"], "html", null, true); echo " <span>mailer</span>\n <small>"; // line 131 echo $this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "isDefaultMailer", array(0 => $context["name"]), "method") ? "(default app mailer)" : ""; echo "</small>\n </h3>\n "; } // line 134 echo "\n "; // line 135 if (!$this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "messages", array(0 => $context["name"]), "method")) { // line 136 echo " <div class=\"empty\">\n <p>No e-mail messages were sent.</p>\n </div>\n "; } else { // line 140 echo " "; $context['_parent'] = $context; $context['_seq'] = twig_ensure_traversable($this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "messages", array(0 => $context["name"]), "method")); $context['loop'] = array('parent' => $context['_parent'], 'index0' => 0, 'index' => 1, 'first' => true); if (is_array($context['_seq']) || is_object($context['_seq']) && $context['_seq'] instanceof Countable) { $length = count($context['_seq']); $context['loop']['revindex0'] = $length - 1; $context['loop']['revindex'] = $length; $context['loop']['length'] = $length; $context['loop']['last'] = 1 === $length; } foreach ($context['_seq'] as $context["_key"] => $context["message"]) { // line 141 echo " "; if ($this->getAttribute($context["loop"], "length", array()) > 1) { // line 142 echo " <h4>E-mail #"; echo twig_escape_filter($this->env, $this->getAttribute($context["loop"], "index", array()), "html", null, true); echo " details</h4>\n "; } else { // line 144 echo " <h4>E-mail details</h4>\n "; } // line 146 echo "\n <div class=\"card\">\n <div class=\"card-block\">\n <span class=\"label\">Message headers</span>\n <pre>"; // line 150 $context['_parent'] = $context; $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getAttribute($context["message"], "headers", array()), "all", array())); foreach ($context['_seq'] as $context["_key"] => $context["header"]) { // line 151 echo twig_escape_filter($this->env, $context["header"], "html", null, true); } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['header'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; // line 152 echo "</pre>\n </div>\n\n <div class=\"card-block\">\n <span class=\"label\">Message body</span>\n <pre>"; // line 158 if ($this->getAttribute(isset($context["messagePart"]) ? $context["messagePart"] : null, "charset", array(), "any", true, true) && $this->getAttribute($context["message"], "charset", array())) { // line 159 echo twig_escape_filter($this->env, twig_convert_encoding($this->getAttribute($context["message"], "body", array()), "UTF-8", $this->getAttribute($context["message"], "charset", array())), "html", null, true); } else { // line 161 echo twig_escape_filter($this->env, $this->getAttribute($context["message"], "body", array()), "html", null, true); } // line 163 echo "</pre>\n </div>\n\n "; // line 166 $context['_parent'] = $context; $context['_seq'] = twig_ensure_traversable($this->getAttribute($context["message"], "children", array())); foreach ($context['_seq'] as $context["_key"] => $context["messagePart"]) { if (twig_in_filter($this->getAttribute($context["messagePart"], "contentType", array()), array(0 => "text/plain", 1 => "text/html"))) { // line 167 echo " <div class=\"card-block\">\n <span class=\"label\">Alternative part ("; // line 168 echo twig_escape_filter($this->env, $this->getAttribute($context["messagePart"], "contentType", array()), "html", null, true); echo ")</span>\n <pre>"; // line 170 if ($this->getAttribute($context["messagePart"], "charset", array())) { // line 171 echo twig_escape_filter($this->env, twig_convert_encoding($this->getAttribute($context["messagePart"], "body", array()), "UTF-8", $this->getAttribute($context["messagePart"], "charset", array())), "html", null, true); } else { // line 173 echo twig_escape_filter($this->env, $this->getAttribute($context["messagePart"], "body", array()), "html", null, true); } // line 175 echo "</pre>\n </div>\n "; } } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['messagePart'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; // line 178 echo " </div>\n "; ++$context['loop']['index0']; ++$context['loop']['index']; $context['loop']['first'] = false; if (isset($context['loop']['length'])) { --$context['loop']['revindex0']; --$context['loop']['revindex']; $context['loop']['last'] = 0 === $context['loop']['revindex0']; } } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['message'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; // line 180 echo " "; } // line 181 echo " "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['name'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; $__internal_bc2dfa2f75a4283535b6eb0c6ed2d7f2100d58cb7fe3fb1c1eab67164914aa0a->leave($__internal_bc2dfa2f75a4283535b6eb0c6ed2d7f2100d58cb7fe3fb1c1eab67164914aa0a_prof); }
/** * This function is adapted from code coming from Zend Framework. * * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ function _twig_escape_html_attr_callback($matches) { /* * While HTML supports far more named entities, the lowest common denominator * has become HTML5's XML Serialisation which is restricted to the those named * entities that XML supports. Using HTML entities would result in this error: * XML Parsing Error: undefined entity */ static $entityMap = array(34 => 'quot', 38 => 'amp', 60 => 'lt', 62 => 'gt'); $chr = $matches[0]; $ord = ord($chr); /** * The following replaces characters undefined in HTML with the * hex entity for the Unicode replacement character. */ if ($ord <= 0x1f && $chr != "\t" && $chr != "\n" && $chr != "\r" || $ord >= 0x7f && $ord <= 0x9f) { return '�'; } /** * Check if the current character to escape has a name entity we should * replace it with while grabbing the hex value of the character. */ if (strlen($chr) == 1) { $hex = strtoupper(substr('00' . bin2hex($chr), -2)); } else { $chr = twig_convert_encoding($chr, 'UTF-16BE', 'UTF-8'); $hex = strtoupper(substr('0000' . bin2hex($chr), -4)); } $int = hexdec($hex); if (array_key_exists($int, $entityMap)) { return sprintf('&%s;', $entityMap[$int]); } /** * Per OWASP recommendations, we'll use hex entities for any other * characters where a named entity does not exist. */ return sprintf('&#x%s;', $hex); }
public function block_panel($context, array $blocks = array()) { $__internal_729d2ff73542dbc0735d8864c619747ddf664be50a50dfe070f7284bb2db36fa = $this->env->getExtension("native_profiler"); $__internal_729d2ff73542dbc0735d8864c619747ddf664be50a50dfe070f7284bb2db36fa->enter($__internal_729d2ff73542dbc0735d8864c619747ddf664be50a50dfe070f7284bb2db36fa_prof = new Twig_Profiler_Profile($this->getTemplateName(), "block", "panel")); // line 42 echo " <h2>Messages</h2>\n\n <table>\n <thead>\n <tr>\n <th scope=\"col\">Mailer</th>\n <th scope=\"col\">Messages</th>\n </tr>\n </thead>\n <tbody>\n "; // line 52 $context['_parent'] = $context; $context['_seq'] = twig_ensure_traversable($this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "mailers", array())); foreach ($context['_seq'] as $context["_key"] => $context["name"]) { // line 53 echo " <tr>\n <th>"; // line 54 echo twig_escape_filter($this->env, $context["name"], "html", null, true); echo $this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "isDefaultMailer", array(0 => $context["name"]), "method") ? " (default mailer)" : ""; echo "</th>\n <td>"; // line 55 echo twig_escape_filter($this->env, $this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "messageCount", array(0 => $context["name"]), "method"), "html", null, true); echo " "; echo $this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "isSpool", array(0 => $context["name"]), "method") ? "spooled" : "sent"; echo "</td>\n </tr>\n "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['name'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; // line 58 echo " </tbody>\n </table>\n\n "; // line 61 $context['_parent'] = $context; $context['_seq'] = twig_ensure_traversable($this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "mailers", array())); foreach ($context['_seq'] as $context["_key"] => $context["name"]) { // line 62 echo " <h3>Mailer <em>"; echo twig_escape_filter($this->env, $context["name"], "html", null, true); echo "</em>"; echo $this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "isDefaultMailer", array(0 => $context["name"]), "method") ? " (default mailer)" : ""; echo "</h3>\n\n "; // line 64 if (!$this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "messages", array(0 => $context["name"]), "method")) { // line 65 echo " <p>\n <em>No message sent.</em>\n </p>\n "; } else { // line 69 echo " <ul class=\"alt\">\n "; // line 70 $context['_parent'] = $context; $context['_seq'] = twig_ensure_traversable($this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "messages", array(0 => $context["name"]), "method")); $context['loop'] = array('parent' => $context['_parent'], 'index0' => 0, 'index' => 1, 'first' => true); if (is_array($context['_seq']) || is_object($context['_seq']) && $context['_seq'] instanceof Countable) { $length = count($context['_seq']); $context['loop']['revindex0'] = $length - 1; $context['loop']['revindex'] = $length; $context['loop']['length'] = $length; $context['loop']['last'] = 1 === $length; } foreach ($context['_seq'] as $context["_key"] => $context["message"]) { // line 71 echo " <li class=\""; echo twig_escape_filter($this->env, twig_cycle(array(0 => "odd", 1 => "even"), $this->getAttribute($context["loop"], "index", array())), "html", null, true); echo "\">\n "; // line 72 $context['_parent'] = $context; $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getAttribute($context["message"], "headers", array()), "all", array())); foreach ($context['_seq'] as $context["_key"] => $context["header"]) { // line 73 echo " <pre>"; echo twig_escape_filter($this->env, $context["header"], "html", null, true); echo "</pre>\n "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['header'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; // line 75 echo " <pre>"; // line 76 if ($this->getAttribute(isset($context["messagePart"]) ? $context["messagePart"] : null, "charset", array(), "any", true, true) && $this->getAttribute($context["message"], "charset", array())) { // line 77 echo twig_escape_filter($this->env, twig_convert_encoding(twig_escape_filter($this->env, $this->getAttribute($context["message"], "body", array()), "html", $this->getAttribute($context["message"], "charset", array())), "UTF-8", $this->getAttribute($context["message"], "charset", array())), "html", null, true); } else { // line 79 echo twig_escape_filter($this->env, $this->getAttribute($context["message"], "body", array()), "html"); } // line 81 echo "</pre>\n "; // line 82 $context['_parent'] = $context; $context['_seq'] = twig_ensure_traversable($this->getAttribute($context["message"], "children", array())); foreach ($context['_seq'] as $context["_key"] => $context["messagePart"]) { if ($this->getAttribute($context["messagePart"], "contentType", array()) == "text/plain" || $this->getAttribute($context["messagePart"], "contentType", array()) == "text/html") { // line 83 echo " <h4>Alternative part</h4>\n <pre>"; // line 85 if ($this->getAttribute($context["messagePart"], "charset", array())) { // line 86 echo twig_escape_filter($this->env, twig_convert_encoding(twig_escape_filter($this->env, $this->getAttribute($context["messagePart"], "body", array()), "html", $this->getAttribute($context["messagePart"], "charset", array())), "UTF-8", $this->getAttribute($context["messagePart"], "charset", array())), "html", null, true); } else { // line 88 echo twig_escape_filter($this->env, $this->getAttribute($context["messagePart"], "body", array()), "html"); } // line 90 echo "</pre>\n "; } } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['messagePart'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; // line 92 echo " </li>\n "; ++$context['loop']['index0']; ++$context['loop']['index']; $context['loop']['first'] = false; if (isset($context['loop']['length'])) { --$context['loop']['revindex0']; --$context['loop']['revindex']; $context['loop']['last'] = 0 === $context['loop']['revindex0']; } } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['message'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; // line 94 echo " </ul>\n "; } // line 96 echo " "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['name'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; $__internal_729d2ff73542dbc0735d8864c619747ddf664be50a50dfe070f7284bb2db36fa->leave($__internal_729d2ff73542dbc0735d8864c619747ddf664be50a50dfe070f7284bb2db36fa_prof); }
/** * Escapes a string. * * @param Twig_Environment $env A Twig_Environment instance * @param string $string The value to be escaped * @param string $type The escaping strategy * @param string $charset The charset * @param Boolean $autoescape Whether the function is called by the auto-escaping feature (true) or by the developer (false) */ function twig_escape_filter(Twig_Environment $env, $string, $type = 'html', $charset = null, $autoescape = false) { if ($autoescape && is_object($string) && $string instanceof Twig_Markup) { return $string; } if (!is_string($string) && !(is_object($string) && method_exists($string, '__toString'))) { return $string; } if (null === $charset) { $charset = $env->getCharset(); } $string = (string) $string; switch ($type) { case 'js': // escape all non-alphanumeric characters // into their \xHH or \uHHHH representations if ('UTF-8' != $charset) { $string = twig_convert_encoding($string, 'UTF-8', $charset); } if (null === ($string = preg_replace_callback('#[^\\p{L}\\p{N} ]#u', '_twig_escape_js_callback', $string))) { throw new Twig_Error_Runtime('The string to escape is not a valid UTF-8 string.'); } if ('UTF-8' != $charset) { $string = twig_convert_encoding($string, $charset, 'UTF-8'); } return $string; case 'html': // see http://php.net/htmlspecialchars // Using a static variable to avoid initializing the array // each time the function is called. Moving the declaration on the // top of the function slow downs other escaping types. static $htmlspecialcharsCharsets = array('iso-8859-1' => true, 'iso8859-1' => true, 'iso-8859-15' => true, 'iso8859-15' => true, 'utf-8' => true, 'cp866' => true, 'ibm866' => true, '866' => true, 'cp1251' => true, 'windows-1251' => true, 'win-1251' => true, '1251' => true, 'cp1252' => true, 'windows-1252' => true, '1252' => true, 'koi8-r' => true, 'koi8-ru' => true, 'koi8r' => true, 'big5' => true, '950' => true, 'gb2312' => true, '936' => true, 'big5-hkscs' => true, 'shift_jis' => true, 'sjis' => true, '932' => true, 'euc-jp' => true, 'eucjp' => true, 'iso8859-5' => true, 'iso-8859-5' => true, 'macroman' => true); if (isset($htmlspecialcharsCharsets[strtolower($charset)])) { return htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, $charset); } $string = twig_convert_encoding($string, 'UTF-8', $charset); $string = htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'); return twig_convert_encoding($string, $charset, 'UTF-8'); default: throw new Twig_Error_Runtime(sprintf('Invalid escape type "%s".', $type)); } }
function _twig_escape_js_callback($matches) { $char = $matches[0]; // \xHH if (!isset($char[1])) { return '\\x' . substr('00' . bin2hex($char), -2); } // \uHHHH $char = twig_convert_encoding($char, 'UTF-16BE', 'UTF-8'); return '\\u' . substr('0000' . bin2hex($char), -4); }
/** * Escapes a string. * * @param Twig_Environment $env A Twig_Environment instance * @param string $string The value to be escaped * @param string $strategy The escaping strategy * @param string $charset The charset * @param bool $autoescape Whether the function is called by the auto-escaping feature (true) or by the developer (false) * * @return string */ function twig_escape_filter(Twig_Environment $env, $string, $strategy = 'html', $charset = null, $autoescape = false) { if ($autoescape && $string instanceof Twig_Markup) { return $string; } if (!is_string($string)) { if (is_object($string) && method_exists($string, '__toString')) { $string = (string) $string; } else { return $string; } } if (null === $charset) { $charset = $env->getCharset(); } switch ($strategy) { case 'html': // see http://php.net/htmlspecialchars // Using a static variable to avoid initializing the array // each time the function is called. Moving the declaration on the // top of the function slow downs other escaping strategies. static $htmlspecialcharsCharsets; if (null === $htmlspecialcharsCharsets) { if (defined('HHVM_VERSION')) { $htmlspecialcharsCharsets = array('utf-8' => true, 'UTF-8' => true); } else { $htmlspecialcharsCharsets = array('ISO-8859-1' => true, 'ISO8859-1' => true, 'ISO-8859-15' => true, 'ISO8859-15' => true, 'utf-8' => true, 'UTF-8' => true, 'CP866' => true, 'IBM866' => true, '866' => true, 'CP1251' => true, 'WINDOWS-1251' => true, 'WIN-1251' => true, '1251' => true, 'CP1252' => true, 'WINDOWS-1252' => true, '1252' => true, 'KOI8-R' => true, 'KOI8-RU' => true, 'KOI8R' => true, 'BIG5' => true, '950' => true, 'GB2312' => true, '936' => true, 'BIG5-HKSCS' => true, 'SHIFT_JIS' => true, 'SJIS' => true, '932' => true, 'EUC-JP' => true, 'EUCJP' => true, 'ISO8859-5' => true, 'ISO-8859-5' => true, 'MACROMAN' => true); } } if (isset($htmlspecialcharsCharsets[$charset])) { return htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, $charset); } if (isset($htmlspecialcharsCharsets[strtoupper($charset)])) { // cache the lowercase variant for future iterations $htmlspecialcharsCharsets[$charset] = true; return htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, $charset); } $string = twig_convert_encoding($string, 'UTF-8', $charset); $string = htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'); return twig_convert_encoding($string, $charset, 'UTF-8'); case 'js': // escape all non-alphanumeric characters // into their \xHH or \uHHHH representations if ('UTF-8' != $charset) { $string = twig_convert_encoding($string, 'UTF-8', $charset); } if (0 == strlen($string) ? false : (1 == preg_match('/^./su', $string) ? false : true)) { throw new Twig_Error_Runtime('The string to escape is not a valid UTF-8 string.'); } $string = preg_replace_callback('#[^a-zA-Z0-9,\\._]#Su', function ($matches) { $char = $matches[0]; // \xHH if (!isset($char[1])) { return '\\x' . strtoupper(substr('00' . bin2hex($char), -2)); } // \uHHHH $char = twig_convert_encoding($char, 'UTF-16BE', 'UTF-8'); return '\\u' . strtoupper(substr('0000' . bin2hex($char), -4)); }, $string); if ('UTF-8' != $charset) { $string = twig_convert_encoding($string, $charset, 'UTF-8'); } return $string; case 'css': if ('UTF-8' != $charset) { $string = twig_convert_encoding($string, 'UTF-8', $charset); } if (0 == strlen($string) ? false : (1 == preg_match('/^./su', $string) ? false : true)) { throw new Twig_Error_Runtime('The string to escape is not a valid UTF-8 string.'); } $string = preg_replace_callback('#[^a-zA-Z0-9]#Su', function ($matches) { $char = $matches[0]; // \xHH if (!isset($char[1])) { $hex = ltrim(strtoupper(bin2hex($char)), '0'); if (0 === strlen($hex)) { $hex = '0'; } return '\\' . $hex . ' '; } // \uHHHH $char = twig_convert_encoding($char, 'UTF-16BE', 'UTF-8'); return '\\' . ltrim(strtoupper(bin2hex($char)), '0') . ' '; }, $string); if ('UTF-8' != $charset) { $string = twig_convert_encoding($string, $charset, 'UTF-8'); } return $string; case 'html_attr': if ('UTF-8' != $charset) { $string = twig_convert_encoding($string, 'UTF-8', $charset); } if (0 == strlen($string) ? false : (1 == preg_match('/^./su', $string) ? false : true)) { throw new Twig_Error_Runtime('The string to escape is not a valid UTF-8 string.'); } $string = preg_replace_callback('#[^a-zA-Z0-9,\\.\\-_]#Su', function ($matches) { /** * This function is adapted from code coming from Zend Framework. * * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ /* * While HTML supports far more named entities, the lowest common denominator * has become HTML5's XML Serialisation which is restricted to the those named * entities that XML supports. Using HTML entities would result in this error: * XML Parsing Error: undefined entity */ static $entityMap = array(34 => 'quot', 38 => 'amp', 60 => 'lt', 62 => 'gt'); $chr = $matches[0]; $ord = ord($chr); /** * The following replaces characters undefined in HTML with the * hex entity for the Unicode replacement character. */ if ($ord <= 0x1f && $chr != "\t" && $chr != "\n" && $chr != "\r" || $ord >= 0x7f && $ord <= 0x9f) { return '�'; } /** * Check if the current character to escape has a name entity we should * replace it with while grabbing the hex value of the character. */ if (strlen($chr) == 1) { $hex = strtoupper(substr('00' . bin2hex($chr), -2)); } else { $chr = twig_convert_encoding($chr, 'UTF-16BE', 'UTF-8'); $hex = strtoupper(substr('0000' . bin2hex($chr), -4)); } $int = hexdec($hex); if (array_key_exists($int, $entityMap)) { return sprintf('&%s;', $entityMap[$int]); } /** * Per OWASP recommendations, we'll use hex entities for any other * characters where a named entity does not exist. */ return sprintf('&#x%s;', $hex); }, $string); if ('UTF-8' != $charset) { $string = twig_convert_encoding($string, $charset, 'UTF-8'); } return $string; case 'url': return rawurlencode($string); default: static $escapers; if (null === $escapers) { $escapers = $env->getExtension('core')->getEscapers(); } if (isset($escapers[$strategy])) { return $escapers[$strategy]($env, $string, $charset); } $validStrategies = implode(', ', array_merge(array('html', 'js', 'url', 'css', 'html_attr'), array_keys($escapers))); throw new Twig_Error_Runtime(sprintf('Invalid escaping strategy "%s" (valid ones: %s).', $strategy, $validStrategies)); } }
protected function doDisplay(array $context, array $blocks = array()) { $__internal_e1a57cc511c240b55441319e18f4f9b5d905ff560379057c158387d1d1e07bc7 = $this->env->getExtension("native_profiler"); $__internal_e1a57cc511c240b55441319e18f4f9b5d905ff560379057c158387d1d1e07bc7->enter($__internal_e1a57cc511c240b55441319e18f4f9b5d905ff560379057c158387d1d1e07bc7_prof = new Twig_Profiler_Profile($this->getTemplateName(), "template", "headers1Infos.html")); // line 1 if ($this->getAttribute(isset($context["headers1"]) ? $context["headers1"] : null, "Server", array(), "array", true, true)) { // line 2 echo " "; $context["headers1_Server"] = $this->getAttribute(isset($context["headers1"]) ? $context["headers1"] : $this->getContext($context, "headers1"), "Server", array(), "array"); echo " \n"; } else { // line 4 echo " "; $context["headers1_Server"] = twig_convert_encoding("Non défini", "UTF-8", " iso-8859-1"); } // line 6 echo "\n"; // line 7 if ($this->getAttribute(isset($context["headers1"]) ? $context["headers1"] : null, "X-Powered-By", array(), "array", true, true)) { // line 8 echo " "; $context["headers1_X_Powered_By"] = $this->getAttribute(isset($context["headers1"]) ? $context["headers1"] : $this->getContext($context, "headers1"), "X-Powered-By", array(), "array"); echo " \n"; } else { // line 10 echo " "; $context["headers1_X_Powered_By"] = twig_convert_encoding("Non défini", "UTF-8", " iso-8859-1"); } // line 12 echo "\n\n"; // line 14 if ($this->getAttribute(isset($context["headers1"]) ? $context["headers1"] : null, "Content-Type", array(), "array", true, true)) { // line 15 echo " "; $context["headers1_Content_Type"] = $this->getAttribute(isset($context["headers1"]) ? $context["headers1"] : $this->getContext($context, "headers1"), "Content-Type", array(), "array"); echo " \n"; } else { // line 17 echo " "; $context["headers1_Content_Type"] = twig_convert_encoding("Non défini", "UTF-8", " iso-8859-1"); } // line 19 echo "\n\n"; // line 21 if ($this->getAttribute(isset($context["headers1"]) ? $context["headers1"] : null, "Last-Modified", array(), "array", true, true)) { // line 22 echo "\t"; $context["headers1_Last_Modified"] = $this->getAttribute(isset($context["headers1"]) ? $context["headers1"] : $this->getContext($context, "headers1"), "Last-Modified", array(), "array"); echo "\t\n"; } else { // line 24 echo "\t"; $context["headers1_Last_Modified"] = twig_convert_encoding("Non défini", "UTF-8", " iso-8859-1"); } // line 25 echo " \n\n \t\t\n"; // line 28 if ($this->getAttribute(isset($context["headers1"]) ? $context["headers1"] : null, "Etag", array(), "array", true, true)) { // line 29 echo " "; $context["headers1_Etag"] = $this->getAttribute(isset($context["headers1"]) ? $context["headers1"] : $this->getContext($context, "headers1"), "Etag", array(), "array"); echo " \n"; } else { // line 31 echo " "; $context["headers1_Etag"] = twig_convert_encoding("Non défini", "UTF-8", " iso-8859-1"); } // line 33 echo "\n\n"; // line 35 if ($this->getAttribute(isset($context["headers1"]) ? $context["headers1"] : null, "Content-Length", array(), "array", true, true)) { // line 36 echo " "; $context["headers_Content_Length"] = $this->getAttribute(isset($context["headers1"]) ? $context["headers1"] : $this->getContext($context, "headers1"), "Content-Length", array(), "array"); echo " \n"; } else { // line 38 echo " "; $context["headers_Content_Length"] = twig_convert_encoding("Non défini", "UTF-8", " iso-8859-1"); } // line 40 echo "\n<a class=\"list-group-item\" href=\"#\">\n <h4 class=\"list-group-item-heading\">HEADERS INFOS : </h4>\n <p class=\"list-group-item-text\">"; // line 43 echo "Serveur"; echo " : "; echo twig_escape_filter($this->env, isset($context["headers1_Server"]) ? $context["headers1_Server"] : $this->getContext($context, "headers1_Server"), "html", null, true); echo "</p>\n <p class=\"list-group-item-text\">"; // line 44 echo twig_escape_filter($this->env, twig_convert_encoding("Langage de développement", "UTF-8", " iso-8859-1"), "html", null, true); echo " : "; echo twig_escape_filter($this->env, isset($context["headers1_X_Powered_By"]) ? $context["headers1_X_Powered_By"] : $this->getContext($context, "headers1_X_Powered_By"), "html", null, true); echo "</p>\n <p class=\"list-group-item-text\">"; // line 45 echo twig_escape_filter($this->env, twig_convert_encoding("Type de contenu", "UTF-8", " iso-8859-1"), "html", null, true); echo " : "; echo twig_escape_filter($this->env, isset($context["headers1_Content_Type"]) ? $context["headers1_Content_Type"] : $this->getContext($context, "headers1_Content_Type"), "html", null, true); echo "</p>\n <p class=\"list-group-item-text\">"; // line 46 echo twig_escape_filter($this->env, twig_convert_encoding("Date de dernière modification", "UTF-8", " iso-8859-1"), "html", null, true); echo " : "; echo twig_escape_filter($this->env, isset($context["headers1_Last_Modified"]) ? $context["headers1_Last_Modified"] : $this->getContext($context, "headers1_Last_Modified"), "html", null, true); echo "</p>\n <p class=\"list-group-item-text\">Eatg : "; // line 47 echo twig_escape_filter($this->env, isset($context["headers1_Etag"]) ? $context["headers1_Etag"] : $this->getContext($context, "headers1_Etag"), "html", null, true); echo "</p>\n <p class=\"list-group-item-text\">Taille du contenu : "; // line 48 echo twig_escape_filter($this->env, isset($context["headers_Content_Length"]) ? $context["headers_Content_Length"] : $this->getContext($context, "headers_Content_Length"), "html", null, true); echo "</p> \n</a> \n"; $__internal_e1a57cc511c240b55441319e18f4f9b5d905ff560379057c158387d1d1e07bc7->leave($__internal_e1a57cc511c240b55441319e18f4f9b5d905ff560379057c158387d1d1e07bc7_prof); }
public function block_panel($context, array $blocks = array()) { // line 34 echo " <h2>Messages "; echo $this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "isSpool") ? "spooled" : "sent"; echo "</h2>\n\n "; // line 36 if (!$this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "messages")) { // line 37 echo " <p>\n <em>No message sent.</em>\n </p>\n "; } else { // line 41 echo " "; $context['_parent'] = (array) $context; $context['_seq'] = twig_ensure_traversable($this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "messages")); foreach ($context['_seq'] as $context["i"] => $context["message"]) { // line 42 echo " <h3>Message "; echo twig_escape_filter($this->env, (isset($context["i"]) ? $context["i"] : $this->getContext($context, "i")) + 1, "html", null, true); echo " / "; echo twig_escape_filter($this->env, $this->getAttribute(isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector"), "messagecount"), "html", null, true); echo "</h3>\n\n "; // line 44 $context['_parent'] = (array) $context; $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getAttribute(isset($context["message"]) ? $context["message"] : $this->getContext($context, "message"), "headers"), "all")); foreach ($context['_seq'] as $context["_key"] => $context["header"]) { // line 45 echo " <pre>"; echo twig_escape_filter($this->env, isset($context["header"]) ? $context["header"] : $this->getContext($context, "header"), "html", null, true); echo "</pre>\n "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['header'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; // line 47 echo "\n <p>\n <pre>"; // line 50 if ($this->getAttribute(isset($context["messagePart"]) ? $context["messagePart"] : null, "charset", array(), "any", true, true) && $this->getAttribute(isset($context["message"]) ? $context["message"] : $this->getContext($context, "message"), "charset")) { // line 51 echo twig_escape_filter($this->env, twig_convert_encoding(twig_escape_filter($this->env, $this->getAttribute(isset($context["message"]) ? $context["message"] : $this->getContext($context, "message"), "body"), "html", $this->getAttribute(isset($context["message"]) ? $context["message"] : $this->getContext($context, "message"), "charset")), "UTF-8", $this->getAttribute(isset($context["message"]) ? $context["message"] : $this->getContext($context, "message"), "charset")), "html", null, true); } else { // line 53 echo twig_escape_filter($this->env, $this->getAttribute(isset($context["message"]) ? $context["message"] : $this->getContext($context, "message"), "body"), "html"); } // line 55 echo "</pre>\n </p>\n "; // line 57 $context['_parent'] = (array) $context; $context['_seq'] = twig_ensure_traversable($this->getAttribute(isset($context["message"]) ? $context["message"] : $this->getContext($context, "message"), "children")); foreach ($context['_seq'] as $context["_key"] => $context["messagePart"]) { if ($this->getAttribute(isset($context["messagePart"]) ? $context["messagePart"] : $this->getContext($context, "messagePart"), "contentType") == "text/plain" || $this->getAttribute(isset($context["messagePart"]) ? $context["messagePart"] : $this->getContext($context, "messagePart"), "contentType") == "text/html") { // line 58 echo " <h4>Alternative part</h4>\n <p>\n <pre>"; // line 61 if ($this->getAttribute(isset($context["messagePart"]) ? $context["messagePart"] : $this->getContext($context, "messagePart"), "charset")) { // line 62 echo twig_escape_filter($this->env, twig_convert_encoding(twig_escape_filter($this->env, $this->getAttribute(isset($context["messagePart"]) ? $context["messagePart"] : $this->getContext($context, "messagePart"), "body"), "html", $this->getAttribute(isset($context["messagePart"]) ? $context["messagePart"] : $this->getContext($context, "messagePart"), "charset")), "UTF-8", $this->getAttribute(isset($context["messagePart"]) ? $context["messagePart"] : $this->getContext($context, "messagePart"), "charset")), "html", null, true); } else { // line 64 echo twig_escape_filter($this->env, $this->getAttribute(isset($context["messagePart"]) ? $context["messagePart"] : $this->getContext($context, "messagePart"), "body"), "html"); } // line 66 echo "</pre>\n </p>\n "; } } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['messagePart'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; // line 69 echo " "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['i'], $context['message'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; // line 70 echo " "; } }
public function block_panel($context, array $blocks = array()) { // line 42 echo " <h2>Messages</h2> <table> <thead> <tr> <th scope=\"col\">Mailer</th> <th scope=\"col\">Messages</th> </tr> </thead> <tbody> "; // line 52 $context['_parent'] = (array) $context; $context['_seq'] = twig_ensure_traversable($this->getAttribute((isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector")), "mailers", array())); foreach ($context['_seq'] as $context["_key"] => $context["name"]) { // line 53 echo " <tr> <th>"; // line 54 echo twig_escape_filter($this->env, $context["name"], "html", null, true); echo (($this->getAttribute((isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector")), "isDefaultMailer", array(0 => $context["name"]), "method")) ? (" (default mailer)") : ("")); echo "</th> <td>"; // line 55 echo twig_escape_filter($this->env, $this->getAttribute((isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector")), "messageCount", array(0 => $context["name"]), "method"), "html", null, true); echo " "; echo (($this->getAttribute((isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector")), "isSpool", array(0 => $context["name"]), "method")) ? ("spooled") : ("sent")); echo "</td> </tr> "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['name'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; // line 58 echo " </tbody> </table> "; // line 61 $context['_parent'] = (array) $context; $context['_seq'] = twig_ensure_traversable($this->getAttribute((isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector")), "mailers", array())); foreach ($context['_seq'] as $context["_key"] => $context["name"]) { // line 62 echo " <h3>Mailer <em>"; echo twig_escape_filter($this->env, $context["name"], "html", null, true); echo "</em>"; echo (($this->getAttribute((isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector")), "isDefaultMailer", array(0 => $context["name"]), "method")) ? (" (default mailer)") : ("")); echo "</h3> "; // line 64 if ((!$this->getAttribute((isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector")), "messages", array(0 => $context["name"]), "method"))) { // line 65 echo " <p> <em>No message sent.</em> </p> "; } else { // line 69 echo " <ul class=\"alt\"> "; // line 70 $context['_parent'] = (array) $context; $context['_seq'] = twig_ensure_traversable($this->getAttribute((isset($context["collector"]) ? $context["collector"] : $this->getContext($context, "collector")), "messages", array(0 => $context["name"]), "method")); $context['loop'] = array( 'parent' => $context['_parent'], 'index0' => 0, 'index' => 1, 'first' => true, ); if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { $length = count($context['_seq']); $context['loop']['revindex0'] = $length - 1; $context['loop']['revindex'] = $length; $context['loop']['length'] = $length; $context['loop']['last'] = 1 === $length; } foreach ($context['_seq'] as $context["_key"] => $context["message"]) { // line 71 echo " <li class=\""; echo twig_escape_filter($this->env, twig_cycle(array(0 => "odd", 1 => "even"), $this->getAttribute($context["loop"], "index", array())), "html", null, true); echo "\"> "; // line 72 $context['_parent'] = (array) $context; $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getAttribute($context["message"], "headers", array()), "all", array())); foreach ($context['_seq'] as $context["_key"] => $context["header"]) { // line 73 echo " <pre>"; echo twig_escape_filter($this->env, $context["header"], "html", null, true); echo "</pre> "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['header'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; // line 75 echo " <pre>"; // line 76 if (($this->getAttribute((isset($context["messagePart"]) ? $context["messagePart"] : null), "charset", array(), "any", true, true) && $this->getAttribute($context["message"], "charset", array()))) { // line 77 echo twig_escape_filter($this->env, twig_convert_encoding(twig_escape_filter($this->env, $this->getAttribute($context["message"], "body", array()), "html", $this->getAttribute($context["message"], "charset", array())), "UTF-8", $this->getAttribute($context["message"], "charset", array())), "html", null, true); } else { // line 79 echo twig_escape_filter($this->env, $this->getAttribute($context["message"], "body", array()), "html"); } // line 81 echo "</pre> "; // line 82 $context['_parent'] = (array) $context; $context['_seq'] = twig_ensure_traversable($this->getAttribute($context["message"], "children", array())); foreach ($context['_seq'] as $context["_key"] => $context["messagePart"]) { if ((($this->getAttribute($context["messagePart"], "contentType", array()) == "text/plain") || ($this->getAttribute($context["messagePart"], "contentType", array()) == "text/html"))) { // line 83 echo " <h4>Alternative part</h4> <pre>"; // line 85 if ($this->getAttribute($context["messagePart"], "charset", array())) { // line 86 echo twig_escape_filter($this->env, twig_convert_encoding(twig_escape_filter($this->env, $this->getAttribute($context["messagePart"], "body", array()), "html", $this->getAttribute($context["messagePart"], "charset", array())), "UTF-8", $this->getAttribute($context["messagePart"], "charset", array())), "html", null, true); } else { // line 88 echo twig_escape_filter($this->env, $this->getAttribute($context["messagePart"], "body", array()), "html"); } // line 90 echo "</pre> "; } } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['messagePart'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; // line 92 echo " </li> "; ++$context['loop']['index0']; ++$context['loop']['index']; $context['loop']['first'] = false; if (isset($context['loop']['length'])) { --$context['loop']['revindex0']; --$context['loop']['revindex']; $context['loop']['last'] = 0 === $context['loop']['revindex0']; } } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['message'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; // line 94 echo " </ul> "; } // line 96 echo " "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['name'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; }
protected function doDisplay(array $context, array $blocks = array()) { $__internal_1e69ed20d8f7f2817bc009ca58fc86bb9dcf4b5ba632756d8f8b356abd23d9da = $this->env->getExtension("native_profiler"); $__internal_1e69ed20d8f7f2817bc009ca58fc86bb9dcf4b5ba632756d8f8b356abd23d9da->enter($__internal_1e69ed20d8f7f2817bc009ca58fc86bb9dcf4b5ba632756d8f8b356abd23d9da_prof = new Twig_Profiler_Profile($this->getTemplateName(), "template", "headers2Infos.html")); // line 1 if ($this->getAttribute(isset($context["headers2"]) ? $context["headers2"] : null, "Server", array(), "array", true, true)) { // line 2 echo " "; $context["headers2_Server"] = $this->getAttribute(isset($context["headers2"]) ? $context["headers2"] : $this->getContext($context, "headers2"), "Server", array(), "array"); echo " \n"; } else { // line 4 echo " "; $context["headers2_Server"] = twig_convert_encoding("Non défini", "UTF-8", " iso-8859-1"); } // line 6 echo "\n"; // line 7 if ($this->getAttribute(isset($context["headers2"]) ? $context["headers2"] : null, "X-Powered-By", array(), "array", true, true)) { // line 8 echo " "; $context["headers2_X_Powered_By"] = $this->getAttribute(isset($context["headers2"]) ? $context["headers2"] : $this->getContext($context, "headers2"), "X-Powered-By", array(), "array"); echo " \n"; } else { // line 10 echo " "; $context["headers2_X_Powered_By"] = twig_convert_encoding("Non défini", "UTF-8", " iso-8859-1"); } // line 12 echo "\n\n"; // line 14 if ($this->getAttribute(isset($context["headers2"]) ? $context["headers2"] : null, "Content-Type", array(), "array", true, true)) { // line 15 echo " "; $context["headers2_Content_Type"] = $this->getAttribute(isset($context["headers2"]) ? $context["headers2"] : $this->getContext($context, "headers2"), "Content-Type", array(), "array"); echo " \n"; } else { // line 17 echo " "; $context["headers2_Content_Type"] = twig_convert_encoding("Non défini", "UTF-8", " iso-8859-1"); } // line 19 echo "\n\n"; // line 21 if ($this->getAttribute(isset($context["headers2"]) ? $context["headers2"] : null, "Last-Modified", array(), "array", true, true)) { // line 22 echo " "; $context["headers2_Last_Modified"] = $this->getAttribute(isset($context["headers2"]) ? $context["headers2"] : $this->getContext($context, "headers2"), "Last-Modified", array(), "array"); echo " \n"; } else { // line 24 echo " "; $context["headers2_Last_Modified"] = twig_convert_encoding("Non défini", "UTF-8", " iso-8859-1"); } // line 25 echo " \n\n \n"; // line 28 if ($this->getAttribute(isset($context["headers2"]) ? $context["headers2"] : null, "Etag", array(), "array", true, true)) { // line 29 echo " "; $context["headers2_Etag"] = $this->getAttribute(isset($context["headers2"]) ? $context["headers2"] : $this->getContext($context, "headers2"), "Etag", array(), "array"); echo " \n"; } else { // line 31 echo " "; $context["headers2_Etag"] = twig_convert_encoding("Non défini", "UTF-8", " iso-8859-1"); } // line 33 echo "\n\n"; // line 35 if ($this->getAttribute(isset($context["headers2"]) ? $context["headers2"] : null, "Content-Length", array(), "array", true, true)) { // line 36 echo " "; $context["headers_Content_Length"] = $this->getAttribute(isset($context["headers2"]) ? $context["headers2"] : $this->getContext($context, "headers2"), "Content-Length", array(), "array"); echo " \n"; } else { // line 38 echo " "; $context["headers_Content_Length"] = twig_convert_encoding("Non défini", "UTF-8", " iso-8859-1"); } // line 40 echo "\nCache-Control\nConnection\nExpires\nVary\nX-Varnish\n\n<a class=\"list-group-item\" href=\"#\">\n <h4 class=\"list-group-item-heading\">HEADERS INFOS : </h4>\n <p class=\"list-group-item-text\">"; // line 49 echo "Serveur"; echo " : "; echo twig_escape_filter($this->env, isset($context["headers2_Server"]) ? $context["headers2_Server"] : $this->getContext($context, "headers2_Server"), "html", null, true); echo "</p>\n <p class=\"list-group-item-text\">"; // line 50 echo twig_escape_filter($this->env, twig_convert_encoding("Langage de développement", "UTF-8", " iso-8859-1"), "html", null, true); echo " : "; echo twig_escape_filter($this->env, isset($context["headers2_X_Powered_By"]) ? $context["headers2_X_Powered_By"] : $this->getContext($context, "headers2_X_Powered_By"), "html", null, true); echo "</p>\n <p class=\"list-group-item-text\">"; // line 51 echo twig_escape_filter($this->env, twig_convert_encoding("Type de contenu", "UTF-8", " iso-8859-1"), "html", null, true); echo " : "; echo twig_escape_filter($this->env, isset($context["headers2_Content_Type"]) ? $context["headers2_Content_Type"] : $this->getContext($context, "headers2_Content_Type"), "html", null, true); echo "</p>\n <p class=\"list-group-item-text\">"; // line 52 echo twig_escape_filter($this->env, twig_convert_encoding("Date de dernière modification", "UTF-8", " iso-8859-1"), "html", null, true); echo " : "; echo twig_escape_filter($this->env, isset($context["headers2_Last_Modified"]) ? $context["headers2_Last_Modified"] : $this->getContext($context, "headers2_Last_Modified"), "html", null, true); echo "</p>\n <p class=\"list-group-item-text\">Eatg : "; // line 53 echo twig_escape_filter($this->env, isset($context["headers2_Etag"]) ? $context["headers2_Etag"] : $this->getContext($context, "headers2_Etag"), "html", null, true); echo "</p>\n <p class=\"list-group-item-text\">Taille du contenu : "; // line 54 echo twig_escape_filter($this->env, isset($context["headers_Content_Length"]) ? $context["headers_Content_Length"] : $this->getContext($context, "headers_Content_Length"), "html", null, true); echo "</p> \n</a> \n"; $__internal_1e69ed20d8f7f2817bc009ca58fc86bb9dcf4b5ba632756d8f8b356abd23d9da->leave($__internal_1e69ed20d8f7f2817bc009ca58fc86bb9dcf4b5ba632756d8f8b356abd23d9da_prof); }
/** * This function is adapted from code coming from Zend Framework. * * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ function _twig_escape_html_attr_callback($matches) { static $entityMap = array(34 => 'quot', 38 => 'amp', 60 => 'lt', 62 => 'gt', 160 => 'nbsp', 161 => 'iexcl', 162 => 'cent', 163 => 'pound', 164 => 'curren', 165 => 'yen', 166 => 'brvbar', 167 => 'sect', 168 => 'uml', 169 => 'copy', 170 => 'ordf', 171 => 'laquo', 172 => 'not', 173 => 'shy', 174 => 'reg', 175 => 'macr', 176 => 'deg', 177 => 'plusmn', 178 => 'sup2', 179 => 'sup3', 180 => 'acute', 181 => 'micro', 182 => 'para', 183 => 'middot', 184 => 'cedil', 185 => 'sup1', 186 => 'ordm', 187 => 'raquo', 188 => 'frac14', 189 => 'frac12', 190 => 'frac34', 191 => 'iquest', 192 => 'Agrave', 193 => 'Aacute', 194 => 'Acirc', 195 => 'Atilde', 196 => 'Auml', 197 => 'Aring', 198 => 'AElig', 199 => 'Ccedil', 200 => 'Egrave', 201 => 'Eacute', 202 => 'Ecirc', 203 => 'Euml', 204 => 'Igrave', 205 => 'Iacute', 206 => 'Icirc', 207 => 'Iuml', 208 => 'ETH', 209 => 'Ntilde', 210 => 'Ograve', 211 => 'Oacute', 212 => 'Ocirc', 213 => 'Otilde', 214 => 'Ouml', 215 => 'times', 216 => 'Oslash', 217 => 'Ugrave', 218 => 'Uacute', 219 => 'Ucirc', 220 => 'Uuml', 221 => 'Yacute', 222 => 'THORN', 223 => 'szlig', 224 => 'agrave', 225 => 'aacute', 226 => 'acirc', 227 => 'atilde', 228 => 'auml', 229 => 'aring', 230 => 'aelig', 231 => 'ccedil', 232 => 'egrave', 233 => 'eacute', 234 => 'ecirc', 235 => 'euml', 236 => 'igrave', 237 => 'iacute', 238 => 'icirc', 239 => 'iuml', 240 => 'eth', 241 => 'ntilde', 242 => 'ograve', 243 => 'oacute', 244 => 'ocirc', 245 => 'otilde', 246 => 'ouml', 247 => 'divide', 248 => 'oslash', 249 => 'ugrave', 250 => 'uacute', 251 => 'ucirc', 252 => 'uuml', 253 => 'yacute', 254 => 'thorn', 255 => 'yuml', 338 => 'OElig', 339 => 'oelig', 352 => 'Scaron', 353 => 'scaron', 376 => 'Yuml', 402 => 'fnof', 710 => 'circ', 732 => 'tilde', 913 => 'Alpha', 914 => 'Beta', 915 => 'Gamma', 916 => 'Delta', 917 => 'Epsilon', 918 => 'Zeta', 919 => 'Eta', 920 => 'Theta', 921 => 'Iota', 922 => 'Kappa', 923 => 'Lambda', 924 => 'Mu', 925 => 'Nu', 926 => 'Xi', 927 => 'Omicron', 928 => 'Pi', 929 => 'Rho', 931 => 'Sigma', 932 => 'Tau', 933 => 'Upsilon', 934 => 'Phi', 935 => 'Chi', 936 => 'Psi', 937 => 'Omega', 945 => 'alpha', 946 => 'beta', 947 => 'gamma', 948 => 'delta', 949 => 'epsilon', 950 => 'zeta', 951 => 'eta', 952 => 'theta', 953 => 'iota', 954 => 'kappa', 955 => 'lambda', 956 => 'mu', 957 => 'nu', 958 => 'xi', 959 => 'omicron', 960 => 'pi', 961 => 'rho', 962 => 'sigmaf', 963 => 'sigma', 964 => 'tau', 965 => 'upsilon', 966 => 'phi', 967 => 'chi', 968 => 'psi', 969 => 'omega', 977 => 'thetasym', 978 => 'upsih', 982 => 'piv', 8194 => 'ensp', 8195 => 'emsp', 8201 => 'thinsp', 8204 => 'zwnj', 8205 => 'zwj', 8206 => 'lrm', 8207 => 'rlm', 8211 => 'ndash', 8212 => 'mdash', 8216 => 'lsquo', 8217 => 'rsquo', 8218 => 'sbquo', 8220 => 'ldquo', 8221 => 'rdquo', 8222 => 'bdquo', 8224 => 'dagger', 8225 => 'Dagger', 8226 => 'bull', 8230 => 'hellip', 8240 => 'permil', 8242 => 'prime', 8243 => 'Prime', 8249 => 'lsaquo', 8250 => 'rsaquo', 8254 => 'oline', 8260 => 'frasl', 8364 => 'euro', 8465 => 'image', 8472 => 'weierp', 8476 => 'real', 8482 => 'trade', 8501 => 'alefsym', 8592 => 'larr', 8593 => 'uarr', 8594 => 'rarr', 8595 => 'darr', 8596 => 'harr', 8629 => 'crarr', 8656 => 'lArr', 8657 => 'uArr', 8658 => 'rArr', 8659 => 'dArr', 8660 => 'hArr', 8704 => 'forall', 8706 => 'part', 8707 => 'exist', 8709 => 'empty', 8711 => 'nabla', 8712 => 'isin', 8713 => 'notin', 8715 => 'ni', 8719 => 'prod', 8721 => 'sum', 8722 => 'minus', 8727 => 'lowast', 8730 => 'radic', 8733 => 'prop', 8734 => 'infin', 8736 => 'ang', 8743 => 'and', 8744 => 'or', 8745 => 'cap', 8746 => 'cup', 8747 => 'int', 8756 => 'there4', 8764 => 'sim', 8773 => 'cong', 8776 => 'asymp', 8800 => 'ne', 8801 => 'equiv', 8804 => 'le', 8805 => 'ge', 8834 => 'sub', 8835 => 'sup', 8836 => 'nsub', 8838 => 'sube', 8839 => 'supe', 8853 => 'oplus', 8855 => 'otimes', 8869 => 'perp', 8901 => 'sdot', 8968 => 'lceil', 8969 => 'rceil', 8970 => 'lfloor', 8971 => 'rfloor', 9001 => 'lang', 9002 => 'rang', 9674 => 'loz', 9824 => 'spades', 9827 => 'clubs', 9829 => 'hearts', 9830 => 'diams'); $chr = $matches[0]; $ord = ord($chr); /** * The following replaces characters undefined in HTML with the * hex entity for the Unicode replacement character. */ if ($ord <= 0x1f && $chr != "\t" && $chr != "\n" && $chr != "\r" || $ord >= 0x7f && $ord <= 0x9f) { return '�'; } /** * Check if the current character to escape has a name entity we should * replace it with while grabbing the hex value of the character. */ if (strlen($chr) == 1) { $hex = strtoupper(substr('00' . bin2hex($chr), -2)); } else { $chr = twig_convert_encoding($chr, 'UTF-16BE', 'UTF-8'); $hex = strtoupper(substr('0000' . bin2hex($chr), -4)); } $int = hexdec($hex); if (array_key_exists($int, $entityMap)) { return sprintf('&%s;', $entityMap[$int]); } /** * Per OWASP recommendations, we'll use hex entities for any other * characters where a named entity does not exist. */ return sprintf('&#x%s;', $hex); }