www-thermferm/utilities.php

Sat, 27 Jun 2015 12:52:04 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Sat, 27 Jun 2015 12:52:04 +0200
changeset 379
50675fd80fed
parent 362
c92651a54969
child 397
00ca08f5a6f8
permissions
-rw-r--r--

Small code cleanup

100
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 <?php
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2 /*****************************************************************************
362
c92651a54969 Made the client-server protocol more robust. When a change to a unit is made using the web interface, the main process is stopped during the update. Splitted the PID in two PID's, one for heating and one for cooling. Adjusted the web edit scrreen for this, but there are still rough edges. Replaced the PID code, maybe this one works better for our purpose. The simulator air temperature changes on the simulator heater and cooler, but it is not realistic at all. This is a development version, do not use in production. The version is 0.3.0
Michiel Broek <mbroek@mbse.eu>
parents: 269
diff changeset
3 * Copyright (C) 2014-2015
100
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 *
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5 * Michiel Broek <mbroek at mbse dot eu>
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 *
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 * This file is part of ThermFerm
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 *
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9 * This is free software; you can redistribute it and/or modify it
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 * under the terms of the GNU General Public License as published by the
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
11 * Free Software Foundation; either version 2, or (at your option) any
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
12 * later version.
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
13 *
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
14 * ThermFerm is distributed in the hope that it will be useful, but
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
15 * WITHOUT ANY WARRANTY; without even the implied warranty of
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
17 * General Public License for more details.
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
18 *
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
20 * along with ThermFerm; see the file COPYING. If not, write to the Free
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
21 * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
22 *****************************************************************************/
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
23
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
24
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
25 function open_socket()
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
26 {
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
27 $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
28
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
29 if (!($sock === false)) {
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
30 if (socket_connect($sock, "localhost", 6554)) {
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
31 socket_set_option($sock, SOL_SOCKET, SO_RCVTIMEO, array('sec' => 15, 'usec' => 0));
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
32 } else {
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
33 socket_close($sock);
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
34 }
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
35 }
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
36 return $sock;
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
37 }
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
38
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
39
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
40
196
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
41 /*
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
42 * @param string $command to send to the server.
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
43 * Return: string with the complete reply from the
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
44 * server. This can be a multiline reply.
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
45 */
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
46 function send_cmd($command)
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
47 {
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
48 $sock = open_socket();
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
49 if ($sock == false) {
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
50 return "";
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
51 }
362
c92651a54969 Made the client-server protocol more robust. When a change to a unit is made using the web interface, the main process is stopped during the update. Splitted the PID in two PID's, one for heating and one for cooling. Adjusted the web edit scrreen for this, but there are still rough edges. Replaced the PID code, maybe this one works better for our purpose. The simulator air temperature changes on the simulator heater and cooler, but it is not realistic at all. This is a development version, do not use in production. The version is 0.3.0
Michiel Broek <mbroek@mbse.eu>
parents: 269
diff changeset
52 socket_write($sock, $command . "\r\n", 4096);
196
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
53
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
54 $answer = "";
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
55 while (1) {
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
56 $line = socket_read($sock, 4096);
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
57 if ($line === '')
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
58 break;
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
59 $answer .= $line;
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
60 }
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
61 socket_close($sock);
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
62
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
63 return $answer;
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
64 }
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
65
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
66
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
67
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
68 /*
251
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
69 * @param string array of $commands to send to the server.
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
70 * Return: string with the complete reply from the
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
71 * server. This can be a multiline reply.
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
72 */
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
73 function send_array($command)
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
74 {
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
75 $sock = open_socket();
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
76 if ($sock == false) {
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
77 return "";
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
78 }
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
79
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
80 foreach($command as $cmd) {
362
c92651a54969 Made the client-server protocol more robust. When a change to a unit is made using the web interface, the main process is stopped during the update. Splitted the PID in two PID's, one for heating and one for cooling. Adjusted the web edit scrreen for this, but there are still rough edges. Replaced the PID code, maybe this one works better for our purpose. The simulator air temperature changes on the simulator heater and cooler, but it is not realistic at all. This is a development version, do not use in production. The version is 0.3.0
Michiel Broek <mbroek@mbse.eu>
parents: 269
diff changeset
81 socket_write($sock, $cmd . "\r\n", 4096);
251
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
82 }
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
83
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
84 $answer = "";
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
85 while (1) {
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
86 $line = socket_read($sock, 4096);
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
87 if ($line === '')
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
88 break;
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
89 $answer .= $line;
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
90 }
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
91 socket_close($sock);
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
92
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
93 return $answer;
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
94 }
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
95
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
96
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
97
173b4480c4a0 Made a function to send arrays to the server. The room temperature and humidity are now displayed at once when the dashboard is loaded.
Michiel Broek <mbroek@mbse.eu>
parents: 196
diff changeset
98 /*
196
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
99 * @param string $command to send to the server.
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
100 * Return: 0 = Ok.
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
101 * 1 = Server responden with an error.
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
102 */
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
103 function send_cmd_check($command)
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
104 {
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
105 $answer = send_cmd($command);
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
106
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
107 if (strlen($answer) && (($answer[0] == '1') || ($answer[0] == '2')))
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
108 return 0;
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
109
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
110 return 1;
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
111 }
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
112
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
113
4d7a96c5d1ff Code cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
114
255
fb930d1db5a6 Added function send_array_check
Michiel Broek <mbroek@mbse.eu>
parents: 251
diff changeset
115 /*
fb930d1db5a6 Added function send_array_check
Michiel Broek <mbroek@mbse.eu>
parents: 251
diff changeset
116 * @param array $command to send to the server.
fb930d1db5a6 Added function send_array_check
Michiel Broek <mbroek@mbse.eu>
parents: 251
diff changeset
117 * Return: 0 = Ok.
fb930d1db5a6 Added function send_array_check
Michiel Broek <mbroek@mbse.eu>
parents: 251
diff changeset
118 * 1 = Server responden with an error.
fb930d1db5a6 Added function send_array_check
Michiel Broek <mbroek@mbse.eu>
parents: 251
diff changeset
119 */
fb930d1db5a6 Added function send_array_check
Michiel Broek <mbroek@mbse.eu>
parents: 251
diff changeset
120 function send_array_check($command)
fb930d1db5a6 Added function send_array_check
Michiel Broek <mbroek@mbse.eu>
parents: 251
diff changeset
121 {
fb930d1db5a6 Added function send_array_check
Michiel Broek <mbroek@mbse.eu>
parents: 251
diff changeset
122 $answer = send_array($command);
fb930d1db5a6 Added function send_array_check
Michiel Broek <mbroek@mbse.eu>
parents: 251
diff changeset
123
fb930d1db5a6 Added function send_array_check
Michiel Broek <mbroek@mbse.eu>
parents: 251
diff changeset
124 if (strlen($answer) && (($answer[0] == '1') || ($answer[0] == '2')))
fb930d1db5a6 Added function send_array_check
Michiel Broek <mbroek@mbse.eu>
parents: 251
diff changeset
125 return 0;
fb930d1db5a6 Added function send_array_check
Michiel Broek <mbroek@mbse.eu>
parents: 251
diff changeset
126
fb930d1db5a6 Added function send_array_check
Michiel Broek <mbroek@mbse.eu>
parents: 251
diff changeset
127 return 1;
fb930d1db5a6 Added function send_array_check
Michiel Broek <mbroek@mbse.eu>
parents: 251
diff changeset
128 }
fb930d1db5a6 Added function send_array_check
Michiel Broek <mbroek@mbse.eu>
parents: 251
diff changeset
129
fb930d1db5a6 Added function send_array_check
Michiel Broek <mbroek@mbse.eu>
parents: 251
diff changeset
130
fb930d1db5a6 Added function send_array_check
Michiel Broek <mbroek@mbse.eu>
parents: 251
diff changeset
131
100
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
132 function startsWith($haystack, $needle)
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
133 {
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
134 return !strncmp($haystack, $needle, strlen($needle));
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
135 }
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
136
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
137
137
e4518fd9b626 Profiles can be managed via the web interface
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
138 function build_header($heading)
134
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
139 {
269
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 255
diff changeset
140 $answer = send_cmd('GLOBAL GET');
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 255
diff changeset
141 $arr = explode("\r\n", $answer);
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 255
diff changeset
142 $version = "?";
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 255
diff changeset
143
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 255
diff changeset
144 if (startsWith($arr[0], "213")) {
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 255
diff changeset
145 $j = 1;
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 255
diff changeset
146 while (1) {
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 255
diff changeset
147 if (strcmp($arr[$j], ".") == 0)
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 255
diff changeset
148 break;
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 255
diff changeset
149 $f = explode(",", $arr[$j]);
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 255
diff changeset
150
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 255
diff changeset
151 if ($f[0] == "RELEASE")
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 255
diff changeset
152 $version = $f[1];
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 255
diff changeset
153 $j++;
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 255
diff changeset
154 }
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 255
diff changeset
155 }
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 255
diff changeset
156
134
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
157 $outstr = '<!DOCTYPE html>'.PHP_EOL;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
158 $outstr .= '<html>'.PHP_EOL;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
159 $outstr .= ' <head>'.PHP_EOL;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
160 $outstr .= ' <meta http-equiv="content-type" content="text/html; charset=utf-8" />'.PHP_EOL;
137
e4518fd9b626 Profiles can be managed via the web interface
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
161 $outstr .= ' <title>'.$heading.'</title>'.PHP_EOL;
134
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
162 $outstr .= ' <link type="text/css" href="css/style.css" rel="stylesheet" media="all" />'.PHP_EOL;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
163 $outstr .= ' </head>'.PHP_EOL;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
164 $outstr .= ' <body class="default">'.PHP_EOL;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
165 $outstr .= ' <div id="jqxWidget">'.PHP_EOL;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
166 $outstr .= ' <div id="header">'.PHP_EOL;
269
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 255
diff changeset
167 $outstr .= ' <div id="title">'.PHP_EOL;
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 255
diff changeset
168 $outstr .= ' ThermFerm '.$version.PHP_EOL;
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 255
diff changeset
169 $outstr .= ' </div>'.PHP_EOL;
134
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
170 $outstr .= ' <form action="maintenance.php" style="margin:30px; float:right">'.PHP_EOL;
173
7259ee8778e9 More style updates
Michiel Broek <mbroek@mbse.eu>
parents: 155
diff changeset
171 $outstr .= ' <input type="submit" style="width: 150px; height: 25px;" value="Maintenance Panel" />'.PHP_EOL;
134
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
172 $outstr .= ' </form>'.PHP_EOL;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
173 $outstr .= ' </div> <!-- header -->'.PHP_EOL;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
174 $outstr .= ' <div id="content">'.PHP_EOL;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
175
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
176 return $outstr;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
177 }
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
178
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
179
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
180
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
181 function build_footer()
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
182 {
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
183 $outstr = ' </div> <!-- content -->'.PHP_EOL;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
184 $outstr .= ' </div> <!-- jqxWidget -->'.PHP_EOL;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
185 $outstr .= ' </body>'.PHP_EOL;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
186 $outstr .= '</html>'.PHP_EOL;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
187
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
188 return $outstr;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
189 }
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
190
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents: 127
diff changeset
191
137
e4518fd9b626 Profiles can be managed via the web interface
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
192
e4518fd9b626 Profiles can be managed via the web interface
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
193 /*
e4518fd9b626 Profiles can be managed via the web interface
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
194 * Goto URL. Works also after headers have been sent.
e4518fd9b626 Profiles can be managed via the web interface
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
195 */
e4518fd9b626 Profiles can be managed via the web interface
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
196 function load($url) {
e4518fd9b626 Profiles can be managed via the web interface
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
197 echo'
e4518fd9b626 Profiles can be managed via the web interface
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
198 <script>
e4518fd9b626 Profiles can be managed via the web interface
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
199 if (top.location != self.location) {
e4518fd9b626 Profiles can be managed via the web interface
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
200 top.location = "'.$url.'"
e4518fd9b626 Profiles can be managed via the web interface
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
201 }
e4518fd9b626 Profiles can be managed via the web interface
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
202 {location.href="'.$url.'";}
e4518fd9b626 Profiles can be managed via the web interface
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
203 </script>';
e4518fd9b626 Profiles can be managed via the web interface
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
204 }
e4518fd9b626 Profiles can be managed via the web interface
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
205
155
0d86f3c0a07b Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents: 137
diff changeset
206

mercurial