Address book in a database backend
Backend for personal/shared address book stored in a database, accessed using the DB-classes in PEAR or PDO, the latter taking precedence if available..
IMPORTANT: If PDO is not available (it should be installed by default since PHP 5.1), then the PEAR modules must be in the include path for this class to work.
An array with the following elements must be passed to the class constructor (elements marked ? are optional):
dsn => database DNS (see PEAR for syntax, but more or less it is: mysql://user:pass@hostname/dbname) table => table to store addresses in (must exist) owner => current user (owner of address data) ? name => name of address book ? writeable => set writeable flag (true/false) ? listing => enable/disable listingThe table used should have the following columns: owner, nickname, firstname, lastname, email, label The pair (owner,nickname) should be unique (primary key).
NOTE. This class should not be used directly. Use the "AddressBook" class instead.
Three settings that control PDO behavior can be specified in config/config_local.php if needed: boolean $disable_pdo SquirrelMail uses PDO by default to access the user preferences and address book databases, but setting this to TRUE will cause SquirrelMail to fall back to using Pear DB instead. boolean $pdo_show_sql_errors When database errors are encountered, setting this to TRUE causes the actual database error to be displayed, otherwise generic errors are displayed, preventing internal database information from being exposed. This should be enabled only for debugging purposes. string $pdo_identifier_quote_char By default, SquirrelMail will quote table and field names in database queries with what it thinks is the appropriate quote character for the database type being used (backtick for MySQL (and thus MariaDB), double quotes for all others), but you can override the character used by putting it here, or tell SquirrelMail NOT to quote identifiers by setting this to "none"
Located in /functions/abook_database.php (line 94)
addressbook_backend | --abook_database
Backend name
Backend type
Database Handle
Data Source Name (connection description)
Character used to quote database table
and field names
Enable/disable address book listing
Table that stores addresses
Enable/disable writing into address book
Inherited from addressbook_backend
addressbook_backend::$bnum
addressbook_backend::$error
addressbook_backend::$sname
Constructor (PHP4 style, kept for compatibility reasons)
Constructor (PHP5 style, required in some future version of PHP)
Add address
Determine internal database field name given one of the SquirrelMail SM_ABOOK_FIELD_* constants
List all addresses
Lookup an address by the indicated field.
Modify address
Open the database.
Deletes address book entries
Search the database
Backend supports only * and ? wildcards. Complex eregs are not supported. Search is case insensitive.
Inherited From addressbook_backend
addressbook_backend::add()
addressbook_backend::fullname()
addressbook_backend::list_addr()
addressbook_backend::lookup()
addressbook_backend::modify()
addressbook_backend::remove()
addressbook_backend::search()
addressbook_backend::set_error()
Documentation generated on Mon, 13 Jan 2020 04:21:53 +0100 by phpDocumentor 1.4.3