Files
taome/var/cache/dev/twig/7b/7bebed818c478aaf155e4be14e9e54815185225234fe6b32ab2f86aeb425da97.php
2020-10-07 10:37:15 +02:00

1177 lines
60 KiB
PHP

<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
/* @Security/Collector/security.html.twig */
class __TwigTemplate_e66f888c0b9f68307ff5b0a6f8efb5393a36daf4b858e228524c008e6e56b58a extends \Twig\Template
{
public function __construct(Environment $env)
{
parent::__construct($env);
// line 1
$this->parent = $this->loadTemplate("@WebProfiler/Profiler/layout.html.twig", "@Security/Collector/security.html.twig", 1);
$this->blocks = [
'page_title' => [$this, 'block_page_title'],
'toolbar' => [$this, 'block_toolbar'],
'menu' => [$this, 'block_menu'],
'panel' => [$this, 'block_panel'],
];
}
protected function doGetParent(array $context)
{
return "@WebProfiler/Profiler/layout.html.twig";
}
protected function doDisplay(array $context, array $blocks = [])
{
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->env->getExtension("Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension");
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "@Security/Collector/security.html.twig"));
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->env->getExtension("Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension");
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "@Security/Collector/security.html.twig"));
$this->parent->display($context, array_merge($this->blocks, $blocks));
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
}
// line 3
public function block_page_title($context, array $blocks = [])
{
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->env->getExtension("Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension");
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "page_title"));
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->env->getExtension("Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension");
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "page_title"));
echo "Security";
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
}
// line 5
public function block_toolbar($context, array $blocks = [])
{
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->env->getExtension("Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension");
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "toolbar"));
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->env->getExtension("Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension");
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "toolbar"));
// line 6
echo " ";
if ($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "token", [])) {
// line 7
echo " ";
$context["is_authenticated"] = ($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "enabled", []) && $this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "authenticated", []));
// line 8
echo " ";
$context["color_code"] = ((($context["is_authenticated"] ?? $this->getContext($context, "is_authenticated"))) ? ("") : ("yellow"));
// line 9
echo " ";
} else {
// line 10
echo " ";
$context["color_code"] = (($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "enabled", [])) ? ("red") : (""));
// line 11
echo " ";
}
// line 12
echo "
";
// line 13
ob_start();
// line 14
echo " ";
echo twig_include($this->env, $context, "@Security/Collector/icon.svg");
echo "
<span class=\"sf-toolbar-value\">";
// line 15
echo twig_escape_filter($this->env, (($this->getAttribute(($context["collector"] ?? null), "user", [], "any", true, true)) ? (_twig_default_filter($this->getAttribute(($context["collector"] ?? null), "user", []), "n/a")) : ("n/a")), "html", null, true);
echo "</span>
";
$context["icon"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset());
// line 17
echo "
";
// line 18
ob_start();
// line 19
echo " ";
if ($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "impersonated", [])) {
// line 20
echo " <div class=\"sf-toolbar-info-group\">
<div class=\"sf-toolbar-info-piece\">
<b>Impersonator</b>
<span>";
// line 23
echo twig_escape_filter($this->env, $this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "impersonatorUser", []), "html", null, true);
echo "</span>
</div>
</div>
";
}
// line 27
echo "
<div class=\"sf-toolbar-info-group\">
";
// line 29
if ($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "enabled", [])) {
// line 30
echo " ";
if ($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "token", [])) {
// line 31
echo " <div class=\"sf-toolbar-info-piece\">
<b>Logged in as</b>
<span>";
// line 33
echo twig_escape_filter($this->env, $this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "user", []), "html", null, true);
echo "</span>
</div>
<div class=\"sf-toolbar-info-piece\">
<b>Authenticated</b>
<span class=\"sf-toolbar-status sf-toolbar-status-";
// line 38
echo ((($context["is_authenticated"] ?? $this->getContext($context, "is_authenticated"))) ? ("green") : ("red"));
echo "\">";
echo ((($context["is_authenticated"] ?? $this->getContext($context, "is_authenticated"))) ? ("Yes") : ("No"));
echo "</span>
</div>
<div class=\"sf-toolbar-info-piece\">
<b>Token class</b>
<span>";
// line 43
echo $this->env->getExtension('Symfony\Bridge\Twig\Extension\CodeExtension')->abbrClass($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "tokenClass", []));
echo "</span>
</div>
";
} else {
// line 46
echo " <div class=\"sf-toolbar-info-piece\">
<b>Authenticated</b>
<span class=\"sf-toolbar-status sf-toolbar-status-red\">No</span>
</div>
";
}
// line 51
echo "
";
// line 52
if ($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "firewall", [])) {
// line 53
echo " <div class=\"sf-toolbar-info-piece\">
<b>Firewall name</b>
<span>";
// line 55
echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "firewall", []), "name", []), "html", null, true);
echo "</span>
</div>
";
}
// line 58
echo "
";
// line 59
if (($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "token", []) && $this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "logoutUrl", []))) {
// line 60
echo " <div class=\"sf-toolbar-info-piece\">
<b>Actions</b>
<span>
<a href=\"";
// line 63
echo twig_escape_filter($this->env, $this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "logoutUrl", []), "html", null, true);
echo "\">Logout</a>
";
// line 64
if (($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "impersonated", []) && $this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "impersonationExitPath", []))) {
// line 65
echo " | <a href=\"";
echo twig_escape_filter($this->env, $this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "impersonationExitPath", []), "html", null, true);
echo "\">Exit impersonation</a>
";
}
// line 67
echo " </span>
</div>
";
}
// line 70
echo " ";
} else {
// line 71
echo " <div class=\"sf-toolbar-info-piece\">
<span>The security is disabled.</span>
</div>
";
}
// line 75
echo " </div>
";
$context["text"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset());
// line 77
echo "
";
// line 78
echo twig_include($this->env, $context, "@WebProfiler/Profiler/toolbar_item.html.twig", ["link" => ($context["profiler_url"] ?? $this->getContext($context, "profiler_url")), "status" => ($context["color_code"] ?? $this->getContext($context, "color_code"))]);
echo "
";
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
}
// line 81
public function block_menu($context, array $blocks = [])
{
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->env->getExtension("Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension");
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "menu"));
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->env->getExtension("Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension");
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "menu"));
// line 82
echo " <span class=\"label ";
echo ((( !$this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "enabled", []) || !$this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "token", []))) ? ("disabled") : (""));
echo "\">
<span class=\"icon\">";
// line 83
echo twig_include($this->env, $context, "@Security/Collector/icon.svg");
echo "</span>
<strong>Security</strong>
</span>
";
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
}
// line 88
public function block_panel($context, array $blocks = [])
{
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->env->getExtension("Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension");
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "panel"));
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->env->getExtension("Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension");
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "panel"));
// line 89
echo " <h2>Security Token</h2>
";
// line 91
if ($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "enabled", [])) {
// line 92
echo " ";
if ($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "token", [])) {
// line 93
echo " <div class=\"metrics\">
<div class=\"metric\">
<span class=\"value\">";
// line 95
echo twig_escape_filter($this->env, ((($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "user", []) == "anon.")) ? ("Anonymous") : ($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "user", []))), "html", null, true);
echo "</span>
<span class=\"label\">Username</span>
</div>
<div class=\"metric\">
<span class=\"value\">";
// line 100
echo twig_include($this->env, $context, (("@WebProfiler/Icon/" . (($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "authenticated", [])) ? ("yes") : ("no"))) . ".svg"));
echo "</span>
<span class=\"label\">Authenticated</span>
</div>
</div>
<table>
<thead>
<tr>
<th scope=\"col\" class=\"key\">Property</th>
<th scope=\"col\">Value</th>
</tr>
</thead>
<tbody>
<tr>
<th>Roles</th>
<td>
";
// line 116
echo ((twig_test_empty($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "roles", []))) ? ("none") : (call_user_func_array($this->env->getFunction('profiler_dump')->getCallable(), [$this->env, $this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "roles", []), 1])));
echo "
";
// line 118
if (( !$this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "authenticated", []) && twig_test_empty($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "roles", [])))) {
// line 119
echo " <p class=\"help\">User is not authenticated probably because they have no roles.</p>
";
}
// line 121
echo " </td>
</tr>
";
// line 124
if ($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "supportsRoleHierarchy", [])) {
// line 125
echo " <tr>
<th>Inherited Roles</th>
<td>";
// line 127
echo ((twig_test_empty($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "inheritedRoles", []))) ? ("none") : (call_user_func_array($this->env->getFunction('profiler_dump')->getCallable(), [$this->env, $this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "inheritedRoles", []), 1])));
echo "</td>
</tr>
";
}
// line 130
echo "
";
// line 131
if ($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "token", [])) {
// line 132
echo " <tr>
<th>Token</th>
<td>";
// line 134
echo call_user_func_array($this->env->getFunction('profiler_dump')->getCallable(), [$this->env, $this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "token", [])]);
echo "</td>
</tr>
";
}
// line 137
echo " </tbody>
</table>
";
} elseif ($this->getAttribute( // line 139
($context["collector"] ?? $this->getContext($context, "collector")), "enabled", [])) {
// line 140
echo " <div class=\"empty\">
<p>There is no security token.</p>
</div>
";
}
// line 144
echo "
<h2>Security Firewall</h2>
";
// line 148
if ($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "firewall", [])) {
// line 149
echo " <div class=\"metrics\">
<div class=\"metric\">
<span class=\"value\">";
// line 151
echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "firewall", []), "name", []), "html", null, true);
echo "</span>
<span class=\"label\">Name</span>
</div>
<div class=\"metric\">
<span class=\"value\">";
// line 155
echo twig_include($this->env, $context, (("@WebProfiler/Icon/" . (($this->getAttribute($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "firewall", []), "security_enabled", [])) ? ("yes") : ("no"))) . ".svg"));
echo "</span>
<span class=\"label\">Security enabled</span>
</div>
<div class=\"metric\">
<span class=\"value\">";
// line 159
echo twig_include($this->env, $context, (("@WebProfiler/Icon/" . (($this->getAttribute($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "firewall", []), "stateless", [])) ? ("yes") : ("no"))) . ".svg"));
echo "</span>
<span class=\"label\">Stateless</span>
</div>
<div class=\"metric\">
<span class=\"value\">";
// line 163
echo twig_include($this->env, $context, (("@WebProfiler/Icon/" . (($this->getAttribute($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "firewall", []), "allows_anonymous", [])) ? ("yes") : ("no"))) . ".svg"));
echo "</span>
<span class=\"label\">Allows anonymous</span>
</div>
</div>
";
// line 168
if ($this->getAttribute($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "firewall", []), "security_enabled", [])) {
// line 169
echo " <h4>Configuration</h4>
<table>
<thead>
<tr>
<th scope=\"col\" class=\"key\">Key</th>
<th scope=\"col\">Value</th>
</tr>
</thead>
<tbody>
<tr>
<th>provider</th>
<td>";
// line 181
echo twig_escape_filter($this->env, (($this->getAttribute($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "firewall", []), "provider", [])) ? ($this->getAttribute($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "firewall", []), "provider", [])) : ("(none)")), "html", null, true);
echo "</td>
</tr>
<tr>
<th>context</th>
<td>";
// line 185
echo twig_escape_filter($this->env, (($this->getAttribute($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "firewall", []), "context", [])) ? ($this->getAttribute($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "firewall", []), "context", [])) : ("(none)")), "html", null, true);
echo "</td>
</tr>
<tr>
<th>entry_point</th>
<td>";
// line 189
echo twig_escape_filter($this->env, (($this->getAttribute($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "firewall", []), "entry_point", [])) ? ($this->getAttribute($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "firewall", []), "entry_point", [])) : ("(none)")), "html", null, true);
echo "</td>
</tr>
<tr>
<th>user_checker</th>
<td>";
// line 193
echo twig_escape_filter($this->env, (($this->getAttribute($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "firewall", []), "user_checker", [])) ? ($this->getAttribute($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "firewall", []), "user_checker", [])) : ("(none)")), "html", null, true);
echo "</td>
</tr>
<tr>
<th>access_denied_handler</th>
<td>";
// line 197
echo twig_escape_filter($this->env, (($this->getAttribute($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "firewall", []), "access_denied_handler", [])) ? ($this->getAttribute($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "firewall", []), "access_denied_handler", [])) : ("(none)")), "html", null, true);
echo "</td>
</tr>
<tr>
<th>access_denied_url</th>
<td>";
// line 201
echo twig_escape_filter($this->env, (($this->getAttribute($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "firewall", []), "access_denied_url", [])) ? ($this->getAttribute($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "firewall", []), "access_denied_url", [])) : ("(none)")), "html", null, true);
echo "</td>
</tr>
<tr>
<th>listeners</th>
<td>";
// line 205
echo ((twig_test_empty($this->getAttribute($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "firewall", []), "listeners", []))) ? ("(none)") : (call_user_func_array($this->env->getFunction('profiler_dump')->getCallable(), [$this->env, $this->getAttribute($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "firewall", []), "listeners", []), 1])));
echo "</td>
</tr>
</tbody>
</table>
<h4>Listeners</h4>
";
// line 212
if (twig_test_empty((($this->getAttribute(($context["collector"] ?? null), "listeners", [], "any", true, true)) ? (_twig_default_filter($this->getAttribute(($context["collector"] ?? null), "listeners", []), [])) : ([])))) {
// line 213
echo " <div class=\"empty\">
<p>No security listeners have been recorded. Check that debugging is enabled in the kernel.</p>
</div>
";
} else {
// line 217
echo " <table>
<thead>
<tr>
<th>Listener</th>
<th>Duration</th>
<th>Response</th>
</tr>
</thead>
";
// line 226
$context["previous_event"] = twig_first($this->env, $this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "listeners", []));
// line 227
echo " ";
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "listeners", []));
$context['loop'] = [
'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["listener"]) {
// line 228
echo " ";
if (($this->getAttribute($context["loop"], "first", []) || ($context["listener"] != ($context["previous_event"] ?? $this->getContext($context, "previous_event"))))) {
// line 229
echo " ";
if ( !$this->getAttribute($context["loop"], "first", [])) {
// line 230
echo " </tbody>
";
}
// line 232
echo "
<tbody>
";
// line 234
$context["previous_event"] = $context["listener"];
// line 235
echo " ";
}
// line 236
echo "
<tr>
<td class=\"font-normal\">";
// line 238
echo call_user_func_array($this->env->getFunction('profiler_dump')->getCallable(), [$this->env, $this->getAttribute($context["listener"], "stub", [])]);
echo "</td>
<td class=\"no-wrap\">";
// line 239
echo twig_escape_filter($this->env, sprintf("%0.2f", ($this->getAttribute($context["listener"], "time", []) * 1000)), "html", null, true);
echo " ms</td>
<td class=\"font-normal\">";
// line 240
echo (($this->getAttribute($context["listener"], "response", [])) ? (call_user_func_array($this->env->getFunction('profiler_dump')->getCallable(), [$this->env, $this->getAttribute($context["listener"], "response", [])])) : ("(none)"));
echo "</td>
</tr>
";
// line 243
if ($this->getAttribute($context["loop"], "last", [])) {
// line 244
echo " </tbody>
";
}
// line 246
echo " ";
++$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['listener'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 247
echo " </table>
";
}
// line 249
echo " ";
}
// line 250
echo " ";
} elseif ($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "enabled", [])) {
// line 251
echo " <div class=\"empty\">
<p>This request was not covered by any firewall.</p>
</div>
";
}
// line 255
echo " ";
} else {
// line 256
echo " <div class=\"empty\">
<p>The security component is disabled.</p>
</div>
";
}
// line 260
echo "
";
// line 261
if ( !twig_test_empty((($this->getAttribute(($context["collector"] ?? null), "voters", [], "any", true, true)) ? (_twig_default_filter($this->getAttribute(($context["collector"] ?? null), "voters", []), [])) : ([])))) {
// line 262
echo " <h2>Security Voters <small>(";
echo twig_escape_filter($this->env, twig_length_filter($this->env, $this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "voters", [])), "html", null, true);
echo ")</small></h2>
<div class=\"metrics\">
<div class=\"metric\">
<span class=\"value\">";
// line 266
echo twig_escape_filter($this->env, (($this->getAttribute(($context["collector"] ?? null), "voterStrategy", [], "any", true, true)) ? (_twig_default_filter($this->getAttribute(($context["collector"] ?? null), "voterStrategy", []), "unknown")) : ("unknown")), "html", null, true);
echo "</span>
<span class=\"label\">Strategy</span>
</div>
</div>
<table class=\"voters\">
<thead>
<tr>
<th>#</th>
<th>Voter class</th>
</tr>
</thead>
<tbody>
";
// line 280
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "voters", []));
$context['loop'] = [
'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["voter"]) {
// line 281
echo " <tr>
<td class=\"font-normal text-small text-muted nowrap\">";
// line 282
echo twig_escape_filter($this->env, $this->getAttribute($context["loop"], "index", []), "html", null, true);
echo "</td>
<td class=\"font-normal\">";
// line 283
echo call_user_func_array($this->env->getFunction('profiler_dump')->getCallable(), [$this->env, $context["voter"]]);
echo "</td>
</tr>
";
++$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['voter'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 286
echo " </tbody>
</table>
";
}
// line 289
echo "
";
// line 290
if ( !twig_test_empty((($this->getAttribute(($context["collector"] ?? null), "accessDecisionLog", [], "any", true, true)) ? (_twig_default_filter($this->getAttribute(($context["collector"] ?? null), "accessDecisionLog", []), [])) : ([])))) {
// line 291
echo " <h2>Access decision log</h2>
<table class=\"decision-log\">
<col style=\"width: 30px\">
<col style=\"width: 120px\">
<col style=\"width: 25%\">
<col style=\"width: 60%\">
<thead>
<tr>
<th>#</th>
<th>Result</th>
<th>Attributes</th>
<th>Object</th>
</tr>
</thead>
<tbody>
";
// line 309
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "accessDecisionLog", []));
$context['loop'] = [
'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["decision"]) {
// line 310
echo " <tr>
<td class=\"font-normal text-small text-muted nowrap\">";
// line 311
echo twig_escape_filter($this->env, $this->getAttribute($context["loop"], "index", []), "html", null, true);
echo "</td>
<td class=\"font-normal\">
";
// line 313
echo (($this->getAttribute($context["decision"], "result", [])) ? ("<span class=\"label status-success same-width\">GRANTED</span>") : ("<span class=\"label status-error same-width\">DENIED</span>"));
// line 316
echo "
</td>
<td>
";
// line 319
if ((twig_length_filter($this->env, $this->getAttribute($context["decision"], "attributes", [])) == 1)) {
// line 320
echo " ";
$context["attribute"] = twig_first($this->env, $this->getAttribute($context["decision"], "attributes", []));
// line 321
echo " ";
if ($this->getAttribute(($context["attribute"] ?? null), "expression", [], "any", true, true)) {
// line 322
echo " Expression: <pre><code>";
echo twig_escape_filter($this->env, $this->getAttribute(($context["attribute"] ?? $this->getContext($context, "attribute")), "expression", []), "html", null, true);
echo "</code></pre>
";
} elseif (($this->getAttribute( // line 323
($context["attribute"] ?? $this->getContext($context, "attribute")), "type", []) == "string")) {
// line 324
echo " ";
echo twig_escape_filter($this->env, ($context["attribute"] ?? $this->getContext($context, "attribute")), "html", null, true);
echo "
";
} else {
// line 326
echo " ";
echo call_user_func_array($this->env->getFunction('profiler_dump')->getCallable(), [$this->env, ($context["attribute"] ?? $this->getContext($context, "attribute"))]);
echo "
";
}
// line 328
echo " ";
} else {
// line 329
echo " ";
echo call_user_func_array($this->env->getFunction('profiler_dump')->getCallable(), [$this->env, $this->getAttribute($context["decision"], "attributes", [])]);
echo "
";
}
// line 331
echo " </td>
<td>";
// line 332
echo call_user_func_array($this->env->getFunction('profiler_dump')->getCallable(), [$this->env, $this->getAttribute($context["decision"], "seek", [0 => "object"], "method")]);
echo "</td>
</tr>
";
++$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['decision'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 335
echo " </tbody>
</table>
";
}
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
}
public function getTemplateName()
{
return "@Security/Collector/security.html.twig";
}
public function isTraitable()
{
return false;
}
public function getDebugInfo()
{
return array ( 799 => 335, 782 => 332, 779 => 331, 773 => 329, 770 => 328, 764 => 326, 758 => 324, 756 => 323, 751 => 322, 748 => 321, 745 => 320, 743 => 319, 738 => 316, 736 => 313, 731 => 311, 728 => 310, 711 => 309, 691 => 291, 689 => 290, 686 => 289, 681 => 286, 664 => 283, 660 => 282, 657 => 281, 640 => 280, 623 => 266, 615 => 262, 613 => 261, 610 => 260, 604 => 256, 601 => 255, 595 => 251, 592 => 250, 589 => 249, 585 => 247, 571 => 246, 567 => 244, 565 => 243, 559 => 240, 555 => 239, 551 => 238, 547 => 236, 544 => 235, 542 => 234, 538 => 232, 534 => 230, 531 => 229, 528 => 228, 510 => 227, 508 => 226, 497 => 217, 491 => 213, 489 => 212, 479 => 205, 472 => 201, 465 => 197, 458 => 193, 451 => 189, 444 => 185, 437 => 181, 423 => 169, 421 => 168, 413 => 163, 406 => 159, 399 => 155, 392 => 151, 388 => 149, 386 => 148, 380 => 144, 374 => 140, 372 => 139, 368 => 137, 362 => 134, 358 => 132, 356 => 131, 353 => 130, 347 => 127, 343 => 125, 341 => 124, 336 => 121, 332 => 119, 330 => 118, 325 => 116, 306 => 100, 298 => 95, 294 => 93, 291 => 92, 289 => 91, 285 => 89, 276 => 88, 262 => 83, 257 => 82, 248 => 81, 236 => 78, 233 => 77, 229 => 75, 223 => 71, 220 => 70, 215 => 67, 209 => 65, 207 => 64, 203 => 63, 198 => 60, 196 => 59, 193 => 58, 187 => 55, 183 => 53, 181 => 52, 178 => 51, 171 => 46, 165 => 43, 155 => 38, 147 => 33, 143 => 31, 140 => 30, 138 => 29, 134 => 27, 127 => 23, 122 => 20, 119 => 19, 117 => 18, 114 => 17, 109 => 15, 104 => 14, 102 => 13, 99 => 12, 96 => 11, 93 => 10, 90 => 9, 87 => 8, 84 => 7, 81 => 6, 72 => 5, 54 => 3, 22 => 1,);
}
/** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */
public function getSource()
{
@trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED);
return $this->getSourceContext()->getCode();
}
public function getSourceContext()
{
return new Source("{% extends '@WebProfiler/Profiler/layout.html.twig' %}
{% block page_title 'Security' %}
{% block toolbar %}
{% if collector.token %}
{% set is_authenticated = collector.enabled and collector.authenticated %}
{% set color_code = is_authenticated ? '' : 'yellow' %}
{% else %}
{% set color_code = collector.enabled ? 'red' : '' %}
{% endif %}
{% set icon %}
{{ include('@Security/Collector/icon.svg') }}
<span class=\"sf-toolbar-value\">{{ collector.user|default('n/a') }}</span>
{% endset %}
{% set text %}
{% if collector.impersonated %}
<div class=\"sf-toolbar-info-group\">
<div class=\"sf-toolbar-info-piece\">
<b>Impersonator</b>
<span>{{ collector.impersonatorUser }}</span>
</div>
</div>
{% endif %}
<div class=\"sf-toolbar-info-group\">
{% if collector.enabled %}
{% if collector.token %}
<div class=\"sf-toolbar-info-piece\">
<b>Logged in as</b>
<span>{{ collector.user }}</span>
</div>
<div class=\"sf-toolbar-info-piece\">
<b>Authenticated</b>
<span class=\"sf-toolbar-status sf-toolbar-status-{{ is_authenticated ? 'green' : 'red' }}\">{{ is_authenticated ? 'Yes' : 'No' }}</span>
</div>
<div class=\"sf-toolbar-info-piece\">
<b>Token class</b>
<span>{{ collector.tokenClass|abbr_class }}</span>
</div>
{% else %}
<div class=\"sf-toolbar-info-piece\">
<b>Authenticated</b>
<span class=\"sf-toolbar-status sf-toolbar-status-red\">No</span>
</div>
{% endif %}
{% if collector.firewall %}
<div class=\"sf-toolbar-info-piece\">
<b>Firewall name</b>
<span>{{ collector.firewall.name }}</span>
</div>
{% endif %}
{% if collector.token and collector.logoutUrl %}
<div class=\"sf-toolbar-info-piece\">
<b>Actions</b>
<span>
<a href=\"{{ collector.logoutUrl }}\">Logout</a>
{% if collector.impersonated and collector.impersonationExitPath %}
| <a href=\"{{ collector.impersonationExitPath }}\">Exit impersonation</a>
{% endif %}
</span>
</div>
{% endif %}
{% else %}
<div class=\"sf-toolbar-info-piece\">
<span>The security is disabled.</span>
</div>
{% endif %}
</div>
{% endset %}
{{ include('@WebProfiler/Profiler/toolbar_item.html.twig', { link: profiler_url, status: color_code }) }}
{% endblock %}
{% block menu %}
<span class=\"label {{ not collector.enabled or not collector.token ? 'disabled' }}\">
<span class=\"icon\">{{ include('@Security/Collector/icon.svg') }}</span>
<strong>Security</strong>
</span>
{% endblock %}
{% block panel %}
<h2>Security Token</h2>
{% if collector.enabled %}
{% if collector.token %}
<div class=\"metrics\">
<div class=\"metric\">
<span class=\"value\">{{ collector.user == 'anon.' ? 'Anonymous' : collector.user }}</span>
<span class=\"label\">Username</span>
</div>
<div class=\"metric\">
<span class=\"value\">{{ include('@WebProfiler/Icon/' ~ (collector.authenticated ? 'yes' : 'no') ~ '.svg') }}</span>
<span class=\"label\">Authenticated</span>
</div>
</div>
<table>
<thead>
<tr>
<th scope=\"col\" class=\"key\">Property</th>
<th scope=\"col\">Value</th>
</tr>
</thead>
<tbody>
<tr>
<th>Roles</th>
<td>
{{ collector.roles is empty ? 'none' : profiler_dump(collector.roles, maxDepth=1) }}
{% if not collector.authenticated and collector.roles is empty %}
<p class=\"help\">User is not authenticated probably because they have no roles.</p>
{% endif %}
</td>
</tr>
{% if collector.supportsRoleHierarchy %}
<tr>
<th>Inherited Roles</th>
<td>{{ collector.inheritedRoles is empty ? 'none' : profiler_dump(collector.inheritedRoles, maxDepth=1) }}</td>
</tr>
{% endif %}
{% if collector.token %}
<tr>
<th>Token</th>
<td>{{ profiler_dump(collector.token) }}</td>
</tr>
{% endif %}
</tbody>
</table>
{% elseif collector.enabled %}
<div class=\"empty\">
<p>There is no security token.</p>
</div>
{% endif %}
<h2>Security Firewall</h2>
{% if collector.firewall %}
<div class=\"metrics\">
<div class=\"metric\">
<span class=\"value\">{{ collector.firewall.name }}</span>
<span class=\"label\">Name</span>
</div>
<div class=\"metric\">
<span class=\"value\">{{ include('@WebProfiler/Icon/' ~ (collector.firewall.security_enabled ? 'yes' : 'no') ~ '.svg') }}</span>
<span class=\"label\">Security enabled</span>
</div>
<div class=\"metric\">
<span class=\"value\">{{ include('@WebProfiler/Icon/' ~ (collector.firewall.stateless ? 'yes' : 'no') ~ '.svg') }}</span>
<span class=\"label\">Stateless</span>
</div>
<div class=\"metric\">
<span class=\"value\">{{ include('@WebProfiler/Icon/' ~ (collector.firewall.allows_anonymous ? 'yes' : 'no') ~ '.svg') }}</span>
<span class=\"label\">Allows anonymous</span>
</div>
</div>
{% if collector.firewall.security_enabled %}
<h4>Configuration</h4>
<table>
<thead>
<tr>
<th scope=\"col\" class=\"key\">Key</th>
<th scope=\"col\">Value</th>
</tr>
</thead>
<tbody>
<tr>
<th>provider</th>
<td>{{ collector.firewall.provider ?: '(none)' }}</td>
</tr>
<tr>
<th>context</th>
<td>{{ collector.firewall.context ?: '(none)' }}</td>
</tr>
<tr>
<th>entry_point</th>
<td>{{ collector.firewall.entry_point ?: '(none)' }}</td>
</tr>
<tr>
<th>user_checker</th>
<td>{{ collector.firewall.user_checker ?: '(none)' }}</td>
</tr>
<tr>
<th>access_denied_handler</th>
<td>{{ collector.firewall.access_denied_handler ?: '(none)' }}</td>
</tr>
<tr>
<th>access_denied_url</th>
<td>{{ collector.firewall.access_denied_url ?: '(none)' }}</td>
</tr>
<tr>
<th>listeners</th>
<td>{{ collector.firewall.listeners is empty ? '(none)' : profiler_dump(collector.firewall.listeners, maxDepth=1) }}</td>
</tr>
</tbody>
</table>
<h4>Listeners</h4>
{% if collector.listeners|default([]) is empty %}
<div class=\"empty\">
<p>No security listeners have been recorded. Check that debugging is enabled in the kernel.</p>
</div>
{% else %}
<table>
<thead>
<tr>
<th>Listener</th>
<th>Duration</th>
<th>Response</th>
</tr>
</thead>
{% set previous_event = (collector.listeners|first) %}
{% for listener in collector.listeners %}
{% if loop.first or listener != previous_event %}
{% if not loop.first %}
</tbody>
{% endif %}
<tbody>
{% set previous_event = listener %}
{% endif %}
<tr>
<td class=\"font-normal\">{{ profiler_dump(listener.stub) }}</td>
<td class=\"no-wrap\">{{ '%0.2f'|format(listener.time * 1000) }} ms</td>
<td class=\"font-normal\">{{ listener.response ? profiler_dump(listener.response) : '(none)' }}</td>
</tr>
{% if loop.last %}
</tbody>
{% endif %}
{% endfor %}
</table>
{% endif %}
{% endif %}
{% elseif collector.enabled %}
<div class=\"empty\">
<p>This request was not covered by any firewall.</p>
</div>
{% endif %}
{% else %}
<div class=\"empty\">
<p>The security component is disabled.</p>
</div>
{% endif %}
{% if collector.voters|default([]) is not empty %}
<h2>Security Voters <small>({{ collector.voters|length }})</small></h2>
<div class=\"metrics\">
<div class=\"metric\">
<span class=\"value\">{{ collector.voterStrategy|default('unknown') }}</span>
<span class=\"label\">Strategy</span>
</div>
</div>
<table class=\"voters\">
<thead>
<tr>
<th>#</th>
<th>Voter class</th>
</tr>
</thead>
<tbody>
{% for voter in collector.voters %}
<tr>
<td class=\"font-normal text-small text-muted nowrap\">{{ loop.index }}</td>
<td class=\"font-normal\">{{ profiler_dump(voter) }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
{% if collector.accessDecisionLog|default([]) is not empty %}
<h2>Access decision log</h2>
<table class=\"decision-log\">
<col style=\"width: 30px\">
<col style=\"width: 120px\">
<col style=\"width: 25%\">
<col style=\"width: 60%\">
<thead>
<tr>
<th>#</th>
<th>Result</th>
<th>Attributes</th>
<th>Object</th>
</tr>
</thead>
<tbody>
{% for decision in collector.accessDecisionLog %}
<tr>
<td class=\"font-normal text-small text-muted nowrap\">{{ loop.index }}</td>
<td class=\"font-normal\">
{{ decision.result
? '<span class=\"label status-success same-width\">GRANTED</span>'
: '<span class=\"label status-error same-width\">DENIED</span>'
}}
</td>
<td>
{% if decision.attributes|length == 1 %}
{% set attribute = decision.attributes|first %}
{% if attribute.expression is defined %}
Expression: <pre><code>{{ attribute.expression }}</code></pre>
{% elseif attribute.type == 'string' %}
{{ attribute }}
{% else %}
{{ profiler_dump(attribute) }}
{% endif %}
{% else %}
{{ profiler_dump(decision.attributes) }}
{% endif %}
</td>
<td>{{ profiler_dump(decision.seek('object')) }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
{% endblock %}
", "@Security/Collector/security.html.twig", "/Volumes/Dev/Sources/Clients/taome/Nouveau_site/www/vendor/symfony/symfony/src/Symfony/Bundle/SecurityBundle/Resources/views/Collector/security.html.twig");
}
}