From ec24d5af18c437fdede3ffc909f1bf4848b36730 Mon Sep 17 00:00:00 2001 From: azammitdcarf Date: Wed, 15 Oct 2008 04:49:50 +0000 Subject: [PATCH] Import from DCARF SVN --- admin/addshift.php | 262 ++ admin/assignsample.php | 161 ++ admin/callhistory.php | 80 + admin/clientquestionnaire.php | 273 ++ admin/clients.php | 101 + admin/dataoutput.php | 154 + admin/displayappointments.php | 100 + admin/import.php | 131 + admin/index.php | 88 + admin/new.php | 154 + admin/operatorperformance.php | 113 + admin/operatorquestionnaire.php | 273 ++ admin/operators.php | 137 + admin/operatorskill.php | 272 ++ admin/outcomes.php | 172 ++ admin/questionnaireprefill.php | 172 ++ admin/samplesearch.php | 165 ++ admin/shiftreport.php | 177 ++ admin/supervisor.php | 234 ++ client/css/table.css | 13 + client/index.php | 127 + css/admin.css | 24 + css/call.css | 29 + css/casenote.css | 8 + css/display.css | 4 + css/index.css | 82 + css/respondent.css | 16 + css/rs.css | 6 + css/status.css | 22 + css/tabber.css | 105 + css/table.css | 13 + database/quexs.sql | 4106 +++++++++++++++++++++++++++ display/index.php | 149 + functions/functions.aapor.php | 291 ++ functions/functions.calendar.php | 534 ++++ functions/functions.client.php | 89 + functions/functions.display.php | 138 + functions/functions.import.php | 334 +++ functions/functions.input.php | 52 + functions/functions.limesurvey.php | 576 ++++ functions/functions.operator.php | 1347 +++++++++ functions/functions.performance.php | 445 +++ functions/functions.template.php | 38 + functions/functions.voip.php | 492 ++++ functions/functions.xhtml.php | 170 ++ 45 files changed, 12429 insertions(+) create mode 100644 admin/addshift.php create mode 100644 admin/assignsample.php create mode 100644 admin/callhistory.php create mode 100644 admin/clientquestionnaire.php create mode 100644 admin/clients.php create mode 100644 admin/dataoutput.php create mode 100644 admin/displayappointments.php create mode 100644 admin/import.php create mode 100644 admin/index.php create mode 100644 admin/new.php create mode 100644 admin/operatorperformance.php create mode 100644 admin/operatorquestionnaire.php create mode 100644 admin/operators.php create mode 100644 admin/operatorskill.php create mode 100644 admin/outcomes.php create mode 100644 admin/questionnaireprefill.php create mode 100644 admin/samplesearch.php create mode 100644 admin/shiftreport.php create mode 100644 admin/supervisor.php create mode 100644 client/css/table.css create mode 100644 client/index.php create mode 100644 css/admin.css create mode 100644 css/call.css create mode 100644 css/casenote.css create mode 100644 css/display.css create mode 100644 css/index.css create mode 100644 css/respondent.css create mode 100644 css/rs.css create mode 100644 css/status.css create mode 100644 css/tabber.css create mode 100644 css/table.css create mode 100644 database/quexs.sql create mode 100644 display/index.php create mode 100644 functions/functions.aapor.php create mode 100644 functions/functions.calendar.php create mode 100644 functions/functions.client.php create mode 100644 functions/functions.display.php create mode 100644 functions/functions.import.php create mode 100644 functions/functions.input.php create mode 100644 functions/functions.limesurvey.php create mode 100644 functions/functions.operator.php create mode 100644 functions/functions.performance.php create mode 100644 functions/functions.template.php create mode 100644 functions/functions.voip.php create mode 100644 functions/functions.xhtml.php diff --git a/admin/addshift.php b/admin/addshift.php new file mode 100644 index 00000000..413c825a --- /dev/null +++ b/admin/addshift.php @@ -0,0 +1,262 @@ + + * @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"); + +/** + * XHTML functions + */ +include ("../functions/functions.xhtml.php"); + +/** + * Operator functions + */ +include ("../functions/functions.operator.php"); + +/** + * Display functions + */ +include ("../functions/functions.display.php"); + +/** + * Input functions + */ +include("../functions/functions.input.php"); + +global $db; + + +/** + * Add shifts to the DB based on the shift_template table + */ + + +if (isset($_POST['year'])) $year = bigintval($_POST['year']); else $year = "YEAR(NOW())"; +if (isset($_POST['woy'])) $woy = bigintval($_POST['woy']); else $woy = "WEEK(NOW(), 3)"; +if (isset($_POST['qid'])) $questionnaire_id = bigintval($_POST['qid']); else $questionnaire_id = false; +if (isset($_GET['year'])) $year = bigintval($_GET['year']); +if (isset($_GET['woy'])) $woy = bigintval($_GET['woy']); +if (isset($_GET['questionnaire_id'])) $questionnaire_id = bigintval($_GET['questionnaire_id']); + +$y = $db->GetRow("SELECT $year as y"); +$year = $y['y']; +$y = $db->GetRow("SELECT $woy as y"); +$woy = $y['y']; + + +$operator_id = get_operator_id(); + + +if (isset($_POST['submit'])) +{ + //process + //update or delete existing shifts + foreach($_POST as $key => $val) + { + if (substr($key,0,5) == "start") + { + $num = bigintval(substr($key,6)); + if (isset($_POST["use_$num"])) + { + $sql = "UPDATE shift as s, operator as o + SET s.start = CONVERT_TZ(CONCAT(STR_TO_DATE(CONCAT($year, ' ',$woy,' ', {$_POST["dow_$num"]}),'%x %v %w'),' ','" . $_POST["start_$num"] . "'), o.Time_zone_name, 'UTC'), + s.end = CONVERT_TZ(CONCAT(STR_TO_DATE(CONCAT($year, ' ',$woy,' ', {$_POST["dow_$num"]}),'%x %v %w'),' ','" . $_POST["end_$num"] . "'), o.Time_zone_name, 'UTC') + WHERE o.operator_id = '$operator_id' + AND shift_id = '$num'"; + + $db->Execute($sql); + } + else + { + $sql = "DELETE FROM shift + WHERE shift_id = '$num'"; + $db->Execute($sql); + } + } + } + //insert new shifts + foreach($_POST as $key => $val) + { + if (substr($key,0,7) == "NEW_use") + { + if ($val == "on") + { + $num = bigintval(substr($key,8)); + $sql = "INSERT INTO shift (shift_id,questionnaire_id,start,end) + SELECT NULL,'$questionnaire_id', CONVERT_TZ(CONCAT(STR_TO_DATE(CONCAT($year, ' ',$woy,' ', {$_POST["NEW_dow_$num"]}),'%x %v %w'),' ','" . $_POST["NEW_start_$num"] . "'), Time_zone_name, 'UTC') , CONVERT_TZ(CONCAT(STR_TO_DATE(CONCAT($year, ' ',$woy,' ', {$_POST["NEW_dow_$num"]}),'%x %v %w'),' ','" . $_POST["NEW_end_$num"] . "'), Time_zone_name, 'UTC') + FROM operator + WHERE operator_id = '$operator_id'"; + $db->Execute($sql); + } + } + } +} + + +xhtml_head(T_("Add shifts"),false,false,array("../js/window.js")); + +?> + + + + + + + + +" . T_("Add shifts in your Time Zone") . ""; + +print "

" . T_("Select a questionnaire from the list below") . "

"; +display_questionnaire_chooser($questionnaire_id); + +if ($questionnaire_id != false) +{ + print "

"; + for ($i = $year - 1; $i < $year + 4; $i++) + { + if ($i == $year) + print "$i "; + else + print "$i "; + } + print "

"; + + + print "

"; + for ($i = 1; $i <= 53; $i++) + { + if ($i == $woy) + print "$i "; + else + print "$i "; + } + print "

"; + + + $sql = "SELECT shift_id, dt, dta,start,end + FROM ( + ( + SELECT shift_id, DATE_FORMAT( CONVERT_TZ( s.start, 'UTC', o.Time_zone_name ) , '%W %d %M %Y' ) AS dt, + DATE( CONVERT_TZ( s.start, 'UTC', o.Time_zone_name ) ) AS dta, + TIME( CONVERT_TZ( s.start, 'UTC', o.Time_zone_name ) ) AS start, + TIME( CONVERT_TZ( s.end, 'UTC', o.Time_zone_name ) ) AS end + FROM shift AS s, operator AS o + WHERE WEEK( CONVERT_TZ( s.start, 'UTC', o.Time_zone_name ) , 3 ) = '$woy' + AND YEAR( CONVERT_TZ( s.start, 'UTC', o.Time_zone_name ) ) = '$year' + AND o.operator_id = '$operator_id' + AND s.questionnaire_id = '$questionnaire_id' + ) + UNION ( + SELECT NULL AS shift_id, + DATE_FORMAT( STR_TO_DATE( CONCAT( '$year', ' ', '$woy', ' ', day_of_week -1 ) , '%x %v %w' ) , '%W %d %M %Y' ) AS dt, + STR_TO_DATE( CONCAT( '$year', ' ', '$woy', ' ', day_of_week -1 ) , '%x %v %w' ) AS dta, + start,end + FROM shift_template + ) + ) AS sb + GROUP BY dta,start,end"; + + + $shifts = $db->GetAll($sql); + + + $sql = "SELECT DATE_FORMAT(STR_TO_DATE(CONCAT($year, ' ',$woy,' ',day_of_week - 1),'%x %v %w'), '%W %d %M %Y') as dt, day_of_week - 1 as dow + FROM shift_template + GROUP BY dow"; + + $daysofweek = $db->Execute($sql); + + + + ?> +
+ + "; + $count = 1; + foreach($shifts as $shift) + { + $checked=""; + $shift_id=""; + $prefix=""; + if (!empty($shift['shift_id'])) + { + $checked="checked=\"checked\""; $shift_id = $shift['shift_id']; + } + else + { + $shift_id = $count; + $prefix = "NEW_"; + } + print ""; + $daysofweek->MoveFirst(); + $count++; + } + ?> + +
" . T_("Day") . "" . T_("Start") . "" . T_("End") . "" . T_("Use shift?") . "
" . $daysofweek->GetMenu($prefix . "dow_$shift_id",$shift['dt']) . "
+ +

+

+

+

+
+ diff --git a/admin/assignsample.php b/admin/assignsample.php new file mode 100644 index 00000000..8b23380a --- /dev/null +++ b/admin/assignsample.php @@ -0,0 +1,161 @@ + + * @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"); + +/** + * XHTML functions + */ +include("../functions/functions.xhtml.php"); + +/** + * Display functions + */ +include("../functions/functions.display.php"); + +/** + * Input functions + */ +include("../functions/functions.input.php"); + +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; + + + $sql = "INSERT INTO questionnaire_sample(questionnaire_id,sample_import_id,call_max,call_attempt_max,random_select,answering_machine_messages) + VALUES('$questionnaire_id','$sid','$cm','$cam','$selecttype','$am')"; + + $db->Execute($sql); + +} + +if (isset($_GET['questionnaire_id']) && isset($_GET['rsid'])) +{ + //need to remove rsid from questionnaire + + $questionnaire_id = bigintval($_GET['questionnaire_id']); + $sid = bigintval($_GET['rsid']); + + $sql = "DELETE FROM questionnaire_sample + WHERE questionnaire_id = '$questionnaire_id' + AND sample_import_id = '$sid'"; + + $db->Execute($sql); + +} + + +$questionnaire_id = false; +if (isset($_GET['questionnaire_id'])) $questionnaire_id = bigintval($_GET['questionnaire_id']); + +xhtml_head(T_("Assign Sample: Select sample to assign"),true,false,array("../js/window.js")); +print "

" . T_("Select a questionnaire from the list below") . "

"; +display_questionnaire_chooser($questionnaire_id); + + +if ($questionnaire_id != false) +{ + print "

" . T_("Samples selected for this questionnaire") . "

"; + + $sql = "SELECT q.sample_import_id as sample_import_id,si.description as description, q.call_max, q.call_attempt_max, q.random_select + FROM questionnaire_sample as q, sample_import as si + WHERE q.sample_import_id = si.sample_import_id + AND q.questionnaire_id = '$questionnaire_id'"; + + $qs = $db->GetAll($sql); + + foreach($qs as $q) + { + if ($q['random_select'] == 0) $rs = T_("Sequentially selected"); + else $rs = T_("Randomly selected"); + print "

{$q['sample_import_id']} - {$q['description']}: " . T_("Max calls:") . " {$q['call_max']} " . T_("Max call attempts:") . " {$q['call_attempt_max']} $rs (" . T_("Click to unassign") . ")

"; + } + + + $sql = "SELECT si.sample_import_id,si.description + FROM sample_import as si + LEFT JOIN questionnaire_sample as q ON (q.questionnaire_id = '$questionnaire_id' AND q.sample_import_id = si.sample_import_id) + WHERE q.questionnaire_id is NULL"; + + $qs = $db->GetAll($sql); + + if (!empty($qs)) + { + + + print "

" . T_("Add a sample to this questionnaire:") . "

"; + ?> +
+


+
+
+
+
+ +

+
+ diff --git a/admin/callhistory.php b/admin/callhistory.php new file mode 100644 index 00000000..91162b6b --- /dev/null +++ b/admin/callhistory.php @@ -0,0 +1,80 @@ + + * @copyright Deakin University 2007,2008 + * @package queXS + * @subpackage user + * @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"); + +/** + * XHTML functions + */ +include ("../functions/functions.xhtml.php"); + +/** + * Operator functions + */ +include("../functions/functions.operator.php"); + +xhtml_head(T_("Call History List"),true,array("../css/table.css")); + +//List the case call history +$operator_id = get_operator_id(); + +if ($operator_id) +{ + $sql = "SELECT DATE_FORMAT(CONVERT_TZ(c.start,'UTC',op.Time_zone_name),'".DATE_TIME_FORMAT."') as start,DATE_FORMAT(CONVERT_TZ(c.end,'UTC',op.Time_zone_name),'".TIME_FORMAT."') as end, o.description as des, (CONCAT(r.firstName,' ',r.lastName)) as firstName, opp.firstName as opname, CONCAT('', c.case_id, '') as case_id + FROM `call` as c + JOIN (operator as op, respondent as r) on (op.operator_id = '$operator_id' and r.respondent_id = c.respondent_id) + LEFT JOIN (outcome as o) on (c.outcome_id = o.outcome_id) + LEFT JOIN (operator as opp) on (opp.operator_id = c.operator_id) + ORDER BY c.start DESC + LIMIT 500"; + + $rs = $db->GetAll($sql); + + if (empty($rs)) + print "

" . T_("No calls ever made") . "

"; + else + xhtml_table($rs,array("start","end","case_id","opname","des","firstName"),array(T_("Date/Time call start"),T_("Time end"),T_("Case ID"),T_("Operator"),T_("Outcome"),T_("Respondent"))); +} +else + print "

" . T_("No operator") . "

"; + +xhtml_foot(); + + +?> diff --git a/admin/clientquestionnaire.php b/admin/clientquestionnaire.php new file mode 100644 index 00000000..d2a2372d --- /dev/null +++ b/admin/clientquestionnaire.php @@ -0,0 +1,273 @@ + + * @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"); + +/** + * XHTML functions + */ +include ("../functions/functions.xhtml.php"); + +/** + * Return if an client has already been assigned to this questionnaire + * + * @param int $client Client id + * @param int $questionnaire_id Questionnaire id + * @return int 1 if assigned otherwise 0 + * + */ +function vq($client_id,$questionnaire_id) +{ + global $db; + + $sql = "SELECT client_id,questionnaire_id + FROM client_questionnaire + WHERE client_id = '$client_id' and questionnaire_id = '$questionnaire_id'"; + + $vq = $db->Execute($sql); + + return $vq->RecordCount(); + +} + +/** + * Assign an client to a questionnaire + * + * @param int $client_id Client id + * @param int $questionnaire_id Questionnaire id + * + */ +function vqi($client_id,$questionnaire_id) +{ + global $db; + + $sql = "INSERT INTO + client_questionnaire (client_id,questionnaire_id) + VALUES('$client_id','$questionnaire_id')"; + + $db->Execute($sql); +} + + +/** + * Unassign an client from a questionnaire + * + * @param int $client_id Client id + * @param int $questionnaire_id Questionnaire id + * + */ +function vqd($client_id,$questionnaire_id) +{ + global $db; + + $sql = "DELETE FROM + client_questionnaire + WHERE client_id = '$client_id' and questionnaire_id = '$questionnaire_id'"; + + $db->Execute($sql); +} + + + + +if (isset($_POST['submit'])) +{ + $db->StartTrans(); + + $sql = "DELETE + FROM client_questionnaire + WHERE 1"; + + $db->Execute($sql); + + foreach ($_POST as $g => $v) + { + $a = explode("_",$g); + if ($a[0] == "cb") + vqi($a[2],$a[1]); + } + + $db->CompleteTrans(); +} + + + +$sql = "SELECT questionnaire_id,description + FROM questionnaire + ORDER by questionnaire_id ASC"; + +$questionnaires = $db->GetAll($sql); + +$sql = "SELECT client_id,firstname as description + FROM client + ORDER by client_id ASC"; + +$clients = $db->GetAll($sql); + + +xhtml_head(T_("Assign clients to questionnaires"),false,array("../css/table.css")); + +?> + + + + + + +"; + +print ""; +foreach($questionnaires as $q) +{ + print ""; +} +print ""; + +$class = 0; + +foreach($clients as $v) +{ + print ""; + print ""; + foreach($questionnaires as $q) + { + $checked = ""; + if (vq($v['client_id'],$q['questionnaire_id'])) $checked="checked=\"checked\""; + print ""; + } + + print ""; +} + + +print "
{$q['description']}
{$v['description']}

"; + + +xhtml_foot(); + +?> + + + diff --git a/admin/clients.php b/admin/clients.php new file mode 100644 index 00000000..42d669b7 --- /dev/null +++ b/admin/clients.php @@ -0,0 +1,101 @@ + + * @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 + * + * + * @todo Make timezone a drop down list + * + */ + +/** + * Configuration file + */ +include ("../config.inc.php"); + +/** + * Database file + */ +include ("../db.inc.php"); + +/** + * XHTML functions + */ +include ("../functions/functions.xhtml.php"); + + +global $db; + +$a = false; + +if (isset($_POST['client'])) +{ + $client = $db->qstr($_POST['client'],get_magic_quotes_gpc()); + $firstname = $db->qstr($_POST['firstname'],get_magic_quotes_gpc()); + $lastname = $db->qstr($_POST['lastname'],get_magic_quotes_gpc()); + $time_zone_name = $db->qstr($_POST['Time_zone_name'],get_magic_quotes_gpc()); + + if (!empty($_POST['client'])) + { + $sql = "INSERT INTO client + (`client_id` ,`username` ,`firstName` ,`lastName`, `Time_zone_name`) + VALUES (NULL , $client, $firstname , $lastname, $time_zone_name);"; + + if ($db->Execute($sql)) + $a = T_("Added: $client"); + else + $a = T_("Could not add") . " " . $client . ". " . T_("There may already be an client of this name"); + } +} + + +xhtml_head(T_("Add a client")); + +if ($a) +{ +?> +

+ +

+

+

+
+

+

+

+

+

+
+ + + diff --git a/admin/dataoutput.php b/admin/dataoutput.php new file mode 100644 index 00000000..661aeb48 --- /dev/null +++ b/admin/dataoutput.php @@ -0,0 +1,154 @@ + + * @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 + * + */ + + +/** + * Input functions + */ +include("../functions/functions.input.php"); + + +if (isset($_GET['data'])) +{ + /** + * Limesurvey functions + */ + include("../functions/functions.limesurvey.php"); + + $questionnaire_id = false; + $sample_import_id = false; + if (isset($_GET['sample_import_id'])) $sample_import_id = bigintval($_GET['sample_import_id']); + if (isset($_GET['questionnaire_id'])) $questionnaire_id = bigintval($_GET['questionnaire_id']); + + limesurvey_export_fixed_width($questionnaire_id,$sample_import_id); + + exit(); +} + + +/** + * Configuration file + */ +include_once(dirname(__FILE__).'/../config.inc.php'); + +/** + * Database file + */ +include ("../db.inc.php"); + +/** + * XHTML functions + */ +include ("../functions/functions.xhtml.php"); + +/** + * Display functions + */ +include("../functions/functions.display.php"); + + +if (isset($_GET['sample_var'])) +{ + $questionnaire_id = bigintval($_GET['questionnaire_id']); + $sample_import_id = bigintval($_GET['sample_import_id']); + $sample_var = $db->quote($_GET['sample_var']); + + $sql = "SELECT c.case_id, sv.val + FROM sample, `case` as c, sample_var as sv + WHERE c.questionnaire_id = '$questionnaire_id' + AND sample.import_id = '$sample_import_id' + AND c.sample_id = sample.sample_id + AND sv.sample_id = sample.sample_id + AND sv.var = $sample_var"; + + $list = $db->GetAll($sql); + + $fn = "key_$questionnaire_id" . "_" . $sample_import_id .".csv"; + + header("Content-Type: text/csv"); + header("Content-Disposition: attachment; filename=$fn"); + header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past + header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); + Header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); + header("Pragma: no-cache"); // HTTP/1.0 + + echo("caseid,$sample_var\n"); + + if (!empty($list)) + { + foreach($list as $l) + { + echo $l['case_id'] . "," . $l['val'] . "\n"; + } + } + + exit; +} + + + +xhtml_head(T_("Data output"),true,false,array("../js/window.js")); + +print "

Please select a questionnaire

"; +$questionnaire_id = false; +if (isset($_GET['questionnaire_id'])) $questionnaire_id = bigintval($_GET['questionnaire_id']); +display_questionnaire_chooser($questionnaire_id); + +if ($questionnaire_id) +{ + print "

Download all data for this questionnaire

"; + + $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); + + if ($sample_import_id) + { + print "

Download data for this sample

"; + //get sample vars + $sql = "SELECT sv.var as value, sv.var as description + FROM `sample_var` as sv + WHERE sv.sample_id = (SELECT sample_id FROM sample WHERE import_id = '$sample_import_id' LIMIT 1)"; + + //download a key file linking the caseid to the sample + print "

Download key file: select sample var

"; + + display_chooser($db->GetAll($sql),"sample_var","sample_var",true,"questionnaire_id=$questionnaire_id&sample_import_id=$sample_import_id"); + + } +} + +xhtml_foot(); + + + +?> + diff --git a/admin/displayappointments.php b/admin/displayappointments.php new file mode 100644 index 00000000..b3414027 --- /dev/null +++ b/admin/displayappointments.php @@ -0,0 +1,100 @@ + + * @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_once(dirname(__FILE__).'/../config.inc.php'); + +/** + * Database file + */ +include ("../db.inc.php"); + +/** + * XHTML functions + */ +include ("../functions/functions.xhtml.php"); + +/** + * Operator functions + */ +include ("../functions/functions.operator.php"); + +/** + * Input functions + */ +include ("../functions/functions.input.php"); + +if (isset($_GET['appointment_id']) && isset($_GET['case_id'])) +{ + $appointment_id = bigintval($_GET['appointment_id']); + $case_id = bigintval($_GET['case_id']); + + $sql = "DELETE FROM appointment + WHERE appointment_id = '$appointment_id'"; + + $db->Execute($sql); + + xhtml_head(T_("Now modify case outcome")); + + print "

" . T_("The appointment has been deleted. Now you must modify the case outcome") . "

"; + print "

" . T_("Modify case outcome") . "

"; + +} +else +{ + + $operator_id = get_operator_id(); + + xhtml_head(T_("Display Appointments"),true,array("../css/table.css")); + + print "

" . T_("Appointments") . "

" . T_("All appointments (with times displayed in your time zone)") . "

"; + + $sql = "SELECT q.description, CONVERT_TZ(a.start,'UTC',o.Time_zone_name) as start, CONVERT_TZ(a.end,'UTC',o.Time_zone_name) as end, r.firstName, r.lastName, IFNULL(ou.description,'" . T_("Not yet called") . "') as outcome, oo.firstName as makerName, ooo.firstName as callerName, CONCAT('', c.case_id, '') as case_id, CONCAT('". T_("Delete") . "') as link + FROM appointment as a + JOIN (`case` as c, respondent as r, questionnaire as q, operator as o, operator as oo, call_attempt as cc) on (a.case_id = c.case_id and a.respondent_id = r.respondent_id and q.questionnaire_id = c.questionnaire_id and o.operator_id = '$operator_id' and a.call_attempt_id = cc.call_attempt_id and cc.operator_id = oo.operator_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) + WHERE a.end >= CONVERT_TZ(NOW(),'System','UTC') + ORDER BY a.start ASC"; + + $rs = $db->GetAll($sql); + + if (!empty($rs)) + xhtml_table($rs,array("description","case_id","start","end","makerName","firstName","lastName","outcome","callerName","link"),array(T_("Questionnaire"),T_("Case ID"),T_("Start"),T_("End"),T_("Operator Name"),T_("Respondent Name"),T_("Surname"),T_("Current outcome"),T_("Operator who called"),T_("Delete"))); + else + print "

" . T_("No appointments in the future") . "

