public function getPanelContent()
 {
     $content = array();
     if (sfConfig::get('sf_logging_enabled')) {
         $context = sfContext::getInstance();
         $content['request'] = sfDebug::requestAsArray($context->getRequest());
         $content['response'] = sfDebug::responseAsArray($context->getResponse());
         $content['user'] = sfDebug::userAsArray($context->getUser());
         $content['settings'] = sfDebug::settingsAsArray();
         $content['globals'] = sfDebug::globalsAsArray();
         $content['php'] = sfDebug::phpInfoAsArray();
         $content['symfony'] = sfDebug::symfonyInfoAsArray();
     } else {
         $content['Logging disabled'] = array();
     }
     return $content;
 }
 public function getPanelContent()
 {
     $config = array('debug' => sfConfig::get('sf_debug') ? 'on' : 'off', 'xdebug' => extension_loaded('xdebug') ? 'on' : 'off', 'logging' => sfConfig::get('sf_logging_enabled') ? 'on' : 'off', 'cache' => sfConfig::get('sf_cache') ? 'on' : 'off', 'compression' => sfConfig::get('sf_compressed') ? 'on' : 'off', 'tokenizer' => function_exists('token_get_all') ? 'on' : 'off', 'eaccelerator' => extension_loaded('eaccelerator') && ini_get('eaccelerator.enable') ? 'on' : 'off', 'apc' => extension_loaded('apc') && ini_get('apc.enabled') ? 'on' : 'off', 'xcache' => extension_loaded('xcache') && ini_get('xcache.cacher') ? 'on' : 'off');
     $html = '<ul id="sfWebDebugConfigSummary">';
     foreach ($config as $key => $value) {
         $html .= '<li class="is' . $value . ($key == 'xcache' ? ' last' : '') . '">' . $key . '</li>';
     }
     $html .= '</ul>';
     $context = sfContext::getInstance();
     $html .= $this->formatArrayAsHtml('request', sfDebug::requestAsArray($context->getRequest()));
     $html .= $this->formatArrayAsHtml('response', sfDebug::responseAsArray($context->getResponse()));
     $html .= $this->formatArrayAsHtml('user', sfDebug::userAsArray($context->getUser()));
     $html .= $this->formatArrayAsHtml('settings', sfDebug::settingsAsArray());
     $html .= $this->formatArrayAsHtml('globals', sfDebug::globalsAsArray());
     $html .= $this->formatArrayAsHtml('php', sfDebug::phpInfoAsArray());
     $html .= $this->formatArrayAsHtml('symfony', sfDebug::symfonyInfoAsArray());
     return $html;
 }
