Thu, 10 Aug 2017 16:27:54 +0200
Serious alarms are above 255
333 | 1 | <?php |
2 | /***************************************************************************** | |
517
5fd12d9f3f84
Changed livescreen, now displays thermometers. The chart is loaded on request. This speeds up loading the application.
Michiel Broek <mbroek@mbse.eu>
parents:
397
diff
changeset
|
3 | * Copyright (C) 2015-2017 |
333 | 4 | * |
5 | * Michiel Broek <mbroek at mbse dot eu> | |
6 | * | |
7 | * This file is part of ThermFerm | |
8 | * | |
9 | * This is free software; you can redistribute it and/or modify it | |
10 | * under the terms of the GNU General Public License as published by the | |
11 | * Free Software Foundation; either version 2, or (at your option) any | |
12 | * later version. | |
13 | * | |
14 | * ThermFerm is distributed in the hope that it will be useful, but | |
15 | * WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
17 | * General Public License for more details. | |
18 | * | |
19 | * You should have received a copy of the GNU General Public License | |
20 | * along with ThermFerm; see the file COPYING. If not, write to the Free | |
21 | * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. | |
22 | *****************************************************************************/ | |
23 | ||
24 | require_once('utilities.php'); | |
357 | 25 | $my_style = 'ui-redmond'; |
333 | 26 | |
27 | if (isset($_GET['action'])) { | |
28 | switch ($_GET['action']) { | |
29 | case 'dl': archive_dl(); | |
30 | break; | |
31 | case 'view': archive_view(); | |
32 | break; | |
33 | default: break; | |
34 | } | |
35 | } else { | |
36 | archive_dir(); | |
37 | } | |
38 | ||
39 | exit; | |
40 | ||
41 | /**************************************************************************** | |
42 | * | |
43 | */ | |
44 | ||
357 | 45 | /* |
46 | * View an archived file in graph format | |
47 | */ | |
48 | function archive_view() { | |
49 | ||
50 | global $my_style; | |
51 | ||
52 | $name = urldecode($_GET['name']); | |
517
5fd12d9f3f84
Changed livescreen, now displays thermometers. The chart is loaded on request. This speeds up loading the application.
Michiel Broek <mbroek@mbse.eu>
parents:
397
diff
changeset
|
53 | $return = urldecode($_GET['return']); |
357 | 54 | |
55 | $answer = send_cmd('GLOBAL GET'); | |
56 | $arr = explode("\r\n", $answer); | |
57 | $version = "?"; | |
58 | ||
59 | if (startsWith($arr[0], "213")) { | |
60 | $j = 1; | |
61 | while (1) { | |
62 | if (strcmp($arr[$j], ".") == 0) | |
63 | break; | |
64 | $f = explode(",", $arr[$j]); | |
65 | ||
66 | if ($f[0] == "RELEASE") | |
67 | $version = $f[1]; | |
68 | $j++; | |
69 | } | |
70 | } | |
71 | ||
72 | $outstr = '<!DOCTYPE html>'.PHP_EOL; | |
73 | $outstr .= '<html>'.PHP_EOL; | |
74 | $outstr .= ' <head>'.PHP_EOL; | |
75 | $outstr .= ' <meta http-equiv="content-type" content="text/html; charset=utf-8" />'.PHP_EOL; | |
76 | $outstr .= ' <title>Archive View '.$name.'</title>'.PHP_EOL; | |
77 | $outstr .= ' <link type="text/css" href="css/style.css" rel="stylesheet" media="all" />'.PHP_EOL; | |
78 | $outstr .= ' <link type="text/css" href="jqwidgets/styles/jqx.base.css" rel="stylesheet" />'.PHP_EOL; | |
79 | $outstr .= ' <link type="text/css" href="jqwidgets/styles/jqx.'.$my_style.'.css" rel="stylesheet" />'.PHP_EOL; | |
80 | $outstr .= ' <script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>'.PHP_EOL; | |
81 | $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxcore.js"></script>'.PHP_EOL; | |
82 | $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxwindow.js"></script>'.PHP_EOL; | |
83 | $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxbuttons.js"></script>'.PHP_EOL; | |
84 | $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxchart.core.js"></script>'.PHP_EOL; | |
85 | $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxdraw.js"></script>'.PHP_EOL; | |
86 | $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxdata.js"></script>'.PHP_EOL; | |
375
f707d22c72f8
In Archives, remove .log from download and view functions. Added new Save as PDF buttons.
Michiel Broek <mbroek@mbse.eu>
parents:
374
diff
changeset
|
87 | $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxdata.export.js"></script>'.PHP_EOL; |
357 | 88 | $outstr .= ' </head>'.PHP_EOL; |
89 | ||
90 | $outstr .= ' <body class="default">'.PHP_EOL; | |
91 | $outstr .= ' <div id="jqxWidget">'.PHP_EOL; | |
92 | $outstr .= ' <div id="header">'.PHP_EOL; | |
93 | $outstr .= ' <div id="title">'.PHP_EOL; | |
94 | $outstr .= ' ThermFerm '.$version.PHP_EOL; | |
95 | $outstr .= ' </div>'.PHP_EOL; | |
517
5fd12d9f3f84
Changed livescreen, now displays thermometers. The chart is loaded on request. This speeds up loading the application.
Michiel Broek <mbroek@mbse.eu>
parents:
397
diff
changeset
|
96 | if ("$return" == "archives") { |
5fd12d9f3f84
Changed livescreen, now displays thermometers. The chart is loaded on request. This speeds up loading the application.
Michiel Broek <mbroek@mbse.eu>
parents:
397
diff
changeset
|
97 | $outstr .= ' <form action="archives.php" style="margin:30px; float:right">'.PHP_EOL; |
5fd12d9f3f84
Changed livescreen, now displays thermometers. The chart is loaded on request. This speeds up loading the application.
Michiel Broek <mbroek@mbse.eu>
parents:
397
diff
changeset
|
98 | $outstr .= ' <input type="submit" id="archives" value="Archives directory" />'.PHP_EOL; |
5fd12d9f3f84
Changed livescreen, now displays thermometers. The chart is loaded on request. This speeds up loading the application.
Michiel Broek <mbroek@mbse.eu>
parents:
397
diff
changeset
|
99 | } else { |
5fd12d9f3f84
Changed livescreen, now displays thermometers. The chart is loaded on request. This speeds up loading the application.
Michiel Broek <mbroek@mbse.eu>
parents:
397
diff
changeset
|
100 | $outstr .= ' <form action="index.php" style="margin:30px; float:right">'.PHP_EOL; |
5fd12d9f3f84
Changed livescreen, now displays thermometers. The chart is loaded on request. This speeds up loading the application.
Michiel Broek <mbroek@mbse.eu>
parents:
397
diff
changeset
|
101 | $outstr .= ' <input type="submit" id="archives" value="Dashboard" />'.PHP_EOL; |
5fd12d9f3f84
Changed livescreen, now displays thermometers. The chart is loaded on request. This speeds up loading the application.
Michiel Broek <mbroek@mbse.eu>
parents:
397
diff
changeset
|
102 | } |
357 | 103 | $outstr .= ' </form>'.PHP_EOL; |
104 | $outstr .= ' </div> <!-- header -->'.PHP_EOL; | |
105 | $outstr .= ' <div id="content">'.PHP_EOL; | |
106 | ||
107 | $outstr .= ' <script type="text/javascript">'.PHP_EOL; | |
108 | $outstr .= ' $(document).ready(function () {'.PHP_EOL; | |
109 | ||
110 | $outstr .= ' function getExportServer() {'.PHP_EOL; | |
111 | $outstr .= ' return "http://www.jqwidgets.com/export_server/export.php";'.PHP_EOL; | |
112 | $outstr .= ' }'.PHP_EOL; | |
113 | ||
114 | $outstr .= ' var sourceA ='.PHP_EOL; | |
115 | $outstr .= ' {'.PHP_EOL; | |
116 | $outstr .= ' datatype: "json",'.PHP_EOL; | |
117 | $outstr .= ' datafields: ['.PHP_EOL; | |
374
20999ef6d487
Fixed php scripts for jqwidgets version 3.8.0
Michiel Broek <mbroek@mbse.eu>
parents:
359
diff
changeset
|
118 | $outstr .= ' { name: "Date", type: "date", format: "yyyy-MM-dd HH:mm" },'.PHP_EOL; |
357 | 119 | $outstr .= ' { name: "Mode" },'.PHP_EOL; |
120 | $outstr .= ' { name: "Air", type: "float" },'.PHP_EOL; | |
121 | $outstr .= ' { name: "Beer", type: "float" },'.PHP_EOL; | |
397
00ca08f5a6f8
Fermentation profiles now have a low and high temperature setting so that you can use a temperture window. Each profile step can now set for beer or air temperature reference. The logfiles have an extra temperature field for this. Bumped to version 0.4.2.
Michiel Broek <mbroek@mbse.eu>
parents:
385
diff
changeset
|
122 | $outstr .= ' { name: "Target_lo", type: "float" },'.PHP_EOL; |
00ca08f5a6f8
Fermentation profiles now have a low and high temperature setting so that you can use a temperture window. Each profile step can now set for beer or air temperature reference. The logfiles have an extra temperature field for this. Bumped to version 0.4.2.
Michiel Broek <mbroek@mbse.eu>
parents:
385
diff
changeset
|
123 | $outstr .= ' { name: "Target_hi", type: "float" },'.PHP_EOL; |
357 | 124 | $outstr .= ' { name: "Heater", type: "int" },'.PHP_EOL; |
125 | $outstr .= ' { name: "Cooler", type: "int" },'.PHP_EOL; | |
126 | $outstr .= ' { name: "HeatUse", type: "int" },'.PHP_EOL; | |
127 | $outstr .= ' { name: "CoolUse", type: "int" },'.PHP_EOL; | |
128 | $outstr .= ' { name: "Room", type: "float" }'.PHP_EOL; | |
129 | $outstr .= ' ],'.PHP_EOL; | |
375
f707d22c72f8
In Archives, remove .log from download and view functions. Added new Save as PDF buttons.
Michiel Broek <mbroek@mbse.eu>
parents:
374
diff
changeset
|
130 | $outstr .= ' url: \'getalog.php?name='.urlencode($name).'.log\''.PHP_EOL; |
357 | 131 | $outstr .= ' };'.PHP_EOL; |
132 | ||
133 | $outstr .= ' var dataAdapter = new $.jqx.dataAdapter(sourceA,'.PHP_EOL; | |
134 | $outstr .= ' {'.PHP_EOL; | |
135 | $outstr .= ' autoBind: true,'.PHP_EOL; | |
136 | $outstr .= ' async: false,'.PHP_EOL; | |
137 | $outstr .= ' downloadComplete: function () { },'.PHP_EOL; | |
138 | $outstr .= ' loadComplete: function () { },'.PHP_EOL; | |
139 | $outstr .= ' loadError: function () { }'.PHP_EOL; | |
140 | $outstr .= ' });'.PHP_EOL; | |
141 | ||
142 | $outstr .= ' var settings = {'.PHP_EOL; | |
143 | $outstr .= ' title: "'.$name.'",'.PHP_EOL; | |
144 | $outstr .= ' description: "",'.PHP_EOL; | |
145 | $outstr .= ' padding: { left: 5, top: 5, right: 5, bottom: 5 },'.PHP_EOL; | |
146 | $outstr .= ' titlePadding: { left: 0, top: 0, right: 0, bottom: 10 },'.PHP_EOL; | |
147 | $outstr .= ' source: dataAdapter,'.PHP_EOL; | |
374
20999ef6d487
Fixed php scripts for jqwidgets version 3.8.0
Michiel Broek <mbroek@mbse.eu>
parents:
359
diff
changeset
|
148 | $outstr .= ' xAxis:'.PHP_EOL; |
357 | 149 | $outstr .= ' {'.PHP_EOL; |
150 | $outstr .= ' dataField: \'Date\','.PHP_EOL; | |
374
20999ef6d487
Fixed php scripts for jqwidgets version 3.8.0
Michiel Broek <mbroek@mbse.eu>
parents:
359
diff
changeset
|
151 | $outstr .= ' type: \'date\','.PHP_EOL; |
384
5db8186fe803
Fixed date display formatting on the web pages. Tooltips display date and time, the normal X-axis only the date.
Michiel Broek <mbroek@mbse.eu>
parents:
376
diff
changeset
|
152 | $outstr .= ' formatFunction: function (value) {'.PHP_EOL; |
385
260e92f0f998
Fixed month display in live view and archive view. Bumped to version 0.3.7.
Michiel Broek <mbroek@mbse.eu>
parents:
384
diff
changeset
|
153 | $outstr .= ' return value.getDate() + \'-\' + (value.getMonth() + 1) + \'-\' + value.getFullYear()'.PHP_EOL; |
384
5db8186fe803
Fixed date display formatting on the web pages. Tooltips display date and time, the normal X-axis only the date.
Michiel Broek <mbroek@mbse.eu>
parents:
376
diff
changeset
|
154 | $outstr .= ' },'.PHP_EOL; |
5db8186fe803
Fixed date display formatting on the web pages. Tooltips display date and time, the normal X-axis only the date.
Michiel Broek <mbroek@mbse.eu>
parents:
376
diff
changeset
|
155 | $outstr .= ' toolTipFormatFunction: function (value) {'.PHP_EOL; |
5db8186fe803
Fixed date display formatting on the web pages. Tooltips display date and time, the normal X-axis only the date.
Michiel Broek <mbroek@mbse.eu>
parents:
376
diff
changeset
|
156 | $outstr .= ' var h = value.getHours();'.PHP_EOL; |
5db8186fe803
Fixed date display formatting on the web pages. Tooltips display date and time, the normal X-axis only the date.
Michiel Broek <mbroek@mbse.eu>
parents:
376
diff
changeset
|
157 | $outstr .= ' var m = value.getMinutes();'.PHP_EOL; |
385
260e92f0f998
Fixed month display in live view and archive view. Bumped to version 0.3.7.
Michiel Broek <mbroek@mbse.eu>
parents:
384
diff
changeset
|
158 | $outstr .= ' return value.getDate() + \'-\' + (value.getMonth() + 1) + \'-\' + value.getFullYear()'; |
384
5db8186fe803
Fixed date display formatting on the web pages. Tooltips display date and time, the normal X-axis only the date.
Michiel Broek <mbroek@mbse.eu>
parents:
376
diff
changeset
|
159 | $outstr .= ' + \' \' + (h < 10 ? \'0\' + h : h) + \':\' + (m < 10 ? \'0\' + m : m);'.PHP_EOL; |
5db8186fe803
Fixed date display formatting on the web pages. Tooltips display date and time, the normal X-axis only the date.
Michiel Broek <mbroek@mbse.eu>
parents:
376
diff
changeset
|
160 | $outstr .= ' },'.PHP_EOL; |
357 | 161 | $outstr .= ' textRotationAngle: 45,'.PHP_EOL; |
162 | $outstr .= ' showGridLines: false'.PHP_EOL; | |
163 | $outstr .= ' },'.PHP_EOL; | |
164 | $outstr .= ' colorScheme: \'scheme01\','.PHP_EOL; | |
165 | $outstr .= ' seriesGroups:'.PHP_EOL; | |
166 | $outstr .= ' [{'.PHP_EOL; | |
167 | $outstr .= ' type: "line",'.PHP_EOL; | |
168 | $outstr .= ' valueAxis:'.PHP_EOL; | |
169 | $outstr .= ' {'.PHP_EOL; | |
170 | $outstr .= ' minValue: 0,'.PHP_EOL; | |
171 | $outstr .= ' maxValue: 100,'.PHP_EOL; | |
172 | $outstr .= ' displayValueAxis: false,'.PHP_EOL; | |
173 | $outstr .= ' description: "Heat/Cool %"'.PHP_EOL; | |
174 | $outstr .= ' },'.PHP_EOL; | |
175 | $outstr .= ' series: ['.PHP_EOL; | |
176 | $outstr .= ' { dataField: "CoolUse", lineWidth: 1, displayText: "Cool %", opacity: 0.5 },'.PHP_EOL; | |
177 | $outstr .= ' { dataField: "HeatUse", lineWidth: 1, displayText: "Heat %", opacity: 0.5 }'.PHP_EOL; | |
178 | $outstr .= ' ]'.PHP_EOL; | |
179 | $outstr .= ' },'.PHP_EOL; | |
180 | $outstr .= ' {'.PHP_EOL; | |
181 | $outstr .= ' type: \'spline\','.PHP_EOL; | |
182 | $outstr .= ' valueAxis:'.PHP_EOL; | |
183 | $outstr .= ' {'.PHP_EOL; | |
184 | $outstr .= ' minValue: 0,'.PHP_EOL; | |
185 | $outstr .= ' description: \'Degrees C\''.PHP_EOL; | |
186 | $outstr .= ' },'.PHP_EOL; | |
187 | $outstr .= ' series: ['.PHP_EOL; | |
188 | $outstr .= ' { dataField: "Air", lineWidth: 1, displayText: "Air" },'.PHP_EOL; | |
189 | $outstr .= ' { dataField: "Beer", lineWidth: 2, displayText: "Beer" },'.PHP_EOL; | |
397
00ca08f5a6f8
Fermentation profiles now have a low and high temperature setting so that you can use a temperture window. Each profile step can now set for beer or air temperature reference. The logfiles have an extra temperature field for this. Bumped to version 0.4.2.
Michiel Broek <mbroek@mbse.eu>
parents:
385
diff
changeset
|
190 | $outstr .= ' { dataField: "Target_lo", lineWidth: 1, displayText: "Target Lo", opacity: 0.7 },'.PHP_EOL; |
00ca08f5a6f8
Fermentation profiles now have a low and high temperature setting so that you can use a temperture window. Each profile step can now set for beer or air temperature reference. The logfiles have an extra temperature field for this. Bumped to version 0.4.2.
Michiel Broek <mbroek@mbse.eu>
parents:
385
diff
changeset
|
191 | $outstr .= ' { dataField: "Target_hi", lineWidth: 1, displayText: "Target Hi", opacity: 0.7 },'.PHP_EOL; |
357 | 192 | $outstr .= ' { dataField: "Room", lineWidth: 1, displayText: "Room", opacity: 0.5 }'.PHP_EOL; |
193 | $outstr .= ' ]'.PHP_EOL; | |
194 | $outstr .= ' }]'.PHP_EOL; | |
195 | $outstr .= ' };'.PHP_EOL; | |
196 | $outstr .= ' $("#fermentor_chart").jqxChart(settings);'.PHP_EOL; | |
197 | ||
198 | $outstr .= ' $("#print").click(function () {'.PHP_EOL; | |
199 | $outstr .= ' var content = $("#fermentor_chart")[0].outerHTML;'.PHP_EOL; | |
376
a5d215531f55
Improved Archives View layout.
Michiel Broek <mbroek@mbse.eu>
parents:
375
diff
changeset
|
200 | $outstr .= ' var newWindow = window.open("", "", "width=865, height=425"),'.PHP_EOL; |
357 | 201 | $outstr .= ' document = newWindow.document.open(),'.PHP_EOL; |
202 | $outstr .= ' pageContent ='.PHP_EOL; | |
203 | $outstr .= ' \'<!DOCTYPE html>\' +'.PHP_EOL; | |
204 | $outstr .= ' \'<html>\' +'.PHP_EOL; | |
205 | $outstr .= ' \'<head>\' +'.PHP_EOL; | |
206 | $outstr .= ' \'<link rel="stylesheet" href="jqwidgets/styles/jqx.base.css" type="text/css" />\' +'.PHP_EOL; | |
207 | $outstr .= ' \'<meta charset="utf-8" />\' +'.PHP_EOL; | |
208 | $outstr .= ' \'<title>jQWidgets Chart</title>\' +'.PHP_EOL; | |
209 | $outstr .= ' \'</head>\' +'.PHP_EOL; | |
210 | $outstr .= ' \'<body>\' + content + \'</body></html>\';'.PHP_EOL; | |
211 | $outstr .= ' document.write(pageContent);'.PHP_EOL; | |
212 | $outstr .= ' document.close();'.PHP_EOL; | |
213 | $outstr .= ' newWindow.print();'.PHP_EOL; | |
214 | $outstr .= ' });'.PHP_EOL; | |
215 | $outstr .= ' $("#print").jqxButton({ width: 100, height: 25, theme: "ui-redmond" });'.PHP_EOL; | |
216 | ||
217 | $outstr .= ' $("#pngButton").click(function () {'.PHP_EOL; | |
218 | $outstr .= ' $("#fermentor_chart").jqxChart("saveAsPNG", "Chart_'.$name.'.png", getExportServer());'.PHP_EOL; | |
219 | $outstr .= ' });'.PHP_EOL; | |
375
f707d22c72f8
In Archives, remove .log from download and view functions. Added new Save as PDF buttons.
Michiel Broek <mbroek@mbse.eu>
parents:
374
diff
changeset
|
220 | $outstr .= ' $("#pdfButton").click(function () {'.PHP_EOL; |
f707d22c72f8
In Archives, remove .log from download and view functions. Added new Save as PDF buttons.
Michiel Broek <mbroek@mbse.eu>
parents:
374
diff
changeset
|
221 | $outstr .= ' $("#fermentor_chart").jqxChart("saveAsPDF", "Chart_'.$name.'.pdf", getExportServer());'.PHP_EOL; |
f707d22c72f8
In Archives, remove .log from download and view functions. Added new Save as PDF buttons.
Michiel Broek <mbroek@mbse.eu>
parents:
374
diff
changeset
|
222 | $outstr .= ' });'.PHP_EOL; |
357 | 223 | $outstr .= ' $("#pngButton").jqxButton({ width: 100, height: 25, theme: "ui-redmond" });'.PHP_EOL; |
375
f707d22c72f8
In Archives, remove .log from download and view functions. Added new Save as PDF buttons.
Michiel Broek <mbroek@mbse.eu>
parents:
374
diff
changeset
|
224 | $outstr .= ' $("#pdfButton").jqxButton({ width: 100, height: 25, theme: "ui-redmond" });'.PHP_EOL; |
357 | 225 | |
226 | $outstr .= ' });'.PHP_EOL; | |
227 | $outstr .= ' </script>'.PHP_EOL; | |
228 | $outstr .= ' <div id="fermentor">'.PHP_EOL; | |
376
a5d215531f55
Improved Archives View layout.
Michiel Broek <mbroek@mbse.eu>
parents:
375
diff
changeset
|
229 | $outstr .= ' <div id="fermentor_chart" style="width:850px; height:410px; float:left"></div>'.PHP_EOL; |
357 | 230 | $outstr .= ' <div style="margin-top: 2px; margin-left: 10px;">'.PHP_EOL; |
376
a5d215531f55
Improved Archives View layout.
Michiel Broek <mbroek@mbse.eu>
parents:
375
diff
changeset
|
231 | $outstr .= ' <input style="float: left; margin-left: 10px;" id="print" type="button" value="Print Graph" />'.PHP_EOL; |
a5d215531f55
Improved Archives View layout.
Michiel Broek <mbroek@mbse.eu>
parents:
375
diff
changeset
|
232 | $outstr .= ' <input style="float: left; margin-left: 10px; margin-top: 10px;" id="pngButton" type="button" value="Save as PNG" />'.PHP_EOL; |
a5d215531f55
Improved Archives View layout.
Michiel Broek <mbroek@mbse.eu>
parents:
375
diff
changeset
|
233 | $outstr .= ' <input style="float: left; margin-left: 10px; margin-top: 10px;" id="pdfButton" type="button" value="Save as PDF" />'.PHP_EOL; |
357 | 234 | $outstr .= ' </div>'.PHP_EOL; |
235 | $outstr .= ' </div> <!-- fermentor -->'.PHP_EOL; | |
236 | ||
237 | $outstr .= ' <script type="text/javascript">'.PHP_EOL; | |
238 | $outstr .= ' $(document).ready(function () {'.PHP_EOL; | |
239 | $outstr .= ' $("#archives").jqxButton({ width: 150, height: 25, theme: \'ui-redmond\' });'.PHP_EOL; | |
240 | $outstr .= ' });'.PHP_EOL; | |
241 | $outstr .= ' </script>'.PHP_EOL; | |
242 | $outstr .= build_footer(); | |
243 | echo $outstr; | |
244 | } | |
333 | 245 | |
246 | ||
247 | ||
248 | /* | |
359
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
249 | * Download popup. The file contents is dynamic generated from |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
250 | * the thermferm server. |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
251 | */ |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
252 | function archive_dl() { |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
253 | |
375
f707d22c72f8
In Archives, remove .log from download and view functions. Added new Save as PDF buttons.
Michiel Broek <mbroek@mbse.eu>
parents:
374
diff
changeset
|
254 | $name = urldecode($_GET['name']) . ".log"; |
359
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
255 | |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
256 | header('Content-Type: text/plain'); |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
257 | header('Content-Disposition: attachment; filename="'.$name.'"'); |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
258 | |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
259 | $answer = send_cmd('ARCHIVE GET '.$name); |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
260 | $arr = explode("\r\n", $answer); |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
261 | |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
262 | $outstr = ''; |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
263 | if (startsWith($arr[0], "212")) { |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
264 | $j = 1; |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
265 | while (1) { |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
266 | if (strcmp($arr[$j], ".") == 0) |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
267 | break; |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
268 | $outstr .= $arr[$j].PHP_EOL; |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
269 | $j++; |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
270 | } |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
271 | } |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
272 | echo $outstr; |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
273 | exit(); |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
274 | } |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
275 | |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
276 | |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
277 | |
12734a3774e8
Added ARCHIVE GET file download command.
Michiel Broek <mbroek@mbse.eu>
parents:
357
diff
changeset
|
278 | /* |
375
f707d22c72f8
In Archives, remove .log from download and view functions. Added new Save as PDF buttons.
Michiel Broek <mbroek@mbse.eu>
parents:
374
diff
changeset
|
279 | * Show directory |
333 | 280 | */ |
281 | function archive_dir() { | |
282 | ||
283 | $answer = send_cmd("ARCHIVE DIR"); | |
284 | $reply = explode("\r\n", $answer); | |
285 | ||
286 | $outstr = build_header("Archived logfiles"); | |
287 | $outstr .= ' <div id="errors">'.PHP_EOL; | |
288 | $outstr .= ' </div> <!-- errors -->'.PHP_EOL; | |
289 | $outstr .= ' <div id="etable">'.PHP_EOL; | |
290 | $outstr .= ' <table class="setup">'.PHP_EOL; | |
291 | $outstr .= ' <tr class="trhead">'.PHP_EOL; | |
292 | $outstr .= ' <td class="setup" style="width: 340px;">File name</td>'.PHP_EOL; | |
293 | $outstr .= ' <td class="setup" style="width: 90px;">Mode</td>'.PHP_EOL; | |
294 | $outstr .= ' <td class="setup" style="width: 100px;">Size</td>'.PHP_EOL; | |
295 | $outstr .= ' <td class="setup" style="width: 140px;">Date</td>'.PHP_EOL; | |
296 | $outstr .= ' <td class="setup" style="width: 110px;">Action</td>'.PHP_EOL; | |
297 | $outstr .= ' </tr>'.PHP_EOL; | |
298 | ||
299 | if (startsWith($reply[0], "212")) { | |
300 | $j = 1; | |
301 | while (1) { | |
302 | if (strcmp($reply[$j], ".") == 0) | |
303 | break; | |
304 | $f = explode(",", $reply[$j]); | |
375
f707d22c72f8
In Archives, remove .log from download and view functions. Added new Save as PDF buttons.
Michiel Broek <mbroek@mbse.eu>
parents:
374
diff
changeset
|
305 | $name = urlencode(basename($f[0], ".log")); |
333 | 306 | $outstr .= ' <tr class="setup">'.PHP_EOL; |
307 | $outstr .= ' <td class="setup">'.$f[0].'</td>'.PHP_EOL; | |
308 | $outstr .= ' <td class="setup">'.$f[1].'</td>'.PHP_EOL; | |
309 | $outstr .= ' <td class="setup">'.$f[2].'</td>'.PHP_EOL; | |
310 | $outstr .= ' <td class="setup">'.$f[3].'</td>'.PHP_EOL; | |
375
f707d22c72f8
In Archives, remove .log from download and view functions. Added new Save as PDF buttons.
Michiel Broek <mbroek@mbse.eu>
parents:
374
diff
changeset
|
311 | $outstr .= ' <td class="setup"><a href="archives.php?action=dl&name='.$name.'">Download</a>'; |
517
5fd12d9f3f84
Changed livescreen, now displays thermometers. The chart is loaded on request. This speeds up loading the application.
Michiel Broek <mbroek@mbse.eu>
parents:
397
diff
changeset
|
312 | $outstr .= ' <a href="archives.php?action=view&return=archives&name='.$name.'">View</a></td>'.PHP_EOL; |
333 | 313 | $outstr .= ' </tr>'.PHP_EOL; |
314 | $j++; | |
315 | } | |
316 | } | |
317 | ||
318 | $outstr .= ' </table>'.PHP_EOL; | |
319 | $outstr .= ' </div> <!-- etable -->'.PHP_EOL; | |
397
00ca08f5a6f8
Fermentation profiles now have a low and high temperature setting so that you can use a temperture window. Each profile step can now set for beer or air temperature reference. The logfiles have an extra temperature field for this. Bumped to version 0.4.2.
Michiel Broek <mbroek@mbse.eu>
parents:
385
diff
changeset
|
320 | $outstr .= ' <script type="text/javascript">'.PHP_EOL; |
00ca08f5a6f8
Fermentation profiles now have a low and high temperature setting so that you can use a temperture window. Each profile step can now set for beer or air temperature reference. The logfiles have an extra temperature field for this. Bumped to version 0.4.2.
Michiel Broek <mbroek@mbse.eu>
parents:
385
diff
changeset
|
321 | $outstr .= ' $(document).ready(function () {'.PHP_EOL; |
00ca08f5a6f8
Fermentation profiles now have a low and high temperature setting so that you can use a temperture window. Each profile step can now set for beer or air temperature reference. The logfiles have an extra temperature field for this. Bumped to version 0.4.2.
Michiel Broek <mbroek@mbse.eu>
parents:
385
diff
changeset
|
322 | $outstr .= ' $("#maintenance").jqxButton({ width: 150, height: 25, theme: \'ui-redmond\' });'.PHP_EOL; |
00ca08f5a6f8
Fermentation profiles now have a low and high temperature setting so that you can use a temperture window. Each profile step can now set for beer or air temperature reference. The logfiles have an extra temperature field for this. Bumped to version 0.4.2.
Michiel Broek <mbroek@mbse.eu>
parents:
385
diff
changeset
|
323 | $outstr .= ' });'.PHP_EOL; |
00ca08f5a6f8
Fermentation profiles now have a low and high temperature setting so that you can use a temperture window. Each profile step can now set for beer or air temperature reference. The logfiles have an extra temperature field for this. Bumped to version 0.4.2.
Michiel Broek <mbroek@mbse.eu>
parents:
385
diff
changeset
|
324 | $outstr .= ' </script>'.PHP_EOL; |
333 | 325 | $outstr .= build_footer(); |
326 | echo $outstr; | |
327 | } | |
328 | ||
329 | ||
330 |