X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-plugins%2Ffai%2Fadmin%2Ffai%2Fclass_faiProfile.inc;h=db587ac06f055f69019b88dab17e8760664771e2;hb=cb773874cb502bc0f01aeefc43849e0522e1a4d9;hp=269652ff85d6b08e4f2faa123929054b25153f30;hpb=049d82cc1f343b829bcfdcb751a0b2222d3d7f15;p=gosa.git diff --git a/gosa-plugins/fai/admin/fai/class_faiProfile.inc b/gosa-plugins/fai/admin/fai/class_faiProfile.inc index 269652ff8..db587ac06 100644 --- a/gosa-plugins/fai/admin/fai/class_faiProfile.inc +++ b/gosa-plugins/fai/admin/fai/class_faiProfile.inc @@ -23,6 +23,8 @@ class faiProfile extends plugin var $FAIstate = ""; var $view_logged = FALSE; + var $classSelect; + function faiProfile(&$config, $dn= NULL) { /* Load Attributes */ @@ -32,7 +34,7 @@ class faiProfile extends plugin $this->ui = get_userinfo(); /* Parse ldap attribute to get all assigned classes */ - $tmp = split(" ",$this->FAIclass); + $tmp = explode(" ",$this->FAIclass); $tmp2 = array(); foreach($tmp as $class){ if(!empty($class)){ @@ -120,7 +122,7 @@ class faiProfile extends plugin { if($dn == "new" || $dn == ""){ if($this->dn == "new"){ - $dn = session::get('CurrentMainBase'); + $dn= $this->parent->parent->acl_base; }else{ $dn = $this->dn; } @@ -250,39 +252,32 @@ class faiProfile extends plugin } if($s_action == "add" && $this->acl_is_writeable("FAIclass")){ - $this->dialog = new faiProfileEntry($this->config,$this->dn,$this->FAIclasses,$this->parent->parent->fai_release); - $this->is_dialog =true; + $this->classSelect = new classSelect($this->config, get_userinfo()); + $this->dialog =true; } /* Save Dialog */ - if(isset($_POST['SaveSubObject'])){ - $this->dialog->save_object(); - $msgs= $this->dialog->check(); - if(count($msgs)){ - msg_dialog::display(_("Error"), $msgs, ERROR_DIALOG); - }else{ - $ret = $this->dialog->save(); - foreach($ret as $class){ - $this->FAIclasses[$class] =$class; - } - $this->is_dialog=false; - unset($this->dialog); - $this->dialog=FALSE; - //ksort($this->FAIclasses); + if(isset($_POST['classSelect_save']) && $this->classSelect instanceOf classSelect){ + $list = $this->classSelect->save(); + foreach($list as $entry){ + $class = $entry['cn'][0]; + $this->FAIclasses[$class] =$class; } + $this->dialog=false; + $this->classSelect=FALSE; } } /* Cancel Dialog */ - if(isset($_POST['CancelSubObject'])){ - $this->is_dialog=false; - unset($this->dialog); - $this->dialog=FALSE; + if(isset($_POST['classSelect_cancel']) && $this->classSelect instanceOf classSelect){ + $this->dialog=false; + $this->classSelect=FALSE; } - if(is_object($this->dialog)){ - $this->dialog->save_object(); - return($this->dialog->execute()); + if($this->classSelect instanceOf classSelect){ + session::set('filterFAIClass_base',$this->parent->parent->fai_release); + session::set('filterBlacklist', array('cn' => array_values($this->FAIclasses))); + return($this->classSelect->execute()); } $divlist =new divSelectBox("Profile"); @@ -446,7 +441,7 @@ class faiProfile extends plugin plugin::PrepareForCopyPaste($source); /* Parse ldap attribute to get all assigned classes */ - $tmp = split(" ",$this->FAIclass); + $tmp = explode(" ",$this->FAIclass); $tmp2 = array(); foreach($tmp as $class){ if(!empty($class)){