--- a/www/includes/global.inc.php Sat Apr 13 16:50:26 2024 +0200 +++ b/www/includes/global.inc.php Sun Apr 14 12:46:02 2024 +0200 @@ -24,25 +24,72 @@ /* * Look for the style names in the jqwidgets/styles directory. */ -$my_style = 'ui-redmond'; -//$my_style = 'ui-mbse'; +//$my_style = 'ui-redmond'; +$my_style = 'ui-mbse'; require_once($_SERVER['DOCUMENT_ROOT'].'/version.php'); +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; +} + + +function startsWith($haystack, $needle) +{ + return !strncmp($haystack, $needle, strlen($needle)); +} + + function page_header($title, $loadjs) { global $my_style; global $my_version; ?> <!DOCTYPE html> -<html lang=en-US> +<html> <head> - <meta http-equiv="content-type" content="text/html; charset=utf-8" /> + <meta charset="utf-8"> <title>ThermFerm v<?php echo $my_version;?> - <?php echo $title;?></title> -<!-- <link type="text/css" href="css/style.css" rel="stylesheet" media="all" /> --> + <link type="text/css" href="css/style.css" rel="stylesheet" media="all" /> <link type="text/css" href="jqwidgets/styles/jqx.base.css" rel="stylesheet" /> <link type="text/css" href="jqwidgets/styles/jqx.<?php echo $my_style; ?>.css" rel="stylesheet" /> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <meta name="viewport" content="width=device-width, initial-scale=1"> <script> var theme = "<?php echo $my_style; ?>"; </script> @@ -72,6 +119,28 @@ <div id="jqxMenu" style='float: left;'> <ul> <li style='width: 80px;'><a href="index.php">Home</a></li> + <li style='width: 80px;'>Fermenters + <ul style='width: 200px;'> +<?php + $answer = send_cmd("LIST"); + if (strlen($answer)) { + $arr = explode("\r\n", $answer); + + if (startsWith($arr[0], "212")) { + $i = 1; + while (1) { + if (strcmp($arr[$i], ".") == 0) + break; + $parts = explode(",", $arr[$i]); + echo ' <li><img style="float: left; margin-right: 5px;" src="images/fridge.png" />'; + echo '<a href="fermenter.php?uuid='.$parts[0].'">'.$parts[1].'</a></li>'.PHP_EOL; + $i++; + } + } + } +?> + </ul> + </li> <li style='width: 80px;'>Setup <ul style='width: 200px;'> <li><img style='float: left; margin-right: 5px;' src='images/preferences.png' /><a href="set_global.php">Global</a></li> @@ -79,6 +148,7 @@ <li><img style='float: left; margin-right: 5px;' src='images/fermenter.png' /><a href="set_fermenters.php">Fermenters</a></li> <li><img style='float: left; margin-right: 5px;' src='images/computer.png' /><a href="set_simulators.php">Simulators</a></li> </ul> + </li> <li style='width: 80px;'><a href="gen_about.php">Over</a></li> </ul> </div> <!-- End menu -->