add todo
[disclosr.git] / admin / exportAusbudget.php
Alex Sadleir



































































1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
 
include_once("../include/common.inc.php");
require($basePath . 'lib/phpquery/phpQuery/phpQuery.php');
 
setlocale(LC_CTYPE, 'C');
 
$dir = "./ausbudget/";
$dhandle = opendir("./ausbudget/");
$headers = Array("Table ID", "Portfolio", "Agency", "Program", "Scheme", "2011-2012", "2012-2013", "Difference", "Source");
 
$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 <br>";
                $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 "<b>$key</b><br>";
                            $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 <br>";
                            $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();
                            }
                        }
                    }
                }
            }
        }
    }
    die;
}
?>