Testing facebook imports
Testing facebook imports


Former-commit-id: 26f7cc47bbd4c30bb9dab99a095d0363e52c3766

[submodule "couchdb/couchdb-lucene"] [submodule "couchdb/couchdb-lucene"]
path = couchdb/couchdb-lucene path = couchdb/couchdb-lucene
url = https://github.com/rnewson/couchdb-lucene.git url = https://github.com/rnewson/couchdb-lucene.git
[submodule "couchdb/settee"] [submodule "couchdb/settee"]
path = couchdb/settee path = couchdb/settee
url = https://github.com/inadarei/settee.git url = https://github.com/inadarei/settee.git
[submodule "lib/springy"] [submodule "lib/springy"]
path = lib/springy path = lib/springy
url = https://github.com/dhotson/springy.git url = https://github.com/dhotson/springy.git
[submodule "lib/php-diff"] [submodule "lib/php-diff"]
path = lib/php-diff path = lib/php-diff
url = https://github.com/chrisboulton/php-diff.git url = https://github.com/chrisboulton/php-diff.git
[submodule "lib/Requests"] [submodule "lib/Requests"]
path = lib/Requests path = lib/Requests
url = https://github.com/rmccue/Requests.git url = https://github.com/rmccue/Requests.git
[submodule "javascripts/flotr2"] [submodule "javascripts/flotr2"]
path = javascripts/flotr2 path = javascripts/flotr2
url = https://github.com/HumbleSoftware/Flotr2.git url = https://github.com/HumbleSoftware/Flotr2.git
  [submodule "lib/phpquery"]
  path = lib/phpquery
  url = https://github.com/TobiaszCudnik/phpquery.git
   
  <?php
 
  include_once("../include/common.inc.php");
 
  $format = "csv";
  //$format = "json";
  if (isset($_REQUEST['format'])) $format = $_REQUEST['format'];
 
  setlocale(LC_CTYPE, 'C');
  if ($format == "csv") {
  $headers = Array("name");
  } else {
  $headers = Array();
  }
 
  $db = $server->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;
  }
  ?>
 
  <?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);
  $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
  */
  ?>
 
<?php <?php
   
// http://gold.gov.au/reports/department/index.xml // http://gold.gov.au/reports/department/index.xml
require_once '../include/common.inc.php'; require_once '../include/common.inc.php';
try { $db = $server->get_db('disclosr-agencies');
$server->create_db('disclosr-agencies'); $rows = $db->get_view("app", "byName")->rows;
} catch (SetteeRestClientException $e) { $nametoid = Array();
setteErrorHandler($e); $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.');
  }
?> ?>
   
<?php <?php
   
require_once '../include/common.inc.php'; require_once '../include/common.inc.php';
try { require($basePath.'lib/phpquery/phpQuery/phpQuery.php');
$server->create_db('disclosr-agencies');  
} catch (SetteeRestClientException $e) { $db = $server->get_db('disclosr-agencies');
setteErrorHandler($e); $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'); function extractHTMLAccounts($url, $accountType) {
createAgencyDesignDoc(); global $accounts, $nametoid;
  $request = Requests::get($url);
  $doc = phpQuery::newDocumentHTML($request->body);
  phpQuery::selectDocument($doc);
  foreach (pq('tr')->elements as $tr) {
  //echo $tr->nodeValue.PHP_EOL;
  $agency = "";
  $url = "";
  foreach ($tr->childNodes as $td) {
  $class = $td->getAttribute("class");
  //echo "cccc $class ".$td->nodeValue.PHP_EOL;
  if ($class == "s11" || $class == "s10" || $class == "s7") {
  $agency = $td->nodeValue;
  } else if ($class == "s6" || $class == "s9"){
  $url = $td->nodeValue;
  foreach($td->childNodes as $a) {
  $href = $a->getAttribute("href");
  if ($href != "") {
  $url = $href;
  }
  }
  }
  }
  if ($agency != "" && $url != "") {
  if (!in_array(trim($agency), array_keys($nametoid))) {
  echo trim($agency)." missing" . PHP_EOL;
  } else {
  // echo $agency." = ".$url.PHP_EOL;
  $accounts[$nametoid[trim($agency)]][$accountType][] = $url;
  }
   
  }
  }
   
  }
   
// twitter https://docs.google.com/spreadsheet/fm?id=tsJVd9EYoAjbl014y3qMgWg.03918275400592898296.8568379511161083736&hl=en&fmcmd=5&gid=0 function extractCSVAccounts($url, $accountType, $nameField, $accountField, $filter) {
// RSS https://docs.google.com/spreadsheet/fm?id=tbqjwIDHKHiVYF_glJ93GgA.03918275400592898296.8789688748524615194&authkey=CJDP-uQG&hl=en_GB&fmcmd=5&gid=0 global $accounts, $nametoid;
// facebook https://docs.google.com/spreadsheet/fm?id=tkcqoo9wrgzNWmoANuVhsBw.03918275400592898296.3040387705062056060&authkey=CKzl7r0I&hl=en_GB&fmcmd=5&gid=0 $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 trim($agencyName)." missing" . PHP_EOL;
  } else {
  // echo $Row[array_search($nameField, $headers)] . PHP_EOL;
  $accounts[$nametoid[trim($agencyName)]][$accountType][] = $Row[array_search($accountField, $headers)];
  }
  }
  } 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", "Twitter", "Agency/Body/Event", "", true);
  // RSS
  extractHTMLAccounts("https://docs.google.com/spreadsheet/pub?hl=en_GB&hl=en_GB&key=0Ah41IAK0HzSTdGJxandJREhLSGlWWUZfZ2xKOTNHZ0E&output=html", "RSS");
  // facebook
  extractHTMLAccounts("https://docs.google.com/spreadsheet/pub?hl=en_GB&hl=en_GB&key=0Ah41IAK0HzSTdGtjcW9vOXdyZ3pOV21vQU51VmhzQnc&single=true&gid=0&output=html", "Facebook");
   
