Skip to content

Commit

Permalink
Invalid language data is now ignored at survey import
Browse files Browse the repository at this point in the history
Small fixes

git-svn-id: file:///Users/Shitiz/Downloads/lssvn/source/limesurvey_yii@12036 b72ed6b6-b9f8-46b5-92b4-906544132732
  • Loading branch information
c-schmitz committed Jan 13, 2012
1 parent 65887f3 commit cea9a14
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 6 deletions.
7 changes: 7 additions & 0 deletions application/helpers/admin/import_helper.php
Expand Up @@ -3448,6 +3448,8 @@ function XMLImportSurvey($sFullFilepath,$sXMLdata=NULL,$sNewSurveyName=NULL,$iDe
{
$insertdata[(string)$key]=(string)$value;
}
if (!in_array($insertdata['language'],$aLanguagesSupported)) continue;

$insertdata['surveyls_survey_id']=$newsid;
if ($bTranslateInsertansTags)
{
Expand Down Expand Up @@ -3483,6 +3485,7 @@ function XMLImportSurvey($sFullFilepath,$sXMLdata=NULL,$sNewSurveyName=NULL,$iDe
{
$insertdata[(string)$key]=(string)$value;
}
if (!in_array($insertdata['language'],$aLanguagesSupported)) continue;
$oldsid=$insertdata['sid'];
$insertdata['sid']=$newsid;
$oldgid=$insertdata['gid']; unset($insertdata['gid']); // save the old qid
Expand Down Expand Up @@ -3529,6 +3532,7 @@ function XMLImportSurvey($sFullFilepath,$sXMLdata=NULL,$sNewSurveyName=NULL,$iDe
{
$insertdata[(string)$key]=(string)$value;
}
if (!in_array($insertdata['language'],$aLanguagesSupported)) continue;
$oldsid=$insertdata['sid'];
$insertdata['sid']=$newsid;
$insertdata['gid']=$aGIDReplacements[$insertdata['gid']];
Expand Down Expand Up @@ -3574,6 +3578,7 @@ function XMLImportSurvey($sFullFilepath,$sXMLdata=NULL,$sNewSurveyName=NULL,$iDe
{
$insertdata[(string)$key]=(string)$value;
}
if (!in_array($insertdata['language'],$aLanguagesSupported)) continue;
$insertdata['sid']=$newsid;
$insertdata['gid']=$aGIDReplacements[(int)$insertdata['gid']];;
$oldsqid=(int)$insertdata['qid']; unset($insertdata['qid']); // save the old qid
Expand Down Expand Up @@ -3613,10 +3618,12 @@ function XMLImportSurvey($sFullFilepath,$sXMLdata=NULL,$sNewSurveyName=NULL,$iDe
foreach ($xml->answers->rows->row as $row)
{
$insertdata=array();

foreach ($row as $key=>$value)
{
$insertdata[(string)$key]=(string)$value;
}
if (!in_array($insertdata['language'],$aLanguagesSupported)) continue;
$insertdata['qid']=$aQIDReplacements[(int)$insertdata['qid']]; // remap the parent_qid

// now translate any links
Expand Down
18 changes: 12 additions & 6 deletions application/helpers/common_helper.php
Expand Up @@ -6545,12 +6545,14 @@ function sStripDBPrefix($sTableName)
function TranslateInsertansTags($newsid,$oldsid,$fieldnames)
{
uksort($fieldnames, create_function('$a,$b', 'return strlen($a) < strlen($b);'));

Yii::app()->loadHelper('database');
$newsid=sanitize_int($newsid);
$oldsid=sanitize_int($oldsid);

# translate 'surveyls_urldescription' and 'surveyls_url' INSERTANS tags in surveyls
$sql = "SELECT surveyls_survey_id, surveyls_language, surveyls_urldescription, surveyls_url from {{surveys_languagesettings}} WHERE surveyls_survey_id=".$newsid." AND (surveyls_urldescription LIKE '%{INSERTANS:".$oldsid."X%' OR surveyls_url LIKE '%{INSERTANS:".$oldsid."X%')";
$sql = "SELECT surveyls_survey_id, surveyls_language, surveyls_urldescription, surveyls_url from {{surveys_languagesettings}}
WHERE surveyls_survey_id=".$newsid." AND (surveyls_urldescription LIKE '%{$oldsid}X%' OR surveyls_url LIKE '%{$oldsid}X%')";
$result = db_execute_assoc($sql) or show_error("Can't read groups table in transInsertAns "); // Checked

//while ($qentry = $res->FetchRow())
Expand Down Expand Up @@ -6590,7 +6592,8 @@ function TranslateInsertansTags($newsid,$oldsid,$fieldnames)
} // end while qentry

# translate 'quotals_urldescrip' and 'quotals_url' INSERTANS tags in quota_languagesettings
$sql = "SELECT quotals_id, quotals_urldescrip, quotals_url from {{quota_languagesettings}} qls, {{quota}} q WHERE sid=".$newsid." AND q.id=qls.quotals_quota_id AND (quotals_urldescrip LIKE '%{INSERTANS:".$oldsid."X%' OR quotals_url LIKE '%{INSERTANS:".$oldsid."X%')";
$sql = "SELECT quotals_id, quotals_urldescrip, quotals_url from {{quota_languagesettings}} qls, {{quota}} q
WHERE sid=".$newsid." AND q.id=qls.quotals_quota_id AND (quotals_urldescrip LIKE '%{$oldsid}X%' OR quotals_url LIKE '%{$oldsid}X%')";
$res = db_execute_assoc($sql) or safe_die("Can't read quota table in transInsertAns"); // Checked

foreach ($result->readAll() as $qentry)
Expand All @@ -6615,7 +6618,8 @@ function TranslateInsertansTags($newsid,$oldsid,$fieldnames)
} // end while qentry

# translate 'description' INSERTANS tags in groups
$sql = "SELECT gid, language, group_name, description from {{groups}} WHERE sid=".$newsid." AND description LIKE '%{INSERTANS:".$oldsid."X%' OR group_name LIKE '%{INSERTANS:".$oldsid."X%'";
$sql = "SELECT gid, language, group_name, description from {{groups}}
WHERE sid=".$newsid." AND description LIKE '%{$oldsid}X%' OR group_name LIKE '%{$oldsid}X%'";
$res = db_execute_assoc($sql) or show_error("Can't read groups table in transInsertAns"); // Checked

//while ($qentry = $res->FetchRow())
Expand Down Expand Up @@ -6655,11 +6659,13 @@ function TranslateInsertansTags($newsid,$oldsid,$fieldnames)
} // end while qentry

# translate 'question' and 'help' INSERTANS tags in questions
$sql = "SELECT qid, language, question, help from {{questions}} WHERE sid=".$newsid." AND (question LIKE '%{INSERTANS:".$oldsid."X%' OR help LIKE '%{INSERTANS:".$oldsid."X%' OR question LIKE '%{".$oldsid."X%' OR help LIKE '%{".$oldsid."X%')";
$result = db_execute_assoc($sql) or show_error("Can't read question table in transInsertAns "); // Checked
$sql = "SELECT qid, language, question, help from {{questions}}
WHERE sid=".$newsid." AND (question LIKE '%{$oldsid}X%' OR help LIKE '%{$oldsid}X%')";
$result = db_execute_assoc($sql) or die("Can't read question table in transInsertAns "); // Checked

//while ($qentry = $res->FetchRow())
foreach ($result->readAll() as $qentry)
$aResultData=$result->readAll() ;
foreach ($aResultData as $qentry)
{
$question = $qentry['question'];
$help = $qentry['help'];
Expand Down

0 comments on commit cea9a14

Please sign in to comment.