diff options
Diffstat (limited to 'framework/views/lt/exception.php')
| -rw-r--r-- | framework/views/lt/exception.php | 242 |
1 files changed, 242 insertions, 0 deletions
diff --git a/framework/views/lt/exception.php b/framework/views/lt/exception.php new file mode 100644 index 0000000..319a960 --- /dev/null +++ b/framework/views/lt/exception.php @@ -0,0 +1,242 @@ +<!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="lt" lang="lt"> +<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: normal 9pt "Verdana"; + color: #000; + background: #fff; +} + +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: normal 11pt Menlo, Consolas, "Lucida Console"; +} + +pre span.error { + display: block; + background: #fce3e3; +} + +pre span.ln { + color: #999; + padding-right: 0.5em; + border-right: 1px solid #ccc; +} + +pre span.error-ln { + font-weight: bold; +} + +.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 { + background-color: #ffe; + margin: 0.5em 0; + padding: 0.5em; + line-height: 125%; + border: 1px solid #eee; +} + +.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 #c00; +} + +.trace .number { + text-align: right; + width: 2em; + padding: 0.5em; +} + +.trace .content { + padding: 0.5em; +} + +.trace .plus, +.trace .minus { + display:inline; + vertical-align:middle; + text-align:center; + border:1px solid #000; + color:#000; + font-size:10px; + line-height:10px; + margin:0; + padding:0 1px; + width:10px; + height:10px; +} + +.trace.collapsed .minus, +.trace.expanded .plus, +.trace.collapsed pre { + display: none; +} + +.trace-file { + cursor: pointer; + padding: 0.2em; +} + +.trace-file:hover { + background: #f0ffff; +} +/*]]>*/ +</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>Dėklo pėdsakas</h2> + <?php $count=0; ?> + <table style="width:100%;"> + <?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']); + ?> + <tr class="trace <?php echo $cssClass; ?>"> + <td class="number"> + #<?php echo $n; ?> + </td> + <td class="content"> + <div class="trace-file"> + <?php if($hasCode): ?> + <div class="plus">+</div> + <div class="minus">–</div> + <?php endif; ?> + <?php + echo ' '; + 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'],$this->maxTraceSourceLines); ?> + </td> + </tr> + <?php endforeach; ?> + </table> + </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> |
