2 commits - lib/Auth lib/client public_html/js

Aleksander Machniak machniak at kolabsys.com
Sat Apr 13 19:35:51 CEST 2013


 lib/Auth/LDAP.php                         |   28 +++++++++-------------------
 lib/client/kolab_client_task_settings.php |    8 +++++++-
 public_html/js/kolab_admin.js             |   12 ++++++------
 3 files changed, 22 insertions(+), 26 deletions(-)

New commits:
commit a205abb5dd871ba53603aee25beb4492bc9af4f5
Author: Aleksander Machniak <alec at alec.pl>
Date:   Sat Apr 13 19:35:31 2013 +0200

    Fix so objectClass attribute is not listed on attributes list

diff --git a/lib/client/kolab_client_task_settings.php b/lib/client/kolab_client_task_settings.php
index f91986c..9e2938d 100644
--- a/lib/client/kolab_client_task_settings.php
+++ b/lib/client/kolab_client_task_settings.php
@@ -837,6 +837,7 @@ class kolab_client_task_settings extends kolab_client_task
         $response   = $this->api_post('form_value.select_options', null, $post_data);
         $response   = $response->get('attribute');
         $attributes = array();
+        $required   = array();
 
         // convert to hash array
         if (!empty($response['list'])) {
@@ -847,8 +848,13 @@ class kolab_client_task_settings extends kolab_client_task
             }
         }
 
+        if (!empty($response['required'])) {
+            // remove objectClass
+            $required = array_diff($response['required'], array('objectClass'));
+        }
+
         $this->output->set_env('attributes', $attributes);
-        $this->output->set_env('attributes_required', $response['required']);
+        $this->output->set_env('attributes_required', $required);
 
         return $attributes;
     }
diff --git a/public_html/js/kolab_admin.js b/public_html/js/kolab_admin.js
index c962be3..b448530 100644
--- a/public_html/js/kolab_admin.js
+++ b/public_html/js/kolab_admin.js
@@ -1744,9 +1744,6 @@ function kolab_admin()
       return;
     }
 
-    // remove objectClass from required attributes list
-    required = $.map(required, function(a) { return a == 'objectClass' ? null : a; });
-
     request.id = data.id;
     request.key = data.key;
     request.name = data.name;
@@ -2042,15 +2039,18 @@ function kolab_admin()
       return;
 
     var i, lc, list = response.result.attribute.list || [],
+      required = response.result.attribute.required || [],
       select = $('select[name="attr_name"]');
 
+    // remove objectClass from attributes list(s)
+    required = $.map(required, function(a) { return a == 'objectClass' ? null : a; });
+    list = $.map(list, function(a) { return a == 'objectClass' ? null : a; });
+
     this.env.attributes = {};
-    this.env.attributes_required = response.result.attribute.required || [];
+    this.env.attributes_required = required;
     select.empty();
 
     for (i in list) {
-      if (i == 'objectClass')
-        continue;
       lc = list[i].toLowerCase();
       this.env.attributes[lc] = list[i];
       $('<option>').text(list[i]).val(lc).appendTo(select);


commit 932f7bcd25437c80ffead7e8940d66e4b830feaf
Author: Aleksander Machniak <alec at alec.pl>
Date:   Sat Apr 13 19:19:43 2013 +0200

    Code cleanup

diff --git a/lib/Auth/LDAP.php b/lib/Auth/LDAP.php
index 74cab49..8137356 100644
--- a/lib/Auth/LDAP.php
+++ b/lib/Auth/LDAP.php
@@ -23,7 +23,7 @@
  +--------------------------------------------------------------------------+
 */
 
-require_once("Net/LDAP3.php");
+require_once "Net/LDAP3.php";
 
 /**
  * Kolab LDAP handling abstraction class.
@@ -195,7 +195,8 @@ class LDAP extends Net_LDAP3 {
             $this->_log(LOG_DEBUG, "Auth::LDAP::domain_info() uses _search()");
             $result = $this->_search($domain_base_dn, $domain_filter, $attributes);
             $result = $result->entries(true);
-        } else {
+        }
+        else {
             $this->_log(LOG_DEBUG, "Auth::LDAP::domain_info() uses _read()");
             $result = $this->_read($domain_dn, $attributes);
         }
@@ -223,27 +224,17 @@ class LDAP extends Net_LDAP3 {
         switch ($subject) {
             case "domain":
                 return parent::effective_rights($this->conf->get("ldap", "domain_base_dn"));
-                break;
+
             case "group":
-                return parent::effective_rights($this->_subject_base_dn("group"));
-                break;
             case "resource":
-                return parent::effective_rights($this->_subject_base_dn("resource"));
-                break;
             case "role":
-                return parent::effective_rights($this->_subject_base_dn("role"));
-                break;
             case "sharedfolder":
-                return parent::effective_rights($this->_subject_base_dn("sharedfolder"));
-                break;
             case "user":
-                return parent::effective_rights($this->_subject_base_dn("user"));
-                break;
+                return parent::effective_rights($this->_subject_base_dn($subject));
+
             default:
                 return parent::effective_rights($subject);
-                break;
         }
-
     }
 
     public function find_recipient($address)
@@ -251,8 +242,7 @@ class LDAP extends Net_LDAP3 {
         $this->bind($_SESSION['user']->user_bind_dn, $_SESSION['user']->user_bind_pw);
 
         $mail_attrs = $this->conf->get_list('mail_attributes', array('mail', 'alias'));
-
-        $search = array('operator' => 'OR');
+        $search     = array('operator' => 'OR');
 
         foreach ($mail_attrs as $num => $attr) {
             $search['params'][$attr] = array(
@@ -265,9 +255,9 @@ class LDAP extends Net_LDAP3 {
 
         if ($result->count() > 0) {
             return $result->entries(TRUE);
-        } else {
-            return FALSE;
         }
+
+        return FALSE;
     }
 
     public function get_attributes($subject_dn, $attributes)





More information about the commits mailing list