public function test() { $this->view = false; $graph = new Alom\Graphviz\Digraph('G'); $graph->set('rankdir', 'LR')->node("ETAI-117", array('label' => '<<table border="0" cellborder="0" cellspacing="0" cellpadding="1" bgcolor="white"><tr><td bgcolor="black" color="white" align="center" title="ETAI-117" href="/pmacontrol/en/monitoring/query/370/"><font color="white">ETAI-117</font></td></tr><tr><td bgcolor="grey" align="left">10.23.1.117:3306</td></tr><tr><td bgcolor="grey" align="left">MariaDB : 5.5.42</td></tr> <tr><td bgcolor="grey" align="left">Uptime : 7 days and 15:19:10</td></tr><tr><td bgcolor="grey" align="left">(2015-06-04 11:00:21) : CEST</td></tr><tr><td bgcolor="grey" align="left">Binlog format : ROW</td></tr><tr><td bgcolor="grey" align="left"> <table border="0" cellborder="0" cellspacing="2" cellpadding="2"><tr><td bgcolor="#eeeeee">M</td><td bgcolor="#eeeeee">S</td><td bgcolor="#dddddd" align="left">Databases</td></tr> <tr><td bgcolor="#eeeeee">-</td><td bgcolor="#eeeeee">-</td><td bgcolor="#dddddd" align="left" title="MPD of checksum" href="/pmacontrol/en/mysql/mpd/ETAI-117/checksum">checksum</td></tr> <tr><td bgcolor="#eeeeee">-</td><td bgcolor="#eeeeee">-</td><td bgcolor="#dddddd" align="left" title="MPD of import" href="/pmacontrol/en/mysql/mpd/ETAI-117/import">import</td></tr> <tr><td bgcolor="#eeeeee">-</td><td bgcolor="#eeeeee">-</td><td bgcolor="#dddddd" align="left" title="MPD of information_schema" href="/pmacontrol/en/mysql/mpd/ETAI-117/information_schema">information_schema</td></tr> <tr><td bgcolor="#eeeeee">-</td><td bgcolor="#eeeeee">-</td><td bgcolor="#dddddd" align="left" title="MPD of mysql" href="/pmacontrol/en/mysql/mpd/ETAI-117/mysql">mysql</td></tr> <tr><td bgcolor="#eeeeee">-</td><td bgcolor="#eeeeee">-</td><td bgcolor="#dddddd" align="left" title="MPD of performance_schema" href="/pmacontrol/en/mysql/mpd/ETAI-117/performance_schema">performance_schema</td></tr> <tr><td bgcolor="#eeeeee">-</td><td bgcolor="#eeeeee">-</td><td bgcolor="#dddddd" align="left" title="MPD of portail" href="/pmacontrol/en/mysql/mpd/ETAI-117/portail">portail</td></tr> <tr><td bgcolor="#eeeeee">-</td><td bgcolor="#eeeeee">-</td><td bgcolor="#dddddd" align="left" title="MPD of portail20150410" href="/pmacontrol/en/mysql/mpd/ETAI-117/portail20150410">portail20150410</td></tr> <tr><td bgcolor="#eeeeee">-</td><td bgcolor="#eeeeee">-</td><td bgcolor="#dddddd" align="left" title="MPD of portail20150423" href="/pmacontrol/en/mysql/mpd/ETAI-117/portail20150423">portail20150423</td></tr> <tr><td bgcolor="#eeeeee">-</td><td bgcolor="#eeeeee">-</td><td bgcolor="#dddddd" align="left" title="MPD of portail20150506" href="/pmacontrol/en/mysql/mpd/ETAI-117/portail20150506">portail20150506</td></tr> <tr><td bgcolor="#eeeeee">-</td><td bgcolor="#eeeeee">-</td><td bgcolor="#dddddd" align="left" title="MPD of portail20150511" href="/pmacontrol/en/mysql/mpd/ETAI-117/portail20150511">portail20150511</td></tr> <tr><td bgcolor="#eeeeee">-</td><td bgcolor="#eeeeee">-</td><td bgcolor="#dddddd" align="left" title="MPD of portail20150512" href="/pmacontrol/en/mysql/mpd/ETAI-117/portail20150512">portail20150512</td></tr> <tr><td bgcolor="#eeeeee">-</td><td bgcolor="#eeeeee">-</td><td bgcolor="#dddddd" align="left" title="MPD of portail20150604\\nfghsfgh\\n wdfgwdfg" href="/pmacontrol/en/mysql/mpd/ETAI-117/portail20150604">portail20150604</td></tr> </table> </td></tr> </table>>', 'fontname' => 'Monospace', 'fontsize' => '9', 'color' => 'green', 'shape' => 'box'))->node("ETAI-118", array('label' => '<<table border="0" cellborder="0" cellspacing="0" cellpadding="2" bgcolor="white"><tr><td bgcolor="black" color="white" align="center" title="ETAI-117" href="/pmacontrol/en/monitoring/query/370/"><font color="white">ETAI-118</font></td></tr><tr><td bgcolor="grey" align="left">10.23.1.117:3306</td></tr><tr><td bgcolor="grey" align="left">MariaDB : 5.5.42</td></tr> <tr><td bgcolor="grey" align="left">Uptime : 7 days and 15:19:10</td></tr><tr><td bgcolor="grey" align="left">(2015-06-04 11:00:21) : CEST</td></tr><tr><td bgcolor="grey" align="left">Binlog format : ROW</td></tr><tr><td bgcolor="grey" align="left"> <table border="0" cellborder="0" cellspacing="2" cellpadding="2"><tr><td bgcolor="#eeeeee">M</td><td bgcolor="#eeeeee">S</td><td bgcolor="#dddddd" align="left">Databases</td></tr> <tr><td bgcolor="#eeeeee">-</td><td bgcolor="#eeeeee">-</td><td bgcolor="#dddddd" align="left" title="MPD of checksum" href="/pmacontrol/en/mysql/mpd/ETAI-117/checksum">checksum</td></tr> <tr><td bgcolor="#eeeeee">-</td><td bgcolor="#eeeeee">-</td><td bgcolor="#dddddd" align="left" title="MPD of import" href="/pmacontrol/en/mysql/mpd/ETAI-117/import">import</td></tr> <tr><td bgcolor="#eeeeee">-</td><td bgcolor="#eeeeee">-</td><td bgcolor="#dddddd" align="left" title="MPD of information_schema" href="/pmacontrol/en/mysql/mpd/ETAI-117/information_schema">information_schema</td></tr> <tr><td bgcolor="#eeeeee">-</td><td bgcolor="#eeeeee">-</td><td bgcolor="#dddddd" align="left" title="MPD of mysql" href="/pmacontrol/en/mysql/mpd/ETAI-117/mysql">mysql</td></tr> <tr><td bgcolor="#eeeeee">-</td><td bgcolor="#eeeeee">-</td><td bgcolor="#dddddd" align="left" title="MPD of performance_schema" href="/pmacontrol/en/mysql/mpd/ETAI-117/performance_schema">performance_schema</td></tr> <tr><td bgcolor="#eeeeee">-</td><td bgcolor="#eeeeee">-</td><td bgcolor="#dddddd" align="left" title="MPD of portail" href="/pmacontrol/en/mysql/mpd/ETAI-117/portail">portail</td></tr> <tr><td bgcolor="#eeeeee">-</td><td bgcolor="#eeeeee">-</td><td bgcolor="#dddddd" align="left" title="MPD of portail20150410" href="/pmacontrol/en/mysql/mpd/ETAI-117/portail20150410">portail20150410</td></tr> <tr><td bgcolor="#eeeeee">-</td><td bgcolor="#eeeeee">-</td><td bgcolor="#dddddd" align="left" title="MPD of portail20150423" href="/pmacontrol/en/mysql/mpd/ETAI-117/portail20150423">portail20150423</td></tr> <tr><td bgcolor="#eeeeee">-</td><td bgcolor="#eeeeee">-</td><td bgcolor="#dddddd" align="left" title="MPD of portail20150506" href="/pmacontrol/en/mysql/mpd/ETAI-117/portail20150506">portail20150506</td></tr> <tr><td bgcolor="#eeeeee">-</td><td bgcolor="#eeeeee">-</td><td bgcolor="#dddddd" align="left" title="MPD of portail20150511" href="/pmacontrol/en/mysql/mpd/ETAI-117/portail20150511">portail20150511</td></tr> <tr><td bgcolor="#eeeeee">-</td><td bgcolor="#eeeeee">-</td><td bgcolor="#dddddd" align="left" title="MPD of portail20150512" href="/pmacontrol/en/mysql/mpd/ETAI-117/portail20150512">portail20150512</td></tr> <tr><td bgcolor="#eeeeee">-</td><td bgcolor="#eeeeee">-</td><td bgcolor="#dddddd" align="left" title="MPD of portail20150604\\nfghsfgh\\n wdfgwdfg" href="/pmacontrol/en/mysql/mpd/ETAI-117/portail20150604">portail20150604</td></tr> </table> </td></tr> </table>>', 'fontname' => 'Monospaced 13', 'fontsize' => '8', 'color' => 'green', 'shape' => 'rect', "penwidth" => "3"))->edge(array('ETAI-117', 'ETAI-118'), array("arrowsize" => "1.5", "penwidth" => "3", "fontname" => "arial", "fontsize" => "8", "color" => "green")); $dot = $graph->render(1); /* * Arial * Verdana * Monospace */ $fp = fopen(TMP . "gg" . '.dot', "w"); fwrite($fp, $dot); fclose($fp); $data['dot'] = $dot; if (file_exists(TMP . 'gg.svg')) { unlink(TMP . 'gg.svg'); } $data['cmd'] = 'dot -T' . 'svg' . ' ' . TMP . "gg" . '.dot -o ' . TMP . 'gg.svg 2>&1'; $data['error'] = exec($data['cmd']); $this->set('data', $data); }
<?php /* * This file is part of Alom Graphviz. * (c) Alexandre Salomé <*****@*****.**> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ require_once __DIR__ . '/../vendor/autoload.php'; $graph = new Alom\Graphviz\Digraph('G'); $graph->subgraph('cluster_0')->set('style', 'filled')->set('color', 'lightgrey')->attr('node', array('style' => 'filled', 'color' => 'white'))->edge(array('a0', 'a1', 'a2', 'a3'))->set('label', 'process #1')->end()->subgraph('cluster_1')->attr('node', array('style' => 'filled'))->edge(array('b0', 'b1', 'b2', 'b3'))->set('label', 'process #2')->set('color', 'blue')->end()->edge(array('start', 'a0'))->edge(array('start', 'b0'))->edge(array('a1', 'b3'))->edge(array('b2', 'a3'))->edge(array('a3', 'a0'))->edge(array('a3', 'end'))->edge(array('b3', 'end')); echo $graph->render();