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

Fixed issue: Limesurvey quotas not working

This commit is contained in:
Adam Zammit
2017-07-04 14:48:30 +10:00
parent d25275f41d
commit c578983e47
10 changed files with 68 additions and 64 deletions

View File

@@ -1337,7 +1337,7 @@ function get_respondentselection_url($operator_id,$escape = true,$interface2 = f
$sid = get_limesurvey_id($operator_id,true); //true for RS $sid = get_limesurvey_id($operator_id,true); //true for RS
if ($sid != false && !empty($sid) && $sid != 'NULL') if ($sid != false && !empty($sid) && $sid != 'NULL')
{ {
$url = LIME_URL . "index.php?interviewer=interviewer" . $amp . "loadall=reload" . $amp . "sid=$sid" . $amp . "token=$call_id" . $amp . "lang=" . DEFAULT_LOCALE; $url = LIME_URL . "index.php?interviewer=$operator_id" . $amp . "loadall=reload" . $amp . "sid=$sid" . $amp . "token=$call_id" . $amp . "lang=" . DEFAULT_LOCALE;
} }
else else
{ {
@@ -1387,7 +1387,7 @@ function get_limesurvey_url($operator_id)
$token = $db->GetOne($sql); $token = $db->GetOne($sql);
$sid = get_limesurvey_id($operator_id); $sid = get_limesurvey_id($operator_id);
$url = LIME_URL . "index.php?interviewer=interviewer&loadall=reload&sid=$sid&token=$token&lang=" . DEFAULT_LOCALE; $url = LIME_URL . "index.php?interviewer=$operator_id&loadall=reload&sid=$sid&token=$token&lang=" . DEFAULT_LOCALE;
$questionnaire_id = get_questionnaire_id($operator_id); $questionnaire_id = get_questionnaire_id($operator_id);
//get prefills //get prefills

View File

@@ -254,9 +254,17 @@ if(isset($_SESSION['loginID']))
} }
elseif ($action == 'previewgroup') elseif ($action == 'previewgroup')
{ {
$_SESSION['interviewer'] = true; $interviewer=returnglobal('interviewer');
require_once('../index.php'); if (empty($interviewer))
exit; {
$interviewer = false;
}
if (!isset($_SESSION['interviewer'])) {
$_SESSION['interviewer'] = $interviewer;
}
require_once('../index.php');
exit;
} }
elseif ($action == 'showlogicfile') elseif ($action == 'showlogicfile')

View File

@@ -281,7 +281,7 @@ $action!='vvimport' && $action!='vvexport' && $action!='exportresults')
if (count($tmp_survlangs) == 1) if (count($tmp_survlangs) == 1)
{ {
$surveysummary .= "<li><a href='#' accesskey='d' onclick=\"window.open('" $surveysummary .= "<li><a href='#' accesskey='d' onclick=\"window.open('"
. $publicurl."/index.php?sid={$surveyid}&amp;interviewer=interviewer&amp;newtest=Y&amp;lang={$baselang}', '_blank')\" title=\"{$icontext2}\" >" . $publicurl."/index.php?sid={$surveyid}&amp;interviewer=" . $_SESSION['interviewer'] . "&amp;newtest=Y&amp;lang={$baselang}', '_blank')\" title=\"{$icontext2}\" >"
. "<img src='{$imageurl}/do.png' alt='{$icontext}' />" . "<img src='{$imageurl}/do.png' alt='{$icontext}' />"
. "</a></li>\n"; . "</a></li>\n";
@@ -290,12 +290,12 @@ $action!='vvimport' && $action!='vvexport' && $action!='exportresults')
. "title='{$icontext2}' accesskey='d'>" . "title='{$icontext2}' accesskey='d'>"
. "<img src='{$imageurl}/do.png' alt='{$icontext}' />" . "<img src='{$imageurl}/do.png' alt='{$icontext}' />"
. "</a><ul>\n"; . "</a><ul>\n";
$surveysummary .= "<li><a accesskey='d' target='_blank' href='{$publicurl}/index.php?sid=$surveyid&amp;interviewer=interviewer&amp;newtest=Y'>" $surveysummary .= "<li><a accesskey='d' target='_blank' href='{$publicurl}/index.php?sid=$surveyid&amp;interviewer=". $_SESSION['interviewer']."&amp;newtest=Y'>"
. "<img src='{$imageurl}/do_30.png' /> $icontext </a><ul>"; . "<img src='{$imageurl}/do_30.png' /> $icontext </a><ul>";
// Test Survey Language Selection Popup // Test Survey Language Selection Popup
foreach ($tmp_survlangs as $tmp_lang) foreach ($tmp_survlangs as $tmp_lang)
{ {
$surveysummary .= "<li><a accesskey='d' target='_blank' href='{$publicurl}/index.php?sid=$surveyid&amp;interviewer=interviewer&amp;newtest=Y&amp;lang={$tmp_lang}'>" $surveysummary .= "<li><a accesskey='d' target='_blank' href='{$publicurl}/index.php?sid=$surveyid&amp;interviewer=" . $_SESSION['interviewer'] ."&amp;newtest=Y&amp;lang={$tmp_lang}'>"
. "<img src='{$imageurl}/do_30.png' /> ".getLanguageNameFromCode($tmp_lang,false)."</a></li>"; . "<img src='{$imageurl}/do_30.png' /> ".getLanguageNameFromCode($tmp_lang,false)."</a></li>";
} }
$surveysummary .= "</ul></li>" $surveysummary .= "</ul></li>"

View File

@@ -102,7 +102,7 @@ function menuSeparator()
} }
if (count(GetAdditionalLanguagesFromSurveyID($surveyid)) == 0) if (count(GetAdditionalLanguagesFromSurveyID($surveyid)) == 0)
{ {
$adminmenu .= menuItem($menutext, $menutext2, "do.png", "$publicurl/index.php?sid=$surveyid&amp;interviewer=interviewer&amp;newtest=Y&amp;lang=$baselang"); $adminmenu .= menuItem($menutext, $menutext2, "do.png", "$publicurl/index.php?sid=$surveyid&amp;interviewer=" . $_SESSION['interviewer'] . "&amp;newtest=Y&amp;lang=$baselang");
} }
else else
{ {
@@ -123,7 +123,7 @@ function menuSeparator()
{ {
$adminmenu .= "<li><a accesskey='d' onclick=\"$('.dosurvey').qtip('hide');" $adminmenu .= "<li><a accesskey='d' onclick=\"$('.dosurvey').qtip('hide');"
."\" target='_blank' href='{$publicurl}/index.php?sid=$surveyid&amp;" ."\" target='_blank' href='{$publicurl}/index.php?sid=$surveyid&amp;"
."interviewer=interviewer&amp;newtest=Y&amp;lang={$tmp_lang}'>".getLanguageNameFromCode($tmp_lang,false)."</a></li>"; ."interviewer=" . $_SESSION['interviewer'] . "&amp;newtest=Y&amp;lang={$tmp_lang}'>".getLanguageNameFromCode($tmp_lang,false)."</a></li>";
} }
$adminmenu .= "</ul></div>"; $adminmenu .= "</ul></div>";
} }

