From 360bd3ea740073b83817183581893681e13a8570 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Tue, 15 Feb 2011 16:00:48 -0500
Subject: [PATCH] Allow group identifiers to be changed upon renaming (used in LDAP)

---
 program/include/rcube_ldap.php |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/program/include/rcube_ldap.php b/program/include/rcube_ldap.php
index 3cb4748..308c4f2 100644
--- a/program/include/rcube_ldap.php
+++ b/program/include/rcube_ldap.php
@@ -995,9 +995,10 @@
      *
      * @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 @@
         $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)

--
Gitblit v1.9.1