Added hook at the bottom named addressbook_bottom for import plugin.
[squirrelmail.git] / src / addressbook.php
index c69fee4617235b27125fb841b658d0e7708786aa..d8c7d4537788852051b90f45d3646155b5666801 100644 (file)
@@ -2,27 +2,23 @@
    /**
     **  addressbook.php
     **
+    **  Copyright (c) 1999-2000 The SquirrelMail development team
+    **  Licensed under the GNU GPL. For full terms see the file COPYING.
+    **
     **  Manage personal address book.
     **
     **/
 
-   if(!isset($logged_in)) {
-      echo _("You must login first.");
-      exit;
-   }
-   if(!isset($username) || !isset($key)) {
-      echo _("You need a valid user and password to access this page!");
-      exit;
-   }
+   session_start();
 
    if (!isset($config_php))
       include("../config/config.php");
    if (!isset($array_php))
       include("../functions/array.php");
+   if (!isset($auth_php))
+      include("../functions/auth.php");
    if (!isset($strings_php))
       include("../functions/strings.php");
-   if (!isset($imap_php))
-      include("../functions/imap.php");
    if (!isset($page_header_php))
       include("../functions/page_header.php");
    if (!isset($display_messages_php))
@@ -30,6 +26,7 @@
    if (!isset($addressbook_php))
       include("../functions/addressbook.php");
 
+   is_logged_in();
 
    // Sort array by the key "name"
    function alistcmp($a,$b) {   
    }
 
 
-   // IMAP Login
-   $imapConnection = sqimap_login ($username, $key, 
-                                  $imapServerAddress, $imapPort, 10);
    include("../src/load_prefs.php");
-   sqimap_logout ($imapConnection);
-
 
    // Open addressbook, with error messages on but without LDAP (the
    // second "true"). Don't need LDAP here anyway
       exit();
    }
 
-   print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n";
-   print "<HTML><HEAD><TITLE>\n";
-   printf("%s: %s\n", $org_title, _("Address Book")); 
-   print "</TITLE></HEAD>\n\n";
-
-   printf('<BODY TEXT="%s" BGCOLOR="%s" LINK="%s" VLINK="%s" ALINK="%s">',
-         $color[8], $color[4], $color[7], $color[7], $color[7]);
    displayPageHeader($color, "None");
 
 
       $alist = $abook->list_addr();
       usort($alist,'alistcmp');
       $prevbackend = -1;
+      $headerprinted = false;
 
       // List addresses
       while(list($key,$row) = each($alist)) {
            print "<STRONG>\n</TD></TR>\n";
            print "</TABLE>\n";
 
-           print "<TABLE COLS=5 BORDER=0 CELLPADDING=1 CELLSPACING=0 ".
-                 "WIDTH=\"90%\" ALIGN=center>";
-           printf("<tr bgcolor=\"$color[9]\"><TH align=left width=\"3%%\">".
-                  "&nbsp;<TH align=left width=\"10%%\">%s<TH align=left>%s".
-                  "<TH align=left>%s<TH align=left>%s</TR>\n",
-                  _("Nickname"), _("Name"), _("E-mail"), _("Info"));
+           print '<TABLE COLS=5 BORDER=0 CELLPADDING=1 CELLSPACING=0 WIDTH="90%" ALIGN=center>';
+           printf('<TR BGCOLOR="%s"><TH ALIGN=left WIDTH="%s">&nbsp;'.
+                  '<TH ALIGN=left WIDTH="%s">%s<TH ALIGN=left WIDTH="%s">%s'.
+                  '<TH ALIGN=left WIDTH="%s">%s<TH ALIGN=left WIDTH="%s">%s'.
+                  "</TR>\n", $color[9], "1%", 
+                  "1%", _("Nickname"), 
+                  "1%", _("Name"), 
+                  "1%", _("E-mail"), 
+                  "%",  _("Info"));
            $line = 0;
+           $headerprinted = true;
         } // End of header
 
         $prevbackend = $row["backend"];
            $selected = "";
       
         // Print one row
-        printf("<TR%s NOWRAP>\n <TD align=center><SMALL>".
-               "<INPUT TYPE=checkbox %s NAME=\"sel[]\" VALUE=\"%d:%s\">".
-               "</SMALL><TD NOWRAP>&nbsp;%s&nbsp;<TD NOWRAP>&nbsp;%s&nbsp;".
-               "<TD NOWRAP>&nbsp;<A HREF=\"compose.php?send_to=%s\">%s</A>".
-               "&nbsp;<TD NOWRAP>&nbsp;%s</TR>\n", 
-               ($line % 2) ? " bgcolor=\"$color[0]\"" : "", 
-               $selected, $row["backend"], $row["nickname"], 
-               $row["nickname"], $row["name"], 
-               rawurlencode($row["email"]), $row["email"], $row["label"]);
+        printf("<TR%s>",
+               (($line % 2) ? " bgcolor=\"$color[0]\"" : ""));
+        print  '<TD VALIGN=top ALIGN=center WIDTH="1%"><SMALL>';
+        printf('<INPUT TYPE=checkbox %s NAME="sel[]" VALUE="%s:%s"></SMALL></TD>', 
+               $selected, $row["backend"], $row["nickname"]);
+        printf('<TD VALIGN=top NOWRAP WIDTH="%s">&nbsp;%s&nbsp;</TD>'.
+               '<TD VALIGN=top NOWRAP WIDTH="%s">&nbsp;%s&nbsp;</TD>',
+               "1%", $row["nickname"],
+               "1%", $row["name"]);
+        printf('<TD VALIGN=top NOWRAP WIDTH="%s">&nbsp;<A HREF="compose.php?send_to=%s">%s</A>&nbsp;</TD>'."\n", 
+               "1%", rawurlencode($row["email"]), $row["email"]);
+        printf('<TD VALIGN=top WIDTH="%s">&nbsp;%s&nbsp;</TD>', 
+               "%", $row["label"]);
+        print "</TR>\n";
         $line++;
       } 
 
       // End of list. Close table.
-      print "<TR><TD COLSPAN=5 ALIGN=center>\n";
-      printf("<INPUT TYPE=submit NAME=editaddr VALUE=\"%s\">\n",
-            _("Edit selected"));
-      printf("<INPUT TYPE=submit NAME=deladdr VALUE=\"%s\">\n",
-            _("Delete selected"));
-      print "</TR></TABLE></FORM>";
+      if($headerprinted) {
+       print "<TR><TD COLSPAN=5 ALIGN=center>\n";
+       printf("<INPUT TYPE=submit NAME=editaddr VALUE=\"%s\">\n",
+              _("Edit selected"));
+       printf("<INPUT TYPE=submit NAME=deladdr VALUE=\"%s\">\n",
+              _("Delete selected"));
+       print "</TR></TABLE></FORM>";
+      }
    } // end of addresslist
 
 
    // Display the "new address" form
-   printf("<FORM ACTION=\"%s\" METHOD=\"POST\">\n", $PHP_SELF);
+   printf("<FORM ACTION=\"%s\" NAME=f_add METHOD=\"POST\">\n", $PHP_SELF);
    print "<TABLE WIDTH=100% COLS=1 ALIGN=CENTER>\n";
    print "<TR><TD BGCOLOR=\"$color[0]\" ALIGN=CENTER>\n<STRONG>";
    printf(_("Add to %s"), $abook->localbackendname);
    address_form("addaddr", _("Add address"), $defdata);
    print "</FORM>";
 
+   // Add hook for anything that wants on the bottom
+   do_hook("addressbook_bottom");
 ?>
 
 </BODY></HTML>