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