Development

Changeset 12144

You must first sign up to be able to contribute.

Changeset 12144

Show
Ignore:
Timestamp:
10/11/08 16:05:50 (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

    r12143 r12144  
    100100    $text   = 'Internal Server Error'; 
    101101 
    102     if (class_exists('sfContext', false) && sfContext::hasInstance()
     102    if (class_exists('sfContext', false) && sfContext::hasInstance() && is_object($request = sfContext::getInstance()->getRequest()) && is_object($response = sfContext::getInstance()->getResponse())
    103103    { 
    104104      $dispatcher = sfContext::getInstance()->getEventDispatcher(); 
     
    115115      } 
    116116 
    117       $request  = sfContext::getInstance()->getRequest(); 
    118       $response = sfContext::getInstance()->getResponse(); 
    119  
    120       if (is_object($response) && $response->getStatusCode() < 300) 
     117      if ($response->getStatusCode() < 300) 
    121118      { 
    122119        // status code has already been sent, but is included here for the purpose of testing 
     
    124121      } 
    125122 
    126       if (is_object($response)) 
    127       { 
    128         $response->setContentType('text/html'); 
    129  
    130         if (!sfConfig::get('sf_test')
     123      $response->setContentType('text/html'); 
     124 
     125      if (!sfConfig::get('sf_test')) 
     126      { 
     127        foreach ($response->getHttpHeaders() as $name => $value
    131128        { 
    132           foreach ($response->getHttpHeaders() as $name => $value) 
    133           { 
    134             header($name.': '.$value); 
    135           } 
     129          header($name.': '.$value); 
    136130        } 
    137  
    138         $code = $response->getStatusCode(); 
    139         $text = $response->getStatusText(); 
    140  
    141         if ($mimeType = $request->getMimeType($format = $request->getRequestFormat())) 
    142         { 
    143           $response->setContentType($mimeType); 
    144         } 
     131      } 
     132 
     133      $code = $response->getStatusCode(); 
     134      $text = $response->getStatusText(); 
     135 
     136      $format = $request->getRequestFormat(); 
     137      if (!$format) 
     138      { 
     139        $format = 'html'; 
     140      } 
     141 
     142      if ($mimeType = $request->getMimeType($format)) 
     143      { 
     144        $response->setContentType($mimeType); 
    145145      } 
    146146    }