?> ?>
   
file:b/admin/index.xml (new)
  <?xml version="1.0" encoding="utf-8" ?>
  <entryList>
  <department>
  <reportURI><![CDATA[http://www.directory.gov.au/reports/department/subreport321.rtf]]></reportURI>
  <websiteURI><![CDATA[/directory?ea0_lfz99_120.&&a581ffe4-b532-4d81-bae3-9e937c6104e8]]></websiteURI>
  <dn><![CDATA[ou=Aboriginal Hostels Limited (AHL),ou=Other Portfolio Bodies\, Committees\, Boards and Councils,o=Families\, Housing\, Community Services and Indigenous Affairs,o=Portfolios,o=Commonwealth of Australia,c=AU]]></dn>
  <name><![CDATA[Aboriginal Hostels Limited (AHL)]]></name>
  <phone><![CDATA[(02) 6212 2000]]></phone>
  <email><![CDATA[ahlmarketing@ahl.gov.au]]></email>
  <postalAddress><![CDATA[PO Box 30, Woden ACT 2606]]></postalAddress>
  <id><![CDATA[a581ffe4-b532-4d81-bae3-9e937c6104e8]]></id>
  <category>A</category>
  <lastModified><![CDATA[20101119150641.646+1100]]></lastModified>
  </department>
  <department>
  <reportURI><![CDATA[http://www.directory.gov.au/reports/department/subreport322.rtf]]></reportURI>
  <websiteURI><![CDATA[/directory?ea0_lfz99_120.&&e4471b59-3866-4e0e-bbca-260114348e3f]]></websiteURI>
  <dn><![CDATA[ou=Aboriginal Studies Press (ASP),ou=Australian Institute of Aboriginal and Torres Strait Islander Studies,ou=Other Portfolio Bodies\, Committees\, Boards and Councils,o=Innovation And Industry,o=Portfolios,o=Commonwealth of Australia,c=AU]]></dn>
  <name><![CDATA[Aboriginal Studies Press (ASP)]]></name>
  <phone><![CDATA[(02) 6246 1186]]></phone>
  <email><![CDATA[asp@aiatsis.gov.au]]></email>
  <postalAddress><![CDATA[GPO Box 553, Canberra ACT 2601]]></postalAddress>
  <id><![CDATA[e4471b59-3866-4e0e-bbca-260114348e3f]]></id>
  <category>A</category>
  <lastModified><![CDATA[20101007150855.716+1100]]></lastModified>
  </department>
  <department>
  <reportURI><![CDATA[http://www.directory.gov.au/reports/department/subreport323.rtf]]></reportURI>
  <websiteURI><![CDATA[/directory?ea0_lfz99_120.&&2410b559-3606-43f6-ba4d-5819b5d44dd8]]></websiteURI>
  <dn><![CDATA[ou=Administrative Appeals Tribunal,ou=Other Portfolio Bodies\, Committees\, Boards and Councils,o=Attorney-General,o=Portfolios,o=Commonwealth of Australia,c=AU]]></dn>
  <name><![CDATA[Administrative Appeals Tribunal]]></name>
  <shortName><![CDATA[AAT]]></shortName>
  <phone><![CDATA[1300 366 700]]></phone>
  <postalAddress><![CDATA[GPO Box 9955, Sydney NSW 2001]]></postalAddress>
  <id><![CDATA[2410b559-3606-43f6-ba4d-5819b5d44dd8]]></id>
  <category>A</category>
  <lastModified><![CDATA[20110322172221.506+1100]]></lastModified>
  </department>
  <department>
  <reportURI><![CDATA[http://www.directory.gov.au/reports/department/subreport324.rtf]]></reportURI>
  <websiteURI><![CDATA[/directory?ea0_lfz99_120.&&9a72269b-2d86-4213-9809-b310d8fb8242]]></websiteURI>
  <dn><![CDATA[ou=Aged Care Standards and Accreditation Agency Ltd,ou=Other Portfolio Bodies\, Committees\, Boards and Councils,o=Health and Ageing,o=Portfolios,o=Commonwealth of Australia,c=AU]]></dn>
  <name><![CDATA[Aged Care Standards and Accreditation Agency Ltd]]></name>
  <phone><![CDATA[(02) 9633 1711]]></phone>
  <email><![CDATA[national@accreditation.org.au]]></email>