"; + +} +xhtml_foot(); + +?> + diff --git a/admin/import.php b/admin/import.php new file mode 100644 index 00000000..a2e86b16 --- /dev/null +++ b/admin/import.php @@ -0,0 +1,131 @@ + + * @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"); + +/** + * XHTML functions + */ +include ("../functions/functions.xhtml.php"); + +/** + * Sample import functions + */ +include("../functions/functions.import.php"); + + +session_start(); + +if (isset($_GET['import_form'])) +{ + //form has been submitted + xhtml_head(T_("Import: Validating and uploading")); + + //verify each GET field is unique (except import_form) + $sfields = array(); + foreach($_GET as $getv => $val) + //clean up? + $sfields[$getv] = $val; + + $error = verify_fields($sfields); + + $description = $_GET['description']; + + if ($error == "") + { //verified so upload + if (import_file($_SESSION['filename'],$description,$sfields)) + { + print "

" . T_("Successfully imported file") . "

"; + } + else + { + print "

" . T_("Error importing file. Please try again") . "

"; + } + } + else + print "

" . T_("Error:") . " $error

" . T_("Please go back in your browser and fix the problem") . "

"; + + //verifiy that exactly one primary phone number is selected + //upload to database + + xhtml_foot(); + +} +else if (isset($_POST['import_file'])) +{ + //file has been submitted + + xhtml_head(T_("Import: Select columns to import")); + ?> +
+ +

+

+
+ + + +
+

+

+

+

+
+ + diff --git a/admin/index.php b/admin/index.php new file mode 100644 index 00000000..5c884534 --- /dev/null +++ b/admin/index.php @@ -0,0 +1,88 @@ + + * @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 + * + */ + +/** + * Language file + */ +include ("../lang.inc.php"); + +/** + * Config file + */ +include ("../config.inc.php"); + +/** + * XHTML functions + */ +include ("../functions/functions.xhtml.php"); + +xhtml_head(T_("Administrative Tools"),true,array("../css/table.css","../css/admin.css"),array("../js/link.js")); + +print ""; + + +print "

Error, try with Firefox

"; + + +xhtml_foot(); + +?> + diff --git a/admin/new.php b/admin/new.php new file mode 100644 index 00000000..c832164c --- /dev/null +++ b/admin/new.php @@ -0,0 +1,154 @@ + + * @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 + * + * + * @todo Create from queXML + * + */ + +/** + * Configuration file + */ +include ("../config.inc.php"); + +/** + * Database file + */ +include ("../db.inc.php"); + +/** + * XHTML functions + */ +include ("../functions/functions.xhtml.php"); + +/** + * Input functions + */ +include("../functions/functions.input.php"); + +global $ldb; +global $db; + +xhtml_head(T_("New: Create new questionnaire")); + +if (isset($_POST['import_file'])) +{ + //file has been submitted + global $db; + + $ras =0; + $rws = 0; + $testing = 0; + $rs = 0; + $lime_sid = 0; + if (isset($_POST['ras'])) $ras = 1; + if (isset($_POST['rws'])) $rws = 1; + if (isset($_POST['testing'])) $testing = 1; + if (isset($_POST['rs'])) $rs = 1; + + $name = $db->qstr($_POST['description'],get_magic_quotes_gpc()); + $rs_intro = $db->qstr($_POST['rs_intro'],get_magic_quotes_gpc()); + $rs_project_intro = $db->qstr($_POST['rs_project_intro'],get_magic_quotes_gpc()); + $rs_project_end = $db->qstr($_POST['rs_project_end'],get_magic_quotes_gpc()); + $rs_callback = $db->qstr($_POST['rs_callback'],get_magic_quotes_gpc()); + $rs_answeringmachine = $db->qstr($_POST['rs_answeringmachine'],get_magic_quotes_gpc()); + + if ($_POST['select'] == "new") + { + //create one from scratch + include("../functions/functions.limesurvey.php"); + + $lime_sid = create_limesurvey_questionnaire($name); + + + }else if ($_POST['select'] == "quexml") + { + //create from queXML + + }else + { + //use existing lime instrument + $lime_sid = bigintval($_POST['select']); + + } + + $sql = "INSERT INTO questionnaire (questionnaire_id,description,lime_sid,restrict_appointments_shifts,restrict_work_shifts,respondent_selection,rs_intro,rs_project_intro,rs_project_end,rs_callback,rs_answeringmachine,testing) + VALUES (NULL,$name,'$lime_sid','$ras','$rws','$rs',$rs_intro,$rs_project_intro,$rs_project_end,$rs_callback,$rs_answeringmachine,'$testing')"; + + $rs = $db->Execute($sql); + + if ($rs) + { + $qid = $db->Insert_ID(); + print "

Successfully inserted $name as questionnaire $qid, linked to $lime_sid

"; + }else + { + print "

Error: Failed to insert questionnaire

"; + } + + +} + + +//create new questionnaire +?> +
+

+

+

+

+

+

+

+

+

+

+

+

+

+

+
+ diff --git a/admin/operatorperformance.php b/admin/operatorperformance.php new file mode 100644 index 00000000..5cb96ba0 --- /dev/null +++ b/admin/operatorperformance.php @@ -0,0 +1,113 @@ + + * @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_once(dirname(__FILE__).'/../config.inc.php'); + +/** + * Database file + */ +include ("../db.inc.php"); + +/** + * XHTML functions + */ +include ("../functions/functions.xhtml.php"); + +/** + * Performance functions + */ +include("../functions/functions.performance.php"); + +/** + * Display functions + */ +include("../functions/functions.display.php"); + +/** + * Input functions + */ +include("../functions/functions.input.php"); + +/** + * Operator functions + */ +include("../functions/functions.operator.php"); + +xhtml_head(T_("Operator Performance"),true,false,array("../js/window.js")); + +$rs = get_CPH(); +print "

" . T_("Overall") . "

"; +xhtml_table($rs,array("firstName","completions","time","CPH"),array(T_("Operator"),T_("Completions"),T_("Total time"),T_("Completions per hour")),"tclass"); +xhtml_table(get_effectiveness(),array("firstName","effectiveness"),array(T_("Operator"),T_("Effectiveness (proportion of time on a call in a case)")),"tclass"); + +$questionnaire_id = false; +if (isset($_GET['questionnaire_id'])) $questionnaire_id = bigintval($_GET['questionnaire_id']); +display_questionnaire_chooser($questionnaire_id); + +if ($questionnaire_id) +{ + $rs = get_CPH_by_questionnaire($questionnaire_id); + print "

" . T_("This project") . "

"; + xhtml_table($rs,array("firstName","completions","time","CPH"),array(T_("Operator"),T_("Completions"),T_("Total time"),T_("Completions per hour")),"tclass"); + xhtml_table(get_effectiveness_by_questionnaire($questionnaire_id),array("firstName","effectiveness"),array(T_("Operator"),T_("Effectiveness (proportion of time on a call in a case)")),"tclass"); + + $operator_id = get_operator_id(); + + $shift_id = false; + if (isset($_GET['shift_id'])) $shift_id = bigintval($_GET['shift_id']); + + $sql = "SELECT s.shift_id as value,CONCAT(DATE_FORMAT(CONVERT_TZ(s.start,'UTC',o.Time_zone_name),'" . DATE_TIME_FORMAT . "'),' " . T_("till") . " ',DATE_FORMAT(CONVERT_TZ(s.end,'UTC',o.Time_zone_name),'" . TIME_FORMAT . "')) as description,CASE WHEN s.shift_id = '$shift_id' THEN 'selected=\'selected\'' ELSE '' END AS selected + FROM shift as s + LEFT JOIN (operator as o) on (o.operator_id = '$operator_id') + WHERE s.questionnaire_id = '$questionnaire_id' + ORDER BY s.start ASC"; + + $rs = $db->GetAll($sql); + + display_chooser($rs,"shift_id","shift_id",true,"questionnaire_id=$questionnaire_id"); + + if ($shift_id) + { + $rs = get_CPH_by_shift($questionnaire_id,$shift_id); + print "

" . T_("This shift") . "

"; + xhtml_table($rs,array("firstName","completions","time","CPH"),array(T_("Operator"),T_("Completions"),T_("Total time"),T_("Completions per hour")),"tclass"); + } +} + +xhtml_foot(); + + + +?> + diff --git a/admin/operatorquestionnaire.php b/admin/operatorquestionnaire.php new file mode 100644 index 00000000..f43b2c80 --- /dev/null +++ b/admin/operatorquestionnaire.php @@ -0,0 +1,273 @@ + + * @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"); + +/** + * XHTML functions + */ +include ("../functions/functions.xhtml.php"); + +/** + * Return if an operator has already been assigned to this questionnaire + * + * @param int $operator_id Operator id + * @param int $questionnaire_id Questionnaire id + * @return int 1 if assigned otherwise 0 + * + */ +function vq($operator_id,$questionnaire_id) +{ + global $db; + + $sql = "SELECT operator_id,questionnaire_id + FROM operator_questionnaire + WHERE operator_id = '$operator_id' and questionnaire_id = '$questionnaire_id'"; + + $vq = $db->Execute($sql); + + return $vq->RecordCount(); + +} + +/** + * Assign an operator to a questionnaire + * + * @param int $operator_id Operator id + * @param int $questionnaire_id Questionnaire id + * + */ +function vqi($operator_id,$questionnaire_id) +{ + global $db; + + $sql = "INSERT INTO + operator_questionnaire (operator_id,questionnaire_id) + VALUES('$operator_id','$questionnaire_id')"; + + $db->Execute($sql); +} + + +/** + * Unassign an operator from a questionnaire + * + * @param int $operator_id Operator id + * @param int $questionnaire_id Questionnaire id + * + */ +function vqd($operator_id,$questionnaire_id) +{ + global $db; + + $sql = "DELETE FROM + operator_questionnaire + WHERE operator_id = '$operator_id' and questionnaire_id = '$questionnaire_id'"; + + $db->Execute($sql); +} + + + + +if (isset($_POST['submit'])) +{ + $db->StartTrans(); + + $sql = "DELETE + FROM operator_questionnaire + WHERE 1"; + + $db->Execute($sql); + + foreach ($_POST as $g => $v) + { + $a = explode("_",$g); + if ($a[0] == "cb") + vqi($a[2],$a[1]); + } + + $db->CompleteTrans(); +} + + + +$sql = "SELECT questionnaire_id,description + FROM questionnaire + ORDER by questionnaire_id ASC"; + +$questionnaires = $db->GetAll($sql); + +$sql = "SELECT operator_id,firstname as description + FROM operator + ORDER by operator_id ASC"; + +$operators = $db->GetAll($sql); + + +xhtml_head(T_("Assign operators to questionnaires"),false,array("../css/table.css")); + +?> + + + + + + +"; + +print ""; +foreach($questionnaires as $q) +{ + print ""; +} +print ""; + +$class = 0; + +foreach($operators as $v) +{ + print ""; + print ""; + foreach($questionnaires as $q) + { + $checked = ""; + if (vq($v['operator_id'],$q['questionnaire_id'])) $checked="checked=\"checked\""; + print ""; + } + + print ""; +} + + +print "
{$q['description']}
{$v['description']}

"; + + +xhtml_foot(); + +?> + + + diff --git a/admin/operators.php b/admin/operators.php new file mode 100644 index 00000000..02a41b0d --- /dev/null +++ b/admin/operators.php @@ -0,0 +1,137 @@ + + * @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 + * + * + * @todo Make timezone a drop down list + * + */ + +/** + * Configuration file + */ +include ("../config.inc.php"); + +/** + * Database file + */ +include ("../db.inc.php"); + +/** + * XHTML functions + */ +include ("../functions/functions.xhtml.php"); + + +global $db; + +$a = false; + +if (isset($_POST['operator'])) +{ + $operator = $db->qstr($_POST['operator'],get_magic_quotes_gpc()); + $firstname = $db->qstr($_POST['firstname'],get_magic_quotes_gpc()); + $lastname = $db->qstr($_POST['lastname'],get_magic_quotes_gpc()); + $time_zone_name = $db->qstr($_POST['Time_zone_name'],get_magic_quotes_gpc()); + $extension = $db->qstr($_POST['extension'],get_magic_quotes_gpc()); + $supervisor = 0; + $temporary = 0; + $refusal = 0; + if (isset($_POST['supervisor']) && $_POST['supervisor'] == "on") $supervisor = 1; + if (isset($_POST['refusal']) && $_POST['refusal'] == "on") $refusal = 1; + if (isset($_POST['temporary']) && $_POST['temporary'] == "on") $temporary = 1; + if (!empty($_POST['operator'])) + { + $sql = "INSERT INTO operator + (`operator_id` ,`username` ,`firstName` ,`lastName`, `extension`, `Time_zone_name`) + VALUES (NULL , $operator, $firstname , $lastname, $extension, $time_zone_name);"; + + if ($db->Execute($sql)) + { + $a = "Added: $operator"; + + $oid = $db->Insert_ID(); + + if ($temporary) + { + $db->Execute(" INSERT INTO operator_skill (operator_id,outcome_type_id) + VALUES ('$oid','1')"); + $db->Execute(" INSERT INTO operator_skill (operator_id,outcome_type_id) + VALUES ('$oid','5')"); //and appointment + } + + if ($supervisor) + $db->Execute(" INSERT INTO operator_skill (operator_id,outcome_type_id) + VALUES ('$oid','2')"); + + if ($refusal) + $db->Execute(" INSERT INTO operator_skill (operator_id,outcome_type_id) + VALUES ('$oid','3')"); + + + + }else + { + $a = "Could not add $operator. There may already be an operator of this name"; + } + + + } +} + + +xhtml_head(T_("Add an operator")); + +if ($a) +{ +?> +

+ +

+

.

+

+
+

+

+

+

+

+

+

+

+

" />

+
+ + + diff --git a/admin/operatorskill.php b/admin/operatorskill.php new file mode 100644 index 00000000..71592e86 --- /dev/null +++ b/admin/operatorskill.php @@ -0,0 +1,272 @@ + + * @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"); + +/** + * XHTML functions + */ +include ("../functions/functions.xhtml.php"); + +/** + * Determine if an operator has been assigned to a skill (outcome_type) + * + * @param int $operator_id Operator id + * @param int $outcome_type_id Outcome type id (skill) + * @return int 1 if assigned to that skill otherwise 0 + * + */ +function vq($operator_id,$outcome_type_id) +{ + global $db; + + $sql = "SELECT operator_id,outcome_type_id + FROM operator_skill + WHERE operator_id = '$operator_id' and outcome_type_id = '$outcome_type_id'"; + + $vq = $db->Execute($sql); + + return $vq->RecordCount(); + +} + +/** + * Assign an operator to a skill (outcome_type) + * + * @param int $operator_id Operator id + * @param int $outcome_type_id Outcome type id (skill) + * + */ +function vqi($operator_id,$outcome_type_id) +{ + global $db; + + $sql = "INSERT INTO + operator_skill (operator_id,outcome_type_id) + VALUES('$operator_id','$outcome_type_id')"; + + $db->Execute($sql); +} + +/** + * Delete a skill (outcome_type) from an operator + * + * @param int $operator_id Operator id + * @param int $outcome_type_id Outcome type id (skill) + * + */ +function vqd($operator_id,$outcome_type_id) +{ + global $db; + + $sql = "DELETE FROM + operator_skill + WHERE operator_id = '$operator_id' and outcome_type_id = '$outcome_type_id'"; + + $db->Execute($sql); +} + + + + +if (isset($_POST['submit'])) +{ + $db->StartTrans(); + + $sql = "DELETE + FROM operator_skill + WHERE 1"; + + $db->Execute($sql); + + foreach ($_POST as $g => $v) + { + $a = explode("_",$g); + if ($a[0] == "cb") + vqi($a[2],$a[1]); + } + + $db->CompleteTrans(); +} + + + +$sql = "SELECT outcome_type_id,description + FROM outcome_type + ORDER by outcome_type_id ASC"; + +$outcome_types = $db->GetAll($sql); + +$sql = "SELECT operator_id,firstname as description + FROM operator + ORDER by operator_id ASC"; + +$operators = $db->GetAll($sql); + + +xhtml_head(T_("Assign operators to Skills"),false,array("../css/table.css")); + +?> + + + + + + +"; + +print ""; +foreach($outcome_types as $q) +{ + print ""; +} +print ""; + +$ct = 1; + +foreach($operators as $v) +{ + print ""; + print ""; + foreach($outcome_types as $q) + { + $checked = ""; + if (vq($v['operator_id'],$q['outcome_type_id'])) $checked="checked=\"checked\""; + print ""; + } + + print ""; +} + + +print "
{$q['description']}
{$v['description']}

"; + + +xhtml_foot(); + +?> + + + diff --git a/admin/outcomes.php b/admin/outcomes.php new file mode 100644 index 00000000..373f347a --- /dev/null +++ b/admin/outcomes.php @@ -0,0 +1,172 @@ + + * @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_once(dirname(__FILE__).'/../config.inc.php'); + +/** + * Database file + */ +include ("../db.inc.php"); + +/** + * XHTML functions + */ +include ("../functions/functions.xhtml.php"); + +/** + * AAPOR calculation functions + */ +include ("../functions/functions.aapor.php"); + +/** + * Display functions + */ +include ("../functions/functions.display.php"); + +/** + * Performance functions + */ +include ("../functions/functions.performance.php"); + +/** + * Operator functions + */ +include ("../functions/functions.operator.php"); + +/** + * Input functions + */ +include("../functions/functions.input.php"); + +$operator_id = get_operator_id(); + +$questionnaire_id = false; +if (isset($_GET['questionnaire_id'])) $questionnaire_id = bigintval($_GET['questionnaire_id']); + + +xhtml_head(T_("Questionnaire Outcomes"),true,array("../css/table.css"),array("../js/window.js")); + + +print "

" . T_("Select a questionnaire from the list below") . "

"; + +display_questionnaire_chooser($questionnaire_id); + +if ($questionnaire_id != false) +{ + print "

" . T_("Outcomes") . "

"; + + print "

" . T_("Sample status") . "

"; + + $sql = "SELECT CASE WHEN (c.sample_id is not null) = 1 THEN '" . T_("Drawn from sample") . "' ELSE '" . T_("Remain in sample") . "' END as drawn, + count(*) as count + FROM sample as s + JOIN questionnaire_sample as qs ON (qs.questionnaire_id = '$questionnaire_id' and qs.sample_import_id = s.import_id) + LEFT JOIN `case` as c ON (c.questionnaire_id = qs.questionnaire_id and c.sample_id = s.sample_id) + GROUP BY (c.sample_id is not null)"; + + xhtml_table($db->GetAll($sql),array("drawn","count"),array(T_("Status"),T_("Number"))); + + $atime = get_average_time_questionnaire(10,$questionnaire_id); + $mins = intval($atime / 60); + $secs = $atime % 60; + + print "

" . T_("Average time on a completed questionnaire") . ": $mins " . T_("Min") . " $secs " . T_("Secs") . "

"; + + + $sql = "SELECT o.calc, count( c.case_id ) + FROM `case` AS c, `outcome` AS o + WHERE c.questionnaire_id = '$questionnaire_id' + AND c.current_outcome_id = o.outcome_id + GROUP BY o.calc"; + + $a = $db->GetAssoc($sql); + $a = aapor_clean($a); + + + print ""; + print ""; + print ""; + print ""; + print ""; + print "
" . T_("Outcome") . "" . T_("Rate") . "
" . T_("Response Rate 1") . "" . round(aapor_rr1($a),2) . "
" . T_("Refusal Rate 1") . "" . round(aapor_ref1($a),2) . "
" . T_("Cooperation Rate 1") . "" . round(aapor_coop1($a),2) . "
" . T_("Contact Rate 1") . "" . round(aapor_con1($a),2) . "
"; + + + $sql = "SELECT o.description as des, o.outcome_id, count( c.case_id ) as count + FROM `case` AS c, `outcome` AS o + WHERE c.questionnaire_id = '$questionnaire_id' + AND c.current_outcome_id = o.outcome_id + GROUP BY o.outcome_id"; + + $rs = $db->GetAll($sql); + + if (!empty($rs)) + xhtml_table($rs,array("des","count"),array(T_("Outcome"),T_("Count")),"tclass",array("des" => "Complete")); + else + print "

" . T_("No outcomes recorded for this questionnaire") . "

"; + + //display a list of shifts with completions and a link to either add a report or view reports + print "

" . T_("Shifts") . "

"; + + $sql = "SELECT s.shift_id, CONCAT(DATE_FORMAT(CONVERT_TZ(s.start,'UTC',o.Time_zone_name),'" . DATE_TIME_FORMAT ."'), ' - ', DATE_FORMAT(CONVERT_TZ(s.end,'UTC',o.Time_zone_name),'" . DATE_TIME_FORMAT ."')) as description, + CASE WHEN sr.shift_id IS NULL THEN CONCAT('" . T_("No shift reports: Add report") . "') ELSE CONCAT('" . T_("View shift reports") . "') END AS link, c.completions as completions, CONCAT('" . T_("View operator performance") . "') as operform + FROM `shift` as s + JOIN operator as o on (o.operator_id = '$operator_id') + LEFT JOIN shift_report as sr on (sr.shift_id = s.shift_id) + LEFT JOIN ( SELECT count(*) as completions,sh.shift_id + FROM `call` as a, `case` as b, shift as sh + WHERE a.outcome_id = '10' + AND a.case_id = b.case_id + AND b.questionnaire_id = '$questionnaire_id' + AND sh.start <= a.start + AND sh.end >= a.start + GROUP BY sh.shift_id) as c on (s.shift_id = c.shift_id) + WHERE s.questionnaire_id = '$questionnaire_id' + GROUP BY shift_id + ORDER BY s.start ASC"; + + $r = $db->GetAll($sql); + + if (empty($r)) + print "

" . T_("No shifts defined for this questionnaire") . "

"; + else + xhtml_table($r,array("description","completions","link","operform"),array(T_("Shift"),T_("Completions"),T_("Shift report"),T_("Operator performance")),"tclass"); + + + +} + +xhtml_foot(); + +?> + diff --git a/admin/questionnaireprefill.php b/admin/questionnaireprefill.php new file mode 100644 index 00000000..e2c13684 --- /dev/null +++ b/admin/questionnaireprefill.php @@ -0,0 +1,172 @@ + + * @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"); + +/** + * XHTML functions + */ +include("../functions/functions.xhtml.php"); + +/** + * Display functions + */ +include("../functions/functions.display.php"); + + +/** + * Input functions + */ +include("../functions/functions.input.php"); + +global $db; + + +if (isset($_GET['questionnaire_id']) && isset($_GET['sgqa']) && isset($_GET['value'])) +{ + //need to add prefill to questionnaire + + $questionnaire_id = bigintval($_GET['questionnaire_id']); + $value = $db->quote($_GET['value']); + $sgqa = $db->quote($_GET['sgqa']); + + $sql = "INSERT INTO questionnaire_prefill(questionnaire_id,lime_sgqa,value) + VALUES('$questionnaire_id',$sgqa,$value)"; + + $db->Execute($sql); + +} + +if (isset($_GET['questionnaire_id']) && isset($_GET['questionnaire_prefill_id'])) +{ + //need to remove prefill from questionnaire + + $questionnaire_id = bigintval($_GET['questionnaire_id']); + $questionnaire_prefill_id = bigintval($_GET['questionnaire_prefill_id']); + + $sql = "DELETE FROM questionnaire_prefill + WHERE questionnaire_prefill_id = '$questionnaire_prefill_id'"; + + $db->Execute($sql); + +} + + +$questionnaire_id = false; +if (isset($_GET['questionnaire_id'])) $questionnaire_id = bigintval($_GET['questionnaire_id']); + +xhtml_head(T_("Pre fill questionnaire: Set values for questionnaire to prefill"),true,false,array("../js/window.js")); +print "

" . T_("Select a questionnaire from the list below") . "

"; + +$sql = "SELECT questionnaire_id as value,description, CASE WHEN questionnaire_id = '$questionnaire_id' THEN 'selected=\'selected\'' ELSE '' END AS selected + FROM questionnaire"; +display_chooser($db->GetAll($sql),"questionnaire","questionnaire_id"); + + +if ($questionnaire_id != false) +{ + print "

" . T_("Current pre fills (click to delete)") . "

"; + + $sql = "SELECT questionnaire_prefill_id,lime_sgqa,value + FROM questionnaire_prefill + WHERE questionnaire_id = '$questionnaire_id'"; + + $r = $db->GetAll($sql); + + if (empty($r)) + { + print "

" . T_("Currently no pre fills") . "

"; + } + else + { + foreach($r as $v) + { + print "
{$v['lime_sgqa']}: {$v['value']}
"; + + } + } + + + print "

" . T_("Select a question to pre fill") . "

"; + + $sql = "SELECT lime_sid + FROM questionnaire + WHERE questionnaire_id = '$questionnaire_id'"; + + $r = $db->GetRow($sql); + + $lime_sid = $r['lime_sid']; + + $sgqa = false; + if (isset($_GET['sgqa'])) $sgqa = $_GET['sgqa']; + + $sql = "SELECT CONCAT( q.sid, 'X', q.gid, 'X', q.qid, IFNULL( a.code, '' ) ) AS value, CONCAT(q.question, ': ', IFNULL(a.answer,'')) as description, CASE WHEN CONCAT( q.sid, 'X', q.gid, 'X', q.qid, IFNULL( a.code, '' ) ) = '$sgqa' THEN 'selected=\'selected\'' ELSE '' END AS selected + FROM `" . LIME_PREFIX . "questions` AS q + LEFT JOIN `" . LIME_PREFIX . "answers` AS a ON ( a.qid = q.qid ) + WHERE q.sid = '$lime_sid'"; + + + display_chooser($ldb->GetAll($sql),"sgqa","sgqa",true,"questionnaire_id=$questionnaire_id"); + + if ($sgqa != false) + { + print "

" . T_("Enter a value to pre fill this question with:") . "

"; + print "

"; + print T_("Possible uses:"); + print "

"; + ?> +
+

+
+ + +

+
+ diff --git a/admin/samplesearch.php b/admin/samplesearch.php new file mode 100644 index 00000000..723065ec --- /dev/null +++ b/admin/samplesearch.php @@ -0,0 +1,165 @@ + + * @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"); + +/** + * XHTML functions + */ +include("../functions/functions.xhtml.php"); + + +/** + * Input functions + */ +include("../functions/functions.input.php"); + +global $db; + + +if (isset($_GET['sample_id'])) +{ + //need to remove this sample record from the sample + + $sample_id = bigintval($_GET['sample_id']); + + $db->StartTrans(); + + $sql = "DELETE FROM sample_var + WHERE sample_id = '$sample_id'"; + + $db->Execute($sql); + + $sql = "DELETE FROM sample + WHERE sample_id = '$sample_id'"; + + $db->Execute($sql); + + $db->CompleteTrans(); +} + + +$sample_import_id = false; +if (isset($_GET['sample_import_id'])) $sample_import_id = bigintval($_GET['sample_import_id']); + +xhtml_head(T_("Search sample"),true,array("../css/table.css"),array("../js/window.js")); +print "

" . T_("Select a sample from the list below") . "

"; + +$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"; + +$r = $db->GetAll($sql); + +if(!empty($r)) + display_chooser($r,"sample_import_id","sample_import_id"); + +if ($sample_import_id != false) +{ + if (isset($_GET['search'])) + { + $search = $db->qstr($_GET['search']); + + $sql = "SELECT sv.sample_id, CASE WHEN c.case_id IS NULL THEN CONCAT('" . T_("No cases yet assigned: Delete this sample record") . "') ELSE CONCAT('" . T_("Assigned to questionnaire: ") . "', q.description, '') END as link + FROM sample_var AS sv + JOIN (sample as s) ON (s.import_id = '$sample_import_id' and sv.sample_id = s.sample_id) + LEFT JOIN (`case` AS c, questionnaire AS q) ON ( c.sample_id = sv.sample_id AND q.questionnaire_id = c.questionnaire_id ) + WHERE sv.val LIKE $search"; + + $r = $db->GetAll($sql); + + if (empty($r)) + print "

" . T_("No records in this sample match this search criteria") . "

"; + else + { + //add sample information to results + $sql = "SELECT var + FROM sample_var + WHERE sample_id = {$r[0]['sample_id']}"; + + $rs = $db->GetAll($sql); + + $fnames = array("sample_id"); + $fdesc = array(T_("Sample id")); + + foreach($rs as $rsw) + { + $fnames[] = $rsw['var']; + $fdesc[] = $rsw['var']; + } + + $fnames[] = "link"; + $fdesc[] = T_("Link"); + + foreach($r as &$rw) + { + $sql = "SELECT var,val + FROM sample_var + WHERE sample_id = {$rw['sample_id']}"; + + $rs = $db->GetAll($sql); + + foreach($rs as $rsw) + $rw[$rsw['var']] = $rsw['val']; + } + + xhtml_table($r,$fnames,$fdesc); + } + + } + + print "

" . T_("Search within this sample") . "

"; + + print "

" . T_("Use the % character as a wildcard") ."

"; + + ?> +
+

+
+ + "/> +

+
+ diff --git a/admin/shiftreport.php b/admin/shiftreport.php new file mode 100644 index 00000000..060f5c6b --- /dev/null +++ b/admin/shiftreport.php @@ -0,0 +1,177 @@ + + * @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_once(dirname(__FILE__).'/../config.inc.php'); + +/** + * Database file + */ +include ("../db.inc.php"); + +/** + * XHTML functions + */ +include ("../functions/functions.xhtml.php"); + +/** + * Display functions + */ +include("../functions/functions.display.php"); + +/** + * Operator functions + */ +include("../functions/functions.operator.php"); + +/** + * Input functions + */ +include("../functions/functions.input.php"); + +xhtml_head(T_("Shift reports"),true,array("../css/table.css"),array("../js/window.js")); + +$operator_id = get_operator_id(); + +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); + +if ($questionnaire_id) +{ + print "

" . T_("Please select a shift") . "

"; + + $shift_id = false; + if (isset($_GET['shift_id'])) $shift_id = bigintval($_GET['shift_id']); + + //get shifts for this questionnaire in operator time + $sql = "SELECT s.shift_id as value, CONCAT(DATE_FORMAT(CONVERT_TZ(s.start,'UTC',o.Time_zone_name),'" . DATE_TIME_FORMAT ."'), ' - ', DATE_FORMAT(CONVERT_TZ(s.end,'UTC',o.Time_zone_name),'" . TIME_FORMAT ."')) as description, + CASE WHEN s.shift_id = '$shift_id' THEN 'selected=\'selected\'' ELSE '' END AS selected + FROM `shift` as s, operator as o + WHERE s.questionnaire_id = '$questionnaire_id' + AND o.operator_id = '$operator_id' + ORDER BY s.start ASC"; + + $r = $db->GetAll($sql); + + if (!empty($r)) + display_chooser($r,"shift","shift_id",true,"questionnaire_id=$questionnaire_id"); + + if ($shift_id) + { + print "

" . T_("Reports for this shift") . "

"; + + //list current reports with a link to edit + $sql = "SELECT s.report,o.firstName,DATE_FORMAT(CONVERT_TZ(s.datetime,'UTC',o.Time_zone_name),'" . DATE_TIME_FORMAT ."') as d, + CONCAT('". T_("Edit") . "') as link + FROM shift_report as s, operator as o + WHERE s.operator_id = o.operator_id + AND s.shift_id = '$shift_id'"; + + $r = $db->GetAll($sql); + + if (!empty($r)) + xhtml_table($r,array("firstName", "d", "report","link"),array(T_("Operator"),T_("Date"),T_("Report"),T_("Edit")),"tclass"); + + //link to create a new report + print "

" . T_("Create new report for this shift") . "

"; + + + if (isset($_GET['createnewreport'])) + { + //create a new report + print "

" . T_("Enter report for this shift") . "

"; + print "

"; + print "

"; + print ""; + print ""; + print "

"; + } + else if (isset($_GET['report'])) + { + //add report to database + $report = $db->qstr($_GET['report']); + + $sql = "INSERT INTO shift_report (shift_id,operator_id,datetime,report,shift_report_id) + VALUES ('$shift_id','$operator_id',CONVERT_TZ(NOW(),'System','UTC'),$report,NULL)"; + + $db->Execute($sql); + } + else if (isset($_GET['shift_report_id'])) + { + $shift_report_id = bigintval($_GET['shift_report_id']); + + if (isset($_GET['ereport'])) + { + //edit report + $report = $db->qstr($_GET['ereport']); + + $sql = "UPDATE shift_report + SET operator_id = '$operator_id', datetime = CONVERT_TZ(NOW(),'System','UTC'), report = $report + WHERE shift_report_id = '$shift_report_id'"; + + $db->Execute($sql); + } + + $sql = "SELECT report + FROM shift_report + WHERE shift_report_id = '$shift_report_id'"; + + $r = $db->GetRow($sql); + if (empty($r)) + { + print "

" . T_("This report does not exist in the database") . "

"; + } + else + { + //edit report + print "

" . T_("Edit report for this shift") . "

"; + print "

"; + print "

"; + print ""; + print ""; + print ""; + print "

"; + } + } + + } +} + +xhtml_foot(); + + + +?> + diff --git a/admin/supervisor.php b/admin/supervisor.php new file mode 100644 index 00000000..36f75f41 --- /dev/null +++ b/admin/supervisor.php @@ -0,0 +1,234 @@ + + * @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"); + +/** + * XHTML functions + */ +include("../functions/functions.xhtml.php"); + +/** + * Display functions + */ +include("../functions/functions.display.php"); + +/** + * Operator functions + */ +include("../functions/functions.operator.php"); + +/** + * Input functions + */ +include("../functions/functions.input.php"); + +global $db; + +$operator_id = get_operator_id(); + +$case_id = false; +if (isset($_GET['case_id'])) $case_id = bigintval($_GET['case_id']); + +xhtml_head(T_("Supervisor functions"),true,array("../css/table.css"),array("../js/window.js")); + +print "

" . T_("Enter a case id or select a case from the list below:") . "

"; + +$sql = "SELECT c.case_id as value, c.case_id as description, CASE WHEN c.case_id = '$case_id' THEN 'selected=\'selected\'' ELSE '' END AS selected + FROM `case` as c, `outcome` as o + WHERE c.current_outcome_id = o.outcome_id + AND o.outcome_type_id = 2"; + +$rs = $db->GetAll($sql); + +if (!empty($rs)) +{ + print "
"; + display_chooser($rs,"case","case_id"); + print "
"; +} + +?> +
+

+ +"/>

+
+Execute($sql); + } + else + { + print "

" . T_("Set an outcome for this call") . "

"; + + ?> +
+ GetAll($sql), "set_outcome_id", "set_outcome_id",true,false,false); + ?> +

"/>

+
+ qstr($_GET['note']); + + $sql = "INSERT INTO `case_note` (case_note_id,case_id,operator_id,note,datetime) + VALUES (NULL,'$case_id','$operator_id',$note,CONVERT_TZ(NOW(),'System','UTC'))"; + $db->Execute($sql); + } + + if (isset($_GET['outcome_id'])) + { + $outcome_id = bigintval($_GET['outcome_id']); + + $sql = "UPDATE `case` + SET current_outcome_id = $outcome_id + WHERE case_id = '$case_id'"; + + $db->Execute($sql); + } + + + $sql = "SELECT o.description,o.outcome_id, q.description as qd, si.description as sd + FROM `case` as c, `outcome` as o, questionnaire as q, sample as s, sample_import as si + WHERE c.case_id = '$case_id' + AND q.questionnaire_id = c.questionnaire_id + AND s.sample_id = c.sample_id + AND si.sample_import_id = s.import_id + AND c.current_outcome_id = o.outcome_id"; + + $rs = $db->GetRow($sql); + + if (!empty($rs)) + { + print "

" . T_("Project") . ": {$rs['qd']}

"; + print "

" . T_("Sample") . ": {$rs['sd']}

"; + + print "

". T_("Current outcome:") ." {$rs['description']}

"; + + $current_outcome_id = $rs['outcome_id']; + + //view calls and outcomes + $sql = "SELECT DATE_FORMAT(CONVERT_TZ(c.start,'UTC',r.Time_zone_name),'".DATE_TIME_FORMAT."') as start,CONVERT_TZ(c.end,'UTC',r.Time_zone_name) as end, op.firstName, op.lastName, o.description as des, CONCAT('". T_("Edit") . "') as link, cp.phone as phone + FROM `call` as c + JOIN (operator as op, outcome as o, respondent as r, contact_phone as cp) on (c.operator_id = op.operator_id and c.outcome_id = o.outcome_id and r.respondent_id = c.respondent_id and cp.contact_phone_id = c.contact_phone_id) + WHERE c.case_id = '$case_id' + ORDER BY c.start DESC"; + + $rs = $db->GetAll($sql); + + print "

" . T_("Call list")."

"; + if (empty($rs)) + print "

" . T_("No calls made") . "

"; + else + xhtml_table($rs,array("start","des","phone","link","firstName"),array(T_("Date/Time"),T_("Outcome"),T_("Phone number"),T_("Change outcome"),T_("Operator"))); + + + //view notes + $sql = "SELECT DATE_FORMAT(CONVERT_TZ(c.datetime,'UTC',op.Time_zone_name),'".DATE_TIME_FORMAT."') as time, op.firstName, op.lastName, c.note as note + FROM `case_note` as c + JOIN (operator as op) on (c.operator_id = op.operator_id) + WHERE c.case_id = '$case_id' + ORDER BY c.datetime DESC"; + + + $rs = $db->GetAll($sql); + + print "

" . T_("Case notes")."

"; + + if (empty($rs)) + print "

" . T_("No notes") . "

"; + else + xhtml_table($rs,array("time","firstName","note"),array(T_("Date/Time"),T_("Operator"),T_("Note"))); + + + //add a note + ?> +
+

+ "/> +

+
+ " . T_("Set a case outcome") . ""; + + ?> +
+ GetAll($sql), "outcome_id", "outcome_id",true,false,false); + + ?> +

