mirror of
https://github.com/ACSPRI/queXS
synced 2024-04-02 12:12:16 +00:00
Replace case_id as token with random token in functions.operator
This commit is contained in:
@@ -271,29 +271,6 @@ function getRandomID()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a random sequence of characters
|
|
||||||
*
|
|
||||||
* @param mixed $length Length of resulting string
|
|
||||||
* @param string $pattern To define which characters should be in the resulting string
|
|
||||||
*
|
|
||||||
* From Limesurvey
|
|
||||||
*/
|
|
||||||
function sRandomChars($length = 15,$pattern="23456789abcdefghijkmnpqrstuvwxyz")
|
|
||||||
{
|
|
||||||
$patternlength = strlen($pattern)-1;
|
|
||||||
for($i=0;$i<$length;$i++)
|
|
||||||
{
|
|
||||||
if(isset($key))
|
|
||||||
$key .= $pattern{rand(0,$patternlength)};
|
|
||||||
else
|
|
||||||
$key = $pattern{rand(0,$patternlength)};
|
|
||||||
}
|
|
||||||
return $key;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Taken from admin/database.php in the LimeSurvey package
|
* Taken from admin/database.php in the LimeSurvey package
|
||||||
|
|||||||
@@ -43,6 +43,26 @@ include_once(dirname(__FILE__).'/../config.inc.php');
|
|||||||
*/
|
*/
|
||||||
include_once(dirname(__FILE__).'/../db.inc.php');
|
include_once(dirname(__FILE__).'/../db.inc.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a random sequence of characters
|
||||||
|
*
|
||||||
|
* @param mixed $length Length of resulting string
|
||||||
|
* @param string $pattern To define which characters should be in the resulting string
|
||||||
|
*
|
||||||
|
* From Limesurvey
|
||||||
|
*/
|
||||||
|
function sRandomChars($length = 15,$pattern="23456789abcdefghijkmnpqrstuvwxyz")
|
||||||
|
{
|
||||||
|
$patternlength = strlen($pattern)-1;
|
||||||
|
for($i=0;$i<$length;$i++)
|
||||||
|
{
|
||||||
|
if(isset($key))
|
||||||
|
$key .= $pattern{rand(0,$patternlength)};
|
||||||
|
else
|
||||||
|
$key = $pattern{rand(0,$patternlength)};
|
||||||
|
}
|
||||||
|
return $key;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if the project associated with this case is using
|
* Check if the project associated with this case is using
|
||||||
@@ -496,8 +516,10 @@ function get_case_id($operator_id, $create = false)
|
|||||||
|
|
||||||
if (!empty($r3))
|
if (!empty($r3))
|
||||||
{
|
{
|
||||||
$sql = "INSERT INTO `case` (case_id, sample_id, questionnaire_id, last_call_id, current_operator_id, current_call_id, current_outcome_id)
|
$token = sRandomChars();
|
||||||
VALUES (NULL, {$r3['sample_id']}, {$r3['questionnaire_id']} , NULL, $operator_id, NULL, 1)";
|
|
||||||
|
$sql = "INSERT INTO `case` (case_id, sample_id, questionnaire_id, last_call_id, current_operator_id, current_call_id, current_outcome_id,token)
|
||||||
|
VALUES (NULL, {$r3['sample_id']}, {$r3['questionnaire_id']} , NULL, $operator_id, NULL, 1, '$token')";
|
||||||
|
|
||||||
$db->Execute($sql);
|
$db->Execute($sql);
|
||||||
|
|
||||||
@@ -576,7 +598,7 @@ function get_case_id($operator_id, $create = false)
|
|||||||
if ($lime_sid)
|
if ($lime_sid)
|
||||||
{
|
{
|
||||||
$sql = "INSERT INTO ".LIME_PREFIX."tokens_$lime_sid (tid,firstname,lastname,email,token,language,sent,completed,mpid)
|
$sql = "INSERT INTO ".LIME_PREFIX."tokens_$lime_sid (tid,firstname,lastname,email,token,language,sent,completed,mpid)
|
||||||
VALUES (NULL,'','','',$case_id,'".DEFAULT_LOCALE."','N','N',NULL)";
|
VALUES (NULL,'','','','$token','".DEFAULT_LOCALE."','N','N',NULL)";
|
||||||
|
|
||||||
$db->Execute($sql);
|
$db->Execute($sql);
|
||||||
}
|
}
|
||||||
@@ -1113,14 +1135,21 @@ function get_limesurvey_url($operator_id)
|
|||||||
|
|
||||||
if ($case_id)
|
if ($case_id)
|
||||||
{
|
{
|
||||||
|
$sql = "SELECT token
|
||||||
|
FROM `case`
|
||||||
|
WHERE case_id = $case_id";
|
||||||
|
|
||||||
|
$token = $db->GetOne($sql);
|
||||||
|
|
||||||
$sid = get_limesurvey_id($operator_id);
|
$sid = get_limesurvey_id($operator_id);
|
||||||
$url = LIME_URL . "index.php?loadall=reload&sid=$sid&token=$case_id&lang=" . DEFAULT_LOCALE;
|
$url = LIME_URL . "index.php?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
|
||||||
$sql = "SELECT lime_sgqa,value
|
$sql = "SELECT lime_sgqa,value
|
||||||
FROM questionnaire_prefill
|
FROM questionnaire_prefill
|
||||||
WHERE questionnaire_id = '$questionnaire_id'";
|
WHERE questionnaire_id = '$questionnaire_id'";
|
||||||
|
|
||||||
$pf = $db->GetAll($sql);
|
$pf = $db->GetAll($sql);
|
||||||
|
|
||||||
if (!empty($pf))
|
if (!empty($pf))
|
||||||
|
|||||||
Reference in New Issue
Block a user