public static function _init() { self::$time = microtime(TRUE); self::$consoleMode = PHP_SAPI === 'cli'; self::$productionMode = self::DETECT; if (self::$consoleMode) { self::$source = empty($_SERVER['argv']) ? 'cli' : 'cli: ' . implode(' ', $_SERVER['argv']); } else { self::$ajaxDetected = isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] === 'XMLHttpRequest'; if (isset($_SERVER['REQUEST_URI'])) { self::$source = (isset($_SERVER['HTTPS']) && strcasecmp($_SERVER['HTTPS'], 'off') ? 'https://' : 'http://') . (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : (isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : '')) . $_SERVER['REQUEST_URI']; } } self::$logger = new NLogger(); self::$logDirectory =& self::$logger->directory; self::$email =& self::$logger->email; self::$mailer =& self::$logger->mailer; self::$emailSnooze =& NLogger::$emailSnooze; self::$fireLogger = new NFireLogger(); self::$blueScreen = new NDebugBlueScreen(); self::$blueScreen->addPanel(create_function('$e', ' if ($e instanceof NTemplateException) { return array( \'tab\' => \'Template\', \'panel\' => \'<p><b>File:</b> \' . NDebugHelpers::editorLink($e->sourceFile, $e->sourceLine) . \' <b>Line:</b> \' . ($e->sourceLine ? $e->sourceLine : \'n/a\') . \'</p>\' . ($e->sourceLine ? NDebugBlueScreen::highlightFile($e->sourceFile, $e->sourceLine) : \'\') ); } elseif ($e instanceof NNeonException && preg_match(\'#line (\\d+)#\', $e->getMessage(), $m)) { if ($item = NDebugHelpers::findTrace($e->getTrace(), \'NConfigNeonAdapter::load\')) { return array( \'tab\' => \'NEON\', \'panel\' => \'<p><b>File:</b> \' . NDebugHelpers::editorLink($item[\'args\'][0], $m[1]) . \' <b>Line:</b> \' . $m[1] . \'</p>\' . NDebugBlueScreen::highlightFile($item[\'args\'][0], $m[1]) ); } elseif ($item = NDebugHelpers::findTrace($e->getTrace(), \'NNeon::decode\')) { return array( \'tab\' => \'NEON\', \'panel\' => NDebugBlueScreen::highlightPhp($item[\'args\'][0], $m[1]) ); } } ')); self::$bar = new NDebugBar(); self::$bar->addPanel(new NDefaultBarPanel('time')); self::$bar->addPanel(new NDefaultBarPanel('memory')); self::$bar->addPanel(self::$errorPanel = new NDefaultBarPanel('errors')); self::$bar->addPanel(self::$dumpPanel = new NDefaultBarPanel('dumps')); }
/** * Static class constructor. * @internal */ public static function _init() { self::$time = microtime(TRUE); self::$consoleMode = PHP_SAPI === 'cli'; self::$productionMode = self::DETECT; if (self::$consoleMode) { self::$source = empty($_SERVER['argv']) ? 'cli' : 'cli: ' . implode(' ', $_SERVER['argv']); } else { self::$ajaxDetected = isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] === 'XMLHttpRequest'; if (isset($_SERVER['REQUEST_URI'])) { self::$source = (isset($_SERVER['HTTPS']) && strcasecmp($_SERVER['HTTPS'], 'off') ? 'https://' : 'http://') . (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : (isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : '')) . $_SERVER['REQUEST_URI']; } } self::$logger = new NLogger; self::$logDirectory = & self::$logger->directory; self::$email = & self::$logger->email; self::$mailer = & self::$logger->mailer; self::$emailSnooze = & NLogger::$emailSnooze; self::$fireLogger = new NFireLogger; self::$blueScreen = new NDebugBlueScreen; self::$blueScreen->addPanel(create_function('$e', ' if ($e instanceof NTemplateException) { return array( \'tab\' => \'Template\', \'panel\' => \'<p><b>File:</b> \' . NDebugHelpers::editorLink($e->sourceFile, $e->sourceLine) . \' <b>Line:</b> \' . ($e->sourceLine ? $e->sourceLine : \'n/a\') . \'</p>\' . ($e->sourceLine ? \'<pre>\' . NDebugBlueScreen::highlightFile($e->sourceFile, $e->sourceLine) . \'</pre>\' : \'\') ); } ')); self::$bar = new NDebugBar; self::$bar->addPanel(new NDefaultBarPanel('time')); self::$bar->addPanel(new NDefaultBarPanel('memory')); self::$bar->addPanel(self::$errorPanel = new NDefaultBarPanel('errors')); // filled by _errorHandler() self::$bar->addPanel(self::$dumpPanel = new NDefaultBarPanel('dumps')); // filled by barDump() }