diff --git a/include/limesurvey/group.php b/include/limesurvey/group.php index ba449634..fc6de19e 100644 --- a/include/limesurvey/group.php +++ b/include/limesurvey/group.php @@ -15,6 +15,7 @@ if (!isset($homedir) || isset($_REQUEST['$homedir'])) {die("Cannot run this script directly");} require_once("save.php"); // for supporting functions only +include_once("quexs.php"); //queXS funcitons // $LEMdebugLevel - customizable debugging for Lime Expression Manager $LEMdebugLevel=0; // LEM_DEBUG_TIMING; // (LEM_DEBUG_TIMING + LEM_DEBUG_VALIDATION_SUMMARY + LEM_DEBUG_VALIDATION_DETAIL); @@ -37,7 +38,7 @@ if ($interviewer) } } else - $surveyMode='survey'; + $surveyMode=quexs_get_survey_mode($clienttoken); $radix=getRadixPointData($thissurvey['surveyls_numberformat']); $radix = $radix['seperator']; diff --git a/include/limesurvey/index.php b/include/limesurvey/index.php index 7f9a01b2..419eb0a4 100644 --- a/include/limesurvey/index.php +++ b/include/limesurvey/index.php @@ -21,6 +21,8 @@ require_once(dirname(__FILE__).'/classes/core/startup.php'); require_once(dirname(__FILE__).'/config-defaults.php'); require_once(dirname(__FILE__).'/common.php'); require_once(dirname(__FILE__).'/classes/core/language.php'); +include_once("quexs.php"); + @ini_set('session.gc_maxlifetime', $sessionlifetime); $loadname=returnglobal('loadname'); @@ -541,7 +543,9 @@ if ($interviewer) } } else - $thistpl=sGetTemplatePath('sherpa'); +{ + $thistpl=quexs_get_template($clienttoken); +} diff --git a/include/limesurvey/quexs.php b/include/limesurvey/quexs.php index 0d2bb8ea..aac48d11 100644 --- a/include/limesurvey/quexs.php +++ b/include/limesurvey/quexs.php @@ -36,6 +36,55 @@ require_once(dirname(__FILE__).'/../../config.inc.php'); +/** + * Template for the self completion user + * + * @param string $clienttoken The token + * + * @return string The limesurvey template name + * @author Adam Zammit + * @since 2013-02-20 + */ +function quexs_get_template($clienttoken) +{ + if (empty($clienttoken)) return 'default'; + + $db = newADOConnection(DB_TYPE); + $db->Connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); + $db->SetFetchMode(ADODB_FETCH_ASSOC); + + $sql = "SELECT q.lime_template + FROM questionnaire as q, `case` as c + WHERE q.questionnaire_id = c.questionnaire_id + AND c.token = '$clienttoken'"; + + return $db->GetOne($sql); +} + +/** + * Mode of survey completion + * + * @param string $clienttoken The token + * + * @return The limesurvey mode + * @author Adam Zammit + * @since 2013-02-20 + */ +function quexs_get_survey_mode($clienttoken) +{ + $db = newADOConnection(DB_TYPE); + $db->Connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); + $db->SetFetchMode(ADODB_FETCH_ASSOC); + + $sql = "SELECT q.lime_mode + FROM questionnaire as q, `case` as c + WHERE q.questionnaire_id = c.questionnaire_id + AND c.token = '$clienttoken'"; + + return $db->GetOne($sql); +} + + /** * Set the case as completed by respondent * @@ -759,7 +808,18 @@ function get_end_interview_url($token = "") if ($token == "") return QUEXS_URL . "rs_project_end.php"; else - return "http://www.google.com.au"; + { + $db = newADOConnection(DB_TYPE); + $db->Connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); + $db->SetFetchMode(ADODB_FETCH_ASSOC); + + $sql = "SELECT q.lime_endurl + FROM questionnaire as q, `case` as c + WHERE c.token = '$token' + AND c.questionnaire_id = q.questionnaire_id"; + + return $db->GetOne($sql); + } } /**