| | |
| | | |
| | | */ |
| | | |
| | | |
| | | /** |
| | | * Model class to access an LDAP address directory |
| | | * |
| | | * @package Addressbook |
| | | */ |
| | | class rcube_ldap |
| | | { |
| | | var $conn; |
| | |
| | | /** |
| | | * PHP 4 object constructor |
| | | * |
| | | * @see rcube_ldap::__construct |
| | | * @see rcube_ldap::__construct() |
| | | */ |
| | | function rcube_ldap($p) |
| | | { |
| | |
| | | |
| | | /** |
| | | * Bind connection with DN and password |
| | | * |
| | | * @param string Bind DN |
| | | * @param string Bind password |
| | | * @return boolean True on success, False on error |
| | | */ |
| | | function bind($dn, $pass) |
| | | { |
| | |
| | | /** |
| | | * Save a search string for future listings |
| | | * |
| | | * @param string ?? |
| | | * @param string Filter string |
| | | */ |
| | | function set_search_set($filter) |
| | | { |
| | |
| | | * List the current set of contact records |
| | | * |
| | | * @param array List of cols to show |
| | | * @param int Only return this number of records (not implemented) |
| | | * @return array Indexed list of contact records, each a hash array |
| | | */ |
| | | function list_records($cols=null, $subset=0) |
| | |
| | | * @param array List of fields to search in |
| | | * @param string Search value |
| | | * @param boolean True if results are requested, False if count only |
| | | * @return Indexed list of contact records and 'count' value |
| | | * @return array Indexed list of contact records and 'count' value |
| | | */ |
| | | function search($fields, $value, $strict=false, $select=true) |
| | | { |
| | |
| | | /** |
| | | * Count number of available contacts in database |
| | | * |
| | | * @return Result array with values for 'count' and 'first' |
| | | * @return object rcube_result_set Resultset with values for 'count' and 'first' |
| | | */ |
| | | function count() |
| | | { |
| | |
| | | /** |
| | | * Return the last result set |
| | | * |
| | | * @return Result array or NULL if nothing selected yet |
| | | * @return object rcube_result_set Current resultset or NULL if nothing selected yet |
| | | */ |
| | | function get_result() |
| | | { |
| | |
| | | /** |
| | | * Get a specific contact record |
| | | * |
| | | * @param mixed record identifier |
| | | * @return Hash array with all record fields or False if not found |
| | | * @param mixed Record identifier |
| | | * @param boolean Return as associative array |
| | | * @return mixed Hash array or rcube_result_set with all record fields |
| | | */ |
| | | function get_record($dn, $assoc=false) |
| | | { |
| | |
| | | /** |
| | | * Create a new contact record |
| | | * |
| | | * @param array Assoziative array with save data |
| | | * @return The create record ID on success, False on error |
| | | * @param array Hash array with save data |
| | | * @return boolean The create record ID on success, False on error |
| | | */ |
| | | function insert($save_cols) |
| | | { |
| | |
| | | * Update a specific contact record |
| | | * |
| | | * @param mixed Record identifier |
| | | * @param array Assoziative array with save data |
| | | * @return True on success, False on error |
| | | * @param array Hash array with save data |
| | | * @return boolean True on success, False on error |
| | | */ |
| | | function update($id, $save_cols) |
| | | { |
| | |
| | | * Mark one or more contact records as deleted |
| | | * |
| | | * @param array Record identifiers |
| | | * @return boolean True on success, False on error |
| | | */ |
| | | function delete($ids) |
| | | { |
| | |
| | | /** |
| | | * Execute the LDAP search based on the stored credentials |
| | | * |
| | | * @private |
| | | * @access private |
| | | */ |
| | | function _exec_search() |
| | | { |
| | |
| | | |
| | | |
| | | /** |
| | | * @private |
| | | * @access private |
| | | */ |
| | | function _ldap2result($rec) |
| | | { |
| | |
| | | |
| | | |
| | | /** |
| | | * @private |
| | | * @access private |
| | | */ |
| | | function _map_field($field) |
| | | { |