Branch 'dev/edit-existing-entries' - lib/api lib/Auth lib/Auth.php

Jeroen van Meeuwen vanmeeuwen at kolabsys.com
Sat Mar 31 11:10:54 CEST 2012


 lib/Auth.php                        |   10 +++++-----
 lib/Auth/LDAP.php                   |   26 +++++++++++++-------------
 lib/api/kolab_api_service_group.php |    4 ++--
 lib/api/kolab_api_service_user.php  |    2 +-
 4 files changed, 21 insertions(+), 21 deletions(-)

New commits:
commit 4884ed6a5424034daff81dad0b09234a7303baed
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date:   Sat Mar 31 11:10:06 2012 +0200

    Rename function user_attributes to get_attributes so it can sensibly be used for users, groups and other objects
    Make sure the values in ldap modifications arrays are arrays

diff --git a/lib/Auth.php b/lib/Auth.php
index 936a8db..b72b7bc 100644
--- a/lib/Auth.php
+++ b/lib/Auth.php
@@ -176,6 +176,11 @@ class Auth {
         return $this->_auth[$_SESSION['user']->get_domain()]->get_attribute($subject, $attribute);
     }
 
+    public function get_attributes($subject, $attributes)
+    {
+        return $this->_auth[$_SESSION['user']->get_domain()]->get_attributes($subject, $attributes);
+    }
+
     public function group_add($attributes, $type=NULL)
     {
         return $this->_auth[$_SESSION['user']->get_domain()]->group_add($attributes, $type);
@@ -288,11 +293,6 @@ class Auth {
         return $this->_auth[$_SESSION['user']->get_domain()]->user_find_by_attribute($attribute);
     }
 
-    public function user_attributes($user, $attributes)
-    {
-        return $this->_auth[$_SESSION['user']->get_domain()]->user_attributes($user, $attributes);
-    }
-
     public function user_info($userdata)
     {
         return $this->_auth[$_SESSION['user']->get_domain()]->user_info($userdata);
diff --git a/lib/Auth/LDAP.php b/lib/Auth/LDAP.php
index 1801328..a75323d 100644
--- a/lib/Auth/LDAP.php
+++ b/lib/Auth/LDAP.php
@@ -249,6 +249,19 @@ class LDAP
         console($result);
     }
 
+    public function get_attributes($subject_dn, $attributes)
+    {
+        $result = $this->search($subject_dn, '(objectclass=*)', $attributes);
+        $result = self::normalize_result($result);
+
+        if (!empty($result)) {
+            $result = array_pop($result);
+            return $result;
+        }
+
+        return false;
+    }
+
     public function group_find_by_attribute($attribute)
     {
         if (empty($attribute) || !is_array($attribute) || count($attribute) > 1) {
@@ -455,19 +468,6 @@ class LDAP
      *
      *
      */
-    public function user_attributes($user_dn, $attributes)
-    {
-        $result = $this->search($user_dn, '(objectclass=*)', $attributes);
-        $result = self::normalize_result($result);
-
-        if (!empty($result)) {
-            $result = array_pop($result);
-            return $result;
-        }
-
-        return false;
-    }
-
     public function user_info($user)
     {
         $is_dn = ldap_explode_dn($user, 1);
diff --git a/lib/api/kolab_api_service_group.php b/lib/api/kolab_api_service_group.php
index 329521e..d2103fa 100644
--- a/lib/api/kolab_api_service_group.php
+++ b/lib/api/kolab_api_service_group.php
@@ -199,7 +199,7 @@ class kolab_api_service_group extends kolab_api_service
             if (array_key_exists($_group_attr, $group_attributes)) {
                 if (!($group_attributes[$_group_attr] === $_group_value)) {
                     console("Attribute $_group_attr changed from", $_group_value, "to", $group_attributes[$_group_attr]);
-                    $mod_array['replace'][$_group_attr] = $_group_value;
+                    $mod_array['replace'][$_group_attr] = (array)($_group_value);
                 }
             } else {
                 // TODO: Since we're not shipping the entire object back and forth, and only post
@@ -281,7 +281,7 @@ class kolab_api_service_group extends kolab_api_service
             }
 
             if (!empty($attrs)) {
-                $attrs = $auth->user_attributes($result['entrydn'], $attrs);
+                $attrs = $auth->get_attributes($result['entrydn'], $attrs);
                 if (!empty($attrs)) {
                     $result = array_merge($result, $attrs);
                 }
diff --git a/lib/api/kolab_api_service_user.php b/lib/api/kolab_api_service_user.php
index 111456e..5810732 100644
--- a/lib/api/kolab_api_service_user.php
+++ b/lib/api/kolab_api_service_user.php
@@ -182,7 +182,7 @@ class kolab_api_service_user extends kolab_api_service
             }
 
             if (!empty($attrs)) {
-                $attrs = $auth->user_attributes($result['entrydn'], $attrs);
+                $attrs = $auth->get_attributes($result['entrydn'], $attrs);
                 if (!empty($attrs)) {
                     $result = array_merge($result, $attrs);
                 }





More information about the commits mailing list