slitaz-pizza annotate web/lib/libpizza @ rev 12

libpizza/highlighter: hide escape sequences
author Pascal Bellard <pascal.bellard@slitaz.org>
date Mon Mar 26 10:21:18 2012 +0200 (2012-03-26)
parents 8b324cb2c5e2
children 3d50b39eb83d
rev   line source
pankso@7 1 #!/bin/sh
pankso@7 2 #
pankso@7 3 # Common functions for Pizza CGI/SHell web interface.
pankso@7 4 #
pankso@7 5
pankso@7 6 [ -f "/etc/slitaz/pizza.conf" ] && . /etc/slitaz/pizza.conf
pankso@7 7 [ -f "../pizza.conf" ] && . ../pizza.conf
pankso@7 8 . ./db.conf
pankso@7 9 . /usr/lib/slitaz/httphelper
pankso@7 10 header
pankso@7 11
pankso@7 12 # xHTML header.
pankso@7 13 cat lib/header.html || exit 1
pankso@7 14
pankso@7 15 # Status function.
pankso@7 16 status() {
pankso@7 17 if [ $? = 0 ]; then
pankso@7 18 echo " <span class="span-ok">OK</span>"
pankso@7 19 else
pankso@7 20 echo " <span class="span-red">Failed</span>"
pankso@7 21 fi
pankso@7 22 }
pankso@7 23
pankso@7 24 # Put some colors in log and DB files.
pankso@7 25 highlighter() {
pankso@7 26 case $1 in
pankso@7 27 log)
pascal@12 28 sed -e ':a;s/^\(.\{1,73\}\)OK$/\1 OK/;ta' \
pascal@12 29 -e ':a;s/^\(.\{1,73\}\)Failed$/\1 Failed/;ta' |
pascal@12 30 sed -e 's|\[[0-9G\.KM]* .||g' -e 's|.\[18G| |' \
pascal@12 31 -e 's#OK#<span class="span-ok">OK</span>#g' \
pankso@7 32 -e 's#Failed#<span class="span-red">Failed</span>#g' ;;
pankso@7 33 activity)
pankso@7 34 sed s"#^\([^']* : \)#<span class='log-date'>\0</span>#"g ;;
pankso@7 35 esac
pankso@7 36 }
pankso@7 37
pankso@7 38 # Log activities, we want first letter capitalized.
pankso@7 39 log() {
pankso@7 40 grep ^[A-Z] | \
pankso@7 41 sed s"#^[A-Z]\([^']*\)#$(date '+%Y-%m-%d %H:%M') : \0#" >> $activity
pankso@7 42 }
pankso@7 43
pankso@7 44 # Usage: error string
pankso@7 45 error() {
pankso@7 46 echo "<span class="span-red">ERROR: $@</span>"
pankso@7 47 }
pankso@7 48
pankso@7 49 # Pizza notification function: notify "message" "icon"
pankso@7 50 notify() {
pankso@7 51 img=info
pankso@7 52 [ "$2" ] && img=$2
pankso@7 53 cat << EOT
pankso@7 54 <script type="text/javascript">
pankso@7 55 document.write('<div id="notify"><img src="images/$img.png" />$1</div>');
pankso@7 56 fadeNotify('notify', 100, 0, 300);
pankso@7 57 setTimeout('hideNotify()', 6200);
pankso@7 58 </script>
pankso@7 59 EOT
pankso@7 60 }