} } /* 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 showEditSettingsModeRes() { $displaySysAdmin = new DisplaySysAdmin(); $survey = new Survey($_SESSION['SUID']); $_SESSION['EDITSURVEY'] = 1; $ans = loadvar(SETTING_ALLOWED_MODES); if (!is_array($ans)) { $ans = array($ans); } if (!inArray(loadvar(SETTING_DEFAULT_MODE), $ans)) { $content = $displaySysAdmin->displayError(Language::messageModeSettingsNotChanged()); } else { $current = explode("~", $survey->getAllowedModes()); $survey->setDefaultMode(loadvar(SETTING_DEFAULT_MODE)); $survey->setChangeMode(loadvar(SETTING_CHANGE_MODE)); $survey->setReentryMode(loadvar(SETTING_REENTRY_MODE)); $survey->setBackMode(loadvar(SETTING_BACK_MODE)); $survey->setAllowedModes(implode("~", $ans)); $content = $displaySysAdmin->displaySuccess(Language::messageModeSettingsChanged()); $users = new Users(); $users = $users->getUsers(); $update = loadvar("uridsel"); foreach ($users as $u) { foreach ($current as $c) { if (!inArray($c, $ans)) { $u->removeMode($_SESSION['SUID'], $c); } } foreach ($ans as $a) { if (!inArray($a, $current)) { if (inArray($u->getUrid(), $update) || inArray(-1, $update)) { $u->addMode($_SESSION['SUID'], $a, $survey->getAllowedLanguages($a)); } } } $u->saveChanges(); } if (!inArray(getSurveyMode(), $ans)) { $_SESSION['SURVEY_MODE'] = $ans[0]; } } /* update last page */ $_SESSION['LASTPAGE'] = substr($_SESSION['LASTPAGE'], 0, strripos($_SESSION['LASTPAGE'], "res")); return $displaySysAdmin->showEditSettingsMode($content); }