Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
c-schmitz committed Aug 11, 2012
2 parents 6e06f07 + 188bdc7 commit 2013e2a
Show file tree
Hide file tree
Showing 3 changed files with 332 additions and 330 deletions.
34 changes: 18 additions & 16 deletions common_functions.php
Expand Up @@ -2992,14 +2992,14 @@ function getSavedCount($surveyid)
function GetBaseLanguageFromSurveyID($surveyid)
{
static $cache = array();
global $connect;
global $connect,$defaultlang;
$surveyid=(int)($surveyid);
if (!isset($cache[$surveyid])) {
$query = "SELECT language FROM ".db_table_name('surveys')." WHERE sid=$surveyid";
$surveylanguage = $connect->GetOne($query); //Checked
if (is_null($surveylanguage))
{
$surveylanguage='en';
$surveylanguage=$defaultlang;
}
$cache[$surveyid] = $surveylanguage;
} else {
Expand Down Expand Up @@ -3044,22 +3044,24 @@ function SetSurveyLanguage($surveyid, $language)
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
# $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;
//echo "Language not supported, resorting to ".$_SESSION['s_lang']."<br />";
} else {
}
else
{
$_SESSION['s_lang'] = $language;
//echo "Language will be set to ".$_SESSION['s_lang']."<br />";
}
$clang = new limesurvey_lang($_SESSION['s_lang']);
}
Expand Down

0 comments on commit 2013e2a

Please sign in to comment.