IngRRD/add.html
2015-01-22 15:57:55 +01:00

253 lines
9.1 KiB
Bash
Executable File

#!/bin/bash
# IngRRD (https://forge.riquer.fr/p/ingrrd/)
# Copyright (C) 2014 Vincent Riquer
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
. settings
for lib in lib/*
do
source $lib
done
read_query_string
cat <<-EOHTML
content-type: text/xml
Last-Modified: $(LC_ALL=C TZ=GMT date +'%a, %d %b %Y %X %Z')
Expires: $(LC_ALL=C TZ=GMT date +'%a, %d %b %Y %X %Z')
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>IngRRD - $webuser - Add data</title>
<link rel="stylesheet" type="text/css" href="/ingrrd.css" />
</head>
<body>
<div class="container" style="width:$(( graph_width + 97 ))px">
EOHTML
if ! [ -w "$rrdfile" ]
then
rrdtool create ingress.rrd -s $((60*60)) \
DS:AP:GAUGE:$((2*24*60*60)):0:NaN \
DS:Explorer:GAUGE:$((48*60*60)):0:NaN \
DS:Seer:GAUGE:$((48*60*60)):0:NaN \
DS:XM:GAUGE:$((48*60*60)):0:NaN \
DS:Hacker:GAUGE:$((48*60*60)):0:NaN \
DS:Builder:GAUGE:$((48*60*60)):0:NaN \
DS:Connector:GAUGE:$((48*60*60)):0:NaN \
DS:Mind_Controller:GAUGE:$((48*60*60)):0:NaN \
DS:MU:GAUGE:$((48*60*60)):0:NaN \
DS:Longest_Link:GAUGE:$((48*60*60)):0:NaN \
DS:Largest_Field:GAUGE:$((48*60*60)):0:NaN \
DS:Recharger:GAUGE:$((48*60*60)):0:NaN \
DS:Liberator:GAUGE:$((48*60*60)):0:NaN \
DS:Pioneer:GAUGE:$((48*60*60)):0:NaN \
DS:Purifier:GAUGE:$((48*60*60)):0:NaN \
DS:Neutralized:GAUGE:$((48*60*60)):0:NaN \
DS:Links_Destroyed:GAUGE:$((48*60*60)):0:NaN \
DS:Fields_Destroyed:GAUGE:$((48*60*60)):0:NaN \
DS:Walked:GAUGE:$((48*60*60)):0:NaN \
DS:Guardian:GAUGE:$((48*60*60)):0:NaN \
DS:Link_Maintained:GAUGE:$((48*60*60)):0:NaN \
DS:Link_Length_x_Days:GAUGE:$((48*60*60)):0:NaN \
DS:Field_Held:GAUGE:$((48*60*60)):0:NaN \
DS:Field_x_Days:GAUGE:$((48*60*60)):0:NaN \
DS:Mercenary:GAUGE:$((48*60*60)):0:NaN \
DS:Engineer:GAUGE:$((48*60*60)):0:NaN \
DS:Recruiter:GAUGE:$((48*60*60)):0:NaN \
DS:Hackaton:GAUGE:$((48*60*60)):0:NaN \
RRA:HWPREDICT:8760:8e-1:8e-1:$((24)) \
RRA:AVERAGE:99e-2:1:$((24*15)) \
RRA:MAX:99e-2:1:$((24*15)) \
RRA:AVERAGE:99e-2:4:$((24*180)) \
RRA:MAX:99e-2:4:$((24*180)) \
RRA:AVERAGE:99e-2:24:$(((4*365)+1)) \
RRA:MAX:99e-2:24:$(((4*365)+1)) \
RRA:AVERAGE:99e-2:$((24*30)):$(((32*365)+8)) \
RRA:MAX:99e-2:$((24*30)):$(((32*365)+8)) \
|| {
cat <<-EOHTML
<h1 style="color:red">Cannot create $rrdfile</h1>
</body>
</html>
EOHTML
exit
}
fi
readlast
medals
get_current_level
cat <<-EOHTML
<div class="main">
<form method="post" action="add">
<ul>
EOHTML
case $innovator in
1)
echo "<li><input type=\"radio\" name=\"innovator\" value=\"0\" /> No Innovator medal</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"1\" checked=\"checked\" /> Innovator Bronze</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"2\" /> Innovator Silver</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"3\" /> Innovator Gold</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"4\" /> Innovator Platinum</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"5\" /> Innovator Onyx</li>"
;;
2)
echo "<li><input type=\"radio\" name=\"innovator\" value=\"0\" /> No Innovator medal</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"1\" /> Innovator Bronze</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"2\" checked=\"checked\" /> Innovator Silver</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"3\" /> Innovator Gold</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"4\" /> Innovator Platinum</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"5\" /> Innovator Onyx</li>"
;;
3)
echo "<li><input type=\"radio\" name=\"innovator\" value=\"0\" /> No Innovator medal</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"1\" /> Innovator Bronze</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"2\" /> Innovator Silver</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"3\" checked=\"checked\" /> Innovator Gold</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"4\" /> Innovator Platinum</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"5\" /> Innovator Onyx</li>"
;;
4)
echo "<li><input type=\"radio\" name=\"innovator\" value=\"0\" /> No Innovator medal</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"1\" /> Innovator Bronze</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"2\" /> Innovator Silver</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"3\" /> Innovator Gold</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"4\" checked=\"checked\" /> Innovator Platinum</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"5\" /> Innovator Onyx</li>"
;;
5)
echo "<li><input type=\"radio\" name=\"innovator\" value=\"0\" /> No Innovator medal</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"1\" /> Innovator Bronze</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"2\" /> Innovator Silver</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"3\" /> Innovator Gold</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"4\" /> Innovator Platinum</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"5\" checked=\"checked\" /> Innovator Onyx</li>"
;;
0)
echo "<li><input type=\"radio\" name=\"innovator\" value=\"0\" checked=\"checked\" /> No Innovator medal</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"1\" /> Innovator Bronze</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"2\" /> Innovator Silver</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"3\" /> Innovator Gold</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"4\" /> Innovator Platinum</li>"
echo "<li><input type=\"radio\" name=\"innovator\" value=\"5\" /> Innovator Onyx</li>"
;;
esac
cat <<-EOHTML
</ul>
<ul>
EOHTML
for indice in ${!uinames[@]}
do
echo "<li><input type=\"text\" name=\"${dsnames[indice]}\" value=\"${last["${dsnames[indice]}"]}\" /> ${uinames[indice]}</li>"
done
cat <<-EOHTML
</ul>
<input type="hidden" name="time" value="$(date +%s)" />
<input type="hidden" name="start" value="$start" />
<input type="hidden" name="end" value="$end" />
<button type="submit" name="submit" value="send">Send</button>
</form>
<table style="width:$(( graph_width + 97 ))px">
<tr>
<td style="width:180px">
<a
href="http://validator.w3.org/check?uri=https%3A%2F%2F$SERVER_NAME$encodeduri">
<img
src="/valid-xhtml11"
alt="Valid XHTML 1.1"
height="31"
width="88" />
</a>
<a
href="http://jigsaw.w3.org/css-validator/validator?uri=https%3A%2F%2F$SERVER_NAME$encodeduri">
<img
style="border:0;width:88px;height:31px"
src="/vcss"
alt="Valid CSS!" />
</a>
</td>
<td style="text-align:center">
Generated by <a href="https://forge.riquer.fr/p/ingrrd/">IngRRD</a> &copy; 2014 Vincent Riquer
</td>
<td style="text-align:right; width:180px">
<a href="http://www.fsf.org/licensing/licenses/agpl-3.0.html">
<img src="/AGPL.png" height="31" width="88" />
</a>
</td>
</tr>
</table>
</div>
<div class="menu">
<table style="width:$(( graph_width + 97 ))px" class="menu">
<tr>
<td class="menu"><a href="/cgi/$webuser/?start=$start&amp;end=$end">Overview</a></td>
<td class="menu">
<table class="menu-nobrd">
<tr>
<td colspan="2" class="menu-nobrd">
<a href="/cgi/$webuser/?hist&amp;start=$start&amp;end=$end">
History &amp; Trend
</a>
</td>
</tr>
<tr>
<td class="menu">
<a href="/cgi/$webuser/?hist&amp;start=$start&amp;end=$end">
Medals
</a>
</td>
<td class="menu">
<a href="/cgi/$webuser/?hist&amp;show=all&amp;start=$start&amp;end=$end">
All
</a>
</td>
</tr>
</table>
</td>
<td class="menu-inv">
<table class="menu">
<tr>
<td colspan="2" class="menu-inv">
<b>Add data</b>
</td>
</tr>
<tr>
<td class="submenu-inv">
<b>Add</b>
</td>
<td class="menu">
<a href="import?start=$start&amp;end=$end">Import</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
EOHTML
show_current_level
cat <<-EOHTML
</div>
</div>
</body>
</html>
EOHTML