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); } }