コード例 #1
0
ファイル: sysadmin.php プロジェクト: nubissurveying/nubis
 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);
 }