allow sm to be in an embedded frame
[squirrelmail.git] / src / options.php
index 7cdb01fbc9c0876e8b0de74e3307ba8f6753cb26..c010f106e6e729e7b7e68aaa22a87dd2e4d3c3f5 100644 (file)
@@ -3,7 +3,7 @@
 /**
  * options.php
  *
- * Copyright (c) 1999-2001 The Squirrelmail Development Team
+ * Copyright (c) 1999-2002 The SquirrelMail Project Team
  * Licensed under the GNU GPL. For full terms see the file COPYING.
  *
  * Displays the options page. Pulls from proper user preference files
@@ -17,6 +17,7 @@ require_once('../functions/display_messages.php');
 require_once('../functions/imap.php');
 require_once('../functions/array.php');
 require_once('../functions/options.php');
+require_once('../functions/strings.php');
 
 /* Set the base uri. */
 ereg ("(^.*/)[^/]+/[^/]+$", $PHP_SELF, $regs);
@@ -97,29 +98,34 @@ $optpage_loader = '';
 switch ($optpage) {
     case SMOPT_PAGE_MAIN: break;
     case SMOPT_PAGE_PERSONAL:
-        $optpage_name   = _("Personal Information");
-        $optpage_file   = '../src/options_personal.php';
-        $optpage_loader = 'load_optpage_data_personal';
+        $optpage_name     = _("Personal Information");
+        $optpage_file     = '../src/options_personal.php';
+        $optpage_loader   = 'load_optpage_data_personal';
+        $optpage_loadhook = 'optpage_loadhook_personal';
         break;
     case SMOPT_PAGE_DISPLAY:
         $optpage_name   = _("Display Preferences");
         $optpage_file   = '../src/options_display.php';
         $optpage_loader = 'load_optpage_data_display';
+        $optpage_loadhook = 'optpage_loadhook_display';
         break;
     case SMOPT_PAGE_HIGHLIGHT:
         $optpage_name   = _("Message Highlighting");
         $optpage_file   = '../src/options_highlight.php';
         $optpage_loader = 'load_optpage_data_highlight';
+        $optpage_loadhook = 'optpage_loadhook_highlight';
         break;
     case SMOPT_PAGE_FOLDER:
         $optpage_name   = _("Folder Preferences");
         $optpage_file   = '../src/options_folder.php';
         $optpage_loader = 'load_optpage_data_folder';
+        $optpage_loadhook = 'optpage_loadhook_folder';
         break;
     case SMOPT_PAGE_ORDER:
         $optpage_name = _("Index Order");
         $optpage_file = '../src/options_order.php';
         $optpage_loader = 'load_optpage_data_order';
+        $optpage_loadhook = 'optpage_loadhook_order';
         break;
     default: do_hook('optpage_set_loadinfo');
 }
@@ -135,6 +141,7 @@ if ($optpage != SMOPT_PAGE_MAIN) {
     /* Assemble the data for this option page. */
     $optpage_data = array();
     $optpage_data = $optpage_loader();
+    do_hook($optpage_loadhook);
     $optpage_data['options'] =
         create_option_groups($optpage_data['grps'], $optpage_data['vals']);
 }
@@ -228,7 +235,7 @@ if ($optpage == SMOPT_PAGE_MAIN) {
         if ($max_refresh == SMOPT_REFRESH_FOLDERLIST) {
             echo '<A HREF="../src/left_main.php" TARGET="left">' . _("Refresh Folder List") . '</A><BR>';
         } else if ($max_refresh) {
-            echo '<A HREF="../src/webmail.php?right_frame=options.php" TARGET="_top">' . _("Refresh Page") . '</A><BR>';
+            echo '<A HREF="../src/webmail.php?right_frame=options.php" TARGET="$frame_top">' . _("Refresh Page") . '</A><BR>';
         }
     }
     /******************************************/
@@ -272,7 +279,7 @@ if ($optpage == SMOPT_PAGE_MAIN) {
     $optpage_blocks[] = array(
         'name' => _("Index Order"),
         'url'  => 'options_order.php',
-        'desc' => _("The order of the message index can be rearanged and changed to contain the headers in any order you want."),
+        'desc' => _("The order of the message index can be rearranged and changed to contain the headers in any order you want."),
         'js'   => false
     );
 
@@ -299,7 +306,7 @@ if ($optpage == SMOPT_PAGE_MAIN) {
     $first_optpage = false;
     echo "<TABLE BGCOLOR=\"$color[4]\" WIDTH=\"100%\" CELLPADDING=0 CELLSPACING=\"5\" BORDER=\"0\">" .
                 '<TR><TD VALIGN="TOP">' .
-                   "<TABLE BGCOLOR=\"$color[4]\" WIDTH=\"100%\" CELLPADDING=\"3\" CELLSPACING=\"0\" BORDER=\"0\">";
+                   "<TABLE BGCOLOR=\"$color[4]\" WIDTH=\"100%\" CELLPADDING=\"3\" CELLSPACING=\"0\" BORDER=\"0\"><TR><TD>";
     foreach ($optpage_blocks as $next_optpage) {
         if ($first_optpage == false) {
             $first_optpage = $next_optpage;
@@ -313,7 +320,7 @@ if ($optpage == SMOPT_PAGE_MAIN) {
         print_optionpages_row($first_optpage);
     }
 
-    echo "</TABLE></TD></TR></TABLE>\n";
+    echo "</TD></TR></TABLE></TD></TR></TABLE>\n";
 
     do_hook('options_link_and_description');
 
@@ -323,9 +330,9 @@ if ($optpage == SMOPT_PAGE_MAIN) {
 /*************************************************************************/
 } else {
     echo '<FORM NAME="f" ACTION="options.php" METHOD="POST"><BR>' . "\n"
-       . '<TABLE WIDTH="100%" CELLPADDING=2 CELLSPACING=0 BORDER=0>' . "\n"
        . create_optpage_element($optpage)
-       . create_optmode_element(SMOPT_MODE_SUBMIT);
+       . create_optmode_element(SMOPT_MODE_SUBMIT)
+       . '<TABLE WIDTH="100%" CELLPADDING=2 CELLSPACING=0 BORDER=0>' . "\n";
 
     /* Output the option groups for this page. */
     print_option_groups($optpage_data['options']);
@@ -430,7 +437,7 @@ if ($optpage == SMOPT_PAGE_MAIN) {
             echo         "<TD VALIGN=top BGCOLOR=\"$color[4]\" WIDTH=\"50%\">&nbsp;</TD>";
         }
 
-        echo          '</TR>' .
+        echo          '</TR>' . "\n" .
                       '<TR>' .
                          "<TD VALIGN=top BGCOLOR=\"$color[0]\" WIDTH=\"50%\">" .
                             $leftopt['desc'] .
@@ -444,7 +451,7 @@ if ($optpage == SMOPT_PAGE_MAIN) {
             echo         "<TD VALIGN=top BGCOLOR=\"$color[4]\" WIDTH=\"50%\">&nbsp;</TD>";
         }
         
-        echo          '</TR>' .
+        echo          '</TR>' . "\n" .
                    '</TABLE>' .
                 '</TD></TR>' .
              "</TABLE>\n";