Пример #1
0
 public function actionIndex()
 {
     if (_xls_get_conf('INSTALLED', 0) == 1) {
         _xls_404();
     }
     $this->layout = "license";
     $this->editSectionInstructions = "";
     $this->license = $this->renderPartial("license", null, true, false);
     $model = new InstallForm();
     $getpage = "getPage" . $model->page;
     $model->scenario = "page1";
     $model->setScenario($this->cloudMtScenario($model->getScenario()));
     $formDefinition = $model->{$getpage}();
     if (isset($_POST['InstallForm'])) {
         $model->scenario = "page" . $_POST['InstallForm']['page'];
         if (isset($_POST['buttonSkip']) && $_POST['InstallForm']['page'] == 4) {
             $model->scenario = "page-skip" . $_POST['InstallForm']['page'];
         }
         $model->setScenario($this->cloudMtScenario($model->getScenario()));
         $model->attributes = $_POST['InstallForm'];
         if ($model->validate()) {
             switch ($model->page) {
                 case 1:
                     $model->page = 2;
                     break;
                 case 2:
                     $model->savePage(2);
                     $model->page = 3;
                     break;
                 case 3:
                     $model->savePage(3);
                     $model->page = 4;
                     break;
                 case 4:
                     $model->savePage(4);
                     _xls_set_conf('INSTALLED', 1);
                     $this->redirect($this->createUrl('license/end'));
                     break;
             }
             if (_xls_get_conf('LIGHTSPEED_CLOUD', 0) > 0 && $model->page == 2) {
                 $model->scenario = "page" . $model->page . "-cld";
             } else {
                 if (_xls_get_conf('LIGHTSPEED_CLOUD', 0) == 0 && _xls_get_conf('LIGHTSPEED_MT', 0) > 0 && $model->page == 2) {
                     $model->scenario = "page" . $model->page . "-mt";
                 } else {
                     $model->scenario = "page" . $model->page;
                 }
             }
             $model->attributes = $model->readFromSession($model->page);
         } else {
             Yii::log("Install Wizard " . $model->scenario . " error " . print_r($model->getErrors(), true), 'error', 'application.' . __CLASS__ . "." . __FUNCTION__);
         }
         //Possibly after submit, refetch these items
         $getpage = "getPage" . $model->page;
         $formDefinition = $model->{$getpage}();
     }
     foreach ($formDefinition['elements'] as $key => $value) {
         if ($key != "iagree") {
             $formDefinition['elements'][$key]['layout'] = '<div class="span3 optionlabel">{label}</div><div class="span4 optionvalue">{input}</div>{error}<div class="span2 maxhint">{hint}</div>';
         }
     }
     $this->render('index', array('model' => $model, 'form' => new CForm($formDefinition, $model)));
 }