Exemplo n.º 3
0
 /**
  * Gets the stack trace for this exception.
  */
 protected static function outputStackTrace(Exception $exception)
 {
     $format = 'html';
     $code = '500';
     $text = 'Internal Server Error';
     $response = null;
     if (class_exists('sfContext', false) && sfContext::hasInstance() && is_object($request = sfContext::getInstance()->getRequest()) && is_object($response = sfContext::getInstance()->getResponse())) {
         $dispatcher = sfContext::getInstance()->getEventDispatcher();
         if (sfConfig::get('sf_logging_enabled')) {
             $dispatcher->notify(new sfEvent($exception, 'application.log', array($exception->getMessage(), 'priority' => sfLogger::ERR)));
         }
         $event = $dispatcher->notifyUntil(new sfEvent($exception, 'application.throw_exception'));
         if ($event->isProcessed()) {
             return;
         }
         if ($response->getStatusCode() < 300) {
             // status code has already been sent, but is included here for the purpose of testing
             $response->setStatusCode(500);
         }
         $response->setContentType('text/html');
         if (!sfConfig::get('sf_test')) {
             foreach ($response->getHttpHeaders() as $name => $value) {
                 header($name . ': ' . $value);
             }
         }
         $code = $response->getStatusCode();
         $text = $response->getStatusText();
         $format = $request->getRequestFormat();
         if (!$format) {
             $format = 'html';
         }
         if ($mimeType = $request->getMimeType($format)) {
             $response->setContentType($mimeType);
         }
     } else {
         // a backward compatible default
         if (!sfConfig::get('sf_test')) {
             header('Content-Type: text/html; charset=' . sfConfig::get('sf_charset', 'utf-8'));
         }
     }
     // send an error 500 if not in debug mode
     if (!sfConfig::get('sf_debug')) {
         if ($template = self::getTemplatePathForError($format, false)) {
             include $template;
             return;
         }
     }
     // when using CLI, we force the format to be TXT
     if (0 == strncasecmp(PHP_SAPI, 'cli', 3)) {
         $format = 'txt';
     }
     $message = null === $exception->getMessage() ? 'n/a' : $exception->getMessage();
     $name = get_class($exception);
     $traces = self::getTraces($exception, $format);
     // dump main objects values
     $sf_settings = '';
     $settingsTable = $requestTable = $responseTable = $globalsTable = $userTable = '';
     if (class_exists('sfContext', false) && sfContext::hasInstance()) {
         $context = sfContext::getInstance();
         $settingsTable = self::formatArrayAsHtml(sfDebug::settingsAsArray());
         $requestTable = self::formatArrayAsHtml(sfDebug::requestAsArray($context->getRequest()));
         $responseTable = self::formatArrayAsHtml(sfDebug::responseAsArray($context->getResponse()));
         $userTable = self::formatArrayAsHtml(sfDebug::userAsArray($context->getUser()));
         $globalsTable = self::formatArrayAsHtml(sfDebug::globalsAsArray());
     }
     if (isset($response) && $response) {
         $response->sendHttpHeaders();
     }
     if ($template = self::getTemplatePathForError($format, true)) {
         if (isset($dispatcher)) {
             ob_start();
             include $template;
             $content = ob_get_clean();
             $event = $dispatcher->filter(new sfEvent($response, 'response.filter_content'), $content);
             echo $event->getReturnValue();
         } else {
             include $template;
         }
         return;
     }
 }
Exemplo n.º 4
0
 /**
  * Returns the current configuration as HTML.
  *
  * @return string The current configuration as HTML
  */
 protected function getCurrentConfigAsHtml()
 {
     $config = array('debug' => sfConfig::get('sf_debug') ? 'on' : 'off', 'xdebug' => extension_loaded('xdebug') ? 'on' : 'off', 'logging' => sfConfig::get('sf_logging_enabled') ? 'on' : 'off', 'cache' => sfConfig::get('sf_cache') ? 'on' : 'off', 'eaccelerator' => extension_loaded('eaccelerator') && ini_get('eaccelerator.enable') ? 'on' : 'off', 'apc' => extension_loaded('apc') && ini_get('apc.enabled') ? 'on' : 'off', 'xcache' => extension_loaded('xcache') && ini_get('xcache.cacher') ? 'on' : 'off', 'compression' => sfConfig::get('sf_compressed') ? 'on' : 'off', 'syck' => extension_loaded('syck') ? 'on' : 'off');
     $result = '<ul id="sfWebDebugConfigSummary">';
     foreach ($config as $key => $value) {
         $result .= '<li class="is' . $value . '' . ($key == 'syck' ? ' last' : '') . '">' . $key . '</li>';
     }
     $result .= '</ul>';
     $context = sfContext::getInstance();
     $result .= $this->formatArrayAsHtml('request', sfDebug::requestAsArray($context->getRequest()));
     $result .= $this->formatArrayAsHtml('response', sfDebug::responseAsArray($context->getResponse()));
     $result .= $this->formatArrayAsHtml('settings', sfDebug::settingsAsArray());
     $result .= $this->formatArrayAsHtml('globals', sfDebug::globalsAsArray());
     $result .= $this->formatArrayAsHtml('php', sfDebug::phpInfoAsArray());
     return $result;
 }
