} } /* convert */ $this->convertSurveys(); // return result return ""; } function convertSurveys() { $query = "select * from " . $this->sourcetable . "_surveys order by syid"; if (!($res = $this->importdb->selectQuery($query))) { $query = "select * from " . $this->sourcetable . "_survey order by syid"; $res = $this->importdb->selectQuery($query); } if ($res) { if ($this->importdb->getNumberOfRows($res) > 0) { $user = new User($_SESSION['URID']); while ($row = $this->importdb->getRow($res)) { $this->suid = $row["syid"] + $this->addtosuid; $this->syid = $row["syid"]; $this->convertSurveySettings($row); // get languages $survey = new Survey($this->suid); $this->languages = explode("~", $survey->getAllowedLanguages(MODE_CASI)); $this->convertSections(); $this->convertVariables(); $this->convertTemplates(); $this->convertTypes(); $this->convertRouting(); // if first survey in project, then set as default survey $surveys = new Surveys(); $surveys = $surveys->getSurveys(); if (sizeof($surveys) == 1) { $survey->setDefaultSurvey(DEFAULT_SURVEY_YES); } // update allowed modes $survey->setAllowedModes(MODE_CASI); // update allowed languages $survey->setAllowedLanguages(implode("~", $this->languages)); // update access of user doing the import $mods = explode("~", $survey->getAllowedModes()); foreach ($mods as $m) {
function showEditSurveyRes() { $displaySysAdmin = new DisplaySysAdmin(); $suid = getFromSessionParams('suid'); $content = ""; if ($suid != '') { //edit $survey = new Survey($suid); $content = $displaySysAdmin->displaySuccess(Language::messageSurveyChanged(loadvar('name'))); } else { //add survey! if (loadvar('name') != "") { $surveys = new Surveys(); $newsuid = $surveys->getMaximumSuid() + 1; $_SESSION['SURVEY_MODE'] = MODE_CASI; $_SESSION['SURVEY_LANGUAGE'] = 1; $_SESSION['SUID'] = $newsuid; $survey = new Survey(); $survey->setSuid($newsuid); $survey->setObjectName($newsuid); $survey->addVersion(Language::labelVersionCurrentName(), Language::labelVersionCurrentDescription()); $survey->setDefaultMode(MODE_CASI); // self $survey->setDefaultLanguage(1); // english $survey->setAccessType(LOGIN_ANONYMOUS); $survey->setName(loadvar('name')); $survey->setTitle(loadvar(SETTING_TITLE)); $survey->setDescription(loadvar(SETTING_DESCRIPTION)); /* add base section */ $section = new Section(); $section->setSuid($newsuid); $section->setSeid(1); $section->setName(SECTION_BASE); $section->setPosition(1); $section->save(); /* add base questions */ $var = new VariableDescriptive(); $var->setVsid(1); $var->setName(VARIABLE_PRIMKEY); $var->setAnswerType(ANSWER_TYPE_STRING); $var->setSeid(1); $var->setSuid($newsuid); $var->setDescription('PRIMARY KEY'); $var->setQuestion('primary key'); $var->setMaximumLength(ANSWER_PRIMKEY_LENGTH); $var->setTyd(-1); $var->setPosition(1); $var->save(); $var = new VariableDescriptive(); $var->setVsid(2); $var->setName(VARIABLE_BEGIN); $var->setAnswerType(ANSWER_TYPE_DATETIME); $var->setSeid(1); $var->setSuid($newsuid); $var->setDescription('TIMESTAMP START'); $var->setQuestion('timestamp start'); $var->setTyd(-1); $var->setPosition(2); $var->save(); $var = new VariableDescriptive(); $var->setVsid(3); $var->setName(VARIABLE_END); $var->setAnswerType(ANSWER_TYPE_DATETIME); $var->setSeid(1); $var->setSuid($newsuid); $var->setDescription('TIMESTAMP END'); $var->setQuestion('timestamp end'); $var->setTyd(-1); $var->setPosition(3); $var->save(); $var = new VariableDescriptive(); $var->setVsid(4); $var->setName(VARIABLE_VERSION); $var->setAnswerType(ANSWER_TYPE_INTEGER); $var->setSeid(1); $var->setSuid($newsuid); $var->setDescription('VERSION INFO'); $var->setQuestion('version info'); $var->setTyd(-1); $var->setPosition(4); $var->save(); $var = new VariableDescriptive(); $var->setVsid(5); $var->setName(VARIABLE_MODE); $var->setAnswerType(ANSWER_TYPE_ENUMERATED); $var->setSeid(1); $var->setSuid($newsuid); $var->setDescription('INTERVIEW MODE'); $var->setOptionsText("1 (CAPI) Face-to-face\r\n2 (CATI) Telephone\r\n3 (CASI) Self-administered\r\n4 (CADI) Data entry"); $var->setQuestion('interview mode'); $var->setTyd(-1); $var->setPosition(5); $var->save(); $var = new VariableDescriptive(); $var->setVsid(6); $var->setName(VARIABLE_LANGUAGE); $var->setAnswerType(ANSWER_TYPE_INTEGER); $var->setSeid(1); $var->setSuid($newsuid); $var->setDescription('INTERVIEW LANGUAGE'); $var->setQuestion('interview language'); $var->setTyd(-1); $var->setPosition(6); $var->save(); $var = new VariableDescriptive(); $var->setVsid(7); $var->setName(VARIABLE_TEMPLATE); $var->setAnswerType(ANSWER_TYPE_INTEGER); $var->setSeid(1); $var->setSuid($newsuid); $var->setDescription('SURVEY TEMPLATE'); $var->setQuestion('survey template'); $var->setTyd(-1); $var->setPosition(7); $var->save(); $var = new VariableDescriptive(); $var->setVsid(8); $var->setName(VARIABLE_PLATFORM); $var->setAnswerType(ANSWER_TYPE_STRING); $var->setSeid(1); $var->setSuid($newsuid); $var->setDescription('PLATFORM AND BROWSER INFORMATION'); $var->setQuestion('platform and browser information'); $var->setTyd(-1); $var->setPosition(8); $var->save(); $var = new VariableDescriptive(); $var->setVsid(9); $var->setName(VARIABLE_INTRODUCTION); $var->setAnswerType(ANSWER_TYPE_NONE); $var->setSeid(1); $var->setSuid($newsuid); $var->setDescription('INTRODUCTION SCREEN'); $var->setQuestion(Language::messageWelcome()); $var->setShowBackButton(BUTTON_NO); $var->setShowNextButton(BUTTON_YES); $var->setShowRFButton(BUTTON_NO); $var->setShowDKButton(BUTTON_NO); $var->setShowNAButton(BUTTON_NO); $var->setShowUpdateButton(BUTTON_NO); $var->setShowProgressBar(PROGRESSBAR_NO); $var->setHidden(HIDDEN_YES); $var->setTyd(-1); $var->setPosition(9); $var->save(); $var = new VariableDescriptive(); $var->setVsid(10); $var->setName(VARIABLE_THANKS); $var->setAnswerType(ANSWER_TYPE_NONE); $var->setSeid(1); $var->setSuid($newsuid); $var->setDescription('THANKS SCREEN'); $var->setQuestion(Language::messageSurveyEnd()); $var->setShowBackButton(BUTTON_NO); $var->setShowNextButton(BUTTON_NO); $var->setShowRFButton(BUTTON_NO); $var->setShowDKButton(BUTTON_NO); $var->setShowNAButton(BUTTON_NO); $var->setShowUpdateButton(BUTTON_NO); $var->setShowRemarkButton(BUTTON_NO); $var->setShowProgressBar(PROGRESSBAR_NO); $var->setHidden(HIDDEN_YES); $var->setTyd(-1); $var->setPosition(10); $var->save(); $var = new VariableDescriptive(); $var->setVsid(11); $var->setName(VARIABLE_COMPLETED); $var->setAnswerType(ANSWER_TYPE_NONE); $var->setSeid(1); $var->setSuid($newsuid); $var->setDescription('ALREADY COMPLETED SCREEN'); $var->setQuestion(Language::messageSurveyCompleted()); $var->setShowBackButton(BUTTON_NO); $var->setShowNextButton(BUTTON_NO); $var->setShowRFButton(BUTTON_NO); $var->setShowDKButton(BUTTON_NO); $var->setShowNAButton(BUTTON_NO); $var->setShowUpdateButton(BUTTON_NO); $var->setShowRemarkButton(BUTTON_NO); $var->setShowProgressBar(PROGRESSBAR_NO); $var->setHidden(HIDDEN_YES); $var->setTyd(-1); $var->setPosition(11); $var->save(); $var = new VariableDescriptive(); $var->setVsid(12); $var->setName(VARIABLE_LOCKED); $var->setAnswerType(ANSWER_TYPE_NONE); $var->setSeid(1); $var->setSuid($newsuid); $var->setDescription('PROCESSING SCREEN'); $var->setQuestion(Language::messageSurveyProcessing()); $var->setShowBackButton(BUTTON_NO); $var->setShowNextButton(BUTTON_NO); $var->setShowRFButton(BUTTON_NO); $var->setShowDKButton(BUTTON_NO); $var->setShowNAButton(BUTTON_NO); $var->setShowUpdateButton(BUTTON_NO); $var->setShowRemarkButton(BUTTON_NO); $var->setShowProgressBar(PROGRESSBAR_NO); $var->setHidden(HIDDEN_YES); $var->setTyd(-1); $var->setPosition(12); $var->save(); $var = new VariableDescriptive(); $var->setVsid(13); $var->setName(VARIABLE_DIRECT); $var->setAnswerType(ANSWER_TYPE_NONE); $var->setSeid(1); $var->setSuid($newsuid); $var->setDescription('DIRECT ACCESS ONLY SCREEN'); $var->setQuestion(Language::errorDirectLogin()); $var->setShowBackButton(BUTTON_NO); $var->setShowNextButton(BUTTON_NO); $var->setShowRFButton(BUTTON_NO); $var->setShowDKButton(BUTTON_NO); $var->setShowNAButton(BUTTON_NO); $var->setShowUpdateButton(BUTTON_NO); $var->setShowRemarkButton(BUTTON_NO); $var->setShowProgressBar(PROGRESSBAR_NO); $var->setHidden(HIDDEN_YES); $var->setTyd(-1); $var->setPosition(13); $var->save(); $var = new VariableDescriptive(); $var->setVsid(14); $var->setName(VARIABLE_IN_PROGRESS); $var->setAnswerType(ANSWER_TYPE_NONE); $var->setSeid(1); $var->setSuid($newsuid); $var->setDescription('IN PROGRESS SCREEN'); $var->setQuestion(Language::errorInProgress()); $var->setShowBackButton(BUTTON_NO); $var->setShowNextButton(BUTTON_NO); $var->setShowRFButton(BUTTON_NO); $var->setShowDKButton(BUTTON_NO); $var->setShowNAButton(BUTTON_NO); $var->setShowUpdateButton(BUTTON_NO); $var->setShowRemarkButton(BUTTON_NO); $var->setShowProgressBar(PROGRESSBAR_NO); $var->setHidden(HIDDEN_YES); $var->setTyd(-1); $var->setPosition(14); $var->save(); $var = new VariableDescriptive(); $var->setVsid(15); $var->setName(VARIABLE_LOGIN); $var->setAnswerType(ANSWER_TYPE_STRING); $var->setSeid(1); $var->setSuid($newsuid); $var->setDescription('LOGIN SCREEN'); $var->setQuestion(Language::labelLoginCode()); $var->setShowBackButton(BUTTON_NO); $var->setShowNextButton(BUTTON_YES); $var->setShowRFButton(BUTTON_NO); $var->setShowDKButton(BUTTON_NO); $var->setShowNAButton(BUTTON_NO); $var->setShowUpdateButton(BUTTON_NO); $var->setShowRemarkButton(BUTTON_NO); $var->setShowProgressBar(PROGRESSBAR_NO); $var->setHidden(HIDDEN_YES); $var->setTyd(-1); $var->setPosition(15); $var->save(); $var = new VariableDescriptive(); $var->setVsid(16); $var->setName(VARIABLE_CLOSED); $var->setAnswerType(ANSWER_TYPE_NONE); $var->setSeid(1); $var->setSuid($newsuid); $var->setDescription('CLOSED SCREEN'); $var->setQuestion(Language::messageSurveyClosed()); $var->setShowBackButton(BUTTON_NO); $var->setShowNextButton(BUTTON_NO); $var->setShowRFButton(BUTTON_NO); $var->setShowDKButton(BUTTON_NO); $var->setShowNAButton(BUTTON_NO); $var->setShowUpdateButton(BUTTON_NO); $var->setShowRemarkButton(BUTTON_NO); $var->setShowProgressBar(PROGRESSBAR_NO); $var->setHidden(HIDDEN_YES); $var->setTyd(-1); $var->setPosition(16); $var->save(); $var = new VariableDescriptive(); $var->setVsid(17); $var->setName(VARIABLE_EXECUTION_MODE); $var->setAnswerType(ANSWER_TYPE_ENUMERATED); $var->setSeid(1); $var->setSuid($newsuid); $var->setDescription('EXECUTION MODE'); $var->setQuestion("execution mode"); $var->setOptionsText("0 (NORMAL) Normal mode\r\n1 (TEST) Test mode"); $var->setShowBackButton(BUTTON_NO); $var->setShowNextButton(BUTTON_NO); $var->setShowRFButton(BUTTON_NO); $var->setShowDKButton(BUTTON_NO); $var->setShowNAButton(BUTTON_NO); $var->setShowUpdateButton(BUTTON_NO); $var->setShowProgressBar(PROGRESSBAR_NO); $var->setHidden(HIDDEN_YES); $var->setTyd(-1); $var->setPosition(17); $var->save(); /* update current user for access */ $surv = new Survey($newsuid); $user = new User($_SESSION['URID']); $mods = explode("~", $surv->getAllowedModes()); foreach ($mods as $m) { $user->setLanguages($newsuid, $m, $surv->getAllowedLanguages($m)); } $user->saveChanges(); $content = $displaySysAdmin->displaySuccess(Language::messageSurveyAdded(loadvar('name'))); } } //ADD ALL SORTS OF CHECKS!! if ($suid != '' || loadvar('name') != "") { $survey->setName(loadvar('name')); $survey->setDescription(loadvar(SETTING_DESCRIPTION)); $survey->setTitle(loadvar(SETTING_TITLE)); $survey->setDefaultSurvey(loadvar(SETTING_DEFAULT_SURVEY)); $survey->save(); // default, then update setting and set all others to no $surveys = new Surveys(); $surveys = $surveys->getSurveys(); if (loadvar(SETTING_DEFAULT_SURVEY) == DEFAULT_SURVEY_YES) { if (sizeof($surveys) == 1) { $survey->setDefaultSurvey(DEFAULT_SURVEY_YES); } else { foreach ($surveys as $s) { if ($s->getSuid() != $survey->getSuid()) { $s->setDefaultSurvey(DEFAULT_SURVEY_NO); } else { $s->setDefaultSurvey(DEFAULT_SURVEY_YES); } } } } else { // if only one survey, make sure we set this one to default if (sizeof($surveys) == 1) { $survey->setDefaultSurvey(DEFAULT_SURVEY_YES); } } } /* update last page */ $_SESSION['LASTPAGE'] = substr($_SESSION['LASTPAGE'], 0, strripos($_SESSION['LASTPAGE'], "res")); if ($suid != '') { return $displaySysAdmin->showEditSurvey($_SESSION['SUID'], $content); } else { return $displaySysAdmin->showSurveys($content); } }