ACC SHELL
<?php
/**
* Debugger bluescreen template.
*
* This file is part of the Tracy (http://tracy.nette.org)
* Copyright (c) 2004 David Grudl (http://davidgrudl.com)
*
* @param array $exception
* @param array $panels
* @param array $info
* @return void
*/
namespace Tracy;
use Tracy;
$title = ($exception instanceof \ErrorException && isset(Debugger::$errorTypes[$exception->getSeverity()])) ? Debugger::$errorTypes[$exception->getSeverity()] : get_class($exception);
$counter = 0;
?><!DOCTYPE html><!-- "' --></script></style></pre></xmp></table></a></abbr></address></article></aside></audio></b></bdi></bdo></blockquote></button></canvas></caption></cite></code></datalist></del></details></dfn></div></dl></em></fieldset></figcaption></figure></footer></form></h1></h2></h3></h4></h5></h6></header></hgroup></i></iframe></ins></kbd></label></legend></map></mark></menu></meter></nav></noscript></object></ol></optgroup></output></progress></q></rp></rt></ruby></s></samp></section></select></small></span></strong></sub></summary></sup></textarea></time></title></tr></u></ul></var></video>
<html>
<head>
<meta charset="utf-8">
<meta name="robots" content="noindex">
<meta name="generator" content="Tracy by Nette Framework">
<title><?php echo htmlspecialchars($title) ?></title><!-- <?php
$ex = $exception; echo htmlspecialchars($ex->getMessage() . ($ex->getCode() ? ' #' . $ex->getCode() : ''), ENT_IGNORE);
while ($ex = $ex->getPrevious()) echo htmlspecialchars('; caused by ' . get_class($ex) . ' ' . $ex->getMessage() . ($ex->getCode() ? ' #' . $ex->getCode() : ''), ENT_IGNORE);
?> -->
<style type="text/css" class="tracy-debug">
<?php echo preg_replace('#[\r\n\t ]+#', ' ', file_get_contents(__DIR__ . '/bluescreen.css')) ?>
</style>
<script>document.documentElement.className+=' tracy-js'</script>
</head>
<body>
<div id="tracyBluescreen">
<a id="tracyBluescreenIcon" href="#" class="tracy-toggle"></a>
<div>
<div id="tracyBluescreenError" class="panel">
<h1><?php echo htmlspecialchars($title), ($exception->getCode() ? ' #' . $exception->getCode() : '') ?></h1>
<p><?php echo htmlspecialchars($exception->getMessage(), ENT_IGNORE) ?> <a href="https://www.google.com/search?sourceid=tracy&q=<?php echo urlencode($title . ' ' . preg_replace('#\'.*\'|".*"#Us', '', $exception->getMessage())) ?>" id="tracyBsSearch" rel="noreferrer">search►</a></p>
</div>
<?php if ($prev = $exception->getPrevious()): ?>
<div class="caused">
<a href="#tracyCaused">Caused by <?php echo get_class($prev) ?></a>
</div>
<?php endif ?>
<?php $ex = $exception; $level = 0; ?>
<?php do { ?>
<?php if ($level++): ?>
<div class="panel"<?php if ($level === 2) echo ' id="tracyCaused"' ?>>
<h2><a href="#tracyBsPnl<?php echo ++$counter ?>" class="tracy-toggle<?php echo ($collapsed = $level > 2) ? ' tracy-collapsed' : '' ?>">Caused by</a></h2>
<div id="tracyBsPnl<?php echo $counter ?>" class="<?php echo $collapsed ? 'tracy-collapsed ' : '' ?>inner">
<div class="panel">
<h1><?php echo htmlspecialchars(get_class($ex) . ($ex->getCode() ? ' #' . $ex->getCode() : '')) ?></h1>
<p><b><?php echo htmlspecialchars($ex->getMessage(), ENT_IGNORE) ?></b></p>
</div>
<?php endif ?>
<?php foreach ($panels as $panel): ?>
<?php $panel = call_user_func($panel, $ex); if (empty($panel['tab']) || empty($panel['panel'])) continue; ?>
<?php if (!empty($panel['bottom'])) { continue; } ?>
<div class="panel">
<h2><a href="#tracyBsPnl<?php echo ++$counter ?>" class="tracy-toggle"><?php echo htmlSpecialChars($panel['tab']) ?></a></h2>
<div id="tracyBsPnl<?php echo $counter ?>" class="inner">
<?php echo $panel['panel'] ?>
</div></div>
<?php endforeach ?>
<?php $stack = $ex->getTrace(); $expanded = NULL ?>
<?php if ((!$exception instanceof \ErrorException || in_array($exception->getSeverity(), array(E_USER_NOTICE, E_USER_WARNING, E_USER_DEPRECATED))) && $this->isCollapsed($ex->getFile())) {
foreach ($stack as $key => $row) {
if (isset($row['file']) && !$this->isCollapsed($row['file'])) { $expanded = $key; break; }
}
} ?>
<div class="panel">
<h2><a href="#tracyBsPnl<?php echo ++$counter ?>" class="tracy-toggle<?php echo ($collapsed = $expanded !== NULL) ? ' tracy-collapsed' : '' ?>">Source file</a></h2>
<div id="tracyBsPnl<?php echo $counter ?>" class="<?php echo $collapsed ? 'tracy-collapsed ' : '' ?>inner">
<p><b>File:</b> <?php echo Helpers::editorLink($ex->getFile(), $ex->getLine()) ?></p>
<?php if (is_file($ex->getFile())): ?><?php echo self::highlightFile($ex->getFile(), $ex->getLine(), 15, $ex instanceof \ErrorException && isset($ex->context) ? $ex->context : NULL) ?><?php endif ?>
</div></div>
<?php if (isset($stack[0]['class']) && $stack[0]['class'] === 'Tracy\Debugger' && ($stack[0]['function'] === '_shutdownHandler' || $stack[0]['function'] === '_errorHandler')) unset($stack[0]) ?>
<?php if ($stack): ?>
<div class="panel">
<h2><a href="#tracyBsPnl<?php echo ++$counter ?>" class="tracy-toggle">Call stack</a></h2>
<div id="tracyBsPnl<?php echo $counter ?>" class="inner">
<ol>
<?php foreach ($stack as $key => $row): ?>
<li><p>
<?php if (isset($row['file']) && is_file($row['file'])): ?>
<?php echo Helpers::editorLink($row['file'], $row['line']) ?>
<?php else: ?>
<i>inner-code</i><?php if (isset($row['line'])) echo ':', $row['line'] ?>
<?php endif ?>
<?php if (isset($row['file']) && is_file($row['file'])): ?><a href="#tracyBsSrc<?php echo "$level-$key" ?>" class="tracy-toggle<?php if ($expanded !== $key) echo ' tracy-collapsed' ?>">source</a> <?php endif ?>
<?php if (isset($row['object'])) echo "<a href='#tracyBsObj$level-$key' class='tracy-toggle tracy-collapsed'>" ?>
<?php if (isset($row['class'])) echo htmlspecialchars($row['class'] . $row['type']) ?>
<?php if (isset($row['object'])) echo '</a>' ?>
<?php echo htmlspecialchars($row['function']) ?>
(<?php if (!empty($row['args'])): ?><a href="#tracyBsArgs<?php echo "$level-$key" ?>" class="tracy-toggle tracy-collapsed">arguments</a><?php endif ?>)
</p>
<?php if (isset($row['file']) && is_file($row['file'])): ?>
<div <?php if ($expanded !== $key) echo 'class="tracy-collapsed"' ?> id="tracyBsSrc<?php echo "$level-$key" ?>"><?php echo self::highlightFile($row['file'], $row['line']) ?></div>
<?php endif ?>
<?php if (isset($row['object'])): ?>
<div class="tracy-collapsed outer" id="tracyBsObj<?php echo "$level-$key" ?>"><?php echo Dumper::toHtml($row['object']) ?></div>
<?php endif ?>
<?php if (!empty($row['args'])): ?>
<div class="tracy-collapsed outer" id="tracyBsArgs<?php echo "$level-$key" ?>">
<table>
<?php
try {
$r = isset($row['class']) ? new \ReflectionMethod($row['class'], $row['function']) : new \ReflectionFunction($row['function']);
$params = $r->getParameters();
} catch (\Exception $e) {
$params = array();
}
foreach ($row['args'] as $k => $v) {
echo '<tr><th>', htmlspecialchars(isset($params[$k]) ? '$' . $params[$k]->name : "#$k"), '</th><td>';
echo Dumper::toHtml($v);
echo "</td></tr>\n";
}
?>
</table>
</div>
<?php endif ?>
</li>
<?php endforeach ?>
</ol>
</div></div>
<?php endif ?>
<?php if ($ex instanceof \ErrorException && isset($ex->context) && is_array($ex->context)):?>
<div class="panel">
<h2><a href="#tracyBsPnl<?php echo ++$counter ?>" class="tracy-toggle tracy-collapsed">Variables</a></h2>
<div id="tracyBsPnl<?php echo $counter ?>" class="tracy-collapsed inner">
<div class="outer">
<table>
<?php
foreach ($ex->context as $k => $v) {
echo '<tr><th>$', htmlspecialchars($k), '</th><td>', Dumper::toHtml($v), "</td></tr>\n";
}
?>
</table>
</div>
</div></div>
<?php endif ?>
<?php } while ($ex = $ex->getPrevious()); ?>
<?php while (--$level) echo '</div></div>' ?>
<?php $bottomPanels = array() ?>
<?php foreach ($panels as $panel): ?>
<?php $panel = call_user_func($panel, NULL); if (empty($panel['tab']) || empty($panel['panel'])) continue; ?>
<?php if (!empty($panel['bottom'])) { $bottomPanels[] = $panel; continue; } ?>
<div class="panel">
<h2><a href="#tracyBsPnl<?php echo ++$counter ?>" class="tracy-toggle tracy-collapsed"><?php echo htmlSpecialChars($panel['tab']) ?></a></h2>
<div id="tracyBsPnl<?php echo $counter ?>" class="tracy-collapsed inner">
<?php echo $panel['panel'] ?>
</div></div>
<?php endforeach ?>
<div class="panel">
<h2><a href="#tracyBsPnl<?php echo ++$counter ?>" class="tracy-toggle tracy-collapsed">Environment</a></h2>
<div id="tracyBsPnl<?php echo $counter ?>" class="tracy-collapsed inner">
<h3><a href="#tracyBsPnl<?php echo ++$counter ?>" class="tracy-toggle">$_SERVER</a></h3>
<div id="tracyBsPnl<?php echo $counter ?>" class="outer">
<table>
<?php
foreach ($_SERVER as $k => $v) echo '<tr><th>', htmlspecialchars($k), '</th><td>', Dumper::toHtml($v), "</td></tr>\n";
?>
</table>
</div>
<h3><a href="#tracyBsPnl<?php echo ++$counter ?>" class="tracy-toggle">$_SESSION</a></h3>
<div id="tracyBsPnl<?php echo $counter ?>" class="outer">
<?php if (empty($_SESSION)):?>
<p><i>empty</i></p>
<?php else: ?>
<table>
<?php
foreach ($_SESSION as $k => $v) echo '<tr><th>', htmlspecialchars($k), '</th><td>', $k === '__NF' ? '<i>Nette Session</i>' : Dumper::toHtml($v), "</td></tr>\n";
?>
</table>
<?php endif ?>
</div>
<?php if (!empty($_SESSION['__NF']['DATA'])):?>
<h3><a href="#tracyBsPnl<?php echo ++$counter ?>" class="tracy-toggle">Nette Session</a></h3>
<div id="tracyBsPnl<?php echo $counter ?>" class="outer">
<table>
<?php
foreach ($_SESSION['__NF']['DATA'] as $k => $v) echo '<tr><th>', htmlspecialchars($k), '</th><td>', Dumper::toHtml($v), "</td></tr>\n";
?>
</table>
</div>
<?php endif ?>
<?php
$list = get_defined_constants(TRUE);
if (!empty($list['user'])):?>
<h3><a href="#tracyBsPnl<?php echo ++$counter ?>" class="tracy-toggle tracy-collapsed">Constants</a></h3>
<div id="tracyBsPnl<?php echo $counter ?>" class="outer tracy-collapsed">
<table>
<?php
foreach ($list['user'] as $k => $v) {
echo '<tr><th>', htmlspecialchars($k), '</th>';
echo '<td>', Dumper::toHtml($v), "</td></tr>\n";
}
?>
</table>
</div>
<?php endif ?>
<h3><a href="#tracyBsPnl<?php echo ++$counter ?>" class="tracy-toggle tracy-collapsed">Included files</a> (<?php echo count(get_included_files()) ?>)</h3>
<div id="tracyBsPnl<?php echo $counter ?>" class="outer tracy-collapsed">
<table>
<?php
foreach (get_included_files() as $v) {
echo '<tr><td>', htmlspecialchars($v, ENT_IGNORE), "</td></tr>\n";
}
?>
</table>
</div>
<h3><a href="#tracyBsPnl<?php echo ++$counter ?>" class="tracy-toggle tracy-collapsed">Configuration options</a></h3>
<div id="tracyBsPnl<?php echo $counter ?>" class="outer tracy-collapsed">
<?php ob_start(); @phpinfo(INFO_CONFIGURATION | INFO_MODULES); echo preg_replace('#^.+<body>|</body>.+\z#s', '', ob_get_clean()) ?>
</div>
</div></div>
<div class="panel">
<h2><a href="#tracyBsPnl<?php echo ++$counter ?>" class="tracy-toggle tracy-collapsed">HTTP request</a></h2>
<div id="tracyBsPnl<?php echo $counter ?>" class="tracy-collapsed inner">
<?php if (function_exists('apache_request_headers')): ?>
<h3>Headers</h3>
<div class="outer">
<table>
<?php
foreach (apache_request_headers() as $k => $v) echo '<tr><th>', htmlspecialchars($k), '</th><td>', htmlspecialchars($v), "</td></tr>\n";
?>
</table>
</div>
<?php endif ?>
<?php foreach (array('_GET', '_POST', '_COOKIE') as $name): ?>
<h3>$<?php echo htmlspecialchars($name) ?></h3>
<?php if (empty($GLOBALS[$name])):?>
<p><i>empty</i></p>
<?php else: ?>
<div class="outer">
<table>
<?php
foreach ($GLOBALS[$name] as $k => $v) echo '<tr><th>', htmlspecialchars($k), '</th><td>', Dumper::toHtml($v), "</td></tr>\n";
?>
</table>
</div>
<?php endif ?>
<?php endforeach ?>
</div></div>
<div class="panel">
<h2><a href="#tracyBsPnl<?php echo ++$counter ?>" class="tracy-toggle tracy-collapsed">HTTP response</a></h2>
<div id="tracyBsPnl<?php echo $counter ?>" class="tracy-collapsed inner">
<h3>Headers</h3>
<?php if (headers_list()): ?>
<pre><?php
foreach (headers_list() as $s) echo htmlspecialchars($s, ENT_IGNORE), '<br>';
?></pre>
<?php else: ?>
<p><i>no headers</i></p>
<?php endif ?>
</div></div>
<?php foreach ($bottomPanels as $panel): ?>
<div class="panel">
<h2><a href="#tracyBsPnl<?php echo ++$counter ?>" class="tracy-toggle"><?php echo htmlSpecialChars($panel['tab']) ?></a></h2>
<div id="tracyBsPnl<?php echo $counter ?>" class="inner">
<?php echo $panel['panel'] ?>
</div></div>
<?php endforeach ?>
<ul>
<li>Report generated at <?php echo @date('Y/m/d H:i:s', Debugger::$time) ?></li>
<?php if (preg_match('#^https?://#', Debugger::$source)): ?>
<li><a href="<?php echo htmlSpecialChars(Debugger::$source, ENT_IGNORE | ENT_QUOTES) ?>"><?php echo htmlSpecialChars(Debugger::$source, ENT_IGNORE) ?></a></li>
<?php elseif (Debugger::$source): ?>
<li><?php echo htmlSpecialChars(Debugger::$source, ENT_IGNORE) ?></li>
<?php endif ?>
<?php foreach ($info as $item): ?><li><?php echo htmlSpecialChars($item) ?></li><?php endforeach ?>
</ul>
<div id="tracyBluescreenLogo"><a href="http://tracy.nette.org" rel="noreferrer"></a></div>
</div>
</div>
<script>
(function(){
var bs = document.getElementById('tracyBluescreen');
document.body.appendChild(bs);
document.onkeyup = function(e) {
e = e || window.event;
if (e.keyCode == 27 && !e.shiftKey && !e.altKey && !e.ctrlKey && !e.metaKey) {
document.getElementById('tracyBluescreenIcon').click();
}
};
for (var i = 0, styles = []; i < document.styleSheets.length; i++) {
var style = document.styleSheets[i];
if ((style.owningElement || style.ownerNode).className !== 'tracy-debug') {
style.oldDisabled = style.disabled;
style.disabled = true;
styles.push(style);
}
}
bs.onclick = function(e) {
e = e || window.event;
if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {
return;
}
for (var link = e.target || e.srcElement; link && (!link.tagName || !link.className.match(/(^|\s)tracy-toggle(\s|$)/)); link = link.parentNode) {}
if (!link) {
return true;
}
var collapsed = link.className.match(/(^|\s)tracy-collapsed(\s|$)/),
ref = link.getAttribute('data-ref') || link.getAttribute('href', 2),
dest;
if (ref && ref !== '#') {
dest = document.getElementById(ref.substring(1));
} else {
for (dest = link.nextSibling; dest && dest.nodeType !== 1; dest = dest.nextSibling) {}
}
link.className = (collapsed ? link.className.replace(/(^|\s)tracy-collapsed(\s|$)/, ' ') : link.className + ' tracy-collapsed').replace(/^\s+|\s+$/g,'');
dest.className = (collapsed ? dest.className.replace(/(^|\s)tracy-collapsed(\s|$)/, ' ') : dest.className + ' tracy-collapsed').replace(/^\s+|\s+$/g,'');
if (link.id === 'tracyBluescreenIcon') {
for (i = 0; i < styles.length; i++) {
styles[i].disabled = collapsed ? true : styles[i].oldDisabled;
}
}
e.preventDefault ? e.preventDefault() : e.returnValue = false;
e.stopPropagation ? e.stopPropagation() : e.cancelBubble = true;
};
})();
</script>
</body>
</html>
ACC SHELL 2018