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:
@@ -283,11 +283,11 @@ function validate_email($email){
|
|||||||
* @param int $questionnaire_id The questionnaire ID
|
* @param int $questionnaire_id The questionnaire ID
|
||||||
* @param int $sample_import_id The sample import ID
|
* @param int $sample_import_id The sample import ID
|
||||||
* @param string $val The value to compare
|
* @param string $val The value to compare
|
||||||
* @param string $var The variable to compare
|
* --- changed @param string $var the variable to compare
|
||||||
|
* to @param string $var_id - ID for variable to compare
|
||||||
* @return bool|int False if failed, otherwise the number of completions
|
* @return bool|int False if failed, otherwise the number of completions
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
function limesurvey_quota_replicate_completions($lime_sid,$questionnaire_id,$sample_import_id,$val,$var)
|
function limesurvey_quota_replicate_completions($lime_sid,$questionnaire_id,$sample_import_id,$val,$var_id)
|
||||||
{
|
{
|
||||||
global $db;
|
global $db;
|
||||||
|
|
||||||
@@ -305,7 +305,7 @@ function limesurvey_quota_replicate_completions($lime_sid,$questionnaire_id,$sam
|
|||||||
FROM " . LIME_PREFIX . "survey_$lime_sid as s
|
FROM " . LIME_PREFIX . "survey_$lime_sid as s
|
||||||
JOIN `case` as c ON (c.questionnaire_id = '$questionnaire_id')
|
JOIN `case` as c ON (c.questionnaire_id = '$questionnaire_id')
|
||||||
JOIN `sample` as sam ON (c.sample_id = sam.sample_id AND sam.import_id = '$sample_import_id')
|
JOIN `sample` as sam ON (c.sample_id = sam.sample_id AND sam.import_id = '$sample_import_id')
|
||||||
JOIN `sample_var` as sv ON (sv.sample_id = sam.sample_id AND sv.var LIKE '$var' AND sv.val LIKE '$val')
|
JOIN `sample_var` as sv ON (sv.sample_id = sam.sample_id AND sv.var_id = '$var_id' AND sv.val LIKE '$val')
|
||||||
WHERE s.submitdate IS NOT NULL
|
WHERE s.submitdate IS NOT NULL
|
||||||
AND s.token = c.token";
|
AND s.token = c.token";
|
||||||
|
|
||||||
@@ -355,14 +355,15 @@ function limesurvey_quota_match($lime_sgqa,$lime_sid,$case_id,$value,$comparison
|
|||||||
* @param int $lime_sid The Limesurvey survey id
|
* @param int $lime_sid The Limesurvey survey id
|
||||||
* @param int $case_id The case id
|
* @param int $case_id The case id
|
||||||
* @param string $val The sample value to compare
|
* @param string $val The sample value to compare
|
||||||
* @param string $var The sample variable to compare
|
* --- changed @param string $var the variable to compare
|
||||||
|
* to @param string $var_id - ID for variable to compare
|
||||||
* @param int $sample_import_id The sample import id we are looking at
|
* @param int $sample_import_id The sample import id we are looking at
|
||||||
*
|
*
|
||||||
* @return bool|int False if failed, otherwise 1 if matched, 0 if doesn't
|
* @return bool|int False if failed, otherwise 1 if matched, 0 if doesn't
|
||||||
* @author Adam Zammit <adam.zammit@acspri.org.au>
|
* @author Adam Zammit <adam.zammit@acspri.org.au>
|
||||||
* @since 2012-04-30
|
* @since 2012-04-30
|
||||||
*/
|
*/
|
||||||
function limesurvey_quota_replicate_match($lime_sid,$case_id,$val,$var,$sample_import_id)
|
function limesurvey_quota_replicate_match($lime_sid,$case_id,$val,$var_id,$sample_import_id)
|
||||||
{
|
{
|
||||||
global $db;
|
global $db;
|
||||||
|
|
||||||
@@ -370,7 +371,7 @@ function limesurvey_quota_replicate_match($lime_sid,$case_id,$val,$var,$sample_i
|
|||||||
FROM " . LIME_PREFIX . "survey_$lime_sid as s
|
FROM " . LIME_PREFIX . "survey_$lime_sid as s
|
||||||
JOIN `case` as c ON (c.case_id = '$case_id')
|
JOIN `case` as c ON (c.case_id = '$case_id')
|
||||||
JOIN `sample` as sam ON (c.sample_id = sam.sample_id and sam.import_id = $sample_import_id)
|
JOIN `sample` as sam ON (c.sample_id = sam.sample_id and sam.import_id = $sample_import_id)
|
||||||
JOIN `sample_var` as sv ON (sv.sample_id = sam.sample_id AND sv.var LIKE '$var' AND sv.val LIKE '$val')
|
JOIN `sample_var` as sv ON (sv.sample_id = sam.sample_id AND sv.var_id = '$var_id' AND sv.val LIKE '$val')
|
||||||
WHERE s.token = c.token";
|
WHERE s.token = c.token";
|
||||||
|
|
||||||
$rs = $db->GetRow($sql);
|
$rs = $db->GetRow($sql);
|
||||||
|
|||||||
@@ -267,13 +267,13 @@ $quexsfilterstate = questionnaireSampleFilterstate();
|
|||||||
."<option value='shiftr' id='shiftr' />".T_("Shift report")."</option>\n";
|
."<option value='shiftr' id='shiftr' />".T_("Shift report")."</option>\n";
|
||||||
|
|
||||||
|
|
||||||
$sql = "SELECT sv.var,sv.val
|
$sql = "SELECT sivr.var,sv.val
|
||||||
FROM `questionnaire` as q, questionnaire_sample as qs, sample as s, sample_var as sv
|
FROM `questionnaire` as q, questionnaire_sample as qs, sample_var as sv, `sample_import_var_restrict` as sivr
|
||||||
WHERE q.lime_sid = $surveyid
|
WHERE q.lime_sid = $surveyid
|
||||||
AND qs.questionnaire_id = q.questionnaire_id
|
AND qs.questionnaire_id = q.questionnaire_id
|
||||||
AND s.import_id = qs.sample_import_id
|
AND sivr.sample_import_id = qs.sample_import_id
|
||||||
AND sv.sample_id = s.sample_id
|
AND sv.var_id = sivr.var_id
|
||||||
GROUP BY qs.sample_import_id,sv.var";
|
GROUP BY qs.sample_import_id,sivr.var";
|
||||||
|
|
||||||
$queXSrs = $connect->GetAssoc($sql);
|
$queXSrs = $connect->GetAssoc($sql);
|
||||||
|
|
||||||
@@ -305,13 +305,13 @@ if ($tokenTableExists)
|
|||||||
{
|
{
|
||||||
$aTokenFieldNames=GetTokenFieldsAndNames($surveyid,false,true);
|
$aTokenFieldNames=GetTokenFieldsAndNames($surveyid,false,true);
|
||||||
|
|
||||||
$sql = "SELECT sv.var,sv.val
|
$sql = "SELECT sivr.var,sv.val
|
||||||
FROM `questionnaire` as q, questionnaire_sample as qs, sample as s, sample_var as sv
|
FROM `questionnaire` as q, questionnaire_sample as qs, sample_var as sv, `sample_import_var_restrict` as sivr
|
||||||
WHERE q.lime_sid = $surveyid
|
WHERE q.lime_sid = $surveyid
|
||||||
AND qs.questionnaire_id = q.questionnaire_id
|
AND qs.questionnaire_id = q.questionnaire_id
|
||||||
AND s.import_id = qs.sample_import_id
|
AND sivr.sample_import_id = qs.sample_import_id
|
||||||
AND sv.sample_id = s.sample_id
|
AND sv.var_id = sivr.var_id
|
||||||
GROUP BY qs.sample_import_id,sv.var";
|
GROUP BY qs.sample_import_id,sivr.var";
|
||||||
|
|
||||||
$attributeFields = $connect->GetAssoc($sql);
|
$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']))
|
if (in_array("SAMPLE:$attr_name",$_POST['attribute_select']))
|
||||||
{
|
{
|
||||||
$dquery .= ", ( SELECT sv.val
|
$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
|
WHERE c3.token = {$dbprefix}survey_$surveyid.token
|
||||||
AND c3.sample_id = sv.sample_id
|
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;
|
$attributeFieldAndNames["attribute_$i"] = $attr_name;
|
||||||
|
|
||||||
@@ -1362,4 +1363,4 @@ function strip_tags_full($string) {
|
|||||||
$string=str_replace('-oth-','',$string);
|
$string=str_replace('-oth-','',$string);
|
||||||
return FlattenText($string,true,'UTF-8',false);
|
return FlattenText($string,true,'UTF-8',false);
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
@@ -3422,17 +3422,19 @@
|
|||||||
|
|
||||||
if ($use_call)
|
if ($use_call)
|
||||||
{
|
{
|
||||||
$sql = "SELECT sv.var,sv.val
|
$sql = "SELECT sivr.var,sv.val
|
||||||
FROM sample_var as sv, `case` as c, `call` as cl
|
FROM sample_var as sv, `case` as c, `call` as cl, `sample_import_var_restrict` as sivr
|
||||||
WHERE c.sample_id = sv.sample_id
|
WHERE c.sample_id = sv.sample_id
|
||||||
AND c.case_id = cl.case_id
|
AND c.case_id = cl.case_id
|
||||||
|
AND sv.var_id = sivr.var_id
|
||||||
AND cl.call_id = '{$_SESSION['token']}'";
|
AND cl.call_id = '{$_SESSION['token']}'";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$sql = "SELECT sv.var,sv.val
|
$sql = "SELECT sivr.var,sv.val
|
||||||
FROM sample_var as sv, `case` as c
|
FROM sample_var as sv, `case` as c, `sample_import_var_restrict` as sivr
|
||||||
WHERE c.sample_id = sv.sample_id
|
WHERE c.sample_id = sv.sample_id
|
||||||
|
AND sv.var_id = sivr.var_id
|
||||||
AND c.token = '{$_SESSION['token']}'";
|
AND c.token = '{$_SESSION['token']}'";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3504,10 +3506,6 @@
|
|||||||
'jsName'=>'',
|
'jsName'=>'',
|
||||||
'readWrite'=>'N',
|
'readWrite'=>'N',
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -3535,13 +3533,13 @@
|
|||||||
//Add all sample variables for this questionnaire
|
//Add all sample variables for this questionnaire
|
||||||
global $connect;
|
global $connect;
|
||||||
|
|
||||||
$sql = "SELECT sv.var,sv.val
|
$sql = "SELECT sivr.var,sv.val
|
||||||
FROM `questionnaire` as q, questionnaire_sample as qs, sample as s, sample_var as sv
|
FROM `questionnaire` as q, questionnaire_sample as qs, sample_var as sv, `sample_import_var_restrict` as sivr
|
||||||
WHERE q.lime_sid = $surveyid
|
WHERE q.lime_sid = $surveyid
|
||||||
AND qs.questionnaire_id = q.questionnaire_id
|
AND qs.questionnaire_id = q.questionnaire_id
|
||||||
AND s.import_id = qs.sample_import_id
|
AND sivr.sample_import_id = qs.sample_import_id
|
||||||
AND sv.sample_id = s.sample_id
|
AND sv.var_id = sivr.var_id
|
||||||
GROUP BY qs.sample_import_id,sv.var";
|
GROUP BY qs.sample_import_id,sivr.var";
|
||||||
|
|
||||||
$queXSrs = $connect->GetAssoc($sql);
|
$queXSrs = $connect->GetAssoc($sql);
|
||||||
|
|
||||||
|
|||||||
@@ -419,10 +419,11 @@ function quexs_update_sample($lime_sid,$id,$postedfieldnames)
|
|||||||
$sgqa = $r['sid'] . 'X' . $r['gid'] . 'X' . $r['qid'] . $r['title'];
|
$sgqa = $r['sid'] . 'X' . $r['gid'] . 'X' . $r['qid'] . $r['title'];
|
||||||
$var = $r['answer'];
|
$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
|
SET sv.val = ld.$sgqa
|
||||||
WHERE sv.var LIKE '$var'
|
WHERE sivr.var LIKE '$var'
|
||||||
AND sv.sample_id = '$sample_id'
|
AND sv.sample_id = '$sample_id'
|
||||||
|
AND sivr.var_id = sv.var_id
|
||||||
AND ld.id = '$id'";
|
AND ld.id = '$id'";
|
||||||
|
|
||||||
$db->Execute($sql);
|
$db->Execute($sql);
|
||||||
@@ -477,8 +478,9 @@ function get_sample_variable($variable,$case_id)
|
|||||||
|
|
||||||
$sql = "SELECT s.val as r
|
$sql = "SELECT s.val as r
|
||||||
FROM sample_var as s
|
FROM sample_var as s
|
||||||
JOIN `case` as c on (c.case_id = '$case_id' and s.sample_id = c.sample_id)
|
JOIN `case` as c on (c.case_id = '$case_id' and s.sample_id = c.sample_id), `sample_import_var_restrict` as sivr
|
||||||
WHERE s.var = '$variable'";
|
WHERE sivr.var = '$variable'
|
||||||
|
AND s.var_id = sivr.var_id";
|
||||||
|
|
||||||
$rs = $db->GetRow($sql);
|
$rs = $db->GetRow($sql);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user