Code

Fixed step validation
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Mon, 2 Apr 2007 12:04:41 +0000 (12:04 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Mon, 2 Apr 2007 12:04:41 +0000 (12:04 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@5952 594d385d-05f5-0310-b6e9-bd551577e9d8

setup/class_setup.inc
setup/class_setupStep4.inc
setup/class_setupStep7.inc

index 297f956950d6c5ba343c532d540abe4272d557b6..af70d9b8d429e7ac29cdf097f783aee2cb8578fa 100644 (file)
@@ -22,12 +22,10 @@ require_once("class_setupStep.inc");
 
 class setup 
 {
-
   var $i_steps  = 8;  // Number of setup steps 
   var $i_current= 1;  // Current step
   var $i_last   = 1;  // Last setup step;
   var $o_steps  = array(); 
-
   var $captured_values = array();
 
   function setup()
@@ -45,22 +43,9 @@ class setup
     foreach($this->o_steps as $key => $step){
       $this->o_steps[$key]->parent = $this;
     }
-
-/*
-    for($i = 1 ; $i <= $this->i_steps; $ii ++ ){
-      $class= "setup_step_".$i;
-    
-      if(class_exists($class)){
-        $this->o_steps[$i] = new $class();
-      }else{
-        $this->o_steps[$i] = new setup_step();
-        trigger_error("Try to create class '".$class."' but it is not available, possibly you have forgotten to add the include in setup.php");
-      }
-      $this->o_steps[$i]->parent = $this;
-    }
-*/
   }
 
+
   function execute()
   {
     $smarty = get_smarty();
@@ -107,10 +92,9 @@ class setup
         if($this->o_steps[$i]->is_completed()){
           if(isset($this->o_steps[($i+1)])){
             $this->o_steps[($i+1)]->set_enabled();
-          }else{
-            $this->o_steps[($i+1)]->set_enabled(false);
-          
           }
+        }else{
+          $this->disable_steps_from($i+1);
         }
       }
 
@@ -130,6 +114,23 @@ class setup
   }
 
 
+  function disable_steps_from($start)
+  {
+    $found = false;
+    foreach($this->o_steps as $key => $step){
+      if($key == $start){
+        $found = true;
+      }
+
+      if($found){ 
+        echo $key." ";
+        $this->o_steps[$key]->set_enabled(false);
+        $this->o_steps[$key]->set_completed(false);
+      }
+    }
+  }
+
+
   /* Create navigation menu */
   function get_navigation_html()
   {
index 45603e5288f31a22ac0668c33fe6353f3566efd6..a67944be01770e9a0dcbdfdc19f0557f7b42f286 100644 (file)
@@ -140,6 +140,7 @@ class setup_step_4 extends setup_step
       }
     }
 
+    $this->get_connection_status();
     if($this->bind_id){
       $this->is_completed =TRUE;
     }else{
index 0c962e7b61df7534f2edf544cc4d15e1eb7da9fe..71bd17efff71c5a01b6fdc266aeff2014e2de836 100644 (file)
@@ -113,7 +113,7 @@ class setup_step_7 extends setup_step
 
     /* The gosa base schema */
     $checks['gosaObject'] = $def_check;
-    $checks['gosaObject']['REQUIRED_VERSION'] = "22.4";
+    $checks['gosaObject']['REQUIRED_VERSION'] = "2.4";
     $checks['gosaObject']['SCHEMA_FILES']     = array("gosa+samba3.schema","gosa.schema");
     $checks['gosaObject']['CLASSES_REQUIRED'] = array("gosaObject");
     $checks['gosaObject']['IS_MUST_HAVE']     = TRUE;