diff --git a/admin/callhistory.php b/admin/callhistory.php index 6ac3d177..25082f7e 100644 --- a/admin/callhistory.php +++ b/admin/callhistory.php @@ -82,7 +82,7 @@ if ($operator_id) { if (isset($_GET['questionnaire_id'])) $qid = $_GET['questionnaire_id']; if (isset($_GET['sample_import_id'])) $sid = $_GET['sample_import_id']; - $sql = "SELECT DATE_FORMAT(CONVERT_TZ(c.start,'UTC',op.Time_zone_name),'".DATE_FORMAT."') as start_date, DATE_FORMAT(CONVERT_TZ(c.start,'UTC',op.Time_zone_name),'".TIME_FORMAT."') as start_time, DATE_FORMAT(CONVERT_TZ(c.end,'UTC',op.Time_zone_name),'".TIME_FORMAT."') as end, o.description as descr, (CONCAT(r.firstName,' ',r.lastName)) as firstName, opp.firstName as opname, + $sql = "SELECT DATE_FORMAT(CONVERT_TZ(c.start,'UTC',op.Time_zone_name),'".DATE_FORMAT."') as start_date, DATE_FORMAT(CONVERT_TZ(c.start,'UTC',op.Time_zone_name),'".TIME_FORMAT."') as start_time, DATE_FORMAT(CONVERT_TZ(c.end,'UTC',op.Time_zone_name),'".TIME_FORMAT."') as end, o.description as descr, (CONCAT(r.firstName,' ',r.lastName)) as firstName, CONCAT(opp.firstName, ' ', opp.lastName) as opname, (SELECT GROUP_CONCAT(cn1.note SEPARATOR '
¶ ' ) FROM `case_note` as cn1 WHERE c.case_id = cn1.case_id GROUP BY cn1.case_id)as casenotes,"; if (isset($_GET['csv'])) $sql .= " c.case_id "; diff --git a/admin/casestatus.php b/admin/casestatus.php index 72bbee47..9b5f5b3b 100644 --- a/admin/casestatus.php +++ b/admin/casestatus.php @@ -110,8 +110,7 @@ function case_status_report($questionnaire_id = false, $sample_id = false, $outc LEFT JOIN outcome as co ON (co.outcome_id = ca.outcome_id) LEFT JOIN case_queue as cq ON (cq.case_id = c.case_id) LEFT JOIN operator as oq ON (cq.operator_id = oq.operator_id) - LEFT JOIN (questionnaire_sample_quota as qsq) on (s.import_id = qsq.sample_import_id and c.questionnaire_id = qsq.questionnaire_id) - LEFT JOIN (questionnaire_sample_quota_row as qsqr) on (s.import_id = qsqr.sample_import_id and c.questionnaire_id = qsqr.questionnaire_id) + LEFT JOIN (questionnaire_sample_quota as qsq, questionnaire_sample_quota_row as qsqr) on (s.import_id = qsq.sample_import_id and c.questionnaire_id = qsq.questionnaire_id and s.import_id = qsqr.sample_import_id and c.questionnaire_id = qsqr.questionnaire_id) WHERE c.current_operator_id IS NULL $q $o AND (qsq.quota_reached IS NULL OR qsq.quota_reached != 1 ) AND (qsqr.quota_reached IS NULL OR qsqr.quota_reached != 1) diff --git a/admin/dataoutput.php b/admin/dataoutput.php index 07af58ba..a1e7cb32 100644 --- a/admin/dataoutput.php +++ b/admin/dataoutput.php @@ -149,6 +149,7 @@ if (isset($_GET['key']) || isset($_GET['sample'])) } if (isset($_GET['sample'])) { + $l['description'] = T_($l['description']); echo "," . str_replace(","," ",$l['description']) . "," .$l['callattempts']."," .$l['calls']."," .$l['casenotes'].",".$l['interviewtimec'].",".$l['interviewtimel'].",".$l['lastnumber'].",".$l['lastcallstart'].",".$l['operatoru'].",".$l['shiftr'].",". $l['aapor_id']; } echo "\n"; @@ -201,7 +202,7 @@ xhtml_head(T_("Data output"),true,array("../include/bootstrap/css/bootstrap.min. print "

" . T_("Please select a questionnaire") . ": 

"; $questionnaire_id = false; if (isset($_GET['questionnaire_id'])) $questionnaire_id = bigintval($_GET['questionnaire_id']); -display_questionnaire_chooser($questionnaire_id,false,"form-inline col-sm-3 pull-left", "form-control"); +display_questionnaire_chooser($questionnaire_id,false,"form-inline col-lg-4 pull-left", "form-control"); if ($questionnaire_id) { @@ -217,7 +218,7 @@ if ($questionnaire_id) print "

" . T_("Please select a 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 col-sm-3 pull-left", "form-control"); + display_sample_chooser($questionnaire_id,$sample_import_id,false,"form-inline col-lg-4 pull-left", "form-control"); if ($sample_import_id) { @@ -231,7 +232,7 @@ if ($questionnaire_id) //download a key file linking the caseid to the sample print "

" . T_("Download key file: select sample var") . ": 

"; - display_chooser($rs,"sample_var","sample_var",true,"questionnaire_id=$questionnaire_id&sample_import_id=$sample_import_id",true,true,false,true,"form-inline col-sm-3 pull-left"); + display_chooser($rs,"sample_var","sample_var",true,"questionnaire_id=$questionnaire_id&sample_import_id=$sample_import_id",true,true,false,true,"form-inline col-lg-4 pull-left"); print "
"; diff --git a/admin/displayappointments.php b/admin/displayappointments.php index 2ae5a1df..7c448717 100644 --- a/admin/displayappointments.php +++ b/admin/displayappointments.php @@ -301,12 +301,11 @@ else { JOIN (`case` as c, respondent as r, questionnaire as q, operator as oo, call_attempt as cc, `sample` as s, sample_import as si) on (c.sample_id = s.sample_id and a.case_id = c.case_id and a.respondent_id = r.respondent_id and q.questionnaire_id = c.questionnaire_id and a.call_attempt_id = cc.call_attempt_id and cc.operator_id = oo.operator_id and si.sample_import_id = s.import_id) LEFT JOIN (`call` as ca, outcome as ou, operator as ooo) ON (ca.call_id = a.completed_call_id and ou.outcome_id = ca.outcome_id and ca.operator_id = ooo.operator_id) LEFT JOIN operator AS ao ON ao.operator_id = a.require_operator_id - LEFT JOIN (questionnaire_sample_quota as qsq) on (s.import_id = qsq.sample_import_id and c.questionnaire_id = qsq.questionnaire_id) - LEFT JOIN (questionnaire_sample_quota_row as qsqr) on (s.import_id = qsqr.sample_import_id and c.questionnaire_id = qsqr.questionnaire_id) - WHERE q.enabled=1 AND si.enabled=1 AND a.end >= CONVERT_TZ(NOW(),'System','UTC') AND c.current_outcome_id !=10 + LEFT JOIN (questionnaire_sample_quota as qsq, questionnaire_sample_quota_row as qsqr) on (s.import_id = qsq.sample_import_id and c.questionnaire_id = qsq.questionnaire_id and s.import_id = qsqr.sample_import_id and c.questionnaire_id = qsqr.questionnaire_id) + WHERE q.enabled=1 AND si.enabled=1 AND a.end >= CONVERT_TZ(NOW(),'System','UTC') AND c.current_outcome_id IN (19,20,21,22) AND (qsq.quota_reached IS NULL OR qsq.quota_reached != 1) AND (qsqr.quota_reached IS NULL OR qsqr.quota_reached != 1) - ORDER BY a.start ASC"; + GROUP BY c.case_id ORDER BY a.start ASC"; $rs = $db->GetAll($sql); if (!empty($rs)) { @@ -324,9 +323,8 @@ else { FROM appointment as a JOIN (`case` as c, respondent as r, questionnaire as q, `sample` as s, sample_import as si) on (a.case_id = c.case_id and a.respondent_id = r.respondent_id and q.questionnaire_id = c.questionnaire_id and s.sample_id = c.sample_id and s.import_id= si.sample_import_id) LEFT JOIN (`call` as ca) ON (ca.call_id = a.completed_call_id) - LEFT JOIN (questionnaire_sample_quota as qsq) on (s.import_id = qsq.sample_import_id and c.questionnaire_id = qsq.questionnaire_id) - LEFT JOIN (questionnaire_sample_quota_row as qsqr) on (s.import_id = qsqr.sample_import_id and c.questionnaire_id = qsqr.questionnaire_id) - WHERE q.enabled=1 AND si.enabled=1 AND a.end < CONVERT_TZ(NOW(),'System','UTC') AND a.completed_call_id IS NULL AND c.current_outcome_id !=10 + LEFT JOIN (questionnaire_sample_quota as qsq, questionnaire_sample_quota_row as qsqr) on (s.import_id = qsq.sample_import_id and c.questionnaire_id = qsq.questionnaire_id and s.import_id = qsqr.sample_import_id and c.questionnaire_id = qsqr.questionnaire_id) + WHERE q.enabled=1 AND si.enabled=1 AND a.end < CONVERT_TZ(NOW(),'System','UTC') AND a.completed_call_id IS NULL AND c.current_outcome_id IN (19,20,21,22) AND (qsq.quota_reached IS NULL OR qsq.quota_reached != 1 ) AND (qsqr.quota_reached IS NULL OR qsqr.quota_reached != 1) GROUP BY c.case_id diff --git a/admin/extensionstatus.php b/admin/extensionstatus.php index baf4c0a5..4c9e32bf 100644 --- a/admin/extensionstatus.php +++ b/admin/extensionstatus.php @@ -250,7 +250,7 @@ else if (!empty($rs)) { - $sql = "SELECT o.operator_id as value, o.firstName as description + $sql = "SELECT o.operator_id as value, CONCAT(o.firstName,' ',o.lastname) as description FROM `operator` as o LEFT JOIN `extension` as e ON (e.current_operator_id = o.operator_id) WHERE e.extension_id IS NULL"; diff --git a/admin/quotarow.php b/admin/quotarow.php index 4f8e087c..bbddd079 100755 --- a/admin/quotarow.php +++ b/admin/quotarow.php @@ -309,7 +309,7 @@ if ($questionnaire_id != false) AND s.enabled = 1"; $s = $db->GetAll($sql); if (!empty($s)){ - print "

   " . T_("Sample") . ": 

"; + print "

 " . T_("Sample") . ": 

"; display_chooser($s,"sample","sample_import_id",true,"questionnaire_id=$questionnaire_id",true,true,false,true,"pull-left"); } else { diff --git a/admin/samplesearch.php b/admin/samplesearch.php index 11b458de..3fb41ca8 100644 --- a/admin/samplesearch.php +++ b/admin/samplesearch.php @@ -107,12 +107,12 @@ xhtml_head(T_("Search the sample"),true,$css,$js_head); echo " " . T_("Go back") . ""; $sql = "SELECT sample_import_id as value,description, CASE WHEN sample_import_id = '$sample_import_id' THEN 'selected=\'selected\'' ELSE '' END AS selected - FROM sample_import"; + FROM sample_import ORDER BY description ASC"; $r = $db->GetAll($sql); if(!empty($r)) - print "

" . T_("Select sample ") . " 

"; + print "

" . T_("Select sample ") . "

"; display_chooser($r,"sample_import_id","sample_import_id",true,false,true,false); print "
"; diff --git a/admin/supervisor.php b/admin/supervisor.php index 524e1388..c3d1107b 100644 --- a/admin/supervisor.php +++ b/admin/supervisor.php @@ -137,8 +137,7 @@ xhtml_head(T_("Assign outcomes to cases"),true,$css,$js_head); GetAll($sql); diff --git a/call_interface2.php b/call_interface2.php index b0865a1a..aadc29f0 100644 --- a/call_interface2.php +++ b/call_interface2.php @@ -131,7 +131,9 @@ function display_outcomes($contacted,$ca,$case_id) $sql = "SELECT outcome_id,description,contacted FROM outcome WHERE contacted = '$contacted' - AND outcome_id NOT IN(5,10,19,21,40,41,42,43,44,45)"; + AND outcome_type_id != '5' + AND outcome_id IN ($outcomes) + AND outcome_id NOT IN(10,32,42,43,44,45)"; //don't show completed if not, Lime_Quota_full if not, hide max calls as they supposed to be automatic or admin-privileged } } $rs = $db->GetAll($sql); @@ -267,7 +269,7 @@ if (isset($_POST['submit'])) $newtext = T_("Start REC"); $js = "js/window_interface2.js"; if (browser_ie()) $js = "js/window_ie6_interface2.js"; - xhtml_head(T_("Call"),true,array("css/call.css"),array($js),"parent.closePopup();'"); + xhtml_head(T_("Call"),true,array("css/call.css"),array($js),"onload='parent.closePopup();'"); } diff --git a/functions/functions.display.php b/functions/functions.display.php index ea9b2292..cb8a3301 100644 --- a/functions/functions.display.php +++ b/functions/functions.display.php @@ -118,8 +118,7 @@ function display_sample_chooser($questionnaire_id, $sample_import_id = false, $d if (!$disabled) $s = " AND si.enabled = 1 "; else $s = ""; if ($quota_reached){ - $qr = " LEFT JOIN (questionnaire_sample_quota as qsq) on (si.sample_import_id = qsq.sample_import_id) - LEFT JOIN (questionnaire_sample_quota_row as qsqr) on (si.sample_import_id = qsqr.sample_import_id)"; + $qr = " LEFT JOIN (questionnaire_sample_quota as qsq, questionnaire_sample_quota_row as qsqr) on (si.sample_import_id = qsq.sample_import_id and si.sample_import_id = qsqr.sample_import_id)"; $qrq = " AND (qsq.quota_reached IS NULL OR qsq.quota_reached != 1 ) AND (qsqr.quota_reached IS NULL OR qsqr.quota_reached != 1)"; } diff --git a/functions/functions.operator.php b/functions/functions.operator.php index 83758839..6aa06819 100644 --- a/functions/functions.operator.php +++ b/functions/functions.operator.php @@ -57,9 +57,9 @@ function sRandomChars($length = 15,$pattern="23456789abcdefghijkmnpqrstuvwxyz") for($i=0;$i<$length;$i++) { if(isset($key)) - $key .= $pattern{mt_rand(0,$patternlength)}; + $key .= $pattern{mt_rand(0,$patternlength)}; else - $key = $pattern{mt_rand(0,$patternlength)}; + $key = $pattern{mt_rand(0,$patternlength)}; } return $key; } @@ -354,19 +354,19 @@ function add_case($sample_id,$questionnaire_id,$operator_id = "NULL",$testing = { global $db; - $ttries = 0; - - do { + $ttries = 0; + + do { $token = sRandomChars(); - $sql = "SELECT count(*) as c - FROM `case` - WHERE token = '$token'"; - - $ttries++; - } while ($db->GetOne($sql) > 0 && $ttries < 10); - - + $sql = "SELECT count(*) as c + FROM `case` + WHERE token = '$token'"; + + $ttries++; + } while ($db->GetOne($sql) > 0 && $ttries < 10); + + $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, $sample_id, $questionnaire_id, NULL, $operator_id, NULL, '$current_outcome_id','$token')"; @@ -727,7 +727,7 @@ function get_case_id($operator_id, $create = false) } $r2 = $db->GetRow($sql); - + if (empty($r2)) { diff --git a/include/limesurvey/admin/exportresults.php b/include/limesurvey/admin/exportresults.php index aff094f5..06a38897 100644 --- a/include/limesurvey/admin/exportresults.php +++ b/include/limesurvey/admin/exportresults.php @@ -671,7 +671,7 @@ for ($i=0; $i<$fieldcount; $i++) } elseif (substr($fieldinfo,0,10)=="attribute_") { - if ($type == "csv") {$firstline .= CSVEscape($fieldinfo)."$separator";} + if ($type == "csv") {$firstline .= "\"".$attributeFieldAndNames[$fieldinfo] ."\"$separator";} else {$firstline .= $attributeFieldAndNames[$fieldinfo]."$separator";} } elseif ($fieldinfo == "id") @@ -838,7 +838,7 @@ if ($answers == "short") //Nice and easy. Just dump the data straight $rowcounter=0; while ($drow = $dresult->FetchRow()) { - $drow=array_map('strip_tags_full',$drow); + $drow=array_map('strip_tags_full',$drow); if (isset($drow['caseoutcome'])) $drow['caseoutcome'] = T_($drow['caseoutcome']); if($convertyto1 == "Y") //Converts "Y" to "1" in export { diff --git a/include/limesurvey/templates/quexs/print_img_checkbox.png b/include/limesurvey/templates/quexs/print_img_checkbox.png new file mode 100644 index 00000000..4f23dfb6 Binary files /dev/null and b/include/limesurvey/templates/quexs/print_img_checkbox.png differ diff --git a/include/limesurvey/templates/quexs/print_img_radio.png b/include/limesurvey/templates/quexs/print_img_radio.png new file mode 100644 index 00000000..d52293b2 Binary files /dev/null and b/include/limesurvey/templates/quexs/print_img_radio.png differ diff --git a/include/tabber.zip b/include/tabber.zip deleted file mode 100644 index 39677f39..00000000 Binary files a/include/tabber.zip and /dev/null differ