X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fadmin%2Fsystems%2Fclass_componentGeneric.inc;h=2463ca1173fd6aa6d51cc818c293de483c675bdb;hb=868f556da0e7c0003fb3ae735559e6500e5bc3ed;hp=ff0aa7d81d8ea2ddaf0f84dec9b2d6ac07354d21;hpb=d1a1f67066cf07616d37a1b3cd983082d0028f2f;p=gosa.git diff --git a/plugins/admin/systems/class_componentGeneric.inc b/plugins/admin/systems/class_componentGeneric.inc index ff0aa7d81..2463ca117 100644 --- a/plugins/admin/systems/class_componentGeneric.inc +++ b/plugins/admin/systems/class_componentGeneric.inc @@ -2,11 +2,6 @@ class componentGeneric extends plugin { - /* CLI vars */ - var $cli_summary= "Manage component base objects"; - var $cli_description= "Some longer text\nfor help"; - var $cli_parameters= array("eins" => "Eins ist toll", "zwei" => "Zwei ist noch besser"); - /* Generic terminal attributes */ var $interfaces= array(); var $ignore_account= TRUE; @@ -22,9 +17,9 @@ class componentGeneric extends plugin var $objectclasses= array("top", "device", "ipHost", "ieee802Device"); var $netConfigDNS; - function componentgeneric ($config, $dn= NULL) + function componentgeneric ($config, $dn= NULL, $parent= NULL) { - plugin::plugin ($config, $dn); + plugin::plugin ($config, $dn, $parent); /* Set base */ if ($this->dn == "new"){ @@ -35,14 +30,18 @@ class componentGeneric extends plugin $this->base= preg_replace ("/^[^,]+,[^,]+,[^,]+,/", "", $this->dn); } $this->netConfigDNS = new termDNS($this->config,$this->dn,$this->objectclasses, true); + $this->netConfigDNS->acl = $this->acl; + /* Save dn for later references */ $this->orig_dn= $this->dn; } function execute() { - /* Call parent execute */ - plugin::execute(); + $this->netConfigDNS->acl = $this->acl; + + /* Call parent execute */ + plugin::execute(); /* Do we represent a valid phone? */ if (!$this->is_account && $this->parent == NULL){ @@ -86,19 +85,22 @@ 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 */ + $this->netConfigDNS->cn= $this->cn; $smarty->assign("netconfig", $this->netConfigDNS->execute()); return($smarty->fetch (get_template_path('component.tpl', TRUE))); } function remove_from_parent() { + $this->netConfigDNS->acl = $this->acl; $ldap= $this->config->get_ldap_link(); $this->netConfigDNS->remove_from_parent(); $ldap->rmdir($this->dn); show_ldap_error($ldap->get_error(), _("Removing generic component failed")); - $this->handle_post_events("remove"); + $this->handle_post_events("remove",array("macAddress" => $this->netConfigDNS->macAddress,"ipHostNumber" => $this->netConfigDNS->ipHostNumber)); /* Delete references to object groups */ $ldap->cd ($this->config->current['BASE']); @@ -175,6 +177,7 @@ class componentGeneric extends plugin /* Save to LDAP */ function save() { + $this->netConfigDNS->acl = $this->acl; plugin::save(); /* Remove all empty values */ @@ -203,7 +206,7 @@ class componentGeneric extends plugin $ldap->create_missing_trees(preg_replace('/^[^,]+,/', '', $this->dn)); $ldap->cd($this->dn); $ldap->add($this->attrs); - $this->handle_post_events("add"); + $this->handle_post_events("add",array("macAddress" => $this->netConfigDNS->macAddress,"ipHostNumber" => $this->netConfigDNS->ipHostNumber)); } else { if ($this->orig_dn != $this->dn){ $this->move($this->orig_dn, $this->dn); @@ -213,18 +216,14 @@ class componentGeneric extends plugin $this->cleanup(); $ldap->modify ($this->attrs); - $this->handle_post_events("modify"); + $this->handle_post_events("modify",array("macAddress" => $this->netConfigDNS->macAddress,"ipHostNumber" => $this->netConfigDNS->ipHostNumber)); } $this->netConfigDNS->cn = $this->cn; $this->netConfigDNS->save($this->dn); show_ldap_error($ldap->get_error(), _("Saving generic component failed")); - - /* Optionally execute a command after we're done */ - $this->postcreate(); } - } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: