Merge remote branch 'vicb/profiler_again'

This commit is contained in:
Fabien Potencier 2011-03-15 13:37:52 +01:00
commit 50e463977b
21 changed files with 295 additions and 141 deletions

View File

@ -67,4 +67,5 @@ class DoctrineDataCollector extends DataCollector
{ {
return 'db'; return 'db';
} }
} }

View File

@ -1,10 +1,13 @@
{% extends 'WebProfilerBundle:Profiler:layout.html.twig' %} {% extends 'WebProfilerBundle:Profiler:layout.html.twig' %}
{% block toolbar %} {% block toolbar %}
<span style="white-space:nowrap; color:#2f2f2f; display:inline-block; min-height:24px; border-right:1px solid #cdcdcd; padding:5px 10px 5px 6px; "> {% set icon %}
<img width="20" height="28" alt="Database" style="vertical-align: middle; margin-right: 10px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAcCAYAAABh2p9gAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQRJREFUeNpi/P//PwM1ARMDlcGogZQDlpMnT7pxc3NbA9nhQKxOpL5rQLwJiPeBsI6Ozl+YBOOOHTv+AOllQNwtLS39F2owKYZ/gRq8G4i3ggxEToggWzvc3d2Pk+1lNL4fFAs6ODi8JzdS7mMRVyDVoAMHDsANdAPiOCC+jCQvQKqBQB/BDbwBxK5AHA3E/kB8nKJkA8TMQBwLxaBIKQbi70AvTADSBiSadwFXpCikpKQU8PDwkGTaly9fHFigkaKIJid4584dkiMFFI6jkTJII0WVmpHCAixZQEXWYhDeuXMnyLsVlEQKI45qFBQZ8eRECi4DBaAlDqle/8A48ip6gAADANdQY88Uc0oGAAAAAElFTkSuQmCC"/> <img width="20" height="28" alt="Database" style="border-width: 0; vertical-align: middle; margin-right: 10px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAcCAYAAABh2p9gAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQRJREFUeNpi/P//PwM1ARMDlcGogZQDlpMnT7pxc3NbA9nhQKxOpL5rQLwJiPeBsI6Ozl+YBOOOHTv+AOllQNwtLS39F2owKYZ/gRq8G4i3ggxEToggWzvc3d2Pk+1lNL4fFAs6ODi8JzdS7mMRVyDVoAMHDsANdAPiOCC+jCQvQKqBQB/BDbwBxK5AHA3E/kB8nKJkA8TMQBwLxaBIKQbi70AvTADSBiSadwFXpCikpKQU8PDwkGTaly9fHFigkaKIJid4584dkiMFFI6jkTJII0WVmpHCAixZQEXWYhDeuXMnyLsVlEQKI45qFBQZ8eRECi4DBaAlDqle/8A48ip6gAADANdQY88Uc0oGAAAAAElFTkSuQmCC"/>
<span style="color: {{ collector.querycount < 10 ? '#000' : '#d22' }}" title="{{ '%0.2f'|format(collector.time * 1000) }} ms">{{ collector.querycount }}</span> {% endset %}
</span> {% set text %}
<span title="{{ '%0.2f'|format(collector.time * 1000) }} ms">{{ collector.querycount }}</span>
{% endset %}
{% include 'WebProfilerBundle:Profiler:toolbar_item.html.twig' with { 'link': profiler_url } %}
{% endblock %} {% endblock %}
{% block menu %} {% block menu %}

View File

@ -1,10 +1,13 @@
{% extends 'WebProfilerBundle:Profiler:layout.html.twig' %} {% extends 'WebProfilerBundle:Profiler:layout.html.twig' %}
{% block toolbar %} {% block toolbar %}
<span style="white-space:nowrap; color:#2f2f2f; display:inline-block; min-height:24px; border-right:1px solid #cdcdcd; padding:5px 10px 5px 10px; "> {% set icon %}
<img width="20" height="28" alt="Mongo" style="vertical-align: middle; margin-right: 10px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAcCAYAAABh2p9gAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQRJREFUeNpi/P//PwM1ARMDlcGogZQDlpMnT7pxc3NbA9nhQKxOpL5rQLwJiPeBsI6Ozl+YBOOOHTv+AOllQNwtLS39F2owKYZ/gRq8G4i3ggxEToggWzvc3d2Pk+1lNL4fFAs6ODi8JzdS7mMRVyDVoAMHDsANdAPiOCC+jCQvQKqBQB/BDbwBxK5AHA3E/kB8nKJkA8TMQBwLxaBIKQbi70AvTADSBiSadwFXpCikpKQU8PDwkGTaly9fHFigkaKIJid4584dkiMFFI6jkTJII0WVmpHCAixZQEXWYhDeuXMnyLsVlEQKI45qFBQZ8eRECi4DBaAlDqle/8A48ip6gAADANdQY88Uc0oGAAAAAElFTkSuQmCC"/> <img width="20" height="28" alt="Mongo" style="border-width: 0; vertical-align: middle; margin-right: 10px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAcCAYAAABh2p9gAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQRJREFUeNpi/P//PwM1ARMDlcGogZQDlpMnT7pxc3NbA9nhQKxOpL5rQLwJiPeBsI6Ozl+YBOOOHTv+AOllQNwtLS39F2owKYZ/gRq8G4i3ggxEToggWzvc3d2Pk+1lNL4fFAs6ODi8JzdS7mMRVyDVoAMHDsANdAPiOCC+jCQvQKqBQB/BDbwBxK5AHA3E/kB8nKJkA8TMQBwLxaBIKQbi70AvTADSBiSadwFXpCikpKQU8PDwkGTaly9fHFigkaKIJid4584dkiMFFI6jkTJII0WVmpHCAixZQEXWYhDeuXMnyLsVlEQKI45qFBQZ8eRECi4DBaAlDqle/8A48ip6gAADANdQY88Uc0oGAAAAAElFTkSuQmCC"/>
<span style="color: {{ collector.querycount < 10 ? '#000' : '#d22' }}">{{ collector.querycount }}</span> {% endset %}
</span> {% set text %}
<span>{{ collector.querycount }}</span>
{% endset %}
{% include 'WebProfilerBundle:Profiler:toolbar_item.html.twig' with { 'link': profiler_url } %}
{% endblock %} {% endblock %}
{% block menu %} {% block menu %}
@ -21,15 +24,17 @@
<h2>Queries</h2> <h2>Queries</h2>
{% if not collector.queries %} {% if not collector.queries %}
<p>
<em>Query logging is disabled.</em> <em>Query logging is disabled.</em>
<p>
{% elseif not collector.querycount %} {% elseif not collector.querycount %}
<p> <p>
<em>No queries.</em> <em>No queries.</em>
</p> </p>
{% else %} {% else %}
<ul class="alt"> <ul class="alt">
{% for i, query in collector.queries %} {% for query in collector.queries %}
<li class="{{ i is odd ? 'odd' : 'even' }}"> <li class="{{ cycle(['odd', 'even'], loop.index) }}">
<div> <div>
<code>{{ query }}</code> <code>{{ query }}</code>
</div> </div>

View File

