Files
yii/framework/views/exception.php

244 lines
4.8 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title><?php echo CHtml::encode($data['type'])?></title>
<style type="text/css">
/*<![CDATA[*/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;margin:0;padding:0;}
body{line-height:1;}
ol,ul{list-style:none;}
blockquote,q{quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{content:none;}
:focus{outline:0;}
ins{text-decoration:none;}
del{text-decoration:line-through;}
table{border-collapse:collapse;border-spacing:0;}
body {
font-family: "Verdana";
color: #000;
background: #fff;
font-size: 9pt;
}
h1 {
font: normal 18pt "Verdana";
color: #f00;
margin-bottom: .5em;
}
h2 {
font: normal 14pt "Verdana";
color: #800000;
margin-bottom: .5em;
}
h3 {
font: bold 11pt "Verdana";
}
pre {
font-family: Menlo, Consolas, "Lucida Console";
font-size: 11pt;
}
pre span.error {
display: block;
background: #fce3e3;
}
pre span.ln {
color: #999;
}
.container {
margin: 1em 4em;
}
.version {
color: gray;
font-size: 8pt;
border-top: 1px solid #aaa;
padding-top: 1em;
margin-bottom: 1em;
}
.message {
color: #000;
padding: 1em;
font-size: 11pt;
background: #f3f3f3;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
margin-bottom: 1em;
line-height: 160%;
}
.source {
margin-bottom: 1em;
}
.code pre {
font-family: Menlo, Consolas, "Lucida Console";
font-weight: normal;
background-color: #ffe;
margin: 0.5em 0;
padding: 0.5em;
line-height: 125%;
}
.source .file {
margin-bottom: 1em;
font-weight: bold;
}
.traces
{
margin: 2em 0;
}
.trace
{
margin: 0.5em 0;
padding: 0.5em;
}
.trace.app
{
border: 1px dashed #cc0000;
}
.trace .number
{
float: left;
text-align: right;
width: 3em;
margin: 0 1em 0 0;
}
.trace .content
{
float: left;
}
.trace .plus,
.trace .minus
{
display:inline-block;
vertical-align:middle;
text-align:center;
border:1px solid #000;
color:#000;
font-size:10px;
line-height:10px;
margin:0;
padding:0;
width:10px;
height:10px;
}
.trace.collapsed .minus,
.trace.expanded .plus,
.trace.collapsed pre
{
display: none;
}
.trace-file
{
cursor: pointer;
}
/*]]>*/
</style>
</head>
<body>
<div class="container">
<h1><?php echo $data['type']?></h1>
<p class="message">
<?php echo nl2br(CHtml::encode($data['message']))?>
</p>
<div class="source">
<p class="file"><?php echo CHtml::encode($data['file'])."({$data['line']})"?></p>
<?php echo $this->renderSourceCode($data['file'],$data['line'],$this->maxSourceLines); ?>
</div>
<div class="traces">
<h2>Stack Trace</h2>
<?php $count=0; ?>
<?php foreach($data['traces'] as $n => $trace): ?>
<?php
if($this->isCoreCode($trace))
$cssClass='core collapsed';
else if(++$count>3)
$cssClass='app collapsed';
else
$cssClass='app expanded';
$hasCode=$trace['file']!=='unknown' && is_file($trace['file']);
?>
<div class="trace <?php echo $cssClass; ?>">
<div class="number">
#<?php echo $n; ?>
</div>
<div class="content">
<div class="trace-file">
<?php if($hasCode): ?>
<div class="plus">+</div><div class="minus"></div>
<?php endif; ?>
<?php
echo CHtml::encode($trace['file'])."(".$trace['line'].")";
echo ': ';
if(!empty($trace['class']))
echo "<strong>{$trace['class']}</strong>{$trace['type']}";
echo "<strong>{$trace['function']}</strong>(";
if(!empty($trace['args']))
echo CHtml::encode($this->argumentsToString($trace['args']));
echo ')';
?>
</div>
<?php if($hasCode) echo $this->renderSourceCode($trace['file'],$trace['line'],10); ?>
</div>
<div style="clear:both"></div>
</div>
<?php endforeach; ?>
</div>
<div class="version">
<?php echo date('Y-m-d H:i:s',$data['time']) .' '. $data['version']; ?>
</div>
</div>
<script type="text/javascript">
/*<![CDATA[*/
var traceReg = new RegExp("(^|\\s)trace-file(\\s|$)");
var collapsedReg = new RegExp("(^|\\s)collapsed(\\s|$)");
var e = document.getElementsByTagName("div");
for(var j=0,len=e.length;j<len;j++){
if(traceReg.test(e[j].className)){
e[j].onclick = function(){
var trace = this.parentNode.parentNode;
if(collapsedReg.test(trace.className))
trace.className = trace.className.replace("collapsed", "expanded");
else
trace.className = trace.className.replace("expanded", "collapsed");
}
}
}
/*]]>*/
</script>
</body>
</html>