/**
* abook_database.php
*
- * Copyright (c) 1999-2003 The SquirrelMail Project Team
+ * Copyright (c) 1999-2004 The SquirrelMail Project Team
* Licensed under the GNU GPL. For full terms see the file COPYING.
*
* Backend for personal addressbook stored in a database,
* NOTE. This class should not be used directly. Use the
* "AddressBook" class instead.
*
- * $Id$
+ * @version $Id$
* @package squirrelmail
+ * @subpackage addressbook
*/
/** Needs the DB functions */
-require_once('DB.php');
+if (!include_once('DB.php')) {
+ // same error also in db_prefs.php
+ require_once(SM_PATH . 'functions/display_messages.php');
+ $error = _("Could not include PEAR database functions required for the database backend.") . "<br />\n";
+ $error .= sprintf(_("Is PEAR installed, and is the include path set correctly to find %s?"),
+ '<tt>DB.php</tt>') . "<br />\n";
+ $error .= _("Please contact your system administrator and report this error.");
+ error_box($error, $color);
+ exit;
+}
/**
* Undocumented class - stores the addressbook in a sql database
$this->writeable = $param['writeable'];
}
+ if (isset($param['listing'])) {
+ $this->listing = $param['listing'];
+ }
+
$this->open(true);
}
else {
if(!$this->open()) {
return false;
}
-
+
/* To be replaced by advanded search expression parsing */
if (is_array($expr)) {
return;
return false;
}
- $query = sprintf("SELECT * FROM %s WHERE owner='%s' AND nickname='%s'",
- $this->table, $this->owner, $alias);
+ $query = sprintf("SELECT * FROM %s WHERE owner='%s' AND LOWER(nickname)='%s'",
+ $this->table, $this->owner, $this->dbh->quoteString($alias));
$res = $this->dbh->query($query);
if (!$this->open()) {
return false;
}
+
+ if(isset($this->listing) && !$this->listing) {
+ return array();
+ }
+
$query = sprintf("SELECT * FROM %s WHERE owner='%s'",
$this->table, $this->owner);
}
} /* End of class abook_database */
+
+// vim: et ts=4
?>