Location: header automatically adds 302 Status header. If extra Status header
[squirrelmail.git] / src / signout.php
index cc2f60745edb955bc842d44014c6b394b688d7d5..181434fd0529e34267c2bc81d7de05fcb77e05e3 100644 (file)
  */
 
 /**
- * Path for SquirrelMail required files.
- * @ignore
+ * Include the SquirrelMail initialization file.
  */
-define('SM_PATH','../');
-
-include_once(SM_PATH . 'include/validate.php');
-require_once(SM_PATH . 'functions/prefs.php');
-require_once(SM_PATH . 'functions/plugin.php');
-require_once(SM_PATH . 'functions/strings.php');
-require_once(SM_PATH . 'functions/html.php');
+require('../include/init.php');
 
 /* Erase any lingering attachments */
 sqgetGlobalVar('compose_messages',  $compose_messages,  SQ_SESSION);
@@ -39,7 +32,6 @@ if (!isset($frame_top)) {
 /* If a user hits reload on the last page, $base_uri isn't set
  * because it was deleted with the session. */
 if (! sqgetGlobalVar('base_uri', $base_uri, SQ_SESSION) ) {
-    require_once(SM_PATH . 'functions/display_messages.php');
     $base_uri = sqm_baseuri();
 }
 
@@ -48,7 +40,8 @@ do_hook('logout');
 sqsession_destroy();
 
 if ($signout_page) {
-    header('Status: 303 See Other');
+    // Status 303 header is disabled. PHP fastcgi bug. See 1.91 changelog.
+    //header('Status: 303 See Other');
     header("Location: $signout_page");
     exit; /* we send no content if we're redirecting. */
 }
@@ -93,5 +86,19 @@ html_tag( 'table',
     '', $color[0] ) ,
 'center', $color[4], 'width="50%" cellpadding="2" cellspacing="0" border="0"' );
 
+/* After a reload of signout.php, $oTemplate might not exist anymore.
+ * Recover, so that we don't get all kinds of errors in that situation. */
+if ( !isset($oTemplate) || !is_object($oTemplate) ) {
+    require_once(SM_PATH . 'class/template/template.class.php');
+    $aTemplateSet = ( !isset($aTemplateSet) ? array() : $aTemplateSet );
+    $templateset_default = ( !isset($templateset_default) ? 0 : $templateset_default );
+
+    $sTplDir = ( !isset($aTemplateSet[$templateset_default]['PATH']) ?
+             SM_PATH . 'templates/default/' :
+             $aTemplateSet[$templateset_default]['PATH'] );
+    $oTemplate = new Template($sTplDir);
+}
+
 $oTemplate->display('footer.tpl');
+
 ?>