diff --git a/apps/bootstrap/controllers/SiteController.php b/apps/bootstrap/controllers/SiteController.php index 4652430..a6731f9 100644 --- a/apps/bootstrap/controllers/SiteController.php +++ b/apps/bootstrap/controllers/SiteController.php @@ -20,8 +20,10 @@ class SiteController extends Controller public function actionIndex() { + $x = null; + $x->y = 100; throw new \yii\base\HttpException(500, 'Test exception'); - $x = 1; +// $x = 1; echo $this->render('index'); } diff --git a/apps/bootstrap/www/tmp/gears.png b/apps/bootstrap/www/tmp/gears.png new file mode 100644 index 0000000..7eaa41c Binary files /dev/null and b/apps/bootstrap/www/tmp/gears.png differ diff --git a/apps/bootstrap/www/tmp/main.css b/apps/bootstrap/www/tmp/main.css index 69ca6f7..b1efefd 100644 --- a/apps/bootstrap/www/tmp/main.css +++ b/apps/bootstrap/www/tmp/main.css @@ -50,6 +50,9 @@ h1,h2,p,img,ul li{ font-family: Arial,sans-serif; color: #505050; } +html,body{ + overflow-x: hidden; +} /* header */ .header{ @@ -193,8 +196,18 @@ h1,h2,p,img,ul li{ margin-top: 40px; margin-bottom: 1px; } -.request pre{ +.request .code{ + min-width: 860px; /* 960px - 50px * 2 */ + max-width: 1100px; /* 1200px - 50px * 2 */ + margin: 0 auto; + padding: 15px 50px; +} +.request .code pre{ + line-height: 18px; + font-size: 14px; font-family: Consolas, Courier New, monospace; + display: inline; + word-wrap: break-word; } /* footer */ diff --git a/apps/bootstrap/www/tmp/main.js b/apps/bootstrap/www/tmp/main.js index 020ce41..7ecf307 100644 --- a/apps/bootstrap/www/tmp/main.js +++ b/apps/bootstrap/www/tmp/main.js @@ -8,7 +8,7 @@ window.onload = function() { hljs.highlightBlock(codeBlocks[i], ' '); } - // + // code block hover line document.onmousemove = function(e) { var lines, i, imax, j, jmax, k, kmax, event = e || window.event, @@ -31,7 +31,10 @@ window.onload = function() { hoverLines[k].className = 'hover-line'; } if (lineFound) { - Sizzle('.call-stack-item:eq(' + i + ') .hover-line:eq(' + j + ')')[0].className = 'hover-line hover'; + var line = Sizzle('.call-stack-item:eq(' + i + ') .hover-line:eq(' + j + ')'); + if (line[0]) { + line[0].className = 'hover-line hover'; + } } } diff --git a/framework/yii/base/ErrorHandler.php b/framework/yii/base/ErrorHandler.php index 4c6e8eb..ee0f87d 100644 --- a/framework/yii/base/ErrorHandler.php +++ b/framework/yii/base/ErrorHandler.php @@ -93,8 +93,22 @@ class ErrorHandler extends Component if (YII_DEBUG) { ini_set('display_errors', 1); } + $view = new View(); - echo $view->renderFile($this->mainView, array('e' => $exception), $this); + $request = array(); + if (count($_GET) > 0) { + $request[] = '$_GET = ' . var_export($_GET, true) . ';'; + } + if (count($_POST) > 0) { + $request[] = '$_POST = ' . var_export($_POST, true) . ';'; + } + $request[] = '$_SERVER = ' . var_export($_SERVER, true) . ';'; + $request = implode("\n\n", $request); + echo $view->renderFile($this->mainView, array( + 'e' => $exception, + 'request' => $request, + 'requestLinesCount' => substr_count($request, "\n"), + ), $this); } } } diff --git a/framework/yii/views/errorHandler/callStackItem.php b/framework/yii/views/errorHandler/callStackItem.php index e4ac1bf..b319d16 100644 --- a/framework/yii/views/errorHandler/callStackItem.php +++ b/framework/yii/views/errorHandler/callStackItem.php @@ -1,13 +1,13 @@ context; ?> diff --git a/framework/yii/views/errorHandler/main.php b/framework/yii/views/errorHandler/main.php index 4ff8c8d..0ea82e1 100644 --- a/framework/yii/views/errorHandler/main.php +++ b/framework/yii/views/errorHandler/main.php @@ -2,6 +2,8 @@ /** * @var \yii\base\View $this * @var \Exception $e + * @var string $request + * @var integer $requestLinesCount * @var \yii\base\ErrorHandler $c */ $c = $this->context; @@ -27,14 +29,23 @@ $c = $this->context;
$_GET = [ - 'show-post' => 100, - 'refresh-page' => 'yes', - 'ascending-sort' => 1, -]; - -$_POST = [ - 'blog-post-form' => [ - 'title' => 'hello', - 'author_id' => '12', - ], -]; - -$_SERVER = [ - 'DOCUMENT_ROOT' => '/home/resurtm/work/data', - 'REMOTE_ADDR' => '::1', - 'REMOTE_PORT' => '52694', - 'SERVER_SOFTWARE' => 'PHP 5.4.3 Development Server', - 'SERVER_PROTOCOL' => 'HTTP/1.1', - 'SERVER_NAME' => 'localhost', - 'SERVER_PORT' => '8000', - 'REQUEST_URI' => '/index.php?post-form[title]=hello&post-form[author_id]=12', - 'REQUEST_METHOD' => 'GET', - 'SCRIPT_NAME' => '/index.php', - 'SCRIPT_FILENAME' => '/home/resurtm/work/data/index.php', - 'PHP_SELF' => '/index.php', - 'QUERY_STRING' => 'post-form[title]=hello&post-form[author_id]=12', - 'HTTP_HOST' => 'localhost:8000', - 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0', - 'HTTP_ACCEPT_LANGUAGE' => 'ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3', - 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate', - 'HTTP_CONNECTION' => 'keep-alive', - 'REQUEST_TIME_FLOAT' => 1369146454.0856, - 'REQUEST_TIME' => 1369146454, -];+
htmlEncode($request); ?>