i_steps; $i ++ ){
$class= "setup_step_".$i;
$this->o_steps[$i] = new $class();
}
}
function execute()
{
$smarty = get_smarty();
$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();
return($content);
}
/* Save posted attributes */
function save_object()
{
/* Call save_object for current setup step */
$this->o_steps[$this->i_current] -> save_object();
/* Get attributes from setup step */
$tmp = $this->o_steps[$this->i_current]->get_attributes();
foreach($tmp as $name => $value){
$this->captured_values[$name] = $value;
}
/* check if current setup step is completed now
and activate the next step if possible */
for($i = 1 ; $i <= $this->i_steps ; $i ++ ){
if($this->o_steps[$i]->is_completed()){
if(isset($this->o_steps[($i+1)])){
$this->o_steps[($i+1)]->set_enabled();
}
}
}
/* Check if step was selected */
if(isset($_GET['step'])){
$step = $_GET['step'];
if($this->selectable_step($step)){
$this->i_last = $this->i_current;
$this->i_current = $_GET['step'];
}
}
}
/* Create navigation menu */
function get_navigation_html()
{
$str = "";
foreach($this->o_steps as $key => $step){
$s_title = $step -> get_title();
$s_info = $step -> get_small_info();
$b_active = $step -> is_active();
$b_enabled = $step -> is_enabled();
if($b_enabled){
if($b_active){
$str .= "";
$str .= " ";
$str .= " ";
}else{
$str .= "";
$str .= " ";
}
$str .= "
\n";
}else{
$str .= "