first commit
This commit is contained in:
313
media/vendor/debugbar/debugbar.css
vendored
Normal file
313
media/vendor/debugbar/debugbar.css
vendored
Normal file
@ -0,0 +1,313 @@
|
||||
/* Hide debugbar when printing a page */
|
||||
@media print {
|
||||
div.phpdebugbar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
div.phpdebugbar {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
border-top: 0;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
background: #fff;
|
||||
z-index: 10000;
|
||||
font-size: 14px;
|
||||
color: #000;
|
||||
text-align: left;
|
||||
line-height: 1;
|
||||
letter-spacing: normal;
|
||||
direction: ltr;
|
||||
}
|
||||
|
||||
div.phpdebugbar a,
|
||||
div.phpdebugbar-openhandler {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
div.phpdebugbar-drag-capture {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 10001;
|
||||
background: none;
|
||||
display: none;
|
||||
cursor: ns-resize;
|
||||
}
|
||||
|
||||
div.phpdebugbar-closed {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
div.phpdebugbar * {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
font-weight: normal;
|
||||
text-decoration: none;
|
||||
clear: initial;
|
||||
width: auto;
|
||||
-moz-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
div.phpdebugbar ol, div.phpdebugbar ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
div.phpdebugbar table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
div.phpdebugbar input[type='text'], div.phpdebugbar input[type='password'] {
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
background: #fff;
|
||||
font-size: 14px;
|
||||
color: #000;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
div.phpdebugbar code, div.phpdebugbar pre, div.phpdebugbar samp {
|
||||
background: none;
|
||||
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
||||
font-size: 1em;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
div.phpdebugbar code, div.phpdebugbar pre {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
div.phpdebugbar pre.sf-dump {
|
||||
color: #a0a000;
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
a.phpdebugbar-restore-btn {
|
||||
float: left;
|
||||
padding: 5px 8px;
|
||||
font-size: 14px;
|
||||
color: #555;
|
||||
text-decoration: none;
|
||||
border-right: 1px solid #ddd;
|
||||
}
|
||||
|
||||
div.phpdebugbar-resize-handle {
|
||||
display: none;
|
||||
height: 4px;
|
||||
margin-top: -4px;
|
||||
width: 100%;
|
||||
background: none;
|
||||
border-bottom: 1px solid #ccc;
|
||||
cursor: ns-resize;
|
||||
}
|
||||
|
||||
div.phpdebugbar-closed, div.phpdebugbar-minimized{
|
||||
border-top: 1px solid #ccc;
|
||||
}
|
||||
/* -------------------------------------- */
|
||||
|
||||
a.phpdebugbar-restore-btn {
|
||||
background: #efefef url(data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ccircle%20fill%3D%22%23000%22%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M6.039%208.342c.463%200%20.772.084.927.251.154.168.191.455.11.862-.084.424-.247.727-.487.908-.241.182-.608.272-1.1.272h-.743l.456-2.293h.837zm-2.975%204.615h1.22l.29-1.457H5.62c.461%200%20.84-.047%201.139-.142.298-.095.569-.254.812-.477.205-.184.37-.387.497-.608.127-.222.217-.466.27-.734.13-.65.032-1.155-.292-1.518-.324-.362-.84-.543-1.545-.543H4.153l-1.089%205.479zM9.235%206.02h1.21l-.289%201.458h1.079c.679%200%201.147.115%201.405.347.258.231.335.607.232%201.125l-.507%202.55h-1.23l.481-2.424c.055-.276.035-.464-.06-.565-.095-.1-.298-.15-.608-.15H9.98L9.356%2011.5h-1.21l1.089-5.48M15.566%208.342c.464%200%20.773.084.928.251.154.168.19.455.11.862-.084.424-.247.727-.488.908-.24.182-.607.272-1.1.272h-.742l.456-2.293h.836zm-2.974%204.615h1.22l.29-1.457h1.046c.461%200%20.84-.047%201.139-.142.298-.095.569-.254.812-.477.205-.184.37-.387.497-.608.127-.222.217-.466.27-.734.129-.65.032-1.155-.292-1.518-.324-.362-.84-.543-1.545-.543H13.68l-1.089%205.479z%22%20fill%3D%22%23FFF%22%2F%3E%3C%2Fsvg%3E) no-repeat 5px 4px / 20px 20px;
|
||||
}
|
||||
div.phpdebugbar-header {
|
||||
min-height: 26px;
|
||||
line-height: 16px;
|
||||
}
|
||||
div.phpdebugbar-header:before, div.phpdebugbar-header:after {
|
||||
display: table;
|
||||
line-height: 0;
|
||||
content: "";
|
||||
}
|
||||
div.phpdebugbar-header:after {
|
||||
clear: both;
|
||||
}
|
||||
div.phpdebugbar-header-left {
|
||||
float: left;
|
||||
}
|
||||
div.phpdebugbar-header-right {
|
||||
float: right;
|
||||
}
|
||||
div.phpdebugbar-header > div > * {
|
||||
padding: 5px 5px;
|
||||
font-size: 14px;
|
||||
color: #555;
|
||||
text-decoration: none;
|
||||
}
|
||||
div.phpdebugbar-header-left > * {
|
||||
float: left;
|
||||
}
|
||||
div.phpdebugbar-header-right > * {
|
||||
float: right;
|
||||
}
|
||||
div.phpdebugbar-header-right > select {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* -------------------------------------- */
|
||||
|
||||
span.phpdebugbar-indicator,
|
||||
a.phpdebugbar-indicator,
|
||||
a.phpdebugbar-close-btn {
|
||||
border-right: 1px solid #ddd;
|
||||
}
|
||||
|
||||
a.phpdebugbar-tab.phpdebugbar-active {
|
||||
background: #ccc;
|
||||
color: #444;
|
||||
background-image: linear-gradient(bottom, rgb(173,173,173) 41%, rgb(209,209,209) 71%);
|
||||
background-image: -o-linear-gradient(bottom, rgb(173,173,173) 41%, rgb(209,209,209) 71%);
|
||||
background-image: -moz-linear-gradient(bottom, rgb(173,173,173) 41%, rgb(209,209,209) 71%);
|
||||
background-image: -webkit-linear-gradient(bottom, rgb(173,173,173) 41%, rgb(209,209,209) 71%);
|
||||
background-image: -ms-linear-gradient(bottom, rgb(173,173,173) 41%, rgb(209,209,209) 71%);
|
||||
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.41, rgb(173,173,173)), color-stop(0.71, rgb(209,209,209)));
|
||||
}
|
||||
a.phpdebugbar-tab span.phpdebugbar-badge {
|
||||
display: none;
|
||||
margin-left: 5px;
|
||||
font-size: 11px;
|
||||
line-height: 14px;
|
||||
padding: 0 6px;
|
||||
background: #ccc;
|
||||
border-radius: 4px;
|
||||
color: #555;
|
||||
font-weight: normal;
|
||||
text-shadow: none;
|
||||
vertical-align: middle;
|
||||
}
|
||||
a.phpdebugbar-tab i {
|
||||
display: none;
|
||||
vertical-align: middle;
|
||||
}
|
||||
a.phpdebugbar-tab span.phpdebugbar-badge.phpdebugbar-visible {
|
||||
display: inline;
|
||||
}
|
||||
a.phpdebugbar-tab span.phpdebugbar-badge.phpdebugbar-important {
|
||||
background: #ed6868;
|
||||
color: white;
|
||||
}
|
||||
|
||||
a.phpdebugbar-close-btn, a.phpdebugbar-open-btn, a.phpdebugbar-restore-btn, a.phpdebugbar-minimize-btn , a.phpdebugbar-maximize-btn {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
a.phpdebugbar-minimize-btn , a.phpdebugbar-maximize-btn {
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
|
||||
a.phpdebugbar-maximize-btn { display: none}
|
||||
|
||||
a.phpdebugbar-minimize-btn { display: block}
|
||||
|
||||
div.phpdebugbar-minimized a.phpdebugbar-maximize-btn { display: block}
|
||||
|
||||
div.phpdebugbar-minimized a.phpdebugbar-minimize-btn { display: none}
|
||||
|
||||
a.phpdebugbar-minimize-btn {
|
||||
background:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201792%201792%22%20id%3D%22chevron-down%22%3E%3Cpath%20d%3D%22M1683%20808l-742%20741q-19%2019-45%2019t-45-19l-742-741q-19-19-19-45.5t19-45.5l166-165q19-19%2045-19t45%2019l531%20531%20531-531q19-19%2045-19t45%2019l166%20165q19%2019%2019%2045.5t-19%2045.5z%22%2F%3E%3C%2Fsvg%3E) no-repeat 6px 6px / 14px 14px;
|
||||
}
|
||||
|
||||
a.phpdebugbar-maximize-btn {
|
||||
background:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201792%201792%22%20id%3D%22chevron-up%22%3E%3Cpath%20d%3D%22M1683%201331l-166%20165q-19%2019-45%2019t-45-19l-531-531-531%20531q-19%2019-45%2019t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19%2045-19t45%2019l742%20741q19%2019%2019%2045.5t-19%2045.5z%22%2F%3E%3C%2Fsvg%3E) no-repeat 6px 6px / 14px 14px;
|
||||
}
|
||||
|
||||
a.phpdebugbar-close-btn {
|
||||
background: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201792%201792%22%20id%3D%22close%22%3E%3Cpath%20d%3D%22M1490%201322q0%2040-28%2068l-136%20136q-28%2028-68%2028t-68-28l-294-294-294%20294q-28%2028-68%2028t-68-28l-136-136q-28-28-28-68t28-68l294-294-294-294q-28-28-28-68t28-68l136-136q28-28%2068-28t68%2028l294%20294%20294-294q28-28%2068-28t68%2028l136%20136q28%2028%2028%2068t-28%2068l-294%20294%20294%20294q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E) no-repeat 9px 6px / 14px 14px;
|
||||
}
|
||||
|
||||
a.phpdebugbar-open-btn {
|
||||
background: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201792%201792%22%20id%3D%22folder-open%22%3E%3Cpath%20d%3D%22M1815%20952q0%2031-31%2066l-336%20396q-43%2051-120.5%2086.5t-143.5%2035.5h-1088q-34%200-60.5-13t-26.5-43q0-31%2031-66l336-396q43-51%20120.5-86.5t143.5-35.5h1088q34%200%2060.5%2013t26.5%2043zm-343-344v160h-832q-94%200-197%2047.5t-164%20119.5l-337%20396-5%206q0-4-.5-12.5t-.5-12.5v-960q0-92%2066-158t158-66h320q92%200%20158%2066t66%20158v32h544q92%200%20158%2066t66%20158z%22%2F%3E%3C%2Fsvg%3E) no-repeat 8px 6px / 14px 14px;
|
||||
}
|
||||
|
||||
.phpdebugbar-indicator {
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
}
|
||||
.phpdebugbar-indicator span.phpdebugbar-text {
|
||||
margin-left: 5px;
|
||||
}
|
||||
.phpdebugbar-indicator span.phpdebugbar-tooltip {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: -30px;
|
||||
background: #efefef;
|
||||
opacity: .7;
|
||||
border: 1px solid #ccc;
|
||||
color: #555;
|
||||
font-size: 11px;
|
||||
padding: 2px 3px;
|
||||
z-index: 1000;
|
||||
text-align: center;
|
||||
width: 200%;
|
||||
right: 0;
|
||||
}
|
||||
.phpdebugbar-indicator:hover span.phpdebugbar-tooltip:not(.phpdebugbar-disabled) {
|
||||
display: block;
|
||||
}
|
||||
|
||||
select.phpdebugbar-datasets-switcher {
|
||||
float: right;
|
||||
display: none;
|
||||
margin: 2px 0 0 7px;
|
||||
max-width: 200px;
|
||||
max-height: 23px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* -------------------------------------- */
|
||||
|
||||
div.phpdebugbar-body {
|
||||
border-top: 1px solid #ccc;
|
||||
display: none;
|
||||
position: relative;
|
||||
height: 300px;
|
||||
}
|
||||
|
||||
/* -------------------------------------- */
|
||||
|
||||
div.phpdebugbar-panel {
|
||||
display: none;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
width: 100%;
|
||||
}
|
||||
div.phpdebugbar-panel.phpdebugbar-active {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* -------------------------------------- */
|
||||
|
||||
div.phpdebugbar-mini-design a.phpdebugbar-tab {
|
||||
position: relative;
|
||||
border-right: 1px solid #ddd;
|
||||
}
|
||||
div.phpdebugbar-mini-design a.phpdebugbar-tab span.phpdebugbar-text {
|
||||
display: none;
|
||||
}
|
||||
div.phpdebugbar-mini-design a.phpdebugbar-tab:hover span.phpdebugbar-text {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: -30px;
|
||||
background: #efefef;
|
||||
opacity: .7;
|
||||
border: 1px solid #ccc;
|
||||
color: #555;
|
||||
font-size: 11px;
|
||||
padding: 2px 3px;
|
||||
z-index: 1000;
|
||||
text-align: center;
|
||||
right: 0;
|
||||
}
|
||||
div.phpdebugbar-mini-design a.phpdebugbar-tab i {
|
||||
display:inline-block;
|
||||
}
|
||||
1222
media/vendor/debugbar/debugbar.js
vendored
Normal file
1222
media/vendor/debugbar/debugbar.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
media/vendor/debugbar/debugbar.min.css
vendored
Normal file
1
media/vendor/debugbar/debugbar.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
media/vendor/debugbar/debugbar.min.css.gz
vendored
Normal file
BIN
media/vendor/debugbar/debugbar.min.css.gz
vendored
Normal file
Binary file not shown.
1
media/vendor/debugbar/debugbar.min.js
vendored
Normal file
1
media/vendor/debugbar/debugbar.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
media/vendor/debugbar/debugbar.min.js.gz
vendored
Normal file
BIN
media/vendor/debugbar/debugbar.min.js.gz
vendored
Normal file
Binary file not shown.
70
media/vendor/debugbar/openhandler.css
vendored
Normal file
70
media/vendor/debugbar/openhandler.css
vendored
Normal file
@ -0,0 +1,70 @@
|
||||
div.phpdebugbar-openhandler-overlay {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: #000;
|
||||
opacity: .3;
|
||||
z-index: 20000;
|
||||
}
|
||||
|
||||
div.phpdebugbar-openhandler {
|
||||
position: fixed;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
width: 70%;
|
||||
height: 70%;
|
||||
background: #fff;
|
||||
color: #000;
|
||||
border: 2px solid #888;
|
||||
overflow: auto;
|
||||
z-index: 20001;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
font-size: 14px;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
div.phpdebugbar-openhandler a {
|
||||
color: #555;
|
||||
}
|
||||
div.phpdebugbar-openhandler .phpdebugbar-openhandler-header {
|
||||
background: #efefef url(data:image/png;base64,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) no-repeat 5px 4px;
|
||||
padding-left: 29px;
|
||||
min-height: 26px;
|
||||
line-height: 25px;
|
||||
color: #555;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
div.phpdebugbar-openhandler .phpdebugbar-openhandler-header a {
|
||||
font-size: 14px;
|
||||
color: #555;
|
||||
text-decoration: none;
|
||||
float: right;
|
||||
padding: 5px 8px;
|
||||
}
|
||||
div.phpdebugbar-openhandler table {
|
||||
width: 100%;
|
||||
table-layout: fixed;
|
||||
font-size: 14px;
|
||||
}
|
||||
div.phpdebugbar-openhandler table td {
|
||||
padding: 6px 3px;
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
div.phpdebugbar-openhandler table td a{
|
||||
display: block;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions {
|
||||
text-align: center;
|
||||
padding: 7px 0;
|
||||
}
|
||||
div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions a {
|
||||
margin: 0 10px;
|
||||
color: #555;
|
||||
}
|
||||
202
media/vendor/debugbar/openhandler.js
vendored
Normal file
202
media/vendor/debugbar/openhandler.js
vendored
Normal file
@ -0,0 +1,202 @@
|
||||
if (typeof(PhpDebugBar) == 'undefined') {
|
||||
// namespace
|
||||
var PhpDebugBar = {};
|
||||
PhpDebugBar.$ = jQuery;
|
||||
}
|
||||
|
||||
(function($) {
|
||||
|
||||
var csscls = function(cls) {
|
||||
return PhpDebugBar.utils.csscls(cls, 'phpdebugbar-openhandler-');
|
||||
};
|
||||
|
||||
PhpDebugBar.OpenHandler = PhpDebugBar.Widget.extend({
|
||||
|
||||
className: 'phpdebugbar-openhandler',
|
||||
|
||||
defaults: {
|
||||
items_per_page: 20
|
||||
},
|
||||
|
||||
render: function() {
|
||||
var self = this;
|
||||
|
||||
this.$el.appendTo('body').hide();
|
||||
this.$closebtn = $('<a><i class="phpdebugbar-fa phpdebugbar-fa-times"></i></a>');
|
||||
this.$table = $('<tbody />');
|
||||
$('<div>PHP DebugBar | Open</div>').addClass(csscls('header')).append(this.$closebtn).appendTo(this.$el);
|
||||
$('<table><thead><tr><th width="150">Date</th><th width="55">Method</th><th>URL</th><th width="125">IP</th><th width="100">Filter data</th></tr></thead></table>').append(this.$table).appendTo(this.$el);
|
||||
this.$actions = $('<div />').addClass(csscls('actions')).appendTo(this.$el);
|
||||
|
||||
this.$closebtn.on('click', function() {
|
||||
self.hide();
|
||||
});
|
||||
|
||||
this.$loadmorebtn = $('<a>Load more</a>')
|
||||
.appendTo(this.$actions)
|
||||
.on('click', function() {
|
||||
self.find(self.last_find_request, self.last_find_request.offset + self.get('items_per_page'), self.handleFind.bind(self));
|
||||
});
|
||||
|
||||
this.$showonlycurrentbtn = $('<a>Show only current URL</a>')
|
||||
.appendTo(this.$actions)
|
||||
.on('click', function() {
|
||||
self.$table.empty();
|
||||
self.find({uri: window.location.pathname}, 0, self.handleFind.bind(self));
|
||||
});
|
||||
|
||||
this.$showallbtn = $('<a>Show all</a>')
|
||||
.appendTo(this.$actions)
|
||||
.on('click', function() {
|
||||
self.refresh();
|
||||
});
|
||||
|
||||
this.$clearbtn = $('<a>Delete all</a>')
|
||||
.appendTo(this.$actions)
|
||||
.on('click', function() {
|
||||
self.clear(function() {
|
||||
self.hide();
|
||||
});
|
||||
});
|
||||
|
||||
this.addSearch();
|
||||
|
||||
this.$overlay = $('<div />').addClass(csscls('overlay')).hide().appendTo('body');
|
||||
this.$overlay.on('click', function() {
|
||||
self.hide();
|
||||
});
|
||||
},
|
||||
|
||||
refresh: function() {
|
||||
this.$table.empty();
|
||||
this.$loadmorebtn.show();
|
||||
this.find({}, 0, this.handleFind.bind(this));
|
||||
},
|
||||
|
||||
addSearch: function(){
|
||||
var self = this;
|
||||
var searchBtn = $('<button />')
|
||||
.text('Search')
|
||||
.attr('type', 'submit')
|
||||
.on('click', function(e) {
|
||||
self.$table.empty();
|
||||
var search = {};
|
||||
var a = $(this).parent().serializeArray();
|
||||
$.each(a, function() {
|
||||
if(this.value){
|
||||
search[this.name] = this.value;
|
||||
}
|
||||
});
|
||||
|
||||
self.find(search, 0, self.handleFind.bind(self));
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
$('<form />')
|
||||
.append('<br/><b>Filter results</b><br/>')
|
||||
.append('Method: <select name="method"><option></option><option>GET</option><option>POST</option><option>PUT</option><option>DELETE</option></select><br/>')
|
||||
.append('Uri: <input type="text" name="uri"><br/>')
|
||||
.append('IP: <input type="text" name="ip"><br/>')
|
||||
.append(searchBtn)
|
||||
.appendTo(this.$actions);
|
||||
},
|
||||
|
||||
handleFind: function(data) {
|
||||
var self = this;
|
||||
$.each(data, function(i, meta) {
|
||||
var a = $('<a />')
|
||||
.text('Load dataset')
|
||||
.on('click', function(e) {
|
||||
self.hide();
|
||||
self.load(meta['id'], function(data) {
|
||||
self.callback(meta['id'], data);
|
||||
});
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
var method = $('<a />')
|
||||
.text(meta['method'])
|
||||
.on('click', function(e) {
|
||||
self.$table.empty();
|
||||
self.find({method: meta['method']}, 0, self.handleFind.bind(self));
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
var uri = $('<a />')
|
||||
.text(meta['uri'])
|
||||
.on('click', function(e) {
|
||||
self.hide();
|
||||
self.load(meta['id'], function(data) {
|
||||
self.callback(meta['id'], data);
|
||||
});
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
var ip = $('<a />')
|
||||
.text(meta['ip'])
|
||||
.on('click', function(e) {
|
||||
self.$table.empty();
|
||||
self.find({ip: meta['ip']}, 0, self.handleFind.bind(self));
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
var search = $('<a />')
|
||||
.text('Show URL')
|
||||
.on('click', function(e) {
|
||||
self.$table.empty();
|
||||
self.find({uri: meta['uri']}, 0, self.handleFind.bind(self));
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
$('<tr />')
|
||||
.append('<td>' + meta['datetime'] + '</td>')
|
||||
.append('<td>' + meta['method'] + '</td>')
|
||||
.append($('<td />').append(uri))
|
||||
.append($('<td />').append(ip))
|
||||
.append($('<td />').append(search))
|
||||
.appendTo(self.$table);
|
||||
});
|
||||
if (data.length < this.get('items_per_page')) {
|
||||
this.$loadmorebtn.hide();
|
||||
}
|
||||
},
|
||||
|
||||
show: function(callback) {
|
||||
this.callback = callback;
|
||||
this.$el.show();
|
||||
this.$overlay.show();
|
||||
this.refresh();
|
||||
},
|
||||
|
||||
hide: function() {
|
||||
this.$el.hide();
|
||||
this.$overlay.hide();
|
||||
},
|
||||
|
||||
find: function(filters, offset, callback) {
|
||||
var data = $.extend({}, filters, {max: this.get('items_per_page'), offset: offset || 0});
|
||||
this.last_find_request = data;
|
||||
this.ajax(data, callback);
|
||||
},
|
||||
|
||||
load: function(id, callback) {
|
||||
this.ajax({op: "get", id: id}, callback);
|
||||
},
|
||||
|
||||
clear: function(callback) {
|
||||
this.ajax({op: "clear"}, callback);
|
||||
},
|
||||
|
||||
ajax: function(data, callback) {
|
||||
$.ajax({
|
||||
dataType: 'json',
|
||||
url: this.get('url'),
|
||||
data: data,
|
||||
success: callback,
|
||||
ignoreDebugBarAjaxHandler: true
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
})(PhpDebugBar.$);
|
||||
1
media/vendor/debugbar/openhandler.min.css
vendored
Normal file
1
media/vendor/debugbar/openhandler.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
media/vendor/debugbar/openhandler.min.css.gz
vendored
Normal file
BIN
media/vendor/debugbar/openhandler.min.css.gz
vendored
Normal file
Binary file not shown.
1
media/vendor/debugbar/openhandler.min.js
vendored
Normal file
1
media/vendor/debugbar/openhandler.min.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
if(void 0===PhpDebugBar){var PhpDebugBar={};PhpDebugBar.$=jQuery}!function(t){var e=function(t){return PhpDebugBar.utils.csscls(t,"phpdebugbar-openhandler-")};PhpDebugBar.OpenHandler=PhpDebugBar.Widget.extend({className:"phpdebugbar-openhandler",defaults:{items_per_page:20},render:function(){var n=this;this.$el.appendTo("body").hide(),this.$closebtn=t('<a><i class="phpdebugbar-fa phpdebugbar-fa-times"></i></a>'),this.$table=t("<tbody />"),t("<div>PHP DebugBar | Open</div>").addClass(e("header")).append(this.$closebtn).appendTo(this.$el),t('<table><thead><tr><th width="150">Date</th><th width="55">Method</th><th>URL</th><th width="125">IP</th><th width="100">Filter data</th></tr></thead></table>').append(this.$table).appendTo(this.$el),this.$actions=t("<div />").addClass(e("actions")).appendTo(this.$el),this.$closebtn.on("click",(function(){n.hide()})),this.$loadmorebtn=t("<a>Load more</a>").appendTo(this.$actions).on("click",(function(){n.find(n.last_find_request,n.last_find_request.offset+n.get("items_per_page"),n.handleFind.bind(n))})),this.$showonlycurrentbtn=t("<a>Show only current URL</a>").appendTo(this.$actions).on("click",(function(){n.$table.empty(),n.find({uri:window.location.pathname},0,n.handleFind.bind(n))})),this.$showallbtn=t("<a>Show all</a>").appendTo(this.$actions).on("click",(function(){n.refresh()})),this.$clearbtn=t("<a>Delete all</a>").appendTo(this.$actions).on("click",(function(){n.clear((function(){n.hide()}))})),this.addSearch(),this.$overlay=t("<div />").addClass(e("overlay")).hide().appendTo("body"),this.$overlay.on("click",(function(){n.hide()}))},refresh:function(){this.$table.empty(),this.$loadmorebtn.show(),this.find({},0,this.handleFind.bind(this))},addSearch:function(){var e=this,n=t("<button />").text("Search").attr("type","submit").on("click",(function(n){e.$table.empty();var a={},i=t(this).parent().serializeArray();t.each(i,(function(){this.value&&(a[this.name]=this.value)})),e.find(a,0,e.handleFind.bind(e)),n.preventDefault()}));t("<form />").append("<br/><b>Filter results</b><br/>").append('Method: <select name="method"><option></option><option>GET</option><option>POST</option><option>PUT</option><option>DELETE</option></select><br/>').append('Uri: <input type="text" name="uri"><br/>').append('IP: <input type="text" name="ip"><br/>').append(n).appendTo(this.$actions)},handleFind:function(e){var n=this;t.each(e,(function(e,a){t("<a />").text("Load dataset").on("click",(function(t){n.hide(),n.load(a.id,(function(t){n.callback(a.id,t)})),t.preventDefault()})),t("<a />").text(a.method).on("click",(function(t){n.$table.empty(),n.find({method:a.method},0,n.handleFind.bind(n)),t.preventDefault()}));var i=t("<a />").text(a.uri).on("click",(function(t){n.hide(),n.load(a.id,(function(t){n.callback(a.id,t)})),t.preventDefault()})),d=t("<a />").text(a.ip).on("click",(function(t){n.$table.empty(),n.find({ip:a.ip},0,n.handleFind.bind(n)),t.preventDefault()})),o=t("<a />").text("Show URL").on("click",(function(t){n.$table.empty(),n.find({uri:a.uri},0,n.handleFind.bind(n)),t.preventDefault()}));t("<tr />").append("<td>"+a.datetime+"</td>").append("<td>"+a.method+"</td>").append(t("<td />").append(i)).append(t("<td />").append(d)).append(t("<td />").append(o)).appendTo(n.$table)})),e.length<this.get("items_per_page")&&this.$loadmorebtn.hide()},show:function(t){this.callback=t,this.$el.show(),this.$overlay.show(),this.refresh()},hide:function(){this.$el.hide(),this.$overlay.hide()},find:function(e,n,a){var i=t.extend({},e,{max:this.get("items_per_page"),offset:n||0});this.last_find_request=i,this.ajax(i,a)},load:function(t,e){this.ajax({op:"get",id:t},e)},clear:function(t){this.ajax({op:"clear"},t)},ajax:function(e,n){t.ajax({dataType:"json",url:this.get("url"),data:e,success:n,ignoreDebugBarAjaxHandler:!0})}})}(PhpDebugBar.$);
|
||||
BIN
media/vendor/debugbar/openhandler.min.js.gz
vendored
Normal file
BIN
media/vendor/debugbar/openhandler.min.js.gz
vendored
Normal file
Binary file not shown.
1
media/vendor/debugbar/vendor/highlightjs/highlight.pack.js
vendored
Normal file
1
media/vendor/debugbar/vendor/highlightjs/highlight.pack.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
media/vendor/debugbar/vendor/highlightjs/highlight.pack.min.js
vendored
Normal file
1
media/vendor/debugbar/vendor/highlightjs/highlight.pack.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
media/vendor/debugbar/vendor/highlightjs/highlight.pack.min.js.gz
vendored
Normal file
BIN
media/vendor/debugbar/vendor/highlightjs/highlight.pack.min.js.gz
vendored
Normal file
Binary file not shown.
82
media/vendor/debugbar/vendor/highlightjs/styles/github.css
vendored
Normal file
82
media/vendor/debugbar/vendor/highlightjs/styles/github.css
vendored
Normal file
@ -0,0 +1,82 @@
|
||||
/*
|
||||
|
||||
github.com style (c) Vasily Polovnyov <vast@whiteants.net>
|
||||
|
||||
*/
|
||||
div.phpdebugbar pre code.hljs {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
padding: 1em;
|
||||
}
|
||||
div.phpdebugbar code.hljs {
|
||||
padding: 3px 5px;
|
||||
}
|
||||
div.phpdebugbar .hljs {
|
||||
background: #f3f3f3;
|
||||
color: #444;
|
||||
}
|
||||
div.phpdebugbar .hljs-comment {
|
||||
color: #697070;
|
||||
}
|
||||
div.phpdebugbar .hljs-punctuation,
|
||||
div.phpdebugbar .hljs-tag {
|
||||
color: #444a;
|
||||
}
|
||||
div.phpdebugbar .hljs-tag .hljs-attr,
|
||||
div.phpdebugbar .hljs-tag .hljs-name {
|
||||
color: #444;
|
||||
}
|
||||
div.phpdebugbar .hljs-attribute,
|
||||
div.phpdebugbar .hljs-doctag,
|
||||
div.phpdebugbar .hljs-keyword,
|
||||
div.phpdebugbar .hljs-meta .hljs-keyword,
|
||||
div.phpdebugbar .hljs-name,
|
||||
div.phpdebugbar .hljs-selector-tag {
|
||||
font-weight: 700;
|
||||
}
|
||||
div.phpdebugbar .hljs-deletion,
|
||||
div.phpdebugbar .hljs-number,
|
||||
div.phpdebugbar .hljs-quote,
|
||||
div.phpdebugbar .hljs-selector-class,
|
||||
div.phpdebugbar .hljs-selector-id,
|
||||
div.phpdebugbar .hljs-string,
|
||||
div.phpdebugbar .hljs-template-tag,
|
||||
div.phpdebugbar .hljs-type {
|
||||
color: #800;
|
||||
}
|
||||
div.phpdebugbar .hljs-section,
|
||||
div.phpdebugbar .hljs-title {
|
||||
color: #800;
|
||||
font-weight: 700;
|
||||
}
|
||||
div.phpdebugbar .hljs-link,
|
||||
div.phpdebugbar .hljs-operator,
|
||||
div.phpdebugbar .hljs-regexp,
|
||||
div.phpdebugbar .hljs-selector-attr,
|
||||
div.phpdebugbar .hljs-selector-pseudo,
|
||||
div.phpdebugbar .hljs-symbol,
|
||||
div.phpdebugbar .hljs-template-variable,
|
||||
div.phpdebugbar .hljs-variable {
|
||||
color: #ab5656;
|
||||
}
|
||||
div.phpdebugbar .hljs-literal {
|
||||
color: #695;
|
||||
}
|
||||
div.phpdebugbar .hljs-addition,
|
||||
div.phpdebugbar .hljs-built_in,
|
||||
div.phpdebugbar .hljs-bullet,
|
||||
div.phpdebugbar .hljs-code {
|
||||
color: #397300;
|
||||
}
|
||||
div.phpdebugbar .hljs-meta {
|
||||
color: #1f7199;
|
||||
}
|
||||
div.phpdebugbar .hljs-meta .hljs-string {
|
||||
color: #38a;
|
||||
}
|
||||
div.phpdebugbar .hljs-emphasis {
|
||||
font-style: italic;
|
||||
}
|
||||
div.phpdebugbar .hljs-strong {
|
||||
font-weight: 700;
|
||||
}
|
||||
1
media/vendor/debugbar/vendor/highlightjs/styles/github.min.css
vendored
Normal file
1
media/vendor/debugbar/vendor/highlightjs/styles/github.min.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
div.phpdebugbar pre code.hljs{display:block;overflow-x:auto;padding:1em}div.phpdebugbar code.hljs{padding:3px 5px}div.phpdebugbar .hljs{background:#f3f3f3;color:#444}div.phpdebugbar .hljs-comment{color:#697070}div.phpdebugbar .hljs-punctuation,div.phpdebugbar .hljs-tag{color:#444a}div.phpdebugbar .hljs-tag .hljs-attr,div.phpdebugbar .hljs-tag .hljs-name{color:#444}div.phpdebugbar .hljs-attribute,div.phpdebugbar .hljs-doctag,div.phpdebugbar .hljs-keyword,div.phpdebugbar .hljs-meta .hljs-keyword,div.phpdebugbar .hljs-name,div.phpdebugbar .hljs-selector-tag{font-weight:700}div.phpdebugbar .hljs-deletion,div.phpdebugbar .hljs-number,div.phpdebugbar .hljs-quote,div.phpdebugbar .hljs-selector-class,div.phpdebugbar .hljs-selector-id,div.phpdebugbar .hljs-string,div.phpdebugbar .hljs-template-tag,div.phpdebugbar .hljs-type{color:#800}div.phpdebugbar .hljs-section,div.phpdebugbar .hljs-title{color:#800;font-weight:700}div.phpdebugbar .hljs-link,div.phpdebugbar .hljs-operator,div.phpdebugbar .hljs-regexp,div.phpdebugbar .hljs-selector-attr,div.phpdebugbar .hljs-selector-pseudo,div.phpdebugbar .hljs-symbol,div.phpdebugbar .hljs-template-variable,div.phpdebugbar .hljs-variable{color:#ab5656}div.phpdebugbar .hljs-literal{color:#695}div.phpdebugbar .hljs-addition,div.phpdebugbar .hljs-built_in,div.phpdebugbar .hljs-bullet,div.phpdebugbar .hljs-code{color:#397300}div.phpdebugbar .hljs-meta{color:#1f7199}div.phpdebugbar .hljs-meta .hljs-string{color:#38a}div.phpdebugbar .hljs-emphasis{font-style:italic}div.phpdebugbar .hljs-strong{font-weight:700}
|
||||
BIN
media/vendor/debugbar/vendor/highlightjs/styles/github.min.css.gz
vendored
Normal file
BIN
media/vendor/debugbar/vendor/highlightjs/styles/github.min.css.gz
vendored
Normal file
Binary file not shown.
271
media/vendor/debugbar/widgets.css
vendored
Normal file
271
media/vendor/debugbar/widgets.css
vendored
Normal file
@ -0,0 +1,271 @@
|
||||
pre.phpdebugbar-widgets-code-block {
|
||||
white-space: pre;
|
||||
word-wrap: normal;
|
||||
overflow: hidden;
|
||||
}
|
||||
pre.phpdebugbar-widgets-code-block code {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
pre.phpdebugbar-widgets-code-block code.phpdebugbar-widgets-numbered-code {
|
||||
padding: 5px;
|
||||
}
|
||||
pre.phpdebugbar-widgets-code-block code span.phpdebugbar-widgets-highlighted-line {
|
||||
background: #800000;
|
||||
color: #fff;
|
||||
display: inline-block;
|
||||
min-width: 100%;
|
||||
}
|
||||
pre.phpdebugbar-widgets-code-block code span.phpdebugbar-widgets-highlighted-line span {
|
||||
background: none !important;
|
||||
color: inherit !important;
|
||||
}
|
||||
pre.phpdebugbar-widgets-code-block ul {
|
||||
float: left;
|
||||
padding: 5px;
|
||||
background: #cacaca;
|
||||
border-right: 1px solid #aaa;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* -------------------------------------- */
|
||||
|
||||
ul.phpdebugbar-widgets-list {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
||||
}
|
||||
ul.phpdebugbar-widgets-list li.phpdebugbar-widgets-list-item {
|
||||
padding: 3px 6px;
|
||||
border-bottom: 1px solid #eee;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
ul.phpdebugbar-widgets-list li.phpdebugbar-widgets-list-item:hover {
|
||||
background: #fafafa;
|
||||
}
|
||||
|
||||
/* -------------------------------------- */
|
||||
|
||||
div.phpdebugbar-widgets-messages {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
}
|
||||
div.phpdebugbar-widgets-messages ul.phpdebugbar-widgets-list {
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-warning:before {
|
||||
font-family: PhpDebugbarFontAwesome;
|
||||
content: "\f071";
|
||||
margin-right: 8px;
|
||||
font-size: 11px;
|
||||
color: #ecb03d;
|
||||
}
|
||||
div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-error {
|
||||
color: red;
|
||||
}
|
||||
div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-error:before {
|
||||
font-family: PhpDebugbarFontAwesome;
|
||||
content: "\f057";
|
||||
margin-right: 8px;
|
||||
font-size: 11px;
|
||||
color: red;
|
||||
}
|
||||
div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item pre.sf-dump {
|
||||
display: inline;
|
||||
}
|
||||
div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-collector,
|
||||
div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-label {
|
||||
float: right;
|
||||
font-size: 12px;
|
||||
padding: 2px 4px;
|
||||
color: #888;
|
||||
margin: 0 2px;
|
||||
text-decoration: none;
|
||||
text-shadow: none;
|
||||
background: none;
|
||||
font-weight: normal;
|
||||
}
|
||||
div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-collector {
|
||||
color: #555;
|
||||
font-style: italic;
|
||||
}
|
||||
div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
background: #fff;
|
||||
}
|
||||
div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar input {
|
||||
border: 0;
|
||||
margin: 0;
|
||||
margin-left: 7px;
|
||||
width: 50%;
|
||||
box-shadow: none;
|
||||
}
|
||||
div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar input:focus {
|
||||
outline: none;
|
||||
}
|
||||
div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter {
|
||||
float: right;
|
||||
font-size: 12px;
|
||||
padding: 2px 4px;
|
||||
background: #7cacd5;
|
||||
margin: 0 2px;
|
||||
border-radius: 4px;
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
}
|
||||
div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter.phpdebugbar-widgets-excluded {
|
||||
background: #eee;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
/* -------------------------------------- */
|
||||
|
||||
dl.phpdebugbar-widgets-kvlist {
|
||||
margin: 0;
|
||||
}
|
||||
dl.phpdebugbar-widgets-kvlist dt {
|
||||
float: left;
|
||||
width: 150px;
|
||||
padding: 5px;
|
||||
border-top: 1px solid #eee;
|
||||
font-weight: bold;
|
||||
clear: both;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
dl.phpdebugbar-widgets-kvlist dd {
|
||||
margin-left: 160px;
|
||||
padding: 5px;
|
||||
border-top: 1px solid #eee;
|
||||
cursor: pointer;
|
||||
min-height: 17px;
|
||||
}
|
||||
|
||||
/* -------------------------------------- */
|
||||
|
||||
dl.phpdebugbar-widgets-varlist,
|
||||
dl.phpdebugbar-widgets-htmlvarlist {
|
||||
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
||||
}
|
||||
dl.phpdebugbar-widgets-htmlvarlist dd {
|
||||
cursor: initial;
|
||||
}
|
||||
|
||||
/* -------------------------------------- */
|
||||
|
||||
ul.phpdebugbar-widgets-timeline {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
ul.phpdebugbar-widgets-timeline .phpdebugbar-widgets-measure {
|
||||
height: 20px;
|
||||
position: relative;
|
||||
border-bottom: 1px solid #eee;
|
||||
display: block;
|
||||
}
|
||||
ul.phpdebugbar-widgets-timeline li:hover {
|
||||
background: #fafafa;
|
||||
}
|
||||
ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-label,
|
||||
ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-collector {
|
||||
position: absolute;
|
||||
font-size: 12px;
|
||||
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
||||
color: #555;
|
||||
top: 4px;
|
||||
left: 5px;
|
||||
background: none;
|
||||
text-shadow: none;
|
||||
font-weight: normal;
|
||||
white-space: pre;
|
||||
}
|
||||
ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-collector {
|
||||
left: initial;
|
||||
right: 5px;
|
||||
}
|
||||
ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-value {
|
||||
display: block;
|
||||
position: absolute;
|
||||
height: 10px;
|
||||
background: #3db9ec;
|
||||
top: 5px;
|
||||
border-radius: 2px;
|
||||
min-width: 1px;
|
||||
}
|
||||
ul.phpdebugbar-widgets-timeline table.phpdebugbar-widgets-params {
|
||||
display: none;
|
||||
width: 70%;
|
||||
margin: 10px;
|
||||
border: 1px solid #ddd;
|
||||
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
ul.phpdebugbar-widgets-timeline table.phpdebugbar-widgets-params td {
|
||||
border: 1px solid #ddd;
|
||||
padding: 0 5px;
|
||||
}
|
||||
ul.phpdebugbar-widgets-timeline table.phpdebugbar-widgets-params .phpdebugbar-widgets-name {
|
||||
width: 20%;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* -------------------------------------- */
|
||||
|
||||
div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item {
|
||||
cursor: pointer;
|
||||
}
|
||||
div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-message {
|
||||
display: block;
|
||||
color: red;
|
||||
}
|
||||
|
||||
div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-filename {
|
||||
display: block;
|
||||
font-style: italic;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item a.phpdebugbar-widgets-editor-link:hover {
|
||||
color: #aaaaaa;
|
||||
}
|
||||
|
||||
div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-type {
|
||||
display: block;
|
||||
position: absolute;
|
||||
right: 4px;
|
||||
top: 4px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item pre.phpdebugbar-widgets-file {
|
||||
display: none;
|
||||
margin: 10px;
|
||||
padding: 5px;
|
||||
border: 1px solid #ddd;
|
||||
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
||||
}
|
||||
|
||||
div.phpdebugbar-widgets-exceptions a.phpdebugbar-widgets-editor-link:before {
|
||||
font-family: PhpDebugbarFontAwesome;
|
||||
margin-right: 4px;
|
||||
font-size: 12px;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
div.phpdebugbar-widgets-exceptions a.phpdebugbar-widgets-editor-link:before {
|
||||
content: "\f08e";
|
||||
margin-left: 4px;
|
||||
}
|
||||
|
||||
ul.phpdebugbar-widgets-timeline table.phpdebugbar-widgets-params {
|
||||
display: table;
|
||||
border: 0;
|
||||
width: 99%;
|
||||
}
|
||||
605
media/vendor/debugbar/widgets.js
vendored
Normal file
605
media/vendor/debugbar/widgets.js
vendored
Normal file
@ -0,0 +1,605 @@
|
||||
if (typeof(PhpDebugBar) == 'undefined') {
|
||||
// namespace
|
||||
var PhpDebugBar = {};
|
||||
PhpDebugBar.$ = jQuery;
|
||||
}
|
||||
|
||||
(function($) {
|
||||
|
||||
/**
|
||||
* @namespace
|
||||
*/
|
||||
PhpDebugBar.Widgets = {};
|
||||
|
||||
var csscls = PhpDebugBar.utils.makecsscls('phpdebugbar-widgets-');
|
||||
|
||||
/**
|
||||
* Replaces spaces with and line breaks with <br>
|
||||
*
|
||||
* @param {String} text
|
||||
* @return {String}
|
||||
*/
|
||||
var htmlize = PhpDebugBar.Widgets.htmlize = function(text) {
|
||||
return text.replace(/\n/g, '<br>').replace(/\s/g, " ")
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns a string representation of value, using JSON.stringify
|
||||
* if it's an object.
|
||||
*
|
||||
* @param {Object} value
|
||||
* @param {Boolean} prettify Uses htmlize() if true
|
||||
* @return {String}
|
||||
*/
|
||||
var renderValue = PhpDebugBar.Widgets.renderValue = function(value, prettify) {
|
||||
if (typeof(value) !== 'string') {
|
||||
if (prettify) {
|
||||
return htmlize(JSON.stringify(value, undefined, 2));
|
||||
}
|
||||
return JSON.stringify(value);
|
||||
}
|
||||
return value;
|
||||
};
|
||||
|
||||
/**
|
||||
* Highlights a block of code
|
||||
*
|
||||
* @param {String} code
|
||||
* @param {String} lang
|
||||
* @return {String}
|
||||
*/
|
||||
var highlight = PhpDebugBar.Widgets.highlight = function(code, lang) {
|
||||
if (typeof(code) === 'string') {
|
||||
if (typeof(hljs) === 'undefined') {
|
||||
return htmlize(code);
|
||||
}
|
||||
if (lang) {
|
||||
return hljs.highlight(code, {language: lang}).value;
|
||||
}
|
||||
return hljs.highlightAuto(code).value;
|
||||
}
|
||||
|
||||
if (typeof(hljs) === 'object') {
|
||||
code.each(function(i, e) { hljs.highlightElement(e); });
|
||||
}
|
||||
return code;
|
||||
};
|
||||
|
||||
/**
|
||||
* Creates a <pre> element with a block of code
|
||||
*
|
||||
* @param {String} code
|
||||
* @param {String} lang
|
||||
* @param {Number} [firstLineNumber] If provided, shows line numbers beginning with the given value.
|
||||
* @param {Number} [highlightedLine] If provided, the given line number will be highlighted.
|
||||
* @return {String}
|
||||
*/
|
||||
var createCodeBlock = PhpDebugBar.Widgets.createCodeBlock = function(code, lang, firstLineNumber, highlightedLine) {
|
||||
var pre = $('<pre />').addClass(csscls('code-block'));
|
||||
// Add a newline to prevent <code> element from vertically collapsing too far if the last
|
||||
// code line was empty: that creates problems with the horizontal scrollbar being
|
||||
// incorrectly positioned - most noticeable when line numbers are shown.
|
||||
var codeElement = $('<code />').text(code + '\n').appendTo(pre);
|
||||
|
||||
// Add a span with a special class if we are supposed to highlight a line. highlight.js will
|
||||
// still correctly format code even with existing markup in it.
|
||||
if ($.isNumeric(highlightedLine)) {
|
||||
if ($.isNumeric(firstLineNumber)) {
|
||||
highlightedLine = highlightedLine - firstLineNumber + 1;
|
||||
}
|
||||
codeElement.html(function (index, html) {
|
||||
var currentLine = 1;
|
||||
return html.replace(/^.*$/gm, function(line) {
|
||||
if (currentLine++ == highlightedLine) {
|
||||
return '<span class="' + csscls('highlighted-line') + '">' + line + '</span>';
|
||||
} else {
|
||||
return line;
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// Format the code
|
||||
if (lang) {
|
||||
pre.addClass("language-" + lang);
|
||||
}
|
||||
highlight(pre);
|
||||
|
||||
// Show line numbers in a list
|
||||
if ($.isNumeric(firstLineNumber)) {
|
||||
var lineCount = code.split('\n').length;
|
||||
var $lineNumbers = $('<ul />').prependTo(pre);
|
||||
pre.children().addClass(csscls('numbered-code'));
|
||||
for (var i = firstLineNumber; i < firstLineNumber + lineCount; i++) {
|
||||
$('<li />').text(i).appendTo($lineNumbers);
|
||||
}
|
||||
}
|
||||
|
||||
return pre;
|
||||
};
|
||||
|
||||
// ------------------------------------------------------------------
|
||||
// Generic widgets
|
||||
// ------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Displays array element in a <ul> list
|
||||
*
|
||||
* Options:
|
||||
* - data
|
||||
* - itemRenderer: a function used to render list items (optional)
|
||||
*/
|
||||
var ListWidget = PhpDebugBar.Widgets.ListWidget = PhpDebugBar.Widget.extend({
|
||||
|
||||
tagName: 'ul',
|
||||
|
||||
className: csscls('list'),
|
||||
|
||||
initialize: function(options) {
|
||||
if (!options['itemRenderer']) {
|
||||
options['itemRenderer'] = this.itemRenderer;
|
||||
}
|
||||
this.set(options);
|
||||
},
|
||||
|
||||
render: function() {
|
||||
this.bindAttr(['itemRenderer', 'data'], function() {
|
||||
this.$el.empty();
|
||||
if (!this.has('data')) {
|
||||
return;
|
||||
}
|
||||
|
||||
var data = this.get('data');
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
var li = $('<li />').addClass(csscls('list-item')).appendTo(this.$el);
|
||||
this.get('itemRenderer')(li, data[i]);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Renders the content of a <li> element
|
||||
*
|
||||
* @param {jQuery} li The <li> element as a jQuery Object
|
||||
* @param {Object} value An item from the data array
|
||||
*/
|
||||
itemRenderer: function(li, value) {
|
||||
li.html(renderValue(value));
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// ------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Displays object property/value paris in a <dl> list
|
||||
*
|
||||
* Options:
|
||||
* - data
|
||||
* - itemRenderer: a function used to render list items (optional)
|
||||
*/
|
||||
var KVListWidget = PhpDebugBar.Widgets.KVListWidget = ListWidget.extend({
|
||||
|
||||
tagName: 'dl',
|
||||
|
||||
className: csscls('kvlist'),
|
||||
|
||||
render: function() {
|
||||
this.bindAttr(['itemRenderer', 'data'], function() {
|
||||
this.$el.empty();
|
||||
if (!this.has('data')) {
|
||||
return;
|
||||
}
|
||||
|
||||
var self = this;
|
||||
$.each(this.get('data'), function(key, value) {
|
||||
var dt = $('<dt />').addClass(csscls('key')).appendTo(self.$el);
|
||||
var dd = $('<dd />').addClass(csscls('value')).appendTo(self.$el);
|
||||
self.get('itemRenderer')(dt, dd, key, value);
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Renders the content of the <dt> and <dd> elements
|
||||
*
|
||||
* @param {jQuery} dt The <dt> element as a jQuery Object
|
||||
* @param {jQuery} dd The <dd> element as a jQuery Object
|
||||
* @param {String} key Property name
|
||||
* @param {Object} value Property value
|
||||
*/
|
||||
itemRenderer: function(dt, dd, key, value) {
|
||||
dt.text(key);
|
||||
dd.html(htmlize(value));
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// ------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* An extension of KVListWidget where the data represents a list
|
||||
* of variables
|
||||
*
|
||||
* Options:
|
||||
* - data
|
||||
*/
|
||||
var VariableListWidget = PhpDebugBar.Widgets.VariableListWidget = KVListWidget.extend({
|
||||
|
||||
className: csscls('kvlist varlist'),
|
||||
|
||||
itemRenderer: function(dt, dd, key, value) {
|
||||
$('<span />').attr('title', key).text(key).appendTo(dt);
|
||||
|
||||
var v = value;
|
||||
if (v && v.length > 100) {
|
||||
v = v.substr(0, 100) + "...";
|
||||
}
|
||||
var prettyVal = null;
|
||||
dd.text(v).click(function() {
|
||||
if (dd.hasClass(csscls('pretty'))) {
|
||||
dd.text(v).removeClass(csscls('pretty'));
|
||||
} else {
|
||||
prettyVal = prettyVal || createCodeBlock(value);
|
||||
dd.addClass(csscls('pretty')).empty().append(prettyVal);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// ------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* An extension of KVListWidget where the data represents a list
|
||||
* of variables whose contents are HTML; this is useful for showing
|
||||
* variable output from VarDumper's HtmlDumper.
|
||||
*
|
||||
* Options:
|
||||
* - data
|
||||
*/
|
||||
var HtmlVariableListWidget = PhpDebugBar.Widgets.HtmlVariableListWidget = KVListWidget.extend({
|
||||
|
||||
className: csscls('kvlist htmlvarlist'),
|
||||
|
||||
itemRenderer: function(dt, dd, key, value) {
|
||||
$('<span />').attr('title', $('<i />').html(key || '').text()).html(key || '').appendTo(dt);
|
||||
dd.html(value);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// ------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Iframe widget
|
||||
*
|
||||
* Options:
|
||||
* - data
|
||||
*/
|
||||
var IFrameWidget = PhpDebugBar.Widgets.IFrameWidget = PhpDebugBar.Widget.extend({
|
||||
|
||||
tagName: 'iframe',
|
||||
|
||||
className: csscls('iframe'),
|
||||
|
||||
render: function() {
|
||||
this.$el.attr({
|
||||
seamless: "seamless",
|
||||
border: "0",
|
||||
width: "100%",
|
||||
height: "100%"
|
||||
});
|
||||
this.bindAttr('data', function(url) { this.$el.attr('src', url); });
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
// ------------------------------------------------------------------
|
||||
// Collector specific widgets
|
||||
// ------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Widget for the MessagesCollector
|
||||
*
|
||||
* Uses ListWidget under the hood
|
||||
*
|
||||
* Options:
|
||||
* - data
|
||||
*/
|
||||
var MessagesWidget = PhpDebugBar.Widgets.MessagesWidget = PhpDebugBar.Widget.extend({
|
||||
|
||||
className: csscls('messages'),
|
||||
|
||||
render: function() {
|
||||
var self = this;
|
||||
|
||||
this.$list = new ListWidget({ itemRenderer: function(li, value) {
|
||||
if (value.message_html) {
|
||||
var val = $('<span />').addClass(csscls('value')).html(value.message_html).appendTo(li);
|
||||
} else {
|
||||
var m = value.message;
|
||||
if (m.length > 100) {
|
||||
m = m.substr(0, 100) + "...";
|
||||
}
|
||||
|
||||
var val = $('<span />').addClass(csscls('value')).text(m).appendTo(li);
|
||||
if (!value.is_string || value.message.length > 100) {
|
||||
var prettyVal = value.message;
|
||||
if (!value.is_string) {
|
||||
prettyVal = null;
|
||||
}
|
||||
li.css('cursor', 'pointer').click(function () {
|
||||
if (val.hasClass(csscls('pretty'))) {
|
||||
val.text(m).removeClass(csscls('pretty'));
|
||||
} else {
|
||||
prettyVal = prettyVal || createCodeBlock(value.message, 'php');
|
||||
val.addClass(csscls('pretty')).empty().append(prettyVal);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (value.collector) {
|
||||
$('<span />').addClass(csscls('collector')).text(value.collector).prependTo(li);
|
||||
}
|
||||
if (value.label) {
|
||||
val.addClass(csscls(value.label));
|
||||
$('<span />').addClass(csscls('label')).text(value.label).prependTo(li);
|
||||
}
|
||||
}});
|
||||
|
||||
this.$list.$el.appendTo(this.$el);
|
||||
this.$toolbar = $('<div><i class="phpdebugbar-fa phpdebugbar-fa-search"></i></div>').addClass(csscls('toolbar')).appendTo(this.$el);
|
||||
|
||||
$('<input type="text" aria-label="Search" placeholder="Search" />')
|
||||
.on('change', function() { self.set('search', this.value); })
|
||||
.appendTo(this.$toolbar);
|
||||
|
||||
this.bindAttr('data', function(data) {
|
||||
this.set({ exclude: [], search: '' });
|
||||
this.$toolbar.find(csscls('.filter')).remove();
|
||||
|
||||
var filters = [], self = this;
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
if (!data[i].label || $.inArray(data[i].label, filters) > -1) {
|
||||
continue;
|
||||
}
|
||||
filters.push(data[i].label);
|
||||
$('<a />')
|
||||
.addClass(csscls('filter'))
|
||||
.text(data[i].label)
|
||||
.attr('rel', data[i].label)
|
||||
.on('click', function() { self.onFilterClick(this); })
|
||||
.appendTo(this.$toolbar);
|
||||
}
|
||||
});
|
||||
|
||||
this.bindAttr(['exclude', 'search'], function() {
|
||||
var data = this.get('data'),
|
||||
exclude = this.get('exclude'),
|
||||
search = this.get('search'),
|
||||
caseless = false,
|
||||
fdata = [];
|
||||
|
||||
if (search && search === search.toLowerCase()) {
|
||||
caseless = true;
|
||||
}
|
||||
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
var message = caseless ? data[i].message.toLowerCase() : data[i].message;
|
||||
|
||||
if ((!data[i].label || $.inArray(data[i].label, exclude) === -1) && (!search || message.indexOf(search) > -1)) {
|
||||
fdata.push(data[i]);
|
||||
}
|
||||
}
|
||||
|
||||
this.$list.set('data', fdata);
|
||||
});
|
||||
},
|
||||
|
||||
onFilterClick: function(el) {
|
||||
$(el).toggleClass(csscls('excluded'));
|
||||
|
||||
var excludedLabels = [];
|
||||
this.$toolbar.find(csscls('.filter') + csscls('.excluded')).each(function() {
|
||||
excludedLabels.push(this.rel);
|
||||
});
|
||||
|
||||
this.set('exclude', excludedLabels);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// ------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Widget for the TimeDataCollector
|
||||
*
|
||||
* Options:
|
||||
* - data
|
||||
*/
|
||||
var TimelineWidget = PhpDebugBar.Widgets.TimelineWidget = PhpDebugBar.Widget.extend({
|
||||
|
||||
tagName: 'ul',
|
||||
|
||||
className: csscls('timeline'),
|
||||
|
||||
render: function() {
|
||||
this.bindAttr('data', function(data) {
|
||||
|
||||
// ported from php DataFormatter
|
||||
var formatDuration = function(seconds) {
|
||||
if (seconds < 0.001)
|
||||
return (seconds * 1000000).toFixed() + 'μs';
|
||||
else if (seconds < 1)
|
||||
return (seconds * 1000).toFixed(2) + 'ms';
|
||||
return (seconds).toFixed(2) + 's';
|
||||
};
|
||||
|
||||
// ported from php DataFormatter
|
||||
var formatBytes = function formatBytes(size) {
|
||||
if (size === 0 || size === null) {
|
||||
return '0B';
|
||||
}
|
||||
|
||||
var sign = size < 0 ? '-' : '',
|
||||
size = Math.abs(size),
|
||||
base = Math.log(size) / Math.log(1024),
|
||||
suffixes = ['B', 'KB', 'MB', 'GB', 'TB'];
|
||||
return sign + (Math.round(Math.pow(1024, base - Math.floor(base)) * 100) / 100) + suffixes[Math.floor(base)];
|
||||
}
|
||||
|
||||
this.$el.empty();
|
||||
if (data.measures) {
|
||||
var aggregate = {};
|
||||
|
||||
for (var i = 0; i < data.measures.length; i++) {
|
||||
var measure = data.measures[i];
|
||||
|
||||
if(!aggregate[measure.label])
|
||||
aggregate[measure.label] = { count: 0, duration: 0, memory : 0 };
|
||||
|
||||
aggregate[measure.label]['count'] += 1;
|
||||
aggregate[measure.label]['duration'] += measure.duration;
|
||||
aggregate[measure.label]['memory'] += (measure.memory || 0);
|
||||
|
||||
var m = $('<div />').addClass(csscls('measure')),
|
||||
li = $('<li />'),
|
||||
left = (measure.relative_start * 100 / data.duration).toFixed(2),
|
||||
width = Math.min((measure.duration * 100 / data.duration).toFixed(2), 100 - left);
|
||||
|
||||
m.append($('<span />').addClass(csscls('value')).css({
|
||||
left: left + "%",
|
||||
width: width + "%"
|
||||
}));
|
||||
m.append($('<span />').addClass(csscls('label'))
|
||||
.text(measure.label + " (" + measure.duration_str +(measure.memory ? '/' + measure.memory_str: '') + ")"));
|
||||
|
||||
if (measure.collector) {
|
||||
$('<span />').addClass(csscls('collector')).text(measure.collector).appendTo(m);
|
||||
}
|
||||
|
||||
m.appendTo(li);
|
||||
this.$el.append(li);
|
||||
|
||||
if (measure.params && !$.isEmptyObject(measure.params)) {
|
||||
var table = $('<table><tr><th colspan="2">Params</th></tr></table>').addClass(csscls('params')).appendTo(li);
|
||||
for (var key in measure.params) {
|
||||
if (typeof measure.params[key] !== 'function') {
|
||||
table.append('<tr><td class="' + csscls('name') + '">' + key + '</td><td class="' + csscls('value') +
|
||||
'"><pre><code>' + measure.params[key] + '</code></pre></td></tr>');
|
||||
}
|
||||
}
|
||||
li.css('cursor', 'pointer').click(function() {
|
||||
var table = $(this).find('table');
|
||||
if (table.is(':visible')) {
|
||||
table.hide();
|
||||
} else {
|
||||
table.show();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// convert to array and sort by duration
|
||||
aggregate = $.map(aggregate, function(data, label) {
|
||||
return {
|
||||
label: label,
|
||||
data: data
|
||||
}
|
||||
}).sort(function(a, b) {
|
||||
return b.data.duration - a.data.duration
|
||||
});
|
||||
|
||||
// build table and add
|
||||
var aggregateTable = $('<table></table>').addClass(csscls('params'));
|
||||
$.each(aggregate, function(i, aggregate) {
|
||||
width = Math.min((aggregate.data.duration * 100 / data.duration).toFixed(2), 100);
|
||||
|
||||
aggregateTable.append('<tr><td class="' + csscls('name') + '">' + aggregate.data.count + ' x ' + aggregate.label + ' (' + width + '%)</td><td class="' + csscls('value') + '">' +
|
||||
'<div class="' + csscls('measure') +'">' +
|
||||
'<span class="' + csscls('value') + '"></span>' +
|
||||
'<span class="' + csscls('label') + '">' + formatDuration(aggregate.data.duration) + (aggregate.data.memory ? '/' + formatBytes(aggregate.data.memory) : '') + '</span>' +
|
||||
'</div></td></tr>');
|
||||
aggregateTable.find('span.' + csscls('value') + ':last').css({width: width + "%" });
|
||||
});
|
||||
|
||||
this.$el.append('<li/>').find('li:last').append(aggregateTable);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// ------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Widget for the displaying exceptions
|
||||
*
|
||||
* Options:
|
||||
* - data
|
||||
*/
|
||||
var ExceptionsWidget = PhpDebugBar.Widgets.ExceptionsWidget = PhpDebugBar.Widget.extend({
|
||||
|
||||
className: csscls('exceptions'),
|
||||
|
||||
render: function() {
|
||||
this.$list = new ListWidget({ itemRenderer: function(li, e) {
|
||||
$('<span />').addClass(csscls('message')).text(e.message).appendTo(li);
|
||||
if (e.file) {
|
||||
var header = $('<span />').addClass(csscls('filename')).text(e.file + "#" + e.line);
|
||||
if (e.xdebug_link) {
|
||||
if (e.xdebug_link.ajax) {
|
||||
$('<a title="' + e.xdebug_link.url + '"></a>').on('click', function () {
|
||||
$.ajax(e.xdebug_link.url);
|
||||
}).addClass(csscls('editor-link')).appendTo(header);
|
||||
} else {
|
||||
$('<a href="' + e.xdebug_link.url + '"></a>').addClass(csscls('editor-link')).appendTo(header);
|
||||
}
|
||||
}
|
||||
header.appendTo(li);
|
||||
}
|
||||
if (e.type) {
|
||||
$('<span />').addClass(csscls('type')).text(e.type).appendTo(li);
|
||||
}
|
||||
if (e.surrounding_lines) {
|
||||
var pre = createCodeBlock(e.surrounding_lines.join(""), 'php').addClass(csscls('file')).appendTo(li);
|
||||
if (!e.stack_trace_html) {
|
||||
// This click event makes the var-dumper hard to use.
|
||||
li.click(function () {
|
||||
if (pre.is(':visible')) {
|
||||
pre.hide();
|
||||
} else {
|
||||
pre.show();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
if (e.stack_trace_html) {
|
||||
var $trace = $('<span />').addClass(csscls('filename')).html(e.stack_trace_html);
|
||||
$trace.appendTo(li);
|
||||
} else if (e.stack_trace) {
|
||||
e.stack_trace.split("\n").forEach(function (trace) {
|
||||
var $traceLine = $('<div />');
|
||||
$('<span />').addClass(csscls('filename')).text(trace).appendTo($traceLine);
|
||||
$traceLine.appendTo(li);
|
||||
});
|
||||
}
|
||||
}});
|
||||
this.$list.$el.appendTo(this.$el);
|
||||
|
||||
this.bindAttr('data', function(data) {
|
||||
this.$list.set('data', data);
|
||||
if (data.length == 1) {
|
||||
this.$list.$el.children().first().find(csscls('.file')).show();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
})(PhpDebugBar.$);
|
||||
1
media/vendor/debugbar/widgets.min.css
vendored
Normal file
1
media/vendor/debugbar/widgets.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
media/vendor/debugbar/widgets.min.css.gz
vendored
Normal file
BIN
media/vendor/debugbar/widgets.min.css.gz
vendored
Normal file
Binary file not shown.
1
media/vendor/debugbar/widgets.min.js
vendored
Normal file
1
media/vendor/debugbar/widgets.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
media/vendor/debugbar/widgets.min.js.gz
vendored
Normal file
BIN
media/vendor/debugbar/widgets.min.js.gz
vendored
Normal file
Binary file not shown.
12
media/vendor/debugbar/widgets/mails/widget.css
vendored
Normal file
12
media/vendor/debugbar/widgets/mails/widget.css
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
|
||||
div.phpdebugbar-widgets-mails span.phpdebugbar-widgets-subject {
|
||||
display: block;
|
||||
}
|
||||
|
||||
div.phpdebugbar-widgets-mails li.phpdebugbar-widgets-list-item pre.phpdebugbar-widgets-headers {
|
||||
display: none;
|
||||
margin: 10px;
|
||||
padding: 5px;
|
||||
border: 1px solid #ddd;
|
||||
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
||||
}
|
||||
40
media/vendor/debugbar/widgets/mails/widget.js
vendored
Normal file
40
media/vendor/debugbar/widgets/mails/widget.js
vendored
Normal file
@ -0,0 +1,40 @@
|
||||
(function($) {
|
||||
|
||||
var csscls = PhpDebugBar.utils.makecsscls('phpdebugbar-widgets-');
|
||||
|
||||
/**
|
||||
* Widget for the displaying mails data
|
||||
*
|
||||
* Options:
|
||||
* - data
|
||||
*/
|
||||
var MailsWidget = PhpDebugBar.Widgets.MailsWidget = PhpDebugBar.Widget.extend({
|
||||
|
||||
className: csscls('mails'),
|
||||
|
||||
render: function() {
|
||||
this.$list = new PhpDebugBar.Widgets.ListWidget({ itemRenderer: function(li, mail) {
|
||||
$('<span />').addClass(csscls('subject')).text(mail.subject).appendTo(li);
|
||||
$('<span />').addClass(csscls('to')).text(mail.to).appendTo(li);
|
||||
if (mail.headers) {
|
||||
var headers = $('<pre />').addClass(csscls('headers')).appendTo(li);
|
||||
$('<code />').text(mail.headers).appendTo(headers);
|
||||
li.click(function() {
|
||||
if (headers.is(':visible')) {
|
||||
headers.hide();
|
||||
} else {
|
||||
headers.show();
|
||||
}
|
||||
});
|
||||
}
|
||||
}});
|
||||
this.$list.$el.appendTo(this.$el);
|
||||
|
||||
this.bindAttr('data', function(data) {
|
||||
this.$list.set('data', data);
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
})(PhpDebugBar.$);
|
||||
1
media/vendor/debugbar/widgets/mails/widget.min.css
vendored
Normal file
1
media/vendor/debugbar/widgets/mails/widget.min.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
div.phpdebugbar-widgets-mails span.phpdebugbar-widgets-subject{display:block}div.phpdebugbar-widgets-mails li.phpdebugbar-widgets-list-item pre.phpdebugbar-widgets-headers{border:1px solid #ddd;display:none;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;margin:10px;padding:5px}
|
||||
BIN
media/vendor/debugbar/widgets/mails/widget.min.css.gz
vendored
Normal file
BIN
media/vendor/debugbar/widgets/mails/widget.min.css.gz
vendored
Normal file
Binary file not shown.
1
media/vendor/debugbar/widgets/mails/widget.min.js
vendored
Normal file
1
media/vendor/debugbar/widgets/mails/widget.min.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
!function(e){var t=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-");PhpDebugBar.Widgets.MailsWidget=PhpDebugBar.Widget.extend({className:t("mails"),render:function(){this.$list=new PhpDebugBar.Widgets.ListWidget({itemRenderer:function(s,a){if(e("<span />").addClass(t("subject")).text(a.subject).appendTo(s),e("<span />").addClass(t("to")).text(a.to).appendTo(s),a.headers){var i=e("<pre />").addClass(t("headers")).appendTo(s);e("<code />").text(a.headers).appendTo(i),s.click((function(){i.is(":visible")?i.hide():i.show()}))}}}),this.$list.$el.appendTo(this.$el),this.bindAttr("data",(function(e){this.$list.set("data",e)}))}})}(PhpDebugBar.$);
|
||||
BIN
media/vendor/debugbar/widgets/mails/widget.min.js.gz
vendored
Normal file
BIN
media/vendor/debugbar/widgets/mails/widget.min.js.gz
vendored
Normal file
Binary file not shown.
118
media/vendor/debugbar/widgets/sqlqueries/widget.css
vendored
Normal file
118
media/vendor/debugbar/widgets/sqlqueries/widget.css
vendored
Normal file
@ -0,0 +1,118 @@
|
||||
div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-status {
|
||||
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
||||
padding: 6px 6px;
|
||||
border-bottom: 1px solid #ddd;
|
||||
font-weight: bold;
|
||||
color: #555;
|
||||
background: #fafafa;
|
||||
}
|
||||
|
||||
div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-error {
|
||||
color: red;
|
||||
}
|
||||
|
||||
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database,
|
||||
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration,
|
||||
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory,
|
||||
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count,
|
||||
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard,
|
||||
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id {
|
||||
float: right;
|
||||
margin-left: 8px;
|
||||
color: #888;
|
||||
}
|
||||
div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-database,
|
||||
div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-duration,
|
||||
div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-memory,
|
||||
div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-row-count,
|
||||
div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-copy-clipboard,
|
||||
div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-stmt-id {
|
||||
color: #555;
|
||||
}
|
||||
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database:before,
|
||||
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration:before,
|
||||
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory:before,
|
||||
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count:before,
|
||||
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard:before,
|
||||
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id:before {
|
||||
font-family: PhpDebugbarFontAwesome;
|
||||
margin-right: 4px;
|
||||
font-size: 12px;
|
||||
}
|
||||
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database:before {
|
||||
content: "\f1c0";
|
||||
}
|
||||
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration:before {
|
||||
content: "\f017";
|
||||
}
|
||||
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory:before {
|
||||
content: "\f085";
|
||||
}
|
||||
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count:before {
|
||||
content: "\f0ce";
|
||||
}
|
||||
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id:before {
|
||||
content: "\f08d";
|
||||
}
|
||||
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard:before {
|
||||
content: "\f0c5";
|
||||
}
|
||||
div.phpdebugbar-widgets-sqlqueries table.phpdebugbar-widgets-params {
|
||||
display: none;
|
||||
width: 70%;
|
||||
margin: 10px;
|
||||
border: 1px solid #ddd;
|
||||
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
div.phpdebugbar-widgets-sqlqueries table.phpdebugbar-widgets-params td {
|
||||
border: 1px solid #ddd;
|
||||
text-align: center;
|
||||
}
|
||||
div.phpdebugbar-widgets-sqlqueries table.phpdebugbar-widgets-params .phpdebugbar-widgets-name {
|
||||
width: 20%;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-error {
|
||||
display: block;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
code.phpdebugbar-widgets-sql {
|
||||
white-space: pre-wrap;
|
||||
overflow-wrap: break-word;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-duplicate {
|
||||
background-color: #edeff0;
|
||||
}
|
||||
|
||||
div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-duplicate:hover {
|
||||
background-color: #ffc;
|
||||
}
|
||||
|
||||
div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar {
|
||||
display:none;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
background: #fff;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter {
|
||||
float: right;
|
||||
font-size: 12px;
|
||||
padding: 2px 4px;
|
||||
background: #7cacd5;
|
||||
margin: 0 2px;
|
||||
border-radius: 4px;
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
}
|
||||
div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter.phpdebugbar-widgets-excluded {
|
||||
background: #eee;
|
||||
color: #888;
|
||||
}
|
||||
171
media/vendor/debugbar/widgets/sqlqueries/widget.js
vendored
Normal file
171
media/vendor/debugbar/widgets/sqlqueries/widget.js
vendored
Normal file
@ -0,0 +1,171 @@
|
||||
(function($) {
|
||||
|
||||
var csscls = PhpDebugBar.utils.makecsscls('phpdebugbar-widgets-');
|
||||
|
||||
/**
|
||||
* Widget for the displaying sql queries
|
||||
*
|
||||
* Options:
|
||||
* - data
|
||||
*/
|
||||
var SQLQueriesWidget = PhpDebugBar.Widgets.SQLQueriesWidget = PhpDebugBar.Widget.extend({
|
||||
|
||||
className: csscls('sqlqueries'),
|
||||
|
||||
onFilterClick: function(el) {
|
||||
$(el).toggleClass(csscls('excluded'));
|
||||
|
||||
var excludedLabels = [];
|
||||
this.$toolbar.find(csscls('.filter') + csscls('.excluded')).each(function() {
|
||||
excludedLabels.push(this.rel);
|
||||
});
|
||||
|
||||
this.$list.$el.find("li[connection=" + $(el).attr("rel") + "]").toggle();
|
||||
|
||||
this.set('exclude', excludedLabels);
|
||||
},
|
||||
onCopyToClipboard: function (el) {
|
||||
var code = $(el).parent('li').find('code').get(0);
|
||||
var copy = function () {
|
||||
try {
|
||||
document.execCommand('copy');
|
||||
alert('Query copied to the clipboard');
|
||||
} catch (err) {
|
||||
console.log('Oops, unable to copy');
|
||||
}
|
||||
};
|
||||
var select = function (node) {
|
||||
if (document.selection) {
|
||||
var range = document.body.createTextRange();
|
||||
range.moveToElementText(node);
|
||||
range.select();
|
||||
} else if (window.getSelection) {
|
||||
var range = document.createRange();
|
||||
range.selectNodeContents(node);
|
||||
window.getSelection().removeAllRanges();
|
||||
window.getSelection().addRange(range);
|
||||
}
|
||||
copy();
|
||||
window.getSelection().removeAllRanges();
|
||||
};
|
||||
select(code);
|
||||
},
|
||||
render: function() {
|
||||
this.$status = $('<div />').addClass(csscls('status')).appendTo(this.$el);
|
||||
|
||||
this.$toolbar = $('<div></div>').addClass(csscls('toolbar')).appendTo(this.$el);
|
||||
|
||||
var filters = [], self = this;
|
||||
|
||||
this.$list = new PhpDebugBar.Widgets.ListWidget({ itemRenderer: function(li, stmt) {
|
||||
$('<code />').addClass(csscls('sql')).html(PhpDebugBar.Widgets.highlight(stmt.sql, 'sql')).appendTo(li);
|
||||
if (stmt.duration_str) {
|
||||
$('<span title="Duration" />').addClass(csscls('duration')).text(stmt.duration_str).appendTo(li);
|
||||
}
|
||||
if (stmt.memory_str) {
|
||||
$('<span title="Memory usage" />').addClass(csscls('memory')).text(stmt.memory_str).appendTo(li);
|
||||
}
|
||||
if (typeof(stmt.row_count) != 'undefined') {
|
||||
$('<span title="Row count" />').addClass(csscls('row-count')).text(stmt.row_count).appendTo(li);
|
||||
}
|
||||
if (typeof(stmt.stmt_id) != 'undefined' && stmt.stmt_id) {
|
||||
$('<span title="Prepared statement ID" />').addClass(csscls('stmt-id')).text(stmt.stmt_id).appendTo(li);
|
||||
}
|
||||
if (stmt.connection) {
|
||||
$('<span title="Connection" />').addClass(csscls('database')).text(stmt.connection).appendTo(li);
|
||||
li.attr("connection",stmt.connection);
|
||||
if ( $.inArray(stmt.connection, filters) == -1 ) {
|
||||
filters.push(stmt.connection);
|
||||
$('<a />')
|
||||
.addClass(csscls('filter'))
|
||||
.text(stmt.connection)
|
||||
.attr('rel', stmt.connection)
|
||||
.on('click', function() { self.onFilterClick(this); })
|
||||
.appendTo(self.$toolbar);
|
||||
if (filters.length>1) {
|
||||
self.$toolbar.show();
|
||||
self.$list.$el.css("margin-bottom","20px");
|
||||
}
|
||||
}
|
||||
}
|
||||
if (typeof(stmt.is_success) != 'undefined' && !stmt.is_success) {
|
||||
li.addClass(csscls('error'));
|
||||
li.append($('<span />').addClass(csscls('error')).text("[" + stmt.error_code + "] " + stmt.error_message));
|
||||
}
|
||||
$('<span title="Copy to clipboard" />')
|
||||
.addClass(csscls('copy-clipboard'))
|
||||
.css('cursor', 'pointer')
|
||||
.on('click', function (event) {
|
||||
self.onCopyToClipboard(this);
|
||||
event.stopPropagation();
|
||||
})
|
||||
.appendTo(li);
|
||||
if (stmt.params && !$.isEmptyObject(stmt.params)) {
|
||||
var table = $('<table><tr><th colspan="2">Params</th></tr></table>').addClass(csscls('params')).appendTo(li);
|
||||
for (var key in stmt.params) {
|
||||
if (typeof stmt.params[key] !== 'function') {
|
||||
table.append('<tr><td class="' + csscls('name') + '">' + key + '</td><td class="' + csscls('value') +
|
||||
'">' + stmt.params[key] + '</td></tr>');
|
||||
}
|
||||
}
|
||||
li.css('cursor', 'pointer').click(function() {
|
||||
if (table.is(':visible')) {
|
||||
table.hide();
|
||||
} else {
|
||||
table.show();
|
||||
}
|
||||
});
|
||||
}
|
||||
}});
|
||||
this.$list.$el.appendTo(this.$el);
|
||||
|
||||
this.bindAttr('data', function(data) {
|
||||
// the PDO collector maybe is empty
|
||||
if (data.length <= 0) {
|
||||
return false;
|
||||
}
|
||||
this.$list.set('data', data.statements);
|
||||
this.$status.empty();
|
||||
|
||||
// Search for duplicate statements.
|
||||
for (var sql = {}, unique = 0, duplicate = 0, i = 0; i < data.statements.length; i++) {
|
||||
var stmt = data.statements[i].sql;
|
||||
if (data.statements[i].params && !$.isEmptyObject(data.statements[i].params)) {
|
||||
stmt += ' {' + $.param(data.statements[i].params, false) + '}';
|
||||
}
|
||||
sql[stmt] = sql[stmt] || { keys: [] };
|
||||
sql[stmt].keys.push(i);
|
||||
}
|
||||
// Add classes to all duplicate SQL statements.
|
||||
for (var stmt in sql) {
|
||||
if (sql[stmt].keys.length > 1) {
|
||||
duplicate += sql[stmt].keys.length;
|
||||
for (var i = 0; i < sql[stmt].keys.length; i++) {
|
||||
this.$list.$el.find('.' + csscls('list-item')).eq(sql[stmt].keys[i])
|
||||
.addClass(csscls('sql-duplicate'));
|
||||
}
|
||||
} else {
|
||||
unique++;
|
||||
}
|
||||
}
|
||||
|
||||
var t = $('<span />').text(data.nb_statements + " statements were executed").appendTo(this.$status);
|
||||
if (data.nb_failed_statements) {
|
||||
t.append(", " + data.nb_failed_statements + " of which failed");
|
||||
}
|
||||
if (duplicate) {
|
||||
t.append(", " + duplicate + " of which were duplicates");
|
||||
t.append(", " + unique + " unique");
|
||||
}
|
||||
if (data.accumulated_duration_str) {
|
||||
this.$status.append($('<span title="Accumulated duration" />').addClass(csscls('duration')).text(data.accumulated_duration_str));
|
||||
}
|
||||
if (data.memory_usage_str) {
|
||||
this.$status.append($('<span title="Memory usage" />').addClass(csscls('memory')).text(data.memory_usage_str));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
})(PhpDebugBar.$);
|
||||
1
media/vendor/debugbar/widgets/sqlqueries/widget.min.css
vendored
Normal file
1
media/vendor/debugbar/widgets/sqlqueries/widget.min.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-status{background:#fafafa;border-bottom:1px solid #ddd;color:#555;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-weight:700;padding:6px}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-error{color:red}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id{color:#888;float:right;margin-left:8px}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-copy-clipboard,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-database,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-duration,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-row-count,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-stmt-id{color:#555}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id:before{font-family:PhpDebugbarFontAwesome;font-size:12px;margin-right:4px}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database:before{content:"\f1c0"}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration:before{content:"\f017"}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory:before{content:"\f085"}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count:before{content:"\f0ce"}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id:before{content:"\f08d"}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard:before{content:"\f0c5"}div.phpdebugbar-widgets-sqlqueries table.phpdebugbar-widgets-params{border:1px solid #ddd;border-collapse:collapse;display:none;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;margin:10px;width:70%}div.phpdebugbar-widgets-sqlqueries table.phpdebugbar-widgets-params td{border:1px solid #ddd;text-align:center}div.phpdebugbar-widgets-sqlqueries table.phpdebugbar-widgets-params .phpdebugbar-widgets-name{font-weight:700;width:20%}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-error{display:block;font-weight:700}code.phpdebugbar-widgets-sql{word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-duplicate{background-color:#edeff0}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-duplicate:hover{background-color:#ffc}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar{background:#fff;bottom:0;display:none;position:fixed;width:100%;z-index:1}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter{background:#7cacd5;border-radius:4px;color:#fff;float:right;font-size:12px;margin:0 2px;padding:2px 4px;text-decoration:none}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter.phpdebugbar-widgets-excluded{background:#eee;color:#888}
|
||||
BIN
media/vendor/debugbar/widgets/sqlqueries/widget.min.css.gz
vendored
Normal file
BIN
media/vendor/debugbar/widgets/sqlqueries/widget.min.css.gz
vendored
Normal file
Binary file not shown.
1
media/vendor/debugbar/widgets/sqlqueries/widget.min.js
vendored
Normal file
1
media/vendor/debugbar/widgets/sqlqueries/widget.min.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
!function(t){var e=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-");PhpDebugBar.Widgets.SQLQueriesWidget=PhpDebugBar.Widget.extend({className:e("sqlqueries"),onFilterClick:function(s){t(s).toggleClass(e("excluded"));var a=[];this.$toolbar.find(e(".filter")+e(".excluded")).each((function(){a.push(this.rel)})),this.$list.$el.find("li[connection="+t(s).attr("rel")+"]").toggle(),this.set("exclude",a)},onCopyToClipboard:function(e){var s=t(e).parent("li").find("code").get(0);!function(t){if(document.selection)(e=document.body.createTextRange()).moveToElementText(t),e.select();else if(window.getSelection){var e;(e=document.createRange()).selectNodeContents(t),window.getSelection().removeAllRanges(),window.getSelection().addRange(e)}!function(){try{document.execCommand("copy"),alert("Query copied to the clipboard")}catch(t){console.log("Oops, unable to copy")}}(),window.getSelection().removeAllRanges()}(s)},render:function(){this.$status=t("<div />").addClass(e("status")).appendTo(this.$el),this.$toolbar=t("<div></div>").addClass(e("toolbar")).appendTo(this.$el);var s=[],a=this;this.$list=new PhpDebugBar.Widgets.ListWidget({itemRenderer:function(n,o){if(t("<code />").addClass(e("sql")).html(PhpDebugBar.Widgets.highlight(o.sql,"sql")).appendTo(n),o.duration_str&&t('<span title="Duration" />').addClass(e("duration")).text(o.duration_str).appendTo(n),o.memory_str&&t('<span title="Memory usage" />').addClass(e("memory")).text(o.memory_str).appendTo(n),void 0!==o.row_count&&t('<span title="Row count" />').addClass(e("row-count")).text(o.row_count).appendTo(n),void 0!==o.stmt_id&&o.stmt_id&&t('<span title="Prepared statement ID" />').addClass(e("stmt-id")).text(o.stmt_id).appendTo(n),o.connection&&(t('<span title="Connection" />').addClass(e("database")).text(o.connection).appendTo(n),n.attr("connection",o.connection),-1==t.inArray(o.connection,s)&&(s.push(o.connection),t("<a />").addClass(e("filter")).text(o.connection).attr("rel",o.connection).on("click",(function(){a.onFilterClick(this)})).appendTo(a.$toolbar),s.length>1&&(a.$toolbar.show(),a.$list.$el.css("margin-bottom","20px")))),void 0===o.is_success||o.is_success||(n.addClass(e("error")),n.append(t("<span />").addClass(e("error")).text("["+o.error_code+"] "+o.error_message))),t('<span title="Copy to clipboard" />').addClass(e("copy-clipboard")).css("cursor","pointer").on("click",(function(t){a.onCopyToClipboard(this),t.stopPropagation()})).appendTo(n),o.params&&!t.isEmptyObject(o.params)){var i=t('<table><tr><th colspan="2">Params</th></tr></table>').addClass(e("params")).appendTo(n);for(var d in o.params)"function"!=typeof o.params[d]&&i.append('<tr><td class="'+e("name")+'">'+d+'</td><td class="'+e("value")+'">'+o.params[d]+"</td></tr>");n.css("cursor","pointer").click((function(){i.is(":visible")?i.hide():i.show()}))}}}),this.$list.$el.appendTo(this.$el),this.bindAttr("data",(function(s){if(s.length<=0)return!1;this.$list.set("data",s.statements),this.$status.empty();for(var a={},n=0,o=0,i=0;i<s.statements.length;i++){var d=s.statements[i].sql;s.statements[i].params&&!t.isEmptyObject(s.statements[i].params)&&(d+=" {"+t.param(s.statements[i].params,!1)+"}"),a[d]=a[d]||{keys:[]},a[d].keys.push(i)}for(var d in a)if(a[d].keys.length>1){o+=a[d].keys.length;for(i=0;i<a[d].keys.length;i++)this.$list.$el.find("."+e("list-item")).eq(a[d].keys[i]).addClass(e("sql-duplicate"))}else n++;var r=t("<span />").text(s.nb_statements+" statements were executed").appendTo(this.$status);s.nb_failed_statements&&r.append(", "+s.nb_failed_statements+" of which failed"),o&&(r.append(", "+o+" of which were duplicates"),r.append(", "+n+" unique")),s.accumulated_duration_str&&this.$status.append(t('<span title="Accumulated duration" />').addClass(e("duration")).text(s.accumulated_duration_str)),s.memory_usage_str&&this.$status.append(t('<span title="Memory usage" />').addClass(e("memory")).text(s.memory_usage_str))}))}})}(PhpDebugBar.$);
|
||||
BIN
media/vendor/debugbar/widgets/sqlqueries/widget.min.js.gz
vendored
Normal file
BIN
media/vendor/debugbar/widgets/sqlqueries/widget.min.js.gz
vendored
Normal file
Binary file not shown.
73
media/vendor/debugbar/widgets/templates/widget.css
vendored
Normal file
73
media/vendor/debugbar/widgets/templates/widget.css
vendored
Normal file
@ -0,0 +1,73 @@
|
||||
|
||||
div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status {
|
||||
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
||||
padding: 6px 6px;
|
||||
border-bottom: 1px solid #ddd;
|
||||
font-weight: bold;
|
||||
color: #555;
|
||||
background: #fafafa;
|
||||
}
|
||||
|
||||
div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render-time,
|
||||
div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-memory,
|
||||
div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-param-count,
|
||||
div.phpdebugbar-widgets-templates a.phpdebugbar-widgets-editor-link,
|
||||
div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-type {
|
||||
float: right;
|
||||
margin-left: 8px;
|
||||
color: #888;
|
||||
}
|
||||
div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-render-time,
|
||||
div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-memory,
|
||||
div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-param-count,
|
||||
div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status a.phpdebugbar-widgets-editor-link,
|
||||
div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-type {
|
||||
color: #555;
|
||||
}
|
||||
div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render-time:before,
|
||||
div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-memory:before,
|
||||
div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-param-count:before,
|
||||
div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-type:before,
|
||||
div.phpdebugbar-widgets-templates a.phpdebugbar-widgets-editor-link:before,
|
||||
div.phpdebugbar-widgets-templates a.phpdebugbar-widgets-editor-link:before
|
||||
{
|
||||
font-family: PhpDebugbarFontAwesome;
|
||||
margin-right: 4px;
|
||||
font-size: 12px;
|
||||
}
|
||||
div.phpdebugbar-widgets-templates a.phpdebugbar-widgets-editor-link:hover
|
||||
{
|
||||
color: #aaaaaa;
|
||||
}
|
||||
div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render-time:before {
|
||||
content: "\f017";
|
||||
}
|
||||
div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-memory:before {
|
||||
content: "\f085";
|
||||
}
|
||||
div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-param-count:before {
|
||||
content: "\f0ce";
|
||||
}
|
||||
div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-type:before {
|
||||
content: "\f121";
|
||||
}
|
||||
div.phpdebugbar-widgets-templates a.phpdebugbar-widgets-editor-link:before {
|
||||
content: "\f08e";
|
||||
margin-left: 4px;
|
||||
}
|
||||
div.phpdebugbar-widgets-templates table.phpdebugbar-widgets-params {
|
||||
display: none;
|
||||
width: 70%;
|
||||
margin: 10px;
|
||||
border: 1px solid #ddd;
|
||||
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
div.phpdebugbar-widgets-templates table.phpdebugbar-widgets-params td {
|
||||
border: 1px solid #ddd;
|
||||
padding: 0 5px;
|
||||
}
|
||||
div.phpdebugbar-widgets-templates table.phpdebugbar-widgets-params .phpdebugbar-widgets-name {
|
||||
width: 20%;
|
||||
font-weight: bold;
|
||||
}
|
||||
98
media/vendor/debugbar/widgets/templates/widget.js
vendored
Normal file
98
media/vendor/debugbar/widgets/templates/widget.js
vendored
Normal file
@ -0,0 +1,98 @@
|
||||
(function($) {
|
||||
|
||||
var csscls = PhpDebugBar.utils.makecsscls('phpdebugbar-widgets-');
|
||||
|
||||
/**
|
||||
* Widget for the displaying templates data
|
||||
*
|
||||
* Options:
|
||||
* - data
|
||||
*/
|
||||
var TemplatesWidget = PhpDebugBar.Widgets.TemplatesWidget = PhpDebugBar.Widget.extend({
|
||||
|
||||
className: csscls('templates'),
|
||||
|
||||
render: function() {
|
||||
this.$status = $('<div />').addClass(csscls('status')).appendTo(this.$el);
|
||||
|
||||
this.$list = new PhpDebugBar.Widgets.ListWidget({ itemRenderer: function(li, tpl) {
|
||||
$('<span />').addClass(csscls('name')).text(tpl.name).appendTo(li);
|
||||
|
||||
if (typeof tpl.xdebug_link !== 'undefined' && tpl.xdebug_link !== null) {
|
||||
if (tpl.xdebug_link.ajax) {
|
||||
$('<a title="' + tpl.xdebug_link.url + '"></a>').on('click', function (event) {
|
||||
event.stopPropagation();
|
||||
$.ajax(tpl.xdebug_link.url);
|
||||
}).addClass(csscls('editor-link')).appendTo(li);
|
||||
} else {
|
||||
$('<a href="' + tpl.xdebug_link.url + '"></a>').on('click', function (event) {
|
||||
event.stopPropagation();
|
||||
}).addClass(csscls('editor-link')).appendTo(li);
|
||||
}
|
||||
}
|
||||
if (tpl.render_time_str) {
|
||||
$('<span title="Render time" />').addClass(csscls('render-time')).text(tpl.render_time_str).appendTo(li);
|
||||
}
|
||||
if (tpl.memory_str) {
|
||||
$('<span title="Memory usage" />').addClass(csscls('memory')).text(tpl.memory_str).appendTo(li);
|
||||
}
|
||||
if (typeof(tpl.param_count) != 'undefined') {
|
||||
$('<span title="Parameter count" />').addClass(csscls('param-count')).text(tpl.param_count).appendTo(li);
|
||||
}
|
||||
if (typeof(tpl.type) != 'undefined' && tpl.type) {
|
||||
$('<span title="Type" />').addClass(csscls('type')).text(tpl.type).appendTo(li);
|
||||
}
|
||||
if (typeof(tpl.editorLink) != 'undefined' && tpl.editorLink) {
|
||||
$('<a href="'+ tpl.editorLink +'" />').on('click', function (event) {
|
||||
event.stopPropagation();
|
||||
}).addClass(csscls('editor-link')).text('file').appendTo(li);
|
||||
}
|
||||
if (tpl.params && !$.isEmptyObject(tpl.params)) {
|
||||
var table = $('<table><tr><th colspan="2">Params</th></tr></table>').addClass(csscls('params')).appendTo(li);
|
||||
for (var key in tpl.params) {
|
||||
if (typeof tpl.params[key] !== 'function') {
|
||||
table.append('<tr><td class="' + csscls('name') + '">' + key + '</td><td class="' + csscls('value') +
|
||||
'"><pre><code>' + tpl.params[key] + '</code></pre></td></tr>');
|
||||
}
|
||||
}
|
||||
li.css('cursor', 'pointer').click(function() {
|
||||
if (table.is(':visible')) {
|
||||
table.hide();
|
||||
} else {
|
||||
table.show();
|
||||
}
|
||||
});
|
||||
}
|
||||
}});
|
||||
this.$list.$el.appendTo(this.$el);
|
||||
this.$callgraph = $('<div />').addClass(csscls('callgraph')).appendTo(this.$el);
|
||||
|
||||
this.bindAttr('data', function(data) {
|
||||
this.$list.set('data', data.templates);
|
||||
this.$status.empty();
|
||||
this.$callgraph.empty();
|
||||
|
||||
var sentence = data.sentence || "templates were rendered";
|
||||
$('<span />').text(data.nb_templates + " " + sentence).appendTo(this.$status);
|
||||
|
||||
if (data.accumulated_render_time_str) {
|
||||
this.$status.append($('<span title="Accumulated render time" />').addClass(csscls('render-time')).text(data.accumulated_render_time_str));
|
||||
}
|
||||
if (data.memory_usage_str) {
|
||||
this.$status.append($('<span title="Memory usage" />').addClass(csscls('memory')).text(data.memory_usage_str));
|
||||
}
|
||||
if (data.nb_blocks > 0) {
|
||||
$('<div />').text(data.nb_blocks + " blocks were rendered").appendTo(this.$status);
|
||||
}
|
||||
if (data.nb_macros > 0) {
|
||||
$('<div />').text(data.nb_macros + " macros were rendered").appendTo(this.$status);
|
||||
}
|
||||
if (typeof data.callgraph !== 'undefined') {
|
||||
this.$callgraph.html(data.callgraph);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
})(PhpDebugBar.$);
|
||||
1
media/vendor/debugbar/widgets/templates/widget.min.css
vendored
Normal file
1
media/vendor/debugbar/widgets/templates/widget.min.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status{background:#fafafa;border-bottom:1px solid #ddd;color:#555;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-weight:700;padding:6px}div.phpdebugbar-widgets-templates a.phpdebugbar-widgets-editor-link,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-param-count,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render-time,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-type{color:#888;float:right;margin-left:8px}div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status a.phpdebugbar-widgets-editor-link,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-param-count,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-render-time,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-type{color:#555}div.phpdebugbar-widgets-templates a.phpdebugbar-widgets-editor-link:before,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-memory:before,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-param-count:before,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render-time:before,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-type:before{font-family:PhpDebugbarFontAwesome;font-size:12px;margin-right:4px}div.phpdebugbar-widgets-templates a.phpdebugbar-widgets-editor-link:hover{color:#aaa}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render-time:before{content:"\f017"}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-memory:before{content:"\f085"}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-param-count:before{content:"\f0ce"}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-type:before{content:"\f121"}div.phpdebugbar-widgets-templates a.phpdebugbar-widgets-editor-link:before{content:"\f08e";margin-left:4px}div.phpdebugbar-widgets-templates table.phpdebugbar-widgets-params{border:1px solid #ddd;border-collapse:collapse;display:none;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;margin:10px;width:70%}div.phpdebugbar-widgets-templates table.phpdebugbar-widgets-params td{border:1px solid #ddd;padding:0 5px}div.phpdebugbar-widgets-templates table.phpdebugbar-widgets-params .phpdebugbar-widgets-name{font-weight:700;width:20%}
|
||||
BIN
media/vendor/debugbar/widgets/templates/widget.min.css.gz
vendored
Normal file
BIN
media/vendor/debugbar/widgets/templates/widget.min.css.gz
vendored
Normal file
Binary file not shown.
1
media/vendor/debugbar/widgets/templates/widget.min.js
vendored
Normal file
1
media/vendor/debugbar/widgets/templates/widget.min.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
!function(e){var t=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-");PhpDebugBar.Widgets.TemplatesWidget=PhpDebugBar.Widget.extend({className:t("templates"),render:function(){this.$status=e("<div />").addClass(t("status")).appendTo(this.$el),this.$list=new PhpDebugBar.Widgets.ListWidget({itemRenderer:function(a,s){if(e("<span />").addClass(t("name")).text(s.name).appendTo(a),void 0!==s.xdebug_link&&null!==s.xdebug_link&&(s.xdebug_link.ajax?e('<a title="'+s.xdebug_link.url+'"></a>').on("click",(function(t){t.stopPropagation(),e.ajax(s.xdebug_link.url)})).addClass(t("editor-link")).appendTo(a):e('<a href="'+s.xdebug_link.url+'"></a>').on("click",(function(e){e.stopPropagation()})).addClass(t("editor-link")).appendTo(a)),s.render_time_str&&e('<span title="Render time" />').addClass(t("render-time")).text(s.render_time_str).appendTo(a),s.memory_str&&e('<span title="Memory usage" />').addClass(t("memory")).text(s.memory_str).appendTo(a),void 0!==s.param_count&&e('<span title="Parameter count" />').addClass(t("param-count")).text(s.param_count).appendTo(a),void 0!==s.type&&s.type&&e('<span title="Type" />').addClass(t("type")).text(s.type).appendTo(a),void 0!==s.editorLink&&s.editorLink&&e('<a href="'+s.editorLink+'" />').on("click",(function(e){e.stopPropagation()})).addClass(t("editor-link")).text("file").appendTo(a),s.params&&!e.isEmptyObject(s.params)){var d=e('<table><tr><th colspan="2">Params</th></tr></table>').addClass(t("params")).appendTo(a);for(var r in s.params)"function"!=typeof s.params[r]&&d.append('<tr><td class="'+t("name")+'">'+r+'</td><td class="'+t("value")+'"><pre><code>'+s.params[r]+"</code></pre></td></tr>");a.css("cursor","pointer").click((function(){d.is(":visible")?d.hide():d.show()}))}}}),this.$list.$el.appendTo(this.$el),this.$callgraph=e("<div />").addClass(t("callgraph")).appendTo(this.$el),this.bindAttr("data",(function(a){this.$list.set("data",a.templates),this.$status.empty(),this.$callgraph.empty();var s=a.sentence||"templates were rendered";e("<span />").text(a.nb_templates+" "+s).appendTo(this.$status),a.accumulated_render_time_str&&this.$status.append(e('<span title="Accumulated render time" />').addClass(t("render-time")).text(a.accumulated_render_time_str)),a.memory_usage_str&&this.$status.append(e('<span title="Memory usage" />').addClass(t("memory")).text(a.memory_usage_str)),a.nb_blocks>0&&e("<div />").text(a.nb_blocks+" blocks were rendered").appendTo(this.$status),a.nb_macros>0&&e("<div />").text(a.nb_macros+" macros were rendered").appendTo(this.$status),void 0!==a.callgraph&&this.$callgraph.html(a.callgraph)}))}})}(PhpDebugBar.$);
|
||||
BIN
media/vendor/debugbar/widgets/templates/widget.min.js.gz
vendored
Normal file
BIN
media/vendor/debugbar/widgets/templates/widget.min.js.gz
vendored
Normal file
Binary file not shown.
Reference in New Issue
Block a user