lib/api lib/Auth
Aleksander Machniak
machniak at kolabsys.com
Thu Mar 5 11:24:55 CET 2015
lib/Auth/LDAP.php | 12 ++++++++----
lib/api/kolab_api_service_domain.php | 6 +++---
2 files changed, 11 insertions(+), 7 deletions(-)
New commits:
commit 56a0b8eb70e4567ca7f973409321a031297f96a6
Author: Aleksander Machniak <machniak at kolabsys.com>
Date: Thu Mar 5 05:24:09 2015 -0500
Fix "illegal offset" error and small perf. issue in domain_is_empty() (#4791)
diff --git a/lib/Auth/LDAP.php b/lib/Auth/LDAP.php
index ce0762e..2e28c1e 100644
--- a/lib/Auth/LDAP.php
+++ b/lib/Auth/LDAP.php
@@ -448,25 +448,29 @@ class LDAP extends Net_LDAP3 {
/**
* Checkes if specified domain is empty (no users assigned)
*
- * @param string $domain Domain name
+ * @param string|array $domain Domain name or domain_info() result
*
* @return bool True if domain is empty, False otherwise
*/
public function domain_is_empty($domain)
{
- $this->_log(LOG_DEBUG, "Auth::LDAP::domain_is_empty($domain)");
-
$domain_name_attribute = $this->conf->get('ldap', 'domain_name_attribute');
if (empty($domain_name_attribute)) {
$domain_name_attribute = 'associateddomain';
}
- $domain = $this->domain_info($domain);
+ if (!is_array($domain)) {
+ $domain = $this->domain_info($domain);
+ }
if (!empty($domain)) {
$domain_dn = key($domain);
$domain_name = $domain[$domain_dn][$domain_name_attribute];
+
+ if (is_array($domain_name)) {
+ $domain_name = $domain_name[0];
+ }
}
else {
return false;
diff --git a/lib/api/kolab_api_service_domain.php b/lib/api/kolab_api_service_domain.php
index dcc8778..f9910df 100644
--- a/lib/api/kolab_api_service_domain.php
+++ b/lib/api/kolab_api_service_domain.php
@@ -160,13 +160,13 @@ class kolab_api_service_domain extends kolab_api_service
&& (empty($postdata['force']) || strtolower($postdata['force']) == 'false')
) {
$domain = $auth->domain_info($postdata['id']);
-
- if ($domain['inetdomainstatus'] != 'deleted' && !$auth->domain_is_empty($postdata['id'])) {
+ if (!empty($domain) && $domain[key($domain)]['inetdomainstatus'] != 'deleted'
+ && !$auth->domain_is_empty($domain)
+ ) {
throw new kolab_api_exception(kolab_api_exception::DOMAIN_NOT_EMPTY);
}
}
-
$attributes = $this->parse_input_attributes('domain', $postdata);
$result = $auth->domain_edit($postdata['id'], $attributes, $postdata['type_id']);
More information about the commits
mailing list