stats reduce view
[disclosr.git] / admin / importRTKbodies.php
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
<?php
 
require_once '../include/common.inc.php';
 
$db = $server->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;
}
 
function extractCSVAccounts($url, $nameField, $accountField, $filter) {
    global $accounts, $nametoid;
    $request = Requests::get($url);
    echo $url;
    $Data = str_getcsv($request->body, "\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 "$agencyName missing" . PHP_EOL;
                    } else {
                        echo $Row[array_search($nameField, $headers)] . PHP_EOL;
                             $accounts[$nametoid[trim($agencyName)]]["rtkURLs"][$agencyName] = 'http://www.righttoknow.org.au/body/'.$Row[array_search($accountField, $headers)];
                    }
               } else {
                echo "error finding any agency" . $line . PHP_EOL;
            }
        }
    }
}
 
extractCSVAccounts("http://www.righttoknow.org.au/body/all-authorities.csv","Agency","URL name");
print_r($accounts);
/* foreach ($accounts as $id => $accountTypes) {
    echo $id . "<br>" . PHP_EOL;
    $doc = object_to_array($db->get($id));
    // print_r($doc);
 
    foreach ($accountTypes as $accountType => $accounts) {
        if (!isset($doc["has" . $accountType]) || !is_array($doc["has" . $accountType])) {
            $doc["has" . $accountType] = Array();
        }
        $doc["has" . $accountType] = array_unique(array_merge($doc["has" . $accountType], $accounts));
    }
    $db->save($doc);
}*/
?>