Class abook_database

Description

Address book in a database backend

Backend for personal/shared address book stored in a database, accessed using the DB-classes in PEAR.

IMPORTANT: 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)
   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 listing
The 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.

Located in /functions/abook_database.php (line 58)

addressbook_backend
   |
   --abook_database
Variable Summary
string $bname
string $btype
resource $dbh
string $dsn
bool $listing
string $owner
string $table
bool $writeable
Method Summary
abook_database abook_database (array $param)
bool add (array $userdata)
void close ()
string get_field_name (integer $field)
array list_addr ()
array lookup (string $value, [integer $field = SM_ABOOK_FIELD_NICKNAME])
bool modify (string $alias, array $userdata)
bool open ([bool $new = false])
bool remove (array $alias)
array search (string $expr)
Variables
string $bname = 'database' (line 68)

Backend name


Redefinition of:
addressbook_backend::$bname
Internal backend name
string $btype = 'local' (line 63)

Backend type


Redefinition of:
addressbook_backend::$btype
Backend type
resource $dbh = false (line 91)

Database Handle

string $dsn = '' (line 74)

Data Source Name (connection description)

bool $listing = true (line 101)

Enable/disable address book listing

string $owner = '' (line 86)

Owner name

Limits list of database entries visible to end user

string $table = '' (line 79)

Table that stores addresses

bool $writeable = true (line 96)

Enable/disable writing into address book


Redefinition of:
addressbook_backend::$writeable
Writeable flag

Inherited Variables

Inherited from addressbook_backend

addressbook_backend::$bnum
addressbook_backend::$error
addressbook_backend::$sname
Methods
Constructor abook_database (line 109)

Constructor

abook_database abook_database (array $param)
  • array $param: address book backend options
add (line 395)

Add address

bool add (array $userdata)
  • array $userdata: added data

Redefinition of:
addressbook_backend::add()
Add entry to backend
close (line 192)

Close the file and forget the filehandle

void close ()
get_field_name (line 208)

Determine internal database field name given one of the SquirrelMail SM_ABOOK_FIELD_* constants

  • return: The desired field name, or the string "ERROR" if the $field is not understood (the caller is responsible for handing errors)
string get_field_name (integer $field)
  • integer $field: The SM_ABOOK_FIELD_* contant to look up
list_addr (line 356)

List all addresses

  • return: search results
array list_addr ()

Redefinition of:
addressbook_backend::list_addr()
List all entries in backend
lookup (line 312)

Lookup an address by the indicated field.

  • return: Array with lookup results when the value was found, an empty array if the value was not found.
array lookup (string $value, [integer $field = SM_ABOOK_FIELD_NICKNAME])
  • string $value: The value to look up
  • integer $field: The field to look in, should be one of the SM_ABOOK_FIELD_* constants defined in include/constants.php (OPTIONAL; defaults to nickname field) NOTE: uniqueness is only guaranteed when the nickname field is used here; otherwise, the first matching address is returned.

Redefinition of:
addressbook_backend::lookup()
Find entry in backend by the indicated field
modify (line 476)

Modify address

bool modify (string $alias, array $userdata)
  • string $alias: modified alias
  • array $userdata: new data

Redefinition of:
addressbook_backend::modify()
Modify entry in backend
open (line 158)

Open the database.

bool open ([bool $new = false])
  • bool $new: new connection if it is true
remove (line 438)

Deletes address book entries

bool remove (array $alias)
  • array $alias: aliases that have to be deleted. numerical array with nickname values

Redefinition of:
addressbook_backend::remove()
Remove entry from backend
search (line 235)

Search the database

Backend supports only * and ? wildcards. Complex eregs are not supported. Search is case insensitive.

  • return: search results. boolean false on error
array search (string $expr)
  • string $expr: search expression

Redefinition of:
addressbook_backend::search()
Search for entries in backend

Inherited Methods

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 Tue, 29 Jul 2014 04:17:04 +0200 by phpDocumentor 1.4.3