From: maxious Date: Sun, 11 Mar 2012 10:39:08 +0000 Subject: Testing facebook imports X-Git-Url: https://maxious.lambdacomplex.org/git/?p=disclosr.git&a=commitdiff&h=758723a1e47a93641ef639806f8d72c2dfeeb1f7 --- Testing facebook imports Former-commit-id: 7c36c79b53a3bdd3ff5acaec5e5ceadb4b73aff1 --- --- /dev/null +++ b/admin/exportEmployees.csv.php @@ -1,1 +1,86 @@ +get_db('disclosr-agencies'); +try { + $rows = $db->get_view("app", "all", null, true)->rows; + + $dataValues = Array(); + foreach ($rows as $row) { + if (isset($row->value->statistics->employees)) { + + $headers = array_unique(array_merge($headers, array_keys(object_to_array($row->value->statistics->employees)))); + } + } +} catch (SetteeRestClientException $e) { + setteErrorHandler($e); +} + +$fp = fopen('php://output', 'w'); +if ($fp && $db) { + if ($format == "csv") { + header('Content-Type: text/csv; charset=utf-8'); + header('Content-Disposition: attachment; filename="export.employeestats.' . date("c") . '.csv"'); + } + header('Pragma: no-cache'); + header('Expires: 0'); + if ($format == "csv") { + fputcsv($fp, $headers); + } else if ($format == "json") { + echo '{ + "labels" : ["' . implode('","', $headers) . '"],'.PHP_EOL; + } + try { + $agencies = $db->get_view("app", "all", null, true)->rows; + //print_r($agencies); + $first = true; + if ($format == "json") { + echo '"data" : ['.PHP_EOL; + + } + foreach ($agencies as $agency) { + + if (isset($agency->value->statistics->employees)) { + $row = Array(); + $agencyEmployeesArray = object_to_array($agency->value->statistics->employees); + foreach ($headers as $i => $fieldName) { + if (isset($agencyEmployeesArray[$fieldName])) { + $row[] = '['.$i.','.$agencyEmployeesArray[$fieldName]["value"].']'; + } else { + $row[] = '['.$i.',0]'; + } + } + if ($format == "csv") { + fputcsv($fp, array_values($row)); + } else if ($format == "json") { + if (!$first) echo ","; + echo '{"data" : [' . implode(",", array_values($row)) . '], "label": "'.$agency->value->name.'", "lines" : { "show" : true }, "points" : { "show" : true }}'.PHP_EOL; + $first = false; + } + } + } + if ($format == "json") { + echo '] + }'.PHP_EOL; + + } + } catch (SetteeRestClientException $e) { + setteErrorHandler($e); + } + + die; +} +?> + --- a/admin/importDirectoryUUIDs.php +++ b/admin/importDirectoryUUIDs.php @@ -1,13 +1,37 @@ create_db('disclosr-agencies'); -} catch (SetteeRestClientException $e) { - setteErrorHandler($e); +$db = $server->get_db('disclosr-agencies'); +$rows = $db->get_view("app", "byName")->rows; +$nametoid = Array(); +$sums = Array(); +foreach ($rows as $row) { + $nametoid[trim($row->key)] = $row->value; } -$db = $server->get_db('disclosr-agencies'); -createAgencyDesignDoc(); +if (file_exists('index.xml')) { + $xml = simplexml_load_file('index.xml'); + + foreach ($xml as $agency) { + $names = Array(); + $names[] = "".$agency->name; + + if (isset($agency->shortName)) { + $names[] = "".$agency->shortName; + } + foreach ($names as $name) { + if (!in_array($name, array_keys($nametoid))) { + echo "$name missing".PHP_EOL; + print_r($names); + echo $agency->dn; + echo PHP_EOL; + echo PHP_EOL; + } + } + } +} else { + exit('Failed to open test.xml.'); +} ?> --- a/admin/importGov2RegisterRSSFacebookTwitter.php +++ b/admin/importGov2RegisterRSSFacebookTwitter.php @@ -1,16 +1,61 @@ create_db('disclosr-agencies'); -} catch (SetteeRestClientException $e) { - setteErrorHandler($e); + +$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; } -$db = $server->get_db('disclosr-agencies'); -createAgencyDesignDoc(); -// twitter https://docs.google.com/spreadsheet/fm?id=tsJVd9EYoAjbl014y3qMgWg.03918275400592898296.8568379511161083736&hl=en&fmcmd=5&gid=0 -// RSS https://docs.google.com/spreadsheet/fm?id=tbqjwIDHKHiVYF_glJ93GgA.03918275400592898296.8789688748524615194&authkey=CJDP-uQG&hl=en_GB&fmcmd=5&gid=0 -// facebook https://docs.google.com/spreadsheet/fm?id=tkcqoo9wrgzNWmoANuVhsBw.03918275400592898296.3040387705062056060&authkey=CKzl7r0I&hl=en_GB&fmcmd=5&gid=0 +function extractCSVAccounts($url, $nameField, $accountField, $filter) { + global $accounts, $nametoid; + $request = Requests::get($url); + $Data = str_getcsv($request->body, "\n"); //parse the rows + $headers = Array(); + foreach ($Data as $num => $line) { + $Row = str_getcsv($line, ","); + if ($num == 0) { + + } else if ($num == 1) { + $headers = $Row; + //print_r($headers); + } else { + if (isset($Row[array_search($nameField, $headers)])) { + $agencyName = $Row[array_search($nameField, $headers)]; + if (!$filter || $Row[array_search("State", $headers)] == "NAT") { + if (!in_array(trim($agencyName), array_keys($nametoid))) { + echo "$agencyName missing" . PHP_EOL; + } else { + // echo $Row[array_search($nameField, $headers)] . PHP_EOL; + } + } + } else { + //echo "error finding agency" . $line . PHP_EOL; + } + } + } +} + +// http://agimo.govspace.gov.au/page/gov2register/ +// twitter +//extractCSVAccounts("https://docs.google.com/spreadsheet/pub?key=0Ap1exl80wB8OdHNKVmQ5RVlvQWpibDAxNHkzcU1nV2c&single=true&gid=0&output=csv", "Agency/Body/Event", "", true); +// RSS +// https://docs.google.com/spreadsheet/pub?hl=en_GB&hl=en_GB&key=0Ah41IAK0HzSTdGJxandJREhLSGlWWUZfZ2xKOTNHZ0E&output=csv +// facebook +extractCSVAccounts("https://docs.google.com/spreadsheet/pub?hl=en_GB&hl=en_GB&key=0Ah41IAK0HzSTdGtjcW9vOXdyZ3pOV21vQU51VmhzQnc&single=true&gid=0&output=csv","Agency","Name"); + +/* + * http://australia.gov.au/news-and-media/media-release-rss-feeds + * http://australia.gov.au/news-and-media/social-media/blogs + * http://australia.gov.au/news-and-media/social-media/twitter + * http://australia.gov.au/news-and-media/social-media/facebook + * http://australia.gov.au/news-and-media/social-media/youtube + * http://australia.gov.au/news-and-media/social-media/flickr + * http://australia.gov.au/news-and-media/social-media/apps http://www.harmony.gov.au/get-involved/app-downloads.htm http://www.em.gov.au/Resources/Pages/Before-the-Storm-phone-game.aspx + * http://australia.gov.au/news-and-media/social-media/podcasts + */ ?> --- /dev/null +++ b/admin/index.xml @@ -1,1 +1,2607 @@ + + + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + + + + +A + + + + + + + + + + +A + + + + + + + + +A + + + + + + + + + + +A + + + + + + + + + + +A + + + + + + + + + + +A + + + + + + + + + + +A + + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + + + + +A + + + + + + + + + + + + +A + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + + +A + + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + + + + +A + + + + + + + + + + + + +A + + + + + + + + + + + + +A + + + + + + + + + + + + +A + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + +A + + + + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + + +A + + + + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + + + + +A + + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + + +A + + + + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + + +A + + + + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + + + + +A + + + + + + + + + + + + +A + + + + + + + + + + + + +A + + + + + + + + + + +A + + + + + + + + + +A + + + + + + + + + + +A + + + + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + + + + +A + + + + + + + + + + + + +A + + + + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + + + +A + + + + + + + + + + + + +A + + + + + + + + + + +