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;
- Attention -

- ExceptionaddTypeLinks(get_class($e)); ?> - - – createHttpStatusLink($e->statusCode); ?> - -

-

htmlEncode($e->getName()); ?>

+ + Gears +

+ htmlEncode($e->getName()); ?> + – addTypeLinks(get_class($e)); ?> +

+

htmlEncode($e->getMessage()); ?>

+ + Attention +

+ ExceptionaddTypeLinks(get_class($e)); ?> + + – createHttpStatusLink($e->statusCode); ?> + +

+

htmlEncode($e->getName()); ?>

+
@@ -46,49 +57,11 @@ $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); ?>
-
- */ ?> +