--- a/admin/importAusbudget.php
+++ b/admin/importAusbudget.php
@@ -1,68 +1,69 @@
get_db('disclosr-agencies');
+$rows = $db->get_view("app", "byName")->rows;
+$nametoid = Array();
+$accounts = Array();
+foreach ($rows as $row) {
+ $nametoid[trim($row->key)] = $row->value;
+}
+$nameField = "Agency";
+$elevenField = "2011-2012";
+$twelveField = "2012-2013";
+// $request = Requests::get($url);
+//echo $url;
+// $Data = str_getcsv($request->body, "\n"); //parse the rows
+$Data = str_getcsv(file_get_contents("ausbudget.csv"), "\n"); //parse the rows
+$headers = Array();
+foreach ($Data as $num => $line) {
+ $Row = str_getcsv($line, ",");
+ if ($num == 0) {
+ $headers = $Row;
+ print_r($headers);
+ } else {
+ if (isset($Row[array_search($nameField, $headers)])) {
+ $agencyName = $Row[array_search($nameField, $headers)];
+ if (!in_array(trim($agencyName), array_keys($nametoid))) {
+ echo trim($agencyName) . " missing" . PHP_EOL;
+ } else {
+ //echo $Row[array_search($nameField, $headers)] . PHP_EOL;
+// print_r($Row);
+ if (!is_array($accounts[$nametoid[trim($agencyName)]]["budget"]['2011-2012'])) $accounts[$nametoid[trim($agencyName)]]["budget"]['2011-2012'] = Array();
+ if (!is_array($accounts[$nametoid[trim($agencyName)]]["budget"]['2012-2013'])) $accounts[$nametoid[trim($agencyName)]]["budget"]['2012-2013'] = Array();
-$dir = "./ausbudget/";
-$dhandle = opendir("./ausbudget/");
-$headers = Array("Table ID", "Portfolio", "Agency", "Program", "Scheme", "2011-2012", "2012-2013", "Difference", "Source");
+ if (!isset($accounts[$nametoid[trim($agencyName)]]["budget"]['2011-2012']['value'])) $accounts[$nametoid[trim($agencyName)]]["budget"]['2011-2012']['value'] = 0;
+ if (!isset($accounts[$nametoid[trim($agencyName)]]["budget"]['2012-2013']['value'])) $accounts[$nametoid[trim($agencyName)]]["budget"]['2012-2013']['value'] = 0;
+ $accounts[$nametoid[trim($agencyName)]]["budget"]['2011-2012']['value'] += $Row[array_search($elevenField, $headers)];
+ $accounts[$nametoid[trim($agencyName)]]["budget"]['2012-2013']['value'] += $Row[array_search($twelveField, $headers)];
-$fp = fopen('php://output', 'w');
-if ($fp) {
- header('Content-Type: text/csv; charset=utf-8');
- header('Content-Disposition: attachment; filename="export.' . date("c") . '.csv"');
- header('Pragma: no-cache');
- header('Expires: 0');
- fputcsv($fp, $headers);
- if ($dhandle) {
- // loop through all of the files
- while (false !== ($fname = readdir($dhandle))) {
- if (($fname != '.') && ($fname != '..')) {
- //echo "$fname
";
- $html = phpQuery::newDocumentHTML(file_get_contents($dir . $fname));
- phpQuery::selectDocument($html);
- foreach (pq('table')->elements as $table) {
- $data = Array();
- ////echo "loltable";
- //echo $table->ownerDocument->saveXML($table);
- foreach (pq('tr',$table)->elements as $row) {
- //echo "lolrow";
- $rowText = pq($row)->text();
- if (strpos($rowText, "Twitter") === false) {
-
- $key = trim(pq("td:first", $row)->text());
- //echo "$key
";
- $value = trim(str_replace(pq("td:first", $row)->text(), "", pq("td", $row)->text()));
- if ($key == "2011-2012" || $key == "2012-2013") {
- $eValue = explode("-", $value);
- $value = trim(str_replace(Array("$", ",", "\n"), "", $eValue[0]));
- }
- //echo "$value
";
- $data[$key] = trim(str_replace(Array("\n"), "", $value));
- if ($key == "Source") {
-
- foreach ($headers as $fieldName) {
- if (isset($data[$fieldName])) {
-
- $csvrow[] = $data[$fieldName];
- } else {
- $csvrow[] = "";
- }
- }
-
- fputcsv($fp, array_values($csvrow));
- $data = Array();
- $csvrow = Array();
- }
- }
- }
- }
+ $accounts[$nametoid[trim($agencyName)]]["budget"]['2011-2012']['source'] = 'http://budgetaus.net/';
+ $accounts[$nametoid[trim($agencyName)]]["budget"]['2012-2013']['source'] = 'http://budgetaus.net/';
}
+ } else {
+ echo "error finding any agency" . $line . PHP_EOL;
}
}
- die;
+}
+
+
+
+//print_r($accounts);
+foreach ($accounts as $id => $allvalues) {
+ echo $id . "
" . PHP_EOL;
+ $doc = object_to_array($db->get($id));
+ // print_r($doc);
+
+ foreach ($allvalues as $valueType => $values) {
+ if (!isset($doc['statistics'][$valueType]) || !is_array($doc['statistics'][$valueType])) {
+
+ $doc['statistics'][$valueType] = Array();
+ }
+ $doc['statistics'][$valueType] = array_unique(array_merge($doc['statistics'][$valueType], $values));
+ }
+
+ $db->save($doc);
}
?>