get_db('disclosr-agencies');
$rows = $db->get_view("app", "byName")->rows;
$nametoid = Array();
$sums = Array();
$functions = Array();
foreach ($rows as $row) {
$nametoid[trim($row->key)] = $row->value;
}
$request = Requests::get("http://www.apsc.gov.au/publications-and-media/parliamentary/state-of-the-service/new-sosr/appendix-2-aps-agencies");
$doc = phpQuery::newDocumentHTML($request->body);
phpQuery::selectDocument($doc);
foreach (pq('tr')->elements as $tr) {
//echo $tr->nodeValue.PHP_EOL;
$agency = "";
$employees = "";
$function = "";
$i = 0;
foreach ($tr->childNodes as $td) {
//echo $td->nodeValue." $i
";
if ($i == 0)
$agency = $td->nodeValue;
if ($i == 2) {
$employees = trim(str_replace(",", "", $td->nodeValue));
}
if ($i == 4) {
$function = $td->nodeValue;
}
$i++;
}
if ($agency != "" && $employees != "" && $function != "") {
$name = trim(str_replace('2','',$agency));
//echo "$name
" . PHP_EOL;
if (isset($nametoid[$name])) {
$id = $nametoid[$name];
//echo $id . "
" . PHP_EOL;
@$sums[$id]["2011-2012"] += $employees;
$functions[$id] = $function;
} else if ($agency != "Agency"){
echo "
ERROR NAME '$agency' MISSING FROM ID LIST
" . PHP_EOL;
die();
}
} else {
echo "skipped $agency";
}
}
//print_r($sums);
foreach ($sums as $id => $sum) {
echo $id . "
" . PHP_EOL;
$doc = $db->get($id);
echo $doc->name . "
" . PHP_EOL;
// print_r($doc);
$changed = false;
if (!isset($doc->statistics)) {
$changed = true;
$doc->statistics = new stdClass();
}
if (!isset($doc->statistics->employees)) {
$changed = true;
$doc->statistics->employees = new stdClass();
}
foreach ($sum as $timePeriod => $value) {
if (!isset($doc->statistics->employees->$timePeriod->value)
|| $doc->statistics->employees->$timePeriod->value != $value) {
$changed = true;
$doc->statistics->employees->$timePeriod = Array("value" => $value, "source" => "http://apsc.gov.au/stateoftheservice/");
$doc->employees = $value;
$doc->functionClassification = $functions[$id];
}
}
if ($changed) {
$db->save($doc);
} else {
echo "not changed" . "
" . PHP_EOL;
}
}
// employees: timeperiod, source = apsc state of service, value
?>