X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fadmin%2Fgroups%2Fclass_groupApplication.inc;h=4a4fde162c069a21fe595b08f4b95b940961ac92;hb=4f507bf6c24fd9a5c50928b3a0c334ba5529c42d;hp=8644c88b0077101d8a1d8ccac8ce0e06bc9aed94;hpb=e8841a7c535ca2cda8047d96f2c664604f5b9703;p=gosa.git diff --git a/plugins/admin/groups/class_groupApplication.inc b/plugins/admin/groups/class_groupApplication.inc index 8644c88b0..4a4fde162 100644 --- a/plugins/admin/groups/class_groupApplication.inc +++ b/plugins/admin/groups/class_groupApplication.inc @@ -39,7 +39,7 @@ class appgroup extends plugin var $gosaApplicationParameter ; - function appgroup ($config, $dn= NULL) + function appgroup ($config, $dn= NULL, $parent= NULL) { /* prepare group app for release management */ @@ -50,7 +50,7 @@ class appgroup extends plugin $this->attributes[] = "FAIrelease"; } - plugin::plugin ($config, $dn); + plugin::plugin ($config, $dn, $parent); /* In some case of old applikations with old release tag saving, we must reassign is_account state. @@ -371,7 +371,6 @@ class appgroup extends plugin /* Call parent execute */ plugin::execute(); - if((isset($_GET['act']))&&($_GET['act']=="depopen")){ $dep = base64_decode($_GET['depid']); if(isset($this->config->idepartments[$dep])){ @@ -455,9 +454,15 @@ class appgroup extends plugin foreach($this->gosaMemberApplication as $key => $cat){ foreach($cat as $key2 => $app){ + if($app['App'] == $val){ unset($this->gosaMemberApplication[$key][$key2]); if(isset($this->used_apps[$val])){ + foreach($this->getParameters($val) as $para){ + if(isset($this->appoption[$para])){ + unset($this->appoption[$para]); + } + } unset($this->used_apps[$val]); } } @@ -999,6 +1004,27 @@ class appgroup extends plugin $this->is_modified= TRUE; } + function getParameters($app) + { + $tmp = $this->getReleases(); + $ret = array(); + if(in_array($this->FAIrelease,$tmp)){ + $tmp2 = array_flip($tmp); + $base = $tmp2[$this->FAIrelease]; + $ldap = $this->config->get_ldap_link(); + $ldap->cd($this->config->current['BASE']); + $ldap->search("(&(objectClass=gosaApplication)(cn=".$app.")(gosaApplicationParameter=*))",array("gosaApplicationParameter")); + if($ldap->count()){ + $attrs = $ldap->fetch(); + for($i = 0 ; $i < $attrs['gosaApplicationParameter']['count'] ; $i ++ ){ + $name = preg_replace("/:.*$/","",$attrs['gosaApplicationParameter'][$i]); + $ret[$name] = $name; + } + } + } + return($ret); + } + function GetSubdirs($dir) { $ret = array();