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 | <?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 $Data = str_getcsv(file_get_contents("all-authorities.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 "$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)]; $accounts[$nametoid[trim($agencyName)]]["rtkDescriptions"][$agencyName] = $Row[array_search("Notes", $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 => $allvalues) { echo $id . "<br>" . PHP_EOL; $doc = object_to_array($db->get($id)); // print_r($doc); foreach ($allvalues as $valueType => $values) { if (!isset($doc[ $valueType]) || !is_array($doc[ $valueType])) { $doc[ $valueType] = Array(); } $doc[ $valueType] = array_unique(array_merge($doc[ $valueType], $values)); if ( $valueType == "rtkDescriptions") { foreach ($values as $descriptionAgency => $descriptionValue) { if ($descriptionAgency == $doc->name) { $doc->description = $descriptionValue; } } } } if (isset($doc->value->rtkDescriptions[$doc->value->name])) $doc->value->description = $doc->value->rtkDescriptions[$doc->value->name]; $db->save($doc); } ?> |