@ -1,8 +1,10 @@
{% extends 'WebProfilerBundle:Profiler:layout.html.twig' %} {% extends 'WebProfilerBundle:Profiler:layout.html.twig' %}
{% block toolbar %} {% block toolbar %}
<span style="white-space:nowrap; color:#2f2f2f; display:inline-block; min-height:24px; border-right:1px solid #cdcdcd; padding:5px 10px 5px 6px; "> {% set icon %}
<img width="21" height="28" alt="Security" style="vertical-align: middle; margin-right: 10px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAcCAYAAACOGPReAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAp1JREFUeNrkVU2LUmEUfq/eGs1RCFMG/AA/qIUyIpWEA02MCblw0YdLoZ2bdjEQuBb6Af2AwqV9bAMVmgIhqEWOEIToIC5EUUERNfXac2yulfeOUjmL6IXDvfe855z3Oec8573cdDpl614KdgrrVIJyK/Y3sB5oNJrdYwBCr9c7GA6HT/A+/NNDr/r9/veZTGaazWan9KRv0i9zUi7Z2wyFQs9isZi/3W6zTqfDut0u29nZMQHtpWKx+Bw2X+UceYfDIVFOJhOmVqu94XD4Gs/zDOn+cMA36Y+Ojrz9fv+dUinFxXs8HtmgKpVq7ywWUDFBEOZ79E367e3tvcFgIB/UarVKlMRdILKNx2Mmx2M61Gw2z/Y5TtprfklNBXISD5nTBUGO9cJJjrzFYpk1YRGpQqE4hDMyFyRcJqVWqz2ksiwi1el0jPP5fCwajc4CkZAhpYf3iwj8CXYqGTAD2HkQ8AvVFHaz4CTJZPI7+be2tuYIg8EgCwQC1JAzyOANDP0yNc8B0Q0MxQj8Zel0eo64VqtJJ4pOjUQizG63M1Dmtl6vf7lo02w274Byr0qlEkulUr+wY+WYggGX4/H4B7E0YoqJROIK6v3xdyfKC+d7Lpdr3+l0WqnGJISIpNVquRqNxjnYjSjjZRfKBuQW0tp1u913bTablTgsovyZUiSVSoWVy+VKoVB4gTIdYOu1eMlQ0E3IfYPBcB1TchOkPk+No3GEscjJxbLQGM/2qDHVarWdz+czQP8W2085NOIhbp7HRqORJ45RozB+kuLLXsawxTjPbInr9Xp9nMvlHnG4iUrotI1SPGksV17KKAehpycYUeZNJtMFSvNvl1gmisePRiPtOn8lYImWRz0+08iuMW6H+79/0f9O0G8CDAD1sUxLMA6q7wAAAABJRU5ErkJggg==" /> <img width="21" height="28" alt="Security" style="border-width: 0; vertical-align: middle; margin-right: 10px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAcCAYAAACOGPReAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAp1JREFUeNrkVU2LUmEUfq/eGs1RCFMG/AA/qIUyIpWEA02MCblw0YdLoZ2bdjEQuBb6Af2AwqV9bAMVmgIhqEWOEIToIC5EUUERNfXac2yulfeOUjmL6IXDvfe855z3Oec8573cdDpl614KdgrrVIJyK/Y3sB5oNJrdYwBCr9c7GA6HT/A+/NNDr/r9/veZTGaazWan9KRv0i9zUi7Z2wyFQs9isZi/3W6zTqfDut0u29nZMQHtpWKx+Bw2X+UceYfDIVFOJhOmVqu94XD4Gs/zDOn+cMA36Y+Ojrz9fv+dUinFxXs8HtmgKpVq7ywWUDFBEOZ79E367e3tvcFgIB/UarVKlMRdILKNx2Mmx2M61Gw2z/Y5TtprfklNBXISD5nTBUGO9cJJjrzFYpk1YRGpQqE4hDMyFyRcJqVWqz2ksiwi1el0jPP5fCwajc4CkZAhpYf3iwj8CXYqGTAD2HkQ8AvVFHaz4CTJZPI7+be2tuYIg8EgCwQC1JAzyOANDP0yNc8B0Q0MxQj8Zel0eo64VqtJJ4pOjUQizG63M1Dmtl6vf7lo02w274Byr0qlEkulUr+wY+WYggGX4/H4B7E0YoqJROIK6v3xdyfKC+d7Lpdr3+l0WqnGJISIpNVquRqNxjnYjSjjZRfKBuQW0tp1u913bTablTgsovyZUiSVSoWVy+VKoVB4gTIdYOu1eMlQ0E3IfYPBcB1TchOkPk+No3GEscjJxbLQGM/2qDHVarWdz+czQP8W2085NOIhbp7HRqORJ45RozB+kuLLXsawxTjPbInr9Xp9nMvlHnG4iUrotI1SPGksV17KKAehpycYUeZNJtMFSvNvl1gmisePRiPtOn8lYImWRz0+08iuMW6H+79/0f9O0G8CDAD1sUxLMA6q7wAAAABJRU5ErkJggg==" />
{% endset %}
{% set text %}
<span style="color: #3a3"> <span style="color: #3a3">
{% if collector.authenticated %} {% if collector.authenticated %}
{{ collector.user }} {{ collector.user }}
@ -12,7 +14,8 @@
disabled disabled
{% endif %} {% endif %}
</span> </span>
</span> {% endset %}
{% include 'WebProfilerBundle:Profiler:toolbar_item.html.twig' with { 'link': profiler_url } %}
{% endblock %} {% endblock %}
{% block menu %} {% block menu %}

View File

