Esempio n. 1
0
 /**
  * Gets the stack trace for this exception.
  */
 protected static function outputStackTrace($exception)
 {
     // send an error 500 if not in debug mode
     if (!coreConfig::get('sf_debug')) {
         $file = coreConfig::get('sf_web_dir') . '/errors/error500.php';
         include is_readable($file) ? $file : dirname(__FILE__) . '/errors/error500.php';
         return;
     }
     $message = null !== $exception->getMessage() ? $exception->getMessage() : 'n/a';
     $name = get_class($exception);
     $format = 0 == strncasecmp(PHP_SAPI, 'cli', 3) ? 'plain' : 'html';
     $traces = self::getTraces($exception, $format);
     // dump main objects values
     $sf_settings = '';
     $settingsTable = $requestTable = $responseTable = $globalsTable = '';
     if (class_exists('coreContext', false) && coreContext::hasInstance()) {
         $context = coreContext::getInstance();
         $requestTable = self::formatArrayAsHtml($context->getRequest()->getParameterHolder()->getAll());
     }
     include dirname(__FILE__) . '/errors/exception.' . ($format == 'html' ? 'php' : 'txt');
 }