Skip to content

Commit

Permalink
fixed issues and added support for multilanguage surveys
Browse files Browse the repository at this point in the history
git-svn-id: file:///Users/Shitiz/Downloads/lssvn/source/phpsurveyor@2184 b72ed6b6-b9f8-46b5-92b4-906544132732
  • Loading branch information
Ronald Leenes committed Dec 12, 2006
1 parent 9c139ba commit 687a62b
Showing 1 changed file with 31 additions and 18 deletions.
49 changes: 31 additions & 18 deletions admin/spss.php
Expand Up @@ -30,7 +30,7 @@
}

#Lookup the names of the attributes
$query="SELECT sid, attribute1, attribute2, private FROM {$dbprefix}surveys WHERE sid=$surveyid";
$query="SELECT sid, attribute1, attribute2, private, language FROM {$dbprefix}surveys WHERE sid=$surveyid";
$result=db_execute_assoc($query) or die("Couldn't count fields<br />$query<br />".$connect->ErrorMsg());
$num_results = $result->RecordCount();
$num_fields = $num_results;
Expand All @@ -40,6 +40,7 @@
if ($row["attribute1"]) {$attr1_name = $row["attribute1"];} else {$attr1_name=_TL_ATTR1;}
if ($row["attribute2"]) {$attr2_name = $row["attribute2"];} else {$attr2_name=_TL_ATTR2;}
$surveyprivate=$row['private'];
$language=$row['language'];
}

$fieldno=0;
Expand Down Expand Up @@ -88,6 +89,7 @@
$fieldname = "stamp";
}


