} } /* 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 showEditSettingsLanguageRes() { $_SESSION['EDITSURVEY'] = 1; $displaySysAdmin = new DisplaySysAdmin(); $survey = new Survey($_SESSION['SUID']); $ans = loadvar(SETTING_ALLOWED_LANGUAGES); if (!is_array($ans)) { $ans = array($ans); } if (!inArray(loadvar(SETTING_DEFAULT_LANGUAGE), $ans)) { $content = $displaySysAdmin->displayError(Language::messageLanguageSettingsNotChanged()); } else { $current = explode("~", $survey->getAllowedLanguages(getSurveyMode())); $survey->setDefaultLanguage(loadvar(SETTING_DEFAULT_LANGUAGE)); $survey->setChangeLanguage(loadvar(SETTING_CHANGE_LANGUAGE)); $survey->setReentryLanguage(loadvar(SETTING_REENTRY_LANGUAGE)); $survey->setBackLanguage(loadvar(SETTING_BACK_LANGUAGE)); $survey->setAllowedLanguages(implode("~", $ans)); $users = new Users(); $users = $users->getUsers(); $update = loadvar("uridsel"); foreach ($users as $u) { foreach ($current as $c) { if (!inArray($c, $ans)) { $u->removeLanguage($_SESSION['SUID'], getSurveyMode(), $c); } } foreach ($ans as $a) { if (!inArray($a, $current)) { if (inArray($u->getUrid(), $update) || inArray(-1, $update)) { $u->addLanguage($_SESSION['SUID'], getSurveyMode(), $a); } } } $u->saveChanges(); } $content = $displaySysAdmin->displaySuccess(Language::messageLanguageSettingsChanged()); if (!inArray(getSurveyLanguage(), $ans)) { $_SESSION['SURVEY_LANGUAGE'] = $ans[0]; } } /* update last page */ $_SESSION['LASTPAGE'] = substr($_SESSION['LASTPAGE'], 0, strripos($_SESSION['LASTPAGE'], "res")); return $displaySysAdmin->showEditSettingsLanguage($content); }