Code

Closes #274 - Tries to close this with last commit failed. I've forgotten to add...
[gosa.git] / setup / class_setup.inc
index 700ea7761d84047d0aa46178782eedcf07b323e6..753751c52537d7e43e28845244038b07f8eea244 100644 (file)
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
+
 require_once("class_setupStep.inc");
 
+
 class setup 
 {
   var $i_steps  = 9;  // Number of setup steps 
@@ -41,6 +43,7 @@ class setup
     $this->o_steps[$i++] = new Step_Config2();
     $this->o_steps[$i++] = new Step_Config3();
     $this->o_steps[$i++] = new Step_Migrate();
+    $this->o_steps[$i++] = new Step_Feedback();
     $this->o_steps[$i++] = new Step_Finish();
     $this->i_steps = $i-1;
 
@@ -52,13 +55,21 @@ class setup
     }
     
     foreach($this->o_steps as $key => $step){
-      $this->o_steps[$key]->parent = $this;
+      $this->o_steps[$key]->parent = &$this;
     }
   }
 
-
   function execute()
   {
+    /* Display phpinfo() dialog when $_GET['info'] is set,
+     *  but only do this, if user is allowed to use the setup.
+     * If setupStep_Welcome is_completed, we are allowed to view those infos-
+     */
+    if(isset($_GET['info']) &&  preg_match("/Step_Welcome/i",get_class($this->o_steps[1])) && $this->o_steps[1]->is_completed()){
+      phpinfo();
+      exit();
+    }
+
     /* display step error msgs */
     $msgs = $this->o_steps[$this->i_current]->check();
     foreach($msgs as $msg){
@@ -275,6 +286,17 @@ class setup
     }
     return(false);
   }
+
+  function step_name_to_id($name)
+  {
+    foreach($this->o_steps as $id => $class){
+      if(get_class($class) == $name){
+        return($id);
+      }
+    }
+    return(0);
+  }
+  
 }