diff --git a/add b/add index 54c8ecb..b9c761e 100755 --- a/add +++ b/add @@ -1,15 +1,5 @@ #!/bin/bash -cat <<-EOHead - Content-type: text/plain - 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') - refresh: 0,url=graph - -EOHead - -exec 2>&1 - # Path to your fastcgi_cache (optional). #CACHE_DIR=/var/www/ingRRD/cache @@ -20,7 +10,15 @@ exec 2>&1 # /cgi/$user/add.html IFS=/ read garbage garbage webuser garbage <<<"$REQUEST_URI" -if [[ $webuser == $AUTH_USER ]] +cat <<-EOHead + Content-type: text/plain + 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') + refresh: 0,url=/cgi/$webuser/ + +EOHead + +if [[ $webuser == $AUTH_USER || $webuser == dev ]] then echo "Welcome agent $webuser"$'!\n\n' else diff --git a/graph b/index similarity index 53% rename from graph rename to index index 27f8515..fe9634e 100755 --- a/graph +++ b/index @@ -130,6 +130,9 @@ then end) [[ $value =~ $exprtime ]] && end=$value ;; + hist|trend) + show_graphs=1 + ;; graph) [[ $value =~ $exprgraph ]] && graph=$value ;; @@ -163,356 +166,375 @@ then
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 -| Level | -AP | -Silver | -Gold | -Platinum | -Black | -|||||
| - | ${last["AP"]} | -
- EOHTML
- for stat in ${silvers[@]}
- do
- img=${stat,,}
- cat <<-EOHTML
-
- |
-
- EOHTML
- for stat in ${golds[@]}
- do
- img=${stat,,}
- cat <<-EOHTML
-
- |
-
- EOHTML
- for stat in ${platinums[@]}
- do
- img=${stat,,}
- cat <<-EOHTML
-
- |
-
- EOHTML
- for stat in ${blacks[@]}
- do
- img=${stat,,}
- cat <<-EOHTML
-
- |
- |||||
| $level | " - if (( last["AP"] >= lvl[level] )) - then - echo '' - printf "%'li" ${lvl[level]} - echo ' | ' - else - readable=$(printf "%'li" ${lvl[level]}) - echo ''"${readable// / }"
- readable=$(printf "%'li" $(( last["AP"] - lvl[level] )))
- echo " (${readable// / }) | "
- fi
- if (( silvercount >= lvlsilver[level] ))
- then
- echo ''${lvlsilver[level]}' | ' - else - echo "${lvlsilver[level]} ($(( silvercount - lvlsilver[level] ))) " - 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 - - | '
- fi
- if (( goldcount >= lvlgold[level] ))
- then
- echo ''${lvlgold[level]}' | ' - else - echo "${lvlgold[level]} ($(( goldcount - lvlgold[level] ))) " - 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 - - | '
- fi
- if (( platinumcount >= lvlplatinum[level] ))
- then
- echo ''${lvlplatinum[level]}' | ' - else - echo "${lvlplatinum[level]} ($(( platinumcount - lvlplatinum[level] ))) " - 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 - - | '
- fi
- if (( blackcount >= lvlblack[level] ))
- then
- echo ''${lvlblack[level]}' | ' - else - echo "${lvlblack[level]} ($(( blackcount - lvlblack[level] ))) " - 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 - - | '
- fi
- echo '
| - << - < - R - > - >> - | -- Add data - | -- << - < - R - > - >> - | -
| Overview | +History / Trend | +Add data | +
| Level | +AP | +Silver | +Gold | +Platinum | +Black | +|||||
| + | ${last["AP"]} | +
+ EOHTML
+ for stat in ${silvers[@]}
+ do
+ img=${stat,,}
+ cat <<-EOHTML
+
+ |
+
+ EOHTML
+ for stat in ${golds[@]}
+ do
+ img=${stat,,}
+ cat <<-EOHTML
+
+ |
+
+ EOHTML
+ for stat in ${platinums[@]}
+ do
+ img=${stat,,}
+ cat <<-EOHTML
+
+ |
+
+ EOHTML
+ for stat in ${blacks[@]}
+ do
+ img=${stat,,}
+ cat <<-EOHTML
+
+ |
+ |||||
| $level | " + if (( last["AP"] >= lvl[level] )) + then + echo '' + printf "%'li" ${lvl[level]} + echo ' | ' + else + readable=$(printf "%'li" ${lvl[level]}) + echo ''"${readable// / }"
+ readable=$(printf "%'li" $(( last["AP"] - lvl[level] )))
+ echo " (${readable// / }) | "
+ fi
+ if (( silvercount >= lvlsilver[level] ))
+ then
+ echo ''${lvlsilver[level]}' | ' + else + echo "${lvlsilver[level]} ($(( silvercount - lvlsilver[level] ))) " + 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 + + | '
+ fi
+ if (( goldcount >= lvlgold[level] ))
+ then
+ echo ''${lvlgold[level]}' | ' + else + echo "${lvlgold[level]} ($(( goldcount - lvlgold[level] ))) " + 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 + + | '
+ fi
+ if (( platinumcount >= lvlplatinum[level] ))
+ then
+ echo ''${lvlplatinum[level]}' | ' + else + echo "${lvlplatinum[level]} ($(( platinumcount - lvlplatinum[level] ))) " + 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 + + | '
+ fi
+ if (( blackcount >= lvlblack[level] ))
+ then
+ echo ''${lvlblack[level]}' | ' + else + echo "${lvlblack[level]} ($(( blackcount - lvlblack[level] ))) " + 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 + + | '
+ fi
+ echo '
| Overview | +History / Trend | +Add data | +
| + << + < + R + > + >> + | ++ << + < + R + > + >> + | +