X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=functions%2Faddressbook.php;h=4d043555c60da5d4f5afc1f95ce4f32f112871a6;hp=c83d4faa524a0e850e221f24149fa7f933b07e3e;hb=8f583e40b20348141785d705b295e69464cde9fb;hpb=b9bfd165b055eac4f5e62438ae78eaab01cbb90e diff --git a/functions/addressbook.php b/functions/addressbook.php index c83d4faa..4d043555 100644 --- a/functions/addressbook.php +++ b/functions/addressbook.php @@ -14,6 +14,9 @@ include('../functions/abook_local_file.php'); include('../functions/abook_ldap_server.php'); + // Un-comment if you're using database backend + // include('../functions/abook_database.php'); + // Create and initialize an addressbook object. // Returns the created object @@ -24,13 +27,30 @@ $abook = new AddressBook; // Always add a local backend + + // Use *either* file-based *or* database addressbook. Remove + // and insert comments to enable the one you want. + + // ------ BEGIN Initialize file-based personal addressbook ------ $filename = sprintf('%s%s.abook', $data_dir, $username); $r = $abook->add_backend('local_file', Array('filename' => $filename, 'create' => true)); + if(!$r && $showerr) { printf(_("Error opening file %s"), $filename); exit; } + // ------ END Initialize file-based personal addressbook ------ + + // ------ BEGIN Initialize database-based personal addressbook ------ + // $r = $abook->add_backend('database', Array('dsn' => 'mysql://dbuser@host/dbname', + // 'owner' => $username, + // 'table' => 'address')); + // if(!$r && $showerr) { + // printf(_("Error initializing addressbook: %s"), $filename); + // exit; + // } + // ------ END Initialize database-based personal addressbook ------ if($onlylocal) return $abook; @@ -58,7 +78,7 @@ // Had to move this function outside of the Addressbook Class // PHP 4.0.4 Seemed to be having problems with inline functions. - function cmp($a,$b) { + function addressbook_cmp($a,$b) { if($a['backend'] > $b['backend']) return 1; else if($a['backend'] < $b['backend']) @@ -106,7 +126,7 @@ // See each of the backend classes for valid parameters. function add_backend($backend, $param = '') { $backend_name = 'abook_' . $backend; - eval("\$newback = new $backend_name(\$param);"); + eval('$newback = new ' . $backend_name . '($param);'); if(!empty($newback->error)) { $this->error = $newback->error; return false; @@ -174,7 +194,7 @@ $ret = $this->search($expression, $bnum); if(!is_array($ret)) return $ret; - usort($ret, 'cmp'); + usort($ret, 'addressbook_cmp'); return $ret; } @@ -260,7 +280,7 @@ $userdata['nickname'] = $userdata['email']; } - if(eregi("[\: \|\#\"\!]", $userdata['nickname'])) { + if(eregi('[ \:\|\#\"\!]', $userdata['nickname'])) { $this->error = _("Nickname contain illegal characters"); return false; } @@ -338,7 +358,7 @@ return false; } - if(eregi("[\: \|\#\"\!]", $userdata['nickname'])) { + if(eregi('[\\: \\|\\#"\\!]', $userdata['nickname'])) { $this->error = _("Nickname contain illegal characters"); return false; }