Exemplo n.º 5
0
 /**
  * Prints the stack trace for this exception.
  *
  * @param Exception An Exception implementation instance
  */
 public function printStackTrace($exception = null)
 {
     if (!$exception) {
         $exception = $this;
     }
     // don't print message if it is an sfStopException exception
     if (method_exists($exception, 'getName') && $exception->getName() == 'sfStopException') {
         if (!sfConfig::get('sf_test')) {
             exit(1);
         }
         return;
     }
     if (class_exists('sfMixer', false)) {
         foreach (sfMixer::getCallables('sfException:printStackTrace:printStackTrace') as $callable) {
             $ret = call_user_func($callable, $this, $exception);
             if ($ret) {
                 if (!sfConfig::get('sf_test')) {
                     exit(1);
                 }
                 return;
             }
         }
     }
     if (!sfConfig::get('sf_test')) {
         header('HTTP/1.0 500 Internal Server Error');
         // clean current output buffer
         while (@ob_end_clean()) {
         }
         ob_start(sfConfig::get('sf_compressed') ? 'ob_gzhandler' : '');
     }
     // send an error 500 if not in debug mode
     if (!sfConfig::get('sf_debug')) {
         error_log($exception->getMessage());
         $file = sfConfig::get('sf_web_dir') . '/errors/error500.php';
         include is_readable($file) ? $file : sfConfig::get('sf_symfony_data_dir') . '/web/errors/error500.php';
         if (!sfConfig::get('sf_test')) {
             exit(1);
         }
         return;
     }
     $message = null !== $exception->getMessage() ? $exception->getMessage() : 'n/a';
     $name = get_class($exception);
     $format = 0 == strncasecmp(PHP_SAPI, 'cli', 3) ? 'plain' : 'html';
     $traces = $this->getTraces($exception, $format);
     // extract error reference from message
     $error_reference = '';
     if (preg_match('/\\[(err\\d+)\\]/', $message, $matches)) {
         $error_reference = $matches[1];
     }
     // dump main objects values
     $sf_settings = '';
     $settingsTable = $requestTable = $responseTable = $globalsTable = '';
     if (class_exists('sfContext', false) && sfContext::hasInstance()) {
         $context = sfContext::getInstance();
         $settingsTable = $this->formatArrayAsHtml(sfDebug::settingsAsArray());
         $requestTable = $this->formatArrayAsHtml(sfDebug::requestAsArray($context->getRequest()));
         $responseTable = $this->formatArrayAsHtml(sfDebug::responseAsArray($context->getResponse()));
         $globalsTable = $this->formatArrayAsHtml(sfDebug::globalsAsArray());
     }
     include sfConfig::get('sf_symfony_data_dir') . '/data/exception.' . ($format == 'html' ? 'php' : 'txt');
     // if test, do not exit
     if (!sfConfig::get('sf_test')) {
         exit(1);
     }
 }
