Add hierarchical graph
[disclosr.git] / graph.php
blob:a/graph.php -> blob:b/graph.php
<?php <?php
include_once('include/common.inc.php'); include_once('include/common.inc.php');
//include_header(); //include_header();
?> $format = "html";
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> if (isset($_REQUEST['format'])) {
<script src="lib/springy/springy.js"></script> $format = $_REQUEST['format'];
<script src="lib/springy/springyui.js"></script> }
<script>  
var graph = new Graph(); function add_node($id, $label) {
var nodes = []; global $format;
<?php if ($format == "html") {
  echo "nodes[\"$id\"] = graph.newNode({label: \"$label\"});" . PHP_EOL;
  }
  if ($format == "dot" && $label != "") {
  echo "$id [label=\"$label\"];". PHP_EOL;
  }
  }
   
  function add_edge($from, $to, $color) {
  global $format;
  if ($format == "html") {
  echo "graph.newEdge(nodes[\"$from\"], nodes['$to'], {color: '$color'});" . PHP_EOL;
  }
  if ($format == "dot") {
  echo "$from -> $to ".($color != ""? "[color=$color]":"").";". PHP_EOL;
  }
  }
   
  if ($format == "html") {
  ?>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
  <script src="lib/springy/springy.js"></script>
  <script src="lib/springy/springyui.js"></script>
  <script>
  var graph = new Graph();
  var nodes = [];
  <?php
  }
  if ($format == "dot") {
  echo 'digraph g {'. PHP_EOL;
  }
$db = $server->get_db('disclosr-agencies'); $db = $server->get_db('disclosr-agencies');
  add_node("fedg","Federal Government - Commonwealth of Australia");
try { try {
$rows = $db->get_view("app", "byCanonicalName", null, true)->rows; $rows = $db->get_view("app", "byCanonicalName", null, true)->rows;
//print_r($rows); //print_r($rows);
foreach ($rows as $row) { foreach ($rows as $row) {
echo "nodes[\"{$row->value}\"] = graph.newNode({label: \"{$row->key}\"});".PHP_EOL; add_node($row->id, $row->key);
} }
} catch (SetteeRestClientException $e) { } catch (SetteeRestClientException $e) {
setteErrorHandler($e); setteErrorHandler($e);
} }
   
try { try {
$rows = $db->get_view("app", "parentOrgs", null, true)->rows; $rows = $db->get_view("app", "byDeptStateName", null, true)->rows;
// print_r($rows); //print_r($rows);
foreach ($rows as $row) { foreach ($rows as $row) {
echo "graph.newEdge(nodes[\"{$row->key}\"], nodes['{$row->value}'], {color: '#00A0B0'});".PHP_EOL; add_edge("fedg", $row->value, 'yellow');
} }
} catch (SetteeRestClientException $e) { } catch (SetteeRestClientException $e) {
setteErrorHandler($e); setteErrorHandler($e);
} }
?>  
window.onload = function() { try {
$(document).ready(function() { $rows = $db->get_view("app", "parentOrgs", null, true)->rows;
var springy = $('#springydemo').springy({ // print_r($rows);
graph: graph foreach ($rows as $row) {
}); add_edge($row->key, $row->value, 'blue');
  }
  } catch (SetteeRestClientException $e) {
  setteErrorHandler($e);
  }
  if ($format == "html") {
  ?>
  window.onload = function() {
  $(document).ready(function() {
  var springy = $('#springydemo').springy({
  graph: graph
}); });
}; });
</script> };
  </script>
   
<canvas id="springydemo" width="960" height="480" /> <canvas id="springydemo" width="1260" height="680" />
<?php <?php
  }
  if ($format == "dot") {
  echo "}";
  }
//include_footer(); //include_footer();
?> ?>