123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- {% extends '@WebProfiler/Profiler/base.html.twig' %}
- {% block body %}
- {{ include('@WebProfiler/Profiler/header.html.twig', with_context = false) }}
- <div id="summary">
- {% block summary %}
- {% if profile is defined %}
- {% set request_collector = profile.collectors.request|default(false) %}
- {% set status_code = request_collector ? request_collector.statuscode|default(0) : 0 %}
- {% set css_class = status_code > 399 ? 'status-error' : status_code > 299 ? 'status-warning' : 'status-success' %}
- <div class="status {{ css_class }}">
- <div class="container">
- <h2 class="break-long-words">
- {% if profile.method|upper in ['GET', 'HEAD'] %}
- <a href="{{ profile.url }}">{{ profile.url }}</a>
- {% else %}
- {{ profile.url }}
- {% set referer = request_collector ? request_collector.requestheaders.get('referer') : null %}
- {% if referer %}
- <a href="{{ referer }}" class="referer">Return to referer URL</a>
- {% endif %}
- {% endif %}
- </h2>
- {% if request_collector and request_collector.redirect -%}
- {%- set redirect = request_collector.redirect -%}
- {%- set controller = redirect.controller -%}
- {%- set redirect_route = '@' ~ redirect.route %}
- <dl class="metadata">
- <dt>
- <span class="label">{{ redirect.status_code }}</span>
- Redirect from
- </dt>
- <dd>
- {{ 'GET' != redirect.method ? redirect.method }}
- {% if redirect.controller.class is defined -%}
- {%- set link = controller.file|file_link(controller.line) -%}
- {% if link %}<a href="{{ link }}" title="{{ controller.file }}">{% endif -%}
- {{ redirect_route }}
- {%- if link %}</a>{% endif -%}
- {%- else -%}
- {{ redirect_route }}
- {%- endif %}
- (<a href="{{ path('_profiler', { token: redirect.token, panel: request.query.get('panel', 'request') }) }}">{{ redirect.token }}</a>)
- </dd>
- </dl>
- {%- endif %}
- {% if request_collector and request_collector.forwardtoken -%}
- {% set forward_profile = profile.childByToken(request_collector.forwardtoken) %}
- {% set controller = forward_profile ? forward_profile.collector('request').controller : 'n/a' %}
- <dl class="metadata">
- <dt>Forwarded to</dt>
- <dd>
- {% set link = controller.file is defined ? controller.file|file_link(controller.line) : null -%}
- {%- if link %}<a href="{{ link }}" title="{{ controller.file }}">{% endif -%}
- {% if controller.class is defined %}
- {{- controller.class|abbr_class|striptags -}}
- {{- controller.method ? ' :: ' ~ controller.method -}}
- {% else %}
- {{- controller -}}
- {% endif %}
- {%- if link %}</a>{% endif %}
- (<a href="{{ path('_profiler', { token: request_collector.forwardtoken }) }}">{{ request_collector.forwardtoken }}</a>)
- </dd>
- </dl>
- {%- endif %}
- <dl class="metadata">
- <dt>Method</dt>
- <dd>{{ profile.method|upper }}</dd>
- <dt>HTTP Status</dt>
- <dd>{{ status_code }}</dd>
- <dt>IP</dt>
- <dd>
- <a href="{{ path('_profiler_search_results', { token: token, limit: 10, ip: profile.ip }) }}">{{ profile.ip }}</a>
- </dd>
- <dt>Profiled on</dt>
- <dd><time datetime="{{ profile.time|date('c') }}">{{ profile.time|date('r') }}</time></dd>
- <dt>Token</dt>
- <dd>{{ profile.token }}</dd>
- </dl>
- </div>
- </div>
- {% endif %}
- {% endblock %}
- </div>
- <div id="content" class="container">
- <div id="main">
- <div id="sidebar">
- <div id="sidebar-shortcuts">
- <div class="shortcuts">
- <a href="#" id="sidebarShortcutsMenu" class="visible-small">
- <span class="icon">{{ include('@WebProfiler/Icon/menu.svg') }}</span>
- </a>
- <a class="btn btn-sm" href="{{ path('_profiler_search', { limit: 10 }) }}">Last 10</a>
- <a class="btn btn-sm" href="{{ path('_profiler', { token: 'latest' }|merge(request.query.all)) }}">Latest</a>
- <a class="sf-toggle btn btn-sm" data-toggle-selector="#sidebar-search" {% if tokens is defined or about is defined %}data-toggle-initial="display"{% endif %}>
- {{ include('@WebProfiler/Icon/search.svg') }} <span class="hidden-small">Search</span>
- </a>
- {{ render(path('_profiler_search_bar', request.query.all)) }}
- </div>
- </div>
- {% if templates is defined %}
- <ul id="menu-profiler">
- {% for name, template in templates %}
- {% set menu -%}
- {%- if block('menu', template) is defined -%}
- {% with { collector: profile.getcollector(name), profiler_markup_version: profiler_markup_version } %}
- {{- block('menu', template) -}}
- {% endwith %}
- {%- endif -%}
- {%- endset %}
- {% if menu is not empty %}
- <li class="{{ name }} {{ name == panel ? 'selected' : '' }}">
- <a href="{{ path('_profiler', { token: token, panel: name }) }}">{{ menu|raw }}</a>
- </li>
- {% endif %}
- {% endfor %}
- </ul>
- {% endif %}
- {{ include('@WebProfiler/Profiler/settings.html.twig') }}
- </div>
- <div id="collector-wrapper">
- <div id="collector-content">
- {{ include('@WebProfiler/Profiler/base_js.html.twig') }}
- {% block panel '' %}
- </div>
- </div>
- </div>
- </div>
- <script>
- (function () {
- Sfjs.addEventListener(document.getElementById('sidebarShortcutsMenu'), 'click', function (event) {
- event.preventDefault();
- Sfjs.toggleClass(document.getElementById('sidebar'), 'expanded');
- })
- }());
- </script>
- {% endblock %}
|