Code

Fixed uid/cn bug
[gosa.git] / plugins / admin / systems / class_workstationStartup.inc
index 11324ee9e23d837d4edbfa2832c1b15fe477df62..3d4d1300dbe8a2c6d3fff8f8c13efbf8f4539f2d 100644 (file)
@@ -1,4 +1,5 @@
 <?php
+
 class workstartup extends plugin
 {
   /* CLI vars */
@@ -9,7 +10,7 @@ class workstartup extends plugin
   /* Generic terminal attributes */
   var $bootmode             = "G";
   var $goLdapServerList     = array();
-  var $gotoBootKernel       = "";
+  var $gotoBootKernel       = "default-inherited";
   var $gotoKernelParameters = "";
   var $gotoLdapServer       = "default-inherited";
   var $gotoModules          = array();
@@ -41,6 +42,7 @@ class workstartup extends plugin
   var $FAIrelease         = "";
   var $FAIdebianMirror    = "auto";
 
+  var $unresolved_classes = array();
   
   /* FAI class selection */
   var $InheritedFAIclass           = array();
@@ -50,9 +52,9 @@ class workstartup extends plugin
   /* Contains all possible server/release/class settings */
   var $FAIServRepConfig   = array();
 
-  function workstartup ($config, $dn= NULL)
+  function workstartup ($config, $dn= NULL, $parent= NULL)
   {
-    plugin::plugin ($config, $dn);
+    plugin::plugin ($config, $dn, $parent);
 
     /* Creating a list of valid Mirrors 
      * none will not be saved to ldap.
@@ -341,6 +343,11 @@ class workstartup extends plugin
       }
     }
 
+    /* Turn to default, if we've nothing to inherit */
+    if (!isset($this->gotoBootKernels['default-inherited']) && $this->gotoBootKernel == "default-inherited"){
+      $this->gotoBootKernel= "default";
+    }
+
     if(count($this->FAIclass)==0 && $this->FAIrelease == ""){
       $this->FAIdebianMirror = "inherited";
     }
@@ -676,6 +683,7 @@ class workstartup extends plugin
     }
 
     $smarty->assign("FAIdebianMirrors",$this->getFAIdebianMirrors());
+    $smarty->assign("FAIdebianMirror",$this->FAIdebianMirror);
     $smarty->assign("FAIreleases",$this->getFAIreleases());
     $smarty->assign("FAIrelease",$this->FAIrelease);
     $smarty->assign("FAIclasses",$this->selectFriendlyClasses());
@@ -700,6 +708,11 @@ class workstartup extends plugin
 
     foreach($tmp as $class){
 
+      $marker = "";
+      if(in_array_ics($class,$this->unresolved_classes)){
+        $marker = "&nbsp;<font color='red'>("._("Not available in current setup").")</font>";
+      }
+
       if($this->FAIdebianMirror == "inherited"){
         $str = "";
       }else{
@@ -714,7 +727,7 @@ class workstartup extends plugin
       $i ++ ; 
 
       $div->AddEntry(array(
-            array("string"=>$class),
+            array("string"=>$class.$marker),
             array("string"=>preg_replace("/\%s/",base64_encode($class),$str),"attach"=>"style='width:50px;border-right:none;'")
             ));
     }  
@@ -858,8 +871,10 @@ class workstartup extends plugin
         $eClasses .= $class." ";
       }
       
-      $this->FAIclass= array();
-      print_red(sprintf(_("Can't resolve the given FAIclass(es) [%s] anyway, please check your FAI configurations, possibly some classes where deleted or renamed. !All classes have been removed from this account, press cancel if you don't want this to be saved."),$eClasses));
+      $this->unresolved_classes = $errorClasses;
+      $this->FAIdebianMirror = "auto";
+      //$this->FAIclass= array();
+      print_red(sprintf(_("Can't resolve the given FAIclass(es) [%s] anyway, please check your FAI configurations, possibly some classes where deleted or renamed. Server was reset to 'auto'."),$eClasses));
     }
     return($ret);
   }