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 53)

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 (string $alias)
array search (string $expr)
Variables
string $bname = 'database' (line 63)

Backend name


Redefinition of:
addressbook_backend::$bname
string $btype = 'local' (line 58)

Backend type


Redefinition of:
addressbook_backend::$btype
resource $dbh = false (line 86)

Database Handle

string $dsn = '' (line 69)

Data Source Name (connection description)

bool $listing = true (line 96)

Enable/disable address book listing

string $owner = '' (line 81)

Owner name

Limits list of database entries visible to end user

string $table = '' (line 74)

Table that stores addresses

bool $writeable = true (line 91)

Enable/disable writing into address book


Redefinition of:
addressbook_backend::$writeable

Inherited Variables

Inherited from addressbook_backend

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

Constructor

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

Add address

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

Redefinition of:
addressbook_backend::add()
close (line 177)

Close the file and forget the filehandle

void close ()
get_field_name (line 193)

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 331)

List all addresses

  • return: search results
array list_addr ()

Redefinition of:
addressbook_backend::list_addr()
lookup (line 292)

Lookup by the indicated field

  • return: search results
array lookup (string $value, [integer $field = SM_ABOOK_FIELD_NICKNAME])
  • string $value: Value to look up
  • integer $field: The field to look in, should be one of the SM_ABOOK_FIELD_* constants defined in functions/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()
modify (line 458)

Modify address

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

Redefinition of:
addressbook_backend::modify()
open (line 143)

Open the database.

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

Delete address

bool remove (string $alias)
  • string $alias: alias that has to be deleted

Redefinition of:
addressbook_backend::remove()
search (line 217)

Search the database

  • return: search results
array search (string $expr)
  • string $expr: search expression

Redefinition of:
addressbook_backend::search()

Inherited Methods

Inherited From addressbook_backend

addressbook_backend::add()
addressbook_backend::list_addr()
addressbook_backend::lookup()
addressbook_backend::modify()
addressbook_backend::remove()
addressbook_backend::search()
addressbook_backend::set_error()

Documentation generated on Fri, 28 Nov 2014 04:20:14 +0100 by phpDocumentor 1.4.3