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