View File

@@ -4227,18 +4227,15 @@ function getHeader($meta = false)
$js_header_includes = array_unique($js_header_includes); $js_header_includes = array_unique($js_header_includes);
$css_header_includes = array_unique($css_header_includes); $css_header_includes = array_unique($css_header_includes);
$interviewer=returnglobal('interviewer'); $interviewer=returnglobal('interviewer');
if (!empty($interviewer) || (isset($_SESSION['interviewer']) && $_SESSION['interviewer'] == true)) if (empty($interviewer))
{ {
$interviewer = true; $interviewer = false;
$_SESSION['interviewer'] = true; }
} if (!isset($_SESSION['interviewer'])) {
else $_SESSION['interviewer'] = $interviewer;
{ }
$interviewer = false; if ($SESSION['interviewer'])
}
if ($interviewer)
{ {
$js_header_includes[] = '/../../js/popup.js'; //queXS Addition $js_header_includes[] = '/../../js/popup.js'; //queXS Addition
include_once("quexs.php"); include_once("quexs.php");

View File

@@ -23,7 +23,7 @@ $LEMskipReprocessing=false; // true if used GetLastMoveResult to avoid generatio
$surveyMode=quexs_get_survey_mode($clienttoken); $surveyMode=quexs_get_survey_mode($clienttoken);
if ($interviewer || $surveyMode === false) if ($_SESSION['interviewer'] || $surveyMode === false)
{ {
switch ($thissurvey['format']) switch ($thissurvey['format'])
{ {
@@ -467,7 +467,7 @@ else
//queXS Addition //queXS Addition
include_once("quexs.php"); include_once("quexs.php");
if ($interviewer) if ($_SESSION['interviewer'])
{ {
$quexs_url = get_start_interview_url(); $quexs_url = get_start_interview_url();
$url = str_replace("{STARTINTERVIEWURL}", $quexs_url, $url); $url = str_replace("{STARTINTERVIEWURL}", $quexs_url, $url);

View File

@@ -130,16 +130,17 @@ if ( $embedded && $embedded_inc != '' )
//queXS Addition //queXS Addition
//see who is doing this survey - an interviewer or the respondent directly //see who is doing this survey - an interviewer or the respondent directly
$interviewer=returnglobal('interviewer'); //
if (!empty($interviewer) || (isset($_SESSION['interviewer']) && $_SESSION['interviewer'] == true))
{ $interviewer=returnglobal('interviewer');
$interviewer = true; if (empty($interviewer))
$_SESSION['interviewer'] = true; {
} $interviewer = false;
else }
{ if (!isset($_SESSION['interviewer'])) {
$interviewer = false; $_SESSION['interviewer'] = $interviewer;
} }
@@ -507,7 +508,7 @@ else
$qtmp = quexs_get_template($clienttoken); $qtmp = quexs_get_template($clienttoken);
if ($interviewer || $qtmp === false) if ($_SESSION['interviewer'] || $qtmp === false)
{ {
//SET THE TEMPLATE DIRECTORY //SET THE TEMPLATE DIRECTORY
if (!$thissurvey['templatedir']) if (!$thissurvey['templatedir'])
@@ -2656,6 +2657,8 @@ function check_quota($checkaction,$surveyid)
WHERE ".implode(' AND ',$querycond)." "." WHERE ".implode(' AND ',$querycond)." "."
AND s.submitdate IS NOT NULL"; AND s.submitdate IS NOT NULL";
error_log($querysel);
$result = db_execute_assoc($querysel) or safe_die($connect->ErrorMsg()); //Checked $result = db_execute_assoc($querysel) or safe_die($connect->ErrorMsg()); //Checked
$quota_check = $result->FetchRow(); $quota_check = $result->FetchRow();

View File

@@ -64,17 +64,16 @@ function quexs_submit_on_click($do = true)
$r = "; $('.submit').css('display', ''); "; $r = "; $('.submit').css('display', ''); ";
$interviewer=returnglobal('interviewer'); $interviewer=returnglobal('interviewer');
if (!empty($interviewer) || (isset($_SESSION['interviewer']) && $_SESSION['interviewer'] == true)) if (empty($interviewer))
{ {
$interviewer = true; $interviewer = false;
} }
else if (!isset($_SESSION['interviewer'])) {
{ $_SESSION['interviewer'] = $interviewer;
$interviewer = false; }
}
if (LIME_AUTO_ADVANCE && $do && $_SESSION['interviewer'])
if (LIME_AUTO_ADVANCE && $do && $interviewer)
{ {
$r .= " document.limesurvey.move.value = '"; $r .= " document.limesurvey.move.value = '";
if (isset($_SESSION['step']) && $_SESSION['step'] && ($_SESSION['step'] == $_SESSION['totalsteps'])) if (isset($_SESSION['step']) && $_SESSION['step'] && ($_SESSION['step'] == $_SESSION['totalsteps']))

View File

@@ -586,7 +586,7 @@ function get_respondent_variable($variable,$respondent_id)
*/ */
function get_operator_id() function get_operator_id()
{ {
if (!isset($_SERVER['PHP_AUTH_USER'])) return false; if (!isset($_SESSION['interviewer'])) return false;
$db = newADOConnection(DB_TYPE); $db = newADOConnection(DB_TYPE);
$db->Connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); $db->Connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
@@ -595,7 +595,7 @@ function get_operator_id()
$sql = "SELECT operator_id $sql = "SELECT operator_id
FROM operator FROM operator
WHERE username = '{$_SERVER['PHP_AUTH_USER']}' WHERE operator_id = '{$_SESSION['interviewer']}'
AND enabled = 1"; AND enabled = 1";
$o = $db->GetRow($sql); $o = $db->GetRow($sql);
@@ -859,7 +859,7 @@ function get_respondent_selection_url()
{ {
$sid = get_limesurvey_id($operator_id,true); //true for RS $sid = get_limesurvey_id($operator_id,true); //true for RS
if ($sid != false && !empty($sid) && $sid != 'NULL') if ($sid != false && !empty($sid) && $sid != 'NULL')
$url = LIME_URL . "index.php?interviewer=interviewer&amp;loadall=reload&amp;sid=$sid&amp;token=$call_id&amp;lang=" . DEFAULT_LOCALE; $url = LIME_URL . "index.php?interviewer=" . $_SESSION['interviewer'] . "&amp;loadall=reload&amp;sid=$sid&amp;token=$call_id&amp;lang=" . DEFAULT_LOCALE;
else else
$url = 'rs_intro.php'; $url = 'rs_intro.php';
} }
@@ -919,7 +919,7 @@ function get_start_interview_url()
$token = $db->GetOne($sql); $token = $db->GetOne($sql);
$sid = get_limesurvey_id($operator_id); $sid = get_limesurvey_id($operator_id);
$url = LIME_URL . "index.php?interviewer=interviewer&amp;loadall=reload&sid=$sid&token=$token&lang=" . DEFAULT_LOCALE; $url = LIME_URL . "index.php?interviewer=" . $_SESSION['interviewer'] . "&amp;loadall=reload&sid=$sid&token=$token&lang=" . DEFAULT_LOCALE;
$questionnaire_id = get_questionnaire_id($operator_id); $questionnaire_id = get_questionnaire_id($operator_id);
//get prefills //get prefills

View File

@@ -50,23 +50,20 @@ function templatereplace($line, $replacements=array(), $anonymized=false, $quest
$_templateurl = sGetTemplateURL($_templatename) . '/'; $_templateurl = sGetTemplateURL($_templatename) . '/';
$templatedir = sgetTemplatePath($_templatename); $templatedir = sgetTemplatePath($_templatename);
$interviewer=returnglobal('interviewer'); $interviewer=returnglobal('interviewer');
if (!empty($interviewer) || (isset($_SESSION['interviewer']) && $_SESSION['interviewer'] == true)) if (empty($interviewer))
{ {
$interviewer = true; $interviewer = false;
$_SESSION['interviewer'] = true; }
} if (!isset($_SESSION['interviewer'])) {
else $_SESSION['interviewer'] = $interviewer;
{ }
$interviewer = false; if (stripos($line, "</head>"))
}
if (stripos($line, "</head>"))
{ {
//queXS Addition //queXS Addition
$textfocus = ""; $textfocus = "";
if ($interviewer) if ($_SESSION['interviewer'])
{ {
$textfocus = $textfocus =
'<script type="text/javascript"> '<script type="text/javascript">
@@ -771,7 +768,7 @@ EOD;
//queXS Addition //queXS Addition
include_once("quexs.php"); include_once("quexs.php");
$coreReplacements['IS_INTERVIEWER'] = $interviewer; $coreReplacements['IS_INTERVIEWER'] = $_SESSION['interviewer'];
$coreReplacements = array_merge($coreReplacements,quexs_core_replace()); $coreReplacements = array_merge($coreReplacements,quexs_core_replace());
if (!is_null($replacements) && is_array($replacements)) if (!is_null($replacements) && is_array($replacements))