www-thermferm/global.php

Sat, 16 Aug 2014 17:11:09 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Sat, 16 Aug 2014 17:11:09 +0200
changeset 244
2f868eaefec2
parent 207
8d2ba4126519
child 253
7b6abc0dd1c6
permissions
-rw-r--r--

Selecting units in setup does now work. Menu select variables are protected with thread locking.

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:
diff changeset
1 <?php
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:
diff changeset
2 /*****************************************************************************
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:
diff changeset
3 * Copyright (C) 2014
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:
diff changeset
4 *
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:
diff changeset
5 * Michiel Broek <mbroek at mbse dot eu>
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:
diff changeset
6 *
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:
diff changeset
7 * This file is part of ThermFerm
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:
diff changeset
8 *
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:
diff changeset
9 * This is free software; you can redistribute it and/or modify it
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:
diff changeset
10 * under the terms of the GNU General Public License as published by the
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:
diff changeset
11 * Free Software Foundation; either version 2, or (at your option) any
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:
diff changeset
12 * later version.
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:
diff changeset
13 *
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:
diff changeset
14 * ThermFerm is distributed in the hope that it will be useful, but
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:
diff changeset
15 * WITHOUT ANY WARRANTY; without even the implied warranty of
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:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
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:
diff changeset
17 * General Public License for more details.
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:
diff changeset
18 *
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:
diff changeset
19 * You should have received a copy of the GNU General Public License
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:
diff changeset
20 * along with ThermFerm; see the file COPYING. If not, write to the Free
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:
diff changeset
21 * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
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:
diff changeset
22 *****************************************************************************/
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:
diff changeset
23
173
7259ee8778e9 More style updates
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
24 require_once('utilities.php');
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:
diff changeset
25
207
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
26
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
27 if (isset($_POST['action'])) {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
28 if ($_POST['action'] == "testdata")
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
29 testdata();
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
30 } else {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
31 edit_screen("");
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
32 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
33
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
34
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
35 exit;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
36
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
37
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
38 /*****************************************************************************
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
39 *
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
40 */
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
41
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
42
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
43 function global_update() {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
44
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
45 if ($_POST['key'] == 'Save') {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
46 $sock = open_socket();
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
47 if ($sock != false) {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
48 /*
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
49 * Send command and absorb the result.
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
50 */
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
51 socket_write($sock, "GLOBAL PUT", 4096);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
52 usleep(20000);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
53 socket_write($sock, "NAME,".$_POST['Name'], 4096);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
54 usleep(20000);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
55 socket_write($sock, "PORT,".$_POST['Port'], 4096);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
56 usleep(20000);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
57 socket_write($sock, "TEMP_ADDRESS,".$_POST['TempAddress'], 4096);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
58 usleep(20000);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
59 socket_write($sock, "HUM_ADDRESS,".$_POST['HumAddress'], 4096);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
60 usleep(20000);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
61 if (isset($_POST['LCDcols'])) {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
62 socket_write($sock, "LCD_COLS,".$_POST['LCDcols'], 4096);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
63 usleep(20000);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
64 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
65 if (isset($_POST['LCDrows'])) {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
66 socket_write($sock, "LCD_ROWS,".$_POST['LCDrows'], 4096);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
67 usleep(20000);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
68 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
69 socket_write($sock, ".", 4096);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
70 while (1) {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
71 $line = socket_read($sock, 4096);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
72 if ($line === '')
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
73 break;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
74 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
75 socket_close($sock);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
76 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
77 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
78
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
79 unset($_POST['Name']);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
80 unset($_POST['Port']);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
81 unset($_POST['TempAddress']);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
82 unset($_POST['HumAddress']);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
83 unset($_POST['LCDcols']);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
84 unset($_POST['LCDrows']);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
85 unset($_POST['key']);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
86 load('global.php');
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
87 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
88
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
89
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
90
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
91 function test_thedata() {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
92
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
93 if (isset($_POST['Name']) && isset($_POST['Port']) &&
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
94 isset($_POST['TempAddress']) && isset($_POST['HumAddress']) &&
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
95 isset($_POST['key'])) {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
96
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
97 if ($_POST['key'] == 'Cancel')
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
98 return 99;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
99
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
100 if (isset($_POST['LCDcols']) && (($_POST['LCDcols'] != 16) && ($_POST['LCDcols'] != 20)))
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
101 return 2;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
102
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
103 if (isset($_POST['LCDrows']) && (($_POST['LCDrows'] != 2) && ($_POST['LCDrows'] != 4)))
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
104 return 3;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
105
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
106 } else {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
107 return 1;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
108 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
109
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
110 return 0;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
111 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
112
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
113
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
114
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
115 function testdata()
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
116 {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
117 $result = test_thedata();
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
118 $error = '';
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
119
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
120 switch ($result) {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
121 case 0: global_update();
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
122 return;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
123 break;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
124 case 1: $error = 'Missing data';
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
125 break;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
126 case 2: $error = 'LCD columns must be 16 or 20';
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
127 break;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
128 case 3: $error = 'LCD rows must be 2 or 4';
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
129 break;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
130 case 99:
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
131 load('global.php');
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
132 break;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
133 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
134
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
135 edit_screen($error);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
136 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
137
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
138
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:
diff changeset
139
207
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
140 function edit_screen($error_message)
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
141 {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
142 /*
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
143 * Get list of devices, we need it later
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
144 */
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
145 $answer = send_cmd("DEVICE LIST");
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
146 $devices = explode("\r\n", $answer);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
147
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
148 /*
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
149 * Get current global data
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
150 */
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
151 $answer = send_cmd("GLOBAL GET");
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
152 $reply = explode("\r\n", $answer);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
153
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
154 $outstr = build_header("ThermFerm - Global Setup");
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
155 $outstr .= ' <div id="errors">'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
156 $outstr .= ' '.$error_message.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
157 $outstr .= ' </div> <!-- errors -->'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
158 $outstr .= ' <div id="etable">'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
159 $outstr .= ' <form method="POST" action="global.php">'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
160 $outstr .= ' <table class="editor">'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
161 $outstr .= ' <tr class="trhead">'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
162 $outstr .= ' <td class="setup" colspan="2" style="text-align: center; height: 20px; padding-top: 5px;">Global Setup</td>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
163 $outstr .= ' </tr>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
164
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
165 if (startsWith($reply[0], "213")) {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
166 $i = 1;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
167 while (1) {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
168 if (strcmp($reply[$i], ".") == 0)
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
169 break;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
170 $f = explode(",", $reply[$i]);
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:
diff changeset
171
207
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
172 if ($f[0] == "NAME") {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
173 $outstr .= ' <tr class="editor">'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
174 $outstr .= ' <td class="editname">System Name</td>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
175 $outstr .= ' <td class="editfield"><input type="text" name="Name" size="50" value="'.$f[1].'"></td>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
176 $outstr .= ' </tr>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
177 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
178 if ($f[0] == "PORT") {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
179 $outstr .= ' <tr class="editor">'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
180 $outstr .= ' <td class="editname">Telnet port</td>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
181 $outstr .= ' <td class="editfield"><input type="text" name="Port" size="5" value="'.$f[1].'"></td>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
182 $outstr .= ' </tr>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
183 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
184 if ($f[0] == "TEMP_ADDRESS") {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
185 $outstr .= ' <tr class="editor">'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
186 $outstr .= ' <td class="editname">Room temperature sensor</td>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
187 $outstr .= ' <td class="editfield"><select name="TempAddress">'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
188 $outstr .= ' <option value="">Not Assigned</option>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
189 if (startsWith($devices[0], "212")) {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
190 $j = 1;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
191 while (1) {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
192 if (strcmp($devices[$j], ".") == 0)
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
193 break;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
194 $g = explode(",", $devices[$j]);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
195 if ($g[5] == "IN_ANALOG") {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
196 ($f[1] == $g[0]) ? $se = " selected" : $se = "";
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
197 $outstr .= ' <option value="'.$g[0].'"'.$se.'>'.$g[1].' '.$g[4].'</option>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
198 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
199 $j++;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
200 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
201 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
202 $outstr .= ' </select></td>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
203 $outstr .= ' </tr>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
204 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
205 if ($f[0] == "HUM_ADDRESS") {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
206 $outstr .= ' <tr class="editor">'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
207 $outstr .= ' <td class="editname">Room humidity sensor</td>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
208 $outstr .= ' <td class="editfield"><select name="HumAddress">'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
209 $outstr .= ' <option value="">Not Assigned</option>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
210 if (startsWith($devices[0], "212")) {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
211 $j = 1;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
212 while (1) {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
213 if (strcmp($devices[$j], ".") == 0)
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
214 break;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
215 $g = explode(",", $devices[$j]);
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
216 if ($g[5] == "IN_ANALOG") {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
217 ($f[1] == $g[0]) ? $se = " selected" : $se = "";
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
218 $outstr .= ' <option value="'.$g[0].'"'.$se.'>'.$g[1].' '.$g[4].'</option>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
219 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
220 $j++;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
221 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
222 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
223 $outstr .= ' </select></td>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
224 $outstr .= ' </tr>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
225 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
226 if ($f[0] == "LCD_COLS") {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
227 $outstr .= ' <tr class="editor">'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
228 $outstr .= ' <td class="editname">LCD columns</td>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
229 $outstr .= ' <td class="editfield"><input type="text" name="LCDcols" size="5" value="'.$f[1].'"></td>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
230 $outstr .= ' </tr>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
231 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
232 if ($f[0] == "LCD_ROWS") {
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
233 $outstr .= ' <tr class="editor">'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
234 $outstr .= ' <td class="editname">LCD rows</td>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
235 $outstr .= ' <td class="editfield"><input type="text" name="LCDrows" size="5" value="'.$f[1].'"></td>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
236 $outstr .= ' </tr>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
237 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
238 $i++;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
239 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
240 }
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:
diff changeset
241
207
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
242 $outstr .= ' <tr class="editor">'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
243 $outstr .= ' <td class="editname"><input type="submit" value="Save" name="key"></td>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
244 $outstr .= ' <td class="editfield"><input type="submit" value="Cancel" name="key">';
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
245 $outstr .= '<input type="hidden" value="testdata" name="action">';
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
246 $outstr .= ' </tr>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
247 $outstr .= ' </table>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
248 $outstr .= ' </form>'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
249 $outstr .= ' </div> <!-- etable -->'.PHP_EOL;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
250 $outstr .= build_footer();
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
251
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
252 echo $outstr;
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
253 }
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
254
8d2ba4126519 Added global setup
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
255

mercurial