From: hickert Date: Fri, 9 Jun 2006 11:02:57 +0000 (+0000) Subject: Added fserv repository fix X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=eb53040dbb682796d05050b43ca020787907bcbf;p=gosa.git Added fserv repository fix git-svn-id: https://oss.gonicus.de/repositories/gosa/branches/2.5@3761 594d385d-05f5-0310-b6e9-bd551577e9d8 --- diff --git a/plugins/admin/systems/class_servRepository.inc b/plugins/admin/systems/class_servRepository.inc index c3247fb09..9a3114e80 100644 --- a/plugins/admin/systems/class_servRepository.inc +++ b/plugins/admin/systems/class_servRepository.inc @@ -101,93 +101,97 @@ class servrepository extends plugin _("This server has FAI repository features disabled. You can enable them by clicking below.")); return ($display); } - + /* - ADD / EDIT Repository - Dialog Handling - */ - + ADD / EDIT Repository + Dialog Handling + */ + $once = false; - foreach($_POST as $name => $value){ + if(isset($_POST['servRepository'])){ + foreach($_POST as $name => $value){ - if(preg_match("/AddRepository/",$name)){ - $once = true; - $this->dialog = new servRepositorySetup($this->config,$this->dn); - $this->dialog->acl = $this->acl; - } + if(preg_match("/AddRepository/",$name)){ + $once = true; + $this->dialog = new servRepositorySetup($this->config,$this->dn); + $this->dialog->acl = $this->acl; + } - if((preg_match("/^delete_/",$name))&&(!$once)){ - $once = true; - $value = preg_replace("/delete_/","",$name); - $value = base64_decode(preg_replace("/_.*$/","",$value)); + if((preg_match("/^delete_/",$name))&&(!$once)){ + $once = true; + $value = preg_replace("/delete_/","",$name); + $value = base64_decode(preg_replace("/_.*$/","",$value)); - $url = $this->repositories[$value]['Url']; - $release = $this->repositories[$value]['Release']; + $url = $this->repositories[$value]['Url']; + $release = $this->repositories[$value]['Release']; - $ldap = $this->config->get_ldap_link(); - $ldap->cd ($this->config->current['BASE']); - - $ldap->search("(&(objectClass=gotoWorkstation)(objectClass=FAIobject)(FAIdebianMirror=".$url."))",array("cn","FAIclass")); - - $found = false; - $found_in = " "; - while($attrs = $ldap->fetch()){ - foreach($attrs['FAIclass'] as $class){ - if(preg_match("/".str_replace("/","\/",$release)."$/i",$class)){ - $found = true; - $found_in .= $attrs['cn'][0]." "; + $ldap = $this->config->get_ldap_link(); + $ldap->cd ($this->config->current['BASE']); + + $ldap->search("(&(objectClass=gotoWorkstation)(objectClass=FAIobject)(FAIdebianMirror=".$url."))",array("cn","FAIclass")); + + $found = false; + $found_in = " "; + while($attrs = $ldap->fetch()){ + foreach($attrs['FAIclass'] as $class){ + if(preg_match("/".str_replace("/","\/",$release)."$/i",$class)){ + $found = true; + $found_in .= $attrs['cn'][0]." "; + } } } - } - - if($found){ - print_red(sprintf(_("You can't delete this release, it is still used by these workstations [%s]. Please solve this dependencies first, to keep data base consistency."),$found_in)); - }else{ - if(isset($this->repositories[$value])){ - unset($this->repositories[$value]); + + if($found){ + print_red(sprintf(_("You can't delete this release, it is still used by these workstations [%s]. Please solve this dependencies first, to keep data base consistency."),$found_in)); + }else{ + if(isset($this->repositories[$value])){ + unset($this->repositories[$value]); + } } } - } - if((preg_match("/^edit_/",$name))&&(!$once)){ - $value = preg_replace("/edit_/","",$name); - $value = base64_decode(preg_replace("/_.$/","",$value)); + if((preg_match("/^edit_/",$name))&&(!$once)){ + $value = preg_replace("/edit_/","",$name); + $value = base64_decode(preg_replace("/_.$/","",$value)); - $ldap = $this->config->get_ldap_link(); - $ldap->cd ($this->config->current['BASE']); - - $url = $this->repositories[$value]['Url']; - $release = $this->repositories[$value]['Release']; - - $ldap->search("(&(objectClass=gotoWorkstation)(objectClass=FAIobject)(FAIdebianMirror=".$url."))",array("cn","FAIclass")); - - $found = false; - $found_in = " "; - while($attrs = $ldap->fetch()){ - foreach($attrs['FAIclass'] as $class){ - if(preg_match("/".str_replace("/","\/",$release)."$/i",$class)){ - $found = true; - $found_in .= $attrs['cn'][0]." "; + if(isset($this->repositories[$value])){ + + $ldap = $this->config->get_ldap_link(); + $ldap->cd ($this->config->current['BASE']); + + $url = $this->repositories[$value]['Url']; + $release = $this->repositories[$value]['Release']; + + $ldap->search("(&(objectClass=gotoWorkstation)(objectClass=FAIobject)(FAIdebianMirror=".$url."))",array("cn","FAIclass")); + + $found = false; + $found_in = " "; + while($attrs = $ldap->fetch()){ + foreach($attrs['FAIclass'] as $class){ + if(preg_match("/".str_replace("/","\/",$release)."$/i",$class)){ + $found = true; + $found_in .= $attrs['cn'][0]." "; + } + } } - } - } - - if($found){ - print_red(sprintf(_("Be careful editing this release, it is still used by these workstations [%s]."),$found_in)); - } - if(isset($this->repositories[$value])){ - $once = true; - $obj = $this->repositories[$value]; - - /* to be able to detect if this was renamed */ - $obj['initialy_was'] = $obj['Release']; - $this->dialog = new servRepositorySetup($this->config,$this->dn,$obj); - $this->dialog->acl = $this->acl; + if($found){ + print_red(sprintf(_("Be careful editing this release, it is still used by these workstations [%s]."),$found_in)); + } + + if(isset($this->repositories[$value])){ + $once = true; + $obj = $this->repositories[$value]; + + /* to be able to detect if this was renamed */ + $obj['initialy_was'] = $obj['Release']; + $this->dialog = new servRepositorySetup($this->config,$this->dn,$obj); + $this->dialog->acl = $this->acl; + } + } } } } - if((isset($_GET['act']))&&($_GET['act']=="open")&&(isset($_GET['id']))){ $obj = $this->repositories[base64_decode($_GET['id'])]; $obj['initialy_was'] = $obj['Release'];