diff -r 5dccd1d8d817 -r 012576d7386d www-thermferm/liveview.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/www-thermferm/liveview.php Fri Jul 11 22:53:33 2014 +0200 @@ -0,0 +1,135 @@ + + * + * This file is part of ThermFerm + * + * This is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2, or (at your option) any + * later version. + * + * ThermFerm is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with ThermFerm; see the file COPYING. If not, write to the Free + * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + *****************************************************************************/ + + +require_once('utilities.php'); + + + +function showunit($unit) +{ + $outstr = ''; + + $sock = open_socket(); + if ($sock == false) { + return ''; + } + + socket_write($sock, "UNIT " . $unit, 4096); + $answer = ""; + while (1) { + $line = socket_read($sock, 4096); + if ($line === '') + break; + $answer .= $line; + } + socket_close($sock); + + $sock = open_socket(); + if ($sock == false) { + return ''; + } + + socket_write($sock, "LIST UNIT", 4096); + $answer = ""; + while (1) { + $line = socket_read($sock, 4096); + if ($line === '') + break; + $answer .= $line; + } + socket_close($sock); + $arr = explode("\r\n", $answer); + + if (startsWith($arr[0], "213")) { + + $outstr .= '
'.PHP_EOL; + + foreach($arr as $l) { + $vals = explode(",", $l); + if (strcmp($vals[0], "NAME") == 0) { + /* + * The name is allways first, so when we have it + * emit the formatting. + */ + $outstr .= '
'.PHP_EOL; + $outstr .= ' ' . $vals[1] .PHP_EOL; + $outstr .= '
'.PHP_EOL; + $outstr .= '
'.PHP_EOL; + $outstr .= ' '.PHP_EOL; + $outstr .= '
'.PHP_EOL; + $outstr .= '
'.PHP_EOL; + } + if (strcmp($vals[0], "MODE") == 0) { + $outstr .= ' mode ' . $vals[1] . '
' .PHP_EOL; + } + } + $outstr .= ' temp 12.3'.PHP_EOL; + $outstr .= '
'.PHP_EOL; + $outstr .= '
'.PHP_EOL; + } + + return $outstr; +} + + + +function liveview() +{ + $outstr = PHP_EOL; + + $sock = open_socket(); + if ($sock !== false) { + socket_write($sock, "LIST", 4096); + + /* + * Multiple reads until the remote closed the connection + */ + $answer = ""; + while (1) { + $line = socket_read($sock, 4096); + if ($line === '') + break; + $answer .= $line; + } + socket_close($sock); + $arr = explode("\r\n", $answer); + + if (startsWith($arr[0], "212")) { + $i = 1; + while (1) { + if (strcmp($arr[$i], ".") == 0) + break; + $parts = explode(",", $arr[$i]); + $outstr .= showunit($parts[1]); + $i++; + } + } + } + + return $outstr; +} + + + +?>