2c2
< // html_table_basis.php
---
> // venn_diagram_basis.php
5,6c5
< // Trying out Dot GraphViz package ... thanks to https://quickchart.io/documentation/graphviz-api/
< require_once(rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . 'make_graphviz_peers.php');
---
> // Trying out Dot GraphViz package ... thanks to https://forum.graphviz.org/t/subset-diagrams/1118/4
10c9
< $verb='dot '; //'neato -n '; // python
---
> $verb='neato -n '; // python
13c12
< $codeafters=' > ' . $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'doctest-output' . DIRECTORY_SEPARATOR . 'my-html-table.gv.' . $fmt . ' ';
---
> $codeafters=' > ' . $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'doctest-output' . DIRECTORY_SEPARATOR . 'my-venn-diagram.gv.' . $fmt . ' ';
17,30c16,25
< $abl=['my_html_table','YoumightfindmeOne','YoumightfindmeTwo','YoumightfindmeThree,YoumightfindmeZeroThree'];
< $abl=['my_html_table',"digraph G {
< node [shape=plaintext fontsize=12]
< a [label=<
< | first |
< | second |
< | third |
<
>];
< b [label=<
< | first |
< | second |
< | third |
<
>];
< a:c -> b:c;
---
> $abl=['my_venn_diagram','YoumightfindmeOne','YoumightfindmeTwo','YoumightfindmeThree,YoumightfindmeZeroThree'];
> $abl=['my_venn_diagram',"graph V {
> node [shape=circle fontsize=12]
> // height & width in inches
> // pos in points. marks the center
> W [height=1 fillcolor=\"#90806090\" style=\"filled\" pos=\"144,144\"]
> Y [height=1 fillcolor=\"#82927290\" style=\"filled\" pos=\"216,144\" label=\"\" xlabel=\"Y\" xlp=\"192,160\"]
> X [height=.55 fillcolor=\"#74a48490\" style=\"filled\" pos=\"221,159\" label=\"\" xlabel=\"X\" xlp=\"232,160\"]
> G [height=.55 fillcolor=\"#66b69690\" style=\"filled\" pos=\"209,136\" label=\"\" xlabel=\"G\" xlp=\"202,136\"]
> mylabel1 [shape=plaintext pos=\"0,0\" label=\"\" xlabel=\"XG\" xlp=\"217,148\"]
32,44c27,35
< $newabl=['my-html-table',"digraph G {
< node [shape=plaintext fontsize=12]
< a [label=<
< | first |
< | second |
< | third |
<
>];
< b [label=<
< | first |
< | second |
< | third |
<
>];
< a:c -> b:c;
---
> $newabl=['my-venn-diagram',"graph V {
> node [shape=circle fontsize=12]
> // height & width in inches
> // pos in points. marks the center
> W [height=1 fillcolor=\"#90806090\" style=\"filled\" pos=\"144,144\"]
> Y [height=1 fillcolor=\"#82927290\" style=\"filled\" pos=\"216,144\" label=\"\" xlabel=\"Y\" xlp=\"192,160\"]
> X [height=.55 fillcolor=\"#74a48490\" style=\"filled\" pos=\"221,159\" label=\"\" xlabel=\"X\" xlp=\"232,160\"]
> G [height=.55 fillcolor=\"#66b69690\" style=\"filled\" pos=\"209,136\" label=\"\" xlabel=\"G\" xlp=\"202,136\"]
> mylabel1 [shape=plaintext pos=\"0,0\" label=\"\" xlabel=\"XG\" xlp=\"217,148\"]
95c86
< echo "";
---
> echo "";
103c94
< echo "";
---
> echo "";
400c391
< $codeafters=' > ' . $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'doctest-output' . DIRECTORY_SEPARATOR . 'my-html-table.gv.' . $fmt . ' ';
---
> $codeafters=' > ' . $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'doctest-output' . DIRECTORY_SEPARATOR . 'my-venn-diagram.gv.' . $fmt . ' ';
452,453c443,444
< if (!file_exists('./html_table.' . strtoupper($codeext))) {
< exec("/usr/bin/" . $verb . " " . rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . "html_table.dot -Tsvg -o " . rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . "doctest-output" . DIRECTORY_SEPARATOR . "d.svg");
---
> if (!file_exists('./venn_diagram.' . strtoupper($codeext))) {
> exec("/usr/bin/" . $verb . " " . rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . "venn_diagram.dot -Tsvg -o " . rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . "doctest-output" . DIRECTORY_SEPARATOR . "d.svg");
455,456c446,447
< //exec("cat " . rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . "html_table.dot | sed '/\\(\\\"\\)\\([^\\\"]*\)\\\" \\[color = /s//\\\"\\2\\\" \\[url = \\\"https\\:\\/\\/www.google.com\\/search\\?udm=2\\&sa=X\\&biw=1433\\&bih=739\\&dpr=2\\&q=\\2\\\"\\, color = /g' > " . rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . "html_table.DOT");
< $pycont=file_get_contents('./html_table.' . $codeext);
---
> //exec("cat " . rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . "venn_diagram.dot | sed '/\\(\\\"\\)\\([^\\\"]*\)\\\" \\[color = /s//\\\"\\2\\\" \\[url = \\\"https\\:\\/\\/www.google.com\\/search\\?udm=2\\&sa=X\\&biw=1433\\&bih=739\\&dpr=2\\&q=\\2\\\"\\, color = /g' > " . rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . "venn_diagram.DOT");
> $pycont=file_get_contents('./venn_diagram.' . $codeext);
478c469
< file_put_contents('./html_table.' . strtoupper($codeext), $pycont);
---
> file_put_contents('./venn_diagram.' . strtoupper($codeext), $pycont);
480,481c471,472
< if (file_exists('./html_table.' . strtoupper($codeext))) {
< $pycont=file_get_contents('./html_table.' . strtoupper($codeext));
---
> if (file_exists('./venn_diagram.' . strtoupper($codeext))) {
> $pycont=file_get_contents('./venn_diagram.' . strtoupper($codeext));
491c482
< exec($prefstuff . "/usr/bin/" . $verb . " " . rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . "html_table.DOT -Tpng -o " . rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . "doctest-output" . DIRECTORY_SEPARATOR . "d.png -Tcmapx -o " . rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . "doctest-output" . DIRECTORY_SEPARATOR . "d.map");
---
> exec($prefstuff . "/usr/bin/" . $verb . " " . rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . "venn_diagram.DOT -Tpng -o " . rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . "doctest-output" . DIRECTORY_SEPARATOR . "d.png -Tcmapx -o " . rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . "doctest-output" . DIRECTORY_SEPARATOR . "d.map");
493c484
< $pycont=file_get_contents('./html_table.' . $codeext);
---
> $pycont=file_get_contents('./venn_diagram.' . $codeext);
500c491
< $pycont=str_replace("My HTML Table", trim($newt), $pycont);
---
> $pycont=str_replace("My Venn Diagram", trim($newt), $pycont);
586c577
< $pycont=str_replace("My HTML Table", trim($newt), $pycont);
---
> $pycont=str_replace("My Venn Diagram", trim($newt), $pycont);
598,606c589,597
< file_put_contents($tprefix . 'html_table_' . $suffix . '.' . $codeext, $pycont);
< //file_put_contents($prefix . 'html_table0_' . $suffix . '.' . $codeext, $pycont);
< //file_put_contents($prefix . 'html_table_' . $suffix . '.ksh', "#!/bin/ksh\n/usr/bin/" . $verb . $switch . " " . $prefix . "html_table_" . $suffix . "." . $codeext . $codeafters . " 2>> " . $prefix . "html_table.bad \nln -s " . $prefix . "doctest-output" . DIRECTORY_SEPARATOR . $newabl[0] . ".gv.pdf " . $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . "doctest-output" . DIRECTORY_SEPARATOR . $newabl[0] . ".gv.pdf \nrm -f " . $prefix . "html_table_" . $suffix . "." . $codeext . $codeafters . " \nrm -f " . $prefix . "html_table_" . $suffix . ".ksh \nexit");
< file_put_contents($prefix . 'html_table_' . $suffix . '.ksh', "#!/bin/ksh\n/usr/bin/" . $verb . $switch . " " . $tprefix . "html_table_" . $suffix . "." . $codeext . $codeafters . " 2>> " . $prefix . "html_table.bad \nsleep 5\n\n/usr/bin/" .$verb . $switch . $tprefix . "html_table_" . $suffix . "." . $codeext . $codeafters . " 2>> " . $prefix . "html_table.bad \n\nrm -f " . $tprefix . "html_table_" . $suffix . "." . $codeext . " \nrm -f " . $prefix . "html_table_" . $suffix . ".ksh \nexit");
< //file_put_contents($prefix . 'html_table0_' . $suffix . '.ksh', "#!/bin/ksh\n/usr/bin/" . $verb . $switch . " " . $tprefix . "html_table_" . $suffix . "." . $codeext . $codeafters . " 2>> " . $prefix . "html_table.bad \nsleep 5\n\n/usr/bin/" .$verb . $switch . $tprefix . "html_table_" . $suffix . "." . $codeext . $codeafters . " 2>> " . $prefix . "html_table.bad \n\nrm -f " . $tprefix . "html_table_" . $suffix . "." . $codeext . " \nrm -f " . $prefix . "html_table_" . $suffix . ".ksh \nexit");
< exec('chmod 777 ' . $prefix . 'html_table_' . $suffix . '.ksh');
< exec('chown root ' . $prefix . 'html_table_' . $suffix . '.ksh');
< exec('chgrp root ' . $prefix . 'html_table_' . $suffix . '.ksh');
< while (file_exists($prefix . 'html_table_' . $suffix . '.ksh')) {
---
> file_put_contents($tprefix . 'venn_diagram_' . $suffix . '.' . $codeext, $pycont);
> file_put_contents($prefix . 'venn_diagram0_' . $suffix . '.' . $codeext, $pycont);
> //file_put_contents($prefix . 'venn_diagram_' . $suffix . '.ksh', "#!/bin/ksh\n/usr/bin/" . $verb . $switch . " " . $prefix . "venn_diagram_" . $suffix . "." . $codeext . $codeafters . " 2>> " . $prefix . "venn_diagram.bad \nln -s " . $prefix . "doctest-output" . DIRECTORY_SEPARATOR . $newabl[0] . ".gv.pdf " . $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . "doctest-output" . DIRECTORY_SEPARATOR . $newabl[0] . ".gv.pdf \nrm -f " . $prefix . "venn_diagram_" . $suffix . "." . $codeext . $codeafters . " \nrm -f " . $prefix . "venn_diagram_" . $suffix . ".ksh \nexit");
> file_put_contents($prefix . 'venn_diagram_' . $suffix . '.ksh', "#!/bin/ksh\n/usr/bin/" . $verb . $switch . " " . $tprefix . "venn_diagram_" . $suffix . "." . $codeext . $codeafters . " 2>> " . $prefix . "venn_diagram.bad \nsleep 5\n\n/usr/bin/" .$verb . $switch . $tprefix . "venn_diagram_" . $suffix . "." . $codeext . $codeafters . " 2>> " . $prefix . "venn_diagram.bad \n\nrm -f " . $tprefix . "venn_diagram_" . $suffix . "." . $codeext . " \nrm -f " . $prefix . "venn_diagram_" . $suffix . ".ksh \nexit");
> file_put_contents($prefix . 'venn_diagram0_' . $suffix . '.ksh', "#!/bin/ksh\n/usr/bin/" . $verb . $switch . " " . $tprefix . "venn_diagram_" . $suffix . "." . $codeext . $codeafters . " 2>> " . $prefix . "venn_diagram.bad \nsleep 5\n\n/usr/bin/" .$verb . $switch . $tprefix . "venn_diagram_" . $suffix . "." . $codeext . $codeafters . " 2>> " . $prefix . "venn_diagram.bad \n\nrm -f " . $tprefix . "venn_diagram_" . $suffix . "." . $codeext . " \nrm -f " . $prefix . "venn_diagram_" . $suffix . ".ksh \nexit");
> exec('chmod 777 ' . $prefix . 'venn_diagram_' . $suffix . '.ksh');
> exec('chown root ' . $prefix . 'venn_diagram_' . $suffix . '.ksh');
> exec('chgrp root ' . $prefix . 'venn_diagram_' . $suffix . '.ksh');
> while (file_exists($prefix . 'venn_diagram_' . $suffix . '.ksh')) {
610,613c601,604
< file_put_contents('/tmp/html_table.' . $codeext, $pycont);
< exec('chmod 777 ' . '/tmp/html_table.' . $codeext);
< exec('chown rjmprogr ' .'/tmp/html_table.' . $codeext);
< exec('chgrp rjmprogr ' . '/tmp/html_table.' . $codeext);
---
> file_put_contents('/tmp/venn_diagram.' . $codeext, $pycont);
> exec('chmod 777 ' . '/tmp/venn_diagram.' . $codeext);
> exec('chown rjmprogr ' .'/tmp/venn_diagram.' . $codeext);
> exec('chgrp rjmprogr ' . '/tmp/venn_diagram.' . $codeext);
620,621c611,612
< //file_put_contents('x.x', '/usr/bin/' .$verb . $switch . '/tmp/html_table.' . $codeext . $codeafters . ' 2> html_table.bad');
< exec('/usr/bin/' .$verb . $switch . '/tmp/html_table.' . $codeext . $codeafters . ' 2> html_table.bad');
---
> //file_put_contents('x.x', '/usr/bin/' .$verb . $switch . '/tmp/venn_diagram.' . $codeext . $codeafters . ' 2> venn_diagram.bad');
> exec('/usr/bin/' .$verb . $switch . '/tmp/venn_diagram.' . $codeext . $codeafters . ' 2> venn_diagram.bad');
628,629c619,620
< //file_put_contents('xx.xx', '/usr/bin/' . $verb . $switch . ' html_table.' . $codeext . $codeafters);
< exec('/usr/bin/' . $verb . $switch . ' html_table.' . $codeext . $codeafters);
---
> //file_put_contents('xx.xx', '/usr/bin/' . $verb . $switch . ' venn_diagram.' . $codeext . $codeafters);
> exec('/usr/bin/' . $verb . $switch . ' venn_diagram.' . $codeext . $codeafters);
642c633
< Trying out Dot GraphViz hosted in PHP - RJM Programming - October, 2024 - HTML Table
---
> Trying out Dot GraphViz hosted in PHP - RJM Programming - October, 2024 - Venn Diagram
1504c1495
< cookieAVal('saved_html_table_', true);
---
> cookieAVal('saved_venn_diagram_', true);
1541c1532
< if (window.localStorage && goodname.indexOf('saved_html_table_') == 0) {
---
> if (window.localStorage && goodname.indexOf('saved_venn_diagram_') == 0) {
1555c1546
< if (cName.indexOf('saved_html_table_') == 0) {
---
> if (cName.indexOf('saved_venn_diagram_') == 0) {
1558c1549
< cookieAVal('saved_html_table_', true);
---
> cookieAVal('saved_venn_diagram_', true);
1582c1573
< document.getElementById('myaemailsms').href='mailto:' + toe.trim() + '?subject=' + encodeURIComponent('HTML Table') + '&body=' + encodeURIComponent(inu.replace('HttP','http').split('#')[0].replace(/\-/g,'').replace('doctestoutput','doctest-output'));
---
> document.getElementById('myaemailsms').href='mailto:' + toe.trim() + '?subject=' + encodeURIComponent('Venn Diagram') + '&body=' + encodeURIComponent(inu.replace('HttP','http').split('#')[0].replace(/\-/g,'').replace('doctestoutput','doctest-output'));
1594c1585
< if (inu.indexOf('#saved_html_table_') != -1) {
---
> if (inu.indexOf('#saved_venn_diagram_') != -1) {
1598c1589
< cookieAVal('saved_html_table_', true);
---
> cookieAVal('saved_venn_diagram_', true);
1629c1620
< lssel='';
---
> lssel='';
1631c1622
< lssel=lssel.replace('', '' + '' + '' + '');
---
> lssel=lssel.replace('', '' + '' + '' + '');
1638c1629
< if (cName.indexOf('saved_html_table_') == 0) {
---
> if (cName.indexOf('saved_venn_diagram_') == 0) {
2062,2064c2053,2055
< #ltd { background-color: #20a0d0; margin: 0 0 0 0; padding: 0 0 0 0; }
< body { background-color: #a0d020; }
< #myif { background-color: #d020a0; margin: 0 0 0 0; padding: 0 0 0 0; }
---
> #ltd { background-color: #e0a0d0; margin: 0 0 0 0; padding: 0 0 0 0; }
> body { background-color: #a0d0e0; }
> #myif { background-color: #d0e0a0; margin: 0 0 0 0; padding: 0 0 0 0; }
2076,2077c2067,2068
<
< Trying out Dot GraphViz hosted in PHP " . $plus . " HTML Table 📧 📟
---
>
> Trying out Dot GraphViz hosted in PHP " . $plus . " Venn Diagram 📧 📟
2079c2070
<
---
>
2083c2074
<
---
>
2107c2098
< Trying out Dot GraphViz hosted in PHP - RJM Programming - October, 2024 - HTML Table
---
> Trying out Dot GraphViz hosted in PHP - RJM Programming - October, 2024 - Venn Diagram
2526c2517
< cookieAVal('saved_html_table_', true);
---
> cookieAVal('saved_venn_diagram_', true);
2569c2560
< if (window.localStorage && goodname.indexOf('saved_html_table_') == 0) {
---
> if (window.localStorage && goodname.indexOf('saved_venn_diagram_') == 0) {
2583c2574
< if (cName.indexOf('saved_html_table_') == 0) {
---
> if (cName.indexOf('saved_venn_diagram_') == 0) {
2586c2577
< cookieAVal('saved_html_table_', true);
---
> cookieAVal('saved_venn_diagram_', true);
2609c2600
< document.getElementById('myaemailsms').href='mailto:' + toe.trim() + '?subject=' + encodeURIComponent('HTML Table') + '&body=' + encodeURIComponent(inu.replace('HttP','http').split('#')[0].replace(/\-/g,'').replace('doctestoutput','doctest-output'));
---
> document.getElementById('myaemailsms').href='mailto:' + toe.trim() + '?subject=' + encodeURIComponent('Venn Diagram') + '&body=' + encodeURIComponent(inu.replace('HttP','http').split('#')[0].replace(/\-/g,'').replace('doctestoutput','doctest-output'));
2621c2612
< if (inu.indexOf('#saved_html_table_') != -1) {
---
> if (inu.indexOf('#saved_venn_diagram_') != -1) {
2625c2616
< cookieAVal('saved_html_table_', true);
---
> cookieAVal('saved_venn_diagram_', true);
2656c2647
< lssel='';
---
> lssel='';
2658c2649
< lssel=lssel.replace('', '' + '' + '' + '');
---
> lssel=lssel.replace('', '' + '' + '' + '');
2665c2656
< if (cName.indexOf('saved_html_table_') == 0) {
---
> if (cName.indexOf('saved_venn_diagram_') == 0) {
3086,3088c3077,3079
< #ltd { background-color: #20a0d0; margin: 0 0 0 0; padding: 0 0 0 0; }
< body { background-color: #a0d020; }
< #myif { background-color: #d020a0; margin: 0 0 0 0; padding: 0 0 0 0; }
---
> #ltd { background-color: #e0a0d0; margin: 0 0 0 0; padding: 0 0 0 0; }
> body { background-color: #a0d0e0; }
> #myif { background-color: #d0e0a0; margin: 0 0 0 0; padding: 0 0 0 0; }
3100,3101c3091,3092
<
< Trying out Dot GraphViz hosted in PHP " . $plus . " HTML Table 📧 📟
---
>
> Trying out Dot GraphViz hosted in PHP " . $plus . " Venn Diagram 📧 📟
3103c3094
<
---
>
3107c3098
<
---
>