X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Faddressbook.php;h=302170fb879d6c761e5d7f5edf04e0b435b71429;hb=414303b88e594541d5198a1f3596c9cf1de0bf35;hp=42f5d2dd90c735acfd9a3ead024f623b5dc97924;hpb=a140c3b190aaaac82df43129f0b2e298360bb030;p=squirrelmail.git
diff --git a/src/addressbook.php b/src/addressbook.php
index 42f5d2dd..302170fb 100644
--- a/src/addressbook.php
+++ b/src/addressbook.php
@@ -5,13 +5,16 @@
*
* Manage personal address book.
*
- * @copyright © 1999-2006 The SquirrelMail Project Team
+ * @copyright © 1999-2007 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package squirrelmail
* @subpackage addressbook
*/
+/** This is the addressbook page */
+define('PAGE_NAME', 'addressbook');
+
/**
* Include the SquirrelMail initialization file.
*/
@@ -20,6 +23,8 @@ include('../include/init.php');
/** SquirrelMail required files. */
/* address book functions */
require_once(SM_PATH . 'functions/addressbook.php');
+include_once(SM_PATH . 'templates/util_addressbook.php');
+
/* form functions */
require_once(SM_PATH . 'functions/forms.php');
@@ -38,7 +43,7 @@ sqgetGlobalVar('doedit', $doedit, SQ_POST);
$abook_sort_order = get_abook_sort();
/* Create page header before addressbook_init in order to display error messages correctly. */
-displayPageHeader($color, 'None');
+displayPageHeader($color);
/* Open addressbook with error messages on.
remote backends (LDAP) are enabled because they can be used. (list_addr function)
@@ -109,14 +114,14 @@ if(sqgetGlobalVar('REQUEST_METHOD', $req_method, SQ_SERVER) && $req_method == 'P
$orig_sel = $sel;
sort($sel);
- /* The selected addresses are identidied by "backend:nickname". *
+ /* The selected addresses are identidied by "nickname_backend". *
* Sort the list and process one backend at the time */
$prevback = -1;
$subsel = array();
$delfailed = false;
for ($i = 0 ; (($i < sizeof($sel)) && !$delfailed) ; $i++) {
- list($sbackend, $snick) = explode(':', $sel[$i]);
+ list($snick, $sbackend) = explode('_', $sel[$i]);
/* When we get to a new backend, process addresses in *
* previous one. */
@@ -164,7 +169,7 @@ if(sqgetGlobalVar('REQUEST_METHOD', $req_method, SQ_SERVER) && $req_method == 'P
$defselected = $sel;
} else {
$abortform = true;
- list($ebackend, $enick) = explode(':', current($sel));
+ list($enick, $ebackend) = explode('_', current($sel));
$olddata = $abook->lookup($enick, $ebackend);
// Test if $olddata really contains anything and return an error message if it doesn't
if (!$olddata) {
@@ -186,14 +191,7 @@ if(sqgetGlobalVar('REQUEST_METHOD', $req_method, SQ_SERVER) && $req_method == 'P
/* Handle error messages */
if (!$r) {
/* Display error */
- echo html_tag( 'table',
- html_tag( 'tr',
- html_tag( 'td',
- "\n". '' . _("ERROR") . ': ' . $abook->error . '' ."\n",
- 'center' )
- ),
- 'center', '', 'width="100%"' );
+ plain_error_message( nl2br(htmlspecialchars($abook->error)));
/* Display the "new address" form again */
abook_create_form($form_url,'editaddr',_("Update address"),_("Update address"),$newdata);
@@ -245,27 +243,18 @@ while (list($k, $backend) = each ($abook->backends)) {
$a['Addresses'] = array();
$alist = $abook->list_addr($backend->bnum);
- usort($alist,'alistcmp');
- $start = 200;
- $count = count($alist);
- if ($start >= $count) $start = 0;
- $alist = array_slice($alist,$start,15);
-
- while(list($undef,$row) = each($alist)) {
- $contact = array (
- 'FirstName' => htmlspecialchars($row['firstname']),
- 'LastName' => htmlspecialchars($row['lastname']),
- 'FullName' => htmlspecialchars($row['name']),
- 'NickName' => htmlspecialchars($row['nickname']),
- 'Email' => htmlspecialchars($row['email']),
- 'FullAddress' => htmlspecialchars($abook->full_address($row)),
- 'Info' => htmlspecialchars($row['label']),
- 'Extra' => (isset($row['extra']) ? $row['extra'] : NULL),
- );
- $a['Addresses'][] = $contact;
- }
+
+ /* check return (array with data or boolean false) */
+ if (is_array($alist)) {
+ usort($alist,'alistcmp');
+
+ $a['Addresses'] = formatAddressList($alist);
- $addresses[$backend->bnum] = $a;
+ $addresses[$backend->bnum] = $a;
+ } else {
+ // list_addr() returns boolean
+ plain_error_message(nl2br(htmlspecialchars($abook->error)));
+ }
}
@@ -279,18 +268,17 @@ if ($showaddrlist) {
$oTemplate->display('addressbook_list.tpl');
+//FIXME: Remove HTML from here!
echo "\n";
}
/* Display the "new address" form */
+//FIXME: Remove HTML from here!
echo '' . "\n";
abook_create_form($form_url,'addaddr',_("Add to address book"),_("Add address"),$defdata);
echo "\n";
/* Hook for extra address book blocks */
-echo "\n";
-do_hook('addressbook_bottom');
-echo "\n\n";
+do_hook('addressbook_bottom', $null);
$oTemplate->display('footer.tpl');
-?>
\ No newline at end of file