Skip to content

Commit

Permalink
Merge branch 'develop' of github.com:LimeSurvey/LimeSurvey into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
SamMousa committed Jun 19, 2015
2 parents 56df5ed + 6abc9a1 commit 46fe201
Show file tree
Hide file tree
Showing 5 changed files with 68 additions and 7 deletions.
1 change: 1 addition & 0 deletions application/config/internal.php
Expand Up @@ -20,6 +20,7 @@
'theme' => 'default',
'runtimePath' => __DIR__ . '/../runtime',
'name' => 'LimeSurvey',
'localeClass' => 'LSYii_Locale',
'defaultController' => 'surveys',
'aliases' => array(
'vendor' => __DIR__ . '/../vendor',
Expand Down
8 changes: 4 additions & 4 deletions application/controllers/admin/questiongroups.php
Expand Up @@ -36,7 +36,7 @@ class questiongroups extends Survey_Common_Action
function import()
{
$action = $_POST['action'];
$surveyid = $_POST['sid'];
$iSurveyID = (int)$_POST['sid'];

if ($action == 'importgroup')
{
Expand Down Expand Up @@ -66,11 +66,11 @@ function import()

// IF WE GOT THIS FAR, THEN THE FILE HAS BEEN UPLOADED SUCCESFULLY
if (strtolower($sExtension) == 'lsg')
$aImportResults = XMLImportGroup($sFullFilepath, $surveyid);
$aImportResults = XMLImportGroup($sFullFilepath, $iSurveyID);
else
$this->getController()->error('Unknown file extension');
LimeExpressionManager::SetDirtyFlag(); // so refreshes syntax highlighting
fixLanguageConsistency($surveyid);
fixLanguageConsistency($iSurveyID);

if (isset($aImportResults['fatalerror']))
{
Expand All @@ -81,7 +81,7 @@ function import()
unlink($sFullFilepath);

$aData['display'] = $importgroup;
$aData['surveyid'] = $surveyid;
$aData['surveyid'] = $iSurveyID;
$aData['aImportResults'] = $aImportResults;
$aData['sExtension'] = $sExtension;
//$aData['display']['menu_bars']['surveysummary'] = 'importgroup';
Expand Down
38 changes: 38 additions & 0 deletions application/core/LSYii_Locale.php
@@ -0,0 +1,38 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
* LimeSurvey
* Copyright (C) 2007-2011 The LimeSurvey Project Team / Carsten Schmitz
* All rights reserved.
* License: GNU/GPL License v2 or later, see LICENSE.php
* LimeSurvey is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*
*/

class LSYii_Locale extends CLocale {
/**
* Converts a locale ID to its canonical form.
* In canonical form, a locale ID consists of only underscores and lower-case letters.
* @param string $id the locale ID to be converted
* @return string the locale ID in canonical form
*/

public static function getInstance($id)
{
// Fix up the LimeSurvey language code for Yii
$aLanguageData=getLanguageData();
if (isset($aLanguageData[$id]['cldr']))
{
$id=$aLanguageData[$id]['cldr'];
}
static $locales=array();
if(isset($locales[$id]))
return $locales[$id];
else
return $locales[$id]=new CLocale($id);
}

}
3 changes: 1 addition & 2 deletions application/helpers/admin/import_helper.php
Expand Up @@ -59,8 +59,7 @@ function XMLImportGroup($sFullFilePath, $iNewSID)
// Import group table ===================================================================================


$query = "SELECT MAX(group_order) AS maxgo FROM {{groups}} WHERE sid=$iNewSID";
$iGroupOrder = Yii::app()->db->createCommand($query)->queryScalar();
$iGroupOrder = Yii::app()->db->createCommand()->select('MAX(group_order)')->from('{{groups}}')->where('sid=:sid',array(':sid'=>$iNewSID))->queryScalar();
if ($iGroupOrder === false)
{
$iNewGroupOrder=0;
Expand Down
25 changes: 24 additions & 1 deletion application/helpers/surveytranslator_helper.php
Expand Up @@ -134,6 +134,7 @@ function getLanguageData($bOrderByNative=false,$sLanguageCode='en') {
$supportedLanguages['ca-valencia']['rtl'] = false;
$supportedLanguages['ca-valencia']['dateformat'] = 1;
$supportedLanguages['ca-valencia']['radixpoint'] = 1;
$supportedLanguages['ca-valencia']['cldr'] = 'ca';

// Catalan
$supportedLanguages['ca']['description'] = gT('Catalan');
Expand Down Expand Up @@ -190,6 +191,7 @@ function getLanguageData($bOrderByNative=false,$sLanguageCode='en') {
$supportedLanguages['cs-informal']['rtl'] = false;
$supportedLanguages['cs-informal']['dateformat'] = 4;
$supportedLanguages['cs-informal']['radixpoint'] = 1;
$supportedLanguages['cs-informal']['cldr'] = 'cs';


// Danish
Expand All @@ -205,6 +207,7 @@ function getLanguageData($bOrderByNative=false,$sLanguageCode='en') {
$supportedLanguages['prs']['rtl'] = true;
$supportedLanguages['prs']['dateformat'] = 6;
$supportedLanguages['prs']['radixpoint'] = 0;
$supportedLanguages['prs']['cldr'] = 'fa_af';

// Dutch
$supportedLanguages['nl']['description'] = gT('Dutch');
Expand All @@ -219,6 +222,7 @@ function getLanguageData($bOrderByNative=false,$sLanguageCode='en') {
$supportedLanguages['nl-informal']['rtl'] = false;
$supportedLanguages['nl-informal']['dateformat'] = 2;
$supportedLanguages['nl-informal']['radixpoint'] = 1;
$supportedLanguages['nl-informal']['cldr'] = 'nl';

// English
$supportedLanguages['en']['description'] = gT('English');
Expand Down Expand Up @@ -283,6 +287,7 @@ function getLanguageData($bOrderByNative=false,$sLanguageCode='en') {
$supportedLanguages['de-informal']['rtl'] = false;
$supportedLanguages['de-informal']['dateformat'] = 1;
$supportedLanguages['de-informal']['radixpoint'] = 1;
$supportedLanguages['de-informal']['cldr'] = 'de';

// Gujarati
$supportedLanguages['gu']['description'] = gT('Gujarati');
Expand Down Expand Up @@ -354,6 +359,7 @@ function getLanguageData($bOrderByNative=false,$sLanguageCode='en') {
$supportedLanguages['it-informal']['rtl'] = false;
$supportedLanguages['it-informal']['dateformat'] = 5;
$supportedLanguages['it-informal']['radixpoint'] = 1;
$supportedLanguages['it-informal']['cldr'] = 'it';

// Japanese
$supportedLanguages['ja']['description'] = gT('Japanese');
Expand Down Expand Up @@ -389,6 +395,7 @@ function getLanguageData($bOrderByNative=false,$sLanguageCode='en') {
$supportedLanguages['ckb']['rtl'] = true;
$supportedLanguages['ckb']['dateformat'] = 1;
$supportedLanguages['ckb']['radixpoint'] = 1;
$supportedLanguages['ckb']['cldr'] = 'ku';

// Kyrgyz
$supportedLanguages['ky']['description'] = gT('Kyrgyz');
Expand Down Expand Up @@ -487,13 +494,15 @@ function getLanguageData($bOrderByNative=false,$sLanguageCode='en') {
$supportedLanguages['pap-AW']['rtl'] = false;
$supportedLanguages['pap-AW']['dateformat'] = 2;
$supportedLanguages['pap-AW']['radixpoint'] = 1;
$supportedLanguages['pap-AW']['cldr'] = 'en'; // Fix me - Yii does not provice Papiamento support, yet

// Papiamento (Curaçao and Bonaire)
// Papiamento (Curaçao and Bonaire)
$supportedLanguages['pap-CW']['description'] = gT('Papiamento (Curaçao and Bonaire)');
$supportedLanguages['pap-CW']['nativedescription'] = 'Papiamentu';
$supportedLanguages['pap-CW']['rtl'] = false;
$supportedLanguages['pap-CW']['dateformat'] = 2;
$supportedLanguages['pap-CW']['radixpoint'] = 1;
$supportedLanguages['pap-CW']['cldr'] = 'en'; // Fix me - Yii does not provice Papiamento support, yet

// Polish
$supportedLanguages['pl']['description'] = gT('Polish');
Expand All @@ -508,6 +517,7 @@ function getLanguageData($bOrderByNative=false,$sLanguageCode='en') {
$supportedLanguages['pl-informal']['rtl'] = false;
$supportedLanguages['pl-informal']['dateformat'] = 1;
$supportedLanguages['pl-informal']['radixpoint'] = 1;
$supportedLanguages['pl-informal']['cldr'] = 'pl';

// Portuguese
$supportedLanguages['pt']['description'] = gT('Portuguese');
Expand Down Expand Up @@ -599,6 +609,7 @@ function getLanguageData($bOrderByNative=false,$sLanguageCode='en') {
$supportedLanguages['es-AR-informal']['rtl'] = false;
$supportedLanguages['es-AR-informal']['dateformat'] = 5;
$supportedLanguages['es-AR-informal']['radixpoint'] = 0;
$supportedLanguages['es-AR-informal']['cldr'] = 'es-AR';

// Spanish (Chile)
$supportedLanguages['es-CL']['description'] = gT('Spanish (Chile)');
Expand Down Expand Up @@ -940,6 +951,18 @@ function getLanguageDetails($codetosearch)
}
}

/**
* This functions translates LimeSurvey specific locale code to match a Yii locale
*
* @param mixed $sLocale LimeSurvey locale code
*/
function translateLStoYiiLocale($sLocale)
{
// Strip informal string
$sLocale=str_replace('-informal','',$sLocale);
return $sLocale;
}

function getLanguageDataRestricted($bOrderByNative=false,$sLanguageCode='en') {
$aLanguageData = getLanguageData($bOrderByNative, $sLanguageCode);
$result = [];
Expand Down

0 comments on commit 46fe201

Please sign in to comment.