--- a/graph.php +++ b/graph.php @@ -1,21 +1,51 @@ <?php include_once('include/common.inc.php'); //include_header(); -?> -<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 +$format = "html"; +if (isset($_REQUEST['format'])) { + $format = $_REQUEST['format']; +} + +function add_node($id, $label) { + global $format; + 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'); -echo "nodes[\"fedg\"] = graph.newNode({label: \"Federal Government - Commonwealth of Australia\"});" . PHP_EOL; + add_node("fedg","Federal Government - Commonwealth of Australia"); try { $rows = $db->get_view("app", "byCanonicalName", null, true)->rows; - //print_r($rows); +//print_r($rows); foreach ($rows as $row) { - echo "nodes[\"{$row->id}\"] = graph.newNode({label: \"{$row->key}\"});" . PHP_EOL; + add_node($row->id, $row->key); } } catch (SetteeRestClientException $e) { setteErrorHandler($e); @@ -23,9 +53,9 @@ try { $rows = $db->get_view("app", "byDeptStateName", null, true)->rows; - //print_r($rows); +//print_r($rows); foreach ($rows as $row) { - echo "graph.newEdge(nodes[\"fedg\"], nodes['{$row->value}'], {color: '#00A0B0'});" . PHP_EOL; + add_edge("fedg", $row->value, 'yellow'); } } catch (SetteeRestClientException $e) { setteErrorHandler($e); @@ -33,25 +63,30 @@ 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: '#FFA0B0'});" . PHP_EOL; + add_edge($row->key, $row->value, 'blue'); } } catch (SetteeRestClientException $e) { setteErrorHandler($e); } -?> - window.onload = function() { - $(document).ready(function() { - var springy = $('#springydemo').springy({ - graph: graph +if ($format == "html") { + ?> + window.onload = function() { + $(document).ready(function() { + var springy = $('#springydemo').springy({ + graph: graph + }); }); - }); - }; -</script> + }; + </script> -<canvas id="springydemo" width="1260" height="680" /> -<?php + <canvas id="springydemo" width="1260" height="680" /> + <?php +} +if ($format == "dot") { + echo "}"; +} //include_footer(); ?>