Example #1
0
 function showEditTypeGeneralRes()
 {
     $displaySysAdmin = new DisplaySysAdmin();
     $survey = new Survey($_SESSION['SUID']);
     $tyd = getFromSessionParams('tyd');
     $content = "";
     if ($tyd != '') {
         //edit
         $type = $survey->getType($tyd);
         $_SESSION['TYD'] = $tyd;
         $content = $displaySysAdmin->displaySuccess(Language::messageTypeChanged(loadvar(SETTING_NAME)));
     } else {
         //add section!
         if (loadvar(SETTING_NAME) != "") {
             $type = new Type();
             $type->setSuid($_SESSION['SUID']);
             $_SESSION['TYD'] = $type->getTyd();
             $content = $displaySysAdmin->displaySuccess(Language::messageTypeAdded(loadvar(SETTING_NAME)));
         }
     }
     $checker = new Checker($_SESSION['SUID']);
     if ($tyd == '') {
         $checks = $checker->checkTypeName(loadvar(SETTING_NAME));
         if (sizeof($checks) > 0) {
             $content = implode("<br/>", $checks);
             return $this->showAddType($content);
         }
     }
     //ADD ALL SORTS OF CHECKS!!
     if ($tyd != '' || loadvar(SETTING_NAME) != "") {
         $type->setName(trim(loadvar(SETTING_NAME)));
         $type->setAnswerType(loadvar(SETTING_ANSWERTYPE));
         $type->setAnswerTypeCustom(loadvar(SETTING_ANSWERTYPE_CUSTOM));
         $type->setOptionsText(loadvarAllowHTML(SETTING_OPTIONS));
         $type->setArray(loadvar(SETTING_ARRAY));
         $type->setKeep(loadvar(SETTING_KEEP));
         $answertype = loadvar(SETTING_ANSWERTYPE);
         if (inArray($answertype, array(ANSWER_TYPE_NONE, ANSWER_TYPE_SECTION))) {
             $type->setHidden(HIDDEN_YES);
         } else {
             $type->setHidden(loadvar(SETTING_HIDDEN));
         }
         if ($type->getInputMask() == "") {
             switch ($answertype) {
                 case ANSWER_TYPE_INTEGER:
                     $type->setInputMask(INPUTMASK_INTEGER);
                     break;
                 case ANSWER_TYPE_DOUBLE:
                     $type->setInputMask(INPUTMASK_DOUBLE);
                     break;
                 case ANSWER_TYPE_RANGE:
                     $type->setInputMask(INPUTMASK_INTEGER);
                     break;
                 default:
                     $type->setInputMask(null);
                     break;
             }
         }
         $type->save();
         $checker = new Checker($_SESSION['SUID']);
         $checks = $checker->checkType($type);
         if (sizeof($checks) > 0) {
             $content .= $displaySysAdmin->displayError(implode("<br/>", $checks));
         }
     }
     /* compile */
     $compiler = new Compiler($_SESSION['SUID'], getSurveyVersion($survey));
     $mess = $compiler->generateTypes(array($type));
     $vars = $survey->getVariableDescriptivesOfType($tyd);
     $mess = $compiler->generateVariableDescriptives($vars);
     $mess = $compiler->generateGetFills($vars);
     $mess = $compiler->generateInlineFields($vars);
     /* update last page */
     $_SESSION['LASTPAGE'] = substr($_SESSION['LASTPAGE'], 0, strripos($_SESSION['LASTPAGE'], "res"));
     if ($tyd != '') {
         return $displaySysAdmin->showEditType($_SESSION['TYD'], $content);
     } else {
         return $displaySysAdmin->showSurvey($content);
     }
 }