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