From: Alexander Sadleir Date: Thu, 12 Jan 2012 09:26:34 +0000 Subject: Better graph, include social media in schema for agencies X-Git-Url: https://maxious.lambdacomplex.org/git/?p=disclosr.git&a=commitdiff&h=37c23e5391b4f72ead17bf17882d1fcd76d64cbd --- Better graph, include social media in schema for agencies Former-commit-id: c8de24923a04e8b3ef19fcae4db577255ebef88f --- --- a/.gitmodules +++ b/.gitmodules @@ -4,4 +4,7 @@ [submodule "couchdb/settee"] path = couchdb/settee url = https://github.com/inadarei/settee.git +[submodule "lib/springy"] + path = lib/springy + url = https://github.com/dhotson/springy.git --- a/getAgency.php +++ b/getAgency.php @@ -4,6 +4,7 @@ include_header(); function displayValue($key, $value, $mode) { + global $db; if ($mode == "view") { if (is_array($value)) { echo "$key
    "; @@ -30,8 +31,16 @@ } else { if (strpos($key, "_") === 0) { echo""; - } if (strpos($key, "has") === 0) { - echo ""; + } else if ($key == "parentOrg") { + echo ""; + } else if (strpos($key, "has") === 0) { + echo ""; } else { echo ""; if ((strpos($key,"URL") > 0 || $key == 'website')&& $value != "") { @@ -47,10 +56,24 @@ } function addDefaultFields($row) { - $defaultFields = Array("name","orgType","parentOrg"); + global $schemas; + $defaultFields = array_keys($schemas['agency']['properties']); foreach ($defaultFields as $defaultField) { - if (!isset($row[$defaultField])) + if (!isset($row[$defaultField])) { + if ($schemas['agency']['properties'][$defaultField]['type'] == "string") { + if (strpos($defaultField, "has") === 0) { + $row[$defaultField] = "false"; + + } else { $row[$defaultField] = ""; + } + + } + if ($schemas['agency']['properties'][$defaultField]['type'] == "array") { + + $row[$defaultField] = Array(""); + } + } } return $row; } --- /dev/null +++ b/graph.php @@ -1,1 +1,58 @@ + + + + + + + + + + --- a/include/couchdb.inc.php +++ b/include/couchdb.inc.php @@ -9,6 +9,21 @@ $obj->language = "javascript"; $obj->views->all->map = "function(doc) { emit(doc._id, doc); };"; $obj->views->byABN->map = "function(doc) { emit(doc.abn, doc); };"; + $obj->views->byCanonicalName->map = "function(doc) { + if (doc.parentOrg || doc.orgType == 'FMA-DepartmentOfState') { + emit(doc.name, doc._id); + } +};"; + $obj->views->byDeptStateName->map = "function(doc) { + if (doc.orgType == 'FMA-DepartmentOfState') { + emit(doc.name, doc._id); + } +};"; + $obj->views->parentOrgs->map = "function(doc) { + if (doc.parentOrg) { + emit(doc._id, doc.parentOrg); + } +};"; $obj->views->byName->map = "function(doc) { emit(doc.name, doc._id); for (name in doc.otherNames) { @@ -52,8 +67,16 @@ require ('couchdb/settee/src/settee.php'); +if( php_uname('n') == "vanille") { + +$server = new SetteeServer('http://192.168.178.21:5984'); +} else + if( php_uname('n') == "kyuubey") { + $server = new SetteeServer('http://192.168.1.8:5984'); - +} else { + $server = new SetteeServer('http://127.0.0.1:5984'); +} function setteErrorHandler($e) { echo $e->getMessage() . "
    " . PHP_EOL; } --- /dev/null +++ b/lib/springy --- a/robots.txt +++ b/robots.txt @@ -2,3 +2,4 @@ # www.google.com/support/webmasters/bin/answer.py?hl=en&answer=156449 User-agent: * +Disallow: /admin/ --- a/schemas/agency.json.php +++ b/schemas/agency.json.php @@ -5,8 +5,27 @@ "type" => "object", "properties" => Array( "name" => Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"), - "othernames" => Array("type" => "array", "required" => true, "x-title" => "Agency Past/Other Names", "description" => "Agency Names", + "otherNames" => Array("type" => "array", "required" => true, "x-title" => "Agency Past/Other Names", "description" => "Agency Names", "items" => Array("type" => "string")), + "orgType"=> Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"), + "parentOrg"=> Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"), + "website"=> Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"), + "abn" => Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"), + "contractListURL" => Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"), + "grantsReportingURL" => Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"), + "annualReportURL" => Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"), + "consultanciesURL" => Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"), + "legalExpenditureURL"=> Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"), + "recordsListURL"=> Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"), + "FOIDocumentsURL"=> Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"), + "infoPublicationSchemeURL"=> Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"), + "appointmentsURL"=> Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"), + "hasRSS"=> Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"), + "hasMailingList"=> Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"), + "hasTwitter"=> Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"), + "hasFacebook"=> Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"), + "hasYouTube"=> Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"), + ), /*"org":{"type":"object", "properties":{