2
0
mirror of https://github.com/ACSPRI/queXS synced 2024-04-02 12:12:16 +00:00

limesurvey querries adjusted for sample_import_var_restrict table

This commit is contained in:
Alex
2015-05-17 17:14:53 +03:00
parent ee3eac2234
commit 790933c7bd
4 changed files with 43 additions and 41 deletions

View File

@@ -267,13 +267,13 @@ $quexsfilterstate = questionnaireSampleFilterstate();
."<option value='shiftr' id='shiftr' />".T_("Shift report")."</option>\n";
$sql = "SELECT sv.var,sv.val
FROM `questionnaire` as q, questionnaire_sample as qs, sample as s, sample_var as sv
WHERE q.lime_sid = $surveyid
$sql = "SELECT sivr.var,sv.val
FROM `questionnaire` as q, questionnaire_sample as qs, sample_var as sv, `sample_import_var_restrict` as sivr
WHERE q.lime_sid = $surveyid
AND qs.questionnaire_id = q.questionnaire_id
AND s.import_id = qs.sample_import_id
AND sv.sample_id = s.sample_id
GROUP BY qs.sample_import_id,sv.var";
AND sivr.sample_import_id = qs.sample_import_id
AND sv.var_id = sivr.var_id
GROUP BY qs.sample_import_id,sivr.var";
$queXSrs = $connect->GetAssoc($sql);
@@ -305,13 +305,13 @@ if ($tokenTableExists)
{
$aTokenFieldNames=GetTokenFieldsAndNames($surveyid,false,true);
$sql = "SELECT sv.var,sv.val
FROM `questionnaire` as q, questionnaire_sample as qs, sample as s, sample_var as sv
WHERE q.lime_sid = $surveyid
$sql = "SELECT sivr.var,sv.val
FROM `questionnaire` as q, questionnaire_sample as qs, sample_var as sv, `sample_import_var_restrict` as sivr
WHERE q.lime_sid = $surveyid
AND qs.questionnaire_id = q.questionnaire_id
AND s.import_id = qs.sample_import_id
AND sv.sample_id = s.sample_id
GROUP BY qs.sample_import_id,sv.var";
AND sivr.sample_import_id = qs.sample_import_id
AND sv.var_id = sivr.var_id
GROUP BY qs.sample_import_id,sivr.var";
$attributeFields = $connect->GetAssoc($sql);
@@ -554,10 +554,11 @@ if ($tokenTableExists && $thissurvey['anonymized']=='N' && isset($_POST['attribu
if (in_array("SAMPLE:$attr_name",$_POST['attribute_select']))
{
$dquery .= ", ( SELECT sv.val
FROM sample_var as sv, `case` as c3
FROM sample_var as sv, `case` as c3,`sample_import_var_restrict` as sivr
WHERE c3.token = {$dbprefix}survey_$surveyid.token
AND c3.sample_id = sv.sample_id
AND sv.var LIKE '$attr_name') as attribute_$i ";
AND sivr.var_id = sv.var_id
AND sivr.var LIKE '$attr_name') as attribute_$i ";
$attributeFieldAndNames["attribute_$i"] = $attr_name;
@@ -1362,4 +1363,4 @@ function strip_tags_full($string) {
$string=str_replace('-oth-','',$string);
return FlattenText($string,true,'UTF-8',false);
}
?>
?>

View File

@@ -3422,17 +3422,19 @@
if ($use_call)
{
$sql = "SELECT sv.var,sv.val
FROM sample_var as sv, `case` as c, `call` as cl
$sql = "SELECT sivr.var,sv.val
FROM sample_var as sv, `case` as c, `call` as cl, `sample_import_var_restrict` as sivr
WHERE c.sample_id = sv.sample_id
AND c.case_id = cl.case_id
AND sv.var_id = sivr.var_id
AND cl.call_id = '{$_SESSION['token']}'";
}
else
{
$sql = "SELECT sv.var,sv.val
FROM sample_var as sv, `case` as c
$sql = "SELECT sivr.var,sv.val
FROM sample_var as sv, `case` as c, `sample_import_var_restrict` as sivr
WHERE c.sample_id = sv.sample_id
AND sv.var_id = sivr.var_id
AND c.token = '{$_SESSION['token']}'";
}
@@ -3504,10 +3506,6 @@
'jsName'=>'',
'readWrite'=>'N',
);
}
else
@@ -3535,13 +3533,13 @@
//Add all sample variables for this questionnaire
global $connect;
$sql = "SELECT sv.var,sv.val
FROM `questionnaire` as q, questionnaire_sample as qs, sample as s, sample_var as sv
WHERE q.lime_sid = $surveyid
AND qs.questionnaire_id = q.questionnaire_id
AND s.import_id = qs.sample_import_id
AND sv.sample_id = s.sample_id
GROUP BY qs.sample_import_id,sv.var";
$sql = "SELECT sivr.var,sv.val
FROM `questionnaire` as q, questionnaire_sample as qs, sample_var as sv, `sample_import_var_restrict` as sivr
WHERE q.lime_sid = $surveyid
AND qs.questionnaire_id = q.questionnaire_id
AND sivr.sample_import_id = qs.sample_import_id
AND sv.var_id = sivr.var_id
GROUP BY qs.sample_import_id,sivr.var";
$queXSrs = $connect->GetAssoc($sql);

View File

@@ -419,10 +419,11 @@ function quexs_update_sample($lime_sid,$id,$postedfieldnames)
$sgqa = $r['sid'] . 'X' . $r['gid'] . 'X' . $r['qid'] . $r['title'];
$var = $r['answer'];
$sql = "UPDATE sample_var as sv, ".LIME_PREFIX."survey_$lime_sid as ld
$sql = "UPDATE sample_var as sv, ".LIME_PREFIX."survey_$lime_sid as ld, `sample_import_var_restrict` as sivr
SET sv.val = ld.$sgqa
WHERE sv.var LIKE '$var'
WHERE sivr.var LIKE '$var'
AND sv.sample_id = '$sample_id'
AND sivr.var_id = sv.var_id
AND ld.id = '$id'";
$db->Execute($sql);
@@ -477,8 +478,9 @@ function get_sample_variable($variable,$case_id)
$sql = "SELECT s.val as r
FROM sample_var as s
JOIN `case` as c on (c.case_id = '$case_id' and s.sample_id = c.sample_id)
WHERE s.var = '$variable'";
JOIN `case` as c on (c.case_id = '$case_id' and s.sample_id = c.sample_id), `sample_import_var_restrict` as sivr
WHERE sivr.var = '$variable'
AND s.var_id = sivr.var_id";
$rs = $db->GetRow($sql);