"/>

+
+ " . T_("Case does not exist") . ""; + } +} +xhtml_foot(); + + +?> diff --git a/client/css/table.css b/client/css/table.css new file mode 100644 index 00000000..cf86e2a9 --- /dev/null +++ b/client/css/table.css @@ -0,0 +1,13 @@ +tr.odd { + background-color: #eeeeee; +} +.tclass th { + text-align:left; + border: 1px solid #aaa; +} +.tclass td { + border: 1px solid #aaa; +} +.highlight { + background-color: #cccccc; +} diff --git a/client/index.php b/client/index.php new file mode 100644 index 00000000..79d2e363 --- /dev/null +++ b/client/index.php @@ -0,0 +1,127 @@ + + * @copyright Deakin University 2007,2008 + * @package queXS + * @subpackage client + * @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_once(dirname(__FILE__).'/../config.inc.php'); + +/** + * Database file + */ +include_once(dirname(__FILE__).'/../db.inc.php'); + +/** + * XHTML functions + */ +include ("../functions/functions.xhtml.php"); + +/** + * AAPOR calculation functions + */ +include ("../functions/functions.aapor.php"); + +/** + * Client functions + */ +include ("../functions/functions.client.php"); + + +$client_id = get_client_id(); + +xhtml_head(T_("Questionnaire Outcomes"),true,array("css/table.css")); + +if ($client_id) +{ + $sql = "SELECT q.questionnaire_id,q.description + FROM questionnaire as q, client_questionnaire as cq + WHERE cq.questionnaire_id = q.questionnaire_id + AND cq.client_id = '$client_id'"; + + $qs = $db->GetAll($sql); + + if (empty($qs)) + print "

" . T_("There are no questionnaires assigned to you") . "

"; + else + { + foreach($qs as $q) + { + print "

{$q['description']}

"; + + $questionnaire_id = $q['questionnaire_id']; + + $sql = "SELECT o.calc, count( c.case_id ) + FROM `case` AS c, `outcome` AS o + WHERE c.questionnaire_id = '$questionnaire_id' + AND c.current_outcome_id = o.outcome_id + GROUP BY o.calc"; + + $a = $db->GetAssoc($sql); + $a = aapor_clean($a); + + + print ""; + print ""; + print ""; + print ""; + print ""; + print "
" . T_("Outcome") . "" . T_("Rate") . "
" . T_("Response Rate 1") . "" . round(aapor_rr1($a),2) . "
" . T_("Refusal Rate 1") . "" . round(aapor_ref1($a),2) . "
" . T_("Cooperation Rate 1") . "" . round(aapor_coop1($a),2) . "
" . T_("Contact Rate 1") . "" . round(aapor_con1($a),2) . "
"; + + + $sql = "SELECT o.description as des, o.outcome_id, count( c.case_id ) as count + FROM `case` AS c, `outcome` AS o + WHERE c.questionnaire_id = '$questionnaire_id' + AND c.current_outcome_id = o.outcome_id + GROUP BY o.outcome_id"; + + $rs = $db->GetAll($sql); + + if (!empty($rs)) + xhtml_table($rs,array("des","count"),array(T_("Outcome"),T_("Count")),"tclass",array("des" => "Complete")); + else + print "

" . T_("No outcomes recorded for this questionnaire") . "

"; + + } + + } + + + +} +else + print "

" . T_("You are not a valid client") . "

