X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=setup%2Fclass_setup.inc;h=9fd17ee2ffa0e213355fcdcc643a44fee691ded9;hb=5fb44ad64771094c678181a7e1a4ed0f159b0d5a;hp=987fa0f21dabcd0947abe4aa18553e07e222ad3b;hpb=1604bae20390b695adf90b476c5b0f02bf1314b8;p=gosa.git diff --git a/setup/class_setup.inc b/setup/class_setup.inc index 987fa0f21..9fd17ee2f 100644 --- a/setup/class_setup.inc +++ b/setup/class_setup.inc @@ -18,8 +18,24 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + +/* Returns contents of the given POST variable and check magic quotes settings */ +function get_post($name) +{ + if(!isset($_POST[$name])){ + trigger_error("Requested POST value (".$name.") does not exists, you should add a check to prevent this message."); + return(FALSE); + } + if(get_magic_quotes_gpc()){ + return(stripcslashes($_POST[$name])); + }else{ + return($_POST[$name]); + } +} + require_once("class_setupStep.inc"); + class setup { var $i_steps = 9; // Number of setup steps @@ -30,26 +46,50 @@ class setup function setup() { + $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)){ + session_destroy(); + header("Location: index.php") ; + exit(); + } - $this->o_steps[1] = new setup_step_1(); - $this->o_steps[2] = new setup_step_2(); - $this->o_steps[3] = new setup_step_3(); - $this->o_steps[4] = new setup_step_4(); - $this->o_steps[5] = new setup_step_5(); - $this->o_steps[6] = new setup_step_6(); - $this->o_steps[7] = new setup_step_6a(); - $this->o_steps[8] = new setup_step_7(); - $this->o_steps[9] = new setup_step_8(); - foreach($this->o_steps as $key => $step){ - $this->o_steps[$key]->parent = $this; + $this->o_steps[$key]->parent = &$this; } } - function execute() { - $smarty = get_smarty(); + /* 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(); @@ -85,7 +125,7 @@ class setup } /* Check if step was selected */ - if(isset($_GET['step']) || isset($_POST['next']) || isset($_POST['last']) || isset($_POST['setup_goto_step'])){ + if(isset($_GET['step']) || isset($_POST['next']) || isset($_POST['last'])){ /* check if current setup step is completed now and activate the next step if possible */ @@ -99,7 +139,15 @@ class setup } } } - + + /* Disable all following steps, if one step isn't compelted right now .*/ + for($i = 1 ; $i <= $this->i_steps ; $i ++ ){ + if($this->o_steps[$i]->is_completed()){ + }else{ + $this->disable_steps_from($i+1); + } + } + $step = -1; if(isset($_POST['setup_goto_step'])){ @@ -150,31 +198,39 @@ class setup $str = ""; foreach($this->o_steps as $key => $step){ + $step -> update_strings(); + $s_title = $step -> get_title(); $s_info = $step -> get_small_info(); $b_active = $step -> is_active(); $b_enabled = $step -> is_enabled(); + $b_completed= $step -> is_completed(); + + if($b_completed){ + $s = ""._("Completed")." "; + }else{ + $s = "  "; + } if($_SESSION['js']){ $str .="
"; + if($b_enabled){ if($b_active){ $str .= ""; }else{ $str .= ""; $str .= "
"; } }else{ $str .= ""; } $str .= "" ; @@ -184,7 +240,7 @@ class setup if($b_active){ $str .= ""; }else{ $str .= "