* @copyright Deakin University 2007,2008 * @package queXS * @subpackage admin * @link http://www.deakin.edu.au/dcarf/ queXS was writen for DCARF - Deakin Computer Assisted Research Facility * @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", "../include/bootstrap-toggle/css/bootstrap-toggle.min.css", "../css/custom.css" ); $js_head = array( "../include/jquery/jquery.min.js", "../include/bootstrap/js/bootstrap.min.js", "../include/bootstrap-toggle/js/bootstrap-toggle.min.js", "../js/window.js" ); $js_foot = array( "../js/bootstrap-confirmation.js", "../js/custom.js" ); global $db; if (isset($_GET['questionnaire_id']) && isset($_GET['sample']) && isset($_GET['call_max']) && isset($_GET['call_attempt_max'])) { //need to add sample to questionnaire $questionnaire_id = bigintval($_GET['questionnaire_id']); $sid = bigintval($_GET['sample']); $cm = bigintval($_GET['call_max']); $cam = bigintval($_GET['call_attempt_max']); $am = bigintval($_GET['answering_machine_messages']); $selecttype = 0; if (isset($_GET['selecttype'])) $selecttype = 1; $an = 0; if (isset($_GET['allownew'])) $an = 1; $sql = "SELECT MAX(sort_order) + 1 FROM questionnaire_sample WHERE questionnaire_id = '$questionnaire_id'"; $so = $db->GetOne($sql); $sql = "INSERT INTO questionnaire_sample(questionnaire_id,sample_import_id,call_max,call_attempt_max,random_select,answering_machine_messages,allow_new,sort_order) VALUES('$questionnaire_id','$sid','$cm','$cam','$selecttype','$am', '$an', '$so')"; $db->Execute($sql); if (isset($_GET['generatecases'])) { include_once("../functions/functions.operator.php"); $db->StartTrans(); $lime_sid = $db->GetOne("SELECT lime_sid FROM questionnaire WHERE questionnaire_id = '$questionnaire_id'"); $testing = $db->GetOne("SELECT testing FROM questionnaire WHERE questionnaire_id = '$questionnaire_id'"); //add limesurvey attribute for each sample var record $sql = "SELECT var,type FROM sample_import_var_restrict WHERE sample_import_id = '$sid'"; $rs = $db->GetAll($sql); $i = 1; $fields = array(); $fieldcontents=''; foreach($rs as $r) { $fields[]=array('attribute_'.$i,'C','255'); $fieldcontents.='attribute_'.$i.'='.$r['var']."\n"; $i++; } $dict = NewDataDictionary($db); $sqlarray = $dict->ChangeTableSQL(LIME_PREFIX ."tokens_$lime_sid", $fields); $execresult=$dict->ExecuteSQLArray($sqlarray, false); $sql = "UPDATE " . LIME_PREFIX . "surveys SET attributedescriptions = " . $db->qstr($fieldcontents) . " WHERE sid='$lime_sid'"; $db->Execute($sql); //generate one case for each sample record and set outcome to 41 $sql = "SELECT sample_id FROM sample WHERE import_id = '$sid'"; $rs = $db->GetAll($sql); foreach($rs as $r) { set_time_limit(30); add_case($r['sample_id'],$questionnaire_id,"NULL",$testing,41, true); } $db->CompleteTrans(); } } if (isset($_POST['edit'])) { //need to add sample to questionnaire $questionnaire_id = bigintval($_POST['questionnaire_id']); $sid = bigintval($_POST['sample_import_id']); $cm = bigintval($_POST['call_max']); $cam = bigintval($_POST['call_attempt_max']); $am = bigintval($_POST['answering_machine_messages']); $selecttype = 0; if (isset($_POST['selecttype'])) $selecttype = 1; $an = 0; if (isset($_POST['allownew'])) $an = 1; $sql = "UPDATE questionnaire_sample SET call_max = '$cm', call_attempt_max = '$cam', random_select = '$selecttype', answering_machine_messages = '$am', allow_new = '$an' WHERE questionnaire_id = '$questionnaire_id' AND sample_import_id = '$sid'"; $db->Execute($sql); } if (isset($_GET['questionnaire_id']) && isset($_GET['rsid'])) { $questionnaire_id = bigintval($_GET['questionnaire_id']); $sid = bigintval($_GET['rsid']); if (isset($_GET['edit'])) { $subtitle = T_("Edit assignment parameters"); xhtml_head(T_("Assign samples to questionnaire: "),true,$css,$js_head,false,false,false,$subtitle);//array("../css/table.css"),array("../js/window.js") $sql = "SELECT si.description as description, qr.description as qdescription, q.call_max, q.call_attempt_max, q.random_select, q.answering_machine_messages, q.allow_new FROM questionnaire_sample as q, sample_import as si, questionnaire as qr WHERE q.sample_import_id = si.sample_import_id AND q.questionnaire_id = '$questionnaire_id' AND si.sample_import_id = '$sid' AND qr.questionnaire_id = q.questionnaire_id"; $qs = $db->GetRow($sql); //print "