"; + + + +xhtml_foot(); + +?> + diff --git a/css/admin.css b/css/admin.css new file mode 100644 index 00000000..cd4c728c --- /dev/null +++ b/css/admin.css @@ -0,0 +1,24 @@ +#menu { + position : fixed; + width : 20%; + height : 100%; + top : 0; + right : 0; + bottom : auto; + left : 0; + /*border-bottom: 1px solid #aaa;*/ +} +#main { + position : fixed; + top : 0; + left : 20%; + bottom : auto; + width : 80%; + height : 100%; +} +.embeddedobject { + width:100%; + height:100%; + position:absolute; +} + diff --git a/css/call.css b/css/call.css new file mode 100644 index 00000000..4e07ee9a --- /dev/null +++ b/css/call.css @@ -0,0 +1,29 @@ +.label { + width:80%; +} +.radio { + float:right; +} +.status { + text-align:center; +} +.tclass th { + text-align:left; + border: 1px solid #aaa; +} +.tclass td { + border: 1px solid #aaa; +} +.labelclass{ + width:20%; +} +.textclass { + width:70%; + height:80%; +} +.submitclass{ + width:20%; +} +.addresp{ + font-style:italic; +} diff --git a/css/casenote.css b/css/casenote.css new file mode 100644 index 00000000..96c89cdc --- /dev/null +++ b/css/casenote.css @@ -0,0 +1,8 @@ +.textclass { + width:70%; + height:80%; +} +.submitclass{ + width:20%; +} + diff --git a/css/display.css b/css/display.css new file mode 100644 index 00000000..cb2841c0 --- /dev/null +++ b/css/display.css @@ -0,0 +1,4 @@ +h1 {font-family: Arial, sans-serif; font-size: 400%; text-align: center;} +h2 {font-family: Arial, sans-serif; font-size: 1100%; text-align: center;} +h3 {font-family: Arial, sans-serif; font-size: 150%; text-align: center;} +p {font-family: Arial, sans-serif; font-size: 100%;} diff --git a/css/index.css b/css/index.css new file mode 100644 index 00000000..8cf8e315 --- /dev/null +++ b/css/index.css @@ -0,0 +1,82 @@ +.box { + margin: 8px; +} +.online { + background: #00FF00; +} +.offline { + background: #FF0000; +} +a { + padding: 3px 0.5em; + margin-left: 3px; + border: 1px solid #778; + background: #DDE; + text-decoration: none; + color: black; +} +a:active { + border: 4px inset; +} + +#respondent { + position : fixed; + width : 20%; + height : 30%; + top : 0; + right : 0; + bottom : auto; + left : 0; +} + +#header { + position : fixed; + width : 20%; + height : 30%; + top : 0; + right : 0; + bottom : auto; + left : 0; + /*border-bottom: 1px solid #aaa;*/ +} +#calllist { + position : fixed; + width : 60%; + height : 30%; + top : 0; + right : 0; + bottom : auto; +} +#qstatus { + position : fixed; + width : 10%; + height : 30%; + top : 0; + right : 0; + left: 30%; + bottom : auto; + /*border: 1px solid #aaa;*/ +} +#casefunctions { + position : fixed; + width : 10%; + height : 30%; + top : 0; + right : 0; + left: 20%; + bottom : auto; +} +#content { + position : fixed; + top : 30%; + left : 0; + bottom : auto; + width : 100%; + height : 70%; +} +.embeddedobject { + width:100%; + height:100%; + position:absolute; +} + diff --git a/css/respondent.css b/css/respondent.css new file mode 100644 index 00000000..25e6511e --- /dev/null +++ b/css/respondent.css @@ -0,0 +1,16 @@ +#details { + display: none; +} +.labelclass{ + width:20%; +} +.textclass { + width:70%; + height:80%; +} +.submitclass{ + width:20%; +} +.addresp{ + font-style:italic; +} diff --git a/css/rs.css b/css/rs.css new file mode 100644 index 00000000..5d686fe2 --- /dev/null +++ b/css/rs.css @@ -0,0 +1,6 @@ +body {background-color: #eeeeee;} +p.rstext { + font-weight: bold; + font-size: 16pt; + font-family: Arial, sans-serif; +} diff --git a/css/status.css b/css/status.css new file mode 100644 index 00000000..e5532599 --- /dev/null +++ b/css/status.css @@ -0,0 +1,22 @@ +.statusbutton { + padding: 1px 1px; + margin: 1px; + border: 1px solid #778; + text-decoration: none; + color: black; + text-align: center; + float: left; +} +.online { + background: #00FF00; +} +.offline { + background: #FF0000; +} +.tobecoded { + background: orange; +} +.text { + float: left; +} + diff --git a/css/tabber.css b/css/tabber.css new file mode 100644 index 00000000..1ddc0723 --- /dev/null +++ b/css/tabber.css @@ -0,0 +1,105 @@ +/* $Id: example.css,v 1.5 2006/03/27 02:44:36 pat Exp $ */ + +/*-------------------------------------------------- + REQUIRED to hide the non-active tab content. + But do not hide them in the print stylesheet! + --------------------------------------------------*/ +.tabberlive .tabbertabhide { + display:none; +} + +/*-------------------------------------------------- + .tabber = before the tabber interface is set up + .tabberlive = after the tabber interface is set up + --------------------------------------------------*/ +.tabber { +} +.tabberlive { + /*margin-top:1em;*/ +} + +/*-------------------------------------------------- + ul.tabbernav = the tab navigation list + li.tabberactive = the active tab + --------------------------------------------------*/ +ul.tabbernav +{ + margin:0; + padding: 3px 0; + border-bottom: 1px solid #778; + font: bold 12px Verdana, sans-serif; +} + +ul.tabbernav li +{ + list-style: none; + margin: 0; + display: inline; +} + +ul.tabbernav li a +{ + padding: 3px 0.5em; + margin-left: 3px; + border: 1px solid #778; + border-bottom: none; + background: #DDE; + text-decoration: none; +} + +ul.tabbernav li a:link { color: #448; } +ul.tabbernav li a:visited { color: #667; } + +ul.tabbernav li a:hover +{ + color: #000; + background: #AAE; + border-color: #227; +} + +ul.tabbernav li.tabberactive a +{ + background-color: #fff; + border-bottom: 1px solid #fff; + +} + +ul.tabbernav li.tabberactive a:hover +{ + color: #000; + background: white; + border-bottom: 1px solid white; +} + +/*-------------------------------------------------- + .tabbertab = the tab content + Add style only after the tabber interface is set up (.tabberlive) + --------------------------------------------------*/ +.tabberlive .tabbertab { + position:absolute; + border:1px solid #aaa; + border-top:0; + top: 1.25em; + left: 0; + right: 0; + bottom: 0; + overflow:auto; +} + +/* If desired, hide the heading since a heading is provided by the tab */ +.tabberlive .tabbertab h2 { + display:none; +} +.tabberlive .tabbertab h3 { + display:none; +} + +/* Example of using an ID to set different styles for the tabs on the page*/ +.tabberlive#tab1 { +} +.tabberlive#tab2 { +} +.tabberlive#tab2 .tabbertab { + height:100%; + overflow:auto; +} diff --git a/css/table.css b/css/table.css new file mode 100644 index 00000000..cf86e2a9 --- /dev/null +++ b/css/table.css @@ -0,0 +1,13 @@ +tr.odd { + background-color: #eeeeee; +} +.tclass th { + text-align:left; + border: 1px solid #aaa; +} +.tclass td { + border: 1px solid #aaa; +} +.highlight { + background-color: #cccccc; +} diff --git a/database/quexs.sql b/database/quexs.sql new file mode 100644 index 00000000..b51c6176 --- /dev/null +++ b/database/quexs.sql @@ -0,0 +1,4106 @@ +-- phpMyAdmin SQL Dump +-- version 2.11.2.2 +-- http://www.phpmyadmin.net +-- +-- Host: databasedev.dcarf +-- Generation Time: Jul 24, 2008 at 11:07 AM +-- Server version: 5.0.32 +-- PHP Version: 5.2.0-8+etch11 + +SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; + +-- +-- Database: `quexs` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `appointment` +-- + +CREATE TABLE `appointment` ( + `appointment_id` bigint(20) NOT NULL auto_increment, + `case_id` bigint(20) NOT NULL, + `contact_phone_id` bigint(20) NOT NULL, + `call_attempt_id` bigint(20) NOT NULL, + `start` datetime NOT NULL, + `end` datetime NOT NULL, + `require_operator_id` bigint(20) default NULL, + `respondent_id` bigint(20) NOT NULL, + `completed_call_id` bigint(20) default NULL, + PRIMARY KEY (`appointment_id`), + KEY `completed_call_id` (`completed_call_id`), + KEY `call_attempt_id` (`call_attempt_id`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `appointment` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `call` +-- + +CREATE TABLE `call` ( + `call_id` bigint(20) NOT NULL auto_increment, + `operator_id` bigint(20) NOT NULL, + `respondent_id` bigint(20) NOT NULL, + `case_id` bigint(20) NOT NULL, + `contact_phone_id` bigint(20) NOT NULL, + `call_attempt_id` bigint(20) NOT NULL, + `start` datetime NOT NULL, + `end` datetime default NULL, + `outcome_id` int(11) NOT NULL default '0', + `state` tinyint(1) NOT NULL default '0' COMMENT '0 not called, 1 requesting call, 2 ringing, 3 answered, 4 requires coding, 5 done', + PRIMARY KEY (`call_id`), + KEY `operator_id` (`operator_id`), + KEY `case_id` (`case_id`), + KEY `call_attempt_id` (`call_attempt_id`), + KEY `contact_phone_id` (`contact_phone_id`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `call` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `call_attempt` +-- + +CREATE TABLE `call_attempt` ( + `call_attempt_id` bigint(20) NOT NULL auto_increment, + `case_id` bigint(20) NOT NULL, + `operator_id` bigint(20) NOT NULL, + `respondent_id` bigint(20) NOT NULL, + `start` datetime NOT NULL, + `end` datetime default NULL, + PRIMARY KEY (`call_attempt_id`), + KEY `case_id` (`case_id`), + KEY `end` (`end`), + KEY `respondent_id` (`respondent_id`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `call_attempt` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `call_note` +-- + +CREATE TABLE `call_note` ( + `call_note_id` bigint(20) NOT NULL auto_increment, + `call_id` bigint(20) NOT NULL, + `operator_id` bigint(20) NOT NULL, + `note` text NOT NULL, + `datetime` datetime NOT NULL, + PRIMARY KEY (`call_note_id`), + KEY `call_id` (`call_id`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `call_note` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `call_restrict` +-- + +CREATE TABLE `call_restrict` ( + `day_of_week` tinyint(1) NOT NULL, + `start` time NOT NULL, + `end` time NOT NULL, + KEY `day_of_week` (`day_of_week`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `call_restrict` +-- + +INSERT INTO `call_restrict` VALUES(1, '09:00:00', '17:00:00'); +INSERT INTO `call_restrict` VALUES(2, '09:00:00', '20:30:00'); +INSERT INTO `call_restrict` VALUES(3, '09:00:00', '20:30:00'); +INSERT INTO `call_restrict` VALUES(4, '09:00:00', '20:30:00'); +INSERT INTO `call_restrict` VALUES(5, '09:00:00', '20:30:00'); +INSERT INTO `call_restrict` VALUES(6, '09:00:00', '20:30:00'); +INSERT INTO `call_restrict` VALUES(7, '09:00:00', '17:00:00'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `call_state` +-- + +CREATE TABLE `call_state` ( + `call_state_id` tinyint(1) NOT NULL, + `description` varchar(255) NOT NULL, + PRIMARY KEY (`call_state_id`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `call_state` +-- + +INSERT INTO `call_state` VALUES(0, 'Not called'); +INSERT INTO `call_state` VALUES(1, 'Requesting call'); +INSERT INTO `call_state` VALUES(2, 'Ringing'); +INSERT INTO `call_state` VALUES(3, 'Answered'); +INSERT INTO `call_state` VALUES(4, 'Requires coding'); +INSERT INTO `call_state` VALUES(5, 'Done'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `case` +-- + +CREATE TABLE `case` ( + `case_id` bigint(20) NOT NULL auto_increment, + `sample_id` bigint(20) NOT NULL, + `questionnaire_id` bigint(20) NOT NULL, + `last_call_id` bigint(20) default NULL, + `current_operator_id` bigint(20) default NULL, + `current_call_id` bigint(20) default NULL, + `current_outcome_id` int(11) NOT NULL default '1', + PRIMARY KEY (`case_id`), + UNIQUE KEY `onecasepersample` (`sample_id`,`questionnaire_id`), + UNIQUE KEY `current_operator_id` (`current_operator_id`), + UNIQUE KEY `current_call_id` (`current_call_id`), + KEY `sample_id` (`sample_id`), + KEY `questionnaire_id` (`questionnaire_id`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + + +-- +-- Dumping data for table `case` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `case_note` +-- + +CREATE TABLE `case_note` ( + `case_note_id` bigint(20) NOT NULL auto_increment, + `case_id` bigint(20) NOT NULL, + `operator_id` bigint(20) NOT NULL, + `note` text NOT NULL, + `datetime` datetime NOT NULL, + PRIMARY KEY (`case_note_id`), + KEY `case_id` (`case_id`), + KEY `operator_id` (`operator_id`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `case_note` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `client` +-- + +CREATE TABLE `client` ( + `client_id` bigint(20) NOT NULL auto_increment, + `username` varchar(255) NOT NULL, + `firstName` varchar(255) NOT NULL, + `lastName` varchar(255) NOT NULL, + `Time_zone_name` char(64) NOT NULL, + PRIMARY KEY (`client_id`), + UNIQUE KEY `username` (`username`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `client` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `client_questionnaire` +-- + +CREATE TABLE `client_questionnaire` ( + `client_id` bigint(20) NOT NULL, + `questionnaire_id` bigint(20) NOT NULL, + PRIMARY KEY (`client_id`,`questionnaire_id`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `client_questionnaire` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `contact_phone` +-- + +CREATE TABLE `contact_phone` ( + `contact_phone_id` bigint(20) NOT NULL auto_increment, + `case_id` bigint(20) NOT NULL, + `priority` tinyint(1) NOT NULL default '1', + `phone` bigint(20) NOT NULL, + `description` varchar(255) NOT NULL, + PRIMARY KEY (`contact_phone_id`), + KEY `case_id` (`case_id`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `contact_phone` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `operator` +-- + +CREATE TABLE `operator` ( + `operator_id` bigint(20) NOT NULL auto_increment, + `username` varchar(255) NOT NULL, + `firstName` varchar(255) NOT NULL, + `lastName` varchar(255) NOT NULL, + `extension` varchar(10) NOT NULL, + `Time_zone_name` char(64) NOT NULL, + `enabled` tinyint(1) NOT NULL default '1', + PRIMARY KEY (`operator_id`), + UNIQUE KEY `username` (`username`), + UNIQUE KEY `extension` (`extension`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `operator` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `operator_questionnaire` +-- + +CREATE TABLE `operator_questionnaire` ( + `operator_id` bigint(20) NOT NULL, + `questionnaire_id` bigint(20) NOT NULL, + PRIMARY KEY (`operator_id`,`questionnaire_id`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `operator_questionnaire` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `operator_skill` +-- + +CREATE TABLE `operator_skill` ( + `operator_id` bigint(20) NOT NULL, + `outcome_type_id` int(11) NOT NULL, + PRIMARY KEY (`operator_id`,`outcome_type_id`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `operator_skill` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `outcome` +-- + +CREATE TABLE `outcome` ( + `outcome_id` int(11) NOT NULL auto_increment, + `aapor_id` char(6) NOT NULL, + `description` varchar(255) NOT NULL, + `default_delay_minutes` bigint(20) NOT NULL, + `outcome_type_id` int(11) NOT NULL default '1', + `tryanother` tinyint(1) NOT NULL default '1' COMMENT 'Whether to try the next number on the list', + `contacted` tinyint(1) NOT NULL default '1' COMMENT 'Whether a person was contacted', + `tryagain` tinyint(1) NOT NULL default '1' COMMENT 'Whether to try this number ever again', + `eligible` tinyint(1) NOT NULL default '1' COMMENT 'If the respondent is eligible to participate', + `require_note` tinyint(1) NOT NULL default '0' COMMENT 'Whether to require a note to be entered', + `calc` char(2) NOT NULL, + PRIMARY KEY (`outcome_id`), + KEY `calc` (`calc`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `outcome` +-- + +INSERT INTO `outcome` VALUES(1, '3.11', 'Not attempted or worked', 0, 1, 1, 0, 1, 0, 0, 'UH'); +INSERT INTO `outcome` VALUES(2, '3.13', 'No answer', 180, 1, 1, 0, 1, 1, 0, 'UH'); +INSERT INTO `outcome` VALUES(3, '3.16', 'Technical phone problems', 180, 1, 1, 0, 1, 0, 0, 'UH'); +INSERT INTO `outcome` VALUES(4, '2.34', 'Other, Referred to Supervisor (Eligible)', 0, 2, 0, 1, 1, 1, 1, 'O'); +INSERT INTO `outcome` VALUES(5, '3.91', 'Other, Referred to Supervisor (Unknown eligibility)', 0, 2, 0, 0, 1, 0, 1, 'UO'); +INSERT INTO `outcome` VALUES(6, '2.111a', 'Soft Refusal, Other', 10080, 3, 0, 1, 1, 1, 1, 'R'); +INSERT INTO `outcome` VALUES(7, '2.111b', 'Hard Refusal, Other', 10080, 3, 0, 1, 1, 1, 1, 'R'); +INSERT INTO `outcome` VALUES(8, '2.112a', 'Soft Refusal, Respondent', 10080, 3, 0, 1, 1, 1, 1, 'R'); +INSERT INTO `outcome` VALUES(9, '2.112b', 'Hard Refusal, Respondent', 10080, 3, 0, 1, 1, 1, 1, 'R'); +INSERT INTO `outcome` VALUES(10, '1.1', 'Complete', 0, 4, 0, 1, 1, 1, 0, 'I'); +INSERT INTO `outcome` VALUES(11, '2.112', 'Known respondent refusal', 0, 4, 0, 1, 1, 1, 0, 'R'); +INSERT INTO `outcome` VALUES(12, '2.111', 'Household-level refusal', 0, 4, 0, 1, 1, 1, 0, 'R'); +INSERT INTO `outcome` VALUES(13, '2.112c', 'Broken appointment (Implicit refusal)', 10080, 3, 1, 0, 1, 1, 0, 'R'); +INSERT INTO `outcome` VALUES(14, '4.32', 'Disconnected number', 0, 4, 1, 0, 0, 0, 0, ''); +INSERT INTO `outcome` VALUES(15, '4.20', 'Fax/data line', 0, 4, 1, 1, 0, 0, 0, ''); +INSERT INTO `outcome` VALUES(16, '4.51', 'Business, government office, other organization', 0, 4, 1, 1, 0, 0, 0, ''); +INSERT INTO `outcome` VALUES(17, '4.70', 'No eligible respondent', 0, 4, 1, 1, 0, 0, 0, ''); +INSERT INTO `outcome` VALUES(18, '2.35a', 'Accidental hang up or temporary phone problem', 0, 1, 1, 1, 1, 1, 0, 'O'); +INSERT INTO `outcome` VALUES(19, '2.12a', 'Definite Appointment - Respondent', 0, 5, 0, 1, 1, 1, 0, 'R'); +INSERT INTO `outcome` VALUES(20, '2.12b', 'Definite Appointment - Other', 0, 5, 0, 1, 1, 1, 0, 'R'); +INSERT INTO `outcome` VALUES(21, '2.13a', 'Unspecified Appointment - Respondent', 0, 5, 0, 1, 1, 1, 0, 'R'); +INSERT INTO `outcome` VALUES(22, '2.13b', 'Unspecified Appointment - Other', 0, 5, 0, 1, 1, 1, 0, 'R'); +INSERT INTO `outcome` VALUES(23, '2.221', 'Household answering machine - Message left', 180, 1, 1, 1, 1, 1, 0, 'NC'); +INSERT INTO `outcome` VALUES(24, '2.222', 'Household answering machine - No message left', 180, 1, 1, 1, 1, 1, 0, 'NC'); +INSERT INTO `outcome` VALUES(25, '2.31', 'Respondent Dead', 0, 4, 0, 1, 0, 1, 0, 'O'); +INSERT INTO `outcome` VALUES(26, '2.32', 'Physically or mentally unable/incompetent', 0, 4, 0, 1, 0, 1, 0, 'O'); +INSERT INTO `outcome` VALUES(27, '2.331', 'Household level language problem', 0, 4, 1, 1, 0, 1, 0, 'O'); +INSERT INTO `outcome` VALUES(28, '2.332', 'Respondent language problem', 0, 4, 0, 1, 0, 1, 0, 'O'); +INSERT INTO `outcome` VALUES(29, '3.14', 'Answering machine - Not a household', 0, 4, 1, 1, 0, 0, 0, 'UH'); +INSERT INTO `outcome` VALUES(30, '4.10', 'Out of sample', 0, 4, 0, 1, 0, 0, 0, ''); +INSERT INTO `outcome` VALUES(31, '2.20', 'Non contact', 180, 1, 1, 1, 1, 1, 0, 'NC'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `outcome_type` +-- + +CREATE TABLE `outcome_type` ( + `outcome_type_id` int(11) NOT NULL, + `description` varchar(255) NOT NULL, + PRIMARY KEY (`outcome_type_id`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `outcome_type` +-- + +INSERT INTO `outcome_type` VALUES(1, 'Temporary Outcomes (normal cases)'); +INSERT INTO `outcome_type` VALUES(2, 'Supervisor Outcomes (referred to supervisor)'); +INSERT INTO `outcome_type` VALUES(3, 'Refusal Outcomes (respondent refused)'); +INSERT INTO `outcome_type` VALUES(4, 'Final Outcomes (completed, final refusal, etc)'); +INSERT INTO `outcome_type` VALUES(5, 'Appointments'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `questionnaire` +-- + +CREATE TABLE `questionnaire` ( + `questionnaire_id` bigint(20) NOT NULL auto_increment, + `description` varchar(255) NOT NULL, + `lime_sid` int(11) NOT NULL, + `restrict_appointments_shifts` tinyint(1) NOT NULL default '1', + `restrict_work_shifts` tinyint(1) NOT NULL default '1', + `testing` tinyint(1) NOT NULL default '0' COMMENT 'Whether this questionnaire is just for testing', + `respondent_selection` tinyint(1) NOT NULL default '1', + `rs_intro` varchar(1024) NOT NULL, + `rs_project_intro` varchar(1024) NOT NULL, + `rs_project_end` varchar(1024) NOT NULL, + `rs_callback` varchar(1024) NOT NULL, + `rs_answeringmachine` varchar(1024) NOT NULL, + PRIMARY KEY (`questionnaire_id`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `questionnaire` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `questionnaire_prefill` +-- + +CREATE TABLE `questionnaire_prefill` ( + `questionnaire_prefill_id` bigint(20) NOT NULL auto_increment, + `questionnaire_id` bigint(20) NOT NULL, + `lime_sgqa` varchar(255) collate utf8_unicode_ci NOT NULL, + `value` varchar(2048) collate utf8_unicode_ci NOT NULL, + PRIMARY KEY (`questionnaire_prefill_id`), + KEY `questionnaire_id` (`questionnaire_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- Table structure for table `questionnaire_sample` +-- + +CREATE TABLE `questionnaire_sample` ( + `questionnaire_id` bigint(20) NOT NULL, + `sample_import_id` bigint(20) NOT NULL, + `call_max` int(11) NOT NULL default '0', + `call_attempt_max` int(11) NOT NULL default '0', + `random_select` tinyint(1) NOT NULL default '0', + `answering_machine_messages` int(11) NOT NULL default '1', + PRIMARY KEY (`questionnaire_id`,`sample_import_id`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `questionnaire_sample` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `respondent` +-- + +CREATE TABLE `respondent` ( + `respondent_id` bigint(20) NOT NULL auto_increment, + `case_id` bigint(20) NOT NULL, + `firstName` varchar(255) NOT NULL, + `lastName` varchar(255) NOT NULL, + `Time_zone_name` char(64) NOT NULL, + PRIMARY KEY (`respondent_id`), + KEY `case_id` (`case_id`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `respondent` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `respondent_not_available` +-- + +CREATE TABLE `respondent_not_available` ( + `respondent_not_available_id` bigint(20) NOT NULL auto_increment, + `respondent_id` bigint(20) NOT NULL, + `start` datetime NOT NULL, + `end` datetime NOT NULL, + PRIMARY KEY (`respondent_not_available_id`), + KEY `respondent_id` (`respondent_id`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `respondent_not_available` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sample` +-- + +CREATE TABLE `sample` ( + `sample_id` bigint(20) NOT NULL auto_increment, + `import_id` bigint(20) NOT NULL, + `Time_zone_name` char(64) NOT NULL, + `phone` char(30) NOT NULL, + PRIMARY KEY (`sample_id`), + KEY `import_id` (`import_id`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `sample` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sample_import` +-- + +CREATE TABLE `sample_import` ( + `sample_import_id` bigint(20) NOT NULL auto_increment, + `description` varchar(255) NOT NULL, + `call_restrict` tinyint(1) NOT NULL default '1', + `refusal_conversion` tinyint(1) NOT NULL default '1', + PRIMARY KEY (`sample_import_id`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `sample_import` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sample_postcode_timezone` +-- + +CREATE TABLE `sample_postcode_timezone` ( + `val` int(4) NOT NULL, + `Time_zone_name` char(64) NOT NULL, + PRIMARY KEY (`val`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `sample_postcode_timezone` +-- + +INSERT INTO `sample_postcode_timezone` VALUES(200, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(221, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(800, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(801, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(804, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(810, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(811, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(812, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(813, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(814, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(815, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(820, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(821, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(822, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(828, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(829, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(830, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(831, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(832, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(835, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(836, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(837, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(838, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(840, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(841, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(845, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(846, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(847, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(850, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(851, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(852, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(853, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(854, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(860, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(861, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(862, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(870, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(871, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(872, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(880, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(881, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(885, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(886, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(906, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(907, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(909, 'Australia/Darwin'); +INSERT INTO `sample_postcode_timezone` VALUES(1001, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1002, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1003, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1004, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1005, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1006, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1007, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1008, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1009, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1010, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1011, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1020, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1021, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1022, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1023, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1025, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1026, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1027, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1028, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1029, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1030, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1031, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1032, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1033, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1034, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1035, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1036, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1037, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1038, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1039, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1040, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1041, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1042, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1043, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1044, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1045, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1046, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1100, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1101, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1105, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1106, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1107, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1108, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1109, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1110, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1112, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1113, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1114, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1115, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1116, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1117, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1118, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1119, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1120, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1121, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1122, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1123, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1124, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1125, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1126, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1127, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1128, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1129, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1130, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1131, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1132, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1133, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1134, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1135, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1136, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1137, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1138, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1139, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1140, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1141, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1142, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1143, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1144, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1145, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1146, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1147, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1148, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1149, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1150, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1151, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1152, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1153, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1154, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1155, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1156, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1157, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1158, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1159, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1160, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1161, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1162, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1163, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1164, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1165, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1166, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1167, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1168, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1169, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1170, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1171, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1172, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1173, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1174, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1175, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1176, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1177, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1178, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1179, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1180, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1181, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1182, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1183, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1184, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1185, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1186, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1187, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1188, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1189, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1190, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1191, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1192, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1193, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1194, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1195, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1196, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1197, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1198, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1199, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1200, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1201, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1202, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1203, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1204, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1205, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1206, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1207, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1208, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1209, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1210, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1211, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1212, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1213, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1214, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1215, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1216, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1217, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1218, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1219, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1220, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1221, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1222, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1223, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1224, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1225, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1226, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1227, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1228, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1229, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1230, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1231, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1232, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1233, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1234, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1235, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1236, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1237, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1238, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1239, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1240, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1291, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1292, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1293, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1294, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1295, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1296, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1297, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1298, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1299, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1300, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1311, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1312, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1313, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1314, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1315, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1316, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1317, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1318, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1319, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1320, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1321, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1322, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1323, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1324, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1325, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1326, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1327, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1328, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1329, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1330, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1331, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1332, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1333, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1334, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1335, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1340, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1350, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1355, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1360, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1391, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1401, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1416, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1419, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1420, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1422, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1423, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1424, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1425, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1426, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1427, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1428, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1429, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1430, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1435, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1440, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1441, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1445, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1450, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1455, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1460, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1465, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1466, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1470, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1475, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1476, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1480, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1481, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1484, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1485, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1487, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1490, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1493, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1495, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1499, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1515, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1560, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1565, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1570, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1582, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1585, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1590, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1595, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1597, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1602, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1608, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1610, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1611, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1630, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1635, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1639, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1640, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1655, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1658, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1660, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1670, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1675, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1680, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1685, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1690, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1691, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1692, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1693, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1694, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1695, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1696, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1697, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1698, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1699, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1700, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1701, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1710, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1712, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1715, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1730, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1740, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1741, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1750, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1755, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1765, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1771, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1781, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1790, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1797, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1800, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1805, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1811, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1816, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1819, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1825, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1826, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1830, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1831, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1835, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1848, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1851, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1860, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1871, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1875, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1885, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1888, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1890, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1891, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1900, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(1902, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2000, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2001, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2002, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2004, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2006, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2007, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2008, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2009, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2010, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2011, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2012, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2013, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2015, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2016, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2017, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2018, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2019, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2020, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2021, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2022, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2023, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2024, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2025, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2026, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2027, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2028, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2029, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2030, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2031, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2032, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2033, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2034, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2035, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2036, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2037, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2038, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2039, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2040, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2041, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2042, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2043, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2044, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2045, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2046, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2047, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2048, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2049, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2050, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2052, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2055, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2057, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2058, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2059, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2060, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2061, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2062, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2063, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2064, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2065, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2066, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2067, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2068, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2069, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2070, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2071, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2072, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2073, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2074, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2075, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2076, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2077, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2079, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2080, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2081, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2082, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2083, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2084, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2085, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2086, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2087, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2088, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2089, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2090, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2091, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2092, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2093, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2094, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2095, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2096, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2097, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2099, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2100, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2101, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2102, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2103, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2104, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2105, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2106, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2107, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2108, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2109, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2110, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2111, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2112, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2113, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2114, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2115, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2116, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2117, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2118, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2119, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2120, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2121, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2122, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2123, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2124, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2125, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2126, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2127, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2128, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2129, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2130, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2131, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2132, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2133, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2134, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2135, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2136, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2137, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2138, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2139, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2140, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2141, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2142, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2143, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2144, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2145, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2146, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2147, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2148, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2150, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2151, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2152, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2153, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2154, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2155, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2156, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2157, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2158, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2159, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2160, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2161, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2162, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2163, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2164, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2165, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2166, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2167, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2168, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2170, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2171, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2172, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2173, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2174, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2175, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2176, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2177, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2178, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2179, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2190, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2191, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2192, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2193, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2194, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2195, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2196, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2197, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2198, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2199, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2200, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2203, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2204, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2205, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2206, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2207, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2208, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2209, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2210, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2211, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2212, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2213, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2214, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2216, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2217, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2218, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2219, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2220, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2221, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2222, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2223, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2224, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2225, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2226, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2227, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2228, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2229, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2230, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2231, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2232, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2233, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2234, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2250, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2251, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2252, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2256, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2257, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2258, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2259, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2260, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2261, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2262, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2263, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2264, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2265, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2267, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2278, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2280, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2281, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2282, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2283, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2284, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2285, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2286, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2287, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2289, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2290, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2291, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2292, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2293, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2294, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2295, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2296, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2297, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2298, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2299, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2300, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2302, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2303, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2304, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2305, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2306, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2307, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2308, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2309, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2310, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2311, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2312, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2314, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2315, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2316, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2317, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2318, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2319, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2320, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2321, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2322, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2323, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2324, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2325, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2326, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2327, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2328, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2329, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2330, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2331, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2333, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2334, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2335, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2336, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2337, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2338, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2339, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2340, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2341, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2342, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2343, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2344, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2345, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2346, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2347, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2348, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2350, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2351, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2352, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2353, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2354, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2355, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2356, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2357, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2358, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2359, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2360, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2361, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2365, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2369, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2370, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2371, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2372, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2379, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2380, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2381, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2382, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2386, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2387, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2388, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2390, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2395, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2396, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2397, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2398, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2399, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2400, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2401, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2402, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2403, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2404, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2405, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2406, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2408, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2409, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2410, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2411, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2415, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2420, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2421, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2422, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2423, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2424, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2425, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2426, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2427, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2428, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2429, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2430, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2431, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2439, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2440, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2441, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2442, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2443, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2444, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2445, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2446, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2447, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2448, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2449, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2450, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2452, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2453, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2454, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2455, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2456, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2460, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2462, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2463, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2464, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2465, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2466, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2469, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2470, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2471, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2472, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2473, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2474, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2475, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2476, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2477, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2478, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2479, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2480, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2481, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2482, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2483, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2484, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2485, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2486, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2487, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2488, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2489, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2490, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2500, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2502, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2505, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2506, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2508, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2515, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2516, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2517, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2518, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2519, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2520, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2522, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2525, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2526, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2527, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2528, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2529, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2530, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2533, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2534, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2535, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2536, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2537, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2538, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2539, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2540, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2541, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2545, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2546, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2548, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2549, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2550, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2551, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2555, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2556, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2557, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2558, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2559, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2560, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2563, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2564, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2565, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2566, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2567, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2568, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2569, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2570, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2571, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2572, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2573, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2574, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2575, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2576, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2577, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2578, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2579, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2580, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2581, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2582, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2583, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2584, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2585, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2586, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2587, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2588, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2590, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2594, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2600, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2601, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2602, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2603, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2604, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2605, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2606, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2607, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2608, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2609, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2610, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2611, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2612, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2614, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2615, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2616, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2617, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2618, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2619, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2620, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2621, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2622, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2623, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2624, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2625, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2626, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2627, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2628, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2629, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2630, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2631, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2632, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2633, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2640, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2641, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2642, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2643, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2644, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2645, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2646, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2647, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2648, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2649, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2650, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2651, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2652, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2653, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2655, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2656, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2658, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2659, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2660, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2661, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2663, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2665, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2666, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2668, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2669, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2671, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2672, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2675, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2678, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2680, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2681, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2700, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2701, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2702, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2703, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2705, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2706, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2707, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2708, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2710, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2711, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2712, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2713, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2714, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2715, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2716, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2717, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2720, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2721, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2722, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2725, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2726, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2727, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2729, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2730, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2731, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2732, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2733, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2734, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2735, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2736, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2737, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2738, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2739, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2745, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2747, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2748, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2749, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2750, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2751, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2752, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2753, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2754, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2755, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2756, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2757, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2758, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2759, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2760, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2761, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2762, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2763, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2765, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2766, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2767, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2768, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2769, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2770, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2773, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2774, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2775, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2776, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2777, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2778, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2779, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2780, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2782, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2783, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2784, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2785, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2786, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2787, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2790, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2791, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2792, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2793, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2794, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2795, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2796, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2797, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2798, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2799, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2800, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2803, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2804, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2805, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2806, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2807, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2808, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2809, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2810, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2820, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2821, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2823, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2824, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2825, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2827, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2828, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2829, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2830, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2831, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2832, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2833, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2834, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2835, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2836, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2839, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2840, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2842, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2843, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2844, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2845, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2846, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2847, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2848, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2849, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2850, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2852, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2864, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2865, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2866, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2867, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2868, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2869, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2870, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2871, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2873, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2874, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2875, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2876, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2877, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2878, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2879, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2880, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2890, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2891, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2898, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2899, 'Australia/Sydney'); +INSERT INTO `sample_postcode_timezone` VALUES(2900, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2901, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2902, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2903, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2904, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2905, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2906, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2911, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2912, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2913, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(2914, 'Australia/ACT'); +INSERT INTO `sample_postcode_timezone` VALUES(3000, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3001, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3002, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3003, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3004, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3005, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3006, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3008, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3010, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3011, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3012, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3013, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3015, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3016, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3018, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3019, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3020, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3021, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3022, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3023, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3024, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3025, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3026, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3027, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3028, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3029, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3030, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3031, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3032, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3033, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3034, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3036, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3037, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3038, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3039, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3040, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3041, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3042, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3043, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3044, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3045, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3046, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3047, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3048, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3049, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3050, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3051, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3052, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3053, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3054, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3055, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3056, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3057, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3058, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3059, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3060, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3061, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3062, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3063, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3064, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3065, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3066, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3067, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3068, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3070, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3071, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3072, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3073, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3074, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3075, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3076, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3078, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3079, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3081, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3082, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3083, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3084, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3085, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3086, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3087, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3088, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3089, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3090, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3091, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3093, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3094, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3095, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3096, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3097, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3099, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3101, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3102, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3103, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3104, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3105, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3106, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3107, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3108, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3109, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3110, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3111, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3113, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3114, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3115, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3116, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3121, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3122, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3123, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3124, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3125, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3126, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3127, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3128, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3129, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3130, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3131, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3132, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3133, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3134, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3135, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3136, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3137, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3138, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3139, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3140, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3141, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3142, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3143, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3144, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3145, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3146, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3147, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3148, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3149, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3150, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3151, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3152, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3153, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3154, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3155, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3156, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3158, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3159, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3160, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3161, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3162, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3163, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3164, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3165, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3166, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3167, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3168, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3169, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3170, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3171, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3172, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3173, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3174, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3175, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3176, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3177, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3178, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3179, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3180, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3181, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3182, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3183, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3184, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3185, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3186, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3187, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3188, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3189, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3190, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3191, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3192, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3193, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3194, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3195, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3196, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3197, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3198, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3199, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3200, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3201, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3202, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3204, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3205, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3206, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3207, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3211, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3212, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3214, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3215, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3216, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3217, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3218, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3219, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3220, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3221, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3222, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3223, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3224, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3225, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3226, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3227, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3228, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3230, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3231, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3232, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3233, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3235, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3236, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3237, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3238, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3239, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3240, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3241, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3242, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3243, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3249, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3250, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3251, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3254, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3260, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3264, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3265, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3266, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3267, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3268, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3269, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3270, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3271, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3272, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3273, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3274, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3275, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3276, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3277, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3278, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3279, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3280, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3281, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3282, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3283, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3284, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3285, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3286, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3287, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3289, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3292, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3293, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3294, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3300, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3301, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3302, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3303, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3304, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3305, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3309, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3310, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3311, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3312, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3314, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3315, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3317, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3318, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3319, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3321, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3322, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3323, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3324, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3325, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3328, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3329, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3330, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3331, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3332, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3333, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3334, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3335, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3337, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3338, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3340, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3341, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3342, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3345, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3350, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3351, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3352, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3353, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3354, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3355, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3356, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3357, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3360, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3361, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3363, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3364, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3370, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3371, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3373, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3375, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3377, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3378, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3379, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3380, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3381, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3384, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3385, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3387, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3388, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3390, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3391, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3392, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3393, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3395, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3396, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3400, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3401, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3402, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3407, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3409, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3412, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3413, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3414, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3415, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3418, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3419, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3420, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3423, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3424, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3427, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3428, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3429, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3430, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3431, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3432, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3433, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3434, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3435, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3437, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3438, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3440, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3441, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3442, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3444, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3446, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3447, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3448, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3450, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3451, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3453, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3458, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3460, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3461, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3462, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3463, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3464, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3465, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3467, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3468, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3469, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3472, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3475, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3478, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3480, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3482, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3483, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3485, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3487, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3488, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3489, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3490, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3491, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3494, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3496, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3498, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3500, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3501, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3502, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3505, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3506, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3507, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3509, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3512, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3515, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3516, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3517, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3518, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3520, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3521, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3522, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3523, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3525, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3527, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3529, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3530, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3531, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3533, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3537, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3540, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3542, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3544, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3546, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3549, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3550, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3551, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3552, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3554, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3555, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3556, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3557, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3558, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3559, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3561, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3562, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3563, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3564, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3565, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3566, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3567, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3568, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3570, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3571, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3572, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3573, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3575, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3576, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3579, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3580, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3581, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3583, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3584, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3585, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3586, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3588, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3589, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3590, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3591, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3594, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3595, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3596, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3597, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3599, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3607, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3608, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3610, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3612, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3614, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3616, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3617, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3618, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3619, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3620, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3621, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3622, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3623, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3624, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3629, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3630, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3631, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3632, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3633, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3634, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3635, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3636, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3637, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3638, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3639, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3640, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3641, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3643, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3644, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3646, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3647, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3649, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3658, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3659, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3660, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3661, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3662, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3663, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3664, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3665, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3666, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3669, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3670, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3671, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3672, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3673, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3675, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3676, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3677, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3678, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3682, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3683, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3685, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3687, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3688, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3689, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3690, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3691, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3694, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3695, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3697, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3698, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3699, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3700, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3701, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3704, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3705, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3707, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3708, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3709, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3711, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3712, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3713, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3714, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3715, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3717, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3718, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3719, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3720, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3722, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3723, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3724, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3725, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3726, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3727, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3728, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3730, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3732, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3733, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3735, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3736, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3737, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3738, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3739, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3740, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3741, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3744, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3746, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3747, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3749, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3750, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3751, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3752, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3753, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3754, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3755, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3756, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3757, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3758, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3759, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3760, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3761, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3762, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3763, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3764, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3765, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3766, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3767, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3770, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3775, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3777, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3778, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3779, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3781, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3782, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3783, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3785, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3786, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3787, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3788, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3789, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3791, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3792, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3793, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3795, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3796, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3797, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3799, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3800, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3802, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3803, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3804, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3805, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3806, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3807, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3808, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3809, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3810, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3812, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3813, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3814, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3815, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3816, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3818, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3820, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3821, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3822, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3823, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3824, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3825, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3831, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3832, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3833, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3835, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3840, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3841, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3842, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3844, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3847, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3850, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3851, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3852, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3853, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3854, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3856, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3857, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3858, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3859, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3860, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3862, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3864, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3865, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3869, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3870, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3871, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3873, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3874, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3875, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3878, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3880, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3882, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3885, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3886, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3887, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3888, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3889, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3890, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3891, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3892, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3893, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3895, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3896, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3898, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3900, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3902, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3903, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3904, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3909, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3910, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3911, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3912, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3913, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3915, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3916, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3918, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3919, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3920, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3921, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3922, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3923, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3925, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3926, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3927, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3928, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3929, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3930, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3931, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3933, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3934, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3936, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3937, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3938, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3939, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3940, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3941, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3942, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3943, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3944, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3945, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3946, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3950, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3951, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3953, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3954, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3956, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3957, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3958, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3959, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3960, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3962, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3964, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3965, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3966, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3967, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3971, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3975, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3976, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3977, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3978, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3979, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3980, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3981, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3984, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3987, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3988, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3990, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3991, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3992, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3995, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(3996, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(4000, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4001, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4002, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4003, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4004, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4005, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4006, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4007, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4008, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4009, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4010, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4011, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4012, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4013, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4014, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4017, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4018, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4019, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4020, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4021, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4022, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4025, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4029, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4030, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4031, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4032, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4034, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4035, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4036, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4037, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4051, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4053, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4054, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4055, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4059, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4060, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4061, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4064, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4065, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4066, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4067, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4068, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4069, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4070, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4072, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4073, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4074, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4075, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4076, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4077, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4078, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4101, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4102, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4103, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4104, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4105, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4106, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4107, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4108, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4109, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4110, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4111, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4112, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4113, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4114, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4115, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4116, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4117, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4118, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4119, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4120, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4121, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4122, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4123, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4124, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4125, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4127, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4128, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4129, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4130, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4131, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4132, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4133, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4151, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4152, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4153, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4154, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4155, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4156, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4157, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4158, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4159, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4160, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4161, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4163, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4164, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4165, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4169, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4170, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4171, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4172, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4173, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4174, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4178, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4179, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4183, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4184, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4205, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4207, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4208, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4209, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4210, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4211, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4212, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4213, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4214, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4215, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4216, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4217, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4218, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4219, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4220, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4221, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4222, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4223, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4224, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4225, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4226, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4227, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4228, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4229, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4230, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4270, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4271, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4272, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4275, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4280, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4285, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4287, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4300, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4301, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4303, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4304, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4305, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4306, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4307, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4309, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4310, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4311, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4312, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4313, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4340, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4341, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4342, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4343, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4344, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4345, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4346, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4347, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4350, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4352, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4353, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4354, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4355, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4356, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4357, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4358, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4359, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4360, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4361, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4362, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4363, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4364, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4365, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4370, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4371, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4372, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4373, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4374, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4375, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4376, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4377, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4378, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4380, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4381, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4382, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4383, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4384, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4385, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4387, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4388, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4390, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4400, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4401, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4402, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4403, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4404, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4405, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4406, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4407, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4408, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4410, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4411, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4412, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4413, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4415, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4416, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4417, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4418, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4419, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4420, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4421, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4422, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4423, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4424, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4425, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4426, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4427, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4428, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4454, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4455, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4461, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4462, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4465, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4467, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4468, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4470, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4471, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4472, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4474, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4475, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4477, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4478, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4479, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4480, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4481, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4482, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4486, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4487, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4488, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4489, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4490, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4491, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4492, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4493, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4494, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4496, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4497, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4498, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4500, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4501, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4502, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4503, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4504, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4505, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4506, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4507, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4508, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4509, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4510, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4511, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4512, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4514, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4515, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4516, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4517, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4518, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4519, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4520, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4521, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4550, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4551, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4552, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4553, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4554, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4555, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4556, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4557, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4558, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4559, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4560, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4561, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4562, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4563, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4564, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4565, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4566, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4567, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4568, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4569, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4570, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4571, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4572, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4573, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4574, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4575, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4580, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4581, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4600, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4601, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4605, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4606, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4608, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4610, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4611, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4612, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4613, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4614, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4615, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4620, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4621, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4625, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4626, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4627, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4630, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4650, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4655, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4659, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4660, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4662, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4670, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4671, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4673, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4674, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4676, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4677, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4678, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4680, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4694, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4695, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4697, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4699, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4700, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4701, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4702, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4703, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4704, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4705, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4706, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4707, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4709, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4710, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4711, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4712, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4713, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4714, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4715, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4716, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4717, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4718, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4719, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4720, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4721, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4722, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4723, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4724, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4725, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4726, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4727, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4728, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4730, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4731, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4732, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4733, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4735, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4736, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4737, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4738, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4739, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4740, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4741, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4742, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4743, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4744, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4745, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4746, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4750, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4751, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4753, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4754, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4756, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4757, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4798, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4799, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4800, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4801, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4802, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4803, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4804, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4805, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4806, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4807, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4808, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4809, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4810, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4811, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4812, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4813, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4814, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4815, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4816, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4817, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4818, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4819, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4820, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4821, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4822, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4823, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4824, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4825, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4828, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4829, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4830, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4849, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4850, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4852, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4854, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4855, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4856, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4857, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4858, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4859, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4860, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4861, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4865, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4868, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4869, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4870, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4871, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4872, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4873, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4874, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4875, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4876, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4877, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4878, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4879, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4880, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4881, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4882, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4883, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4884, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4885, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4886, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4887, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4888, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4890, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4891, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(4895, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(5000, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5001, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5005, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5006, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5007, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5008, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5009, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5010, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5011, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5012, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5013, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5014, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5015, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5016, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5017, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5018, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5019, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5020, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5021, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5022, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5023, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5024, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5025, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5031, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5032, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5033, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5034, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5035, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5037, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5038, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5039, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5040, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5041, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5042, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5043, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5044, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5045, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5046, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5047, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5048, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5049, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5050, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5051, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5052, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5061, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5062, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5063, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5064, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5065, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5066, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5067, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5068, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5069, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5070, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5071, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5072, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5073, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5074, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5075, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5076, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5081, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5082, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5083, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5084, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5085, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5086, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5087, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5088, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5089, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5090, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5091, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5092, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5093, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5094, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5095, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5096, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5097, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5098, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5106, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5107, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5108, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5109, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5110, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5111, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5112, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5113, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5114, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5115, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5116, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5117, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5118, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5120, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5121, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5125, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5126, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5127, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5131, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5132, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5133, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5134, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5136, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5137, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5138, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5139, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5140, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5141, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5142, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5144, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5150, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5151, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5152, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5153, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5154, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5155, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5156, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5157, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5158, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5159, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5160, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5161, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5162, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5163, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5164, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5165, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5166, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5167, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5168, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5169, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5170, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5171, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5172, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5173, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5174, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5201, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5202, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5203, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5204, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5210, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5211, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5212, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5213, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5214, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5220, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5221, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5222, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5223, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5231, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5232, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5233, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5234, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5235, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5236, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5237, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5238, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5240, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5241, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5242, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5243, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5244, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5245, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5246, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5250, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5251, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5252, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5253, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5254, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5255, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5256, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5259, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5260, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5261, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5262, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5263, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5264, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5265, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5266, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5267, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5268, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5269, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5270, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5271, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5272, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5273, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5275, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5276, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5277, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5278, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5279, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5280, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5290, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5291, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5301, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5302, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5303, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5304, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5306, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5307, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5308, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5309, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5310, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5311, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5312, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5320, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5321, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5322, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5330, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5331, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5332, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5333, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5340, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5341, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5342, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5343, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5344, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5345, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5346, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5350, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5351, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5352, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5353, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5354, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5355, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5356, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5357, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5360, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5371, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5372, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5373, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5374, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5381, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5400, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5401, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5410, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5411, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5412, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5413, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5414, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5415, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5416, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5417, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5418, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5419, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5420, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5421, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5422, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5431, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5432, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5433, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5434, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5440, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5451, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5452, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5453, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5454, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5455, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5460, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5461, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5462, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5464, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5470, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5471, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5472, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5473, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5480, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5481, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5482, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5483, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5485, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5490, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5491, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5493, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5495, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5501, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5502, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5510, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5520, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5521, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5522, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5523, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5540, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5550, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5552, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5554, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5555, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5556, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5558, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5560, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5570, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5571, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5572, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5573, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5575, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5576, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5577, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5580, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5581, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5582, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5583, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5600, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5601, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5602, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5603, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5604, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5605, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5606, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5607, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5608, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5609, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5630, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5631, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5632, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5633, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5640, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5641, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5642, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5650, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5651, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5652, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5653, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5654, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5655, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5660, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5661, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5670, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5671, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5680, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5690, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5700, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5710, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5720, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5722, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5723, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5724, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5725, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5730, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5731, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5732, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5733, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5734, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5800, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5810, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5839, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5860, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5861, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5862, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5863, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5864, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5865, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5866, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5867, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5868, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5869, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5870, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5871, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5872, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5873, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5874, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5875, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5876, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5877, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5878, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5879, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5880, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5881, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5882, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5883, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5884, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5885, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5886, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5887, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5888, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5889, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5890, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5891, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5892, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5893, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5894, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5895, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5896, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5897, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5898, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5899, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5900, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5901, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5902, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5903, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5904, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5920, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5942, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(5950, 'Australia/Adelaide'); +INSERT INTO `sample_postcode_timezone` VALUES(6000, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6001, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6003, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6004, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6005, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6006, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6007, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6008, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6009, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6010, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6011, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6012, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6014, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6015, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6016, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6017, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6018, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6019, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6020, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6021, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6022, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6023, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6024, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6025, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6026, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6027, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6028, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6029, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6030, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6031, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6032, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6033, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6034, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6035, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6036, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6037, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6038, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6041, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6042, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6043, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6044, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6050, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6051, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6052, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6053, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6054, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6055, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6056, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6057, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6058, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6059, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6060, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6061, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6062, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6063, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6064, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6065, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6066, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6067, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6068, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6069, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6070, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6071, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6072, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6073, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6074, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6076, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6081, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6082, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6083, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6084, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6090, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6100, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6101, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6102, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6103, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6104, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6105, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6106, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6107, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6108, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6109, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6110, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6111, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6112, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6121, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6122, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6123, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6124, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6125, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6126, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6147, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6148, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6149, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6150, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6151, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6152, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6153, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6154, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6155, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6156, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6157, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6158, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6159, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6160, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6161, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6162, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6163, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6164, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6165, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6166, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6167, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6168, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6169, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6170, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6171, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6172, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6173, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6174, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6175, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6176, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6180, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6181, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6182, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6207, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6208, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6209, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6210, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6211, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6213, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6214, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6215, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6218, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6220, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6221, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6223, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6224, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6225, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6226, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6227, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6228, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6229, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6230, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6231, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6232, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6233, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6236, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6237, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6239, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6240, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6243, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6244, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6251, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6252, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6253, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6254, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6255, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6256, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6258, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6260, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6262, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6271, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6275, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6280, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6281, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6282, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6284, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6285, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6286, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6288, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6290, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6302, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6304, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6306, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6308, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6309, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6311, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6312, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6313, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6315, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6316, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6317, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6318, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6320, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6321, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6322, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6323, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6324, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6326, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6327, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6328, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6330, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6331, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6332, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6333, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6335, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6336, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6337, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6338, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6341, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6343, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6346, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6348, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6350, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6351, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6352, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6353, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6355, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6356, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6357, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6358, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6359, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6361, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6363, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6365, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6367, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6368, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6369, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6370, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6372, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6373, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6375, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6383, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6384, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6385, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6386, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6390, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6391, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6392, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6393, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6394, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6395, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6396, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6397, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6398, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6401, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6403, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6405, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6407, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6409, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6410, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6411, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6412, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6413, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6414, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6415, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6418, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6419, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6420, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6421, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6422, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6423, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6424, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6425, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6426, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6427, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6428, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6429, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6430, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6431, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6432, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6433, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6434, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6436, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6437, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6438, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6440, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6442, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6443, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6445, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6446, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6447, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6448, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6450, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6452, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6460, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6461, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6462, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6463, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6465, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6466, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6467, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6468, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6470, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6472, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6473, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6475, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6476, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6477, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6479, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6480, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6484, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6485, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6487, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6488, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6489, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6490, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6501, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6502, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6503, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6504, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6505, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6506, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6507, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6509, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6510, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6511, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6512, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6513, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6514, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6515, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6516, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6517, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6518, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6519, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6521, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6522, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6525, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6528, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6530, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6531, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6532, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6535, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6536, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6537, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6556, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6558, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6560, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6562, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6564, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6566, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6567, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6568, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6569, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6571, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6572, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6574, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6575, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6603, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6605, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6606, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6608, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6609, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6612, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6613, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6614, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6616, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6620, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6623, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6625, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6627, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6628, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6630, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6631, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6632, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6635, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6638, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6639, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6640, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6642, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6646, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6701, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6705, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6707, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6710, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6711, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6712, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6713, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6714, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6716, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6718, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6720, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6721, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6722, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6725, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6726, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6728, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6731, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6733, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6740, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6743, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6751, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6753, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6754, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6758, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6760, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6762, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6765, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6770, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6798, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6799, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6800, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6803, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6809, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6817, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6820, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6827, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6830, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6831, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6832, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6837, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6838, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6839, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6840, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6841, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6842, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6843, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6844, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6845, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6846, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6847, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6848, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6849, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6850, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6865, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6872, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6892, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6900, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6901, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6902, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6903, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6904, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6905, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6906, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6907, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6909, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6910, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6911, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6912, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6913, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6914, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6915, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6916, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6917, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6918, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6919, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6920, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6921, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6922, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6923, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6924, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6925, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6926, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6929, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6931, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6932, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6933, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6934, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6935, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6936, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6937, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6938, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6939, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6940, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6941, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6942, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6943, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6944, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6945, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6946, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6947, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6951, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6952, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6953, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6954, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6955, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6956, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6957, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6958, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6959, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6960, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6961, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6963, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6964, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6965, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6966, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6967, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6968, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6969, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6970, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6979, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6980, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6981, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6982, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6983, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6984, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6985, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6986, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6987, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6988, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6989, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6990, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6991, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6992, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(6997, 'Australia/Perth'); +INSERT INTO `sample_postcode_timezone` VALUES(7000, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7001, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7002, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7004, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7005, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7006, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7007, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7008, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7009, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7010, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7011, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7012, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7015, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7016, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7017, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7018, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7019, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7020, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7021, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7022, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7023, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7024, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7025, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7026, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7027, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7030, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7050, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7051, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7052, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7053, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7054, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7055, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7109, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7112, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7113, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7116, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7117, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7119, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7120, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7139, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7140, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7150, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7151, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7155, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7162, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7163, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7170, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7171, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7172, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7173, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7174, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7175, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7176, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7177, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7178, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7179, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7180, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7182, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7183, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7184, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7185, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7186, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7187, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7190, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7209, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7210, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7211, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7212, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7213, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7214, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7215, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7216, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7248, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7249, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7250, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7252, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7253, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7254, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7255, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7256, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7257, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7258, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7259, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7260, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7261, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7262, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7263, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7264, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7265, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7267, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7268, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7270, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7275, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7276, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7277, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7290, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7291, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7292, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7300, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7301, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7302, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7303, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7304, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7305, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7306, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7307, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7310, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7315, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7316, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7320, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7321, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7322, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7325, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7330, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7331, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7466, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7467, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7468, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7469, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7470, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7800, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7802, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7803, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7804, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7805, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7806, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7807, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7808, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7809, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7810, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7811, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7812, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7813, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7814, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7823, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7824, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7827, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7828, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7829, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7845, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7850, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7901, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7902, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7903, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7904, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7905, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7906, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7907, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7908, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7909, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7910, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7911, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7912, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7913, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7914, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7915, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7916, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7917, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7918, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7919, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7920, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7921, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7922, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(7923, 'Australia/Tasmania'); +INSERT INTO `sample_postcode_timezone` VALUES(8001, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8002, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8003, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8004, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8005, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8006, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8007, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8008, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8009, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8010, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8011, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8045, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8051, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8060, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8061, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8066, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8069, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8070, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8071, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8102, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8103, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8107, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8108, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8111, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8120, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8205, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8383, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8386, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8388, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8390, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8393, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8394, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8396, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8399, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8500, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8507, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8538, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8557, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8576, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8622, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8626, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8627, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8785, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8865, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(8873, 'Australia/Melbourne'); +INSERT INTO `sample_postcode_timezone` VALUES(9000, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(9001, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(9002, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(9005, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(9007, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(9008, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(9009, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(9010, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(9013, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(9015, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(9016, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(9017, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(9018, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(9019, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(9020, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(9021, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(9022, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(9023, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(9464, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(9726, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(9728, 'Australia/Brisbane'); +INSERT INTO `sample_postcode_timezone` VALUES(9729, 'Australia/Brisbane'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sample_prefix_timezone` +-- + +CREATE TABLE `sample_prefix_timezone` ( + `val` int(10) NOT NULL, + `Time_zone_name` char(64) NOT NULL, + PRIMARY KEY (`val`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `sample_prefix_timezone` +-- + +INSERT INTO `sample_prefix_timezone` VALUES(24, 'Australia/NSW'); +INSERT INTO `sample_prefix_timezone` VALUES(26, 'Australia/NSW'); +INSERT INTO `sample_prefix_timezone` VALUES(28, 'Australia/NSW'); +INSERT INTO `sample_prefix_timezone` VALUES(29, 'Australia/NSW'); +INSERT INTO `sample_prefix_timezone` VALUES(35, 'Australia/Victoria'); +INSERT INTO `sample_prefix_timezone` VALUES(36, 'Australia/Tasmania'); +INSERT INTO `sample_prefix_timezone` VALUES(38, 'Australia/Victoria'); +INSERT INTO `sample_prefix_timezone` VALUES(39, 'Australia/Victoria'); +INSERT INTO `sample_prefix_timezone` VALUES(73, 'Australia/Queensland'); +INSERT INTO `sample_prefix_timezone` VALUES(74, 'Australia/Queensland'); +INSERT INTO `sample_prefix_timezone` VALUES(75, 'Australia/Queensland'); +INSERT INTO `sample_prefix_timezone` VALUES(86, 'Australia/West'); +INSERT INTO `sample_prefix_timezone` VALUES(89, 'Australia/West'); +INSERT INTO `sample_prefix_timezone` VALUES(880, 'Australia/Broken_Hill'); +INSERT INTO `sample_prefix_timezone` VALUES(881, 'Australia/Adelaide'); +INSERT INTO `sample_prefix_timezone` VALUES(882, 'Australia/Adelaide'); +INSERT INTO `sample_prefix_timezone` VALUES(883, 'Australia/Adelaide'); +INSERT INTO `sample_prefix_timezone` VALUES(884, 'Australia/Adelaide'); +INSERT INTO `sample_prefix_timezone` VALUES(885, 'Australia/Adelaide'); +INSERT INTO `sample_prefix_timezone` VALUES(886, 'Australia/Adelaide'); +INSERT INTO `sample_prefix_timezone` VALUES(887, 'Australia/Adelaide'); +INSERT INTO `sample_prefix_timezone` VALUES(888, 'Australia/Adelaide'); +INSERT INTO `sample_prefix_timezone` VALUES(889, 'Australia/Darwin'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sample_state_timezone` +-- + +CREATE TABLE `sample_state_timezone` ( + `val` varchar(64) NOT NULL, + `Time_zone_name` char(64) NOT NULL, + PRIMARY KEY (`val`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `sample_state_timezone` +-- + +INSERT INTO `sample_state_timezone` VALUES('ACT', 'Australia/ACT'); +INSERT INTO `sample_state_timezone` VALUES('Australian Capital Territory', 'Australia/ACT'); +INSERT INTO `sample_state_timezone` VALUES('New South Wales', 'Australia/NSW'); +INSERT INTO `sample_state_timezone` VALUES('Northern Territory', 'Australia/Darwin'); +INSERT INTO `sample_state_timezone` VALUES('NSW', 'Australia/NSW'); +INSERT INTO `sample_state_timezone` VALUES('NT', 'Australia/Darwin'); +INSERT INTO `sample_state_timezone` VALUES('QLD', 'Australia/Queensland'); +INSERT INTO `sample_state_timezone` VALUES('Queensland', 'Australia/Queensland'); +INSERT INTO `sample_state_timezone` VALUES('SA', 'Australia/Adelaide'); +INSERT INTO `sample_state_timezone` VALUES('South Australia', 'Australia/Adelaide'); +INSERT INTO `sample_state_timezone` VALUES('TAS', 'Australia/Tasmania'); +INSERT INTO `sample_state_timezone` VALUES('Tasmania', 'Australia/Tasmania'); +INSERT INTO `sample_state_timezone` VALUES('VIC', 'Australia/Victoria'); +INSERT INTO `sample_state_timezone` VALUES('Victoria', 'Australia/Victoria'); +INSERT INTO `sample_state_timezone` VALUES('WA', 'Australia/Perth'); +INSERT INTO `sample_state_timezone` VALUES('Western Australia', 'Australia/Perth'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sample_var` +-- + +CREATE TABLE `sample_var` ( + `sample_id` bigint(20) NOT NULL, + `var` char(128) NOT NULL, + `val` varchar(256) NOT NULL, + `type` int(11) NOT NULL, + PRIMARY KEY (`sample_id`,`var`), + KEY `sample_id` (`sample_id`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `sample_var` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sample_var_type` +-- + +CREATE TABLE `sample_var_type` ( + `type` int(11) NOT NULL auto_increment, + `description` varchar(255) NOT NULL, + `table` varchar(255) NOT NULL, + PRIMARY KEY (`type`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `sample_var_type` +-- + +INSERT INTO `sample_var_type` VALUES(1, 'String', ''); +INSERT INTO `sample_var_type` VALUES(2, 'Phone number', 'sample_prefix_timezone'); +INSERT INTO `sample_var_type` VALUES(3, 'Primary phone number', 'sample_prefix_timezone'); +INSERT INTO `sample_var_type` VALUES(4, 'State', 'sample_state_timezone'); +INSERT INTO `sample_var_type` VALUES(5, 'Postcode', 'sample_postcode_timezone'); +INSERT INTO `sample_var_type` VALUES(6, 'Respondent first name', ''); +INSERT INTO `sample_var_type` VALUES(7, 'Respondent last name', ''); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sessions2` +-- + +CREATE TABLE `sessions2` ( + `sesskey` varchar(64) NOT NULL default '', + `expiry` datetime NOT NULL, + `expireref` varchar(250) default '', + `created` datetime NOT NULL, + `modified` datetime NOT NULL, + `sessdata` longtext, + PRIMARY KEY (`sesskey`), + KEY `sess2_expiry` (`expiry`), + KEY `sess2_expireref` (`expireref`) +) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `sessions2` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `shift` +-- + +CREATE TABLE `shift` ( + `shift_id` bigint(20) NOT NULL auto_increment, + `questionnaire_id` bigint(20) NOT NULL, + `start` datetime NOT NULL, + `end` datetime NOT NULL, + PRIMARY KEY (`shift_id`), + KEY `questionnaire_id` (`questionnaire_id`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `shift` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `shift_report` +-- + +CREATE TABLE `shift_report` ( + `shift_report_id` bigint(20) NOT NULL auto_increment, + `shift_id` bigint(20) NOT NULL, + `operator_id` bigint(20) NOT NULL, + `report` text NOT NULL, + `datetime` datetime NOT NULL, + PRIMARY KEY (`shift_report_id`), + KEY `shift_id` (`shift_id`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `shift_report` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `shift_template` +-- + +CREATE TABLE `shift_template` ( + `day_of_week` tinyint(1) NOT NULL, + `start` time NOT NULL, + `end` time NOT NULL, + KEY `day_of_week` (`day_of_week`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `shift_template` +-- + +INSERT INTO `shift_template` VALUES(2, '17:00:00', '20:30:00'); +INSERT INTO `shift_template` VALUES(3, '17:00:00', '20:30:00'); +INSERT INTO `shift_template` VALUES(4, '17:00:00', '20:30:00'); +INSERT INTO `shift_template` VALUES(5, '17:00:00', '20:30:00'); +INSERT INTO `shift_template` VALUES(6, '17:00:00', '20:30:00'); +INSERT INTO `shift_template` VALUES(7, '09:00:00', '13:00:00'); +INSERT INTO `shift_template` VALUES(7, '13:00:00', '17:00:00'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `timezone_template` +-- + +CREATE TABLE `timezone_template` ( + `Time_zone_name` char(64) NOT NULL, + PRIMARY KEY (`Time_zone_name`) +) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +-- +-- Dumping data for table `timezone_template` +-- + +INSERT INTO `timezone_template` VALUES('Australia/ACT'); +INSERT INTO `timezone_template` VALUES('Australia/Adelaide'); +INSERT INTO `timezone_template` VALUES('Australia/Darwin'); +INSERT INTO `timezone_template` VALUES('Australia/NSW'); +INSERT INTO `timezone_template` VALUES('Australia/Perth'); +INSERT INTO `timezone_template` VALUES('Australia/Queensland'); +INSERT INTO `timezone_template` VALUES('Australia/Tasmania'); +INSERT INTO `timezone_template` VALUES('Australia/Victoria'); diff --git a/display/index.php b/display/index.php new file mode 100644 index 00000000..c3bba3fb --- /dev/null +++ b/display/index.php @@ -0,0 +1,149 @@ + + * @copyright Deakin University 2007,2008 + * @package queXS + * @subpackage user + * @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'); + +/** + * XHTML functions + */ +include ("../functions/functions.xhtml.php"); + +/** + * Display functions + */ +include ("../functions/functions.performance.php"); + +/** + * Input functions + */ +include("../functions/functions.input.php"); + +$shift_id = 0; +$questionnaire_id = 0; +$display_type = 0; + +if (isset($_GET['shift_id'])) $shift_id = bigintval($_GET['shift_id']); +if (isset($_GET['questionnaire_id'])) $questionnaire_id = bigintval($_GET['questionnaire_id']); +if (isset($_GET['display_type'])) $display_type= bigintval($_GET['display_type']); + + +if ($display_type >= 6) +{ + $sql = "SELECT shift_id,questionnaire_id + FROM shift + WHERE start <= CONVERT_TZ(NOW(),'System','UTC') + AND end >= CONVERT_TZ(NOW(),'System','UTC') + AND shift_id > '$shift_id' + ORDER BY shift_id ASC + LIMIT 1"; + $s = $db->GetRow($sql); + + $display_type = 0; + $shift_id = 0; + $questionnaire_id = 0; + + if (!empty($s)) + { + $shift_id = $s['shift_id']; + $questionnaire_id = $s['questionnaire_id']; + } +} + +if ($shift_id == 0) +{ + $sql = "SELECT shift_id,questionnaire_id + FROM shift + WHERE start <= CONVERT_TZ(NOW(),'System','UTC') + AND end >= CONVERT_TZ(NOW(),'System','UTC') + ORDER BY shift_id ASC + LIMIT 1"; + + $s = $db->GetRow($sql); + + $display_type = 0; + + if (!empty($s)) + { + $shift_id = $s['shift_id']; + $questionnaire_id = $s['questionnaire_id']; + } +} + +$dt1 = $display_type + 1; +xhtml_head(T_("Display"),true,array("../css/display.css"),false,false,"6;url=?shift_id=$shift_id&questionnaire_id=$questionnaire_id&display_type=$dt1"); + +if ($shift_id == 0 || $questionnaire_id == 0) + display_none(); +else +{ + $sql = "SELECT description + FROM questionnaire + WHERE questionnaire_id = '$questionnaire_id'"; + $n = $db->GetRow($sql); + + print "

