add code to reinitialize the templating for the case that one has reloaded
[squirrelmail.git] / src / signout.php
index 3dece37c85aca44c6279ffde478ee9e5fa40f8bf..7b54784bd3d5e8e0a6d5d038201a8534acd27f16 100644 (file)
@@ -3,37 +3,25 @@
 /**
  * signout.php -- cleans up session and logs the user out
  *
- * Copyright (c) 1999-2004 The SquirrelMail Project Team
- * Licensed under the GNU GPL. For full terms see the file COPYING.
- *
  *  Cleans up after the user. Resets cookies and terminates session.
  *
+ * @copyright © 1999-2006 The SquirrelMail Project Team
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  * @version $Id$
  * @package squirrelmail
  */
 
 /**
- * Path for SquirrelMail required files.
- * @ignore
+ * Include the SquirrelMail initialization file.
  */
-define('SM_PATH','../');
-
-/* SquirrelMail required files. */
-require_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 */
-if (isset($attachments) && is_array($attachments) 
-    && sizeof($attachments)){
-    $hashed_attachment_dir = getHashedDir($username, $attachment_dir);
-    foreach ($attachments as $info) {
-        $attached_file = "$hashed_attachment_dir/$info[localfilename]";
-        if (file_exists($attached_file)) {
-            unlink($attached_file);
-        }
+sqgetGlobalVar('compose_messages',  $compose_messages,  SQ_SESSION);
+
+if (!empty($compose_message) && is_array($compose_messages)) {
+    foreach($compose_messages as $composeMessage) {
+        $composeMessage->purgeAttachments();
     }
 }
 
@@ -44,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();
 }
 
@@ -57,8 +44,12 @@ if ($signout_page) {
     header("Location: $signout_page");
     exit; /* we send no content if we're redirecting. */
 }
+
+/* internal gettext functions will fail, if language is not set */
+set_up_language($squirrelmail_language, true, true);
 ?>
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+  "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
 <html>
 <head>
 <?php
@@ -68,9 +59,10 @@ if ($signout_page) {
 <?php
     }
 ?>
+   <meta name="robots" content="noindex,nofollow">
    <title><?php echo $org_title . ' - ' . _("Signout"); ?></title>
 </head>
-<body text="<?php echo $color[8]; ?>" bgcolor="<?php echo $color[4]; ?>" 
+<body text="<?php echo $color[8]; ?>" bgcolor="<?php echo $color[4]; ?>"
 link="<?php echo $color[7]; ?>" vlink="<?php echo $color[7]; ?>"
 alink="<?php echo $color[7]; ?>">
 <br /><br />
@@ -80,18 +72,32 @@ echo
 html_tag( 'table',
     html_tag( 'tr',
          html_tag( 'th', _("Sign Out"), 'center' ) ,
-    '', $color[0], 'width="100%"' ) .
+    '', $color[0] ) .
     $plugin_message .
     html_tag( 'tr',
          html_tag( 'td', _("You have been successfully signed out.") .
              '<br /><a href="login.php" target="' . $frame_top . '">' .
              _("Click here to log back in.") . '</a><br />' ,
          'center' ) ,
-    '', $color[4], 'width="100%"' ) .
+    '', $color[4] ) .
     html_tag( 'tr',
          html_tag( 'td', '<br />', 'center' ) ,
-    '', $color[0], 'width="100%"' ) ,
-'center', $color[4], 'width="50%" cols="1" cellpadding="2" cellspacing="0" border="0"' )
+    '', $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');
+
 ?>
-</body>
-</html>