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
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
{
@@ -1387,7 +1387,7 @@ function get_limesurvey_url($operator_id)
$token = $db->GetOne($sql);
$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);
//get prefills

View File

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

View File

@@ -281,7 +281,7 @@ $action!='vvimport' && $action!='vvexport' && $action!='exportresults')
if (count($tmp_survlangs) == 1)
{
$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}' />"
. "</a></li>\n";
@@ -290,12 +290,12 @@ $action!='vvimport' && $action!='vvexport' && $action!='exportresults')
. "title='{$icontext2}' accesskey='d'>"
. "<img src='{$imageurl}/do.png' alt='{$icontext}' />"
. "</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>";
// Test Survey Language Selection Popup
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>";
}
$surveysummary .= "</ul></li>"

View File

@@ -102,7 +102,7 @@ function menuSeparator()
}
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
{
@@ -123,7 +123,7 @@ function menuSeparator()
{
$adminmenu .= "<li><a accesskey='d' onclick=\"$('.dosurvey').qtip('hide');"
."\" 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>";
}

View File

@@ -4228,17 +4228,14 @@ function getHeader($meta = false)
$css_header_includes = array_unique($css_header_includes);
$interviewer=returnglobal('interviewer');
if (!empty($interviewer) || (isset($_SESSION['interviewer']) && $_SESSION['interviewer'] == true))
{
$interviewer = true;
$_SESSION['interviewer'] = true;
}
else
if (empty($interviewer))
{
$interviewer = false;
}
if ($interviewer)
if (!isset($_SESSION['interviewer'])) {
$_SESSION['interviewer'] = $interviewer;
}
if ($SESSION['interviewer'])
{
$js_header_includes[] = '/../../js/popup.js'; //queXS Addition
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);
if ($interviewer || $surveyMode === false)
if ($_SESSION['interviewer'] || $surveyMode === false)
{
switch ($thissurvey['format'])
{
@@ -467,7 +467,7 @@ else
//queXS Addition
include_once("quexs.php");
if ($interviewer)
if ($_SESSION['interviewer'])
{
$quexs_url = get_start_interview_url();
$url = str_replace("{STARTINTERVIEWURL}", $quexs_url, $url);

View File

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

View File

@@ -65,16 +65,15 @@ function quexs_submit_on_click($do = true)
$r = "; $('.submit').css('display', ''); ";
$interviewer=returnglobal('interviewer');
if (!empty($interviewer) || (isset($_SESSION['interviewer']) && $_SESSION['interviewer'] == true))
{
$interviewer = true;
}
else
if (empty($interviewer))
{
$interviewer = false;
}
if (!isset($_SESSION['interviewer'])) {
$_SESSION['interviewer'] = $interviewer;
}
if (LIME_AUTO_ADVANCE && $do && $interviewer)
if (LIME_AUTO_ADVANCE && $do && $_SESSION['interviewer'])
{
$r .= " document.limesurvey.move.value = '";
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()
{
if (!isset($_SERVER['PHP_AUTH_USER'])) return false;
if (!isset($_SESSION['interviewer'])) return false;
$db = newADOConnection(DB_TYPE);
$db->Connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
@@ -595,7 +595,7 @@ function get_operator_id()
$sql = "SELECT operator_id
FROM operator
WHERE username = '{$_SERVER['PHP_AUTH_USER']}'
WHERE operator_id = '{$_SESSION['interviewer']}'
AND enabled = 1";
$o = $db->GetRow($sql);
@@ -859,7 +859,7 @@ function get_respondent_selection_url()
{
$sid = get_limesurvey_id($operator_id,true); //true for RS
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
$url = 'rs_intro.php';
}
@@ -919,7 +919,7 @@ function get_start_interview_url()
$token = $db->GetOne($sql);
$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);
//get prefills

View File

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