{$n['description']}

\n"; + + switch($display_type) + { + case 0: + display_total_completions($questionnaire_id); + break; + case 1: + display_completions_this_shift($questionnaire_id,$shift_id); + break; + case 2: + display_completions_same_time_last_shift($questionnaire_id,$shift_id); + break; + case 3: + display_completions_last_shift($questionnaire_id,$shift_id); + break; + case 4: + display_top_cph_this_shift($questionnaire_id,$shift_id); + break; + case 5: + display_top_cph($questionnaire_id); + break; + } +} + +xhtml_foot(); + +?> diff --git a/functions/functions.aapor.php b/functions/functions.aapor.php new file mode 100644 index 00000000..2975d8b5 --- /dev/null +++ b/functions/functions.aapor.php @@ -0,0 +1,291 @@ + + * @copyright Deakin University 2007,2008 + * @package queXS + * @subpackage functions + * @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 + * + */ + +/** + * Return a cleaned array containing all required elements + * for AAPOR calculations + * + * @param array $a Array containing some of I,P,R,NC,O,UH,UO keys + * @return array Array containing all I,P,R,NC,O,UH,UO keys + */ +function aapor_clean($a) +{ + if (!isset($a['I']) || empty($a['I'])) $a['I'] = 0; + if (!isset($a['P']) || empty($a['P'])) $a['P'] = 0; + if (!isset($a['R']) || empty($a['R'])) $a['R'] = 0; + if (!isset($a['NC']) || empty($a['NC'])) $a['NC'] = 0; + if (!isset($a['O']) || empty($a['O'])) $a['O'] = 0; + if (!isset($a['UH']) || empty($a['UH'])) $a['UH'] = 0; + if (!isset($a['UO']) || empty($a['UO'])) $a['UO'] = 0; + if (!isset($a[' ']) || empty($a[' '])) $a[' '] = 0; + + return $a; +} + + +/** + * Calculate AAPOR's RR1 + * + * @param array $a Array containing I,P,R,NC,O,UH,UO keys + * @return float Response rate as a decimal + * + */ +function aapor_rr1($a) +{ + $d = (($a['I'] + $a['P']) + ($a['R'] + $a['NC'] + $a['O']) + ($a['UH'] + $a['UO'])); + if ($d == 0) return 0; + return $a['I'] / $d; +} + + +/** + * Calculate AAPOR's RR2 + * + * @param array $a Array containing I,P,R,NC,O,UH,UO keys + * @return float Response rate as a decimal + * + */ +function aapor_rr2($a) +{ + $d = (($a['I'] + $a['P']) + ($a['R'] + $a['NC'] + $a['O']) + ($a['UH'] + $a['UO'])); + if ($d == 0) return 0; + return ($a['I'] + $a['P']) / $d; +} + + + +/** + * Calculate AAPOR's RR3 + * + * @param array $a Array containing I,P,R,NC,O,UH,UO keys + * @param float $e Estimated proportion of cases of unknown eligibility that are eligible + * @return float Response rate as a decimal + * + */ +function aapor_rr3($a,$e) +{ + $d = (($a['I'] + $a['P']) + ($a['R'] + $a['NC'] + $a['O']) + ($e*($a['UH'] + $a['UO']))); + if ($d == 0) return 0; + return ($a['I']) / $d; +} + + +/** + * Calculate AAPOR's RR4 + * + * @param array $a Array containing I,P,R,NC,O,UH,UO keys + * @param float $e Estimated proportion of cases of unknown eligibility that are eligible + * @return float Response rate as a decimal + * + */ +function aapor_rr4($a,$e) +{ + $d = (($a['I'] + $a['P']) + ($a['R'] + $a['NC'] + $a['O']) + ($e*($a['UH'] + $a['UO']))); + if ($d == 0) return 0; + return ($a['I'] + $a['P']) / $d; +} + + +/** + * Calculate AAPOR's RR5 + * + * @param array $a Array containing I,P,R,NC,O,UH,UO keys + * @return float Response rate as a decimal + * + */ +function aapor_rr5($a) +{ + return aapor_rr3($a,0); +} + +/** + * Calculate AAPOR's RR6 + * + * @param array $a Array containing I,P,R,NC,O,UH,UO keys + * @return float Response rate as a decimal + * + */ +function aapor_rr6($a) +{ + return aapor_rr4($a,0); +} + + +/** + * Calculate AAPOR's COOP1 + * + * @param array $a Array containing I,P,R,NC,O,UH,UO keys + * @return float Cooperation rate as a decimal + * + */ +function aapor_coop1($a) +{ + $d = (($a['I'] + $a['P']) + $a['R'] + $a['O']); + if ($d == 0) return 0; + return $a['I'] / $d; +} + +/** + * Calculate AAPOR's COOP2 + * + * @param array $a Array containing I,P,R,NC,O,UH,UO keys + * @return float Cooperation rate as a decimal + * + */ +function aapor_coop2($a) +{ + $d = (($a['I'] + $a['P']) + $a['R'] + $a['O']); + if ($d == 0) return 0; + return ($a['I'] + $a['P']) / $d; +} + +/** + * Calculate AAPOR's COOP3 + * + * @param array $a Array containing I,P,R,NC,O,UH,UO keys + * @return float Cooperation rate as a decimal + * + */ +function aapor_coop3($a) +{ + $d = (($a['I'] + $a['P']) + $a['R']); + if ($d == 0) return 0; + return $a['I'] / $d; +} + +/** + * Calculate AAPOR's COOP4 + * + * @param array $a Array containing I,P,R,NC,O,UH,UO keys + * @return float Cooperation rate as a decimal + * + */ +function aapor_coop4($a) +{ + $d = (($a['I'] + $a['P']) + $a['R']); + if ($d == 0) return 0; + return ($a['I'] + $a['P']) / $d; +} + + +/** + * Calculate AAPOR's REF1 + * + * @param array $a Array containing I,P,R,NC,O,UH,UO keys + * @return float Refusal rate as a decimal + * + */ +function aapor_ref1($a) +{ + $d = (($a['I'] + $a['P']) + ($a['R'] + $a['NC'] + $a['O']) + ($a['UH'] + $a['UO'])); + if ($d == 0) return 0; + return $a['R'] / $d; +} + + +/** + * Calculate AAPOR's REF2 + * + * @param array $a Array containing I,P,R,NC,O,UH,UO keys + * @param float $e Estimated proportion of cases of unknown eligibility that are eligible + * @return float Refusal rate as a decimal + * + */ +function aapor_ref2($a,$e) +{ + $d = (($a['I'] + $a['P']) + ($a['R'] + $a['NC'] + $a['O']) + ($e*($a['UH'] + $a['UO']))); + if ($d == 0) return 0; + return ($a['R']) / $d; +} + + +/** + * Calculate AAPOR's REF3 + * + * @param array $a Array containing I,P,R,NC,O,UH,UO keys + * @return float Refusal rate as a decimal + * + */ +function aapor_ref3($a) +{ + return aapor_ref2($a,0); +} + +/** + * Calculate AAPOR's CON1 + * + * @param array $a Array containing I,P,R,NC,O,UH,UO keys + * @return float Contact rate as a decimal + * + */ +function aapor_con1($a) +{ + $d = (($a['I'] + $a['P']) + ($a['R'] + $a['NC'] + $a['O']) + ($a['UH'] + $a['UO'])); + if ($d == 0) return 0; + return (($a['I'] + $a['P']) + $a['R'] +$a['O']) / $d; +} + + +/** + * Calculate AAPOR's CON2 + * + * @param array $a Array containing I,P,R,NC,O,UH,UO keys + * @param float $e Estimated proportion of cases of unknown eligibility that are eligible + * @return float Contact rate as a decimal + * + */ +function aapor_con2($a,$e) +{ + $d = (($a['I'] + $a['P']) + ($a['R'] + $a['NC'] + $a['O']) + ($e*($a['UH'] + $a['UO']))); + if ($d == 0) return 0; + return (($a['I'] + $a['P']) + $a['R'] +$a['O']) / $d; +} + + +/** + * Calculate AAPOR's CON3 + * + * @param array $a Array containing I,P,R,NC,O,UH,UO keys + * @return float Contact rate as a decimal + * + */ +function aapor_con3($a) +{ + return aapor_con2($a,0); +} + + + + +?> diff --git a/functions/functions.calendar.php b/functions/functions.calendar.php new file mode 100644 index 00000000..e24f6b95 --- /dev/null +++ b/functions/functions.calendar.php @@ -0,0 +1,534 @@ + + * @copyright Deakin University 2007,2008 + * @package queXS + * @subpackage functions + * @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_once(dirname(__FILE__).'/../config.inc.php'); + +/** + * Database file + */ +include_once(dirname(__FILE__).'/../db.inc.php'); + + +/** + * Add a phone number to a case (via the contact_phone table) + * + * @param int $case_id Case id + * @param int $phone Phone number + * @return bool Result false if failed to add else true + */ +function add_contact_phone($case_id,$phone) +{ + global $db; + + $sql = "INSERT INTO contact_phone + (contact_phone_id,case_id,priority,phone) + SELECT NULL,$case_id,MAX(priority)+1,'$phone' + FROM contact_phone + WHERE case_id = $case_id"; + + return $db->Execute($sql); + +} + + +/** + * Add an appointment to a case (via the appointment table) + * + * @param int $respondent_id The respondent + * @param int $case_id The case + * @param int $contact_phone_id The contact phone number to call on + * @param int $call_attempt_id the current call attempt + * @param int $d the day of the month + * @param int $m the month of the year + * @param int $y the year (4 digit) + * @param string $start The time in the format HH:MM:SS + * @param string $end The time in the format HH:MM:SS + * @return bool Result false if failed to add else true + */ +function make_appointment($respondent_id,$case_id,$contact_phone_id,$call_attempt_id,$d,$m,$y,$start,$end) +{ + global $db; + + $start = "$y-$m-$d $start"; + $end= "$y-$m-$d $end"; + + $sql = "INSERT INTO `appointment` + (appointment_id,case_id,contact_phone_id,call_attempt_id,start,end,require_operator_id,respondent_id,completed_call_id) + SELECT NULL,'$case_id','$contact_phone_id','$call_attempt_id',CONVERT_TZ('$start',r.Time_zone_name,'UTC'),CONVERT_TZ('$end',r.Time_zone_name,'UTC'),NULL,$respondent_id,NULL + FROM respondent as r + WHERE r.respondent_id = '$respondent_id'"; + + return $db->Execute($sql); +} + + + +/** + * Take a 24 hour time in the format: hh:mm:ss and make it more human + * + * @param string $time The time in the format HH:MM:SS + * @return string Human readable time + */ +function convert_time($time) +{ + $h = intval(substr($time,0,2)); + $m = substr($time,3,2); + $s = intval(substr($time,5,2)); + + if ($h > 12) + return $h - 12 . ":$m"."pm"; + else + return $h . ":$m"."am"; +} + +/** + * Return whether or not a questionnaire is restricted to work in shifts + * + * @param int $questionnaire_id Questionnaire ID + * @return bool True if shift restricted else false + */ +function is_shift_restricted($questionnaire_id) +{ + global $db; + + $sql = "SELECT restrict_appointments_shifts as r + FROM questionnaire + WHERE questionnaire_id = '$questionnaire_id'"; + + $rs = $db->GetRow($sql); + + if ($rs['r'] == 1) return true; + return false; +} + + +/** + * Get an arary containing all contact phone numbers for a case + * + * @param int $case_id The case ID + * @return array|bool An array of contact phone numbers else false if none + */ +function return_contact_phone_list($case_id) +{ + global $db; + + $sql = "SELECT contact_phone_id,phone,description + FROM contact_phone + WHERE case_id = '$case_id'"; + + $rs = $db->GetAll($sql); + + return $rs; +} + + +/** + * Print a list of respodnents for a case + * with an HTML GET request with the respondent_id + * + * @param int $case_id The case ID + * @param bool|int $respondent_id The respondent already selected or false if none selected + */ +function display_respondent_list($case_id,$respondent_id = false) +{ + global $db; + + $sql = "SELECT respondent_id,firstName,lastName + FROM respondent + WHERE case_id = '$case_id'"; + + $rs = $db->GetAll($sql); + + print "
"; + +} + + + +/** + * Print an XHTML form for adding or modifying respondent details + * + * @param bool|int $respondent_id The respondent already selected or false if none selected + * @param bool|int $case_id The case to add a respondent to or false if none selected + */ +function display_respondent_form($respondent_id = false,$case_id = false) +{ + global $db; + + /** + * Use the default time zone if none other to work with + */ + $rzone = DEFAULT_TIME_ZONE; + $fn = ""; + $ln = ""; + + if ($respondent_id) + { + $sql = "SELECT Time_zone_name,firstName,lastName + FROM respondent + WHERE respondent_id = '$respondent_id'"; + + $rs = $db->GetRow($sql); + $rzone = $rs['Time_zone_name']; + $fn = $rs['firstName']; + $ln = $rs['lastName']; + } + else if ($case_id) + { + $sql = "SELECT Time_zone_name + FROM respondent + WHERE case_id = '$case_id'"; + + $rs = $db->GetRow($sql); + } + + + $sql = "SELECT Time_zone_name + FROM timezone_template"; + + $rs = $db->Execute($sql); + + print "
+
"; + + /** + * Display the current respondent zone in a drop down box with other zones from timezone_template + */ + print "
"; + +} + + +/** + * Print shift details in XHTML based on the given day + * Display start time, and if start time selected display end time also + * Used generally for making an appointment + * + * @see make_appointment() + * + * @param int $respondent_id The respondent id + * @param int $day the day of the month + * @param int $month the month of the year + * @param int $year the year (4 digit) + * @param string $time The time in the format HH:MM:SS + * @param string $timeend The time in the format HH:MM:SS + * + * @todo Handle questionnaires without shift restrictions + */ +function display_time($respondent_id, $day, $month, $year, $time = false, $timeend = false) +{ + global $db; + + /** + * Select shift start and end times for this day + */ + $sql = " SELECT s.shift_id, HOUR(TIME(CONVERT_TZ(s.start,'UTC',r.Time_zone_name))) as sh, MINUTE(TIME(CONVERT_TZ(s.start,'UTC',r.Time_zone_name))) as sm, !(DATE(CONVERT_TZ(NOW(),'System',r.Time_zone_name)) = DATE(CONVERT_TZ(s.start,'UTC',r.Time_zone_name))) as today, HOUR(TIME(CONVERT_TZ(NOW(),'System',r.Time_zone_name))) as eh, MINUTE(TIME(CONVERT_TZ(NOW(),'System',r.Time_zone_name))) as em, (TIME_TO_SEC( TIMEDIFF( TIME( CONVERT_TZ( s.end, 'UTC', r.Time_zone_name ) ) , TIME( CONVERT_TZ( s.start, 'UTC', r.Time_zone_name ) ) ) ) /300) as intervals, TIME(CONVERT_TZ(s.start,'UTC',r.Time_zone_name)) as start, TIME(CONVERT_TZ(s.end,'UTC',r.Time_zone_name)) as end + FROM shift as s, respondent as r, `case` as c + WHERE r.respondent_id = '$respondent_id' + AND r.case_id = c.case_id + AND s.questionnaire_id = c.questionnaire_id + AND DAY(CONVERT_TZ(s.start,'UTC', r.Time_zone_name)) = '$day' + AND MONTH(CONVERT_TZ(s.start,'UTC', r.Time_zone_name)) = '$month' + AND YEAR(CONVERT_TZ(s.start,'UTC', r.Time_zone_name)) = '$year' + ORDER BY s.start ASC"; + + $rs = $db->GetAll($sql); + + print "
"; + foreach($rs as $r) + { + print "

" . T_("Shift from:") . " ".convert_time($r['start'])." till ".convert_time($r['end'])."

"; + } + print "
"; + + + + print "

"; + print ""; + + if ($time) + { + $eh = substr($time,0,2); + $em = substr($time,3,2); + + print ""; + } + + print ""; + print ""; + print ""; + print ""; + print "

