/** * Set the public survey language * Control if language exist in this survey, else set to survey default language * if $surveyid <= 0 : set the language to default site language * @param int $surveyid * @param string $language */ function SetSurveyLanguage($surveyid, $language) { $surveyid = sanitize_int($surveyid); $default_language = Yii::app()->getConfig('defaultlang'); if (isset($surveyid) && $surveyid > 0) { $default_survey_language = Survey::model()->findByPk($surveyid)->language; $additional_survey_languages = Survey::model()->findByPk($surveyid)->getAdditionalLanguages(); if (!isset($language) || $language == '' || !(in_array($language, $additional_survey_languages) || $language == $default_survey_language)) { // Language not supported, fall back to survey's default language $_SESSION['survey_' . $surveyid]['s_lang'] = $default_survey_language; } else { $_SESSION['survey_' . $surveyid]['s_lang'] = $language; } Yii::import('application.libraries.Limesurvey_lang', true); $clang = new limesurvey_lang($_SESSION['survey_' . $surveyid]['s_lang']); $thissurvey = getSurveyInfo($surveyid, @$_SESSION['survey_' . $surveyid]['s_lang']); Yii::app()->loadHelper('surveytranslator'); LimeExpressionManager::SetEMLanguage($_SESSION['survey_' . $surveyid]['s_lang']); } else { if (!$language) { $language = $default_language; } $_SESSION['survey_' . $surveyid]['s_lang'] = $language; Yii::import('application.libraries.Limesurvey_lang', true); $clang = new Limesurvey_lang($language); } $oApplication = Yii::app(); $oApplication->lang = $clang; return $clang; }
/** * Load complete view of survey properties and actions specified by $iSurveyID * * @access public * @param mixed $iSurveyID * @param mixed $gid * @param mixed $qid * @return void */ public function view($iSurveyID, $gid = null, $qid = null) { $iSurveyID = sanitize_int($iSurveyID); if (isset($gid)) { $gid = sanitize_int($gid); } if (isset($qid)) { $qid = sanitize_int($qid); } // Reinit LEMlang and LEMsid: ensure LEMlang are set to default lang, surveyid are set to this survey id // Ensure Last GetLastPrettyPrintExpression get info from this sid and default lang LimeExpressionManager::SetEMLanguage(Survey::model()->findByPk($iSurveyID)->language); LimeExpressionManager::SetSurveyId($iSurveyID); LimeExpressionManager::StartProcessingPage(false, true); $aData['surveyid'] = $iSurveyID; $aData['gid'] = $gid; $aData['qid'] = $qid; $aData['display']['menu_bars']['surveysummary'] = true; $this->_renderWrappedTemplate('survey', array(), $aData); }
/** * Set the public survey language * Control if language exist in this survey, else set to survey default language * if $surveyid <= 0 : set the language to default site language * @param int $surveyid * @param string $language */ function SetSurveyLanguage($surveyid, $sLanguage) { $surveyid = sanitize_int($surveyid); $default_language = Yii::app()->getConfig('defaultlang'); if (isset($surveyid) && $surveyid > 0) { $default_survey_language = Survey::model()->findByPk($surveyid)->language; $additional_survey_languages = Survey::model()->findByPk($surveyid)->getAdditionalLanguages(); if (!isset($sLanguage) || $sLanguage == '' || !(in_array($sLanguage, $additional_survey_languages) || $sLanguage == $default_survey_language)) { // Language not supported, fall back to survey's default language $_SESSION['survey_' . $surveyid]['s_lang'] = $default_survey_language; } else { $_SESSION['survey_' . $surveyid]['s_lang'] = $sLanguage; } App()->setLanguage($_SESSION['survey_' . $surveyid]['s_lang']); $thissurvey = getSurveyInfo($surveyid, @$_SESSION['survey_' . $surveyid]['s_lang']); Yii::app()->loadHelper('surveytranslator'); LimeExpressionManager::SetEMLanguage($_SESSION['survey_' . $surveyid]['s_lang']); } else { if (!$sLanguage) { $sLanguage = $default_language; } $_SESSION['survey_' . $surveyid]['s_lang'] = $sLanguage; App()->setLanguage($_SESSION['survey_' . $surveyid]['s_lang']); } }
function SetSurveyLanguage($surveyid, $language) { global $rootdir, $defaultlang, $clang; $surveyid = sanitize_int($surveyid); require_once $rootdir . '/classes/core/language.php'; if (isset($surveyid) && $surveyid > 0) { // see if language actually is present in survey # $query = "SELECT language, additional_languages FROM ".db_table_name('surveys')." WHERE sid=$surveyid"; # $result = db_execute_assoc($query); //Checked # while ($result && ($row=$result->FetchRow())) { # $additional_languages = $row['additional_languages']; # $default_language = $row['language']; # } $default_language = GetBaseLanguageFromSurveyID($surveyid); $additional_languages = GetAdditionalLanguagesFromSurveyID($surveyid); if (!isset($language) || $language == '' || !(in_array($language, $additional_languages) || $language == $default_language)) { // Language not supported, fall back to survey's default language $_SESSION['s_lang'] = $default_language; } else { $_SESSION['s_lang'] = $language; } $clang = new limesurvey_lang($_SESSION['s_lang']); } else { $clang = new limesurvey_lang($defaultlang); } $thissurvey = getSurveyInfo($surveyid, $_SESSION['s_lang']); $_SESSION['dateformats'] = getDateFormatData($thissurvey['surveyls_dateformat']); LimeExpressionManager::SetEMLanguage($_SESSION['s_lang']); return $clang; }
/** * Load list questions view for a specified survey by $iSurveyID * * @access public * @param mixed $iSurveyID * @param mixed $gid * @param mixed $qid * @return void */ public function listquestions($surveyid) { $iSurveyID = sanitize_int($surveyid); // Reinit LEMlang and LEMsid: ensure LEMlang are set to default lang, surveyid are set to this survey id // Ensure Last GetLastPrettyPrintExpression get info from this sid and default lang LimeExpressionManager::SetEMLanguage(Survey::model()->findByPk($iSurveyID)->language); LimeExpressionManager::SetSurveyId($iSurveyID); LimeExpressionManager::StartProcessingPage(false, true); $survey = Survey::model()->findByPk($iSurveyID); $aData['surveyid'] = $iSurveyID; $aData['display']['menu_bars']['listquestions'] = true; $aData['sidemenu']['listquestions'] = true; $aData['surveybar']['returnbutton']['url'] = $this->getController()->createUrl("admin/survey/sa/listsurveys"); $aData['surveybar']['returnbutton']['text'] = gT('Return to survey list'); $aData['surveybar']['buttons']['newquestion'] = true; $surveyinfo = $survey->surveyinfo; $aData["surveyinfo"] = $surveyinfo; $aData["surveyHasGroup"] = $survey->groups; $aData['title_bar']['title'] = $surveyinfo['surveyls_title'] . "(" . gT("ID") . ":" . $iSurveyID . ")"; $this->_renderWrappedTemplate('survey', array(), $aData); }
function SetSurveyLanguage($surveyid, $language) { global $rootdir, $defaultlang, $clang; $surveyid = sanitize_int($surveyid); require_once $rootdir . '/classes/core/language.php'; if (isset($surveyid) && $surveyid > 0) { // see if language actually is present in survey $query = "SELECT language, additional_languages FROM " . db_table_name('surveys') . " WHERE sid={$surveyid}"; $result = db_execute_assoc($query); //Checked while ($result && ($row = $result->FetchRow())) { $additional_languages = $row['additional_languages']; $default_language = $row['language']; } if (!isset($language) || $language == '' || isset($additional_languages) && strpos($additional_languages, $language) === false or isset($default_language) && $default_language == $language) { // Language not supported, or default language for survey, fall back to survey's default language $_SESSION['s_lang'] = $default_language; //echo "Language not supported, resorting to ".$_SESSION['s_lang']."<br />"; } else { $_SESSION['s_lang'] = $language; //echo "Language will be set to ".$_SESSION['s_lang']."<br />"; } $clang = new limesurvey_lang($_SESSION['s_lang']); } else { $clang = new limesurvey_lang($defaultlang); } $thissurvey = getSurveyInfo($surveyid, $_SESSION['s_lang']); $_SESSION['dateformats'] = getDateFormatData($thissurvey['surveyls_dateformat']); LimeExpressionManager::SetEMLanguage($_SESSION['s_lang']); return $clang; }
//Desired subaction if (!isset($editedaction)) { $editedaction = returnglobal('editedaction'); } // for html editor integration if (isset($_SERVER['HTTP_REFERER'])) { $refurl = $_SERVER['HTTP_REFERER']; //store referer. Can be used for other screens and not just GlobalSettings } else { $refurl = ""; } LimeExpressionManager::SetSurveyId($surveyid); // must be called early - it clears internal cache if a new survey is being used if (!is_null($surveyid)) { $sinfo = getSurveyInfo($surveyid); LimeExpressionManager::SetEMLanguage($sinfo['surveyls_language']); } if ($action != 'showprintablesurvey' && substr($action, 0, 4) != 'ajax') { $adminoutput = "<div id='wrapper'>"; } else { $adminoutput = ''; } if ($casEnabled == true) { include_once "login_check_cas.php"; } else { include_once 'login_check.php'; } if ($action == 'CSRFwarn') { include 'access_denied.php'; } if ($action == 'FakeGET') {