Development

Changeset 12143

You must first sign up to be able to contribute.

Changeset 12143

Show
Ignore:
Timestamp:
10/11/08 16:02:39 (6 years ago)
Author:
fabien
Message:

[1.2] fixed early exceptions

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/1.2/lib/exception/sfException.class.php

    r12138 r12143  
    9696  static protected function outputStackTrace(Exception $exception) 
    9797  { 
     98    $format = 'html'; 
     99    $code   = '500'; 
     100    $text   = 'Internal Server Error'; 
     101 
    98102    if (class_exists('sfContext', false) && sfContext::hasInstance()) 
    99103    { 
     
    114118      $response = sfContext::getInstance()->getResponse(); 
    115119 
    116       if ($response->getStatusCode() < 300) 
     120      if (is_object($response) && $response->getStatusCode() < 300) 
    117121      { 
    118122        // status code has already been sent, but is included here for the purpose of testing 
     
    120124      } 
    121125 
    122       if ($mimeType = $request->getMimeType($format = $request->getRequestFormat())) 
    123       { 
    124         $response->setContentType($mimeType); 
    125       } 
    126       else 
    127       { 
    128         $format = 'html'; 
     126      if (is_object($response)) 
     127      { 
    129128        $response->setContentType('text/html'); 
    130       } 
    131  
     129 
     130        if (!sfConfig::get('sf_test')) 
     131        { 
     132          foreach ($response->getHttpHeaders() as $name => $value) 
     133          { 
     134            header($name.': '.$value); 
     135          } 
     136        } 
     137 
     138        $code = $response->getStatusCode(); 
     139        $text = $response->getStatusText(); 
     140 
     141        if ($mimeType = $request->getMimeType($format = $request->getRequestFormat())) 
     142        { 
     143          $response->setContentType($mimeType); 
     144        } 
     145      } 
     146    } 
     147    else 
     148    { 
     149      // a backward compatible default 
    132150      if (!sfConfig::get('sf_test')) 
    133151      { 
    134         foreach ($response->getHttpHeaders() as $name => $value) 
    135         { 
    136           header($name.': '.$value); 
    137         } 
    138       } 
    139  
    140       $code = $response->getStatusCode(); 
    141       $text = $response->getStatusText(); 
    142     } 
    143     else 
    144     { 
    145       // a backward compatible default 
    146       $format = 'html'; 
    147  
    148       if (!sfConfig::get('sf_test')) 
    149       { 
    150152        header('Content-Type: text/html; charset='.sfConfig::get('sf_charset', 'utf-8')); 
    151153      } 
    152  
    153       $code = '500'; 
    154       $text = 'Internal Server Error'; 
    155154    } 
    156155