"; +} + +/** + * Print a tabular calendar for selecting dates for appointments + * Based on code from the PEAR package + * + * @link http://pear.php.net/package/Calendar PEAR Calendar + * @link http://pearcalendar.sourceforge.net/examples/3.php Example this code based on + * + * @see make_appointment() + * @see display_time() + * + * @param int $respondent_id The respondent id + * @param int $questionnaire_id The questionnaire id + * @param bool|int $day the day of the month if selected else false + * @param bool|int $month the month of the year if selected else false + * @param bool|int $year the year (4 digit) if selected else false + * + */ +function display_calendar($respondent_id, $questionnaire_id, $year = false, $month = false, $day = false) +{ + global $db; + + /** + * PEAR Caldendar Weekday functions + */ + include_once('Calendar/Month/Weekdays.php'); + + /** + * PEAR Caldendar Day functions + */ + include_once('Calendar/Day.php'); + + /** + * See if questionnaire has shift restrictions + */ + $restricted = is_shift_restricted($questionnaire_id); + + $rtime = strtotime(get_respondent_time($respondent_id)); + + $y = date('Y',$rtime); + $m = date('m',$rtime); + $d = date('d',$rtime); + + if (!$year) $year = $y; + if (!$month) $month = $m; + if (!$day) $day = $d; + + $ttoday = new Calendar_Day($y,$m,$d); + + $Month = new Calendar_Month_Weekdays($year,$month); + + // Construct strings for next/previous links + $PMonth = $Month->prevMonth('object'); // Get previous month as object + $prev = '?y='.$PMonth->thisYear().'&m='.$PMonth->thisMonth().'&d='.$PMonth->thisDay().'&respondent_id='.$respondent_id; + $NMonth = $Month->nextMonth('object'); + $next = '?y='.$NMonth->thisYear().'&m='.$NMonth->thisMonth().'&d='.$NMonth->thisDay().'&respondent_id='.$respondent_id; + + // Build the days in the month + $Month->build(); + ?> + + + + + + + + + + + +fetch() ) { + + // Build a link string for each day + $link = '?y='.$Day->thisYear(). + '&m='.$Day->thisMonth(). + '&d='.$Day->thisDay(). + '&respondent_id='.$respondent_id; + + $today = ""; + if ($year == $Day->thisYear() && $month == $Day->thisMonth() && $day == $Day->thisDay()) $today = "today"; + + + // isFirst() to find start of week + if ( $Day->isFirst() ) + echo ( "\n" ); + + if ( $Day->isSelected() ) { + echo ( "\n" ); + } else if ( $Day->isEmpty() ) { + echo ( "\n" ); + } else { + //if it is in the past -> unavailable + if ($Day->getTimeStamp() < $ttoday->getTimeStamp()) + { + echo ( "\n" ); + } + //if there are shift restrictions, restrict + else if ($restricted) + { + $rs = $db->Execute(" SELECT s.shift_id + FROM shift as s + LEFT JOIN respondent as r on (r.respondent_id = '$respondent_id') + WHERE s.questionnaire_id = '$questionnaire_id' + AND DAY(CONVERT_TZ(s.start,'UTC',r.Time_zone_name)) = '{$Day->thisDay()}' + AND MONTH(CONVERT_TZ(s.start,'UTC',r.Time_zone_name)) = '{$Day->thisMonth()}' + AND YEAR(CONVERT_TZ(s.start,'UTC',r.Time_zone_name)) = '{$Day->thisYear()}'"); + + if ($rs->RecordCount() == 0) + { + echo ( "\n" ); + } + else + { + echo ( "\n" ); + } + + } + else + echo ( "\n" ); + } + + // isLast() to find end of week + if ( $Day->isLast() ) + echo ( "\n" ); + } + ?> + + + + + +
+ getTimeStamp())); ?> +
MTWTFSS
".$Day->thisDay()." ".$Day->thisDay()."".$Day->thisDay()."".$Day->thisDay()."".$Day->thisDay()."
+ << +   + >> +
+ diff --git a/functions/functions.client.php b/functions/functions.client.php new file mode 100644 index 00000000..6eff5078 --- /dev/null +++ b/functions/functions.client.php @@ -0,0 +1,89 @@ + + * @copyright Deakin University 2007,2008 + * @package queXS + * @subpackage functions + * @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_once(dirname(__FILE__).'/../config.inc.php'); + +/** + * Database file + */ +include_once(dirname(__FILE__).'/../db.inc.php'); + +/** + * Return the current client id based on PHP_AUTH_USER + * + * @return bool|int False if none otherwise the client id + * + */ +function get_client_id() +{ + global $db; + + $sql = "SELECT client_id + FROM client + WHERE username = '{$_SERVER['PHP_AUTH_USER']}'"; + + $o = $db->GetRow($sql); + + if (empty($o)) return false; + + return $o['client_id']; + +} + +/** + * Return a list of questionnaires assigned to this client + * + * @param int $client_id Client id + * @return bool|array False if nothing assigned otherwise an array of questionnaire assigned + * + */ +function get_client_questionnaire($client_id) +{ + global $db; + + $sql = "SELECT questionnaire_id + FROM client_questionnaire + WHERE client_id = '$client_id'"; + + $o = $db->GetAll($sql); + + if (empty($o)) return false; + + return $o; + + +} + + diff --git a/functions/functions.display.php b/functions/functions.display.php new file mode 100644 index 00000000..30dec9d7 --- /dev/null +++ b/functions/functions.display.php @@ -0,0 +1,138 @@ + + * @copyright Deakin University 2007,2008 + * @package queXS + * @subpackage functions + * @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_once(dirname(__FILE__).'/../config.inc.php'); + +/** + * Database file + */ +include_once(dirname(__FILE__).'/../db.inc.php'); + + + + + + + + +/** + * Display a list of questionnaires to choose from in a drop down list + * + * @param int|bool $questionnaire_id The questionnaire id or false if none selecetd + * + */ +function display_questionnaire_chooser($questionnaire_id = false) +{ + global $db; + + + $sql = "SELECT questionnaire_id,description,CASE WHEN questionnaire_id = '$questionnaire_id' THEN 'selected=\'selected\'' ELSE '' END AS selected + FROM questionnaire"; + + $rs = $db->GetAll($sql); + + print "
"; +} + +/** + * Display a list of shifts to choose from in a drop down list + * + * @param int $questionnaire_id The questionnaire id + * @param int|bool $shift_id The shift id or false if none selected + */ +function display_shift_chooser($questionnaire_id, $shift_id = false) +{ + global $db; + + $sql = "SELECT s.shift_id,DATE_FORMAT(s.start,'" . DATE_TIME_FORMAT . "') as start,DATE_FORMAT(s.end,'" . TIME_FORMAT . "') as end,CASE WHEN s.shift_id = '$shift_id' THEN 'selected=\'selected\'' ELSE '' END AS selected + FROM shift as s + WHERE s.questionnaire_id = '$questionnaire_id' + ORDER BY s.start ASC"; + + $rs = $db->GetAll($sql); + + print "
"; +} + + +/** + * Display a list of samples to choose from in a drop down list + * + * @param int $questionnaire_id The questionnaire id + * @param int|bool $sample_import_id The sample import id or false if none selected + */ +function display_sample_chooser($questionnaire_id, $sample_import_id = false) +{ + global $db; + + $sql = "SELECT s.sample_import_id,si.description,CASE WHEN s.sample_import_id = '$sample_import_id' THEN 'selected=\'selected\'' ELSE '' END AS selected + FROM questionnaire_sample as s, sample_import as si + WHERE s.questionnaire_id = '$questionnaire_id' + AND s.sample_import_id = si.sample_import_id"; + + $rs = $db->GetAll($sql); + + print "
"; +} + + + +?> diff --git a/functions/functions.import.php b/functions/functions.import.php new file mode 100644 index 00000000..80a751cb --- /dev/null +++ b/functions/functions.import.php @@ -0,0 +1,334 @@ + + * @copyright Deakin University 2007,2008 + * @package queXS + * @subpackage functions + * @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_once(dirname(__FILE__).'/../config.inc.php'); + +/** + * Database file + */ +include_once(dirname(__FILE__).'/../db.inc.php'); + +/** + * Return only numbers from a string + * + * @param string $str String containing any character + * @return int A number + * + */ +function only_numbers($str) +{ + return ereg_replace('[^0-9]*','',$str); +} + + +/** + * Verify fields in a CSV file + * confirm that there are no duplicate names + * confirm that there is one and only one primary number selected + * + * @param array $fields an array of field information i_ if selected, n_ name, t_ type code + * @return string An empty string if valid, otherwise invalid with error message + * + */ +function verify_fields($fields) +{ + //i_ is if selected + //n_ is name of field + //t_ is type of field + + $selected = array(); + + foreach($fields as $key => $val) + { + if (strncmp($key, "i_", 2) == 0) + { + $selected[] = substr($key,2); + } + } + + $names = array(); + + //check for duplicate names + foreach($selected as $val) + { + if (array_key_exists($fields["n_$val"], $names)) + { + return T_("Duplicate name"); + } + else + { + //set name to type + $names[$fields["n_$val"]] = $fields["t_$val"]; + } + } + + //check that there is one and one only primary phone selected + $count = 0; + foreach($names as $val) + { + if ($val == 3) $count++; + } + + if ($count == 1) + { + return ""; + } + else + { + return T_("You must select one and one only Primary Phone number"); + } + +} + +/** + * Display an XHTML table of the CSV data header + * + * @param array $data Header data from a CSV file + * + * @see get_first_row() + * + */ +function display_table($data) +{ + print ""; + print ""; + $row = 1; + + global $db; + + $sql = "SELECT description,type + FROM sample_var_type"; + + $rs = $db->Execute($sql); + + foreach ($data as $key => $value) + { + $val = str_replace(" ", "_", $value); + $checked = "checked"; + if (empty($val)) $val = "samp_$row"; + + print ""; + $row++; + + $rs->MoveFirst(); + } + print "
" . T_("Import?") . "" . T_("Name") . "" . T_("Type") . "
$value" . $rs->GetMenu("t_$row","1",false) . "
"; + +} + + +/** + * Return the first row of a CSV file as an array + * + * @param string $file File name to open + * + */ +function get_first_row($file) +{ + $handle = fopen($file, "r"); + $data = fgetcsv($handle); + fclose($handle); + return $data; +} + + +/** + * Import a CSV file to the sample database + * + * @param string $file File name to open + * @param string $description A description of the sample + * @param array $fields Which fields to import and what type they are assigned to + * + * @see verify_fields() + * @see display_table() + * + */ +function import_file($file, $description, $fields, $firstrow = 2) +{ + + $row = 1; + $handle = fopen($file, "r"); + + //import into database + + global $db; + + $db->StartTrans(); + + $sql = "INSERT INTO sample_import + (sample_import_id, description) + VALUES (NULL, '$description')"; + + //print("$sql
"); + //if ($db->HasFailedTrans()) { print "FAILED"; exit(); } + + $rs = $db->Execute($sql); + $id = $db->Insert_ID(); + + $selected_type = array(); + $selected_name = array(); + + foreach($fields as $key => $val) + { + if (strncmp($key, "i_", 2) == 0) + { + $selected_type[substr($key,2)] = $fields["t_" . substr($key,2)]; + $selected_name[substr($key,2)] = $fields["n_" . substr($key,2)]; + } + } + + /** + * create an ordered index of columns that contain data for obtaining the timezone + * type of 5,4,3,2 preferred + */ + + arsort($selected_type); + + $imported = 0; + + while (($data = fgetcsv($handle)) !== FALSE) + { + //data contains an array of elements in the csv + //selected contains an indexed array of elements to import with the type attached + + if ($row >= $firstrow) //don't import the header row + { + //determine if there is a phone number - if not - do not import + $numberavail = 0; + foreach($selected_type as $key => $val) + { + if ($val == 2 || $val == 3) + { + $dkey = only_numbers($data[$key - 1]); + if (!empty($dkey)) + $numberavail = 1; + } + } + + if ($numberavail == 1) + { + //insert into sample field + + //first find the timezone + + $tzone = DEFAULT_TIME_ZONE; //set this to default + + /** + * Determine time zone from all possible sources in sample_var_type table + * + */ + foreach($selected_type as $key => $val) + { + $sql = "SELECT `table` + FROM sample_var_type + WHERE type = '$val'"; + + $tname = $db->GetRow($sql); + + if (!empty($tname)) + { + $tname = $tname['table']; + if (!empty($tname)) + { + + $value = $db->Quote($data[$key - 1]); + + $sql = "SELECT Time_zone_name as tz + FROM `$tname` + WHERE val = SUBSTR($value, 1, CHAR_LENGTH( val ) )"; + + $tz = $db->GetRow($sql); + + //print("$sql
"); + //if ($db->HasFailedTrans()) { print "FAILED"; exit(); } + + if (!empty($tz)) + { + $tzone = $tz['tz']; + break; + } + + } + } + } + + + /** + * insert using primary phone number (3) + */ + $ppid = array_search('3', $selected_type); + + $dppid = only_numbers($data[$ppid - 1]); + + $sql = "INSERT INTO sample (sample_id,import_id,Time_zone_name,phone) + VALUES (NULL,'$id','$tzone','$dppid')"; + + $db->Execute($sql); + $sid = $db->Insert_Id(); + + + /** + * insert into sample_var field + */ + foreach($selected_name as $key => $val) + { + $dkey = $db->Quote($data[$key - 1]); + + $sql = "INSERT INTO sample_var (sample_id,var,val,type) + VALUES ('$sid','$val',{$dkey},'{$selected_type[$key]}')"; + + $db->Execute($sql); + + } + + $imported++; + } + } + + $row++; + } + + fclose($handle); + + //cleanup + unlink($file); + + return $db->CompleteTrans(); + +} + + +?> diff --git a/functions/functions.input.php b/functions/functions.input.php new file mode 100644 index 00000000..974d1ece --- /dev/null +++ b/functions/functions.input.php @@ -0,0 +1,52 @@ + + * @copyright Deakin University 2007,2008 + * @package queXS + * @subpackage functions + * @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_once(dirname(__FILE__).'/../config.inc.php'); + +/** + * Return only numbers given a string + * + * @param string $val The value to convert to numbers only + * @return int 0 if empty or no numbers otherwise the number portion of the string + * + */ +function bigintval($val) +{ + $r = ereg_replace('[^0-9]*','',$val); + if (empty($r)) + return 0; + else + return $r; +} diff --git a/functions/functions.limesurvey.php b/functions/functions.limesurvey.php new file mode 100644 index 00000000..21931619 --- /dev/null +++ b/functions/functions.limesurvey.php @@ -0,0 +1,576 @@ + + * @copyright Deakin University 2007,2008 + * @package queXS + * @subpackage functions + * @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_once(dirname(__FILE__).'/../config.inc.php'); + +/** + * Database file + */ +include_once(dirname(__FILE__).'/../db.inc.php'); + + +/** + * Taken from common.php in the LimeSurvey package + * Add a prefix to a database name + * + * @param string $name Database name + * @link http://www.limesurvey.org/ LimeSurvey + */ +function db_table_name($name) +{ + return "`".LIME_PREFIX.$name."`"; +} + + +/** + * Taken from common.php in the LimeSurvey package + * Get a random survey ID + * + * @link http://www.limesurvey.org/ LimeSurvey + */ +function getRandomID() +{ // Create a random survey ID - based on code from Ken Lyle + // Random sid/ question ID generator... + $totalChar = 5; // number of chars in the sid + $salt = "123456789"; // This is the char. that is possible to use + srand((double)microtime()*1000000); // start the random generator + $sid=""; // set the inital variable + for ($i=0;$i<$totalChar;$i++) // loop and create sid + $sid = $sid . substr ($salt, rand() % strlen($salt), 1); + return $sid; +} + + + + +/** + * Taken from admin/database.php in the LimeSurvey package + * With modifications + * + * @param string $title Questionnaire name + * @link http://www.limesurvey.org/ LimeSurvey + */ +function create_limesurvey_questionnaire($title) +{ + global $ldb; + + // Get random ids until one is found that is not used + do + { + $surveyid = getRandomID(); + $isquery = "SELECT sid FROM ".db_table_name('surveys')." WHERE sid=$surveyid"; + $isresult = $ldb->Execute($isquery); + } + while ($isresult->RecordCount()>0); + + $isquery = "INSERT INTO ". LIME_PREFIX ."surveys\n" + . "(sid, owner_id, admin, active, useexpiry, expires, " + . "adminemail, private, faxto, format, template, url, " + . "language, datestamp, ipaddr, refurl, usecookie, notification, allowregister, attribute1, attribute2, " + . "allowsave, autoredirect, allowprev,datecreated,tokenanswerspersistence)\n" + . "VALUES ($surveyid, 1,\n" + . "'', 'N', \n" + . "'N','1980-01-01', '', 'N',\n" + . "'', 'G', 'quexs', '" . QUEXS_URL . "rs_project_end.php',\n" + . "'en', 'Y', 'N', 'N',\n" + . "'N', '0', 'Y',\n" + . "'att1', 'att2', \n" + . "'Y', 'Y', 'Y','".date("Y-m-d")."','Y')"; + $isresult = $ldb->Execute($isquery); + + // insert base language into surveys_language_settings + $isquery = "INSERT INTO ".db_table_name('surveys_languagesettings') + . "(surveyls_survey_id, surveyls_language, surveyls_title, surveyls_description, surveyls_welcometext, surveyls_urldescription, " + . "surveyls_email_invite_subj, surveyls_email_invite, surveyls_email_remind_subj, surveyls_email_remind, " + . "surveyls_email_register_subj, surveyls_email_register, surveyls_email_confirm_subj, surveyls_email_confirm)\n" + . "VALUES ($surveyid, 'en', $title, $title,\n" + . "'',\n" + . "'', '',\n" + . "'', '',\n" + . "'', '',\n" + . "'', '',\n" + . "'')"; + $isresult = $ldb->Execute($isquery); + + // Insert into survey_rights + $isrquery = "INSERT INTO ". LIME_PREFIX . "surveys_rights VALUES($surveyid,1,1,1,1,1,1,1)"; + $isrresult = $ldb->Execute($isrquery) or die ($isrquery."
".$ldb->ErrorMsg()); + + return $surveyid; +} + + + + +/** + * Return the lime_sid given the case_id + * + * @param int $case_id The case id + * @return bool|int False if no lime_sid otherwise the lime_sid + * + */ +function get_lime_sid($case_id) +{ + global $db; + + $sql = "SELECT q.lime_sid + FROM questionnaire as q, `case` as c + WHERE c.case_id = '$case_id' + AND q.questionnaire_id = c.questionnaire_id"; + + $l = $db->GetRow($sql); + + if (empty($l)) return false; + + return $l['lime_sid']; +} + + +/** + * Check if LimeSurvey has marked a questionnaire as complete + * + * @param int $case_id The case id + * @return bool True if complete, false if not or unknown + * + */ +function limesurvey_is_completed($case_id) +{ + global $ldb; + + $lime_sid = get_lime_sid($case_id); + if ($lime_sid == false) return false; + + $sql = "SELECT completed + FROM " . LIME_PREFIX . "tokens_$lime_sid + WHERE token = '$case_id'"; + + $r = $ldb->GetRow($sql); + + if (!empty($r)) + if ($r['completed'] != 'N') return true; + + return false; + + + +} + + +/** + * Return the number of questions in the given questionnaire + * + * @param int $lime_sid The limesurvey sid + * @return bool|int False if no data, otherwise the number of questions + * + */ +function limesurvey_get_numberofquestions($lime_sid) +{ + global $ldb; + + $sql = "SELECT count(qid) as c + FROM " . LIME_PREFIX . "questions + WHERE sid = '$lime_sid'"; + + $r = $ldb->GetRow($sql); + + if (!empty($r)) + return $r['c']; + + return false; +} + +/** + * Return the percent complete a questionnaire is, or false if not started + * + * @param int $case_id The case id + * @return bool|float False if no data, otherwise the percentage of questions answered + * + */ +function limesurvey_percent_complete($case_id) +{ + global $ldb; + + $lime_sid = get_lime_sid($case_id); + if ($lime_sid == false) return false; + + $sql = "SELECT saved_thisstep + FROM ". LIME_PREFIX ."saved_control + WHERE sid = '$lime_sid' + AND identifier = '$case_id'"; + + $r = $ldb->GetRow($sql); + + if (!empty($r)) + { + $step = $r['saved_thisstep']; + $questions = limesurvey_get_numberofquestions($lime_sid); + return ($step / $questions) * 100.0; + } + + return false; + +} + + +function limesurvey_get_width($qid,$default) +{ + global $ldb; + + $sql = "SELECT value FROM ".LIME_PREFIX."question_attributes WHERE qid = '$qid' and attribute = 'maximum_chars'"; + $r = $ldb->GetRow($sql); + + if (!empty($r)) + $default = $r['value']; + + return $default; +} + + + +function limesurvey_fixed_width($lid) +{ + global $ldb; + + $sql = "SELECT MAX(LENGTH(code)) as c FROM ".LIME_PREFIX."labels WHERE lid = $lid"; + $r = $ldb->GetRow($sql); + + $val = 1; + + if (!empty($r)) + $val = $r['c']; + + return $val; +} + +function limesurvey_create_multi(&$varwidth,&$vartype,$qid,$varname,$length,$type) +{ + global $ldb; + + $sql = "SELECT * + FROM ".LIME_PREFIX."answers + WHERE qid = $qid + ORDER BY sortorder ASC"; + + $r = $ldb->GetAll($sql); + + foreach($r as $Row) + { + $v = $varname . $Row['code']; + $varwidth[$v] = $length; + $vartype[$v] = $type; + } + + return; +} + +/** + * Return a string with only ASCII characters in it + * + * This function was sourced from the php website, help on str_replace + * No author was listed at the time of access + * + * @param string $stringIn The string + * @return string A string containing only ASCII characters + */ +function all_ascii( $stringIn ){ + $final = ''; + $search = array(chr(145),chr(146),chr(147),chr(148),chr(150),chr(151),chr(13),chr(10)); + $replace = array("'","'",'"','"','-','-',' ',' '); + + $hold = str_replace($search[0],$replace[0],$stringIn); + $hold = str_replace($search[1],$replace[1],$hold); + $hold = str_replace($search[2],$replace[2],$hold); + $hold = str_replace($search[3],$replace[3],$hold); + $hold = str_replace($search[4],$replace[4],$hold); + $hold = str_replace($search[5],$replace[5],$hold); + $hold = str_replace($search[6],$replace[6],$hold); + $hold = str_replace($search[7],$replace[7],$hold); + + if(!function_exists('str_split')){ + function str_split($string,$split_length=1){ + $count = strlen($string); + if($split_length < 1){ + return false; + } elseif($split_length > $count){ + return array($string); + } else { + $num = (int)ceil($count/$split_length); + $ret = array(); + for($i=0;$i<$num;$i++){ + $ret[] = substr($string,$i*$split_length,$split_length); + } + return $ret; + } + } + } + + $holdarr = str_split($hold); + foreach ($holdarr as $val) { + if (ord($val) < 128) $final .= $val; + } + return $final; +} + + +/** + * Produce a fixed width string containing the data from a questionnaire + * + * @param int $questionnaire_id The quesitonnaire id + * @param int|false $sample_import_id The sample importid or false for all data + * @return string Fixed width data from the limesurvey database + * + */ +function limesurvey_export_fixed_width($questionnaire_id,$sample_import_id = false) +{ + global $ldb; + global $db; + + //array of varname and width + $varwidth = array(); + $vartype = array(); + + $sql = "SELECT lime_sid + FROM questionnaire + WHERE questionnaire_id = '$questionnaire_id'"; + + $r = $db->GetRow($sql); + + if (!empty($r)) + $surveyid = $r['lime_sid']; + else + return; + + //foreach question + $sql = "SELECT * + FROM ".LIME_PREFIX."questions + WHERE sid=$surveyid + AND type NOT LIKE 'X' + ORDER BY gid,question_order ASC"; + + $r = $ldb->GetAll($sql); + foreach ($r as $RowQ) + { + $type = $RowQ['type']; + $qid = $RowQ['qid']; + $lid = $RowQ['lid']; + $gid = $RowQ['gid']; + + $varName = $surveyid . "X" . $gid . "X" . $qid; + + switch ($type) + { + case "X": //BOILERPLATE QUESTION - none should appear + + break; + case "5": //5 POINT CHOICE radio-buttons + $varwidth[$varName]=1; + $vartype[$varName] = 1; + break; + case "D": //DATE + $varwidth[$varName]=8; + $vartype[$varName] = 1; + break; + case "Z": //LIST Flexible drop-down/radio-button list + $varwidth[$varName]=limesurvey_fixed_width($lid); + $vartype[$varName] = 1; + break; + case "L": //LIST drop-down/radio-button list + $varwidth[$varName]=limesurvey_fixed_width($lid); + $vartype[$varName] = 1; + break; + case "W": //List - dropdown + $varwidth[$varName]=limesurvey_fixed_width($lid); + $vartype[$varName] = 1; + break; + case "!": //List - dropdown + $varwidth[$varName]=limesurvey_fixed_width($lid); + $vartype[$varName] = 1; + break; + case "O": //LIST WITH COMMENT drop-down/radio-button list + textarea + //Not yet implemented + break; + case "R": //RANKING STYLE + //Not yet implemented + break; + case "M": //MULTIPLE OPTIONS checkbox + limesurvey_create_multi($varwidth,$vartype,$qid,$varName,1,3); + break; + case "P": //MULTIPLE OPTIONS WITH COMMENTS checkbox + text + //Not yet implemented + break; + case "Q": //MULTIPLE SHORT TEXT + limesurvey_create_multi($varwidth,$vartype,$qid,$varName,limesurvey_get_width($qid,24),2); + break; + case "K": //MULTIPLE NUMERICAL + limesurvey_create_multi($varwidth,$vartype,$qid,$varName,limesurvey_get_width($qid,10),1); + break; + case "N": //NUMERICAL QUESTION TYPE + $varwidth[$varName]= limesurvey_get_width($qid,10); + $vartype[$varName] = 1; + break; + case "S": //SHORT FREE TEXT + $varwidth[$varName]= limesurvey_get_width($qid,240); + $vartype[$varName] = 2; + break; + case "T": //LONG FREE TEXT + $varwidth[$varName]= limesurvey_get_width($qid,1024); + $vartype[$varName] = 2; + break; + case "U": //HUGE FREE TEXT + $varwidth[$varName]= limesurvey_get_width($qid,2048); + $vartype[$varName] = 2; + break; + case "Y": //YES/NO radio-buttons + $varwidth[$varName]=1; + $vartype[$varName] = 1; + break; + case "G": //GENDER drop-down list + $varwidth[$varName]=1; + $vartype[$varName] = 1; + break; + case "A": //ARRAY (5 POINT CHOICE) radio-buttons + $varwidth[$varName]=1; + $vartype[$varName] = 1; + break; + case "B": //ARRAY (10 POINT CHOICE) radio-buttons + $varwidth[$varName]=2; + $vartype[$varName] = 1; + break; + case "C": //ARRAY (YES/UNCERTAIN/NO) radio-buttons + $varwidth[$varName]=1; + $vartype[$varName] = 1; + break; + case "E": //ARRAY (Increase/Same/Decrease) radio-buttons + $varwidth[$varName]=1; + $vartype[$varName] = 1; + break; + case "F": //ARRAY (Flexible) - Row Format + limesurvey_create_multi($varwidth,$vartype,$qid,$varName,limesurvey_fixed_width($lid),1); + break; + case "H": //ARRAY (Flexible) - Column Format + limesurvey_create_multi($varwidth,$vartype,$qid,$varName,limesurvey_fixed_width($lid),1); + break; + case "^": //SLIDER CONTROL + //Not yet implemented + break; + } //End Switch + + + } + + + $fn = "survey_$surveyid.dat"; + + header("Content-Type: application/download"); + header("Content-Disposition: attachment; filename=$fn"); + header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past + header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); + Header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); + header("Pragma: no-cache"); // HTTP/1.0 + + $sql3 = "SELECT c.case_id as case_id + FROM `case` as c + WHERE c.questionnaire_id = '$questionnaire_id'"; + + $r = $db->GetAll($sql3); + + if (!empty($r)) + { + $sql = "SELECT * + FROM ".LIME_PREFIX."survey_$surveyid + WHERE submitdate IS NOT NULL"; + + + if ($sample_import_id == false) + { + $sql .= " AND ("; + foreach($r as $row) + { + $token = $row['case_id']; + $sql .= " token = '$token'"; + if (next($r)) $sql .= " or "; + } + $sql .= ")"; + } + else + { + $sql2 = "SELECT c.case_id as case_id + FROM `case` as c, `sample` as s + WHERE c.questionnaire_id = '$questionnaire_id' + AND c.sample_id = s.sample_id + AND s.import_id = '$sample_import_id'"; + + $r = $db->GetAll($sql2); + + if (!empty($r)) + { + $sql .= " AND ("; + foreach($r as $row) + { + $token = $row['case_id']; + $sql .= " token = '$token'"; + if (next($r)) $sql .= " or "; + } + $sql .= ")"; + } + + } + + $r = $ldb->GetAll($sql); + + foreach($r as $Row) + { + foreach ($varwidth as $var => $width) + { + if ($vartype[$var] == 1) + echo str_pad(substr(all_ascii($Row[$var]),0,$width), $width, " ", STR_PAD_LEFT); + else if ($vartype[$var] == 2) + echo str_pad(substr(all_ascii($Row[$var]),0,$width), $width, " ", STR_PAD_RIGHT); + else if ($vartype[$var] == 3) + if (empty($Row[$var])) echo " "; else echo "1"; + } + echo str_pad(substr($Row['token'],0,9), 9, " ", STR_PAD_LEFT); + echo str_pad(substr($Row['datestamp'],0,16), 16, " ", STR_PAD_LEFT); + echo "\n"; + } + + } + +} + + +?> diff --git a/functions/functions.operator.php b/functions/functions.operator.php new file mode 100644 index 00000000..d1a296ba --- /dev/null +++ b/functions/functions.operator.php @@ -0,0 +1,1347 @@ + + * @copyright Deakin University 2007,2008 + * @package queXS + * @subpackage functions + * @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 + * + * + * + * @todo Add session data to reduce calls to the database + * + */ + +/** + * Configuration file + */ +include_once(dirname(__FILE__).'/../config.inc.php'); + +/** + * Database file + */ +include_once(dirname(__FILE__).'/../db.inc.php'); + + +/** + * Return the period of the day for the respondent + * + * @param int $respondent_id The respondent id + * @return string Either morning, afternoon or evening based on the respondents time zone + * + */ +function get_period_of_day($respondent_id) +{ + global $db; + + $sql = "SELECT HOUR(CONVERT_TZ(NOW(),'System',Time_zone_name)) as h + FROM respondent + WHERE respondent_id = '$respondent_id'"; + + $rs = $db->GetRow($sql); + + $hour = 10; + if (!empty($rs)) + $hour = $rs['h']; + + if ($hour < 12) return T_("morning"); + if ($hour < 17) return T_("afternoon"); + return T_("evening"); +} + + +/** + * Get information from the sample + * + * @param string $variable The bit of information from the sample + * @param int $case_id The case id + * @return string The information or a blank string if none found + * + */ +function get_sample_variable($variable,$case_id) +{ + global $db; + + $sql = "SELECT s.val as r + FROM sample_var as s + JOIN `case` as c on (c.case_id = '$case_id' and s.sample_id = c.sample_id) + WHERE s.var = '$variable'"; + + $rs = $db->GetRow($sql); + + + if (empty($rs)) return ""; + + return $rs['r']; + +} + +/** + * Get information about the operator + * + * @param string $variable The bit of information about the operator (eg firstName) + * @param int $operator_id The operator id + * @return string The information or a blank string if none found + * + */ +function get_operator_variable($variable,$operator_id) +{ + global $db; + + $sql = "SELECT `$variable` as r + FROM operator + WHERE operator_id = '$operator_id'"; + + $rs = $db->GetRow($sql); + + if (empty($rs)) return ""; + + return $rs['r']; + +} + +/** + * Get information about the respondent + * + * @param string $variable The bit of information about the respondent (eg firstName) + * @param int $respondent_id The respondent id + * @return string The information or a blank string if none found + * + */ +function get_respondent_variable($variable,$respondent_id) +{ + global $db; + + $sql = "SELECT `$variable` as r + FROM respondent + WHERE respondent_id = '$respondent_id'"; + + $rs = $db->GetRow($sql); + + + if (empty($rs)) return ""; + + return $rs['r']; + +} + + +/** + * Replace placeholders in a string with data for this case/operator + * + * @param string $string The string + * @param int $operator_id The operator id + * @param int $case_id The case id + * @return string The string with replaced text + * + */ +function template_replace($string,$operator_id,$case_id) +{ + $respondent_id = get_respondent_id(get_call_attempt($operator_id)); + + while (stripos($string, "{Respondent:") !== false) + { + $answreplace=substr($string, stripos($string, "{Respondent:"), stripos($string, "}", stripos($string, "{Respondent:"))-stripos($string, "{Respondent:")+1); + $answreplace2=substr($answreplace, 12, stripos($answreplace, "}", stripos($answreplace, "{Respondent:"))-12); + $answreplace3=get_respondent_variable($answreplace2,$respondent_id); + $string=str_replace($answreplace, $answreplace3, $string); + } + + + while (stripos($string, "{Operator:") !== false) + { + $answreplace=substr($string, stripos($string, "{Operator:"), stripos($string, "}", stripos($string, "{Operator:"))-stripos($string, "{Operator:")+1); + $answreplace2=substr($answreplace, 10, stripos($answreplace, "}", stripos($answreplace, "{Operator:"))-10); + $answreplace3=get_operator_variable($answreplace2,$operator_id); + $string=str_replace($answreplace, $answreplace3, $string); + } + + while (stripos($string, "{Sample:") !== false) + { + $answreplace=substr($string, stripos($string, "{Sample:"), stripos($string, "}", stripos($string, "{Sample:"))-stripos($string, "{Sample:")+1); + $answreplace2=substr($answreplace, 8, stripos($answreplace, "}", stripos($answreplace, "{Sample:"))-8); + $answreplace3=get_sample_variable($answreplace2,$case_id); + $string=str_replace($answreplace, $answreplace3, $string); + } + + while (stripos($string, "{PeriodOfDay") !== false) + { + $answreplace=substr($string, stripos($string, "{PeriodOfDay"), stripos($string, "}", stripos($string, "{PeriodOfDay"))-stripos($string, "{PeriodOfDay")+1); + $answreplace3=get_period_of_day($respondent_id); + $string=str_replace($answreplace, $answreplace3, $string); + } + + + return $string; +} + + +/** + * Return true if the current questionnaire has respondent selection + * enabled + * + * @param int $operator_id The operator id + * @return bool True if respondent selection enabled otherwise false + * + */ +function is_respondent_selection($operator_id) +{ + global $db; + + $questionnaire_id = get_questionnaire_id($operator_id); + + if (!$questionnaire_id) return false; + + $sql = "SELECT respondent_selection + FROM questionnaire + WHERE questionnaire_id = '$questionnaire_id'"; + + $rs = $db->GetRow($sql); + + if (!$rs) return false; + if ($rs['respondent_selection'] == 1) return true; + return false; +} + +/** + * Get the current or next case id + * + * @param int $operator_id The operator id + * @param bool $create True if a case can be created + * @return bool|int False if no case available else the case_id + */ +function get_case_id($operator_id, $create = true) +{ + + global $db; + global $ldb; + + $db->StartTrans(); + + /** + * See if case already assigned + */ + $sql = "SELECT case_id + FROM `case` + WHERE current_operator_id = '$operator_id'"; + + $r1 = $db->GetRow($sql); + + + $case_id = false; + + if (empty($r1)) + { + if ($create) + { + /** + * find a case that: + * Has not been called in the last x hours based on last outcome + * Is available for this operator + * Has no appointments scheduled in the future (can also check if outcome is appointment) + * Nobody else is servicing the call at the moment + * The case is not referred to the supervisor and the operator is not the supervisor + * The case is not on a refusal outcome and the operator is not a refusal converter + * Give priority if there is an appointment scheduled now + * If restricted to shift times to work, make sure we are in those + * If restricted to respondent call times, make sure we are in those + * Only assign if outcome type is assigned to the operator + * + * + * THINGS TO ADD: + * + * @todo also option of "time of day" calls - try once in the morning/etc + * @todo also could check the respondent_not_available table to see if now is a "bad time" to call + */ + + $sql = "SELECT c.case_id as caseid,s.*,apn.*,a.*,sh.*,op.*,cr.*,si.*,CONVERT_TZ(NOW(), 'System' , s.Time_zone_name) as resptime + FROM `case` as c + LEFT JOIN `call` as a on (a.call_id = c.last_call_id) + JOIN (sample as s, sample_import as si) on (s.sample_id = c.sample_id and si.sample_import_id = s.import_id) + JOIN (questionnaire_sample as qs, operator_questionnaire as o, questionnaire as q, operator as op, outcome as ou) on (c.questionnaire_id = q.questionnaire_id and op.operator_id = '$operator_id' and qs.sample_import_id = s.import_id and o.operator_id = op.operator_id and o.questionnaire_id = qs.questionnaire_id and q.questionnaire_id = o.questionnaire_id and ou.outcome_id = c.current_outcome_id) + LEFT JOIN shift as sh on (sh.questionnaire_id = q.questionnaire_id and (CONVERT_TZ(NOW(),'System','UTC') >= sh.start) AND (CONVERT_TZ(NOW(),'System','UTC') <= sh.end)) + LEFT JOIN appointment as ap on (ap.case_id = c.case_id AND ap.completed_call_id is NULL AND (ap.start > CONVERT_TZ(NOW(),'System','UTC'))) + LEFT JOIN appointment as apn on (apn.case_id = c.case_id AND apn.completed_call_id is NULL AND (CONVERT_TZ(NOW(),'System','UTC') >= apn.start) AND (CONVERT_TZ(NOW(),'System','UTC') <= apn.end)) + LEFT JOIN call_restrict as cr on (cr.day_of_week = DAYOFWEEK(CONVERT_TZ(NOW(), 'System' , s.Time_zone_name)) and TIME(CONVERT_TZ(NOW(), 'System' , s.Time_zone_name)) >= cr.start and TIME(CONVERT_TZ(NOW(), 'System' , s.Time_zone_name)) <= cr.end) + JOIN operator_skill as os on (os.operator_id = op.operator_id and os.outcome_type_id = ou.outcome_type_id) + WHERE c.current_operator_id IS NULL + AND (a.call_id is NULL or (a.end < CONVERT_TZ(DATE_SUB(NOW(), INTERVAL ou.default_delay_minutes MINUTE),'System','UTC'))) + AND ap.case_id is NULL + AND !(q.restrict_work_shifts = 1 AND sh.shift_id IS NULL AND os.outcome_type_id != 2) + AND !(si.call_restrict = 1 AND cr.day_of_week IS NULL AND os.outcome_type_id != 2) + AND ((apn.appointment_id IS NOT NULL) or qs.call_attempt_max = 0 or ((SELECT count(*) FROM call_attempt WHERE case_id = c.case_id) < qs.call_attempt_max)) + AND ((apn.appointment_id IS NOT NULL) or qs.call_max = 0 or ((SELECT count(*) FROM `call` WHERE case_id = c.case_id) < qs.call_max)) + ORDER BY apn.start DESC, a.start ASC + LIMIT 1"; + + //apn.appointment_id contains the id of an appointment if we are calling on an appointment + + $r2 = $db->GetRow($sql); + + if (empty($r2)) + { + + + /** + * If no case found, we must draw the next available case from the sample + * only if no case due to lack of cases to call not out of shift time/etc and + * only draw cases that are new (Temporary outcome_type_id) + * + * + * Method: + * next available that has not been assigned + * if none available - return false? report to operator that no one available to call at currenet settings + * + */ + + + $sql = "SELECT s.sample_id as sample_id,c.case_id as case_id,qs.questionnaire_id as questionnaire_id,CONVERT_TZ(NOW(), 'System' , s.Time_zone_name) as resptime, q.testing as testing + FROM sample as s + JOIN (questionnaire_sample as qs, operator_questionnaire as o, questionnaire as q, operator as op, sample_import as si, operator_skill as os) on (op.operator_id = '$operator_id' and qs.sample_import_id = s.import_id and o.operator_id = op.operator_id and o.questionnaire_id = qs.questionnaire_id and q.questionnaire_id = o.questionnaire_id and si.sample_import_id = s.import_id and os.operator_id = op.operator_id and os.outcome_type_id = 1) + LEFT JOIN `case` as c on (c.sample_id = s.sample_id and c.questionnaire_id = qs.questionnaire_id) + LEFT JOIN call_restrict as cr on (cr.day_of_week = DAYOFWEEK(CONVERT_TZ(NOW(), 'System' , s.Time_zone_name)) and TIME(CONVERT_TZ(NOW(), 'System' , s.Time_zone_name)) >= cr.start and TIME(CONVERT_TZ(NOW(), 'System' , s.Time_zone_name)) <= cr.end) + LEFT JOIN shift as sh on (sh.questionnaire_id = q.questionnaire_id and (CONVERT_TZ(NOW(),'System','UTC') >= sh.start) AND (CONVERT_TZ(NOW(),'System','UTC') <= sh.end)) + WHERE c.case_id is NULL + AND !(q.restrict_work_shifts = 1 AND sh.shift_id IS NULL) + AND !(si.call_restrict = 1 AND cr.day_of_week IS NULL) + ORDER BY rand() * qs.random_select, s.sample_id + LIMIT 1"; + + + $r3 = $db->GetRow($sql); + + + /** + * If the above statement returns no rows, then there are no cases to be added to the sample at this time + * We could do a select of how many are actually available to reassure the operator that the sample has not been exhausted + * + * + */ + + + /** + * Now we have to add phone numbers to the contact_phone table, the case to the case table, + * assign this case to this operator + */ + + 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) + VALUES (NULL, {$r3['sample_id']}, {$r3['questionnaire_id']} , NULL, $operator_id, NULL, 1)"; + + $db->Execute($sql); + + $case_id = $db->Insert_ID(); + + //if this sample is set as testing, assign internal numbers as numbers + if ($r3['testing'] == 1) + { + $db->Execute("SET @row := 0"); + + $sql = "INSERT INTO contact_phone (case_id,priority,phone,description) + SELECT $case_id as case_id,@row := @row + 1 AS priority,extension as phone, CONCAT(firstName, ' ', lastName) + FROM operator"; + + $db->Execute($sql); + } + else + { + //add any phone numbers to contact phone + + //$db->Execute("SET @row := 0"); + + $sql = "SELECT val as phone + FROM sample_var + WHERE sample_id = '{$r3['sample_id']}' + AND val is NOT NULL + AND val != \"\" + AND (`type` = 2 or `type` = 3) + ORDER BY `type` DESC"; + + $r5 = $db->GetAll($sql); + + if (!empty($r5)) + { + $i = 1; + foreach ($r5 as $r5v) + { + $sql = "INSERT INTO contact_phone (case_id,priority,phone) + VALUES ($case_id,$i," . ereg_replace('[^0-9]*','',$r5v['phone']) . ")"; + $db->Execute($sql); + $i++; + } + } + else + { + $sql = "INSERT INTO contact_phone (case_id,priority,phone) + VALUES ($case_id,1,312345678)"; + $db->Execute($sql); + } + + } + + //add respondent details to respondent (if such details exist in the sample) + + $sql = "INSERT INTO respondent (case_id,firstName,lastName,Time_zone_name) + SELECT $case_id as case_id, s1.val as firstName, s2.val as lastName, s3.Time_zone_name as Time_zone_name + FROM sample_var as s1 + LEFT JOIN sample_var as s2 on (s2.sample_id = '{$r3['sample_id']}' and s2.type = 7) + LEFT JOIN sample as s3 on (s3.sample_id = '{$r3['sample_id']}') + WHERE s1.sample_id = '{$r3['sample_id']}' and s1.type = 6 + AND (s1.val IS NOT NULL AND s2.val IS NOT NULL)"; + + $db->Execute($sql); + + + //add resopndent to Lime Survey token table for this questionnaire + + //first we need to get the limesurvey survey id + + $lime_sid = get_limesurvey_id($operator_id); + + if ($lime_sid) + { + $sql = "INSERT INTO ".LIME_PREFIX."tokens_$lime_sid (tid,firstname,lastname,email,token,language,sent,completed,attribute_1,attribute_2,mpid) + VALUES (NULL,'','','',$case_id,'en','N','N','','',NULL)"; + + if (!$ldb->Execute($sql)) //if we cannot insert + { + $db->FailTrans(); + $case_id = false; + } + } + + } + } + else + { + $case_id = $r2['caseid']; + + $sql = "UPDATE `case` + SET current_operator_id = '$operator_id' + WHERE case_id = '$case_id'"; + + + $db->Execute($sql); + + + } + } + else + { + $case_id = false; + } + } + else + { + $case_id = $r1['case_id']; + + } + + $db->CompleteTrans(); + + /** + * @todo should re return some sort of status? Like "on appointment" "refusal" "supervisor"? + */ + + return $case_id; + +} + +/** + * Return the phone number of a call + * + * @param int $call_id The call id + * @return bool|string The number to call otherwise False if cannot find + * + */ +function get_call_number($call_id) +{ + global $db; + + $sql = "SELECT p.phone + FROM `call` as c + JOIN (contact_phone as p) on (p.contact_phone_id = c.contact_phone_id) + WHERE c.call_id = '$call_id'"; + + $rs = $db->GetRow($sql); + + if(!empty($rs)) + return $rs['phone']; + else + return false; +} + +/** + * Return the extension of an operator + * + * @param int $operator_id The queXS Operator ID + * @return string|bool the extension or false if cannot find + * + */ +function get_extension($operator_id) +{ + global $db; + + $sql = "SELECT o.extension + FROM `operator` as o + WHERE o.operator_id = '$operator_id'"; + + $rs = $db->GetRow($sql); + if (!empty($rs) && isset($rs['extension'])) return $rs['extension']; + return false; +} + + +/** + * Return the current operator id based on PHP_AUTH_USER + * + * @return bool|int False if none otherwise the operator id + * + */ +function get_operator_id() +{ + global $db; + + $sql = "SELECT operator_id + FROM operator + WHERE username = '{$_SERVER['PHP_AUTH_USER']}' + AND enabled = 1"; + + $o = $db->GetRow($sql); + + if (empty($o)) return false; + + return $o['operator_id']; + +} + +/** + * Return the time in UTC from the database + * + * @return string The date and time in format: YYYY-MM-DD HH:MM:SS + * + */ +function get_db_time() +{ + global $db; + + $sql = "SELECT CONVERT_TZ(NOW(),'System','UTC') as time"; + + $rs = $db->GetRow($sql); + + return $rs['time']; + +} + + +/** + * Return the time for the operator + * + * @param int $operator_id The operator id + * @param string $format Defaults to: YYYY-MM-DD HH:MM:SS, see {@link http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_date-format MySQL Date format} + * @return string The date and time in the given format + * + */ +function get_operator_time($operator_id,$format = "%Y-%m-%d %H:%i:%S") +{ + global $db; + + $sql = "SELECT DATE_FORMAT(CONVERT_TZ(NOW(),'System', Time_zone_name),'$format') as time + FROM operator + WHERE operator_id = '$operator_id'"; + + $rs = $db->GetRow($sql); + + return $rs['time']; + +} + +/** + * Return the time for the respondent + * + * @param int $respondent_id The respondent id + * @param string $format Defaults to: YYYY-MM-DD HH:MM:SS, see {@link http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_date-format MySQL Date format} + * @return string The date and time in the given format + * + */ +function get_respondent_time($respondent_id,$format="%Y-%m-%d %H:%i:%S") +{ + global $db; + + $sql = "SELECT DATE_FORMAT(CONVERT_TZ(NOW(),'System', Time_zone_name),'$format') as time + FROM respondent + WHERE respondent_id = '$respondent_id'"; + + $rs = $db->GetRow($sql); + + return $rs['time']; +} + +/** + * Return the current questionnaire assigned to the operator + * false if none + * + * @param int $operator_id The operator id + * @return bool|int False if none otherwise the questionnare id + * + */ +function get_questionnaire_id($operator_id) +{ + global $db; + + $sql = "SELECT questionnaire_id + FROM `case` as c + WHERE c.current_operator_id = '$operator_id'"; + + $rs = $db->GetRow($sql); + + if (empty($rs)) return false; + + return $rs['questionnaire_id']; + +} + +/** + * Return the id of the shift the operator is currently on + * + * + * @param int $operator_id The operator id + * @return bool|int False if none otherwise the shift id + * + */ +function is_on_shift($operator_id) +{ + global $db; + + $case_id = get_case_id($operator_id,false); + if ($case_id) + { + $sql = "SELECT s.shift_id + FROM `case` as c, `shift` as s + WHERE c.case_id = '$case_id' + AND c.questionnaire_id = s.questionnaire_id + AND s.`start` <= CONVERT_TZ(NOW(),'System','UTC') + AND s.`end` >= CONVERT_TZ(NOW(),'System','UTC')"; + + $row = $db->GetRow($sql); + + if (empty($row)) return false; + return $row['shift_id']; + } + else + return false; + +} + + +/** + * Return the state of a call if the operator is currently on a call + * (see the call_state table for details) + * + * @param int $operator_id The operator id + * @return bool|int False if none otherwise the call state id + * + */ +function is_on_call($operator_id) +{ + global $db; + + $case_id = get_case_id($operator_id,false); + if ($case_id) + { + $ca = get_call_attempt($operator_id); + + $sql = "SELECT call_id,state + FROM `call` + WHERE case_id = '$case_id' + AND operator_id = '$operator_id' + AND call_attempt_id = '$ca' + AND outcome_id = '0'"; + + $row = $db->GetRow($sql); + + if (empty($row)) return false; + return $row['state']; + } + else + return false; +} + + +/** + * Return true if the operator is currently on a call attempt + * A call attempt is a set of calls within a "session" + * + * @param int $operator_id The operator id + * @return bool True if on a call attempt otherwise false + * + */ +function is_on_call_attempt($operator_id) +{ + global $db; + + $case_id = get_case_id($operator_id,false); + + if ($case_id) + { + $sql = "SELECT call_attempt_id + FROM `call_attempt` + WHERE case_id = '$case_id' + AND operator_id = '$operator_id' + AND end IS NULL"; + + $row = $db->GetRow($sql); + + if (empty($row)) return false; + return true; + } + return false; + +} + + + +/** + * Get the current call if on a call attempt + * If no call, create one + * + * @param int $operator_id The operator + * @param string|int $respondent_id The respondent + * @param string|int $contact_phone_id The number to contact the respondent on + * @return bool|int False if no call exists or can be created otherwise the call_id + * + */ +function get_call($operator_id,$respondent_id = "",$contact_phone_id = "") +{ + global $db; + + $case_id = get_case_id($operator_id,false); + $ca = get_call_attempt($operator_id); + + if ($case_id && $ca) + { + + $db->StartTrans(); + + $sql = "SELECT call_id + FROM `call` + WHERE case_id = '$case_id' + AND operator_id = '$operator_id' + AND call_attempt_id = '$ca' + AND outcome_id = '0'"; + + $row = $db->GetRow($sql); + if (empty($row)) + { + if (!empty($respondent_id) && !empty($contact_phone_id)) + { + $sql = "INSERT INTO `call` (call_id,operator_id,case_id,call_attempt_id,start,end,respondent_id,contact_phone_id,outcome_id,state) + VALUES (NULL,'$operator_id','$case_id','$ca',CONVERT_TZ(NOW(),'System','UTC'),NULL,'$respondent_id','$contact_phone_id','0','1')"; + $db->Execute($sql); + $id = $db->Insert_Id(); + } + else + { + $id = false; + } + } + else + { + $id = $row['call_id']; + } + + + $db->CompleteTrans(); + return $id; + } + else + { + return false; + } + +} + + +/** + * Get the complete URL for the Limesurvey questionnaire + * If no case available, return an error screen + * + * @param int $operator_id The operator id + * @return string The URL of the LimeSurvey questionnaire, or the URL of an error screen if none available + * + */ +function get_limesurvey_url($operator_id) +{ + global $db; + + $case_id = get_case_id($operator_id); + if ($case_id) + { + $sid = get_limesurvey_id($operator_id); + $url = LIME_URL . "index.php?loadall=reload&sid=$sid&token=$case_id&lang=en"; + $questionnaire_id = get_questionnaire_id($operator_id); + //get prefills + $sql = "SELECT lime_sgqa,value + FROM questionnaire_prefill + WHERE questionnaire_id = '$questionnaire_id'"; + $pf = $db->GetAll($sql); + if (!empty($pf)) + { + foreach ($pf as $p) + $url .= "&" . $p['lime_sgqa'] . "=" . template_replace($p['value'],$operator_id,$case_id); + } + return $url; + } + else + { + //no cases currently available + return "nocaseavailable.php"; + } +} + + +/** + * Return the appointment id if this call attempt is on an appointment + * + * @param int $call_attempt_id The current call attempt id + * @return bool|int False if no appointment otherwise the appointment id + * + */ +function is_on_appointment($call_attempt_id) +{ + global $db; + //return the appointment id if this call attempt is on an appointment + + $sql = "SELECT a.appointment_id + FROM call_attempt as ca + LEFT JOIN appointment as a on (a.case_id = ca.case_id and (ca.start >= a.start and ca.start <= a.end) and a.completed_call_id is NULL) + WHERE ca.call_attempt_id = '$call_attempt_id' + "; + + $a = $db->GetRow($sql); + + if (empty($a) || empty($a['appointment_id'])) + return false; + else + return $a['appointment_id']; + +} + + +/** + * Whether we should leave a message on the answering machine or not + * + * @param int $case_id The current case id + * @return bool True if we should leave a message on the machine, false otherwise + * + */ +function leave_message($case_id) +{ + global $db; + + $sql = "SELECT (SELECT count(*) as count FROM `call` WHERE case_id = '$case_id' AND outcome_id = '23') as messages_left, qs.answering_machine_messages + FROM `questionnaire_sample` as qs, `case` as c, `sample` as s + WHERE c.case_id = '$case_id' + AND qs.questionnaire_id = c.questionnaire_id + AND s.sample_id = c.sample_id + AND qs.sample_import_id = s.import_id"; + + $a = $db->GetRow($sql); + + if (!empty($a)) + { + //if ($a['answering_machine_messages'] == 0) return true; //unlimited + if ($a['messages_left'] < $a['answering_machine_messages']) return true; + } + return false; + +} + + + +/** + * Return the appointment id if this call attempt is calling + * where an appointment was made and not kept + * + * @param int $call_attempt_id The current call attempt id + * @return bool|int False if no appointment otherwise the appointment id + * + */ +function missed_appointment($call_attempt_id) +{ + global $db; + + $sql = "SELECT a.appointment_id + FROM call_attempt as ca + LEFT JOIN appointment as a on (a.case_id = ca.case_id and ca.start >= a.end and a.completed_call_id is NULL) + WHERE ca.call_attempt_id = '$call_attempt_id'"; + + $a = $db->GetRow($sql); + + if (empty($a) || empty($a['appointment_id'])) + return false; + else + return $a['appointment_id']; + +} + + + +/** + * End the current case + * + * @param int $operator_id The operator to end the case for + * + * @see get_case() + * @todo implement session handling to decrease database requests + */ +function end_case($operator_id) +{ + global $db; + + $case_id = get_case_id($operator_id,false); + + if ($case_id) + { + $db->StartTrans(); + + //determine current final outcome code + //Look over all calls, for each phone number that is to be tried again + //Calculate outcome based on + //If no phone number is to be tried again, use the outcome from the last call + //If one phone number is to be tried again, use: "Differences in Response Rates using Most recent versus Final dispositions in Telephone Surveys" by Christopher McCarty + // + + + + //Look for any calls where none should be tried again (this should be a final outcome) + $sql = "SELECT c.call_id, c.outcome_id + FROM `call` as c, `outcome` as o + WHERE c.case_id = '$case_id' + AND c.outcome_id = o.outcome_id + AND o.tryanother = 0 + AND o.outcome_type_id = 4 + ORDER BY c.call_id DESC + LIMIT 1"; + + $a = $db->GetRow($sql); + + if (empty($a)) + { + + $sql = "SELECT c.* + FROM contact_phone AS c + LEFT JOIN ( + SELECT contact_phone.contact_phone_id + FROM contact_phone + LEFT JOIN `call` ON ( call.contact_phone_id = contact_phone.contact_phone_id ) + LEFT JOIN outcome ON ( call.outcome_id = outcome.outcome_id ) + WHERE contact_phone.case_id = '$case_id' + AND outcome.tryagain =0 + ) AS l ON l.contact_phone_id = c.contact_phone_id + WHERE c.case_id = '$case_id' + AND l.contact_phone_id IS NULL"; + + $r = $db->GetAll($sql); + + //$r contains one row for each phone number that is to be tried again + if (!empty($r)) + $count = count($r); + else + $count = 0; + + $outcome = 1; //default outcome is 1 - not attempted + + //last call + $sql = "SELECT call_id,outcome_id + FROM `call` + WHERE case_id = '$case_id' + ORDER BY call_id DESC + LIMIT 1"; + + $l = $db->GetRow($sql); + + $lastcall = 0; + if (!empty($l)) + $lastcall = $l['call_id']; + + + if ($count == 0) //no numbers to be tried again, get last outcome or 1 + { + //last call + $sql = "SELECT c.outcome_id as outcome_id + FROM `call` as c + JOIN outcome AS o ON ( c.outcome_id = o.outcome_id) + WHERE c.case_id = '$case_id' + ORDER BY o.contacted DESC,c.call_id DESC + LIMIT 1"; + + $t = $db->GetRow($sql); + + if (!empty($t)) + $outcome = $t['outcome_id']; + } + else if ($count >= 1) //one or more numbers to be tried again - first code as eligible if ever eligible... + { + //$r[0]['contact_phone_id']; + $sql = "SELECT c.outcome_id as outcome_id + FROM `call` as c + JOIN outcome AS o ON ( c.outcome_id = o.outcome_id AND o.eligible = 1) + WHERE c.case_id = '$case_id' + ORDER BY c.call_id DESC"; + + $t = $db->GetRow($sql); + + if (!empty($t)) + $outcome = $t['outcome_id']; + } + } + else + { + //the last call is the call with the final otucome + $outcome = $a['outcome_id']; + $lastcall = $a['call_id']; + } + + $sql = "UPDATE `case` + SET current_operator_id = NULL, current_call_id = NULL, current_outcome_id = '$outcome', last_call_id = '$lastcall' + WHERE case_id = '$case_id'"; + + $o = $db->Execute($sql); + $db->CompleteTrans(); + + return $o; + } + else + { + return false; + } + +} + +/** + * Outcome description + * + * @param int $outcome_id The outcome id + * @return string The description of the outcome + */ +function outcome_description($outcome_id) +{ + global $db; + + $sql = "SELECT description + FROM outcome + WHERE outcome_id = '$outcome_id'"; + + $r = $db->CacheGetRow($sql); + + if (!empty($r)) + return $r['description']; + else + return ""; + +} + + +/** + * Determine the outcome for this call attempt + * + * @param int $call_attempt The call attempt + * @return int The outcome_id for this call attempt + + function determine_outcome($call_attempt,$update = false) +{ + global $db; + + //determine outcome code (for now select the last one) + $sql = "SELECT c.outcome_id as outcome_id,c.call_id + FROM `call` as c + LEFT JOIN `outcome` as o on (o.outcome_id = c.outcome_id) + WHERE c.call_attempt_id = '$call_attempt' + ORDER BY o.outcome_type_id ASC, o.default_delay_minutes ASC"; + + $r = $db->GetRow($sql); + + $sql = "SELECT appointment_id + FROM appointment + WHERE call_attempt_id = '$call_attempt'"; + + $a = $db->GetRow($sql); + + $outcome = 1; //default outcome is 1 - not attempted + if (!empty($r)) + { + $outcome = $r['outcome_id']; + $call = $r['call_id']; + + $a = is_on_appointment($call_attempt); //if we were on an appointment, complete it + if ($update && $a) + { + $sql = "UPDATE appointment + SET completed_call_id = '$call' + WHERE appointment_id = '$a'"; + $db->Execute($sql); + } + } + else + { + if (!empty($a)) //made an appointment without making a call + $outcome = 20; + } + + return $outcome; +} + */ + + +/** + * End the current call attempt + * + * @param int $operator_id The operator + * + * @see get_call_attempt() + */ +function end_call_attempt($operator_id) +{ + global $db; + + $ca = get_call_attempt($operator_id); + + if ($ca) + { + $db->StartTrans(); + + $sql = "UPDATE `call_attempt` + SET end = CONVERT_TZ(NOW(),'System','UTC') + WHERE call_attempt_id = '$ca'"; + + $o = $db->Execute($sql); + + $db->CompleteTrans(); + + return $o; + } + else + { + return false; + } + +} + +/** + * Return the respondent of the given call attempt + * + * @param int $call_attempt_id The call attempt + * @return bool|int False if no call attempt/respondent otherwise the respondent_id + * + */ +function get_respondent_id($call_attempt_id) +{ + global $db; + + $sql = "SELECT respondent_id + FROM call_attempt + WHERE call_attempt_id = '$call_attempt_id'"; + + $row = $db->GetRow($sql); + + if (!empty($row)) + return $row['respondent_id']; + else + return false; + +} + +/** + * Return the call attempt of the given operator + * + * @param int $operator_id The oeprator + * @return bool|int False if no case otherwise the call_attempt_id + * + */ +function get_call_attempt($operator_id) +{ + global $db; + + $case_id = get_case_id($operator_id,false); + + if ($case_id) + { + $db->StartTrans(); + + $sql = "SELECT call_attempt_id + FROM `call_attempt` + WHERE case_id = '$case_id' + AND operator_id = '$operator_id' + AND end IS NULL"; + + $row = $db->GetRow($sql); + + $id = false; + + /** + * If no call_attempt, create one + */ + if (empty($row)) + { + $sql = "SELECT respondent_id + FROM respondent + WHERE case_id = '$case_id'"; + + $row2 = $db->GetRow($sql); + + $respondent_id = 0; + if (!empty($row2)) $respondent_id = $row2['respondent_id']; + + $sql = "INSERT INTO `call_attempt` (call_attempt_id,operator_id,case_id,respondent_id,start,end) + VALUES (NULL,'$operator_id','$case_id','$respondent_id',CONVERT_TZ(NOW(),'System','UTC'),NULL)"; + + $db->Execute($sql); + $id = $db->Insert_Id(); + } + else + { + $id = $row['call_attempt_id']; + } + + + $db->CompleteTrans(); + return $id; + } + else + { + return false; + } + +} + +/** + * End the current call + * Store the time and outcome in the database + * + * @param int $operator_id The operator + * @param int $outcome_id The outcome to the call + * @param int $state The end state of the call 5 default + * @return bool True if database execution succeeded + * + * @todo Implement session destruction here + * + */ +function end_call($operator_id,$outcome_id,$state = 5) +{ + global $db; + + $ca = get_call($operator_id); + + if ($ca) + { + $c = get_call_attempt($operator_id); + if ($c) + { + $a = is_on_appointment($c); //if we were on an appointment, complete it with this call + if ($a) + { + $sql = "UPDATE appointment + SET completed_call_id = '$ca' + WHERE appointment_id = '$a'"; + $db->Execute($sql); + } + } + + $sql = "UPDATE `call` + SET end = CONVERT_TZ(NOW(),'System','UTC'), outcome_id = '$outcome_id', state = '$state' + WHERE call_id = '$ca'"; + + $o = $db->Execute($sql); + + return $o; + } + else + { + return false; + } + +} + +/** + * Get the limesurvey "survey id" of the current questionnaire assigned to the operator + * + * @param int $operator_id The operator + * @return bool|int False if none found else the limesurvey sid + * + * @todo Implement session destruction here + * + */ +function get_limesurvey_id($operator_id) +{ + global $db; + + $sql = "SELECT q.lime_sid as lime_sid + FROM `case` as c, questionnaire_sample as qs, sample as s, questionnaire as q + WHERE c.current_operator_id = '$operator_id' + AND c.sample_id = s.sample_id + AND s.import_id = qs.sample_import_id + AND q.questionnaire_id = qs.questionnaire_id + AND c.questionnaire_id = q.questionnaire_id"; + + $rs = $db->GetRow($sql); + + if (empty($rs)) return false; + + return $rs['lime_sid']; + +} + +/** + * Add a respondent to the case + * + * @param int $case_id The case id + * @param string $firstName The first name of the respondent + * @param string $lastName The last name of the respondent + * @param string $Time_zone_name The TimeZone in MySQL format + * + * @return int The respondent ID + * + */ +function add_respondent($case_id,$firstName,$lastName,$Time_zone_name) +{ + global $db; + + $case_id = $db->qstr($case_id,get_magic_quotes_gpc()); + $firstName = $db->qstr($firstName,get_magic_quotes_gpc()); + $lastName = $db->qstr($lastName,get_magic_quotes_gpc()); + $Time_zone_name = $db->qstr($Time_zone_name,get_magic_quotes_gpc()); + + $sql = "INSERT INTO respondent (respondent_id,case_id,firstName,lastName,Time_zone_name) + VALUES (NULL,$case_id,$firstName,$lastName,$Time_zone_name)"; + + $db->Execute($sql); + + return $db->Insert_ID(); + +} + + +?> diff --git a/functions/functions.performance.php b/functions/functions.performance.php new file mode 100644 index 00000000..e2ed3def --- /dev/null +++ b/functions/functions.performance.php @@ -0,0 +1,445 @@ + + * @copyright Deakin University 2007,2008 + * @package queXS + * @subpackage functions + * @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_once(dirname(__FILE__).'/../config.inc.php'); + +/** + * Database file + */ +include_once(dirname(__FILE__).'/../db.inc.php'); + + +/** + * Get completions per hour by shift with interviewer id and first name + * + * @param int $qid The questionnaire ID + * @param int $sid The shift ID + * @return array An array containing operator_id,firstName,CPH + */ +function get_CPH_by_shift($qid,$sid) +{ + global $db; + + $sql = "SELECT o.firstName,o.operator_id,c.completions,ca.time, c.completions/ca.time as CPH + FROM operator as o + JOIN ( SELECT count(*) as completions,a.operator_id + FROM `call` as a, `case` as b, `shift` as s + WHERE a.outcome_id = '10' + AND a.case_id = b.case_id + AND b.questionnaire_id = '$qid' + AND s.shift_id = '$sid' + AND s.`start` <= a.`start` + AND s.`end` >= a.`start` + GROUP BY a.operator_id) as c on (c.operator_id = o.operator_id) + JOIN ( SELECT SUM( TIMESTAMPDIFF(SECOND , a.start, IFNULL(a.end,CONVERT_TZ(NOW(),'System','UTC')))) /3600 as time, a.operator_id + FROM `call_attempt` as a, `case` as b, `shift` as s + WHERE a.case_id = b.case_id + AND b.questionnaire_id = '$qid' + AND s.shift_id = '$sid' + AND s.`start` <= a.`start` + AND s.`end` >= a.`start` + GROUP BY operator_id) as ca on (ca.operator_id = o.operator_id) + ORDER BY cph DESC"; + + return $db->GetAll($sql); +} + +/** + * Get completions per hour by questionnaire with interviewer id and first name + * + * @param int $qid The questionnaire ID + * @return array An array containing operator_id,firstName,CPH + */ +function get_CPH_by_questionnaire($qid) +{ + global $db; + + $sql = "SELECT o.firstName,o.operator_id,c.completions,ca.time, c.completions/ca.time as CPH + FROM operator as o + JOIN ( SELECT count(*) as completions,a.operator_id + FROM `call` as a, `case` as b + WHERE a.outcome_id = '10' + AND a.case_id = b.case_id + AND b.questionnaire_id = '$qid' + GROUP BY a.operator_id) as c on (c.operator_id = o.operator_id) + JOIN ( SELECT SUM( TIMESTAMPDIFF(SECOND , a.start, IFNULL(a.end,CONVERT_TZ(NOW(),'System','UTC')))) /3600 as time, a.operator_id + FROM `call_attempt` as a, `case` as b + WHERE a.case_id = b.case_id + AND b.questionnaire_id = '$qid' + GROUP BY operator_id) as ca on (ca.operator_id = o.operator_id) + ORDER BY cph DESC"; + + return $db->GetAll($sql); +} + +/** + * Get completions per hour overall with interviewer id and first name + * + * @param int $qid The questionnaire ID + * @return array An array containing operator_id,firstName,CPH + */ +function get_CPH() +{ + global $db; + + $sql = "SELECT o.firstName,o.operator_id,c.completions,ca.time, c.completions/ca.time as CPH + FROM operator as o + JOIN ( SELECT count(*) as completions,operator_id + FROM `call` + WHERE outcome_id = '10' + GROUP BY operator_id) as c on (c.operator_id = o.operator_id) + JOIN ( SELECT SUM( TIMESTAMPDIFF(SECOND , start, IFNULL(end,CONVERT_TZ(NOW(),'System','UTC')))) /3600 as time, operator_id + FROM `call_attempt` + GROUP BY operator_id) as ca on (ca.operator_id = o.operator_id) + ORDER BY cph DESC"; + + return $db->GetAll($sql); +} + + + +/** + * Get effectiveness by questionnaire with interviewer id and first name + * + * @param int $qid The questionnaire ID + * @return array An array containing operator_id,firstName,effectiveness + */ +function get_effectiveness_by_questionnaire($questionnaire_id) +{ + global $db; + + $sql = "SELECT o.operator_id, o.firstName, (calltime.totaltime / callattempttime.totaltime) AS effectiveness + FROM operator AS o + JOIN ( + SELECT SUM( TIMESTAMPDIFF( + SECOND , c.start, IFNULL( c.end, CONVERT_TZ( NOW( ) , 'System', 'UTC' ) ) ) ) AS totaltime, operator_id + FROM `call` AS c, `case` as b + WHERE c.case_id = b.case_id + AND b.questionnaire_id = '$questionnaire_id' + GROUP BY operator_id + ) AS calltime ON ( calltime.operator_id = o.operator_id ) + JOIN ( + SELECT SUM( TIMESTAMPDIFF( + SECOND , c.start, IFNULL( c.end, CONVERT_TZ( NOW( ) , 'System', 'UTC' ) ) ) ) AS totaltime, operator_id + FROM `call_attempt` AS c, `case` as b + WHERE c.case_id = b.case_id + AND b.questionnaire_id = '$questionnaire_id' + GROUP BY operator_id + ) AS callattempttime ON ( callattempttime.operator_id = o.operator_id ) + ORDER BY effectiveness DESC"; + + return $db->GetAll($sql); +} + + + +/** + * Get effectiveness overall with interviewer id and first name + * + * @return array An array containing operator_id,firstName,effectiveness + */ +function get_effectiveness() +{ + global $db; + + $sql = "SELECT o.operator_id, o.firstName, (calltime.totaltime / callattempttime.totaltime) AS effectiveness + FROM operator AS o + JOIN ( + SELECT SUM( TIMESTAMPDIFF( + SECOND , c.start, IFNULL( c.end, CONVERT_TZ( NOW( ) , 'System', 'UTC' ) ) ) ) AS totaltime, operator_id + FROM `call` AS c + GROUP BY operator_id + ) AS calltime ON ( calltime.operator_id = o.operator_id ) + JOIN ( + SELECT SUM( TIMESTAMPDIFF( + SECOND , c.start, IFNULL( c.end, CONVERT_TZ( NOW( ) , 'System', 'UTC' ) ) ) ) AS totaltime, operator_id + FROM `call_attempt` AS c + GROUP BY operator_id + ) AS callattempttime ON ( callattempttime.operator_id = o.operator_id ) + ORDER BY effectiveness DESC"; + + return $db->GetAll($sql); +} + + + +/** + * Get the average time on a call with an outcome + * in seconds by questionnaire + * + * @param int $outcome_id The outcome id + * @param int $questionnaire_id The questionnaire id + * @return int Seconds average of calls with this outcome + */ +function get_average_time_questionnaire($outcome_id,$questionnaire_id) +{ + global $db; + + $sql = "SELECT AVG(TIMESTAMPDIFF(SECOND,c.start,c.end)) as average + FROM `call` as c, `case` as q + WHERE c.outcome_id = '$outcome_id' + AND q.case_id = c.case_id + AND q.questionnaire_id = '$questionnaire_id'"; + + $rs = $db->GetRow($sql); + + if (!empty($rs)) + return $rs['average']; + else + return 0; + +} + + + +/** + * Get the average time on a call with an outcome + * in seconds + * + * @param int $outcome_id The outcome id + * @return int Seconds average of calls with this outcome + */ +function get_average_time($outcome_id) +{ + global $db; + + $sql = "SELECT AVG(TIMESTAMPDIFF(SECOND,c.start,c.end)) as average + FROM `call` as c + WHERE c.outcome_id = '$outcome_id'"; + + $rs = $db->GetRow($sql); + + if (!empty($rs)) + return $rs['average']; + else + return 0; + +} + + + +/** + * If not on a shift, display a message + */ +function display_none() +{ + print "

" . T_("No shift") . "

"; +} + +/** + * Display the total number of completions for this project + * + * @param int $qid The questionnaire id + * + */ +function display_total_completions($qid) +{ + global $db; + + $sql = "SELECT count(case_id) as c + FROM `case` + WHERE current_outcome_id = 10 + AND questionnaire_id = '$qid'"; + + $rs = $db->GetRow($sql); + + $c = 0; + if (!empty($rs)) $c = $rs['c']; + + print "

" . T_("Total completions") . "

$c

"; +} + +/** + * Display the total number of completions for this shift + * + * @param int $qid The questionnaire id + * @param int $sid The shift id + * + */ +function display_completions_this_shift($qid,$sid) +{ + global $db; + + $sql = "SELECT count(ca.call_id) as c + FROM `call` as ca, `case` as cs, `shift` as s + WHERE ca.outcome_id = 10 + AND ca.case_id = cs.case_id + AND cs.questionnaire_id = '$qid' + AND s.questionnaire_id = '$qid' + AND s.shift_id = '$sid' + AND ca.start >= s.start + AND ca.start <= s.end"; + + $rs = $db->GetRow($sql); + + $c = 0; + if (!empty($rs)) $c = $rs['c']; + + print "

" . T_("Completions this shift") . "

$c

"; +} + +/** + * Display the total number of completions for the last shift + * + * @param int $qid The questionnaire id + * @param int $sid The current shift id + * + */ +function display_completions_last_shift($qid,$sid) +{ + global $db; + + $sql = "SELECT shift_id + FROM shift + WHERE questionnaire_id = '$qid' + AND shift_id < '$sid' + ORDER BY shift_id DESC + LIMIT 1"; + + $ps = $db->GetRow($sql); + if (empty($ps)) + print "

" . T_("No previous shift") . "

"; + else + { + $psid = $ps['shift_id']; + + $sql = "SELECT count(ca.call_id) as c + FROM `call` as ca, `case` as cs, `shift` as s + WHERE ca.outcome_id = 10 + AND ca.case_id = cs.case_id + AND cs.questionnaire_id = '$qid' + AND s.questionnaire_id = '$qid' + AND s.shift_id = '$psid' + AND ca.start >= s.start + AND ca.start <= s.end"; + + $rs = $db->GetRow($sql); + + $c = 0; + if (!empty($rs)) $c = $rs['c']; + + print "

" . T_("Completions on the previous shift") . "

$c

"; + } +} + + +/** + * Display the total number of completions for the last shift + * at the same number of seconds in to the last shift + * + * @param int $qid The questionnaire id + * @param int $sid The current shift id + * + */ +function display_completions_same_time_last_shift($qid,$sid) +{ + global $db; + + $sql = "SELECT shift_id + FROM shift + WHERE questionnaire_id = '$qid' + AND shift_id < '$sid' + ORDER BY shift_id DESC + LIMIT 1"; + + $ps = $db->GetRow($sql); + if (empty($ps)) + print "

" . T_("No previous shift") . "

"; + else + { + $psid = $ps['shift_id']; + + $sql = "SELECT count(ca.call_id) as c + FROM `call` as ca, `case` as cs, `shift` as s + JOIN `shift` as s2 on (s2.shift_id = '$sid') + WHERE ca.outcome_id = 10 + AND ca.case_id = cs.case_id + AND cs.questionnaire_id = '$qid' + AND s.questionnaire_id = '$qid' + AND s.shift_id = '$psid' + AND ca.start >= s.start + AND ca.start <= DATE_SUB(s.end, INTERVAL TIMESTAMPDIFF(SECOND , CONVERT_TZ(NOW(),'System','UTC'), s2.end) SECOND)"; + + $rs = $db->GetRow($sql); + + $c = 0; + if (!empty($rs)) $c = $rs['c']; + + print "

" . T_("Completions this time on the previous shift") . "

$c

"; + } +} + +/** + * Display the interviewer with the top CPH for this shift + * + * @param int $qid The questionnaire id + * @param int $sid The current shift id + * + */ +function display_top_cph_this_shift($qid,$sid) +{ + global $db; + + $rs = get_CPH_by_shift($qid,$sid); + + if (empty($rs)) + print "

" . T_("No calls made for this shift") . "

"; + else + print "

" . T_("Top CPH for this shift") . "

{$rs[0]['firstName']} - ". round($rs[0]['CPH'],2) ."

"; + +} + +/** + * Display the interviewer with the top CPH overall + * + * @param int $qid The questionnaire id + * + */ +function display_top_cph($qid) +{ + global $db; + + $rs = get_CPH_by_questionnaire($qid); + + if (empty($rs)) + print "

" . T_("No calls made for this project") . "

"; + else + print "

" . T_("Top CPH") . "

{$rs[0]['firstName']} - ". round($rs[0]['CPH'],2) ."

"; + + +} + + + +?> diff --git a/functions/functions.template.php b/functions/functions.template.php new file mode 100644 index 00000000..f8be468e --- /dev/null +++ b/functions/functions.template.php @@ -0,0 +1,38 @@ + + * @copyright Deakin University 2007,2008 + * @package queXS + * @subpackage functions + * @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_once(dirname(__FILE__).'/../config.inc.php'); + + +?> diff --git a/functions/functions.voip.php b/functions/functions.voip.php new file mode 100644 index 00000000..a35d76eb --- /dev/null +++ b/functions/functions.voip.php @@ -0,0 +1,492 @@ + + * @copyright Deakin University 2007,2008 + * @package queXS + * @subpackage functions + * @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_once(dirname(__FILE__).'/../config.inc.php'); + +/** + * Class to interact with Asterisk + * + * @package queXS + */ +class voip { + /** + * Socket connection to Asterisk server + */ + var $socket; + + /** + * Close the socket gracefully on destruct + */ + function __destruct() { + //close the socket + fclose($this->socket); + $this->socket = false; + } + + + /** + * Return a list of active extensions and their corresponding + * channels as an associative array + * + * @return array Key is extension, value is Asterisk channel + * + */ + function getChannels() + { + $ret = $this->query("Action: Status\r\n\r\n","StatusComplete"); + + $c = spliti("\r\n\r\n",$ret); + $chans = array(); + foreach ($c as $s) + { + if(eregi("Event: Status.*Channel: SIP/([0-9a-zA-Z-]+).*Link: ([/0-9a-zA-Z-]+)",$s,$regs)) + { + //print T_("Channel: SIP/") . $regs[1] . " Link " . $regs[2] . "\n"; + $chan = substr($regs[1],0,4); + $chans[$chan] = array("SIP/" . $regs[1],$regs[2]); + } + else if(eregi("Event: Status.*Channel: SIP/([0-9a-zA-Z-]+).*",$s,$regs)) + { + //print T_("Channel: ") . $regs[1] . "\n"; + $chan = substr($regs[1],0,4); + $chans[$chan] = array("SIP/".$regs[1],false); + } + } + return $chans; + + } + + + /** + * Return the channel (if active) given the extension + * Return false if no channel found + * + * @param string $ext Extension as in Asterisk + * @return string|bool The Asterisk channel or false if no channel exists + * + */ + function getChannel($ext,$link = false) + { + $v = $this->getChannels(); + if (isset($v[$ext])) + { + if ($link) + return $v[$ext][1]; + else + return $v[$ext][0]; + } + else + return false; + } + + + /** + * Add another party to an active call (eg add in the supervisor) + * + * @param int $ext The extension of the current call + * @param int $number The phone number to add to the call + * @todo CHECK IF THE MEETING ROOM IS EMPTY before adding use meetme list + * + */ + function addParty($ext,$number) + { + if($ext) + { + $channel = $this->getChannel($ext); + $link = $this->getChannel($ext,true); + + + //check if the meeting room is empty + + //if so: + // 1. call the supervisor to the room + $q = "Action: Originate\r\nChannel: Local/$number@from-internal\r\nPriority: 1\r\nContext: default\r\nApplication: MeetMe\r\nData: " . MEET_ME_ROOM . "|d\r\n\r\n"; + $r = $this->query($q,"Meetme"); + + + // 2. transfer the current call to the room + $r = $this->query("Action: Redirect\r\nChannel: $channel\r\nExtraChannel: $link\r\nExten: " . MEET_ME_ROOM . "\r\nPriority: 1\r\nContext: from-internal-xfer\r\n\r\n","Response"); + + + } + + } + + /** + * Dial call from the call database + * + * @param string $ext The extension to originate the call from + * @param string $number The number to dial + * + */ + function dial($ext,$number) + { + $r = $this->query("Action: Originate\r\nChannel: SIP/$ext\r\nExten: $number\r\nPriority: 1\r\nCallerid: $ext\r\n\r\n","Response"); + } + + + /** + * Hang up the current call by the extension + * + * @param int $ext The extension to hang up for + * + */ + function hangup($ext) + { + if($ext) + { + $channel = $this->getChannel($ext); + $r = $this->query("Action: Hangup\r\nChannel: $channel\r\n\r\n","Response"); + } + + } + + /** + * Begin recording the call to a file + * + * @param string $ext The Asterisk extension + * @param bool|string $filename False for an auto generated file name else specify file name + * @todo Handle multiple recordings + * + */ + function beginRecord($ext,$filename = false) + { + + if($ext) + { + $channel = $this->getChannel($ext); + $r = $this->query("Action: Monitor\r\nChannel: $channel\r\nFile: $filename\r\nFormat: gsm\r\nMix: 1\r\n\r\n","Response"); + } + + } + + + /** + * End the recording on this extension + * + * @param string $ext The Asterisk extension + * @todo Handle multiple recordings + * @see beginRecord() + * + */ + function endRecord($ext) + { + + if($ext) + { + $channel = $this->getChannel($ext); + $r = $this->query("Action: StopMonitor\r\nChannel: $channel\r\n\r\n","Response"); + } + } + + /** + * Return the status of an extension + * + * @param int $ext The extension + * @return bool|int false if not available, 1 for available, 2 for available and on a call + * + */ + function getExtensionStatus($ext) + { + if($ext) + { + $ret = $this->query("Action: ExtensionState\r\nContext: default\r\nExten: $ext\r\nActionID: 1\r\n\r\n","Status:"); + if(eregi("Status: ([0-9]+)",$ret,$regs)) + { + if (isset($regs[1])) + { + // 0 appears to be online, 1 online and on a call + if ($regs[1] == 0) + return 1; + else if ($regs[1] == 1 || $regs[1] == 8) + return 2; + } + } + } + + return false; + + } + + /** + * Return whether we are connected to the Asterisk server or not + * + * @return True if connected else false + * + */ + function isConnected() + { + if ($this->socket) + return true; + else + return false; + } + + /** + * Connect to the Asterisk server + * + * @param string $ip The IP Address + * @param string $user Username for Asterisk manager + * @param string $pass Password for Asterisk manager + * @param bool $events If events should be enabled or not (default false) + * + * @return bool True if connected successfully, else false + */ + function connect($ip,$user="admin",$pass="amp111",$events = false) + { + $this->socket = fsockopen($ip,"5038",$errno,$errstr,1); + if (!$this->socket) + { + print "$errno: $errstr"; + exit(); + return false; + } + + stream_set_timeout($this->socket, 1); + + $q = "Action: Login\r\nUsername: $user\r\nSecret: $pass\r\nEvents: "; + + if ($events) + $q .= "on"; + else + $q .= "off"; + + $q .= "\r\n\r\n"; + + $r = $this->query($q,"accepted"); + + if (strpos($r,"Response: Success")) + { + return true; + } + else + { + fclose($this->socket); + return false; + } + } + + /** + * Query the Asterisk server and wait for a response or timeout + * + * @param string $query The string to send to the Asterisk manager, see {@link http://www.voip-info.org/wiki/view/Asterisk+manager+API API} for details + * @param string $waitfor A string within the return string to wait for before returning + * @return string The response string from Asterisk + * + */ + function query($query,$waitfor=false) + { + $wrets = ""; + + if ($this->socket === false) + return false; + + fputs($this->socket, $query); + + $c = 1; + do + { + $line = fgets($this->socket, 4096); + $wrets .= $line; + $info = stream_get_meta_data($this->socket); + } while ($line != "\n" && !$info['timed_out'] && (strpos($line,$waitfor) === false)); + + return $wrets; + } +} + + + +/** + * Class used to watch Asterisk events and effect changes to queXS database + * + * @package queXS + * @todo automatically code a call if we know it is busy + */ +class voipWatch extends voip { + + + var $keepWatching = true; + + /** + * Watch for Asterisk events and make changes to the queXS databse if + * appropriate + * + * + */ + function watch() + { + /** + * Database file + */ + include_once(dirname(__FILE__).'/../db.inc.php'); + + $line = ""; + + if ($this->socket === false) + return false; + + /** + * Array key: Asterisk unique ID, value: queXS call id + */ + $e = array(); + + /** + * Array key: Asterisk unique ID, value: Asterisk sequence number + */ + $f = array(); + + do + { + //keep reconnecting to the db so it doesn't time out + $db = newADOConnection(DB_TYPE); + $db->Connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); + $db->SetFetchMode(ADODB_FETCH_ASSOC); + + $in = fgets($this->socket, 4096); + + //print "IN: $in\n"; + + /** + * When we have reached the end of a message, process it + * + */ + if ($in == "\r\n") + { + //print "PROCESS: "; + /** + * New channel, assign Asterisk unique id to queXF call id + */ + if(eregi("Event: Newchannel.*Channel: SIP/([0-9]+).*Uniqueid: ([0-9]+)\.([0-9]+)",$line,$regs)) + { + print T_("Extension: ") . $regs[1] . T_(" UniqueID ") . $regs[2] . T_(" Sequence ") . $regs[3] . "\n"; + $sql = "SELECT l.call_id + FROM operator AS o + JOIN (`case` AS c, `call_attempt` AS ca, `call` AS l) ON + ( c.current_operator_id = o.operator_id + AND c.case_id = ca.case_id + AND ca.operator_id = o.operator_id + AND ca.end IS NULL + AND l.call_attempt_id = ca.call_attempt_id + AND l.outcome_id =0 ) + WHERE o.extension = '{$regs[1]}'"; + + $rs = $db->GetRow($sql); + if (!empty($rs)) + { + $e[$regs[2]] = $rs['call_id']; //set call id + $f[$regs[2]] = $regs[3]; //set sequence + } + } + /** + * The call is ringing + */ + else if (eregi("Event: Dial.*SrcUniqueid: ([0-9]+)",$line,$regs)) + { + print T_("Ringing") . T_(" UniqueID ") . $regs[1] . "\n"; + if (isset($e[$regs[1]])) //if we know the call of this unique id + { + $call_id = $e[$regs[1]]; + $sql = "UPDATE `call` + SET state = 2 + WHERE call_id = '$call_id'"; + $db->Execute($sql); + //print $sql; + } + } + /** + * The call has been answered + */ + else if (eregi("Event: Link.*Uniqueid1: ([0-9]+)",$line,$regs)) + { + print T_("Answered") . T_(" UniqueID ") . $regs[1] . "\n"; + if (isset($e[$regs[1]])) //if we know the call of this unique id + { + $call_id = $e[$regs[1]]; + $sql = "UPDATE `call` + SET state = 3 + WHERE call_id = '$call_id'"; + $db->Execute($sql); + // print $sql; + } + } + /** + * The call has been hung up + */ + else if (eregi("Event: Hangup.*Uniqueid: ([0-9]+)\.([0-9]+)",$line,$regs)) + { + print T_("Hangup") . T_(" UniqueID ") . $regs[1] . "\n"; + // print_r($e); + if (isset($e[$regs[1]]) && $f[$regs[1]] == $regs[2]) //if we know the call and it is the same line hangingup + { + $call_id = $e[$regs[1]]; + $sql = "UPDATE `call` + SET state = 4 + WHERE call_id = '$call_id' + AND outcome_id = '0'"; + $db->Execute($sql); //don't update if already coded outcome + + // print $sql; + + //unset the variables + unset($e[$regs[1]]); + unset($f[$regs[1]]); + } + } + + //print $line . "\n\n"; + $line = ""; + } + else + { + /** + * Append the lines to the message if we are not yet at the end of one + */ + $line .= $in; + } + + + + @flush(); + + } while ($this->keepWatching); + + } +} + + + +?> diff --git a/functions/functions.xhtml.php b/functions/functions.xhtml.php new file mode 100644 index 00000000..d6639ef1 --- /dev/null +++ b/functions/functions.xhtml.php @@ -0,0 +1,170 @@ + + * @copyright Deakin University 2007,2008 + * @package queXS + * @subpackage functions + * @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 + * + */ + + +/** + * Display a valid XHTML Strict header + * + * @param string $title HTML title + * @param bool $body True if to display the end of the head/body + * @param bool|array $css False for no CSS otherwise array of CSS include files + * @param bool|array $javascript False for no Javascript otherwise array of Javascript include files + * @param string $bodytext Space in the body element: good for onload='top.close()' to close validly + * @param bool|int $refresh False or 0 for no refresh otherwise the number of seconds to refresh + * + * @see xhtml_foot() + */ +function xhtml_head($title="",$body=true,$css=false,$javascript=false,$bodytext=false,$refresh=false) +{ +?> + + + <? if (empty($title)) print "queXS"; else print "queXS: $title"; ?> +"; + if ($javascript) + foreach ($javascript as $j) print ""; + if ($refresh) + print " + + "; + if (!$body) return; +?> + +"; else print ""; +} + +/** + * Display a valid XHTML Strict footer + * + * @see xhtml_head() + */ + +function xhtml_foot() +{ +?> + + + +"; + if ($head) + { + print ""; + foreach ($head as $e) + print"$e"; + print ""; + } + foreach($content as $row) + { + if ($highlight && isset($row[key($highlight)]) && $row[key($highlight)] == current($highlight)) + print ""; + else + print ""; + + foreach ($fields as $e) + print "{$row[$e]}"; + + print ""; + } + print ""; +} + + +/** + * Display a drop down list based on a given array + * + * Example SQL: + * SELECT questionnaire_id as value,description, CASE WHEN questionnaire_id = '$questionnaire_id' THEN 'selected=\'selected\'' ELSE '' END AS selected + * FROM questionnaire + * + * + * @param array $elements An array of arrays containing a value and a description and if selected (3 elements) + * @param string $selectid The ID of the element + * @param string $var The var name of the return string + * @param bool $useblank Add a blank element to the start of the list + * @param string|bool $pass Anything to pass along in the return string (remember to separate with &) + * @param bool $js Whether to use JS or not + * + */ +function display_chooser($elements, $selectid, $var, $useblank = true, $pass = false, $js = true) +{ + print "
"; + +} + + + +?>