| | |
| | | CHANGELOG RoundCube Webmail |
| | | --------------------------- |
| | | |
| | | 2007/08/15 (thomasb) |
| | | ---------- |
| | | - Applied patch for LDAP contacts listing by Glen Ogilvie |
| | | - Applied patch for more address fields in LDAP contacts (#1484402) |
| | | - Close LDAP connections on script shutdown |
| | | |
| | | |
| | | 2007/08/13 (thomasb) |
| | | ---------- |
| | | - Add alternative for getallheaders() (fix #1484508) |
| | |
| | | * 'search_fields' => array('mail', 'cn'), // fields to search in |
| | | * 'name_field' => 'cn', // this field represents the contact's name |
| | | * 'email_field' => 'mail', // this field represents the contact's e-mail |
| | | * 'surname_field' => 'sn', // this field represents the contact's last name |
| | | * 'firstname_field' => 'gn', // this field represents the contact's first name |
| | | * 'scope' => 'sub', // search mode: sub|base|list |
| | | * 'filter' => '', // will be &'d with search field ex: (status=act) |
| | | * 'filter' => '', // used for basic listing (if not empty) and will be &'d with search queries. ex: (status=act) |
| | | * 'fuzzy_search' => true); // server allows wildcard search |
| | | */ |
| | | |
| | |
| | | */ |
| | | function rcmail_shutdown() |
| | | { |
| | | global $IMAP; |
| | | global $IMAP, $CONTACTS; |
| | | |
| | | if (is_object($IMAP)) |
| | | { |
| | |
| | | $IMAP->write_cache(); |
| | | } |
| | | |
| | | if (is_object($CONTACTS)) |
| | | $CONTACTS->close(); |
| | | |
| | | // before closing the database connection, write session data |
| | | session_write_close(); |
| | | } |
| | |
| | | |
| | | |
| | | /** |
| | | * Close connection to source |
| | | * Called on script shutdown |
| | | */ |
| | | function close(){} |
| | | |
| | | |
| | | /** |
| | | * List the current set of contact records |
| | | * |
| | | * @param array List of cols to show |
| | |
| | | if (preg_match('/^(.+)_field$/', $prop, $matches)) |
| | | $this->fieldmap[$matches[1]] = $value; |
| | | |
| | | // $this->filter = "(dn=*)"; |
| | | $this->connect(); |
| | | } |
| | | |
| | |
| | | function close() |
| | | { |
| | | if ($this->conn) |
| | | { |
| | | @ldap_unbind($this->conn); |
| | | $this->conn = null; |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | */ |
| | | function list_records($cols=null, $subset=0) |
| | | { |
| | | // add general filter to query |
| | | if (!empty($this->prop['filter'])) |
| | | { |
| | | $filter = $this->prop['filter']; |
| | | $this->set_search_set($filter); |
| | | } |
| | | |
| | | // exec LDAP search if no result resource is stored |
| | | if ($this->conn && !$this->ldap_result) |
| | | $this->_exec_search(); |
| | |
| | | |
| | | } |
| | | |
| | | ?> |
| | | ?> |
| | |
| | | { |
| | | page = 1; |
| | | this.env.current_page = page; |
| | | this.reset_qsearch(); |
| | | } |
| | | |
| | | this.select_folder(src, this.env.source); |
| | |
| | | $OUTPUT->show_message('copyerror', 'error'); |
| | | else |
| | | $OUTPUT->show_message('copysuccess', 'notice', array('nr' => count($success))); |
| | | |
| | | // close connection to second address directory |
| | | $TARGET->close(); |
| | | } |
| | | |
| | | |
| | | // send response |
| | | $OUTPUT->send(); |
| | | |