X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_baseSelectDialog.inc;h=d43da2ee64ab7daee81b27d2932d052ff47c0a22;hb=f43c362c3ff296dd9270bd48f2c7feecf34b7375;hp=4944092707d3360b669d66cb998242137b799faf;hpb=ea4209cbbc2e740ca996a72970ab7379e3b0c32d;p=gosa.git diff --git a/gosa-core/include/class_baseSelectDialog.inc b/gosa-core/include/class_baseSelectDialog.inc index 494409270..d43da2ee6 100644 --- a/gosa-core/include/class_baseSelectDialog.inc +++ b/gosa-core/include/class_baseSelectDialog.inc @@ -32,7 +32,7 @@ class baseSelectDialog extends MultiSelectWindow function baseSelectDialog (&$config,$parent,$onlyAllowThisBases = array()) { - $module= "all"; + $module= "department"; MultiSelectWindow::MultiSelectWindow($config, "BASEselectWindow", $module); $this->parent = $parent; @@ -63,10 +63,6 @@ class baseSelectDialog extends MultiSelectWindow $this->AddHeader(array("string"=>" ","attach"=>"style='width:20px;'")); $this->AddHeader(array("string"=>_("Base"))); - $this->AddHeader(array("string"=>_("Action"),"attach"=>"style='width:50px;border-right:0px;'")); - - /* Text ,Value ,Name ,Is selected */ -// $this->AddCheckBox("Doesnothing","servers","Doesnothing",true); /* Name ,Text ,Default , Connect with alphabet */ $this->AddRegex ("base_selection_regex",_("Filter entries with this syntax"),"*" , true); @@ -74,69 +70,14 @@ class baseSelectDialog extends MultiSelectWindow function execute() { - $this->setEntries(); + $this->ClearElementsList(); + $this->AddDepartments($this->selectedBase,2); return($this->Draw()); } function setEntries() { - $this->ClearElementsList(); - $ldap = $this->config->get_ldap_link(); - $ldap->cd($this->selectedBase); - $ldap->ls("(&(objectClass=gosaDepartment) - (|(ou=".$this->base_selection_regex.") - (cn=".$this->base_selection_regex.") - (description=".$this->base_selection_regex.")))", - $this->selectedBase,array("ou","description","cn")); - - $link = "%s"; - - $base_back = preg_replace("/^[^,]+,/","",$this->selectedBase); - $base_back = convert_department_dn($base_back); - - /* Add departments, to be able to switch into them - */ - while($attrs = $ldap->fetch()){ - - $key = $attrs['dn'] ; - $val = $attrs['ou'][0]; - - if(count($this->allowedBases) != 0){ - if(!isset($this->allowedBases[$key])){ - continue; - break; - } - } - - /* Append description */ - if(isset($attrs['description'][0])){ - $val.=" [".$attrs['description'][0]."]"; - } - - /* Add missing entries ... */ - if(!isset($this->config->departments[trim($key)])){ - $this->config->departments[trim($key)]=""; - } - - /* check if this department contains sub-departments - Display different image in this case - */ - $non_empty=""; - $keys= str_replace("/","\/",$key); - foreach($this->config->departments as $keyd ){ - if(preg_match("/,".$keys."/",$keyd)){ - $non_empty="-full"; - } - } - - /* Add to divlist */ - $field1 = array("string" => "department", - "attach" => "style='text-align:center;width:20px;'"); - $field2 = array("string" => sprintf($link,base64_encode($key),$val), "attach" => "style=''"); - $field3 = array("string" => sprintf(" ",base64_encode($key)), - "attach" => "style='width:50px;border-right:0px;text-align:right;'"); - $this->AddElement(array($field1,$field2,$field3)); - } + // Do nothing here } function Save() @@ -154,64 +95,6 @@ class baseSelectDialog extends MultiSelectWindow { $this->selectedBase = $base; } - - function save_object() - { - /* Save current base */ - $old_base = $this->selectedBase; - - /* Save automatic created POSTs like regex, checkboxes */ - MultiSelectWindow::save_object(); - - if(isset($_GET['open_dep'])){ - $this->selectedBase = base64_decode($_GET['open_dep']); - } - - $s_action =""; - foreach($_POST as $key => $value){ - if(preg_match("/^dep_back.*/i",$key)){ - $s_action="back"; - }elseif(preg_match("/^dep_root.*/",$key)){ - $s_action="root"; - }elseif(preg_match("/^dep_home.*/i",$key)){ - $s_action="home"; - }elseif(preg_match("/^usebase_/",$key)){ - $tmp = preg_replace("/^usebase_/","",$key); - $tmp = preg_replace("/_.*$/","",$tmp); - $tmp = base64_decode($tmp); - $this->BaseToUse = $tmp; - } - } - - $ui= get_userinfo(); - /* Homebutton is posted */ - if($s_action=="home"){ - $this->selectedBase=(preg_replace("/^[^,]+,/","",$ui->dn)); - $this->selectedBase=(preg_replace("/^[^,]+,/","",$this->selectedBase)); - } - - /* back to the roots ^^ */ - if($s_action=="root"){ - $this->selectedBase=($this->config->current['BASE']); - } - - /* If Backbutton is Posted */ - if($s_action=="back"){ - $base_back = preg_replace("/^[^,]+,/","",$this->selectedBase); - $base_back = convert_department_dn($base_back); - - if(isset($this->config->departments[trim($base_back)])){ - $this->selectedBase= $this->config->departments[trim($base_back)]; - }else{ - $this->selectedBase= $this->config->departments["/"]; - } - } - - /* Restore old base, if selected base is not allowed */ - if(count($this->allowedBases) && !isset($this->allowedBases[$this->selectedBase])){ - $this->selectedBase = $old_base; - } - } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?>