From abdfb4d05045aafa3170747a2dca7ce5243e840f Mon Sep 17 00:00:00 2001 From: pallo Date: Thu, 30 Mar 2000 21:55:23 +0000 Subject: [PATCH] Added addressbook management. git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@364 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- functions/page_header.php | 2 +- src/addressbook.php | 218 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 219 insertions(+), 1 deletion(-) create mode 100644 src/addressbook.php diff --git a/functions/page_header.php b/functions/page_header.php index 849dd81f..48509bf1 100644 --- a/functions/page_header.php +++ b/functions/page_header.php @@ -54,7 +54,7 @@ echo ""; echo "
"; echo " " . _("Compose") . "  "; - echo " ". _("Addresses") ."  "; + echo " " . _("Addresses") . "  "; echo " " . _("Folders") . "  "; echo " " . _("Options") . "  "; echo " "; diff --git a/src/addressbook.php b/src/addressbook.php new file mode 100644 index 00000000..cb3bd0e9 --- /dev/null +++ b/src/addressbook.php @@ -0,0 +1,218 @@ + strtolower($b["name"])) ? 1 : -1; + } + + // Output form to add and modify address data + function address_form($name, $submittext, $values = array()) { + global $color; + print "\n"; + printf("", + _("Nickname")); + printf("\n", + $color[4], $name, htmlspecialchars($values["nickname"]), + _("Must be unique")); + printf("", + _("E-mail address")); + printf("\n", + $color[4], $name, htmlspecialchars($values["email"])); + printf("", + _("First name")); + printf("\n", + $color[4], $name, htmlspecialchars($values["firstname"])); + printf("", + _("Last name")); + printf("\n", + $color[4], $name, htmlspecialchars($values["lastname"])); + printf("", + _("Additional info")); + printf("\n", + $color[4], $name, htmlspecialchars($values["label"])); + + printf("\n", + $color[4], $name, $submittext); + + print "
%s:". + "". + " %s
%s:". + "
%s:". + "
%s:". + "
%s:". + "
\n". + "
\n"; + } + + + // 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 + $abook = addressbook_init(true, true); + if($abook->localbackend == 0) { + plain_error_message(_("No personal address book is defined. Contact administrator."), $color); + exit(); + } + + print "\n"; + print "\n"; + printf("%s: %s\n", $org_title, _("Address Book")); + print "\n\n"; + + printf('', + $color[8], $color[4], $color[7], $color[7], $color[7]); + displayPageHeader($color, "None"); + + + $defdata = array(); + $formerror = ""; + $abortform = false; + $showaddrlist = true; + + + // Handle user's actions + if($REQUEST_METHOD == "POST") { + + // Check for user addition + $add_data = $HTTP_POST_VARS["addaddr"]; + if(!empty($add_data["nickname"])) { + + $r = $abook->add($add_data, $abook->localbackend); + + // Handle error messages + if(!$r) { + // Remove backend name from error string + $errstr = $abook->error; + $errstr = ereg_replace("^\[.*\] *", "", $errstr); + + $formerror = $errstr; + $showaddrlist = false; + $defdata = $add_data; + } + + } + + // Check for "delete address" + if((!empty($HTTP_POST_VARS["deladdr"])) && + sizeof($HTTP_POST_VARS["sel"]) > 0) { + plain_error_message("Delete address not implemented yet", $color); + $abortform = true; + } + + // Check for "edit address" + if((!empty($HTTP_POST_VARS["editaddr"])) && + sizeof($HTTP_POST_VARS["sel"]) > 0) { + plain_error_message("Edit address not implemented yet", $color); + $abortform = true; + } + + // Some times we end output before forms are printed + if($abortform) { + print "\n"; + exit(); + } + + } + + // =================================================================== + // The following is only executed on a GET request, or on a POST when + // a user is added, or when "delete" or "modify" was successful. + // =================================================================== + + // Display error messages + if(!empty($formerror)) { + print "\n"; + print "\n"; + print "
\n
"; + print ""._("ERROR").": $formerror"; + print "\n
\n"; + } + + // Display the address management part + if($showaddrlist) { + printf("
\n", $PHP_SELF); + + print "\n"; + print "\n"; + print "
\n"; + print _("Personal address book"); + print "\n
\n"; + + // Get and sort address list + $alist = $abook->list_addr(); + usort($alist,'alistcmp'); + + print ""; + printf("\n", + _("Nickname"), _("Name"), _("E-mail"), _("Info")); + while(list($key,$row) = each($alist)) { + printf("\n", + ($line % 2) ? " bgcolor=\"$color[0]\"" : "", $row["nickname"], + $row["nickname"], $row["name"], rawurlencode($row["email"]), + $row["email"], $row["label"]); + $line++; + } + print "
 ". + "%s%s%s". + "%s
". + "". + " %s  %s ". + " %s ". + " %s
\n"; + printf("\n", + _("Edit selected")); + printf("\n", + _("Delete selected")); + print "
"; + } + + // Display the "new address" form + printf("
\n", $PHP_SELF); + print "\n"; + print "\n"; + print "
\n"; + print _("Add to personal address book"); + print "\n
\n"; + address_form("addaddr", _("Add address"), $defdata); + print "
"; + +?> + + -- 2.25.1