Exemplo n.º 6
0
 protected function sendConfig()
 {
     $context = sfContext::getInstance();
     $config = array('debug' => sfConfig::get('sf_debug') ? 'on' : 'off', 'xdebug' => extension_loaded('xdebug') ? 'on' : 'off', 'logging' => sfConfig::get('sf_logging_enabled') ? 'on' : 'off', 'cache' => sfConfig::get('sf_cache') ? 'on' : 'off', 'compression' => sfConfig::get('sf_compressed') ? 'on' : 'off', 'tokenizer' => function_exists('token_get_all') ? 'on' : 'off', 'eaccelerator' => extension_loaded('eaccelerator') && ini_get('eaccelerator.enable') ? 'on' : 'off', 'apc' => extension_loaded('apc') && ini_get('apc.enabled') ? 'on' : 'off', 'xcache' => extension_loaded('xcache') && ini_get('xcache.cacher') ? 'on' : 'off', 'request' => sfDebug::removeObjects(sfDebug::requestAsArray($context->getRequest())), 'response' => sfDebug::removeObjects(sfDebug::responseAsArray($context->getResponse())), 'user' => sfDebug::removeObjects(sfDebug::userAsArray($context->getUser())), 'settings' => sfDebug::removeObjects(sfDebug::settingsAsArray()), 'globals' => sfDebug::removeObjects(sfDebug::globalsAsArray()), 'php' => sfDebug::removeObjects(sfDebug::phpInfoAsArray()), 'symfony' => sfDebug::removeObjects(sfDebug::symfonyInfoAsArray()));
     $this->sfFire->dump('Config', $config);
 }
 public function getCurrentConfigAsArray()
 {
     $content = array();
     $context = sfContext::getInstance();
     $content['request'] = sfDebug::requestAsArray($context->getRequest());
     $content['response'] = sfDebug::responseAsArray($context->getResponse());
     //    $content['user']     = sfDebug::userAsArray($context->getUser()); //not available in symfony 1.0
     $content['settings'] = sfDebug::settingsAsArray();
     $content['globals'] = sfDebug::globalsAsArray();
     $content['php'] = sfDebug::phpInfoAsArray();
     //    $content['symfony']  = $this->myFormatArrayAsHtml(sfDebug::symfonyInfoAsArray()); not available in symfony 1.0
     return $content;
 }
Exemplo n.º 8
0
 /**
  * Gets the stack trace for this exception.
  */
 protected static function outputStackTrace($exception)
 {
     if (class_exists('sfContext', false) && sfContext::hasInstance()) {
         $dispatcher = sfContext::getInstance()->getEventDispatcher();
         if (sfConfig::get('sf_logging_enabled')) {
             $dispatcher->notify(new sfEvent($exception, 'application.log', array($exception->getMessage(), 'priority' => sfLogger::ERR)));
         }
         $event = $dispatcher->notifyUntil(new sfEvent($exception, 'application.throw_exception'));
         if ($event->isProcessed()) {
             return;
         }
     }
     // send an error 500 if not in debug mode
     if (!sfConfig::get('sf_debug')) {
         $files = array();
         // first check for app/project specific error page, can only do this if we have a context
         if (sfConfig::get('sf_app_config_dir')) {
             $files[] = sfConfig::get('sf_app_config_dir') . '/error_500.php';
         }
         $files[] = sfConfig::get('sf_config_dir') . '/error_500.php';
         $files[] = sfConfig::get('sf_web_dir') . '/errors/error500.php';
         $files[] = dirname(__FILE__) . '/data/error500.php';
         foreach ($files as $file) {
             if (is_readable($file)) {
                 include $file;
                 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 = $userTable = '';
     if (class_exists('sfContext', false) && sfContext::hasInstance()) {
         $context = sfContext::getInstance();
         $settingsTable = self::formatArrayAsHtml(sfDebug::settingsAsArray());
         $requestTable = self::formatArrayAsHtml(sfDebug::requestAsArray($context->getRequest()));
         $responseTable = self::formatArrayAsHtml(sfDebug::responseAsArray($context->getResponse()));
         $userTable = self::formatArrayAsHtml(sfDebug::userAsArray($context->getUser()));
         $globalsTable = self::formatArrayAsHtml(sfDebug::globalsAsArray());
     }
     include dirname(__FILE__) . '/data/exception.' . ($format == 'html' ? 'php' : 'txt');
 }
 public function getCurrentConfigAsArray()
 {
     $content = array();
     $context = sfContext::getInstance();
     $content['request'] = sfDebug::requestAsArray($context->getRequest());
     $content['response'] = sfDebug::responseAsArray($context->getResponse());
     $content['user'] = sfDebug::userAsArray($context->getUser());
     $content['settings'] = sfDebug::settingsAsArray();
     $content['globals'] = sfDebug::globalsAsArray();
     $content['php'] = sfDebug::phpInfoAsArray();
     $content['symfony'] = sfDebug::symfonyInfoAsArray();
     return $content;
 }