X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fadmin%2Fsystems%2Fclass_workstationStartup.inc;h=02e5b7ea0c81668b990c35aacdbff524795c686c;hb=c30fdf675865a86365275ed6fb9f8a0cc06e41af;hp=5d020a17d81bf907cebd9474239f7bce6aab7c57;hpb=242ca40f4668b80c51069f9371b75c8725455728;p=gosa.git diff --git a/plugins/admin/systems/class_workstationStartup.inc b/plugins/admin/systems/class_workstationStartup.inc index 5d020a17d..02e5b7ea0 100644 --- a/plugins/admin/systems/class_workstationStartup.inc +++ b/plugins/admin/systems/class_workstationStartup.inc @@ -2,11 +2,6 @@ class workstartup extends plugin { - /* CLI vars */ - var $cli_summary= "Manage terminal startup options"; - 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 $bootmode = "G"; var $goLdapServerList = array(); @@ -56,6 +51,7 @@ class workstartup extends plugin var $FAIServRepConfig = array(); var $fai_activated = FALSE; + var $member_of_ogroup = FALSE; function workstartup ($config, $dn= NULL, $parent= NULL) { @@ -70,6 +66,13 @@ class workstartup extends plugin plugin::plugin ($config, $dn, $parent); + if(!isset($this->parent->by_object['ogroup'])){ + $ldap = $this->config->get_ldap_link(); + $ldap->cd ($this->config->current['BASE']); + $ldap->search("(&(objectClass=gotoWorkstationTemplate)(member=".$this->dn."))",array("cn")); + $this->member_of_ogroup = $ldap->count() >= 1; + } + /* Creating a list of valid Mirrors * none will not be saved to ldap. */ @@ -159,8 +162,10 @@ class workstartup extends plugin ['PACKAGES'][0] "pkg1"; ['PACKAGES'][1] "postfix"; */ - - $ldap->search("(&(FAIrepository=*)(objectClass=FAIrepositoryServer))",array("FAIrepository")); + $filter= ""; + $ui= get_userinfo(); + if (isset($config->current['STRICT_UNITS']) && preg_match('/TRUE/i', $config->current['STRICT_UNITS']) && $ui->gosaUnitTag != ""){ $filter= "(gosaUnitTag=".$ui->gosaUnitTag.")"; + } $ldap->search("(&(FAIrepository=*)(objectClass=FAIrepositoryServer)$filter)",array("FAIrepository")); $test = array(); while($attr = $ldap->fetch()){ if(isset($attr['FAIrepository'])){ @@ -299,11 +304,11 @@ class workstartup extends plugin /* Load hardware list */ - $ldap= $this->config->get_ldap_link(); - $ldap->cd($this->config->current['BASE']); - $ldap->search("(&(objectClass=gotoWorkstationTemplate)(member=".$this->dn."))"); - if ($ldap->count() == 1){ + if ($this->member_of_ogroup){ + if(count($this->FAIclass)==0 && $this->FAIrelease == ""){ + $this->FAIdebianMirror = "inherited"; + } if($this->fai_activated){ $map= array("gotoLdapServer","FAIclass","FAIdebianMirror","gotoBootKernel"); @@ -379,9 +384,6 @@ class workstartup extends plugin $this->gotoBootKernel= "default"; } - if(count($this->FAIclass)==0 && $this->FAIrelease == ""){ - $this->FAIdebianMirror = "inherited"; - } } @@ -693,6 +695,8 @@ class workstartup extends plugin $use = " checked "; }; + $use .= chkacl($this->acl,"gotoLdapServer"); + $display = $server; $SelectBoxLdapServer->AddEntry( @@ -826,7 +830,13 @@ class workstartup extends plugin function getFAIdebianMirrors() { $ret = array(); - $ret['inherited']="["._("inherited")."]"; + + /* Only add inherit option, if we are part in an object group + */ + if($this->member_of_ogroup) { + $ret['inherited']="["._("inherited")."]"; + } + $ret['auto']=_("automatic"); $secs = array();