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

Added limesurvey token of number of answering machine messages left (outcome 23 - household answering machine, message left)

This can be used in conditions to define when to leave a message
This commit is contained in:
azammitdcarf
2010-10-18 03:25:49 +00:00
parent f7b418fb13
commit 06910ef57d
2 changed files with 39 additions and 1 deletions

View File

@@ -6153,6 +6153,7 @@ function GetTokenConditionsFieldNames($surveyid)
$basic_attrs[] = 'callattempts'; //queXS addition
$basic_attrs[] = 'onappointment'; //queXS addition
$basic_attrs[] = 'perccomplete'; //queXS addition
$basic_attrs[] = 'messagesleft'; //queXS addition
return array_merge($basic_attrs,$extra_attrs);
}
@@ -6174,6 +6175,7 @@ function GetTokenFieldsAndNames($surveyid, $onlyAttributes=false)
$basic_attrs[] = 'callattempts'; //queXS addition
$basic_attrs[] = 'onappointment'; //queXS addition
$basic_attrs[] = 'perccomplete'; //queXS addition
$basic_attrs[] = 'messagesleft'; //queXS addition
$basic_attrs_names=Array(
$clang->gT('First Name'),
$clang->gT('Last Name'),
@@ -6187,6 +6189,7 @@ function GetTokenFieldsAndNames($surveyid, $onlyAttributes=false)
$basic_attrs_names[] = $clang->gT('queXS: Number of call attempts'); //queXS addition
$basic_attrs_names[] = $clang->gT('queXS: On appointment?'); //queXS addition
$basic_attrs_names[] = $clang->gT('queXS: Percentage complete'); //queXS addition
$basic_attrs_names[] = $clang->gT('queXS: Number of answering machine messages left'); //queXS addition
$thissurvey=getSurveyInfo($surveyid);
$attdescriptiondata=!empty($thissurvey['attributedescriptions']) ? $thissurvey['attributedescriptions'] : "";
@@ -6239,7 +6242,7 @@ function GetAttributeValue($surveyid,$attrName,$token)
$sanitized_token=$connect->qstr($token,get_magic_quotes_gpc());
$surveyid=sanitize_int($surveyid);
if ($attrName == 'callattempts' || $attrName == 'onappointment' || $attrName == 'perccomplete') //queXS addition
if ($attrName == 'callattempts' || $attrName == 'onappointment' || $attrName == 'perccomplete' || $attrName == 'messagesleft') //queXS addition
{
include_once("quexs.php");
$quexs_operator_id = get_operator_id();
@@ -6252,6 +6255,8 @@ function GetAttributeValue($surveyid,$attrName,$token)
return is_on_appointment($quexs_case_id,$quexs_operator_id);
else if ($attrName == 'perccomplete')
return get_percent_complete($quexs_case_id);
else if ($attrName == 'messagesleft')
return get_messages_left($quexs_case_id);
}
else
return 0;

View File

@@ -36,6 +36,39 @@
require_once(dirname(__FILE__).'/../../config.inc.php');
/**
* Get the number of answering messages left for this case
*
* @param mixed $case_id
*
* @return number of answering messages left
* @author Adam Zammit <adam.zammit@acspri.org.au>
* @since 2010-10-18
*/
function get_messages_left($case_id)
{
$db = newADOConnection(DB_TYPE);
$db->Connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$db->SetFetchMode(ADODB_FETCH_ASSOC);
$sql = "SELECT count(*) as count
FROM `call`
WHERE case_id = '$case_id'
AND outcome_id = '23'";
$r = $db->GetRow($sql);
if (!empty($r))
{
return $r['count'];
}
return 0;
}
/**
* Return the percent complete a questionnaire is, or 0 if not started
*