X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=setup%2Fclass_setup.inc;h=753751c52537d7e43e28845244038b07f8eea244;hb=01e1aa21db184f46c8d78eb80887bf5d6d594d3c;hp=c530b482e2ab256167a3acaffca9afd129d27f75;hpb=0e550e723290dc7dfd29244ad6dd498190b1aaa0;p=gosa.git diff --git a/setup/class_setup.inc b/setup/class_setup.inc index c530b482e..753751c52 100644 --- a/setup/class_setup.inc +++ b/setup/class_setup.inc @@ -18,8 +18,10 @@ 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 @@ -30,16 +32,20 @@ class setup function setup() { - - $this->o_steps[1] = new Step_Language(); - $this->o_steps[2] = new Step_Checks(); - $this->o_steps[3] = new Step_License(); - $this->o_steps[4] = new Step_Ldap(); - $this->o_steps[5] = new Step_Schema(); - $this->o_steps[6] = new Step_Config1(); - $this->o_steps[7] = new Step_Config2(); - $this->o_steps[8] = new Step_Config3(); - $this->o_steps[9] = new Step_Finish(); + $i = 1; + $this->o_steps[$i++] = new Step_Welcome(); + $this->o_steps[$i++] = new Step_Language(); + $this->o_steps[$i++] = new Step_Checks(); + $this->o_steps[$i++] = new Step_License(); + $this->o_steps[$i++] = new Step_Ldap(); + $this->o_steps[$i++] = new Step_Schema(); + $this->o_steps[$i++] = new Step_Config1(); + $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; /* Ensure that setup is not reachable if gosa.conf (CONFIG_FILE) */ if(file_exists(CONFIG_DIR."/".CONFIG_FILE)){ @@ -49,13 +55,27 @@ 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){ + print_red($msg); + } + $this->o_steps[$this->i_last]->set_active(FALSE); $this->o_steps[$this->i_current]->set_active(); $content = $this->o_steps[$this->i_current]->execute(); @@ -229,20 +249,23 @@ class setup function get_bottom_html() { - $str =""; - $str.="
"; - if(isset($this->o_steps[$this->i_current -1]) && $this->o_steps[$this->i_current -1]->is_enabled()){ - $str .= ""; + /* Skip adding forward/backward button, + * if the currently opened step is a sub dialog + */ + if($this->o_steps[$this->i_current]->dialog){ + $str =""; }else{ - $str .= ""; - } - $str.= " "; - if(isset($this->o_steps[$this->i_current + 1])){ - $str .= ""; - }else{ - $str .= ""; + $str ="

 

"; + $str.="
"; + if(isset($this->o_steps[$this->i_current -1]) && $this->o_steps[$this->i_current -1]->is_enabled()){ + $str .= ""; + }else{ + $str .= ""; + } + $str.= " "; + $str .= ""; + $str .="
"; } - $str .="
"; return($str); } @@ -263,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); + } + }