diff options
| author | thomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2011-02-15 21:00:48 +0000 |
|---|---|---|
| committer | thomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2011-02-15 21:00:48 +0000 |
| commit | ba539f018eddfed768b455fc9fa6ad9232cd4845 (patch) | |
| tree | f4ba5368612c844d2d26e04962785bfb7657840e /roundcubemail/program/include | |
| parent | 6c63a2fb058dab6097525efb87256b43ca24442f (diff) | |
Allow group identifiers to be changed upon renaming (used in LDAP)
git-svn-id: https://svn.roundcube.net/trunk@4552 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/include')
| -rw-r--r-- | roundcubemail/program/include/rcube_addressbook.php | 3 | ||||
| -rw-r--r-- | roundcubemail/program/include/rcube_ldap.php | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/roundcubemail/program/include/rcube_addressbook.php b/roundcubemail/program/include/rcube_addressbook.php index d1b0f6281..9e8254ca4 100644 --- a/roundcubemail/program/include/rcube_addressbook.php +++ b/roundcubemail/program/include/rcube_addressbook.php @@ -310,9 +310,10 @@ abstract class rcube_addressbook * * @param string Group identifier * @param string New name to set for this group + * @param string New group identifier (if changed, otherwise don't set) * @return boolean New name on success, false if no data was changed */ - function rename_group($gid, $newname) + function rename_group($gid, $newname, &$newid) { /* empty for address books don't supporting groups */ return false; diff --git a/roundcubemail/program/include/rcube_ldap.php b/roundcubemail/program/include/rcube_ldap.php index 3cb47480a..308c4f238 100644 --- a/roundcubemail/program/include/rcube_ldap.php +++ b/roundcubemail/program/include/rcube_ldap.php @@ -995,9 +995,10 @@ class rcube_ldap extends rcube_addressbook * * @param string Group identifier * @param string New name to set for this group + * @param string New group identifier (if changed, otherwise don't set) * @return boolean New name on success, false if no data was changed */ - function rename_group($group_id, $new_name) + function rename_group($group_id, $new_name, &$new_id) { if (!$this->group_cache) $this->list_groups(); @@ -1006,6 +1007,7 @@ class rcube_ldap extends rcube_addressbook $group_name = $this->group_cache[$group_id]['name']; $old_dn = "cn=$group_name,$base_dn"; $new_rdn = "cn=$new_name"; + $new_id = base64_encode($new_rdn . ",$base_dn"); $res = ldap_rename($this->conn, $old_dn, $new_rdn, NULL, TRUE); if ($res === false) |
