Code

Updated dn display to not break at spaces
[gosa.git] / plugins / admin / fai / class_faiProfileEntry.inc
index 24298a312be0b5a69d463fd9cb928ea66028ab13..3729141b80d197f34de51cbec317eb935df0a277 100644 (file)
@@ -20,16 +20,18 @@ class faiProfileEntry extends plugin
     plugin::plugin ($config, $dn);
 
     /* Search only in fai tree */
-    $base = $_SESSION['faifilter']['base'];
+    $base = "ou=fai,ou=configs,ou=systems,".$_SESSION['CurrentMainBase'];
 
     /* Create array with categories to be able to sort different types of objects */
-    $categories = array("FAIscript","FAItemplate","FAIhook","FAIvariable","FAIpartitionTable","FAIpackage");
+    $categories = array("FAIscript","FAItemplate","FAIhook","FAIvariable","FAIpartitionTable","FAIpackageList");
 
     /* Read out all objects from fai tree */
     $ldap= $this->config->get_ldap_link();
     $ldap->cd($base);
     $ldap->search("(| (objectClass=FAIscript)(objectClass=FAItemplate)(objectClass=FAIhook)(objectClass=FAIvariable)
-                      (objectClass=FAIpartitionTable)(objectClass=FAIpackage))",array("*"));
+                      (objectClass=FAIpartitionTable)(objectClass=FAIpackageList))",array("*"));
+    
+    $sort=array();
     while($attrs = $ldap->fetch()){
       
       /* Only use objects which have cn set */
@@ -48,7 +50,7 @@ class faiProfileEntry extends plugin
         }
       }
     }
