merged branch fabpot/public-resources (PR #6000)

This PR was merged into the master branch.

Commits
-------

0159358 refactored CSS, images, templates included in the built-in bundles
812b9b1 replace _ in stylesheets (ids and classes) by - (should be consistent across the whole framework now)
983b2b5 uniformized styles
e0aab40 renamed sf-exceptionreset to sf-reset

Discussion
----------

Public resources refactoring

The first 3 commits are just cosmetic ones.

The last one refactors CSS, images, and templates included in the built-in bundles. Right now, everything is tied to the exception pages, but the code can be used standalone.

So, the goal is to make things more decoupled and more reusable across different bundles. That way, a bundle can provide pages that look like the other ones in Symfony without the need to duplicate code.

See the associated PR for the distribution bundle to see an example.

If you want to have a look at the last commit (not sure if it is worth it), you probably want to append ?w=1 to the URL to avoid too much whitespace noise.

---------------------------------------------------------------------------

by pborreli at 2012-11-13T09:38:00Z

congrats ! #6000

---------------------------------------------------------------------------

by fabpot at 2012-11-13T09:38:39Z

A simple usage example:

```jinja
{% extends "TwigBundle::layout.html.twig" %}

{% block body %}
    <div class="block">
        FOOBAR
    </div>
{% endblock %}
```
This commit is contained in:
Fabien Potencier 2012-11-13 14:20:12 +01:00
commit 83de4c2b02
30 changed files with 459 additions and 620 deletions

View File

@ -0,0 +1,150 @@
/*
Copyright (c) 2010, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.com/yui/license.html
version: 3.1.2
build: 56
*/
.sf-reset html{color:#000;background:#FFF;}.sf-reset body,.sf-reset div,.sf-reset dl,.sf-reset dt,.sf-reset dd,.sf-reset ul,.sf-reset ol,.sf-reset li,.sf-reset h1,.sf-reset h2,.sf-reset h3,.sf-reset h4,.sf-reset h5,.sf-reset h6,.sf-reset pre,.sf-reset code,.sf-reset form,.sf-reset fieldset,.sf-reset legend,.sf-reset input,.sf-reset textarea,.sf-reset p,.sf-reset blockquote,.sf-reset th,.sf-reset td{margin:0;padding:0;}.sf-reset table{border-collapse:collapse;border-spacing:0;}.sf-reset fieldset,.sf-reset img{border:0;}.sf-reset address,.sf-reset caption,.sf-reset cite,.sf-reset code,.sf-reset dfn,.sf-reset em,.sf-reset strong,.sf-reset th,.sf-reset var{font-style:normal;font-weight:normal;}.sf-reset li{list-style:none;}.sf-reset caption,.sf-reset th{text-align:left;}.sf-reset h1,.sf-reset h2,.sf-reset h3,.sf-reset h4,.sf-reset h5,.sf-reset h6{font-size:100%;font-weight:normal;}.sf-reset q:before,.sf-reset q:after{content:'';}.sf-reset abbr,.sf-reset acronym{border:0;font-variant:normal;}.sf-reset sup{vertical-align:text-top;}.sf-reset sub{vertical-align:text-bottom;}.sf-reset input,.sf-reset textarea,.sf-reset select{font-family:inherit;font-size:inherit;font-weight:inherit;}.sf-reset input,.sf-reset textarea,.sf-reset select{*font-size:100%;}.sf-reset legend{color:#000;}
.sf-reset html,
.sf-reset body {
width: 100%;
min-height: 100%;
_height: 100%;
margin: 0;
padding: 0;
}
.sf-reset body {
font: 1em "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
text-align: left;
background-color: #efefef;
}
.sf-reset abbr {
border-bottom: 1px dotted #000;
cursor: help;
}
.sf-reset p {
font-size: 14px;
line-height: 20px;
padding-bottom: 20px;
}
.sf-reset strong {
color: #313131;
font-weight: bold;
}
.sf-reset a {
color: #6c6159;
}
.sf-reset a img {
border: none;
}
.sf-reset a:hover {
text-decoration: underline;
}
.sf-reset em {
font-style: italic;
}
.sf-reset h2,
.sf-reset h3 {
font-weight: bold;
}
.sf-reset h1 {
font-family: Georgia, "Times New Roman", Times, serif;
font-size: 20px;
color: #313131;
word-break: break-all;
}
.sf-reset li {
padding-bottom: 10px;
}
.sf-reset .block {
-moz-border-radius: 16px;
-webkit-border-radius: 16px;
border-radius: 16px;
margin-bottom: 20px;
background-color: #FFFFFF;
border: 1px solid #dfdfdf;
padding: 40px 50px;
}
.sf-reset h2 {
font-size: 16px;
font-family: Arial, Helvetica, sans-serif;
}
.sf-reset li a {
background: none;
color: #868686;
text-decoration: none;
}
.sf-reset li a:hover {
background: none;
color: #313131;
text-decoration: underline;
}
.sf-reset ol {
padding: 10px 0;
}
.sf-reset ol li {
list-style: decimal;
margin-left: 20px;
padding: 2px;
padding-bottom: 20px;
}
.sf-reset ol ol li {
list-style-position: inside;
margin-left: 0;
white-space: nowrap;
font-size: 12px;
padding-bottom: 0;
}
.sf-reset li .selected {
background-color: #ffd;
}
.sf-button {
display: -moz-inline-box;
display: inline-block;
text-align: center;
vertical-align: middle;
border: 0;
background: transparent none;
text-transform: uppercase;
cursor: pointer;
font: bold 11px Arial, Helvetica, sans-serif;
}
.sf-button span {
text-decoration: none;
display: block;
height: 28px;
float: left;
}
.sf-button .border-l {
text-decoration: none;
display: block;
height: 28px;
float: left;
padding: 0 0 0 7px;
background: transparent url(../images/border_l.png) no-repeat top left;
}
.sf-button .border-r {
padding: 0 7px 0 0;
background: transparent url(../images/border_r.png) right top no-repeat;
}
.sf-button .btn-bg {
padding: 0px 14px;
color: #636363;
line-height: 28px;
background: transparent url(../images/btn_bg.png) repeat-x top left;
}
.sf-button:hover .border-l,
.sf-button-selected .border-l {
background: transparent url(../images/border_l_hover.png) no-repeat top left;
}
.sf-button:hover .border-r,
.sf-button-selected .border-r {
background: transparent url(../images/border_r_hover.png) right top no-repeat;
}
.sf-button:hover .btn-bg,
.sf-button-selected .btn-bg {
color: #FFFFFF;
text-shadow:0 1px 1px #6b9311;
background: transparent url(../images/btn_bg_hover.png) repeat-x top left;
}

View File

@ -1,76 +1,7 @@
/*
Copyright (c) 2010, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.com/yui/license.html
version: 3.1.2
build: 56
*/
.sf-exceptionreset html{color:#000;background:#FFF;}.sf-exceptionreset body,.sf-exceptionreset div,.sf-exceptionreset dl,.sf-exceptionreset dt,.sf-exceptionreset dd,.sf-exceptionreset ul,.sf-exceptionreset ol,.sf-exceptionreset li,.sf-exceptionreset h1,.sf-exceptionreset h2,.sf-exceptionreset h3,.sf-exceptionreset h4,.sf-exceptionreset h5,.sf-exceptionreset h6,.sf-exceptionreset pre,.sf-exceptionreset code,.sf-exceptionreset form,.sf-exceptionreset fieldset,.sf-exceptionreset legend,.sf-exceptionreset input,.sf-exceptionreset textarea,.sf-exceptionreset p,.sf-exceptionreset blockquote,.sf-exceptionreset th,.sf-exceptionreset td{margin:0;padding:0;}.sf-exceptionreset table{border-collapse:collapse;border-spacing:0;}.sf-exceptionreset fieldset,.sf-exceptionreset img{border:0;}.sf-exceptionreset address,.sf-exceptionreset caption,.sf-exceptionreset cite,.sf-exceptionreset code,.sf-exceptionreset dfn,.sf-exceptionreset em,.sf-exceptionreset strong,.sf-exceptionreset th,.sf-exceptionreset var{font-style:normal;font-weight:normal;}.sf-exceptionreset li{list-style:none;}.sf-exceptionreset caption,.sf-exceptionreset th{text-align:left;}.sf-exceptionreset h1,.sf-exceptionreset h2,.sf-exceptionreset h3,.sf-exceptionreset h4,.sf-exceptionreset h5,.sf-exceptionreset h6{font-size:100%;font-weight:normal;}.sf-exceptionreset q:before,.sf-exceptionreset q:after{content:'';}.sf-exceptionreset abbr,.sf-exceptionreset acronym{border:0;font-variant:normal;}.sf-exceptionreset sup{vertical-align:text-top;}.sf-exceptionreset sub{vertical-align:text-bottom;}.sf-exceptionreset input,.sf-exceptionreset textarea,.sf-exceptionreset select{font-family:inherit;font-size:inherit;font-weight:inherit;}.sf-exceptionreset input,.sf-exceptionreset textarea,.sf-exceptionreset select{*font-size:100%;}.sf-exceptionreset legend{color:#000;}
.sf-exceptionreset html,
.sf-exceptionreset body {
width: 100%;
min-height: 100%;
_height: 100%;
margin: 0;
padding: 0;
}
.sf-exceptionreset body {
font: 1em "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
text-align: left;
background-color: #efefef;
}
.sf-exceptionreset abbr {
border-bottom: 1px dotted #000;
cursor: help;
}
.sf-exceptionreset p {
font-size: 14px;
line-height: 20px;
color: #868686;
padding-bottom: 20px;
}
.sf-exceptionreset strong {
color: #313131;
font-weight: bold;
}
.sf-exceptionreset a {
color: #6c6159;
}
.sf-exceptionreset a img {
border: none;
}
.sf-exceptionreset a:hover {
text-decoration: underline;
}
.sf-exceptionreset em {
font-style: italic;
}
.sf-exceptionreset h2,
.sf-exceptionreset h3 {
font-weight: bold;
}
.sf-exceptionreset h1 {
font-family: Georgia, "Times New Roman", Times, serif;
font-size: 20px;
color: #313131;
word-break: break-all;
}
.sf-exceptionreset li {
padding-bottom: 10px;
}
.sf-exceptionreset .traces {
.sf-reset .traces {
padding-bottom: 14px;
}
.sf-exceptionreset .traces li {
.sf-reset .traces li {
font-size: 12px;
color: #868686;
padding: 5px 4px;
@ -78,113 +9,79 @@ build: 56
margin-left: 20px;
white-space: break-word;
}
.sf-exceptionreset #logs .traces li.error {
.sf-reset #logs .traces li.error {
font-style: normal;
color: #AA3333;
background: #f9ecec;
}
.sf-exceptionreset #logs .traces li.warning {
.sf-reset #logs .traces li.warning {
font-style: normal;
background: #ffcc00;
}
/* fix for Opera not liking empty <li> */
.sf-exceptionreset .traces li:after {
.sf-reset .traces li:after {
content: "\00A0";
}
.sf-exceptionreset .trace {
.sf-reset .trace {
border: 1px solid #D3D3D3;
padding: 10px;
overflow: auto;
margin: 10px 0 20px;
}
.sf-exceptionreset .block,
.sf-exceptionreset .block_exception {
.sf-reset .block-exception {
-moz-border-radius: 16px;
-webkit-border-radius: 16px;
border-radius: 16px;
margin-bottom: 20px;
}
.sf-exceptionreset .block {
background-color: #FFFFFF;
border: 1px solid #dfdfdf;
padding: 40px 50px;
}
.sf-exceptionreset .block_exception {
background-color: #f6f6f6;
border: 1px solid #dfdfdf;
padding: 30px 28px;
}
.sf-exceptionreset .block_exception div {
.sf-reset .block-exception div {
color: #313131;
font-size: 10px;
}
.sf-exceptionreset .block_exception_detected .illustration_exception,
.sf-exceptionreset .block_exception_detected .text_exception {
.sf-reset .block-exception-detected .illustration-exception,
.sf-reset .block-exception-detected .text-exception {
float: left;
}
.sf-exceptionreset .block_exception_detected .illustration_exception {
.sf-reset .block-exception-detected .illustration-exception {
width: 152px;
}
.sf-exceptionreset .block_exception_detected .text_exception {
.sf-reset .block-exception-detected .text-exception {
width: 670px;
padding: 30px 44px 24px 46px;
position: relative;
}
.sf-exceptionreset .text_exception .open_quote,
.sf-exceptionreset .text_exception .close_quote {
.sf-reset .text-exception .open-quote,
.sf-reset .text-exception .close-quote {
position: absolute;
}
.sf-exceptionreset .open_quote {
.sf-reset .open-quote {
top: 0;
left: 0;
}
.sf-exceptionreset .close_quote {
.sf-reset .close-quote {
bottom: 0;
right: 50px;
}
.sf-exceptionreset .block_exception p {
.sf-reset .block-exception p {
font-family: Arial, Helvetica, sans-serif;
}
.sf-exceptionreset .block_exception p a,
.sf-exceptionreset .block_exception p a:hover {
.sf-reset .block-exception p a,
.sf-reset .block-exception p a:hover {
color: #565656;
}
.sf-exceptionreset h2 {
font-size: 16px;
font-family: Arial, Helvetica, sans-serif;
padding-bottom: 16px;
}
.sf-exceptionreset li a {
background: none;
color: #868686;
text-decoration: none;
}
.sf-exceptionreset li a:hover {
background: none;
color: #313131;
text-decoration: underline;
}
.sf-exceptionreset .logs h2 {
.sf-reset .logs h2 {
float: left;
width: 654px;
}
.sf-exceptionreset .error_count {
.sf-reset .error-count {
float: right;
width: 170px;
text-align: right;
}
.sf-exceptionreset .error_count span {
.sf-reset .error-count span {
display: inline-block;
background-color: #aacd4e;
-moz-border-radius: 6px;
@ -196,37 +93,14 @@ build: 56
font-size: 11px;
font-weight: bold;
}
.sf-exceptionreset .toggle {
.sf-reset .toggle {
vertical-align: middle;
}
.sf-exceptionreset .linked ul,
.sf-exceptionreset .linked li {
.sf-reset .linked ul,
.sf-reset .linked li {
display: inline;
}
.sf-exceptionreset #output_content {
.sf-reset #output-content {
color: #000;
font-size: 12px;
}
.sf-exceptionreset ol {
padding: 10px 0;
}
.sf-exceptionreset ol li {
list-style: decimal;
margin-left: 20px;
padding: 2px;
padding-bottom: 20px;
}
.sf-exceptionreset ol ol li {
list-style-position: inside;
margin-left: 0;
white-space: nowrap;
font-size: 12px;
padding-bottom: 0;
}
.sf-exceptionreset li .selected {
background-color: #ffd;
}

View File

@ -1,141 +0,0 @@
html {
background: #eee;
}
body {
font: 11px Verdana, Arial, sans-serif;
color: #333;
}
.sf-exceptionreset, .sf-exceptionreset .block, .sf-exceptionreset #message {
margin: auto;
}
img {
border: 0;
}
.clear {
clear: both;
height: 0;
font-size: 0;
line-height: 0;
}
.clear_fix:after {
content: "\0020";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.clear_fix {
display: inline-block;
}
* html .clear_fix {
height: 1%;
}
.clear_fix {
display: block;
}
.header {
padding: 30px 30px 20px 30px;
}
.header_logo {
float: left;
}
.search {
float: right;
padding-top: 20px;
}
.search label {
line-height: 28px;
vertical-align: middle;
}
.search input {
width: 188px;
margin-right: 10px;
font-size: 12px;
border: 1px solid #dadada;
background: #FFFFFF url(../images/input_bg.gif) repeat-x left top;
padding: 5px 6px;
color: #565656;
}
.search input[type="search"] {
-webkit-appearance: textfield;
}
.search button {
-webkit-appearance: button-bevel;
float: none;
padding: 0;
margin: 0;
overflow: visible;
width: auto;
text-decoration: none;
cursor: pointer;
white-space: nowrap;
display: inline-block;
text-align: center;
vertical-align: middle;
border: 0;
background: none;
}
.search button:-moz-focus-inner {
padding: 0;
border: none;
}
.search button:hover {
text-decoration: none;
}
.search button span span,
.search button span span span {
position: static;
}
.search button span {
position: relative;
text-decoration: none;
display: block;
height: 28px;
float: left;
padding: 0 0 0 8px;
background: transparent url(../images/border_l.png) no-repeat top left;
}
.search button span span {
padding: 0 8px 0 0;
background: transparent url(../images/border_r.png) right top no-repeat;
}
.search button span span span {
padding: 0 7px;
font: bold 11px Arial, Helvetica, sans-serif;
color: #6b6b6b;
line-height: 28px;
background: transparent url(../images/btn_bg.png) repeat-x top left;
}
#content {
width: 970px;
margin: 0 auto;
}
pre {
white-space: normal;
font-family: Arial, Helvetica, sans-serif;
}
pre.xdebug-var-dump{
white-space: pre;
font-family: monospace;
}

View File

@ -0,0 +1,72 @@
html {
background: #eee;
}
body {
font: 11px Verdana, Arial, sans-serif;
color: #333;
}
.sf-reset, .sf-reset .block, .sf-reset #message {
margin: auto;
}
img {
border: 0;
}
.clear {
clear: both;
height: 0;
font-size: 0;
line-height: 0;
}
.clear-fix:after {
content: "\0020";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.clear-fix {
display: inline-block;
}
* html .clear-fix {
height: 1%;
}
.clear-fix {
display: block;
}
.header {
padding: 30px 30px 20px 30px;
}
.header-logo {
float: left;
}
.search {
float: right;
padding-top: 20px;
}
.search label {
line-height: 28px;
vertical-align: middle;
}
.search input {
width: 195px;
font-size: 12px;
border: 1px solid #dadada;
background: #fff url(../images/input_bg.gif) repeat-x left top;
padding: 5px 6px;
color: #565656;
}
.search input[type="search"] {
-webkit-appearance: textfield;
}
#content {
width: 970px;
margin: 0 auto;
}
pre {
white-space: normal;
font-family: Arial, Helvetica, sans-serif;
}
pre.xdebug-var-dump{
white-space: pre;
font-family: monospace;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 249 B

After

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 381 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 253 B

After

Width:  |  Height:  |  Size: 379 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 412 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 B

After

Width:  |  Height:  |  Size: 135 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -1,100 +1,94 @@
<div class="sf-exceptionreset">
<div class="block_exception">
<div class="block_exception_detected clear_fix">
<div class="illustration_exception">
<img alt="Exception detected!" src="{{ asset('bundles/framework/images/exception_detected.png') }}"/>
<div class="block-exception">
<div class="block-exception-detected clear-fix">
<div class="illustration-exception">
<img alt="Exception detected!" src="{{ asset('bundles/framework/images/exception_detected.png') }}"/>
</div>
<div class="text-exception">
<div class="open-quote">
<img alt="" src="{{ asset('bundles/framework/images/open_quote.gif') }}"/>
</div>
<div class="text_exception">
<div class="open_quote">
<img alt="" src="{{ asset('bundles/framework/images/open_quote.gif') }}"/>
</div>
<h1>
{{ exception.message|nl2br|format_file_from_text }}
</h1>
<div>
<strong>{{ status_code }}</strong> {{ status_text }} - {{ exception.class|abbr_class }}
</div>
{% set previous_count = exception.allPrevious|length %}
{% if previous_count %}
<div class="linked"><span><strong>{{ previous_count }}</strong> linked Exception{{ previous_count > 1 ? 's' : '' }}:</span>
<ul>
{% for i, previous in exception.allPrevious %}
<li>
{{ previous.class|abbr_class }} <a href="#traces_link_{{ i + 1 }}" onclick="toggle('traces_{{ i + 1 }}', 'traces'); switchIcons('icon_traces_{{ i + 1 }}_open', 'icon_traces_{{ i + 1 }}_close');">&#187;</a>
</li>
{% endfor %}
</ul>
</div>
{% endif %}
<div class="close_quote">
<img alt="" src="{{ asset('bundles/framework/images/close_quote.gif') }}"/>
<h1>
{{ exception.message|nl2br|format_file_from_text }}
</h1>
<div>
<strong>{{ status_code }}</strong> {{ status_text }} - {{ exception.class|abbr_class }}
</div>
{% set previous_count = exception.allPrevious|length %}
{% if previous_count %}
<div class="linked"><span><strong>{{ previous_count }}</strong> linked Exception{{ previous_count > 1 ? 's' : '' }}:</span>
<ul>
{% for i, previous in exception.allPrevious %}
<li>
{{ previous.class|abbr_class }} <a href="#traces-link-{{ i + 1 }}" onclick="toggle('traces-{{ i + 1 }}', 'traces'); switchIcons('icon-traces-{{ i + 1 }}-open', 'icon-traces-{{ i + 1 }}-close');">&#187;</a>
</li>
{% endfor %}
</ul>
</div>
{% endif %}
<div class="close-quote">
<img alt="" src="{{ asset('bundles/framework/images/close_quote.gif') }}"/>
</div>
</div>
</div>
</div>
{% for position, e in exception.toarray %}
{% include 'TwigBundle:Exception:traces.html.twig' with { 'exception': e, 'position': position, 'count': previous_count } only %}
{% endfor %}
{% for position, e in exception.toarray %}
{% include 'TwigBundle:Exception:traces.html.twig' with { 'exception': e, 'position': position, 'count': previous_count } only %}
{% endfor %}
{% if logger %}
<div class="block">
<div class="logs clear_fix">
{% spaceless %}
<h2>
Logs&nbsp;
<a href="#" onclick="toggle('logs'); switchIcons('icon_logs_open', 'icon_logs_close'); return false;">
<img class="toggle" id="icon_logs_open" alt="+" src="{{ asset('bundles/framework/images/blue_picto_more.gif') }}" style="visibility: hidden" />
<img class="toggle" id="icon_logs_close" alt="-" src="{{ asset('bundles/framework/images/blue_picto_less.gif') }}" style="visibility: visible; margin-left: -18px" />
</a>
</h2>
{% endspaceless %}
{% if logger.counterrors %}
<div class="error_count">
<span>
{{ logger.counterrors }} error{{ logger.counterrors > 1 ? 's' : ''}}
</span>
</div>
{% endif %}
</div>
<div id="logs">
{% include 'TwigBundle:Exception:logs.html.twig' with { 'logs': logger.logs } only %}
</div>
</div>
{% endif %}
{% if currentContent %}
<div class="block">
{% if logger %}
<div class="block">
<div class="logs clear-fix">
{% spaceless %}
<h2>
Content of the Output&nbsp;
<a href="#" onclick="toggle('output_content'); switchIcons('icon_content_open', 'icon_content_close'); return false;">
<img class="toggle" id="icon_content_close" alt="-" src="{{ asset('bundles/framework/images/blue_picto_less.gif') }}" style="visibility: hidden" />
<img class="toggle" id="icon_content_open" alt="+" src="{{ asset('bundles/framework/images/blue_picto_more.gif') }}" style="visibility: visible; margin-left: -18px" />
Logs&nbsp;
<a href="#" onclick="toggle('logs'); switchIcons('icon-logs-open', 'icon-logs-close'); return false;">
<img class="toggle" id="icon-logs-open" alt="+" src="{{ asset('bundles/framework/images/blue_picto_more.gif') }}" style="visibility: hidden" />
<img class="toggle" id="icon-logs-close" alt="-" src="{{ asset('bundles/framework/images/blue_picto_less.gif') }}" style="visibility: visible; margin-left: -18px" />
</a>
</h2>
{% endspaceless %}
<div id="output_content" style="display: none">
{{ currentContent }}
</div>
{% if logger.counterrors %}
<div class="error-count">
<span>
{{ logger.counterrors }} error{{ logger.counterrors > 1 ? 's' : ''}}
</span>
</div>
{% endif %}
<div style="clear: both"></div>
</div>
{% endif %}
</div>
<div id="logs">
{% include 'TwigBundle:Exception:logs.html.twig' with { 'logs': logger.logs } only %}
</div>
</div>
{% endif %}
{% if currentContent %}
<div class="block">
{% spaceless %}
<h2>
Content of the Output&nbsp;
<a href="#" onclick="toggle('output-content'); switchIcons('icon-content-open', 'icon-content-close'); return false;">
<img class="toggle" id="icon-content-close" alt="-" src="{{ asset('bundles/framework/images/blue_picto_less.gif') }}" style="visibility: hidden" />
<img class="toggle" id="icon-content-open" alt="+" src="{{ asset('bundles/framework/images/blue_picto_more.gif') }}" style="visibility: visible; margin-left: -18px" />
</a>
</h2>
{% endspaceless %}
<div id="output-content" style="display: none">
{{ currentContent }}
</div>
<div style="clear: both"></div>
</div>
{% endif %}
<script type="text/javascript">//<![CDATA[
function toggle(id, clazz) {

View File

@ -1,5 +1,9 @@
{% extends 'TwigBundle::layout.html.twig' %}
{% block head %}
<link href="{{ asset('bundles/framework/css/exception.css') }}" rel="stylesheet" type="text/css" media="all" />
{% endblock %}
{% block title %}
{{ exception.message }} ({{ status_code }} {{ status_text }})
{% endblock %}

View File

@ -11,12 +11,12 @@
{{ trace.function ? '<br />' : '' }}
in {{ trace.file|format_file(trace.line) }}&nbsp;
{% spaceless %}
<a href="#" onclick="toggle('trace_{{ prefix ~ '_' ~ i }}'); switchIcons('icon_{{ prefix ~ '_' ~ i }}_open', 'icon_{{ prefix ~ '_' ~ i }}_close'); return false;">
<img class="toggle" id="icon_{{ prefix ~ '_' ~ i }}_close" alt="-" src="{{ asset('bundles/framework/images/blue_picto_less.gif') }}" style="visibility: {{ 0 == i ? 'display' : 'hidden' }}" />
<img class="toggle" id="icon_{{ prefix ~ '_' ~ i }}_open" alt="+" src="{{ asset('bundles/framework/images/blue_picto_more.gif') }}" style="visibility: {{ 0 == i ? 'hidden' : 'display' }}; margin-left: -18px" />
<a href="#" onclick="toggle('trace-{{ prefix ~ '-' ~ i }}'); switchIcons('icon-{{ prefix ~ '-' ~ i }}-open', 'icon-{{ prefix ~ '-' ~ i }}-close'); return false;">
<img class="toggle" id="icon-{{ prefix ~ '-' ~ i }}-close" alt="-" src="{{ asset('bundles/framework/images/blue_picto_less.gif') }}" style="visibility: {{ 0 == i ? 'display' : 'hidden' }}" />
<img class="toggle" id="icon-{{ prefix ~ '-' ~ i }}-open" alt="+" src="{{ asset('bundles/framework/images/blue_picto_more.gif') }}" style="visibility: {{ 0 == i ? 'hidden' : 'display' }}; margin-left: -18px" />
</a>
{% endspaceless %}
<div id="trace_{{ prefix ~ '_' ~ i }}" style="display: {{ 0 == i ? 'block' : 'none' }}" class="trace">
<div id="trace-{{ prefix ~ '-' ~ i }}" style="display: {{ 0 == i ? 'block' : 'none' }}" class="trace">
{{ trace.file|file_excerpt(trace.line) }}
</div>
{% endif %}

View File

@ -4,9 +4,9 @@
<span><small>[{{ count - position + 1 }}/{{ count + 1 }}]</small></span>
{{ exception.class|abbr_class }}: {{ exception.message|nl2br|format_file_from_text }}&nbsp;
{% spaceless %}
<a href="#" onclick="toggle('traces_{{ position }}', 'traces'); switchIcons('icon_traces_{{ position }}_open', 'icon_traces_{{ position }}_close'); return false;">
<img class="toggle" id="icon_traces_{{ position }}_close" alt="-" src="{{ asset('bundles/framework/images/blue_picto_less.gif') }}" style="visibility: {{ 0 == count ? 'display' : 'hidden' }}" />
<img class="toggle" id="icon_traces_{{ position }}_open" alt="+" src="{{ asset('bundles/framework/images/blue_picto_more.gif') }}" style="visibility: {{ 0 == count ? 'hidden' : 'display' }}; margin-left: -18px" />
<a href="#" onclick="toggle('traces-{{ position }}', 'traces'); switchIcons('icon-traces-{{ position }}-open', 'icon-traces-{{ position }}-close'); return false;">
<img class="toggle" id="icon-traces-{{ position }}-close" alt="-" src="{{ asset('bundles/framework/images/blue_picto_less.gif') }}" style="visibility: {{ 0 == count ? 'display' : 'hidden' }}" />
<img class="toggle" id="icon-traces-{{ position }}-open" alt="+" src="{{ asset('bundles/framework/images/blue_picto_more.gif') }}" style="visibility: {{ 0 == count ? 'hidden' : 'display' }}; margin-left: -18px" />
</a>
{% endspaceless %}
</h2>
@ -14,8 +14,8 @@
<h2>Stack Trace</h2>
{% endif %}
<a id="traces_link_{{ position }}"></a>
<ol class="traces list_exception" id="traces_{{ position }}" style="display: {{ 0 == count ? 'block' : 'none' }}">
<a id="traces-link-{{ position }}"></a>
<ol class="traces list-exception" id="traces-{{ position }}" style="display: {{ 0 == count ? 'block' : 'none' }}">
{% for i, trace in exception.trace %}
<li>
{% include 'TwigBundle:Exception:trace.html.twig' with { 'prefix': position, 'i': i, 'trace': trace } only %}

View File

@ -3,40 +3,42 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset={{ _charset }}"/>
<meta name="robots" content="noindex,nofollow" />
<title>{% block title '' %}</title>
<link href="{{ asset('bundles/framework/css/exception_layout.css') }}" rel="stylesheet" type="text/css" media="all" />
<link href="{{ asset('bundles/framework/css/exception.css') }}" rel="stylesheet" type="text/css" media="all" />
<title>{% block title %}{% endblock %}</title>
<link href="{{ asset('bundles/framework/css/structure.css') }}" rel="stylesheet" type="text/css" media="all" />
<link href="{{ asset('bundles/framework/css/body.css') }}" rel="stylesheet" type="text/css" media="all" />
{% block head %}{% endblock %}
</head>
<body>
<div id="content">
<div class="header clear_fix">
<div class="header_logo">
<div class="header clear-fix">
<div class="header-logo">
<img src="{{ asset('bundles/framework/images/logo_symfony.png') }}" alt="Symfony" />
</div>
<div class="search">
<form method="get" action="http://symfony.com/search">
<div class="form_row">
<form method="get" action="http://symfony.com/search" target="_blank">
<div class="form-row">
<label for="search-id">
<img src="{{ asset('bundles/framework/images/grey_magnifier.png') }}" alt="Search on Symfony website" />
</label>
<label for="search_id">
<img src="{{ asset('bundles/framework/images/grey_magnifier.png') }}" alt="Search on Symfony website" />
</label>
<input name="q" id="search-id" type="search" placeholder="Search on Symfony website" />
<input name="q" id="search_id" type="search" placeholder="Search on Symfony website" />
<button type="submit">
<span class="border_l">
<span class="border_r">
<span class="btn_bg">OK</span>
</span>
</span>
</button>
</div>
<button type="submit" class="sf-button">
<span class="border-l">
<span class="border-r">
<span class="btn-bg">OK</span>
</span>
</span>
</button>
</div>
</form>
</div>
</div>
{% block body '' %}
<div class="sf-reset">
{% block body %}{% endblock %}
</div>
</div>
</body>
</html>

View File

@ -25,6 +25,8 @@
<em>No exception was thrown and uncaught during the request.</em>
</p>
{% else %}
{% render 'WebProfilerBundle:Exception:show' with { 'exception': collector.exception, 'format': 'html' } %}
<div class="sf-reset">
{% render 'WebProfilerBundle:Exception:show' with { 'exception': collector.exception, 'format': 'html' } %}
</div>
{% endif %}
{% endblock %}

View File

@ -166,7 +166,7 @@
*/
function getContainerWidth()
{
return query('#collector_content h2').clientWidth;
return query('#collector-content h2').clientWidth;
}
/**

View File

@ -15,13 +15,13 @@
{% endif %}
&#187;&#160;<label for="file">Import</label><br />
<input type="file" name="file" id="file" /><br />
<button type="submit">
<span class="border_l">
<span class="border_r">
<span class="btn_bg">UPLOAD</span>
<button type="submit" class="sf-button">
<span class="border-l">
<span class="border-r">
<span class="btn-bg">UPLOAD</span>
</span>
</span>
</button>
<div class="clear_fix"></div>
<div class="clear-fix"></div>
</form>
</div>

View File

@ -5,6 +5,7 @@
<meta name="robots" content="noindex,nofollow" />
<title>{% block title 'Profiler' %}</title>
<link rel="icon" type="image/x-icon" sizes="16x16" href="data:image/ico;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAABMLAAATCwAAAAAAAAAAAAAAAAAAAAAAADIvMQAyLzEIMi8xSzEuMKoyLzHkMi8x/TIvMf0yLzHlMi8xrDIvMU4yLzEJMi8xAAAAAAAAAAAAAAAAADIvMQAyLzEYMS4wkTMwMu45Njj/MS4w/zEuMP8yLzH/Mi8x/zIvMf8yLzHvMi8xlDIvMRkyLzEAAAAAADIvMQAyLzEXMS4wrTk2OPyVk5T7kI6P/nl3ef8+Oz3/MS4w/zIvMf8yLzH/Mi8x/zIvMf4yLzGxMi8xGjIvMQAyLzEGMi8xkDEuMP4/PD79wcDA+oB+gP6Ni4z/paOk/zk2OP8xLjD/Mi8x/zIvMf8yLzH/Mi8x/zIvMZQyLzEIMi8xSTIvMewyLzH/MS4w/z06PP81MjT+TktN/93c3f97eXv/MC0v/zIvMf8yLzH/Mi8x/zIvMf8yLzHuMi8xTzIvMaUyLzH/Mi8x/0lHSf9kYmP/XFpb/zs4Ov/DwsL+ycjI/zs4Ov8xLjD/Mi8x/zIvMf8yLzH/Mi8x/zIvMawyLzHfMC0v/1tYWv+opqf/YV5g/8bFxf96eHn+m5qb/u7u7v9WVFX/MC0v/zIvMf8yLzH/Mi8x/zIvMf8yLzHkMi8x+jAtL/9iYGH/mZiZ/2dlZv/p6On/oJ+g/np4ev/6+vr/dXN1/y0qLP8xLjD/Mi8x/zIvMf8yLzH/Mi8x/DIvMfoyLzH/MzAy/0A+QP7JyMj85eXl/1tYWv9XVVf/8fDx/6qpqv9ZV1j/Q0BC/zIvMf8yLzH/Mi8x/zIvMfwyLzHeMi8x/zEuMP8/PD762dnZ9JWTlP81MjT/ZmRm/+Dg4P/DwsP/YV5g/6Wkpf9BPkD/MS4w/zIvMf8yLzHjMi8xozIvMf8yLzH/Mi8x/nZ0dv2amJn4dXN0+V5bXf+Pjo//0tLS/0hFR/9vbG7/Ozg6/zEuMP8yLzH/Mi8xqTIvMUcyLzHrMi8x/zIvMf8xLjD/Ozg6/Do3OfwwLS//REFD/728vP9nZWb/TktN/4mIif05Nzn/Mi8x7jMwMkwyLzEGMi8xjDIvMf4yLzH/Mi8x/zIvMf8yLzH/Mi8x/zAtL/9XVFb/goGC+Hx6e+6qqanwOzg6/DMwMpJDQEIIMi8xADIvMRUyLzGrMi8x/jIvMf8yLzH/Mi8x/zIvMf8yLzH/MS4w/zg2N/xBPkD3OTY4/DIvMa8yLzEYMi8xAAAAAAAyLzEAMi8xGDIvMY0yLzHqMi8x/zIvMf8yLzH/Mi8x/zIvMf8yLzH/MS4w7DEuMJEyLzEaMi8xAAAAAAAAAAAAAAAAADIvMQAyLzEGMi8xQzIvMZ4yLzHdMi8x+jIvMfoyLzHeMi8xoDIvMUUyLzEGMi8xAAAAAAAAAAAA4AcAAMADAACAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIABAADAAwAA4AcAAA==" />
<link rel="stylesheet" href="{{ asset('bundles/framework/css/body.css') }}" />
{% block head %}
{% include '@WebProfiler/Profiler/profiler_style.html.twig' %}
{% endblock %}

View File

@ -1,25 +1,25 @@
<div id="header" class="clear_fix">
<div id="header" class="clear-fix">
<h1>
<img src="data:image/png;base64,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" alt="Symfony profiler"/>
</h1>
<div class="search">
<form method="get" action="http://symfony.com/search" target="_blank">
<div class="form_row">
<label for="search_id">
<div class="form-row">
<label for="search-id">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAABUElEQVQoz2NgAIJ29iBdD0d7X2cPb+tY2f9MDMjgP2O2hKu7vS8CBlisZUNSMJ3fxRMkXO61wm2ue6I3iB1q8Z8ZriDZFCS03fm/wX+1/xp/TBo8QPxeqf+MUAW+QIFKj/+q/wX/c/3n/i/6Qd/bx943z/Q/K1SBI1D9fKv/AhCn/Wf5L5EHdFGKw39OqAIXoPpOMziX4T9/DFBBnuN/HqhAEtCKCNf/XDA/rZRyAmrpsvrPDVUw3wrkqCiLaewg6TohX1d7X0ffs5r/OaAKfinmgt3t4ulr4+Xg4ANip3j+l/zPArNT4LNOD0pAgWCSOUIBy3+h/+pXbBa5tni0eMx23+/mB1YSYnENroT5Pw/QSOX/mkCo+l/jgo0v2KJA643s8PgAmsMBDCbu/5xALHPB2husxN9uCzsDOgAq5kAoaZVnYMCh5Ky1r88Eh/+iABM8jUk7ClYIAAAAAElFTkSuQmCC" alt="Search on Symfony website"/>
</label>
<input name="q" id="search_id" type="search" placeholder="Search on Symfony website"/>
<input name="q" id="search-id" type="search" placeholder="Search on Symfony website" />
<button type="submit">
<span class="border_l">
<span class="border_r">
<span class="btn_bg">OK</span>
<button type="submit" class="sf-button">
<span class="border-l">
<span class="border-r">
<span class="btn-bg">OK</span>
</span>
</span>
</button>
</div>
</form>
</form>
</div>
</div>

View File

@ -5,9 +5,9 @@
{% include '@WebProfiler/Profiler/header.html.twig' only %}
<div id="main">
<div class="clear_fix">
<div id="collector_wrapper">
<div id="collector_content">
<div class="clear-fix">
<div id="collector-wrapper">
<div id="collector-content">
{% block panel %}
{% if about == 'purge' %}
<h2>The profiler database was purged successfully</h2>

View File

@ -9,8 +9,8 @@
<div id="main">
<div class="clear_fix">
<div id="collector_wrapper">
<div class="clear-fix">
<div id="collector-wrapper">
{% if profile %}
<div id="resume">
<a id="resume-view-all" href="{{ path('_profiler_search', {limit: 10}) }}">View all</a>
@ -27,14 +27,14 @@
</div>
{% endif %}
<div id="collector_content">
<div id="collector-content">
{% include '@WebProfiler/Profiler/base_js.html.twig' %}
{% block panel '' %}
</div>
</div>
<div id="navigation">
{% if templates is defined %}
<ul id="menu_profiler">
<ul id="menu-profiler">
{% for name, template in templates %}
{% set menu %}{{ template.renderBlock('menu', { 'collector': profile.getcollector(name)}) }}{% endset %}
{% if menu != '' %}
@ -107,7 +107,7 @@
}
window.setTimeout(function() {
var menuItems = document.getElementById('menu_profiler').getElementsByTagName('LI'),
var menuItems = document.getElementById('menu-profiler').getElementsByTagName('LI'),
elem, value, child, displayState = Sfjs.getPreference('menu/displayState');
if (displayState == 'none') {

View File

@ -6,7 +6,6 @@ http://developer.yahoo.net/yui/license.txt
version: 2.6.0
*/
html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var,optgroup{font-style:inherit;font-weight:inherit;}del,ins{text-decoration:none;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:baseline;}sub{vertical-align:baseline;}legend{color:#000;}input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;}input,button,textarea,select{*font-size:100%;}
html, body {
background-color: #efefef;
}
@ -14,14 +13,12 @@ body {
font: 1em "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
text-align: left;
}
p {
font-size: 14px;
line-height: 20px;
color: #313131;
padding-bottom: 20px
}
strong {
color: #313131;
font-weight: bold;
@ -29,7 +26,6 @@ strong {
em {
font-style: italic;
}
a {
color: #6c6159;
}
@ -39,7 +35,6 @@ a img {
a:hover {
text-decoration: underline;
}
button::-moz-focus-inner {
padding: 0;
border: none;
@ -50,7 +45,6 @@ button {
background-color: transparent;
font-weight: bold;
}
caption {
margin-bottom: 7px;
}
@ -70,23 +64,20 @@ table th, table td {
font-size: 12px;
padding: 8px 10px;
}
fieldset {
border: none;
}
abbr {
border-bottom: 1px dotted #000;
cursor: help;
}
.clear {
clear: both;
height: 0;
font-size: 0;
line-height: 0;
}
.clear_fix:after
.clear-fix:after
{
content: "\0020";
display: block;
@ -94,40 +85,33 @@ abbr {
clear: both;
visibility: hidden;
}
* html .clear_fix
* html .clear-fix
{
height: 1%;
}
.clear_fix
.clear-fix
{
display: block;
}
#content {
padding: 0 50px;
margin: 0 auto 20px;
font-family: Arial, Helvetica, sans-serif;
min-width: 970px;
}
#header {
padding: 20px 30px 20px;
}
#header h1 {
float: left;
}
.search {
float: right;
}
#menu_profiler {
#menu-profiler {
border-right: 1px solid #dfdfdf;
}
#menu_profiler li {
#menu-profiler li {
border-bottom: 1px solid #dfdfdf;
position: relative;
padding-bottom: 0;
@ -135,8 +119,7 @@ abbr {
background-color: #f6f6f6;
z-index: 10000;
}
#menu_profiler li a {
#menu-profiler li a {
color: #404040;
display: block;
font-size: 13px;
@ -144,15 +127,13 @@ abbr {
text-decoration: none;
cursor: pointer;
}
#menu_profiler li a span.label {
#menu-profiler li a span.label {
display: block;
padding: 20px 0px 16px 65px;
min-height: 16px;
overflow: hidden;
}
#menu_profiler li a span.icon {
#menu-profiler li a span.icon {
display: block;
position: absolute;
left: 0;
@ -160,48 +141,40 @@ abbr {
width: 60px;
text-align: center;
}
#menu_profiler li.selected a,
#menu_profiler li a:hover {
#menu-profiler li.selected a,
#menu-profiler li a:hover {
background: #d1d1d1 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA7CAAAAACfn7+eAAAACXZwQWcAAAABAAAAOwDiPIGUAAAAJElEQVQIW2N4y8TA9B+KGZDYEP5/FD4Eo7IgNLJqZDUIMRRTAcmVHUZf/1g/AAAAAElFTkSuQmCC) repeat-x 0 0;
}
#navigation div:first-child,
#menu_profiler li:first-child,
#menu_profiler li:first-child a,
#menu_profiler li:first-child a span.label {
#menu-profiler li:first-child,
#menu-profiler li:first-child a,
#menu-profiler li:first-child a span.label {
-moz-border-radius: 16px 0 0 0;
-webkit-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;
position: absolute;
right: 10px;
top: 20px;
}
#collector_wrapper {
#collector-wrapper {
float: left;
width: 100%;
}
#collector_content {
#collector-content {
margin-left: 250px;
padding: 30px 40px 40px;
}
#navigation {
float: left;
width: 250px;
margin-left: -100%;
}
#collector_content table td {
#collector-content table td {
background-color: white;
}
h1 {
font-family: Georgia, "Times New Roman", Times, serif;
color: #404040;
@ -210,20 +183,16 @@ h2, h3 {
font-weight: bold;
margin-bottom: 20px;
}
li {
padding-bottom: 10px;
}
#main {
-moz-border-radius: 16px;
-webkit-border-radius: 16px;
border-radius: 16px;
margin-bottom: 20px;
}
#menu_profiler span.count span {
#menu-profiler span.count span {
display: inline-block;
background-color: #aacd4e;
-moz-border-radius: 6px;
@ -234,7 +203,6 @@ li {
margin-right: 2px;
font-size: 11px;
}
#resume {
background-color: #f6f6f6;
border-bottom: 1px solid #dfdfdf;
@ -247,7 +215,6 @@ li {
-webkit-border-top-right-radius: 16px;
border-top-right-radius: 16px;
}
a#resume-view-all {
display: inline-block;
padding: 0.2em 0.7em;
@ -258,68 +225,55 @@ a#resume-view-all {
font-weight: bold;
text-decoration: none;
}
table th.value {
width: 450px;
background-color: #dfeeb8;
}
#content h2 {
font-size: 24px;
color: #313131;
font-weight: bold;
}
#content #main {
padding: 0;
background-color: #FFF;
border: 1px solid #dfdfdf;
}
#content #main p {
color: #313131;
font-size: 14px;
padding-bottom: 20px;
}
.sf-toolbarreset {
border-top: 0;
padding: 0;
}
.sf-exceptionreset .block_exception_detected .text_exception {
.sf-reset .block-exception-detected .text-exception {
left: 10px;
right: 10px;
width: 95%;
}
.sf-exceptionreset .block_exception_detected .illustration_exception {
.sf-reset .block-exception-detected .illustration-exception {
display: none;
}
ul.alt {
margin: 10px 0 30px;
}
ul.alt li {
padding: 5px 7px;
font-size: 13px;
}
ul.alt li.even {
background: #f1f7e2;
}
ul.alt li.error {
background-color: #f66;
margin-bottom: 1px;
}
ul.alt li.warning {
background-color: #ffcc00;
margin-bottom: 1px;
}
td.main, td.menu {
text-align: left;
margin: 0;
@ -327,82 +281,29 @@ td.main, td.menu {
border: 0;
vertical-align: top;
}
.search {
float: right;
padding-top: 20px;
}
.search label {
line-height: 28px;
vertical-align: middle;
}
.search input {
width: 188px;
margin-right: 10px;
width: 195px;
font-size: 12px;
border: 1px solid #dadada;
background: #FFF url(data:image/gif;base64,R0lGODlhAQAFAKIAAPX19e/v7/39/fr6+urq6gAAAAAAAAAAACH5BAAAAAAALAAAAAABAAUAAAMESAEjCQA7) repeat-x left top;
padding: 5px 6px;
color: #565656;
}
.search input[type="search"] {
-webkit-appearance: textfield;
}
.search button {
-webkit-appearance: button-bevel;
float: none;
padding: 0;
margin: 0;
border: 0;
text-decoration: none;
cursor: pointer;
white-space: nowrap;
display: inline-block;
text-align: center;
vertical-align: middle;
background: none;
}
.search button:hover {
text-decoration: none;
}
.search button span span,
.search button span span span {
position: static;
}
.search button span {
position: relative;
text-decoration: none;
display: block;
height: 28px;
float: left;
padding: 0 0 0 8px;
background: transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAcCAQAAAD2QTaNAAAAwElEQVQY02NkgILLkgwODBoMcoxQrgdDsIwVpzibEJBzieVSycsTPz/9/Q+CQIGL0S9P/fkPgywXZP67CBr/hxnFwPLfXtacgQlZQJdTGsEFCYgy8vxDEWBB1gAU+MeALA9SwfAfXYCQCixm0EXLn3//GJkQAkz/3/7+ClIFg0z/L39/CjIHBpn+73964v9/JAH3J//3vT2D0MLMwBB97RsvAz8bPyM7yFBoRG0DRpSkFbsEqxAjzLqtoKjUYpADAEhLb4eyx24jAAAAAElFTkSuQmCC) no-repeat top left;
}
.search button span span {
padding: 0 8px 0 0;
background: transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAcCAQAAAD2QTaNAAAAxElEQVR42r2Ruw4BUQBEx7qRbKFAud+wjYJOKcLv+B+JRiT0CgWNUEiE2Ihy41kgiHjuHdwQezU6M93JmWoCgwJcjNCw51AJSHlZH5eTFqp2TRGPz553y3Y/3xeAoMLBcCwJYzFFySDejcSZ7lk+gKCVYEoQn5gWbSF9wDAZ1QyEaGoGIKEbIL4M/jTkfya6wRtPmnE7cKUZxxmHPkA57aDpm2y6rGcmL8Pbb51VBWV1w3V9XswfR2XVUWJchAsHjdzryjuV/nX4Zt09SgAAAABJRU5ErkJggg==) right top no-repeat;
}
.search button span span span {
padding: 0 7px;
font: bold 11px Arial, Helvetica, sans-serif;
color: #6b6b6b;
line-height: 28px;
background: transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAcCAQAAAAKVB1HAAAAHklEQVQI12O4vJDh33+m/wwo6B82EpMBJ5EYzB5KABsgHO7OnIbSAAAAAElFTkSuQmCC) repeat-x top left;
}
#navigation div:first-child {
margin: 0 0 20px;
border-top: 0;
}
#navigation .search {
padding-top: 15px;
float: none;
@ -412,102 +313,82 @@ td.main, td.menu {
border: 1px solid #dfdfdf;
border-left: none;
}
#navigation .search h3 {
font-family: Arial, Helvetica, sans-serif;
text-transform: uppercase;
margin-left: 10px;
font-size: 13px;
}
#navigation .search form {
padding: 15px 0;
}
#navigation .search button {
float: right;
margin-right: 20px;
}
#navigation .search label {
display: block;
float: left;
width: 50px;
}
#navigation .search input,
#navigation .search select,
#navigation .search label,
#navigation .search a {
font-size: 12px;
}
#navigation .search form {
padding-left: 10px;
}
#navigation .search input {
width: 160px;
}
#navigation .import label {
float: none;
display: inline;
}
#navigation .import input {
width: 100px;
}
.timeline {
background-color: #fbfbfb;
margin-bottom: 15px;
margin-top: 5px;
}
#collector_content .routing tr.matches td {
#collector-content .routing tr.matches td {
background-color: #0e0;
}
#collector_content .routing tr.almost td {
#collector-content .routing tr.almost td {
background-color: #fa0;
}
.loading {
background: transparent url(data:image/gif;base64,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) scroll no-repeat 50% 50%;
height: 30px;
display: none;
}
.sf-profiler-timeline .legends {
font-size: 12px;
line-height: 1.5em;
}
.sf-profiler-timeline .legends span {
border-left-width: 10px;
border-left-style: solid;
padding: 0 10px 0 5px;
}
.sf-profiler-timeline canvas {
border: 1px solid #999;
border-width: 1px 0;
}
.collapsed-menu-parents #resume,
.collapsed-menu-parents #collector_content {
.collapsed-menu-parents #collector-content {
margin-left: 60px !important;
}
.collapsed-menu {
width: 60px !important;
}
.collapsed-menu span :not(.icon) {
display: none !important;
}
.collapsed-menu span.icon img {
display: inline !important;
}

