Better graph, include social media in schema for agencies
Former-commit-id: c8de24923a04e8b3ef19fcae4db577255ebef88f
--- 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 "<tr><td>$key</td><td><ol>";
@@ -30,8 +31,16 @@
} else {
if (strpos($key, "_") === 0) {
echo"<input type='hidden' id='$key' name='$key' value='$value'/>";
- } if (strpos($key, "has") === 0) {
- echo "<label for='$key'><input type='checkbox' id='$key' name='$key' checked='$value'> $key</label>";
+ } else if ($key == "parentOrg") {
+ echo "<label for='$key'>$key</label><select id='$key' name='$key'>";
+ $rows = $db->get_view("app", "byDeptStateName")->rows;
+ //print_r($rows);
+ foreach ($rows as $row) {
+ echo "<option value='{$row->value}'".(($row->value == $value) ? "SELECTED":"")." >".str_replace("Department of ","",$row->key)."</option>";
+ }
+ echo" </select>";
+ } else if (strpos($key, "has") === 0) {
+ echo "<label for='$key'><input type='checkbox' id='$key' name='$key' ".(($value=='true')?"checked='$value'":"")."> $key</label>";
} else {
echo "<label>$key</label><input class='input-text' type='text' id='$key' name='$key' value='$value'/>";
if ((strpos($key,"URL") > 0 || $key == 'website')&& $value != "") {
@@ -52,8 +61,13 @@
foreach ($defaultFields as $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") {
--- a/graph.php
+++ b/graph.php
@@ -10,36 +10,47 @@
var nodes = [];
<?php
$db = $server->get_db('disclosr-agencies');
-
+echo "nodes[\"fedg\"] = graph.newNode({label: \"Federal Government - Commonwealth of Australia\"});" . PHP_EOL;
try {
$rows = $db->get_view("app", "byCanonicalName", null, true)->rows;
//print_r($rows);
foreach ($rows as $row) {
- echo "nodes[\"{$row->value}\"] = graph.newNode({label: \"{$row->key}\"});".PHP_EOL;
+ echo "nodes[\"{$row->value}\"] = graph.newNode({label: \"{$row->key}\"});" . PHP_EOL;
}
} catch (SetteeRestClientException $e) {
setteErrorHandler($e);
}
+
+try {
+ $rows = $db->get_view("app", "byDeptStateName", null, true)->rows;
+ //print_r($rows);
+ foreach ($rows as $row) {
+ echo "graph.newEdge(nodes[\"fedg\"], nodes['{$row->value}'], {color: '#00A0B0'});" . PHP_EOL;
+ }
+} catch (SetteeRestClientException $e) {
+ setteErrorHandler($e);
+}
+
try {
$rows = $db->get_view("app", "parentOrgs", null, true)->rows;
- // print_r($rows);
+ // print_r($rows);
foreach ($rows as $row) {
- echo "graph.newEdge(nodes[\"{$row->key}\"], nodes['{$row->value}'], {color: '#00A0B0'});".PHP_EOL;
+ echo "graph.newEdge(nodes[\"{$row->key}\"], nodes['{$row->value}'], {color: '#FFA0B0'});" . PHP_EOL;
}
} catch (SetteeRestClientException $e) {
setteErrorHandler($e);
}
?>
- window.onload = function() {
- $(document).ready(function() {
- var springy = $('#springydemo').springy({
- graph: graph
+ window.onload = function() {
+ $(document).ready(function() {
+ var springy = $('#springydemo').springy({
+ graph: graph
+ });
});
- });
- };
+ };
</script>
-<canvas id="springydemo" width="960" height="480" />
+<canvas id="springydemo" width="1260" height="680" />
<?php
//include_footer();
?>
--- a/include/couchdb.inc.php
+++ b/include/couchdb.inc.php
@@ -11,6 +11,11 @@
$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);
}
};";
--- a/schemas/agency.json.php
+++ b/schemas/agency.json.php
@@ -20,6 +20,12 @@
"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":{