@ -30,10 +30,12 @@ class ProfilerController extends ContainerAware
* *
* @return Response A Response instance * @return Response A Response instance
*/ */
public function panelAction($token, $panel = 'request') public function panelAction($token)
{ {
$this->container->get('profiler')->disable(); $this->container->get('profiler')->disable();
$panel = $this->container->get('request')->query->get('panel', 'request');
$profiler = $this->container->get('profiler')->loadFromToken($token); $profiler = $this->container->get('profiler')->loadFromToken($token);
if ($profiler->isEmpty()) { if ($profiler->isEmpty()) {

View File

@ -28,7 +28,4 @@
<default key="_controller">WebProfilerBundle:Profiler:panel</default> <default key="_controller">WebProfilerBundle:Profiler:panel</default>
</route> </route>
<route id="_profiler_panel" pattern="/{token}/{panel}">
<default key="_controller">WebProfilerBundle:Profiler:panel</default>
</route>
</routes> </routes>

View File

@ -80,7 +80,7 @@ tr
table table
{ {
width:100%; width:100%;
margin:10px 0 60px; margin:10px 0 30px;
} }
table th table th
@ -135,12 +135,12 @@ fieldset
min-width: 970px; min-width: 970px;
} }
.header #header
{ {
padding:30px 30px 20px 30px; padding:30px 30px 20px;
} }
.header h1 #header h1
{ {
float:left; float:left;
} }
@ -150,12 +150,12 @@ fieldset
float:right; float:right;
} }
.menu_profiler #menu_profiler
{ {
border-right: 1px solid #dfdfdf; border-right: 1px solid #dfdfdf;
} }
.menu_profiler li #menu_profiler li
{ {
border-bottom: 1px solid #dfdfdf; border-bottom: 1px solid #dfdfdf;
position: relative; position: relative;
@ -164,7 +164,7 @@ fieldset
background-color: #f6f6f6; background-color: #f6f6f6;
} }
.menu_profiler li a #menu_profiler li a
{ {
color: #404040; color: #404040;
display: block; display: block;
@ -174,7 +174,7 @@ fieldset
cursor: pointer; cursor: pointer;
} }
.menu_profiler li a span.label #menu_profiler li a span.label
{ {
display: block; display: block;
padding: 20px 20px 16px 65px; padding: 20px 20px 16px 65px;
@ -182,7 +182,7 @@ fieldset
_height: 24px; _height: 24px;
} }
.menu_profiler li a span.icon #menu_profiler li a span.icon
{ {
display: block; display: block;
position: absolute; position: absolute;
@ -192,22 +192,22 @@ fieldset
text-align: center; text-align: center;
} }
.menu_profiler li.selected a, #menu_profiler li.selected a,
.menu_profiler li a:hover #menu_profiler li a:hover
{ {
background:#d1d1d1 url(../images/profiler/bg_submenu.gif) repeat-x 0 0; background:#d1d1d1 url(../images/profiler/bg_submenu.gif) repeat-x 0 0;
} }
.menu_profiler .request, #menu_profiler li:first-child,
.menu_profiler .request a, #menu_profiler li:first-child a,
.menu_profiler .request a span.label #menu_profiler li:first-child a span.label
{ {
-moz-border-radius:16px 0 0 0; -moz-border-radius:16px 0 0 0;
-webkit-border-radius:16px 0 0 0; -webkit-border-radius:16px 0 0 0;
border-radius:16px 0 0 0; border-radius:16px 0 0 0;
} }
.menu_profiler li a span.count #menu_profiler li a span.count
{ {
padding: 0; padding: 0;
position:absolute; position:absolute;
@ -215,23 +215,23 @@ fieldset
top: 20px; top: 20px;
} }
.navigation, .collector_content #navigation, #collector_content
{ {
float:left float:left
} }
.navigation #navigation
{ {
width:250px; width:250px;
} }
.collector_content #collector_content
{ {
width:620px; width:620px;
padding:40px 0 40px 50px; padding:40px 0 40px 50px;
} }
.collector_content table td #collector_content table td
{ {
background-color: white; background-color: white;
} }
@ -253,7 +253,7 @@ li
} }
.main, .resume #main, #resume
{ {
-moz-border-radius:16px; -moz-border-radius:16px;
-webkit-border-radius:16px; -webkit-border-radius:16px;
@ -261,7 +261,7 @@ li
margin-bottom:20px; margin-bottom:20px;
} }
.menu_profiler span.count span #menu_profiler span.count span
{ {
display:inline-block; display:inline-block;
background-color:#aacd4e; background-color:#aacd4e;
@ -274,20 +274,20 @@ li
font-size: 11px; font-size: 11px;
} }
.resume #resume
{ {
background-color:#f6f6f6; background-color:#f6f6f6;
border:1px solid #dfdfdf; border:1px solid #dfdfdf;
padding:16px 28px; padding:16px 28px;
} }
.resume p #resume p
{ {
color:#313131; color:#313131;
font-size:12px; font-size:12px;
} }
.resume .date #resume .date
{ {
display:block; display:block;
} }
@ -306,14 +306,14 @@ table th.value
padding-bottom:2px; padding-bottom:2px;
} }
#content .main #content #main
{ {
padding: 0; padding: 0;
background-color:#FFFFFF; background-color:#FFFFFF;
border:1px solid #dfdfdf; border:1px solid #dfdfdf;
} }
#content .main p #content #main p
{ {
color:#868686; color:#868686;
font-size:14px; font-size:14px;
@ -344,6 +344,7 @@ ul.alt li.even {
ul.alt li.error { ul.alt li.error {
background-color: #f66; background-color: #f66;
margin-bottom: 1px;
} }
td.main, td.menu { td.main, td.menu {
@ -437,7 +438,7 @@ td.main, td.menu {
background: transparent url(../images/profiler/btn_bg.png) repeat-x top left; background: transparent url(../images/profiler/btn_bg.png) repeat-x top left;
} }
.navigation .search #navigation .search
{ {
padding-top: 15px; padding-top: 15px;
float: none; float: none;
@ -448,7 +449,7 @@ td.main, td.menu {
border-left: none; border-left: none;
} }
.navigation .search h3 #navigation .search h3
{ {
font-family: Arial,Helvetica,sans-serif; font-family: Arial,Helvetica,sans-serif;
text-transform: uppercase; text-transform: uppercase;
@ -456,49 +457,49 @@ td.main, td.menu {
font-size: 13px; font-size: 13px;
} }
.navigation .search form #navigation .search form
{ {
padding: 15px 0; padding: 15px 0;
} }
.navigation .search button #navigation .search button
{ {
float: right; float: right;
margin-right: 20px; margin-right: 20px;
} }
.navigation .search label #navigation .search label
{ {
display: block; display: block;
float: left; float: left;
width: 50px; width: 50px;
} }
.navigation .search input, #navigation .search input,
.navigation .search select, #navigation .search select,
.navigation .search label, #navigation .search label,
.navigation .search a #navigation .search a
{ {
font-size: 12px; font-size: 12px;
} }
.navigation .search form #navigation .search form
{ {
padding-left: 10px; padding-left: 10px;
} }
.navigation .search input #navigation .search input
{ {
width: 160px; width: 160px;
} }
.navigation .import label #navigation .import label
{ {
float: none; float: none;
display: inline; display: inline;
} }
.navigation .import input #navigation .import input
{ {
width: 100px; width: 100px;
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 497 B

View File

@ -1,22 +1,25 @@
{% extends 'WebProfilerBundle:Profiler:layout.html.twig' %} {% extends 'WebProfilerBundle:Profiler:layout.html.twig' %}
{% block toolbar %} {% block toolbar %}
<span style="white-space:nowrap; color:#2f2f2f; display:inline-block; min-height:24px; border-right:1px solid #cdcdcd; padding:5px 10px 5px 6px; margin:0;"> {% set icon %}
<a href="http://symfony.com/"><img width="26" height="28" alt="Symfony" style="margin: 0 5px 0 10px; vertical-align: middle;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAcCAYAAAB/E6/TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABRZJREFUeNqkVnlM03cUb38tFFqKB4UyGZccYrZyVpnGEQzngAlOQATcFMiWJcZFOZzb4pYNFTYnmYh4/OVEFCSIYAYIbhzCNpm0BMjCBAqFUsohMHrQFmTvbf2RDosWfc3L93rf76e/d1MXFxcp+uTj5bc0F3Q8oiXuS942JpMdVKs1nnK5nK8vy2Qy/2IwGF2WlpZ3KirLb8BdLdyhGCKqISAQpgNA1ODAYK5SqXSnGEEAOGrDtcmtrKq4AEvNi4CoJ7NPb2j4paFgYmIimvISxGazH8XERO8+mnFkGJaLhoCoFwsvOV4vKq4HFblQXoHodLpiq//W6IIL+Q2wXMA9Qh+k+PqN+68KgjQ/P89qe9hWWXKzFN+i6gMx6+vun5mdnd242kcDAt7WItvachdyvj09/k5EuAr3tVot88rlK2WoTRKInpV5LK6vr2/PakHCwsPk/m/5i5uamk1GR2U08L5WXz/fDvJ8cvIJ78O0j9Jhaoo24oSHRjTLZDKP1YC4uLhoyspLb0dF7AqVSCTrcG/N2jV/q+fUZnNzc6aknIWFxZPmlkYebZO7R+C92nufrPRg/N44ZVBwkHy91XqKJZtNlUpH/1X3seNZDebmZm2XLl6OIGUBhAH2oenf12g05qJ+0STR2toauxJI9qlv+oNDgn8990P+uuqfaswlkhGKm5vrvJOzkzIsLPROTXWtOSkL8TPk6uqiNfSOWCyOImamZ3iGDp03Os9FRkYUT01NdZJ7oF76yIiUiI+Pa4HlY4FAuHS3rq5eJpVKCUNvgSpfJ8DTuIYOR6WjqILfQ0NDGiOjIsXkvkKhINzc3RBo0tTUhMHjvSlHzj93nq9QKGmG3hoYGHQgaDQ63dChSqUySTmQmoRy2Se/vsrz5Clxn8PhzPH5fkI0SVdnN6+zs8sC+UXOQ1Cp/wUUSbav2T5FfVtbW6tBNQngnrthuxnU+BDPHRzsp2CYQJcdHx+3NdZLn9GpGYOhsnewr1nU5abhYUkCDFNDQ0P4OGWDnZ0ENXj2TF6gsSBWHCsV4bF58/AyfbJSD6b5czhWShaLuQCR3g9eF3LrVlkUnnt5e6JzLPb29u4wFsjB3n6K7u3t1X236u7/6kx7u8ATRzTy7fKKHeB54eTZli38dhhovb19/sYCbfLwEBF7Yt/7Ge1hSACNDCBLhkZHcHR0FOfmfBewGvsk70+sRRv17k2IFxpzwY/vN4Rpv7Gh8WNjQQJ3Bkrt7OwECDSQmpZSggG6XKig8PxITu4pGbne/35Sw4EPUg5DYBpVdVks1tNPj2eVYnATOlf9LTMroxYS4FIVtLGx0Wzfvq1EJBr4E9e7ot+VXrta5NEh7Ag19muOph/5g8vl1sFUQlZYK8z6134s+uzs93lvkIKQ17oJgkaHn+2YbIwB5d3MWJCMzPTHScmJeZgGgUdIIEwdDsBRoP+0Lz4/wYNKS33ZCgva6UtM2lcI0ypgEdZB/Z7BVAe2EwpWzJcnvgpsedDCXA2Aj4+39tDhQwJfX5+bsKwG7ic7ouVdEOY9a3Qw4CChsGNnaUmpW3PTA/OVvhC6HgrEojo2PlYEJb0JthrR5phU9NuuZ/o6XTOBseMEjIHrjTEHTuA0Oytn9fT0sCHj0/h8/jSbbaHw8vbCzN4H3KFjVNUM2f08D4gkmq6xsMFcq/tSLNlrdTlyGkuFzmvHdIwA80Z1qs8BZWDO1TF+NcYddjzq5f/eEP0jwAAGCybA1KhGOwAAAABJRU5ErkJggg=="/></a> <a href="http://symfony.com/"><img width="26" height="28" alt="Symfony" style="border-width: 0; margin: 0 5px 0 10px; vertical-align: middle;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAcCAYAAAB/E6/TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABRZJREFUeNqkVnlM03cUb38tFFqKB4UyGZccYrZyVpnGEQzngAlOQATcFMiWJcZFOZzb4pYNFTYnmYh4/OVEFCSIYAYIbhzCNpm0BMjCBAqFUsohMHrQFmTvbf2RDosWfc3L93rf76e/d1MXFxcp+uTj5bc0F3Q8oiXuS942JpMdVKs1nnK5nK8vy2Qy/2IwGF2WlpZ3KirLb8BdLdyhGCKqISAQpgNA1ODAYK5SqXSnGEEAOGrDtcmtrKq4AEvNi4CoJ7NPb2j4paFgYmIimvISxGazH8XERO8+mnFkGJaLhoCoFwsvOV4vKq4HFblQXoHodLpiq//W6IIL+Q2wXMA9Qh+k+PqN+68KgjQ/P89qe9hWWXKzFN+i6gMx6+vun5mdnd242kcDAt7WItvachdyvj09/k5EuAr3tVot88rlK2WoTRKInpV5LK6vr2/PakHCwsPk/m/5i5uamk1GR2U08L5WXz/fDvJ8cvIJ78O0j9Jhaoo24oSHRjTLZDKP1YC4uLhoyspLb0dF7AqVSCTrcG/N2jV/q+fUZnNzc6aknIWFxZPmlkYebZO7R+C92nufrPRg/N44ZVBwkHy91XqKJZtNlUpH/1X3seNZDebmZm2XLl6OIGUBhAH2oenf12g05qJ+0STR2toauxJI9qlv+oNDgn8990P+uuqfaswlkhGKm5vrvJOzkzIsLPROTXWtOSkL8TPk6uqiNfSOWCyOImamZ3iGDp03Os9FRkYUT01NdZJ7oF76yIiUiI+Pa4HlY4FAuHS3rq5eJpVKCUNvgSpfJ8DTuIYOR6WjqILfQ0NDGiOjIsXkvkKhINzc3RBo0tTUhMHjvSlHzj93nq9QKGmG3hoYGHQgaDQ63dChSqUySTmQmoRy2Se/vsrz5Clxn8PhzPH5fkI0SVdnN6+zs8sC+UXOQ1Cp/wUUSbav2T5FfVtbW6tBNQngnrthuxnU+BDPHRzsp2CYQJcdHx+3NdZLn9GpGYOhsnewr1nU5abhYUkCDFNDQ0P4OGWDnZ0ENXj2TF6gsSBWHCsV4bF58/AyfbJSD6b5czhWShaLuQCR3g9eF3LrVlkUnnt5e6JzLPb29u4wFsjB3n6K7u3t1X236u7/6kx7u8ATRzTy7fKKHeB54eTZli38dhhovb19/sYCbfLwEBF7Yt/7Ge1hSACNDCBLhkZHcHR0FOfmfBewGvsk70+sRRv17k2IFxpzwY/vN4Rpv7Gh8WNjQQJ3Bkrt7OwECDSQmpZSggG6XKig8PxITu4pGbne/35Sw4EPUg5DYBpVdVks1tNPj2eVYnATOlf9LTMroxYS4FIVtLGx0Wzfvq1EJBr4E9e7ot+VXrta5NEh7Ag19muOph/5g8vl1sFUQlZYK8z6134s+uzs93lvkIKQ17oJgkaHn+2YbIwB5d3MWJCMzPTHScmJeZgGgUdIIEwdDsBRoP+0Lz4/wYNKS33ZCgva6UtM2lcI0ypgEdZB/Z7BVAe2EwpWzJcnvgpsedDCXA2Aj4+39tDhQwJfX5+bsKwG7ic7ouVdEOY9a3Qw4CChsGNnaUmpW3PTA/OVvhC6HgrEojo2PlYEJb0JthrR5phU9NuuZ/o6XTOBseMEjIHrjTEHTuA0Oytn9fT0sCHj0/h8/jSbbaHw8vbCzN4H3KFjVNUM2f08D4gkmq6xsMFcq/tSLNlrdTlyGkuFzmvHdIwA80Z1qs8BZWDO1TF+NcYddjzq5f/eEP0jwAAGCybA1KhGOwAAAABJRU5ErkJggg=="/></a>
{{ collector.symfonyversion }} {% endset %}
</span> {% include 'WebProfilerBundle:Profiler:toolbar_item.html.twig' with { 'link': false, 'text': collector.symfonyversion } %}
<span style="white-space:nowrap; color:#2f2f2f; display:inline-block; min-height:24px; border-right:1px solid #cdcdcd; padding:5px 10px 5px 6px; margin:0;"> {% set text %}
PHP {{ collector.phpversion }} PHP {{ collector.phpversion }}
<span style="margin: 0; padding: 0; color: #979696;">|</span> <span style="margin: 0; padding: 0; color: #979696;">|</span>
<span style="color: {{ collector.hasxdebug ? '#759e1a' : '#a33' }}">xdebug</span> <span style="color: {{ collector.hasxdebug ? '#759e1a' : '#a33' }}">xdebug</span>
<span style="margin: 0; padding: 0; color: #979696">|</span> <span style="margin: 0; padding: 0; color: #979696">|</span>
<span style="color: {{ collector.hasaccelerator ? '#759e1a' : '#a33' }}">accel</span> <span style="color: {{ collector.hasaccelerator ? '#759e1a' : '#a33' }}">accel</span>
</span> {% endset %}
{% include 'WebProfilerBundle:Profiler:toolbar_item.html.twig' with { 'link': false, 'icon': '' } %}
<span style="white-space:nowrap; color:#2f2f2f; display:inline-block; min-height:24px; border-right:1px solid #cdcdcd; padding:5px 10px 5px 6px;"> {% set icon %}
<img width="21" height="28" alt="Environment" style="vertical-align: middle; margin-right: 10px;" src="data:image/png;base64, <img width="21" height="28" alt="Environment" style="border-width: 0; vertical-align: middle; margin-right: 10px;" src="data:image/png;base64,
iVBORw0KGgoAAAANSUhEUgAAABUAAAAcCAYAAACOGPReAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAZNJREFUeNpi/P//PwO1ARMDDcCooWDA4+npeRiEQWw0NTweHh4nQZhYORYoLf39+3cbGBuIbyJplPnx44cZjA3ENwjJwQzljoqKOghjo7lGBAcbBLiA+g7B2DBBRqCXj3/79s0CRSUX14lt27a5AplfgNgBCPaDxA8cOOAIokBe9fLy2o1LHxO6BAhAxWTwxIUMPn0seDTCvPotLi7uJIyNIxhQ9OEzVADoRZSgWbRo0UmoF1vx6GPBl06l8XhRmtzEL0KmHF5DWcmUo1E21dLSeo0uCBX7jUffb3z6GIGFdC2QYXPp0iVw4Ovp6T0FUkeA+BUw0c/AZiIwE2QAKTEc+laBktQqIL6al5e3FqqhDsQHYhU8Ln0CzVnY9D1hghYeD5E0PISKfcDjxQ949H2FJX5eJEkY+820adMm4/DiGzz6GFgIeBFX0DzBF/swQ/8oKCi8h7Gh9FeodzikpKSeQ8XuopW12PQxMEKraE0gDoSKrQfi60gaSZaDGQqqCiShks+h5Si8yiBVjnFkNyYAAgwAQGPBFLF65f4AAAAASUVORK5CYII="/> iVBORw0KGgoAAAANSUhEUgAAABUAAAAcCAYAAACOGPReAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAZNJREFUeNpi/P//PwO1ARMDDcCooWDA4+npeRiEQWw0NTweHh4nQZhYORYoLf39+3cbGBuIbyJplPnx44cZjA3ENwjJwQzljoqKOghjo7lGBAcbBLiA+g7B2DBBRqCXj3/79s0CRSUX14lt27a5AplfgNgBCPaDxA8cOOAIokBe9fLy2o1LHxO6BAhAxWTwxIUMPn0seDTCvPotLi7uJIyNIxhQ9OEzVADoRZSgWbRo0UmoF1vx6GPBl06l8XhRmtzEL0KmHF5DWcmUo1E21dLSeo0uCBX7jUffb3z6GIGFdC2QYXPp0iVw4Ovp6T0FUkeA+BUw0c/AZiIwE2QAKTEc+laBktQqIL6al5e3FqqhDsQHYhU8Ln0CzVnY9D1hghYeD5E0PISKfcDjxQ949H2FJX5eJEkY+820adMm4/DiGzz6GFgIeBFX0DzBF/swQ/8oKCi8h7Gh9FeodzikpKSeQ8XuopW12PQxMEKraE0gDoSKrQfi60gaSZaDGQqqCiShks+h5Si8yiBVjnFkNyYAAgwAQGPBFLF65f4AAAAASUVORK5CYII="/>
{% endset %}
{% set text %}
{{ collector.appname }} {{ collector.appname }}
<span style="margin: 0; padding: 0; color: #979696;">|</span> <span style="margin: 0; padding: 0; color: #979696;">|</span>
{{ collector.env }} {{ collector.env }}
@ -28,5 +31,86 @@
{% else %} {% else %}
{{ collector.token }} {{ collector.token }}
{% endif %} {% endif %}
{% endset %}
{% include 'WebProfilerBundle:Profiler:toolbar_item.html.twig' with { 'link': profiler_url } %}
{% endblock %}
{% block menu %}
<span class="label">
<span class="icon"><img src="{{ asset('bundles/webprofiler/images/profiler/config.png') }}" alt="Configuration" /></span>
<strong>Config</strong>
</span> </span>
{% endblock %} {% endblock %}
{% block panel %}
<h2>Project Configuration</h2>
<table>
<tr>
<th>Key</th>
<th>Value</th>
</tr>
<tr>
<th>Symfony version</th>
<td>{{ collector.symfonyversion }}</td>
</tr>
<tr>
<th>Application name</th>
<td>{{ collector.appname }}</td>
</tr>
<tr>
<th>Environment</th>
<td>{{ collector.env }}</td>
</tr>
<tr>
<th>Debug</th>
<td>{{ collector.debug ? 'enabled' : 'disabled' }}</td>
</tr>
</table>
<h2>PHP configuration</h2>
<table>
<tr>
<th>Key</th>
<th>Value</th>
</tr>
<tr>
<th>PHP version</th>
<td>{{ collector.phpversion }}</td>
</tr>
<tr>
<th>Xdebug</th>
<td>{{ collector.hasxdebug ? 'enabled' : 'disabled' }}</td>
</tr>
<tr>
<th>PHP acceleration</th>
<td>{{ collector.hasaccelerator ? 'enabled' : 'disabled' }}</td>
</tr>
<tr>
<th>XCache</th>
<td>{{ collector.hasxcache ? 'enabled' : 'disabled' }}</td>
</tr>
<tr>
<th>APC</th>
<td>{{ collector.hasapc ? 'enabled' : 'disabled' }}</td>
</tr>
<tr>
<th>EAccelerator</th>
<td>{{ collector.haseaccelerator ? 'enabled' : 'disabled' }}</td>
</tr>
</table>
<h2>Active bundles</h2>
<table>
<tr>
<th>Name</th>
<th>Path</th>
</tr>
{% for name, path in collector.bundles %}
<tr>
<th>{{ name }}</th>
<td>{{ path }}</td>
</tr>
{% endfor %}
</table>
{% endblock %}

View File

@ -2,7 +2,7 @@
{% block menu %} {% block menu %}
<span class="label"> <span class="label">
<span class="icon"><img src="{{ asset('bundles/webprofiler/images/profiler/events.png') }}" alt="" /></span> <span class="icon"><img src="{{ asset('bundles/webprofiler/images/profiler/events.png') }}" alt="Events" /></span>
<strong>Events</strong> <strong>Events</strong>
</span> </span>
{% endblock %} {% endblock %}

View File

@ -7,7 +7,7 @@
{% block menu %} {% block menu %}
<span class="label"> <span class="label">
<span class="icon"><img src="{{ asset('bundles/webprofiler/images/profiler/exception.png') }}" alt="" /></span> <span class="icon"><img src="{{ asset('bundles/webprofiler/images/profiler/exception.png') }}" alt="Exception" /></span>
<strong>Exception</strong> <strong>Exception</strong>
<span class="count"> <span class="count">
{% if collector.hasexception %} {% if collector.hasexception %}

View File

@ -1,15 +1,18 @@
{% extends 'WebProfilerBundle:Profiler:layout.html.twig' %} {% extends 'WebProfilerBundle:Profiler:layout.html.twig' %}
{% block toolbar %} {% block toolbar %}
<span style="white-space:nowrap; color:#2f2f2f; display:inline-block; min-height:24px; border-right:1px solid #cdcdcd; padding:5px 10px 5px 6px; "> {% set icon %}
<img width="15" height="28" alt="Logs" style="vertical-align: middle; margin-right: 10px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAcCAYAAAC+lOV/AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQVJREFUeNpi/P//PwO5gImBAjBwmlm8vLyOf/v2zYJYDVxcXCe2bdvmeu7cuS+M9vb2ZIWYoKDgUrKcvWLFipWfP38OYcEmeeDAgQtA6gMQCzg4OBigy0tISHxhYmJiYMFh+EIgBhlgAMXo4DEwffzH5ewLwAA5ADUAG/g7lBMJNkFgCO8fGJsJxTNezUTEM15nE4rnAQ4wkjVraWm9BlK/wc62tLR8fOXKFZmmpqYHhoaGT4Fif/Do/Q7Ep/bt28fz+/dvDkZgKdI4ZcqUmMOHD0t8+vSJi1gXKCgoPGQE5ixTIBuExUjwKsiSpyDNnECGOBCLAjEnkeEA8vMbxqFZ6AMEGADoe2NON2x5yQAAAABJRU5ErkJggg=="/> <img width="15" height="28" alt="Logs" style="border-width: 0; vertical-align: middle; margin-right: 10px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAcCAYAAAC+lOV/AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQVJREFUeNpi/P//PwO5gImBAjBwmlm8vLyOf/v2zYJYDVxcXCe2bdvmeu7cuS+M9vb2ZIWYoKDgUrKcvWLFipWfP38OYcEmeeDAgQtA6gMQCzg4OBigy0tISHxhYmJiYMFh+EIgBhlgAMXo4DEwffzH5ewLwAA5ADUAG/g7lBMJNkFgCO8fGJsJxTNezUTEM15nE4rnAQ4wkjVraWm9BlK/wc62tLR8fOXKFZmmpqYHhoaGT4Fif/Do/Q7Ep/bt28fz+/dvDkZgKdI4ZcqUmMOHD0t8+vSJi1gXKCgoPGQE5ixTIBuExUjwKsiSpyDNnECGOBCLAjEnkeEA8vMbxqFZ6AMEGADoe2NON2x5yQAAAABJRU5ErkJggg=="/>
{% endset %}
{% set text %}
<span>{{ collector.counterrors }}</span> <span>{{ collector.counterrors }}</span>
</span> {% endset %}
{% include 'WebProfilerBundle:Profiler:toolbar_item.html.twig' with { 'link': profiler_url } %}
{% endblock %} {% endblock %}
{% block menu %} {% block menu %}
<span class="label"> <span class="label">
<span class="icon"><img src="{{ asset('bundles/webprofiler/images/profiler/logger.png') }}" alt="" /></span> <span class="icon"><img src="{{ asset('bundles/webprofiler/images/profiler/logger.png') }}" alt="Logger" /></span>
<strong>Logs</strong> <strong>Logs</strong>
{% if collector.counterrors %} {% if collector.counterrors %}
<span class="count"> <span class="count">

View File

@ -1,8 +1,11 @@
{% extends 'WebProfilerBundle:Profiler:layout.html.twig' %} {% extends 'WebProfilerBundle:Profiler:layout.html.twig' %}
{% block toolbar %} {% block toolbar %}
<span style="white-space:nowrap; color:#2f2f2f; display:inline-block; min-height:24px; border-right:1px solid #cdcdcd; padding:5px 10px 5px 6px; "> {% set icon %}
<img width="13" height="28" alt="Memory Usage" style="vertical-align: middle; margin-right: 10px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAcCAYAAAC6YTVCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJBJREFUeNpi/P//PwOpgImBDDAcNbE4ODiAg+/AgQOC586d+4BLoZGRkQBQ7Xt0mxQIWKCAzXkCBDQJDEBAIHOKiooicSkEBtTz0WQ0xFI5Mqevr285HrUOMAajvb09ySULk5+f3w1SNIDUMwKLsAIg256IrAECoEx6EKQJlLkkgJiDCE0/gPgF4+AuLAECDAAolCeEmdURAgAAAABJRU5ErkJggg=="/> <img width="13" height="28" alt="Memory Usage" style="vertical-align: middle; margin-right: 10px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAcCAYAAAC6YTVCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJBJREFUeNpi/P//PwOpgImBDDAcNbE4ODiAg+/AgQOC586d+4BLoZGRkQBQ7Xt0mxQIWKCAzXkCBDQJDEBAIHOKiooicSkEBtTz0WQ0xFI5Mqevr285HrUOMAajvb09ySULk5+f3w1SNIDUMwKLsAIg256IrAECoEx6EKQJlLkkgJiDCE0/gPgF4+AuLAECDAAolCeEmdURAgAAAABJRU5ErkJggg=="/>
{% endset %}
{% set text %}
{{ '%.0f'|format(collector.memory / 1024) }} KB {{ '%.0f'|format(collector.memory / 1024) }} KB
</span> {% endset %}
{% include 'WebProfilerBundle:Profiler:toolbar_item.html.twig' with { 'link': false } %}
{% endblock %} {% endblock %}

View File

@ -1,8 +1,10 @@
{% extends 'WebProfilerBundle:Profiler:layout.html.twig' %} {% extends 'WebProfilerBundle:Profiler:layout.html.twig' %}
{% block toolbar %} {% block toolbar %}
<span style="white-space:nowrap; color:#2f2f2f; display:inline-block; min-height:24px; border-right:1px solid #cdcdcd; padding:5px 10px 5px 6px; "> {% set icon %}
<img width="28" height="28" alt="Request" style="vertical-align: middle; margin-right: 10px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABOZJREFUeNrsVmsspFcY9jHMMsxKE9sxM1SUNHRpSNR9bbQqrrNUCG1E1z3ZyIpq+dEfIiToRtomEiFi/zQrWdlZFFstDYK632ZRu2yxFNu4GzOY6fPKN80YVu1m41dP8uac75zz3t/3OR+jVqv1LnLo613wuHCFnJcdTExM8LOzs+9vb28HaPZMTU1bSkpKohwcHDbPI3xwcPBMhUx+fv6V4eHhG0KhsMfd3V2srYwGfQ8MDPiWlZUtYHjZ2dlJYcBfOFK/qof6YHTs7OxsUigU4rW1tQNjY+NHpzGMjo6my2SyQJVKxcH6mzt37gRmZWXJcKQ6j0IGVcpUV1e/W1NT0y6Xyy1fNScwbCkmJuZaQkLCU11PTwspFc0lhPHW6yijQXzET3LOG9JLYWFhywiTan9//1jVisVilbe3946FhYVieXmZ297ezsN87I6hoaEqODj4BatQfh6FKlipCA8Pf1ZbW2urOQgICNjKzMxsNzExofxQVZrHx8c7FRQUXOvp6THW3CM+GCo/dw4lEsnP6+vrx6rRxsZGWVlZWcHhcH7a2tpaKCwsdElOTpbZ2tqKNjc3I5KSkj5fWVk51lLm5ubNUqk0CsudM3O4sbHxke6mj4/PYyirr6urm4+MjPy1u7v7bkpKyi9VVVV/8/l8qa+v71NdHsj5BJPwP0OKKj2BNmhwCuPs2NiYBOGyoL2DgwPzycnJT7G8y+Vyn2B+T5uHlUN3pzV7rq6uJz3EONG0s7OzXEyHKKZ1Ho93cGQZh6MODQ1dof3FxUXDUwSRHOPY2NjoiIiI22R3XFzcFyEhIT9ibfKvh6jCuY6Ojne0mYEmPsgV19nZ+Y/S0tIHQ0NDHo6OjqNOTk4j8JKP3Hyoq5DkUNEyDHMTwBEI427v7u6KDAwMFNgXgGY0jf/1/Py8pKGh4X00P18jwMrKqjE3N/dLKBJTh4CWR0ZGloqKir6Hhz6ae1FRUZsovMcI+RByzjQ1NcXv7e2ZaBuDtpIhNf2BgYFfkULHxsbGzwBROYeHh/o6KLKAy40I6zJwVLi6uhoKYW9r34EHqpycnO9aWlquA+pccK7n6em5nZqa+ufMzAwfcoU7OzsGkLWOar9Opf28q6tLoKuMRRHx3NxcyllVR3y9vb3CtLS0uoyMjKsU1vT09GZra+s2tJcFKjwVxliiX0ddXFz0SYkB+moQL4T8daBNIBDsARAGkC8F4TLtwYBZTA9Bj2DwUdG1tbU5jI+Pc0ihHJaMFRcXP0Tejg5R9nqJiYmnGkD7dE5DJBIdIGTEN15eXv4xQncEBhUVFbdQod9GR0f/MDU1ZUV7CDWvv7/fnmGtegvkBYbI1tZWLzc3t+dAGDXQxV9XIYS1mpmZMX19fSI/P7/fAQT3sT2pVCo94cHN+vr6D+DNZW2evLy8J7hbj+U9DvukrIE6URwv0HtNWO8iVJYeHh5XgZtXNIz4XrG3t7+H5RLu8TDPkzKQ0sjIqA+NzkxPT6dCoUdQUNAagUFzc/NlROQ33Kml1mC0/trIUyOWCIhtQDdAniAei5HdICnoGfu0KVlSsw+BAD0Yir6V+Pv7L5AcGMCBkTXkEDnCnPGbSL0kYuHKiBW8SlVNjC/hoeRas3zbhIisIcRzhFLMG/4vZVgFBqwyFRsJleb5Yv7/EX7T4x8BBgDTTU7fbnA/yAAAAABJRU5ErkJggg=="/> <img width="28" height="28" alt="Request" style="border-width: 0; vertical-align: middle; margin-right: 10px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABOZJREFUeNrsVmsspFcY9jHMMsxKE9sxM1SUNHRpSNR9bbQqrrNUCG1E1z3ZyIpq+dEfIiToRtomEiFi/zQrWdlZFFstDYK632ZRu2yxFNu4GzOY6fPKN80YVu1m41dP8uac75zz3t/3OR+jVqv1LnLo613wuHCFnJcdTExM8LOzs+9vb28HaPZMTU1bSkpKohwcHDbPI3xwcPBMhUx+fv6V4eHhG0KhsMfd3V2srYwGfQ8MDPiWlZUtYHjZ2dlJYcBfOFK/qof6YHTs7OxsUigU4rW1tQNjY+NHpzGMjo6my2SyQJVKxcH6mzt37gRmZWXJcKQ6j0IGVcpUV1e/W1NT0y6Xyy1fNScwbCkmJuZaQkLCU11PTwspFc0lhPHW6yijQXzET3LOG9JLYWFhywiTan9//1jVisVilbe3946FhYVieXmZ297ezsN87I6hoaEqODj4BatQfh6FKlipCA8Pf1ZbW2urOQgICNjKzMxsNzExofxQVZrHx8c7FRQUXOvp6THW3CM+GCo/dw4lEsnP6+vrx6rRxsZGWVlZWcHhcH7a2tpaKCwsdElOTpbZ2tqKNjc3I5KSkj5fWVk51lLm5ubNUqk0CsudM3O4sbHxke6mj4/PYyirr6urm4+MjPy1u7v7bkpKyi9VVVV/8/l8qa+v71NdHsj5BJPwP0OKKj2BNmhwCuPs2NiYBOGyoL2DgwPzycnJT7G8y+Vyn2B+T5uHlUN3pzV7rq6uJz3EONG0s7OzXEyHKKZ1Ho93cGQZh6MODQ1dof3FxUXDUwSRHOPY2NjoiIiI22R3XFzcFyEhIT9ibfKvh6jCuY6Ojne0mYEmPsgV19nZ+Y/S0tIHQ0NDHo6OjqNOTk4j8JKP3Hyoq5DkUNEyDHMTwBEI427v7u6KDAwMFNgXgGY0jf/1/Py8pKGh4X00P18jwMrKqjE3N/dLKBJTh4CWR0ZGloqKir6Hhz6ae1FRUZsovMcI+RByzjQ1NcXv7e2ZaBuDtpIhNf2BgYFfkULHxsbGzwBROYeHh/o6KLKAy40I6zJwVLi6uhoKYW9r34EHqpycnO9aWlquA+pccK7n6em5nZqa+ufMzAwfcoU7OzsGkLWOar9Opf28q6tLoKuMRRHx3NxcyllVR3y9vb3CtLS0uoyMjKsU1vT09GZra+s2tJcFKjwVxliiX0ddXFz0SYkB+moQL4T8daBNIBDsARAGkC8F4TLtwYBZTA9Bj2DwUdG1tbU5jI+Pc0ihHJaMFRcXP0Tejg5R9nqJiYmnGkD7dE5DJBIdIGTEN15eXv4xQncEBhUVFbdQod9GR0f/MDU1ZUV7CDWvv7/fnmGtegvkBYbI1tZWLzc3t+dAGDXQxV9XIYS1mpmZMX19fSI/P7/fAQT3sT2pVCo94cHN+vr6D+DNZW2evLy8J7hbj+U9DvukrIE6URwv0HtNWO8iVJYeHh5XgZtXNIz4XrG3t7+H5RLu8TDPkzKQ0sjIqA+NzkxPT6dCoUdQUNAagUFzc/NlROQ33Kml1mC0/trIUyOWCIhtQDdAniAei5HdICnoGfu0KVlSsw+BAD0Yir6V+Pv7L5AcGMCBkTXkEDnCnPGbSL0kYuHKiBW8SlVNjC/hoeRas3zbhIisIcRzhFLMG/4vZVgFBqwyFRsJleb5Yv7/EX7T4x8BBgDTTU7fbnA/yAAAAABJRU5ErkJggg=="/>
{% endset %}
{% set text %}
<span style="color: {{ collector.route ? '#759e1a' : '#a33' }}">{{ collector.route ? collector.route : 'NONE' }}</span> <span style="color: {{ collector.route ? '#759e1a' : '#a33' }}">{{ collector.route ? collector.route : 'NONE' }}</span>
<span style="margin: 0; padding: 0; color: #979696;">|</span> <span style="margin: 0; padding: 0; color: #979696;">|</span>
{{ collector.format }} {{ collector.format }}
@ -10,12 +12,13 @@
<span style="color: {{ 200 == collector.statuscode ? '#759e1a' : '#a33' }}">{{ collector.statuscode }}</span> <span style="color: {{ 200 == collector.statuscode ? '#759e1a' : '#a33' }}">{{ collector.statuscode }}</span>
<span style="margin: 0; padding: 0; color: #979696;">|</span> <span style="margin: 0; padding: 0; color: #979696;">|</span>
{{ collector.contenttype }} {{ collector.contenttype }}
</span> {% endset %}
{% include 'WebProfilerBundle:Profiler:toolbar_item.html.twig' with { 'link': profiler_url } %}
{% endblock %} {% endblock %}
{% block menu %} {% block menu %}
<span class="label"> <span class="label">
<span class="icon"><img src="{{ asset('bundles/webprofiler/images/profiler/request.png') }}" alt="" /></span> <span class="icon"><img src="{{ asset('bundles/webprofiler/images/profiler/request.png') }}" alt="Request" /></span>
<strong>Request</strong> <strong>Request</strong>
</span> </span>
{% endblock %} {% endblock %}

View File

@ -1,8 +1,11 @@
{% extends 'WebProfilerBundle:Profiler:layout.html.twig' %} {% extends 'WebProfilerBundle:Profiler:layout.html.twig' %}
{% block toolbar %} {% block toolbar %}
<span style="white-space:nowrap; color:#2f2f2f; display:inline-block; min-height:24px; border-right:1px solid #cdcdcd; padding:5px 10px 5px 6px; "> {% set icon %}
<img width="16" height="28" alt="Timers" style="vertical-align: middle; margin-right: 10px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAcCAYAAABoMT8aAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAiNJREFUeNpi/P//PwMlgImBQjDwBrCcO3cOq0RRUdF3ZH5fXx8nTVzAePbsWcq8gMwxMjJiSUlJcXv9+nXm169fbf78+SMAVsTC8paXl3ePmJjYjJkzZx4GevsviheAGhmBguL+/v4779y5s/Xjx48+MM0gAGQLv3//PvzmzZv7AwMD19y+fVsEpAfsBWBCYly8eLHcsmXLjnz//l2GGGcDXXM1IyPD2dvb+xXIBTwbN25chU3zgQMHwBgdfP78WXvp0qVzgUwuprq6utg3b96YkRp4z549854wYYI7071791LJjYFLly7lM7148UKHXAOALtdnAYYwCyGFyOHg4OAAZ3/69ImfopTIzMz8j4WVlfXf79+/sRqEbBs2wMfH94tJXV39DbkuUFFReclkb29/jlwDPD09jzGFhoZu0NTU/EKqZktLyzdOTk7bQX4/U1tbu1pcXPwvsZoVFBR+lZeXLwUyz4MMuCMlJbWmv79/o56e3k9Cms3MzL5PmjRphYCAwCYg9wE4MwEZwkBsDsReO3fudN+zZ4/shQsX2ICxA9bEzs7OYGBg8NPHx+eBra3tdqDQVpDLgfgjuEABZk2QS3hBAQvExkBsAHIpMAsLAOP6PzC63gP590FOBmJQCXQPiL8Ai4D/KCUS0CBWIAUqB8SAWAiIQeUgqOIAlY/vgPgVEH8AavyDtUQCSoDc/BqEoQUGLIH9A9mGtUwc8JoJIMAAS9XemfR7crQAAAAASUVORK5CYII="/> <img width="16" height="28" alt="Timers" style="vertical-align: middle; margin-right: 10px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAcCAYAAABoMT8aAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAiNJREFUeNpi/P//PwMlgImBQjDwBrCcO3cOq0RRUdF3ZH5fXx8nTVzAePbsWcq8gMwxMjJiSUlJcXv9+nXm169fbf78+SMAVsTC8paXl3ePmJjYjJkzZx4GevsviheAGhmBguL+/v4779y5s/Xjx48+MM0gAGQLv3//PvzmzZv7AwMD19y+fVsEpAfsBWBCYly8eLHcsmXLjnz//l2GGGcDXXM1IyPD2dvb+xXIBTwbN25chU3zgQMHwBgdfP78WXvp0qVzgUwuprq6utg3b96YkRp4z549854wYYI7071791LJjYFLly7lM7148UKHXAOALtdnAYYwCyGFyOHg4OAAZ3/69ImfopTIzMz8j4WVlfXf79+/sRqEbBs2wMfH94tJXV39DbkuUFFReclkb29/jlwDPD09jzGFhoZu0NTU/EKqZktLyzdOTk7bQX4/U1tbu1pcXPwvsZoVFBR+lZeXLwUyz4MMuCMlJbWmv79/o56e3k9Cms3MzL5PmjRphYCAwCYg9wE4MwEZwkBsDsReO3fudN+zZ4/shQsX2ICxA9bEzs7OYGBg8NPHx+eBra3tdqDQVpDLgfgjuEABZk2QS3hBAQvExkBsAHIpMAsLAOP6PzC63gP590FOBmJQCXQPiL8Ai4D/KCUS0CBWIAUqB8SAWAiIQeUgqOIAlY/vgPgVEH8AavyDtUQCSoDc/BqEoQUGLIH9A9mGtUwc8JoJIMAAS9XemfR7crQAAAAASUVORK5CYII="/>
{% endset %}
{% set text %}
{{ '%.0f'|format(collector.time * 1000) }} ms {{ '%.0f'|format(collector.time * 1000) }} ms
</span> {% endset %}
{% include 'WebProfilerBundle:Profiler:toolbar_item.html.twig' with { 'link': false } %}
{% endblock %} {% endblock %}

View File

@ -1,4 +1,4 @@
<div class="header clear_fix"> <div id="header" class="clear_fix">
<h1> <h1>
<img src="{{ asset('bundles/webprofiler/images/profiler/logo_symfony_profiler.gif') }}" alt="Symfony profiler"/> <img src="{{ asset('bundles/webprofiler/images/profiler/logo_symfony_profiler.gif') }}" alt="Symfony profiler"/>
</h1> </h1>

View File

@ -8,7 +8,7 @@
{% include 'WebProfilerBundle:Profiler:header.html.twig' only %} {% include 'WebProfilerBundle:Profiler:header.html.twig' only %}
{% if not profiler.isempty %} {% if not profiler.isempty %}
<div class="resume"> <div id="resume">
<p> <p>
<strong><a href="{{ profiler.url }}">{{ profiler.url }}</a></strong> <strong><a href="{{ profiler.url }}">{{ profiler.url }}</a></strong>
<span class="date"> <span class="date">
@ -18,19 +18,19 @@
</div> </div>
{% endif %} {% endif %}
<div class="main"> <div id="main">
<div class="clear_fix"> <div class="clear_fix">
<div class="navigation"> <div id="navigation">
{% if templates is defined %} {% if templates is defined %}
<ul class="menu_profiler"> <ul id="menu_profiler">
{% for name, template in templates %} {% for name, template in templates %}
{% set menu %}{{ template.renderBlock('menu', { 'collector': profiler.get(name)}) }}{% endset %} {% set menu %}{{ template.renderBlock('menu', { 'collector': profiler.get(name)}) }}{% endset %}
{% if menu != '' %} {% if menu != '' %}
<li class="{{ name }}{% if name == panel %} selected{% endif %}"> <li class="{{ name }}{% if name == panel %} selected{% endif %}">
<a href="{{ path('_profiler_panel', { 'token': token, 'panel': name }) }}">{{ menu|raw }}</a> <a href="{{ path('_profiler', { 'token': token, 'panel': name }) }}">{{ menu|raw }}</a>
</li> </li>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
@ -43,7 +43,7 @@
</div> </div>
<div class="collector_content"> <div id="collector_content">
{% block panel '' %} {% block panel '' %}
</div> </div>
</div> </div>

View File

@ -4,19 +4,19 @@
<div id="content"> <div id="content">
{% include 'WebProfilerBundle:Profiler:header.html.twig' only %} {% include 'WebProfilerBundle:Profiler:header.html.twig' only %}
<div class="resume"> <div id="resume">
<p> <p>
<strong>No request matching the token "{{ token }}".</strong> <strong>No request matching the token "{{ token }}".</strong>
</p> </p>
</div> </div>
<div class="main"> <div id="main">
<div class="clear_fix"> <div class="clear_fix">
<div class="navigation"> <div id="navigation">
{% render 'WebProfilerBundle:Profiler:searchBar' with { 'token': token } %} {% render 'WebProfilerBundle:Profiler:searchBar' with { 'token': token } %}
{% include 'WebProfilerBundle:Profiler:admin.html.twig' with { 'token': token } only %} {% include 'WebProfilerBundle:Profiler:admin.html.twig' with { 'token': token } only %}
</div> </div>
<div class="collector_content"> <div id="collector_content">
{% block panel%} {% block panel%}
<h2>Token not found</h2> <h2>Token not found</h2>
<p> <p>

View File

@ -24,7 +24,7 @@
<span style="display: inline-block; min-height: 24px; width: 40px; float: right;">&nbsp;</span> <span style="display: inline-block; min-height: 24px; width: 40px; float: right;">&nbsp;</span>
{% for name, template in templates %} {% for name, template in templates %}
{{ template.renderblock('toolbar', { 'collector': profiler.get(name), 'profiler_url': profiler_url }) }} {{ template.renderblock('toolbar', { 'collector': profiler.get(name), 'profiler_url': profiler_url, 'token': profiler.token, 'name': name }) }}
{% endfor %} {% endfor %}
{% if 'normal' != position %} {% if 'normal' != position %}

View File

@ -0,0 +1,9 @@
{% if link %}
{% set icon %}
<a style="text-decoration: none; margin: 0; padding: 0;" href="{{ path('_profiler', { 'token': token, 'panel': name }) }}">{{ icon }}</a>
{% endset %}
{% endif %}
<span style="white-space:nowrap; color:#2f2f2f; display:inline-block; min-height:24px; border-right:1px solid #cdcdcd; padding:5px 10px 5px 6px; ">
{{ icon|default('') }}
{{ text|default('') }}
</span>

View File

@ -48,15 +48,17 @@ class ConfigDataCollector extends DataCollector
'env' => $this->kernel->getEnvironment(), 'env' => $this->kernel->getEnvironment(),
'debug' => $this->kernel->isDebug(), 'debug' => $this->kernel->isDebug(),
'php_version' => PHP_VERSION, 'php_version' => PHP_VERSION,
'xdebug' => extension_loaded('xdebug'), 'xdebug_enabled' => extension_loaded('xdebug'),
'accel' => ( 'eaccel_enabled' => extension_loaded('eaccelerator') && ini_get('eaccelerator.enable'),
(extension_loaded('eaccelerator') && ini_get('eaccelerator.enable')) 'apc_enabled' => extension_loaded('apc') && ini_get('apc.enabled'),
|| 'xcache_enabled' => extension_loaded('xcache') && ini_get('xcache.cacher'),
(extension_loaded('apc') && ini_get('apc.enabled')) 'bundles' => array(),
||
(extension_loaded('xcache') && ini_get('xcache.cacher'))
),
); );
foreach ($this->kernel->getBundles() as $name => $bundle) {
$this->data['bundles'][$name] = $bundle->getPath();
}
} }
/** /**
@ -126,17 +128,52 @@ class ConfigDataCollector extends DataCollector
*/ */
public function hasXDebug() public function hasXDebug()
{ {
return $this->data['xdebug']; return $this->data['xdebug_enabled'];
} }
/** /**
* Returns true if an accelerator is enabled. * Returns true if EAccelerator is enabled.
* *
* @return Boolean true if an accelerator is enabled, false otherwise * @return Boolean true if EAccelerator is enabled, false otherwise
*/
public function hasEAccelerator()
{
return $this->data['eaccel_enabled'];
}
/**
* Returns true if APC is enabled.
*
* @return Boolean true if APC is enabled, false otherwise
*/
public function hasApc()
{
return $this->data['apc_enabled'];
}
/**
* Returns true if XCache is enabled.
*
* @return Boolean true if XCache is enabled, false otherwise
*/
public function hasXCache()
{
return $this->data['xcache_enabled'];
}
/**
* Returns true if any accelerator is enabled.
*
* @return Boolean true if any accelerator is enabled, false otherwise
*/ */
public function hasAccelerator() public function hasAccelerator()
{ {
return $this->data['accel']; return $this->hasApc() || $this->hasEAccelerator() || $this->hasXCache();
}
public function getBundles()
{
return $this->data['bundles'];
} }
/** /**