Merge remote-tracking branch 'origin/master' into prod
* origin/master: Show current level on all pages
This commit is contained in:
commit
fe7329e78f
42
add.html
42
add.html
@ -18,33 +18,11 @@
|
||||
|
||||
. settings
|
||||
|
||||
if [ -n "$QUERY_STRING" ]
|
||||
then
|
||||
query_data="${QUERY_STRING//&/
|
||||
}"
|
||||
exprtime='[[:alnum:]-]+'
|
||||
exprgraph='[[:alpha:]_]+'
|
||||
while read name value
|
||||
do
|
||||
case $name in
|
||||
start)
|
||||
[[ $value =~ $exprtime ]] && start=$value
|
||||
;;
|
||||
end)
|
||||
[[ $value =~ $exprtime ]] && end=$value
|
||||
;;
|
||||
esac
|
||||
done <<<"${query_data//=/ }"
|
||||
fi
|
||||
|
||||
readprevvalues() {
|
||||
shift
|
||||
for arg
|
||||
do
|
||||
prevvalues+=( "$arg" )
|
||||
done
|
||||
}
|
||||
readprevvalues $(rrdtool lastupdate ingress.rrd | tail -n1)
|
||||
for lib in lib/*
|
||||
do
|
||||
source $lib
|
||||
done
|
||||
read_query_string
|
||||
|
||||
cat <<-EOHTML
|
||||
content-type: text/xml
|
||||
@ -91,7 +69,6 @@ Expires: $(LC_ALL=C TZ=GMT date +'%a, %d %b %Y %X %Z')
|
||||
<td class="menu-inv">Add data</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
EOHTML
|
||||
if ! [ -w "$rrdfile" ]
|
||||
then
|
||||
@ -138,6 +115,13 @@ then
|
||||
exit
|
||||
}
|
||||
fi
|
||||
readlast
|
||||
medals
|
||||
get_current_level
|
||||
show_current_level
|
||||
cat <<-EOHTML
|
||||
</div>
|
||||
EOHTML
|
||||
cat <<-EOHTML
|
||||
<div class="main">
|
||||
<form method="post" action="add">
|
||||
@ -146,7 +130,7 @@ EOHTML
|
||||
|
||||
for indice in ${!uinames[@]}
|
||||
do
|
||||
echo "<li><input type=\"text\" name=\"${dsnames[indice]}\" value=\"${prevvalues[indice]}\" /> ${uinames[indice]}</li>"
|
||||
echo "<li><input type=\"text\" name=\"${dsnames[indice]}\" value=\"${last["${dsnames[indice]}"]}\" /> ${uinames[indice]}</li>"
|
||||
done
|
||||
|
||||
cat <<-EOHTML
|
||||
|
||||
193
index
193
index
@ -17,6 +17,11 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
. settings
|
||||
|
||||
for lib in lib/*
|
||||
do
|
||||
source $lib
|
||||
done
|
||||
if [ ! -w "$rrdfile" ]
|
||||
then
|
||||
cat <<-EOHead
|
||||
@ -29,45 +34,22 @@ then
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ -n "$QUERY_STRING" ]
|
||||
then
|
||||
query_data="${QUERY_STRING//&/
|
||||
}"
|
||||
exprtime='[[:alnum:]-]+'
|
||||
exprgraph='[[:alpha:]_]+'
|
||||
while read name value
|
||||
do
|
||||
case $name in
|
||||
start)
|
||||
[[ $value =~ $exprtime ]] && start=$value
|
||||
;;
|
||||
end)
|
||||
[[ $value =~ $exprtime ]] && end=$value
|
||||
;;
|
||||
hist|trend)
|
||||
show_graphs=1
|
||||
;;
|
||||
graph)
|
||||
[[ $value =~ $exprgraph ]] && graph=$value
|
||||
;;
|
||||
show)
|
||||
[[ $value == all ]] && show_all=1
|
||||
;;
|
||||
esac
|
||||
done <<<"${query_data//=/ }"
|
||||
fi
|
||||
read_query_string
|
||||
(( start >= end)) && (( end = start + 604800 ))
|
||||
|
||||
if [ -z "$graph" ]
|
||||
then
|
||||
readlast
|
||||
medals
|
||||
get_current_level
|
||||
if (( show_all ))
|
||||
then
|
||||
title="IngRRD - $webuser - History & Trend: All stats"
|
||||
title="IngRRD - $webuser [L$curlevel] - History & Trend: All stats"
|
||||
elif (( show_graphs ))
|
||||
then
|
||||
title="IngRRD - $webuser - History & Trend: Badges"
|
||||
title="IngRRD - $webuser [L$curlevel] - History & Trend: Badges"
|
||||
else
|
||||
title="IngRRD - $webuser - Overview"
|
||||
title="IngRRD - $webuser [L$curlevel] - Overview"
|
||||
fi
|
||||
cat <<-EOHTML
|
||||
content-type: application/xhtml+xml
|
||||
@ -116,59 +98,12 @@ then
|
||||
<td class="menu"><a href="add.html?start=$start&end=$end"><b>Add data</b></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
EOHTML
|
||||
show_current_level
|
||||
cat <<-EOHTML
|
||||
</div>
|
||||
<div class="main">
|
||||
EOHTML
|
||||
readarray -t lastupdatelines < <(
|
||||
rrdtool lastupdate $rrdfile
|
||||
)
|
||||
indices=( ${lastupdatelines[0]} )
|
||||
values=( ${lastupdatelines[2]#*:} )
|
||||
declare -A last
|
||||
for index in ${!indices[@]}
|
||||
do
|
||||
last["${indices[index]}"]=${values[index]}
|
||||
done
|
||||
unset indices values
|
||||
|
||||
for stat in "${medals[@]}"
|
||||
do
|
||||
if (( last["$stat"] >= bronze["$stat"] ))
|
||||
then
|
||||
(( bronzecount++ ))
|
||||
bronzes+=( "$stat" )
|
||||
else
|
||||
upbronze[last["$stat"] * 100 / bronze["$stat"]]+="$stat "
|
||||
fi
|
||||
if (( last["$stat"] >= silver["$stat"] ))
|
||||
then
|
||||
(( silvercount++ ))
|
||||
silvers+=( "$stat" )
|
||||
else
|
||||
upsilver[last["$stat"] * 100 / silver["$stat"]]+="$stat "
|
||||
fi
|
||||
if (( last["$stat"] >= gold["$stat"] ))
|
||||
then
|
||||
(( goldcount++ ))
|
||||
golds+=( "$stat" )
|
||||
else
|
||||
upgold[last["$stat"] * 100 / gold["$stat"]]+="$stat "
|
||||
fi
|
||||
if (( last["$stat"] >= platinum["$stat"] ))
|
||||
then
|
||||
(( platinumcount++ ))
|
||||
platinums+=( "$stat" )
|
||||
else
|
||||
upplatinum[last["$stat"] * 100 / platinum["$stat"]]+="$stat "
|
||||
fi
|
||||
if (( last["$stat"] >= black["$stat"] ))
|
||||
then
|
||||
(( blackcount++ ))
|
||||
blacks+=( "$stat" )
|
||||
else
|
||||
upblack[last["$stat"] * 100 / black["$stat"]]+="$stat "
|
||||
fi
|
||||
done
|
||||
cat <<-EOHTML
|
||||
<div>
|
||||
<table class="level">
|
||||
@ -180,86 +115,15 @@ then
|
||||
<th class="badge">Platinum</th>
|
||||
<th class="badge">Black</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td />
|
||||
<td class="AP">$(printf "%'li" ${last["AP"]})</td>
|
||||
<td class="badge">
|
||||
EOHTML
|
||||
for stat in ${silvers[@]}
|
||||
do
|
||||
img=${stat,,}
|
||||
cat <<-EOHTML
|
||||
<a class="badge"
|
||||
href="?hist&start=$start&end=$end#$stat">
|
||||
<img
|
||||
class="badge"
|
||||
src="/${img//_/-}-silver.png"
|
||||
title="$stat"
|
||||
alt="$stat silver" />
|
||||
</a>
|
||||
EOHTML
|
||||
done
|
||||
cat <<-EOHTML
|
||||
</td>
|
||||
<td class="badge">
|
||||
EOHTML
|
||||
for stat in ${golds[@]}
|
||||
do
|
||||
img=${stat,,}
|
||||
cat <<-EOHTML
|
||||
<a class="badge"
|
||||
href="?hist&start=$start&end=$end#$stat">
|
||||
<img
|
||||
class="badge"
|
||||
src="/${img//_/-}-gold.png"
|
||||
title="$stat"
|
||||
alt="$stat gold" />
|
||||
</a>
|
||||
EOHTML
|
||||
done
|
||||
cat <<-EOHTML
|
||||
</td>
|
||||
<td class="badge">
|
||||
EOHTML
|
||||
for stat in ${platinums[@]}
|
||||
do
|
||||
img=${stat,,}
|
||||
cat <<-EOHTML
|
||||
<a class="badge"
|
||||
href="?hist&start=$start&end=$end#$stat">
|
||||
<img
|
||||
class="badge"
|
||||
src="/${img//_/-}-platinum.png"
|
||||
title="$stat"
|
||||
alt="$stat platinum" />
|
||||
</a>
|
||||
EOHTML
|
||||
done
|
||||
cat <<-EOHTML
|
||||
</td>
|
||||
<td class="badge">
|
||||
EOHTML
|
||||
for stat in ${blacks[@]}
|
||||
do
|
||||
img=${stat,,}
|
||||
cat <<-EOHTML
|
||||
<a class="badge"
|
||||
href="?hist&start=$start&end=$end#$stat">
|
||||
<img
|
||||
class="badge"
|
||||
src="/${img//_/-}-black.png"
|
||||
title="$stat"
|
||||
alt="$stat black" />
|
||||
</a>
|
||||
EOHTML
|
||||
done
|
||||
cat <<-EOHTML
|
||||
</td>
|
||||
</tr>
|
||||
EOHTML
|
||||
for level in {1..16}
|
||||
do
|
||||
echo "<tr><th class=\"level\">$level</th>"
|
||||
if (( level <= curlevel ))
|
||||
then
|
||||
echo "<tr class=\"curlevel\"><th class=\"level\">$level</th>"
|
||||
else
|
||||
echo "<tr class=\"nextlevel\"><th class=\"level\">$level</th>"
|
||||
fi
|
||||
if (( last["AP"] >= lvl[level] ))
|
||||
then
|
||||
echo '<td class="AP" style="background:lightgreen">'
|
||||
@ -276,6 +140,7 @@ then
|
||||
echo '<td class="badge" style="background:lightgreen">'${lvlsilver[level]}'</td>'
|
||||
else
|
||||
echo "<td class=\"badge\" style=\"background:lightgrey\">${lvlsilver[level]} (<span class=\"missing\">$(( silvercount - lvlsilver[level] ))</span>)<br />"
|
||||
count=0
|
||||
for id in {100..0}
|
||||
do
|
||||
[ -z "${upsilver[id]}" ] && continue
|
||||
@ -296,6 +161,7 @@ then
|
||||
alt="$stat silver" />
|
||||
</a>
|
||||
EOHTML
|
||||
(( count++ == lvlsilver[level] - silvercount )) && break 2
|
||||
done
|
||||
done
|
||||
echo '</td>'
|
||||
@ -305,6 +171,7 @@ then
|
||||
echo '<td class="badge" style="background:lightgreen">'${lvlgold[level]}'</td>'
|
||||
else
|
||||
echo "<td class=\"badge\" style=\"background:lightgrey\">${lvlgold[level]} (<span class=\"missing\">$(( goldcount - lvlgold[level] ))</span>)<br />"
|
||||
count=0
|
||||
for id in {100..0}
|
||||
do
|
||||
[ -z "${upgold[id]}" ] && continue
|
||||
@ -325,6 +192,7 @@ then
|
||||
alt="$stat gold" />
|
||||
</a>
|
||||
EOHTML
|
||||
(( count++ == lvlgold[level] - goldcount )) && break 2
|
||||
done
|
||||
done
|
||||
echo '</td>'
|
||||
@ -334,6 +202,7 @@ then
|
||||
echo '<td class="badge" style="background:lightgreen">'${lvlplatinum[level]}'</td>'
|
||||
else
|
||||
echo "<td class=\"badge\" style=\"background:lightgrey\">${lvlplatinum[level]} (<span class=\"missing\">$(( platinumcount - lvlplatinum[level] ))</span>)<br />"
|
||||
count=0
|
||||
for id in {100..0}
|
||||
do
|
||||
[ -z "${upplatinum[id]}" ] && continue
|
||||
@ -354,6 +223,7 @@ then
|
||||
alt="$stat platinum" />
|
||||
</a>
|
||||
EOHTML
|
||||
(( count++ == lvlplatinum[level] - platinumcount )) && break 2
|
||||
done
|
||||
done
|
||||
echo '</td>'
|
||||
@ -363,6 +233,7 @@ then
|
||||
echo '<td class="badge" style="background:lightgreen">'${lvlblack[level]}'</td>'
|
||||
else
|
||||
echo "<td class=\"badge\" style=\"background:lightgrey\">${lvlblack[level]} (<span class=\"missing\">$(( blackcount - lvlblack[level] ))</span>)<br />"
|
||||
count=0
|
||||
for id in {100..0}
|
||||
do
|
||||
[ -z "${upblack[id]}" ] && continue
|
||||
@ -383,6 +254,7 @@ then
|
||||
alt="$stat black" />
|
||||
</a>
|
||||
EOHTML
|
||||
(( count++ == lvlblack[level] - blackcount )) && break 2
|
||||
done
|
||||
done
|
||||
echo '</td>'
|
||||
@ -402,7 +274,7 @@ then
|
||||
<td class="menu-inv">
|
||||
<table class="menu">
|
||||
<tr>
|
||||
<td colspan="2" class="menu-inv">History</td>
|
||||
<td colspan="2" class="menu-inv">History & Trend</td>
|
||||
</tr>
|
||||
EOHTML
|
||||
if (( show_all ))
|
||||
@ -431,6 +303,9 @@ then
|
||||
<td class="menu"><a href="add.html?start=$start&end=$end"><b>Add data</b></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
EOHTML
|
||||
show_current_level
|
||||
cat <<-EOHTML
|
||||
<table style="width:$(( graph_width + 97 ))px">
|
||||
<tr>
|
||||
<td>
|
||||
@ -450,7 +325,7 @@ then
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="main">
|
||||
<div class="maingraph">
|
||||
EOHTML
|
||||
|
||||
if (( show_all ))
|
||||
|
||||
131
ingrrd.css
Normal file
131
ingrrd.css
Normal file
@ -0,0 +1,131 @@
|
||||
/*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
div.container {
|
||||
position: relative;
|
||||
clear: both;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
div.menu {
|
||||
z-index: 1000;
|
||||
position: fixed;
|
||||
top: 0px;
|
||||
background: white;
|
||||
border: 1px solid black;
|
||||
}
|
||||
|
||||
div.anchor {
|
||||
position: relative;
|
||||
top: -9.5em;
|
||||
}
|
||||
|
||||
table.menu {
|
||||
border: 1px solid black;
|
||||
border-collapse: collapse;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
table.menu-nobrd {
|
||||
border-collapse: collapse;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
td.menu {
|
||||
border: 1px solid black;
|
||||
background: white;
|
||||
}
|
||||
td.menu-inv {
|
||||
background: black;
|
||||
color: white
|
||||
}
|
||||
td.submenu-inv {
|
||||
background: #444;
|
||||
color: white
|
||||
}
|
||||
|
||||
div.main {
|
||||
position: absolute;
|
||||
top: 7.5em;
|
||||
}
|
||||
|
||||
div.maingraph {
|
||||
position: absolute;
|
||||
top: 9.3em;
|
||||
}
|
||||
|
||||
table.curlevel {
|
||||
width: 100%;
|
||||
background: white;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
tr.curlevel {
|
||||
background: lightgreen;
|
||||
}
|
||||
|
||||
tr.nextlevel {
|
||||
background: lightgrey;
|
||||
}
|
||||
|
||||
td.curlevel {
|
||||
color: rgb(105, 105, 0);
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
td.curbadge {
|
||||
width: 145px;
|
||||
}
|
||||
|
||||
table.level {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
th.level,td.level {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
th.AP,td.AP {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
th.badge,td.badge {
|
||||
width: 170px;
|
||||
}
|
||||
|
||||
a.badge {
|
||||
color: black;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
img.badge {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
img.minibadge {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
span.missing {
|
||||
color: red;
|
||||
font-weight: bold;
|
||||
}
|
||||
20
lib/get_current_level
Normal file
20
lib/get_current_level
Normal file
@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
|
||||
get_current_level() {
|
||||
for level in {1..16}
|
||||
do
|
||||
if ((
|
||||
last["AP"] >= lvl[level]
|
||||
&& silvercount >= lvlsilver[level]
|
||||
&& goldcount >= lvlgold[level]
|
||||
&& platinumcount >= lvlplatinum[level]
|
||||
&& blackcount >= lvlblack[level]
|
||||
))
|
||||
then
|
||||
curlevel=$level
|
||||
else
|
||||
nextlevel=$level
|
||||
break
|
||||
fi
|
||||
done
|
||||
}
|
||||
32
lib/globals
Normal file
32
lib/globals
Normal file
@ -0,0 +1,32 @@
|
||||
#!/bin/bash
|
||||
|
||||
declare -A \
|
||||
last \
|
||||
|
||||
declare -a \
|
||||
bronzes \
|
||||
silvers \
|
||||
golds \
|
||||
platinums \
|
||||
blacks \
|
||||
upbronze \
|
||||
upsilver \
|
||||
upgold \
|
||||
upplatinum \
|
||||
upblack \
|
||||
|
||||
declare -i \
|
||||
bronzecount \
|
||||
silvercount \
|
||||
goldcount \
|
||||
platinumcount \
|
||||
blackcount \
|
||||
show_graphs \
|
||||
show_all \
|
||||
curlevel \
|
||||
|
||||
declare \
|
||||
graph \
|
||||
start \
|
||||
end \
|
||||
|
||||
45
lib/medals
Normal file
45
lib/medals
Normal file
@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
|
||||
medals() {
|
||||
local \
|
||||
stat \
|
||||
|
||||
for stat in "${medals[@]}"
|
||||
do
|
||||
if (( last["$stat"] >= bronze["$stat"] ))
|
||||
then
|
||||
(( bronzecount++ ))
|
||||
bronzes+=( "$stat" )
|
||||
else
|
||||
upbronze[last["$stat"] * 100 / bronze["$stat"]]+="$stat "
|
||||
fi
|
||||
if (( last["$stat"] >= silver["$stat"] ))
|
||||
then
|
||||
(( silvercount++ ))
|
||||
silvers+=( "$stat" )
|
||||
else
|
||||
upsilver[last["$stat"] * 100 / silver["$stat"]]+="$stat "
|
||||
fi
|
||||
if (( last["$stat"] >= gold["$stat"] ))
|
||||
then
|
||||
(( goldcount++ ))
|
||||
golds+=( "$stat" )
|
||||
else
|
||||
upgold[last["$stat"] * 100 / gold["$stat"]]+="$stat "
|
||||
fi
|
||||
if (( last["$stat"] >= platinum["$stat"] ))
|
||||
then
|
||||
(( platinumcount++ ))
|
||||
platinums+=( "$stat" )
|
||||
else
|
||||
upplatinum[last["$stat"] * 100 / platinum["$stat"]]+="$stat "
|
||||
fi
|
||||
if (( last["$stat"] >= black["$stat"] ))
|
||||
then
|
||||
(( blackcount++ ))
|
||||
blacks+=( "$stat" )
|
||||
else
|
||||
upblack[last["$stat"] * 100 / black["$stat"]]+="$stat "
|
||||
fi
|
||||
done
|
||||
}
|
||||
38
lib/read_query_string
Normal file
38
lib/read_query_string
Normal file
@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
|
||||
read_query_string() {
|
||||
local \
|
||||
exprgraph \
|
||||
exprtime \
|
||||
name \
|
||||
query_data \
|
||||
value \
|
||||
|
||||
if [ -n "$QUERY_STRING" ]
|
||||
then
|
||||
query_data="${QUERY_STRING//&/
|
||||
}"
|
||||
exprtime='[[:alnum:]-]+'
|
||||
exprgraph='[[:alpha:]_]+'
|
||||
while read name value
|
||||
do
|
||||
case $name in
|
||||
start)
|
||||
[[ $value =~ $exprtime ]] && start=$value
|
||||
;;
|
||||
end)
|
||||
[[ $value =~ $exprtime ]] && end=$value
|
||||
;;
|
||||
hist|trend)
|
||||
show_graphs=1
|
||||
;;
|
||||
graph)
|
||||
[[ $value =~ $exprgraph ]] && graph=$value
|
||||
;;
|
||||
show)
|
||||
[[ $value == all ]] && show_all=1
|
||||
;;
|
||||
esac
|
||||
done <<<"${query_data//=/ }"
|
||||
fi
|
||||
}
|
||||
19
lib/readlast
Normal file
19
lib/readlast
Normal file
@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
readlast() {
|
||||
local \
|
||||
index \
|
||||
indices \
|
||||
lastupdatelines \
|
||||
values \
|
||||
|
||||
readarray -t lastupdatelines < <(
|
||||
rrdtool lastupdate $rrdfile
|
||||
)
|
||||
indices=( ${lastupdatelines[0]} )
|
||||
values=( ${lastupdatelines[2]#*:} )
|
||||
for index in ${!indices[@]}
|
||||
do
|
||||
last["${indices[index]}"]=${values[index]}
|
||||
done
|
||||
}
|
||||
256
lib/show_current_level
Normal file
256
lib/show_current_level
Normal file
@ -0,0 +1,256 @@
|
||||
#!/bin/bash
|
||||
|
||||
show_current_level() {
|
||||
cat <<-EOHTML
|
||||
<table class="curlevel" style="width:$(( graph_width + 97 ))px">
|
||||
<tr class="curlevel">
|
||||
<td class="curlevel">L$curlevel</td>
|
||||
<td class="curAP">$(printf "%'li" ${last["AP"]}) AP</td>
|
||||
<td class="curbadge">
|
||||
EOHTML
|
||||
for stat in ${bronzes[@]}
|
||||
do
|
||||
img=${stat,,}
|
||||
cat <<-EOHTML
|
||||
<a class="badge"
|
||||
href="?hist&start=$start&end=$end#$stat">
|
||||
<img
|
||||
class="minibadge"
|
||||
src="/${img//_/-}-bronze.png"
|
||||
title="$stat"
|
||||
alt="$stat bronze" />
|
||||
</a>
|
||||
EOHTML
|
||||
done
|
||||
for id in {100..0}
|
||||
do
|
||||
[ -z "${upbronze[id]}" ] && continue
|
||||
(( greenlevel = id * 255 / 100 ))
|
||||
(( redlevel = 255 - greenlevel ))
|
||||
for stat in ${upbronze[id]}
|
||||
do
|
||||
img=${stat,,}
|
||||
cat <<-EOHTML
|
||||
<a
|
||||
class="badge"
|
||||
style="background:#$(printf %02x%02x $redlevel $greenlevel )00"
|
||||
href="?hist&start=$start&end=$end#$stat">
|
||||
<img
|
||||
class="minibadge"
|
||||
src="/${img//_/-}-bronze.png"
|
||||
title="$stat $id%"
|
||||
alt="$stat bronze" />
|
||||
</a>
|
||||
EOHTML
|
||||
done
|
||||
done
|
||||
cat <<-EOHTML
|
||||
</td>
|
||||
<td class="curbadge">
|
||||
EOHTML
|
||||
for stat in ${silvers[@]}
|
||||
do
|
||||
img=${stat,,}
|
||||
cat <<-EOHTML
|
||||
<a class="badge"
|
||||
href="?hist&start=$start&end=$end#$stat">
|
||||
<img
|
||||
class="minibadge"
|
||||
src="/${img//_/-}-silver.png"
|
||||
title="$stat"
|
||||
alt="$stat silver" />
|
||||
</a>
|
||||
EOHTML
|
||||
done
|
||||
for id in {100..0}
|
||||
do
|
||||
[ -z "${upsilver[id]}" ] && continue
|
||||
(( greenlevel = id * 255 / 100 ))
|
||||
(( redlevel = 255 - greenlevel ))
|
||||
for stat in ${upsilver[id]}
|
||||
do
|
||||
img=${stat,,}
|
||||
cat <<-EOHTML
|
||||
<a
|
||||
class="badge"
|
||||
style="background:#$(printf %02x%02x $redlevel $greenlevel )00"
|
||||
href="?hist&start=$start&end=$end#$stat">
|
||||
<img
|
||||
class="minibadge"
|
||||
src="/${img//_/-}-silver.png"
|
||||
title="$stat $id%"
|
||||
alt="$stat silver" />
|
||||
</a>
|
||||
EOHTML
|
||||
done
|
||||
done
|
||||
cat <<-EOHTML
|
||||
</td>
|
||||
<td class="curbadge">
|
||||
EOHTML
|
||||
for stat in ${golds[@]}
|
||||
do
|
||||
img=${stat,,}
|
||||
cat <<-EOHTML
|
||||
<a class="badge"
|
||||
href="?hist&start=$start&end=$end#$stat">
|
||||
<img
|
||||
class="minibadge"
|
||||
src="/${img//_/-}-gold.png"
|
||||
title="$stat"
|
||||
alt="$stat gold" />
|
||||
</a>
|
||||
EOHTML
|
||||
done
|
||||
for id in {100..0}
|
||||
do
|
||||
[ -z "${upgold[id]}" ] && continue
|
||||
(( greenlevel = id * 255 / 100 ))
|
||||
(( redlevel = 255 - greenlevel ))
|
||||
for stat in ${upgold[id]}
|
||||
do
|
||||
img=${stat,,}
|
||||
cat <<-EOHTML
|
||||
<a
|
||||
class="badge"
|
||||
style="background:#$(printf %02x%02x $redlevel $greenlevel )00"
|
||||
href="?hist&start=$start&end=$end#$stat">
|
||||
<img
|
||||
class="minibadge"
|
||||
src="/${img//_/-}-gold.png"
|
||||
title="$stat $id%"
|
||||
alt="$stat gold" />
|
||||
</a>
|
||||
EOHTML
|
||||
done
|
||||
done
|
||||
cat <<-EOHTML
|
||||
</td>
|
||||
<td class="curbadge">
|
||||
EOHTML
|
||||
for stat in ${platinums[@]}
|
||||
do
|
||||
img=${stat,,}
|
||||
cat <<-EOHTML
|
||||
<a class="badge"
|
||||
href="?hist&start=$start&end=$end#$stat">
|
||||
<img
|
||||
class="minibadge"
|
||||
src="/${img//_/-}-platinum.png"
|
||||
title="$stat"
|
||||
alt="$stat platinum" />
|
||||
</a>
|
||||
EOHTML
|
||||
done
|
||||
for id in {100..0}
|
||||
do
|
||||
[ -z "${upplatinum[id]}" ] && continue
|
||||
(( greenlevel = id * 255 / 100 ))
|
||||
(( redlevel = 255 - greenlevel ))
|
||||
for stat in ${upplatinum[id]}
|
||||
do
|
||||
img=${stat,,}
|
||||
cat <<-EOHTML
|
||||
<a
|
||||
class="badge"
|
||||
style="background:#$(printf %02x%02x $redlevel $greenlevel )00"
|
||||
href="?hist&start=$start&end=$end#$stat">
|
||||
<img
|
||||
class="minibadge"
|
||||
src="/${img//_/-}-platinum.png"
|
||||
title="$stat $id%"
|
||||
alt="$stat platinum" />
|
||||
</a>
|
||||
EOHTML
|
||||
done
|
||||
done
|
||||
cat <<-EOHTML
|
||||
</td>
|
||||
<td class="curbadge">
|
||||
EOHTML
|
||||
for stat in ${blacks[@]}
|
||||
do
|
||||
img=${stat,,}
|
||||
cat <<-EOHTML
|
||||
<a class="badge"
|
||||
href="?hist&start=$start&end=$end#$stat">
|
||||
<img
|
||||
class="minibadge"
|
||||
src="/${img//_/-}-black.png"
|
||||
title="$stat"
|
||||
alt="$stat black" />
|
||||
</a>
|
||||
EOHTML
|
||||
done
|
||||
for id in {100..0}
|
||||
do
|
||||
[ -z "${upblack[id]}" ] && continue
|
||||
(( greenlevel = id * 255 / 100 ))
|
||||
(( redlevel = 255 - greenlevel ))
|
||||
for stat in ${upblack[id]}
|
||||
do
|
||||
img=${stat,,}
|
||||
cat <<-EOHTML
|
||||
<a
|
||||
class="badge"
|
||||
style="background:#$(printf %02x%02x $redlevel $greenlevel )00"
|
||||
href="?hist&start=$start&end=$end#$stat">
|
||||
<img
|
||||
class="minibadge"
|
||||
src="/${img//_/-}-black.png"
|
||||
title="$stat $id%"
|
||||
alt="$stat black" />
|
||||
</a>
|
||||
EOHTML
|
||||
done
|
||||
done
|
||||
cat <<-EOHTML
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="nextlevel">
|
||||
<td class="curevel">L$nextlevel</td>
|
||||
EOHTML
|
||||
readable=$(printf "%'li" ${lvl[nextlevel]})
|
||||
if (( last["AP"] >= lvl[nextlevel] ))
|
||||
then
|
||||
style='style="background:lightgreen"'
|
||||
else
|
||||
style=''
|
||||
fi
|
||||
cat <<-EOHTML
|
||||
<td class="curAP" $style>${readable// / } AP</td>
|
||||
<td />
|
||||
EOHTML
|
||||
if (( silvercount >= lvlsilver[level] ))
|
||||
then
|
||||
echo '<td class="curbadge" style="background:lightgreen">'${lvlsilver[level]}'</td>'
|
||||
else
|
||||
echo "<td class=\"curbadge\" style=\"background:lightgrey\">${lvlsilver[level]} (<span class=\"missing\">$(( silvercount - lvlsilver[level] ))</span>)"
|
||||
echo '</td>'
|
||||
fi
|
||||
if (( goldcount >= lvlgold[level] ))
|
||||
then
|
||||
echo '<td class="curbadge" style="background:lightgreen">'${lvlgold[level]}'</td>'
|
||||
else
|
||||
echo "<td class=\"curbadge\" style=\"background:lightgrey\">${lvlgold[level]} (<span class=\"missing\">$(( goldcount - lvlgold[level] ))</span>)"
|
||||
echo '</td>'
|
||||
fi
|
||||
if (( platinumcount >= lvlplatinum[level] ))
|
||||
then
|
||||
echo '<td class="curbadge" style="background:lightgreen">'${lvlplatinum[level]}'</td>'
|
||||
else
|
||||
echo "<td class=\"curbadge\" style=\"background:lightgrey\">${lvlplatinum[level]} (<span class=\"missing\">$(( platinumcount - lvlplatinum[level] ))</span>)"
|
||||
echo '</td>'
|
||||
fi
|
||||
if (( blackcount >= lvlblack[level] ))
|
||||
then
|
||||
echo '<td class="curbadge" style="background:lightgreen">'${lvlblack[level]}'</td>'
|
||||
else
|
||||
echo "<td class=\"curbadge\" style=\"background:lightgrey\">${lvlblack[level]} (<span class=\"missing\">$(( blackcount - lvlblack[level] ))</span>)"
|
||||
echo '</td>'
|
||||
fi
|
||||
cat <<-EOHTML
|
||||
</tr>
|
||||
</table>
|
||||
EOHTML
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user