View File

@ -6,20 +6,20 @@
<form action="{{ path('_profiler_search') }}" method="get">
<label for="ip">IP</label>
<input type="text" name="ip" id="ip" value="{{ ip }}" />
<div class="clear_fix"></div>
<div class="clear-fix"></div>
<label for="method">Method</label>
<select name="method" id="method">
{% for m in ['', 'DELETE', 'GET', 'HEAD', 'PATCH', 'POST', 'PUT'] %}
<option{{ m == method ? ' selected="selected"' : '' }}>{{ m }}</option>
{% endfor %}
</select>
<div class="clear_fix"></div>
<div class="clear-fix"></div>
<label for="url">URL</label>
<input type="text" name="url" id="url" value="{{ url }}" />
<div class="clear_fix"></div>
<div class="clear-fix"></div>
<label for="token">Token</label>
<input type="text" name="token" id="token" value="{{ token }}" />
<div class="clear_fix"></div>
<div class="clear-fix"></div>
<label for="limit">Limit</label>
<select name="limit" id="limit">
{% for l in [10, 50, 100] %}
@ -27,13 +27,13 @@
{% endfor %}
</select>
<button type="submit">
<span class="border_l">
<span class="border_r">
<span class="btn_bg">SEARCH</span>
<button type="submit" class="sf-button">
<span class="border-l">
<span class="border-r">
<span class="btn-bg">SEARCH</span>
</span>
</span>
</button>
<div class="clear_fix"></div>
<div class="clear-fix"></div>
</form>
</div>