-
+    $tmp = array();
     ksort($sort);
     foreach($sort as $name){
       $tmp[$name] =$this->FAIAllclasses[$name];
@@ -59,19 +61,22 @@ class faiProfileEntry extends plugin
 
     /* If no search filter is set, create one */
     if (!is_global("SUBfaifilter")){
-      $SUBfaifilter= array("base" => "ou=fai,ou=configs,ou=systems,".$base, "Sregex" => "*");
-      $SUBfaifilter['SShowTemplates'] = false;
-      $SUBfaifilter['SShowScripts']   = false;
-      $SUBfaifilter['SShowHooks']     = false;
-      $SUBfaifilter['SShowVariables'] = false;
-      $SUBfaifilter['SShowPackages']  = false;
-      $SUBfaifilter['SShowPartitions']= false;
+      $SUBfaifilter= array("base" => "ou=fai,ou=configs,ou=systems,".$_SESSION['CurrentMainBase'], "Sregex" => "*");
+      $SUBfaifilter['SShowTemplates'] = true;
+      $SUBfaifilter['SShowScripts']   = true;
+      $SUBfaifilter['SShowHooks']     = true;
+      $SUBfaifilter['SShowVariables'] = true;
+      $SUBfaifilter['SShowPackages']  = true;
+      $SUBfaifilter['SShowPartitions']= true;
       register_global("SUBfaifilter", $SUBfaifilter);
     }
   }
 
   function execute()
   {
+       /* Call parent execute */
+       plugin::execute();
+
     /* Fill templating stuff */
     $smarty     = get_smarty();
     $display = "";
@@ -99,8 +104,9 @@ class faiProfileEntry extends plugin
     /* Check if we used a checkboxe from the list, to select dselect an entry */
     foreach($_POST as $name => $value){
       foreach($this->FAIAllclasses as $class => $obj){
-        if(isset($_POST["ON_PAGE_".$class])){
-          if(isset($_POST['USE_'.$class])){
+        $bclass = base64_encode($class);
+        if(isset($_POST["ON_PAGE_".$bclass])){
+          if(isset($_POST['USE_'.$bclass])){
             $this->FAIAllclasses[$class]['status']=true;  
           }else{
             $this->FAIAllclasses[$class]['status']=false;  
@@ -110,12 +116,12 @@ class faiProfileEntry extends plugin
     }
 
     /* Create different picture for each object type */
-    $objTypes['FAIhook']            = "<image src='images/fai_hook.png' title='"._("Hook bundle")."' alt=''>&nbsp;";
-    $objTypes['FAItemplate']        = "<image src='images/fai_template.png' title='"._("Template bundle")."' alt=''>&nbsp;";
-    $objTypes['FAIscript']          = "<image src='images/fai_script.png' title='"._("Script bundle")."' alt=''>&nbsp;";
-    $objTypes['FAIvariable']        = "<image src='images/fai_variable.png' title='"._("Variable bundle")."' alt=''>&nbsp;";
-    $objTypes['FAIpackages']        = "<image src='images/fai_packages.png' title='"._("Package bundle")."' alt=''>&nbsp;";
-    $objTypes['FAIpartitionTable']  = "<image src='images/fai_partitionTable.png' title='"._("Partition table")."' alt=''>&nbsp;";
+    $objTypes['FAIhook']            = "<img src='images/fai_hook.png' title='"._("Hook bundle")."' alt=''>&nbsp;";
+    $objTypes['FAItemplate']        = "<img src='images/fai_template.png' title='"._("Template bundle")."' alt=''>&nbsp;";
+    $objTypes['FAIscript']          = "<img src='images/fai_script.png' title='"._("Script bundle")."' alt=''>&nbsp;";
+    $objTypes['FAIvariable']        = "<img src='images/fai_variable.png' title='"._("Variable bundle")."' alt=''>&nbsp;";
+    $objTypes['FAIpackageList']     = "<img src='images/fai_packages.png' title='"._("Package bundle")."' alt=''>&nbsp;";
+    $objTypes['FAIpartitionTable']  = "<img src='images/fai_partitionTable.png' title='"._("Partition table")."' alt=''>&nbsp;";
 
     /* Magic quotes GPC, escapes every ' " \, to solve some security risks
      * If we post the escaped strings they will be escaped again
@@ -144,40 +150,40 @@ class faiProfileEntry extends plugin
     /* Create a divlist to display all available class names with the depending object types */
     $divlist = new divlist("ProfileEntry");
     $divlist->SetSummary(_("This list displays all assigned class names for this profile."));
-    $divlist->SetEntriesPerPage(20);
-    $divlist->SetHeader(array(array("string"=>"Class name"),
-                              array("string"=>"Objects")));
+    $divlist->SetEntriesPerPage(0);
+    $divlist->SetHeader(array(array("string"=> _("Class name")),
+                              array("string"=> _("Objects"),"attach"=>"style='border-right:0px;'")));
 
     /* Action button allows us to delete an entry */
     $action = "<input type='hidden' name='ON_PAGE_%KEY%' value='1'>
-              <input type='checkbox' name='USE_%KEY%' value='%KEY%' onChange='document.mainform.submit();' %CHECK%>";
+              <input type='checkbox' name='USE_%KEY%' value='%KEY%' onClick='document.mainform.submit();' %CHECK%>";
 
     /* Check every single class name to match the current search filter */
     foreach($this->FAIAllclasses as $usedClass => $classes){
 
       $fi = str_replace("*",".*",$SUBfaifilter['Sregex']);  
  
-      $abort = false; 
+      $abort = true; 
       if(!preg_match("/".$fi."/",$usedClass)){
-        $abort = true;
+        $abort = false;
       }
-      if(($SUBfaifilter['SShowScripts'])&&(!in_array('FAIscript',$classes['objects']))){
-        $abort = true;
+      if((isset($classes['objects']['FAIscript']))&&($SUBfaifilter['SShowScripts'])){
+        $abort = false;
       }
-      if(($SUBfaifilter['SShowTemplates'])&&(!in_array('FAItemplate',$classes['objects']))){
-        $abort = true;
+      if((isset($classes['objects']['FAItemplate']))&&($SUBfaifilter['SShowTemplates'])){
+        $abort = false;
       }
-      if(($SUBfaifilter['SShowHooks'])&&(!in_array('FAIhook',$classes['objects']))){
-        $abort = true;
+      if((isset($classes['objects']['FAIhook']))&&($SUBfaifilter['SShowHooks'])){
+        $abort = false;
       }
-      if(($SUBfaifilter['SShowVariables'])&&(!in_array('FAIvariable',$classes['objects']))){
-        $abort = true;
+      if((isset($classes['objects']['FAIvariable']))&&($SUBfaifilter['SShowVariables'])){
+        $abort = false;
       }
-      if(($SUBfaifilter['SShowPartitions'])&&(!in_array('FAIpartitionTable',$classes['objects']))){
-        $abort = true;
+      if((isset($classes['objects']['FAIpartitionTable']))&&($SUBfaifilter['SShowPartitions'])){
+        $abort = false;
       }
-      if(($SUBfaifilter['SShowPackages'])&&(!in_array('FAIpackages',$classes['objects']))){
-        $abort = true;
+      if((isset($classes['objects']['FAIpackageList']))&&($SUBfaifilter['SShowPackages'])){
+        $abort = false;
       }
 
       if(!$abort){
@@ -194,16 +200,16 @@ class faiProfileEntry extends plugin
         }      
         
         /* Append to list */
-        $field1 = array("string"=> preg_replace("/%KEY%/",$usedClass,$action_check).$usedClass,"attach"=>"");
-        $field2 = array("string"=> $str,"attach"=>"");
+        $field1 = array("string"=> str_replace("%KEY%",base64_encode($usedClass),$action_check).$usedClass,"attach"=>"");
+        $field2 = array("string"=> $str,"attach"=>"style='border-right:0px;'");
         $divlist->AddEntry(array($field1,$field2));
       }
     }
 
     $smarty->assign("faihead"       , "");
     $smarty->assign("failist"       , $divlist->DrawList());
-    $smarty->assign("infoimage"     , get_template_path('images/info.png'));
-    $smarty->assign("launchimage"   , get_template_path('images/launch.png'));
+    $smarty->assign("infoimage"     , get_template_path('images/info_small.png'));
+    $smarty->assign("launchimage"   , get_template_path('images/small_filter.png'));
     $smarty->assign("alphabet"      , generate_alphabet());
     $smarty->assign("apply"         , apply_filter(TRUE));
     $smarty->assign("search_image"  , get_template_path('images/search.png'));
@@ -220,7 +226,9 @@ class faiProfileEntry extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+
     return ($message);
   }