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