--- a/www-thermferm/utilities.php Thu Apr 25 14:26:47 2024 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,216 +0,0 @@ -<?php -/***************************************************************************** - * Copyright (C) 2014-2015 - * - * Michiel Broek <mbroek at mbse dot eu> - * - * 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. - *****************************************************************************/ - -$my_style = 'ui-redmond'; - - -function open_socket() -{ - $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); - - if (!($sock === false)) { - if (socket_connect($sock, "localhost", 6554)) { - socket_set_option($sock, SOL_SOCKET, SO_RCVTIMEO, array('sec' => 15, 'usec' => 0)); - } else { - socket_close($sock); - } - } - return $sock; -} - - - -/* - * @param string $command to send to the server. - * Return: string with the complete reply from the - * server. This can be a multiline reply. - */ -function send_cmd($command) -{ - $sock = open_socket(); - if ($sock == false) { - return ""; - } - socket_write($sock, $command . "\r\n", 4096); - - $answer = ""; - while (1) { - $line = socket_read($sock, 4096); - if ($line === '') - break; - $answer .= $line; - } - socket_close($sock); - - return $answer; -} - - - -/* - * @param string array of $commands to send to the server. - * Return: string with the complete reply from the - * server. This can be a multiline reply. - */ -function send_array($command) -{ - $sock = open_socket(); - if ($sock == false) { - return ""; - } - - foreach($command as $cmd) { - socket_write($sock, $cmd . "\r\n", 4096); - } - - $answer = ""; - while (1) { - $line = socket_read($sock, 4096); - if ($line === '') - break; - $answer .= $line; - } - socket_close($sock); - - return $answer; -} - - - -/* - * @param string $command to send to the server. - * Return: 0 = Ok. - * 1 = Server responden with an error. - */ -function send_cmd_check($command) -{ - $answer = send_cmd($command); - - if (strlen($answer) && (($answer[0] == '1') || ($answer[0] == '2'))) - return 0; - - return 1; -} - - - -/* - * @param array $command to send to the server. - * Return: 0 = Ok. - * 1 = Server responden with an error. - */ -function send_array_check($command) -{ - $answer = send_array($command); - - if (strlen($answer) && (($answer[0] == '1') || ($answer[0] == '2'))) - return 0; - - return 1; -} - - - -function startsWith($haystack, $needle) -{ - return !strncmp($haystack, $needle, strlen($needle)); -} - - -function build_header($heading) -{ - global $my_style; - - $answer = send_cmd('GLOBAL GET'); - $arr = explode("\r\n", $answer); - $version = "?"; - - if (startsWith($arr[0], "213")) { - $j = 1; - while (1) { - if (strcmp($arr[$j], ".") == 0) - break; - $f = explode(",", $arr[$j]); - - if ($f[0] == "RELEASE") - $version = $f[1]; - $j++; - } - } - - $outstr = '<!DOCTYPE html>'.PHP_EOL; - $outstr .= '<html>'.PHP_EOL; - $outstr .= ' <head>'.PHP_EOL; - $outstr .= ' <meta http-equiv="content-type" content="text/html; charset=utf-8" />'.PHP_EOL; - $outstr .= ' <title>'.$heading.'</title>'.PHP_EOL; - $outstr .= ' <link type="text/css" href="css/style.css" rel="stylesheet" media="all" />'.PHP_EOL; - $outstr .= ' <link type="text/css" href="jqwidgets/styles/jqx.base.css" rel="stylesheet" />'.PHP_EOL; - $outstr .= ' <link type="text/css" href="jqwidgets/styles/jqx.'.$my_style.'.css" rel="stylesheet" />'.PHP_EOL; - $outstr .= ' <script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>'.PHP_EOL; - $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxcore.js"></script>'.PHP_EOL; - $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxwindow.js"></script>'.PHP_EOL; - $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxbuttons.js"></script>'.PHP_EOL; - $outstr .= ' </head>'.PHP_EOL; - $outstr .= ' <body class="default">'.PHP_EOL; - $outstr .= ' <div id="jqxWidget">'.PHP_EOL; - $outstr .= ' <div id="header">'.PHP_EOL; - $outstr .= ' <div id="title">'.PHP_EOL; - $outstr .= ' ThermFerm '.$version.PHP_EOL; - $outstr .= ' </div>'.PHP_EOL; - $outstr .= ' <form action="maintenance.php" style="margin:30px; float:right">'.PHP_EOL; - $outstr .= ' <input type="submit" id="maintenance" value="Maintenance panel" />'.PHP_EOL; - $outstr .= ' </form>'.PHP_EOL; - $outstr .= ' </div> <!-- header -->'.PHP_EOL; - $outstr .= ' <div id="content">'.PHP_EOL; - - return $outstr; -} - - - -function build_footer() -{ - $outstr = ' </div> <!-- content -->'.PHP_EOL; - $outstr .= ' </div> <!-- jqxWidget -->'.PHP_EOL; - $outstr .= ' </body>'.PHP_EOL; - $outstr .= '</html>'.PHP_EOL; - - return $outstr; -} - - - -/* - * Goto URL. Works also after headers have been sent. - */ -function load($url) { - echo' - <script> - if (top.location != self.location) { - top.location = "'.$url.'" - } - {location.href="'.$url.'";} - </script>'; -} - -