X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fadmin%2Fsystems%2Fclass_servRepositorySetup.inc;h=a1c62e7baad9a62b52d3681d66f81a5dc41eb0ad;hb=96e561f68b807338f5f8923b665eb96376bd2f11;hp=b4a9d686f898a9ad348865c37a8530352a8cec13;hpb=07e6492263fef837908f515518bd362b433a44ce;p=gosa.git diff --git a/plugins/admin/systems/class_servRepositorySetup.inc b/plugins/admin/systems/class_servRepositorySetup.inc index b4a9d686f..a1c62e7ba 100644 --- a/plugins/admin/systems/class_servRepositorySetup.inc +++ b/plugins/admin/systems/class_servRepositorySetup.inc @@ -9,16 +9,17 @@ class servRepositorySetup extends plugin /* attribute list for save action */ var $ignore_account = TRUE; - var $attributes = array("Release","ParentServer","Url"); + var $attributes = array("Release","ParentServer","Url","cn"); var $objectclasses = array("whatever"); /* Attributes */ - var $Release =""; - var $ParentServer =""; - var $Url =""; - var $Sections =array(); - var $ParentServers =""; - var $initialy_was=false; + var $Release = ""; + var $ParentServer = ""; + var $Url = ""; + var $Sections = array(); + var $ParentServers = ""; + var $initialy_was = false; + var $cn = ""; function servRepositorySetup ($config, $dn= NULL,$data = false) { @@ -60,7 +61,24 @@ class servRepositorySetup extends plugin $smarty= get_smarty(); if((isset($_POST['AddSection']))&&(isset($_POST['SectionName']))&&(!empty($_POST['SectionName']))){ - $this->Sections[$_POST['SectionName']]=$_POST['SectionName']; + + /* Replace multiple spaces with a single, and cut of white spaces (trim)*/ + $val = preg_replace("/\ \ * /" , " ", trim($_POST['SectionName'])); + + /* check if there are more than one entry given ( "section1 section2 )*/ + if(preg_match("/ /",$val)){ + + /* Generate list of new section names */ + $vals = split(" ",$val); + + /* Add new entries */ + foreach($vals as $entry){ + $entry = trim($entry); + $this->Sections[$entry]=$entry; + } + }else{ + $this->Sections[$val]=$val; + } } foreach($_POST as $name => $value){ @@ -144,6 +162,7 @@ class servRepositorySetup extends plugin $ldap->cd($this->config->current['BASE']); $ldap->search("(objectClass=FAIrepositoryServer)",array("*")); while($attr = $ldap->fetch()){ + if($attr['cn'][0] == $this->cn) continue; $ret[$attr['cn'][0]]= $attr['cn'][0]; } @@ -160,23 +179,23 @@ class servRepositorySetup extends plugin function GetHookElements() { $ret = array(); - $cmd= search_config($this->config->data['TABS'], "servrepository", "EXTERNAL_HOOK"); + $cmd= search_config($this->config->data['TABS'], "servrepository", "REPOSITORY_HOOK"); if(!empty($cmd)){ $res = shell_exec($cmd); $res2 = trim($res); - if((!$res)){ - print_red(sprintf(_("Can't execute specified EXTERNAL_HOOK '%s' please check your gosa.conf."),$cmd)); + if(!$res){ + print_red(sprintf(_("Can't execute specified REPOSITORY_HOOK '%s'. Please check your gosa.conf."),$cmd)); }elseif(empty($res2)){ - print_red(sprintf(_("The specified EXTERNAL_HOOK '%s', specified in your gosa.conf, returns an empty string."),$cmd)); + print_red(sprintf(_("The specified REPOSITORY_HOOK '%s', specified in your gosa.conf, returns an empty string."),$cmd)); }else{ $tmp = split("\n",$res); foreach($tmp as $hook){ /* skip empty */ if(empty($hook)) continue; - if(preg_match("/\:/",$hook)){ - $hookinfo = split(":",$hook); - $ret[$hookinfo[1]] = $hookinfo[0]; + if(preg_match("/;/",$hook)){ + $hookinfo = split(";",$hook); + $ret[$hookinfo[0]] = $hookinfo[0]; }else{ $ret[$hook] = $hook; }