2 commits - lib/api lib/Auth lib/Auth.php lib/kolab_api_service.php
Jeroen van Meeuwen
vanmeeuwen at kolabsys.com
Thu May 23 15:28:22 CEST 2013
lib/Auth.php | 4 ++--
lib/Auth/LDAP.php | 20 ++++++++++++++++----
lib/api/kolab_api_service_domain.php | 6 ++++--
lib/kolab_api_service.php | 4 ++++
4 files changed, 26 insertions(+), 8 deletions(-)
New commits:
commit c706af610ca487dfb6acea0b9147367603d7642d
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date: Thu May 23 14:54:34 2013 +0200
Use all specified attributes when adding a domain
diff --git a/lib/Auth.php b/lib/Auth.php
index 0c698c4..76bfb81 100644
--- a/lib/Auth.php
+++ b/lib/Auth.php
@@ -209,9 +209,9 @@ class Auth {
return $this->auth_instance()->attribute_details((array)$attributes);
}
- public function domain_add($domain, $parent_domain=null)
+ public function domain_add($domain_attrs, $parent_domain=null)
{
- return $this->auth_instance()->domain_add($domain, $parent_domain);
+ return $this->auth_instance()->domain_add($domain_attrs, $parent_domain);
}
public function domain_edit($domain, $attributes, $typeid = null)
diff --git a/lib/Auth/LDAP.php b/lib/Auth/LDAP.php
index ec446e3..1e634ba 100644
--- a/lib/Auth/LDAP.php
+++ b/lib/Auth/LDAP.php
@@ -147,8 +147,11 @@ class LDAP extends Net_LDAP3 {
return $result;
}
- public function domain_add($domain, $parent_domain = false, $prepopulate = true)
+ public function domain_add($domain_attrs, $parent_domain = false, $prepopulate = true)
{
+ $domain_name_attribute = $this->conf->get('ldap', 'domain_name_attribute');
+ $domain = $domain_attrs[$domain_name_attribute];
+
// Apply some routines for access control to this function here.
if (!empty($parent_domain)) {
$domain_info = $this->domain_info($parent_domain);
@@ -156,11 +159,20 @@ class LDAP extends Net_LDAP3 {
$this->_domain_add_new($parent_domain, $prepopulate);
}
- return $this->_domain_add_alias($domain, $parent_domain);
+ $add_domain_result = $this->_domain_add_alias($domain, $parent_domain);
}
else {
- return $this->_domain_add_new($domain, $prepopulate);
+ $add_domain_result = $this->_domain_add_new($domain, $prepopulate);
}
+
+ if (empty($add_domain_result) || !$add_domain_result) {
+ Log::error("Failed to add domain");
+ return false;
+ }
+
+ unset($domain_attrs[$domain_name_attribute]);
+
+ return $this->domain_edit($domain, $domain_attrs);
}
public function domain_edit($domain, $attributes, $typeid = null)
@@ -1062,7 +1074,7 @@ class LDAP extends Net_LDAP3 {
private function _domain_add_new($domain)
{
- console("Auth::LDAP::_domain_add_new()", $domain);
+ Log::trace("Auth::LDAP::_domain_add_new(\$domain = " . var_export($domain, TRUE) . ")");
$auth = Auth::get_instance();
diff --git a/lib/api/kolab_api_service_domain.php b/lib/api/kolab_api_service_domain.php
index 07f7513..0dd4df7 100644
--- a/lib/api/kolab_api_service_domain.php
+++ b/lib/api/kolab_api_service_domain.php
@@ -74,6 +74,8 @@ class kolab_api_service_domain extends kolab_api_service
public function domain_add($getdata, $postdata)
{
+ Log::trace("domain.add(\$getdata = " . var_export($getdata, TRUE) . ", \$postdata = " . var_export($postdata, TRUE) . ")");
+
$conf = Conf::get_instance();
$dna = $conf->get('domain_name_attribute');
@@ -90,9 +92,9 @@ class kolab_api_service_domain extends kolab_api_service
if (is_array($postdata[$dna])) {
$parent_domain = array_shift($postdata[$dna]);
- return $auth->domain_add($postdata[$dna], $parent_domain);
+ return $auth->domain_add($postdata, $parent_domain);
} else {
- return $auth->domain_add($postdata[$dna]);
+ return $auth->domain_add($postdata);
}
}
commit b3925a94cbe1199912ef88a5284d476d4abbe90a
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date: Thu May 23 14:53:10 2013 +0200
Add the aci attribute to possible attributes defined when adding/editing a domain name space
diff --git a/lib/kolab_api_service.php b/lib/kolab_api_service.php
index 0c047c4..53878b5 100644
--- a/lib/kolab_api_service.php
+++ b/lib/kolab_api_service.php
@@ -83,6 +83,10 @@ abstract class kolab_api_service
$result = array(
'auto_form_fields' => array(),
'form_fields' => array(
+ 'aci' => array(
+ 'type' => 'list',
+ 'optional' => true,
+ ),
'associateddomain' => array(
'type' => 'list'
),
More information about the commits
mailing list