X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fadmin%2Fsystems%2Fclass_componentGeneric.inc;h=a6d93bb19da55c382f71a951f75871186f52e5c4;hb=7385deb3e680ce8a77f131b62907146bbf01075f;hp=3b1f4168b91fe3f1f2eb623e21d772bc93bab8ce;hpb=64d0b0a56e252b125e0c1a61d97f46007c0c478b;p=gosa.git diff --git a/plugins/admin/systems/class_componentGeneric.inc b/plugins/admin/systems/class_componentGeneric.inc index 3b1f4168b..a6d93bb19 100644 --- a/plugins/admin/systems/class_componentGeneric.inc +++ b/plugins/admin/systems/class_componentGeneric.inc @@ -34,7 +34,7 @@ class componentGeneric extends plugin } else { $this->base= preg_replace ("/^[^,]+,[^,]+,[^,]+,/", "", $this->dn); } - $this->netConfigDNS = new termDNS($this->config,$this->dn,$this->objectclasses); + $this->netConfigDNS = new termDNS($this->config,$this->dn,$this->objectclasses, true); /* Save dn for later references */ $this->orig_dn= $this->dn; } @@ -56,7 +56,7 @@ class componentGeneric extends plugin foreach($_POST as $name => $value){ if(preg_match("/^chooseBase/",$name) && $once){ $once = false; - $this->dialog = new baseSelectDialog($this->config); + $this->dialog = new baseSelectDialog($this->config,$this); $this->dialog->setCurrentBase($this->base); } } @@ -86,6 +86,7 @@ class componentGeneric extends plugin $smarty->assign("$attr", $this->$attr); } $smarty->assign("base_select", $this->base); + $smarty->assign("baseACL", chkacl($this->acl,"base")); /* Show main page */ $smarty->assign("netconfig", $this->netConfigDNS->execute()); @@ -97,7 +98,7 @@ class componentGeneric extends plugin $ldap= $this->config->get_ldap_link(); $this->netConfigDNS->remove_from_parent(); $ldap->rmdir($this->dn); - show_ldap_error($ldap->get_error()); + show_ldap_error($ldap->get_error(), sprintf(_("Removing of system component/generic with dn '%s' failed."),$this->dn)); $this->handle_post_events("remove"); /* Delete references to object groups */ @@ -138,6 +139,15 @@ class componentGeneric extends plugin $message[]= _("The required field 'Component name' is not set."); } + /* To check for valid ip*/ + if($this->netConfigDNS->ipHostNumber == ""){ + $message[]= _("The required field IP address is empty."); + } else { + if (!is_ip($this->netConfigDNS->ipHostNumber)){ + $message[]= _("The field IP address contains an invalid address."); + } + } + $ui= get_userinfo(); $acl= get_permissions ($this->dn, $ui->subtreeACL); $acl= get_module_permission($acl, "component", $this->dn); @@ -210,12 +220,31 @@ class componentGeneric extends plugin $this->netConfigDNS->cn = $this->cn; $this->netConfigDNS->save($this->dn); - show_ldap_error($ldap->get_error()); + show_ldap_error($ldap->get_error(), sprintf(_("Saving of system component/generic with dn '%s' failed."),$this->dn)); /* Optionally execute a command after we're done */ $this->postcreate(); } + /* Return plugin informations for acl handling */ + function plInfo() + { + return (array( + "plShortName" => _("Generic"), + "plDescription" => _("Component generic"), + "plSelfModify" => FALSE, + "plDepends" => array(), + "plPriority" => 0, + "plSection" => array("administration"), + "plCategory" => array("component" => array("description" => _("Network device"), + "objectClass" => array("device", "ipHost", "ieee802Device"))), + "plProvidedAcls"=> array( + "cn" => _("Name"), + "description" => _("Description")) + )); + } + + } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: