copyright update
[squirrelmail.git] / src / right_main.php
index 9d73276ec36163f7abfb0989dae0260d9dbdd5a9..6c85464b477053a41b23ebde796084eed0964e62 100644 (file)
@@ -3,12 +3,11 @@
 /**
  * right_main.php
  *
- * Copyright (c) 1999-2005 The SquirrelMail Project Team
- * Licensed under the GNU GPL. For full terms see the file COPYING.
- *
  * This is where the mailboxes are listed. This controls most of what
  * goes on in SquirrelMail.
  *
+ * @copyright © 1999-2006 The SquirrelMail Project Team
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  * @version $Id$
  * @package squirrelmail
  */
@@ -29,10 +28,39 @@ require_once(SM_PATH . 'functions/mailbox_display.php');
 require_once(SM_PATH . 'functions/display_messages.php');
 require_once(SM_PATH . 'functions/html.php');
 require_once(SM_PATH . 'functions/plugin.php');
+include_once(SM_PATH . 'class/error.class.php');
+
 
 //include_once(SM_PATH . 'templates/default/message_list.tpl');
 include_once(SM_PATH . 'class/template/template.class.php');
 
+/**
+ * Which templatedir are we using. TODO, add make a config var of this and make it possible to switch templates
+ */
+$sTplDir = SM_PATH . 'templates/default/';
+
+/*
+ * Initialize the template object
+ */
+$oTemplate = new Template($sTplDir);
+
+/*
+ * Initialize our custom error handler object
+ */
+$oErrorHandler = new ErrorHandler($oTemplate,'error_message.tpl');
+
+/*
+ * Activate custom error handling
+ */
+if (version_compare(PHP_VERSION, "4.3.0", ">=")) {
+    $oldErrorHandler = set_error_handler(array($oErrorHandler, 'SquirrelMailErrorhandler'));
+} else {
+    $oldErrorHandler = set_error_handler('SquirrelMailErrorhandler');
+}
+
+// Trigger Developers to look at CSS ;)
+// trigger_error("This layout sucks. Adapt squirrelmail.css!!!",E_USER_WARNING);
+//sqm_trigger_imap_error('SQM_IMAP_NO_THREAD',"BLA1",'BAD', 'BLA2', array('test1'=>'test1'));
 
 /* lets get the global vars we may need */
 sqgetGlobalVar('key',       $key,           SQ_COOKIE);
@@ -93,10 +121,6 @@ if ($imap_server_type == 'uw' && (strstr($mailbox, '../') ||
  * preferences.
  */
 
-
-/* not sure if this hook should be capable to alter the global pref array */
-do_hook ('generic_header');
-
 $aMailboxPrefSer=getPref($data_dir, $username,'pref_'.$account.'_'.$mailbox);
 if ($aMailboxPrefSer) {
     $aMailboxPref = unserialize($aMailboxPrefSer);
@@ -237,10 +261,6 @@ if ($sError) {
    $note = $sError;
 }
 
-/**
- * Which templatedir are we using. TODO, add make a config var of this and make it possible to switch templates
- */
-$sTplDir = SM_PATH . 'templates/default/';
 
 
 /*
@@ -257,7 +277,7 @@ if (isset($aMailbox['FORWARD_SESSION'])) {
         session_write_close();
         // restart the session. Do not use sqsession_is_active because the session_id
         // isn't empty after a session_write_close
-        session_start();
+        sqsession_start();
         if (!preg_match("/^[0-9]{3,4}$/", $compose_width)) {
             $compose_width = '640';
         }
@@ -277,7 +297,7 @@ if (isset($aMailbox['FORWARD_SESSION'])) {
         session_write_close();
         // we have to redirect to the compose page
         $location = SM_PATH . 'src/compose.php?mailbox='. urlencode($mailbox).
-                    '&session='.$aMailbox['FORWARD_SESSION'];
+                    '&session='.$aMailbox['FORWARD_SESSION'];
         header("Location: $location");
         exit;
     }
@@ -316,15 +336,9 @@ if ( sqgetGlobalVar('just_logged_in', $just_logged_in, SQ_SESSION) ) {
     }
 }
 
-/**
- * In the future, move this the the initialisation area
- */
-
-
-$oTemplate = new Template($sTplDir);
 
 if ($aMailbox['EXISTS'] > 0) {
-    $aTemplateVars =& showMessagesForMailbox($imapConnection,$aMailbox,$aProps,$iError);
+    $aTemplateVars = showMessagesForMailbox($imapConnection,$aMailbox,$aProps,$iError);
     if ($iError) {
 
     }
@@ -368,7 +382,8 @@ if ($aMailbox['EXISTS'] > 0) {
 
 do_hook('right_main_bottom');
 sqimap_logout ($imapConnection);
-echo '</body></html>';
+$oTemplate->display('footer.tpl');
+
 
 /* add the mailbox to the cache */
 $mailbox_cache[$account.'_'.$aMailbox['NAME']] = $aMailbox;