#Determine field type
if ($fieldname=="stamp"){
$fieldtype = "DATETIME20.0";
Expand Down Expand Up @@ -185,23 +187,23 @@

//echo "*Begin data\n";
echo "BEGIN DATA\n";//minni"<br />";

$tokensexist=0;
if (isset($tokensexist) && $tokensexist == 1 && $surveyprivate == "N") {
$query="SELECT `{$dbprefix}tokens_$surveyid`.`firstname` ,
`{$dbprefix}tokens_$surveyid`.`lastname` ,
`{$dbprefix}tokens_$surveyid`.`email`";
$query="SELECT {$dbprefix}tokens_$surveyid.firstname ,
{$dbprefix}tokens_$surveyid.lastname ,
{$dbprefix}tokens_$surveyid.email";
if (in_array("attribute_1", $token_fields)) {
$query .= ",\n `{$dbprefix}tokens_$surveyid`.`attribute_1`";
$query .= ",\n {$dbprefix}tokens_$surveyid.attribute_1";
}
if (in_array("attribute_2", $token_fields)) {
$query .= ",\n `{$dbprefix}tokens_$surveyid`.`attribute_2`";
$query .= ",\n {$dbprefix}tokens_$surveyid.attribute_2";
}
$query .= ",\n `{$dbprefix}survey_$surveyid`.*
FROM `{$dbprefix}survey_$surveyid`
LEFT JOIN `{$dbprefix}tokens_$surveyid` ON `{$dbprefix}survey_$surveyid`.`token` = `{$dbprefix}tokens_$surveyid`.`token`";
$query .= ",\n {$dbprefix}survey_$surveyid.*
FROM {$dbprefix}survey_$surveyid
LEFT JOIN {$dbprefix}tokens_$surveyid ON {$dbprefix}survey_$surveyid.token = {$dbprefix}tokens_$surveyid.token";
} else {
$query = "SELECT `{$dbprefix}survey_$surveyid`.*
FROM `{$dbprefix}survey_$surveyid`";
$query = "SELECT {$dbprefix}survey_$surveyid.*
FROM {$dbprefix}survey_$surveyid";
}


Expand Down Expand Up @@ -249,8 +251,11 @@
#If a split question
if ($field["code"] != ""){
#Lookup the question
$query = "SELECT `{$dbprefix}questions`.`question`, `{$dbprefix}questions`.`title` FROM {$dbprefix}questions WHERE ((`{$dbprefix}questions`.`sid` =".$surveyid.") AND (`{$dbprefix}questions`.`qid` =".$field["qid"]."))";
#echo $query;

$query = "SELECT question, title
FROM {$dbprefix}questions WHERE sid='".$surveyid."' AND language='".$language."'
AND qid='".$field["qid"]."'";

$result=db_execute_assoc($query) or die("Couldn't count fields<br />$query<br />".$connect->ErrorMsg());
$num_results = $result->RecordCount();
$num_fields = $num_results;
Expand All @@ -263,7 +268,8 @@
}
}
#Lookup the answer
$query = "SELECT `{$dbprefix}answers`.`answer` FROM {$dbprefix}answers WHERE ((`{$dbprefix}answers`.`qid` =".$field["qid"].") AND (`{$dbprefix}answers`.`code` ='".$field["code"]."'))";
$query = "SELECT answer FROM {$dbprefix}answers WHERE
qid='".$field["qid"]."' and language='".$language."' AND code ='".$field["code"]."'";
$result=db_execute_assoc($query) or die("Couldn't lookup answer<br />$query<br />".$connect->ErrorMsg());
$num_results = $result->RecordCount();
$num_fields = $num_results;
Expand All @@ -280,7 +286,9 @@
}
}else{
$test=explode ("X", $field["name"]);
$query = "SELECT `{$dbprefix}questions`.`question` FROM {$dbprefix}questions WHERE ((`{$dbprefix}questions`.`sid` =".$surveyid.") AND (`{$dbprefix}questions`.`qid` =".$field["qid"]."))";
$query = "SELECT question FROM {$dbprefix}questions
WHERE sid ='".$surveyid."' AND language='".$language."'
AND qid='".$field["qid"]."'";
$result=db_execute_assoc($query) or die("Couldn't count fields<br />$query<br />".ErrorMsg());
$row = $result->FetchRow();
echo "VARIABLE LABELS ".$field["id"]." '".
Expand All @@ -298,7 +306,10 @@
{
if ($field['ftype'] != "T" && $field['ftype'] != "S" && $field['ftype'] != "U" && $field['ftype'] != "A" && $field['ftype'] != "B" && $field['ftype'] != "F")
{
$query = "SELECT `{$dbprefix}answers`.`code`, `{$dbprefix}answers`.`answer`, `{$dbprefix}questions`.`type` FROM {$dbprefix}answers, {$dbprefix}questions WHERE (`{$dbprefix}answers`.`qid` = ".$field["qid"].") and (`{$dbprefix}questions`.`qid` = ".$field["qid"].")";
$query = "SELECT {$dbprefix}answers.code, {$dbprefix}answers.answer,
{$dbprefix}questions.type FROM {$dbprefix}answers, {$dbprefix}questions WHERE
{$dbprefix}answers.qid = '".$field["qid"]."' and {$dbprefix}questions.language='".$language."' and {$dbprefix}answers.language='".$language."'
and {$dbprefix}questions.qid='".$field["qid"]."'";
$result=db_execute_assoc($query) or die("Couldn't lookup value labels<br />$query<br />".$connect->ErrorMsg());
$num_results = $result->RecordCount();
if ($num_results > 0)
Expand All @@ -322,7 +333,9 @@
}
if ($field['ftype'] == "F")
{
$query = "SELECT `{$dbprefix}questions`.`lid`, `{$dbprefix}labels`.`code`, `{$dbprefix}labels`.`title` from {$dbprefix}questions, {$dbprefix}labels WHERE (`{$dbprefix}questions`.`qid` = ".$field["qid"].") and (`{$dbprefix}questions`.`lid` = `{$dbprefix}labels`.`lid`)";
$query = "SELECT {$dbprefix}questions.lid, {$dbprefix}labels.code, {$dbprefix}labels.title from
{$dbprefix}questions, {$dbprefix}labels WHERE {$dbprefix}labels.language='".$language."' and
{$dbprefix}questions.qid ='".$field["qid"]."' and {$dbprefix}questions.lid={$dbprefix}labels.lid";
$result=db_execute_assoc($query) or die("Couldn't get labels<br />$query<br />".$connect->ErrorMsg());
$num_results = $result->RecordCount();
if ($num_results > 0)
Expand Down

0 comments on commit 687a62b

Please sign in to comment.