From 7d4dd7bda222b64c725f6712975e7886d9258695 Mon Sep 17 00:00:00 2001 From: Roland Gruber Date: Sat, 22 Apr 2017 11:25:25 +0200 Subject: [PATCH] new type API --- lam/lib/modules/ddns.inc | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/lam/lib/modules/ddns.inc b/lam/lib/modules/ddns.inc index 9e0a8483..fae8fd55 100644 --- a/lam/lib/modules/ddns.inc +++ b/lam/lib/modules/ddns.inc @@ -1,5 +1,4 @@ attributes = &$this->getAccountContainer()->getAccountModule('dhcp_settings')->attributes; $this->orig = &$this->getAccountContainer()->getAccountModule('dhcp_settings')->orig; - if ($this->getAccountContainer()->dn_orig==$_SESSION['config']->get_suffix('dhcp')) { + if ($this->isRootNode()) { // check if DHCP main settings and valid DHCP entry if (!in_array_ignore_case('dhcpService', $this->attributes['objectClass']) && !in_array_ignore_case('dhcpServer', $this->attributes['objectClass'])) { return false; @@ -186,6 +185,16 @@ class ddns extends baseModule { return true; } + /** + * Returns if the current DN is the root entry. + * + * @return bool is root + */ + private function isRootNode() { + $rootSuffix = $this->getAccountContainer()->get_type()->getSuffix(); + return $this->getAccountContainer()->dn_orig == $rootSuffix; + } + /** * Returns a list of modifications which have to be made to the LDAP account. * @@ -229,7 +238,7 @@ class ddns extends baseModule { $errors = array(); // Main Settings and Account have to different processes. - if ($this->getAccountContainer()->dn_orig==$_SESSION['config']->get_suffix('dhcp')) { + if ($this->isRootNode()) { // main settings: $errors = $this->process_attributes_mainSettings(); } @@ -349,13 +358,11 @@ class ddns extends baseModule { $this->orig = &$this->getAccountContainer()->getAccountModule('dhcp_settings')->orig; $return = new htmlTable(); // check if DHCP main settings and valid DHCP entry - if ($_SESSION['config']->get_suffix('dhcp') == $this->getAccountContainer()->dn_orig) { + if ($this->isRootNode()) { if (!in_array_ignore_case('dhcpService', $this->attributes['objectClass']) && !in_array_ignore_case('dhcpServer', $this->attributes['objectClass'])) { $return->addElement(new htmlStatusMessage('ERROR', _('Please set your LDAP suffix to an LDAP entry with object class "dhcpService" or "dhcpServer".'))); return $return; } - } - if ($this->getAccountContainer()->dn_orig == $_SESSION['config']->get_suffix('dhcp')) { // DHCP main settings $return->addElement(new htmlTableExtendedInputCheckbox('active', $this->isDynDNSActivated(), _('Activate DynDNS'), 'active'), true); $return->addElement(new htmlTableExtendedInputCheckbox('insert_fixed', $this->addFixIPs(), _('Add fix IP addresses to DNS'), 'fixed_ips'), true);