* @copyright Australian Consortium for Social and Political Research Inc (ACSPRI) 2011
* @package queXS
* @subpackage admin
* @link http://www.acspri.org.au queXS was writen for ACSPRI
* @license http://opensource.org/licenses/gpl-2.0.php The GNU General Public License (GPL) Version 2
*
*
*/
/**
* Configuration file
*/
include("../config.inc.php");
/**
* Database file
*/
include ("../db.inc.php");
/**
* Authentication
*/
require ("auth-admin.php");
/**
* XHTML functions
*/
include("../functions/functions.xhtml.php");
/**
* Display functions
*/
include("../functions/functions.display.php");
/**
* Input functions
*/
include("../functions/functions.input.php");
$css = array(
"../include/bootstrap/css/bootstrap.min.css",
"../include/bootstrap/css/bootstrap-theme.min.css",
//"../include/font-awesome/css/font-awesome.css",
"../css/custom.css"
);
$js_head = array(
);
$js_foot = array(
"../js/window.js",
//"../js/custom.js"
);
global $db;
//block availability
if (isset($_GET['questionnaire_id']) && isset($_GET['av_availability_group']))
{
//need to add availability_group to questionnaire
$questionnaire_id = bigintval($_GET['questionnaire_id']);
$availability_group = bigintval($_GET['av_availability_group']);
$sql = "INSERT INTO questionnaire_availability(questionnaire_id,availability_group_id)
VALUES('$questionnaire_id','$availability_group')";
$db->Execute($sql);
}
if (isset($_GET['questionnaire_id']) && isset($_GET['av_ravailability_group']))
{
//need to remove rsid from questionnaire
$questionnaire_id = bigintval($_GET['questionnaire_id']);
$availability_group = bigintval($_GET['av_ravailability_group']);
$sql = "DELETE FROM questionnaire_availability
WHERE questionnaire_id = '$questionnaire_id'
AND availability_group_id = '$availability_group'";
$db->Execute($sql);
}
//block call_attempts
if (isset($_GET['questionnaire_id']) && isset($_GET['ca_availability_group']))
{
//need to add availability_group to questionnaire
$questionnaire_id = bigintval($_GET['questionnaire_id']);
$availability_group = bigintval($_GET['ca_availability_group']);
$weight = bigintval($_GET['weight']);
$sql = "INSERT INTO questionnaire_timeslot(questionnaire_id,availability_group_id,weight)
VALUES('$questionnaire_id','$availability_group','$weight')";
$db->Execute($sql);
}
if (isset($_GET['questionnaire_id']) && isset($_GET['ca_ravailability_group']))
{
//need to remove rsid from questionnaire
$questionnaire_id = bigintval($_GET['questionnaire_id']);
$availability_group = bigintval($_GET['ca_ravailability_group']);
$sql = "DELETE FROM questionnaire_timeslot
WHERE questionnaire_id = '$questionnaire_id'
AND availability_group_id = '$availability_group'";
$db->Execute($sql);
}
//block call_attempts by sample
if (isset($_GET['questionnaire_id']) && isset($_GET['sample_import_id']) && isset($_GET['qs_availability_group']))
{
//need to add availability_group to questionnaire
$questionnaire_id = bigintval($_GET['questionnaire_id']);
$sample_import_id = bigintval($_GET['sample_import_id']);
$availability_group = bigintval($_GET['qs_availability_group']);
$weight = bigintval($_GET['weights']);
$sql = "INSERT INTO questionnaire_sample_timeslot (questionnaire_id,sample_import_id,availability_group_id,weight)
VALUES('$questionnaire_id','$sample_import_id','$availability_group','$weight')";
$db->Execute($sql);
}
if (isset($_GET['questionnaire_id']) && isset($_GET['sample_import_id']) && isset($_GET['qs_ravailability_group']))
{
//need to remove rsid from questionnaire
$questionnaire_id = bigintval($_GET['questionnaire_id']);
$sample_import_id = bigintval($_GET['sample_import_id']);
$availability_group = bigintval($_GET['qs_ravailability_group']);
$sql = "DELETE FROM questionnaire_sample_timeslot
WHERE questionnaire_id = '$questionnaire_id'
AND sample_import_id = '$sample_import_id'
AND availability_group_id = '$availability_group'";
$db->Execute($sql);
}
$questionnaire_id = false;
if (isset($_GET['questionnaire_id'])) $questionnaire_id = bigintval($_GET['questionnaire_id']);
$sample_import_id = false;
if (isset($_GET['sample_import_id'])) $sample_import_id = bigintval($_GET['sample_import_id']);
xhtml_head(T_("Assign Time slots"),true,$css,$js_head);//false,array("../js/window.js")
print "
" . T_("Select a questionnaire") . ":
";
display_questionnaire_chooser($questionnaire_id,false, "form-inline", "form-control");
print "";
if ($questionnaire_id != false)
{
//page questionnaireavailability.php
print "" . T_("Time slot groups") . "
";
print "
" . T_("Assigning an availability group to a questionnaire will allow interviewers to select from those groups to restrict calls to a particular case to the times within the group") ."
";
$sql = "SELECT q.availability_group_id,a.description as description, CONCAT('
" . T_("Click to unassign") . "') as link
FROM questionnaire_availability as q, availability_group as a
WHERE q.availability_group_id = a.availability_group_id
AND q.questionnaire_id = '$questionnaire_id'";
$qs = $db->GetAll($sql);
print "
";
if (empty($qs))
{
print "
" . T_("There are no time slots groups selected for this questionnaire") . "
";
}
else
{
print "" . T_("Time slots groups selected for this questionnaire") . "
";
xhtml_table ($qs,array("availability_group_id","description","link"),false,"table table-hover");
}
print "";
$sql = "SELECT si.availability_group_id,si.description
FROM availability_group as si
LEFT JOIN questionnaire_availability as q ON (q.questionnaire_id = '$questionnaire_id' AND q.availability_group_id = si.availability_group_id)
WHERE q.questionnaire_id is NULL";
$qs = $db->GetAll($sql);
if (!empty($qs))
{
print "
";
//print "
" . T_("Add time slot to this questionnaire:") . "
";
print "
";
}
print "
";
//page questionnairecatimeslots.php
print "" . T_("Call attempt time slots") . "
";
print "
" . T_("Assigning call attempt time slots to questionnaires will only allow cases to be attempted in a time slot for the n + 1th time where it has been attempted at least n times in all assigned timeslots. Please note timeslots must cover all possible time periods otherwise no cases will be available during missing timeslots.") ."
";
$sql = "SELECT q.availability_group_id,a.description as description,
CONCAT('
" . T_("Click to unassign") . "') as link,
q.weight
FROM questionnaire_timeslot as q, availability_group as a
WHERE q.availability_group_id = a.availability_group_id
AND q.questionnaire_id = '$questionnaire_id'";
$qs = $db->GetAll($sql);
print "
";
if (empty($qs))
{
print "
" . T_("There are no call attempt time slots selected for this questionnaire") . "
";
}
else
{
print "" . T_("Call attempt time slots selected for this questionnaire") . "
";
xhtml_table ($qs,array("description","weight","link"),array(T_("Availability group"),T_("Weight"),T_("Unassign")),"table table-hover");
}
print "";
$sql = "SELECT si.availability_group_id,si.description
FROM availability_group as si
LEFT JOIN questionnaire_timeslot as q ON (q.questionnaire_id = '$questionnaire_id' AND q.availability_group_id = si.availability_group_id)
WHERE q.questionnaire_id is NULL";
$qs = $db->GetAll($sql);
if (!empty($qs))
{
print "
";
//print "
" . T_("Add a call attempt time slot to this questionnaire:") . "
";
print "
";
}
print "
";
//page questionnairetimeslosample.php
print "" . T_("Call attempt time slots for sample") . "
";
print "
" . T_("Assigning call attempt time slots to questionnaires will only allow cases to be attempted in a time slot for the n + 1th time where it has been attempted at least n times in all assigned timeslots. Please note timeslots must cover all possible time periods otherwise no cases will be available during missing timeslots.") ."
";
print "
" . T_("Sample") . ":
";
$sample_import_id = false;
if (isset($_GET['sample_import_id'])) $sample_import_id = bigintval($_GET['sample_import_id']);
display_sample_chooser($questionnaire_id,$sample_import_id,false, "form-inline", "form-control");
if ($sample_import_id !== false)
{
$sql = "SELECT q.availability_group_id,a.description as description,
CONCAT('
" . T_("Click to unassign") . "') as link,
q.weight
FROM questionnaire_sample_timeslot as q, availability_group as a
WHERE q.availability_group_id = a.availability_group_id
AND q.questionnaire_id = '$questionnaire_id'
AND q.sample_import_id = '$sample_import_id'";
$qs = $db->GetAll($sql);
if (empty($qs))
{
print "
" . T_("There are no call attempt time slots selected for this questionnaire sample") . "
";
}
else
{
print "
" . T_("Call attempt time slots selected for this sample") . ":
";
xhtml_table ($qs,array("description","weight","link"),array(T_("Availability group"),T_("Weight"),T_("Unassign")),"table table-hover");
}
$sql = "SELECT si.availability_group_id,si.description
FROM availability_group as si
LEFT JOIN questionnaire_sample_timeslot as q ON (q.sample_import_id = '$sample_import_id' AND q.questionnaire_id = '$questionnaire_id' AND q.availability_group_id = si.availability_group_id)
WHERE q.questionnaire_id is NULL";
$qs = $db->GetAll($sql);
if (!empty($qs))
{
print "
";
//print "
" . T_("Add a call attempt time slot to this questionnaire sample:") . "
";
print "
";
}
}
print "
";
}
xhtml_foot($js_foot);
?>