View File

@ -1,16 +1,16 @@
<!-- START of Symfony2 Web Debug Toolbar -->
{% if 'normal' != position %}
{% include '@WebProfiler/Profiler/toolbar_style.html.twig' with { 'position': position, 'floatable': true } %}
<div id="sfMiniToolbar_{{ token }}" class="sf-minitoolbar">
<div id="sfMiniToolbar-{{ token }}" class="sf-minitoolbar">
<a href="javascript:void(0);" title="Show Symfony toolbar" onclick="
var elem = this.parentNode;
if (elem.style.display == 'none') {
document.getElementById('sfToolbarMainContent_{{ token }}').style.display = 'none';
document.getElementById('sfToolbarClearer_{{ token }}').style.display = 'none';
document.getElementById('sfToolbarMainContent-{{ token }}').style.display = 'none';
document.getElementById('sfToolbarClearer-{{ token }}').style.display = 'none';
elem.style.display = 'block';
} else {
document.getElementById('sfToolbarMainContent_{{ token }}').style.display = 'block';
document.getElementById('sfToolbarClearer_{{ token }}').style.display = 'block';
document.getElementById('sfToolbarMainContent-{{ token }}').style.display = 'block';
document.getElementById('sfToolbarClearer-{{ token }}').style.display = 'block';
elem.style.display = 'none'
}
@ -19,10 +19,10 @@
<img width="26" height="28" alt="Symfony" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAcCAMAAABIzV/hAAACZFBMVEUwLjL///////////////////////////////////////////////////////////////////+Eg4b///+Ni46Xlpj///////////+op6n///////////////////////////////////////////////////////////9ZWFv///////9qaWz///////+mpaf///////////////9ZWFv///////////////9PTVH///91dHb////////////////////g4OD///9NTE+Ih4r///////+Ni47///////92dHeRkJLk5OTLy8xlY2b///////+cm53///////+5ubr////o6Oj////////U1NT///9DQURsa22rq6ysq61hX2L///+LioxTUVVBP0NEQkZpZ2rGxsf///9ram3////s7O2SkZNfXmFxcHKmpae4uLnKysuXlpiop6l3dXiIh4pYVlmrq6ycm52trK7Nzc48Oj5dW158e36dnJ49Oz/Pz9BiYGPAv8BDQUTQz9BVU1aioaNHRUnBwcJXVVk6ODxJR0t3dnmko6U8Oj6lpKY9Oz+0tLXDwsRQTlF7en1QTlHi4eJhX2LFxcZTUVViYGNwb3J+fX83NTlFQ0dUUlW4t7icm524uLk8Oj5YVlmPjpBLSU2enZ9aWVw/PkFBP0NdW153dnk0MjZQTlE1MzdQT1JdXF9ram15eHqGhYdDQkV5eHo2NThEQkZRUFNFQ0dta244NjpGREhTUVU5NztUUlVhX2JubG9HRUlVU1ZiYGM7OTxIRkk7OT1IR0o8Oj4wLjI9Oz8YdG13AAAAynRSTlMAAAEDBAUGCgsMDQ4QEhMUGRobGx0gISIkJiYnKCktLi8wMjM0NTk6Ozw+P0NFSEpLTE5PUFBTWlteXmBiZGVmaWxtcHBxc3R0dnl5fX+BgoOGi46Pj5CRmZqanZ6eoKeoq6ytsLCwsrO0tbe5urq8vL+/wsTFx8jJycvLy8vM0NHR0tLU1NfX2NnZ2trc3N3d3eHh4uLl5ebm5ubn5+fo6urt7e3u7vDx8/Pz9PT19fX19fX29vf39/j4+fn5+vr6+vv7+/z8/f3+yR5EtwAAAbVJREFUeNpl0mVXVFEYhuF3zhkOFqMjYmCi2MUYYKGIYiJ2YCd2t4IBFqgoKjZ2jg3igI2KyO2f8sTMngGvj/te71r7wyMuk4jofZccAihcMzJKXDYnuYcVotyeYKiktV5LA0faaE7S4s7TyMsBupnMcoH/vO6gmanJaiLV1Py+Xwn5zc0fjCbSi2LI2QdkGdLyFBG+rHwMzz4BD7wyGEfFk8pfsD2TkGmyFNvFHfDj55v02VD6DcteOYylatY8oG7boA2QV4vlklzB8tU3/DIwo+dWv58guY5tRcLMtwSGdi1DkTvAn9Jqsgbu4kafRBqlV4sDFCWuIjdhMsp7yQU49rB28/QPLOu2DuWqLMfmfw6M716GskdGVRMSGDKRsEzpvZ+Qs0lFKDd94s2oArh2F7K3oNQt6ChGr5x6+Dx3J7d2E3Ygqam4PCkngRNnngYIO5cWq4lLb5t+vJ6GiifFR1nbMNqP3fSOCN8PZnQynEW5W/nmHy0PXv79eHpRSjsjtEOtWZcRc9YXlNx7VFKwceGYHjG6s0Ob3iK+X3LqlKnjkvt39rjD6w3W6BhvrCdaVw//ADrWicJIvtkmAAAAAElFTkSuQmCC"/>
</a>
</div>
<div id="sfToolbarClearer_{{ token }}" style="clear: both; height: 38px;"></div>
<div id="sfToolbarClearer-{{ token }}" style="clear: both; height: 38px;"></div>
{% endif %}
<div id="sfToolbarMainContent_{{ token }}" class="sf-toolbarreset">
<div id="sfToolbarMainContent-{{ token }}" class="sf-toolbarreset">
{% for name, template in templates %}
{{ template.renderblock('toolbar', {
'collector': profile.getcollector(name),
@ -38,7 +38,7 @@
var p = this.parentNode;
p.style.display = 'none';
(p.previousElementSibling || p.previousSibling).style.display = 'none';
document.getElementById('sfMiniToolbar_{{ token }}').style.display = 'block';
document.getElementById('sfMiniToolbar-{{ token }}').style.display = 'block';
Sfjs.setPreference('toolbar/displayState', 'none');
"></a>
{% endif %}

View File

@ -21,13 +21,13 @@
}
if (Sfjs.getPreference('toolbar/displayState') == 'none') {
document.getElementById('sfToolbarMainContent_{{ token }}').style.display = 'none';
document.getElementById('sfToolbarClearer_{{ token }}').style.display = 'none';
document.getElementById('sfMiniToolbar_{{ token }}').style.display = 'block';
document.getElementById('sfToolbarMainContent-{{ token }}').style.display = 'none';
document.getElementById('sfToolbarClearer-{{ token }}').style.display = 'none';
document.getElementById('sfMiniToolbar-{{ token }}').style.display = 'block';
} else {
document.getElementById('sfToolbarMainContent_{{ token }}').style.display = 'block';
document.getElementById('sfToolbarClearer_{{ token }}').style.display = 'block';
document.getElementById('sfMiniToolbar_{{ token }}').style.display = 'none';
document.getElementById('sfToolbarMainContent-{{ token }}').style.display = 'block';
document.getElementById('sfToolbarClearer-{{ token }}').style.display = 'block';
document.getElementById('sfMiniToolbar-{{ token }}').style.display = 'none';
}
},
function(xhr) {

View File

@ -3,8 +3,8 @@
{% block title 'Redirection Intercepted' %}
{% block body %}
<div class="sf-exceptionreset">
<div class="block_exception">
<div class="sf-reset">
<div class="block-exception">
<h1>This request redirects to <a href="{{ location }}">{{ location }}</a>.</h1>
<p>

View File

@ -150,7 +150,7 @@ EOF
}
return <<<EOF
<div id="sf-exceptionresetcontent" class="sf-exceptionreset">
<div id="sf-resetcontent" class="sf-reset">
<h1>$title</h1>
$content
</div>
@ -167,24 +167,24 @@ EOF;
public function getStylesheet(FlattenException $exception)
{
return <<<EOF
.sf-exceptionreset { font: 11px Verdana, Arial, sans-serif; color: #333 }
.sf-exceptionreset .clear { clear:both; height:0; font-size:0; line-height:0; }
.sf-exceptionreset .clear_fix:after { display:block; height:0; clear:both; visibility:hidden; }
.sf-exceptionreset .clear_fix { display:inline-block; }
.sf-exceptionreset * html .clear_fix { height:1%; }
.sf-exceptionreset .clear_fix { display:block; }
.sf-exceptionreset, .sf-exceptionreset .block { margin: auto }
.sf-exceptionreset abbr { border-bottom: 1px dotted #000; cursor: help; }
.sf-exceptionreset p { font-size:14px; line-height:20px; color:#868686; padding-bottom:20px }
.sf-exceptionreset strong { font-weight:bold; }
.sf-exceptionreset a { color:#6c6159; }
.sf-exceptionreset a img { border:none; }
.sf-exceptionreset a:hover { text-decoration:underline; }
.sf-exceptionreset em { font-style:italic; }
.sf-exceptionreset h1, .sf-exceptionreset h2 { font: 20px Georgia, "Times New Roman", Times, serif }
.sf-exceptionreset h2 span { background-color: #fff; color: #333; padding: 6px; float: left; margin-right: 10px; }
.sf-exceptionreset .traces li { font-size:12px; padding: 2px 4px; list-style-type:decimal; margin-left:20px; }
.sf-exceptionreset .block { background-color:#FFFFFF; padding:10px 28px; margin-bottom:20px;
.sf-reset { font: 11px Verdana, Arial, sans-serif; color: #333 }
.sf-reset .clear { clear:both; height:0; font-size:0; line-height:0; }
.sf-reset .clear_fix:after { display:block; height:0; clear:both; visibility:hidden; }
.sf-reset .clear_fix { display:inline-block; }
.sf-reset * html .clear_fix { height:1%; }
.sf-reset .clear_fix { display:block; }
.sf-reset, .sf-reset .block { margin: auto }
.sf-reset abbr { border-bottom: 1px dotted #000; cursor: help; }
.sf-reset p { font-size:14px; line-height:20px; color:#868686; padding-bottom:20px }
.sf-reset strong { font-weight:bold; }
.sf-reset a { color:#6c6159; }
.sf-reset a img { border:none; }
.sf-reset a:hover { text-decoration:underline; }
.sf-reset em { font-style:italic; }
.sf-reset h1, .sf-reset h2 { font: 20px Georgia, "Times New Roman", Times, serif }
.sf-reset h2 span { background-color: #fff; color: #333; padding: 6px; float: left; margin-right: 10px; }
.sf-reset .traces li { font-size:12px; padding: 2px 4px; list-style-type:decimal; margin-left:20px; }
.sf-reset .block { background-color:#FFFFFF; padding:10px 28px; margin-bottom:20px;
-webkit-border-bottom-right-radius: 16px;
-webkit-border-bottom-left-radius: 16px;
-moz-border-radius-bottomright: 16px;
@ -195,7 +195,7 @@ EOF;
border-right:1px solid #ccc;
border-left:1px solid #ccc;
}
.sf-exceptionreset .block_exception { background-color:#ddd; color: #333; padding:20px;
.sf-reset .block_exception { background-color:#ddd; color: #333; padding:20px;
-webkit-border-top-left-radius: 16px;
-webkit-border-top-right-radius: 16px;
-moz-border-radius-topleft: 16px;
@ -206,10 +206,10 @@ EOF;
border-right:1px solid #ccc;
border-left:1px solid #ccc;
}
.sf-exceptionreset li a { background:none; color:#868686; text-decoration:none; }
.sf-exceptionreset li a:hover { background:none; color:#313131; text-decoration:underline; }
.sf-exceptionreset ol { padding: 10px 0; }
.sf-exceptionreset h1 { background-color:#FFFFFF; padding: 15px 28px; margin-bottom: 20px;
.sf-reset li a { background:none; color:#868686; text-decoration:none; }
.sf-reset li a:hover { background:none; color:#313131; text-decoration:underline; }
.sf-reset ol { padding: 10px 0; }
.sf-reset h1 { background-color:#FFFFFF; padding: 15px 28px; margin-bottom: 20px;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
@ -232,7 +232,7 @@ EOF;
html { background: #eee; padding: 10px }
img { border: 0; }
#sf-exceptionresetcontent { width:970px; margin:0 auto; }
#sf-resetcontent { width:970px; margin:0 auto; }
$css
</style>
</head>