Fixed options_display to use functions/options.
[squirrelmail.git] / src / options_identities.php
index 61fb48116fc93c5846984464e5054d41fb36a3dc..8c8b0e0f905f0d46445132153cbd7118d4d5c246 100644 (file)
@@ -5,10 +5,8 @@
     **  $Id$
     **/
 
-   include('../src/validate.php');
-   include('../functions/page_header.php');
-   include('../functions/display_messages.php');
-   include('../src/load_prefs.php');
+   require_once('../src/validate.php');
+   require_once('../functions/display_messages.php');
 
    if (isset($return)) {
       SaveUpdateFunction();
    
    displayPageHeader($color, 'None');
 
+   $Info = do_hook('options_identities_process', 0);
+   if ($Info[1])
+      SaveUpdateFunction();
+
    if (CheckAndDoDefault() || CheckAndDoPromote()) {
       SaveUpdateFunction();
    }
-   if (isset($update))
+   if (isset($update) || CheckForDelete())
       SaveUpdateFunction();
 
    LoadInfo($full_name, $email_address, $reply_to, '');
 ?>
 <br>
 <table width=95% align=center border=0 cellpadding=2 cellspacing=0>
-  <tr>
-    <th bgcolor="<?php echo $color[0] ?>" align=center>
-      <?php echo _("Options") . " - " . _("Advanced Identities"); ?>
-    </th>
-  </tr>
-</table>
+<tr><td bgcolor="<?php echo $color[0] ?>" align="center">
+
+      <b><?php echo _("Options") . ' - ' . _("Advanced Identities"); ?></b>
+
+    <table width="100%" border="0" cellpadding="1" cellspacing="1">
+    <tr><td bgcolor="<?php echo $color[4] ?>" align="center">
+
+<form name=f action="options_identities.php" method=post><br>
 
-<form name=f action="options_identities.php" method=post>
-<p align=center><input type=submit name=return value="<?PHP
-echo _("Save and return to the Personal Options"); ?>"><br><?PHP
-$num = getPref($data_dir, $username, 'identities');
-echo htmlspecialchars($num) . ' ';
-if ($num > 1)
-   echo _("Identities Defined");
-else
-   echo _("Identity Defined");
-?></p>
-<table width=100% cellpadding=0 cellspacing=2 border=0>
+<?PHP do_hook('options_identities_top'); ?>
+
+<table width=80% cellpadding=2 cellspacing=0 border=0>
   <tr bgcolor="<?PHP echo $color[9] ?>">
     <th colspan=2 align=center><?PHP echo _("Default Identity") ?></th>
   </tr>
@@ -77,7 +73,14 @@ else
 ?>
 </table>   
 </form>
+
+    </td></tr>
+    </table>
+
+</td></tr>
+</table>
 </body></html>
+
 <?PHP
 
 function SaveUpdateFunction()
@@ -95,6 +98,7 @@ function SaveUpdateFunction()
       if (isset($$name)) {
          $fakeI --;
       } else {
+         do_hook('options_identities_renumber', $i, $fakeI);
          $filled = 0;
         
          $name = 'full_name' . $i;
@@ -152,27 +156,50 @@ function CheckAndDoDefault()
       $name = 'make_default_' . $i;
       global $$name;
       if (isset($$name)) {
+          do_hook('options_identities_renumber', $i, 'default');
           global $full_name, $email_address, $reply_to;
          
-         $name = 'full_name' . $i;
-         global $$name;
-         $temp = $full_name;
-         $full_name = $$name;
-         $$name = $temp;
-         
-         $name = 'email_address' . $i;
-         global $$name;
-         $temp = $email_address;
-         $email_address = $$name;
-         $$name = $temp;
-         
-         $name = 'reply_to' . $i;
-         global $$name;
-         $temp = $reply_to;
-         $reply_to = $$name;
-         $$name = $temp;
-         
-         return true;
+          $name = 'full_name' . $i;
+          global $$name;
+          $temp = $full_name;
+          $full_name = $$name;
+          $$name = $temp;
+          
+          $name = 'email_address' . $i;
+          global $$name;
+          $temp = $email_address;
+          $email_address = $$name;
+          $$name = $temp;
+          
+          $name = 'reply_to' . $i;
+          global $$name;
+          $temp = $reply_to;
+          $reply_to = $$name;
+          $$name = $temp;
+          
+          return true;
+      }
+      
+      $i ++;
+      $name = 'form_for_' . $i;
+      global $$name;
+   }
+   return false;
+}
+
+function CheckForDelete()
+{
+   global $username, $data_dir, $full_name, $email_address, $reply_to;
+    
+   $i = 1;
+   $name = 'form_for_' . $i;
+   global $$name;
+   while (isset($$name))
+   {
+      $name = 'delete_' . $i;
+      global $$name;
+      if (isset($$name)) {
+          return true;
       }
       
       $i ++;
@@ -194,6 +221,8 @@ function CheckAndDoPromote()
       $name = 'promote_' . $i;
       global $$name;
       if (isset($$name) && $i > 1) {
+          do_hook('options_identities_renumber', $i, $i - 1);
+         
          $nameA = 'full_name' . $i;
          $nameB = 'full_name' . ($i - 1);
          global $$nameA, $$nameB;
@@ -208,8 +237,8 @@ function CheckAndDoPromote()
          $$nameA = $$nameB;
          $$nameB = $temp;
          
-         $nameA = 'email_address' . $i;
-         $nameB = 'email_address' . ($i - 1);
+         $nameA = 'reply_to' . $i;
+         $nameB = 'reply_to' . ($i - 1);
          global $$nameA, $$nameB;
          $temp = $$nameA;
          $$nameA = $$nameB;
@@ -241,10 +270,9 @@ function ShowTableInfo($full_name, $email_address, $reply_to, $post)
 {
    global $color;
    
-   $OtherBG = '';
-   
-   if ($post == '')
-      $OtherBG = ' bgcolor="' . $color[10] . '"';
+   $OtherBG = ' bgcolor="' . $color[0] . '"';
+   if ($full_name == '' && $email_address == '' && $reply_to == '')
+         $OtherBG = '';
 
    if ($full_name == '' && $email_address == '' && $reply_to == '')
       $isEmptySection = true;
@@ -279,31 +307,17 @@ function ShowTableInfo($full_name, $email_address, $reply_to, $post)
       ?>" name="reply_to<?PHP echo $post ?>"> 
     </td>
   </tr>
-<?PHP
-   if (! $isEmptySection && $post != '') {
-?>
-  <tr>
-    <td align=right>
-      <?PHP echo _("Delete") ?>:
-    </td>
-    <td>
-      <input type=checkbox name="delete_<?PHP echo $post ?>"> <?PHP
-      echo _("Delete this identity"); ?>
-    </td>
-  </tr>
-<?PHP
-   }
-?>
-  <tr>
-    <td colspan=2 align=center>
+<?PHP do_hook('options_identities_table', $OtherBG, $isEmptySection, $post); ?>
+  <tr<?PHP echo $OtherBG ?>>
+    <td>&nbsp;</td><td>
       <input type=hidden name="form_for_<?PHP echo $post ?>" value="1">
-      <input type=submit name="update" value="<?PHP
-         echo _("Save / Update") ?>">
-<?PHP 
+      <input type=submit name="update" value="<?PHP 
+   echo _("Save / Update") . '">';
    if (! $isEmptySection && $post != '') {
 ?>
       <input type=submit name="make_default_<?PHP echo $post ?>" value="<?PHP
          echo _("Make Default") ?>">
+      <input type=submit name="delete_<?PHP echo $post ?>" value="<?PHP echo _("Delete") ?>">
 <?PHP
    }
    if (! $isEmptySection && $post != '' && $post > 1) {
@@ -312,8 +326,13 @@ function ShowTableInfo($full_name, $email_address, $reply_to, $post)
          echo _("Move Up") ?>">
 <?PHP
    }
+   do_hook('options_identities_buttons', $isEmptySection, $post);
 ?>
     </td>
   </tr>
+  <tr>
+    <td colspan="2">&nbsp;</td>
+  </tr>
 <?PHP
 }
+?>
\ No newline at end of file