From 2b7eeff881d4c0dc7469f2dad5d2b456a7957be3 Mon Sep 17 00:00:00 2001 From: Adam Zammit Date: Wed, 27 Feb 2013 15:04:47 +1100 Subject: [PATCH] Only display email button when enabled for questionnaire Set a case note when completed online --- email.php | 46 +++++++++++++++++++++++------------- include/limesurvey/quexs.php | 14 ++++++++++- index.php | 12 ++++++++-- 3 files changed, 52 insertions(+), 20 deletions(-) diff --git a/email.php b/email.php index dcda6c21..a9ebbc1b 100644 --- a/email.php +++ b/email.php @@ -226,25 +226,37 @@ if (browser_ie()) $js = "js/window_ie6.js"; xhtml_head(T_("Email"),true,array("css/call.css"),array($js)); +$sql = "SELECT q.self_complete + FROM questionnaire as q, `case` as c + WHERE c.case_id = $case_id + AND c.questionnaire_id = q.questionnaire_id"; -$sql = "SELECT sv1.val as firstname, sv2.val as lastname, sv3.val as email - FROM `case` as c - LEFT JOIN sample_var as sv1 on (sv1.sample_id = c.sample_id AND sv1.type = 6) - LEFT JOIN sample_var as sv2 on (sv2.sample_id = c.sample_id AND sv2.type = 7) - LEFT JOIN sample_var as sv3 on (sv3.sample_id = c.sample_id AND sv3.type = 8) - WHERE c.case_id = $case_id"; - -$rs = $db->GetRow($sql); - -print "
" . T_("Email respondent for self completion") . "
"; -if (!empty($msg)) print "

$msg

"; -print "
"; -print "
"; -print "
"; -print "
"; -print "
"; -print "
"; +$sc = $db->GetOne($sql); +if ($sc == 1) +{ + $sql = "SELECT sv1.val as firstname, sv2.val as lastname, sv3.val as email + FROM `case` as c + LEFT JOIN sample_var as sv1 on (sv1.sample_id = c.sample_id AND sv1.type = 6) + LEFT JOIN sample_var as sv2 on (sv2.sample_id = c.sample_id AND sv2.type = 7) + LEFT JOIN sample_var as sv3 on (sv3.sample_id = c.sample_id AND sv3.type = 8) + WHERE c.case_id = $case_id"; + + $rs = $db->GetRow($sql); + + print "
" . T_("Email respondent for self completion") . "
"; + if (!empty($msg)) print "

$msg

"; + print "
"; + print "
"; + print "
"; + print "
"; + print "
"; + print "
"; +} +else +{ + print "

" . T_("Self completion email not available for this questionnaire") . "

"; +} xhtml_foot(); diff --git a/include/limesurvey/quexs.php b/include/limesurvey/quexs.php index 93b4a7c6..baac46ae 100644 --- a/include/limesurvey/quexs.php +++ b/include/limesurvey/quexs.php @@ -102,10 +102,22 @@ function quexs_completed_by_respondent($surveyid,$clienttoken) $db->SetFetchMode(ADODB_FETCH_ASSOC); $sql = "UPDATE `case` - SET current_outcome_id = 34 + SET current_outcome_id = 40 WHERE token = '$clienttoken'"; $db->Execute($sql); + + $sql = "SELECT case_id + FROM `case` + WHERE token = '$clienttoken'"; + + $case_id = $db->GetOne($sql); + + //Add a case note to clarify (need to translate this string) + $sql = "INSERT INTO `case_note` (case_id,operator_id,note,datetime) + VALUES ($case_id,1,'Self completed online',NOW())"; + + $db->Execute($sql); } diff --git a/index.php b/index.php index e838f105..00d17bda 100644 --- a/index.php +++ b/index.php @@ -130,6 +130,15 @@ else if (HEADER_EXPANDER_MANUAL) xhtml_head(T_("queXS"), $body, array("css/index.css","css/tabber.css","include/jquery-ui/css/smoothness/jquery-ui-1.8.2.custom.css") , $js); print $script; +$case_id = get_case_id($operator_id,true); + +$sql = "SELECT q.self_complete + FROM questionnaire as q, `case` as c + WHERE c.case_id = $case_id + AND c.questionnaire_id = q.questionnaire_id"; + +$sc = $db->GetOne($sql); + ?>
@@ -137,7 +146,7 @@ print $script;
-
+
<?php  echo T_('/>
@@ -146,7 +155,6 @@ print $script;