slitaz-forge annotate irc/index.cgi @ rev 707

Add btn_donate_SM.gif
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Nov 27 11:38:10 2019 +0100 (2019-11-27)
parents f56d6ce4c4c7
children
rev   line source
pankso@400 1 #!/bin/sh
pankso@400 2 #
pankso@400 3 # Small CGI example to display TazIRC Log Bot logs.
pankso@400 4 #
pankso@642 5 . /usr/lib/slitaz/httphelper.sh
pankso@400 6
pankso@400 7 host="irc.freenode.net"
pankso@400 8 chan="slitaz"
pankso@400 9 logdir="log/$host/$chan"
pankso@400 10
pankso@400 11 # HTML 5 header
pankso@400 12 html_header() {
pankso@400 13 cat lib/header.html | sed -e s!'%LOG%'!"$log"!g
pankso@400 14 }
pankso@400 15
pankso@400 16 # HTML 5 footer
pankso@400 17 html_footer() {
pankso@400 18 if [ -f "lib/footer.html" ]; then
pankso@400 19 cat $tiny/lib/footer.html
pankso@400 20 else
pankso@400 21 cat << EOT
pankso@400 22
pankso@400 23 <!-- End content -->
pankso@400 24 </div>
pankso@400 25
pankso@400 26 <div id="footer">&hearts;</div>
pankso@400 27
pankso@400 28 </body>
pankso@400 29 </html>
pankso@400 30 EOT
pankso@400 31 fi
pankso@400 32 }
pankso@400 33
pankso@400 34 # Handle GET actions
pankso@400 35 case " $(GET) " in
pankso@400 36 *\ log\ *)
pankso@400 37 # Display a daily log
pankso@400 38 log="$(GET log)"
pankso@400 39 header
pankso@400 40 html_header
pankso@400 41 echo "<h2>#${chan} $log</h2>"
pankso@400 42 IFS="|"
pankso@400 43 cat ${logdir}/${log}.log | while read time user text
pankso@400 44 do
pankso@400 45 cat << EOT
pankso@400 46 <div class="box">
pankso@406 47 <span class="date">[$time]</span> <span style="color: #36C;">$user:</span> $text
pankso@400 48 </div>
pankso@400 49 EOT
pankso@400 50 done
pankso@400 51 unset IFS
pankso@400 52 html_footer ;;
pankso@400 53 *\ webirc\ *)
pankso@400 54 # Web IRC
pankso@400 55 log="#slitaz"
pankso@400 56 header
pankso@400 57 html_header
pankso@400 58 cat << EOT
pankso@400 59 <div style="text-align: center;">
pankso@400 60 <iframe
pankso@400 61 src="http://webchat.freenode.net?channels=%23slitaz&uio=OT10cnVlJjExPTI0Ng32"
pankso@668 62 width="100%" height="480">
pankso@400 63 </iframe>
pankso@400 64 </div>
pankso@400 65 EOT
pankso@400 66 html_footer ;;
pankso@400 67 *)
pankso@400 68 # Info, log list and stats.
pankso@400 69 log="Logs"
pankso@400 70 header
pankso@400 71 html_header
pankso@400 72 cat << EOT
pankso@400 73 <h2>Welcome to SliTaz IRC World!</h2>
pankso@400 74 <p>
paul@405 75 This service lets you read online the SliTaz IRC support channel on
paul@405 76 Freenode and provides a <a href="?webirc">web IRC client</a>. On a
pankso@400 77 SliTaz system you can also use a graphical or a text mode IRC client
pankso@400 78 such as Xchat or TazIRC:
pankso@400 79 </p>
pankso@400 80 <pre>
pankso@400 81 $ tazirc irc.freenode.net [nick] slitaz
pankso@400 82 </pre>
pankso@400 83
pankso@400 84 <h2>#${chan} $log</h2>
pankso@400 85
pankso@400 86 <pre>
pankso@400 87 EOT
pankso@403 88 for log in $(ls $logdir/*.log | sort -r -n)
pankso@400 89 do
pankso@403 90 count="$(wc -l $log | awk '{print $1}')"
pankso@403 91 log="$(basename ${log%.log})"
pankso@403 92 echo "<a href='?log=$log'>$log</a> $count messages"
pankso@400 93 done
pankso@403 94 echo "</pre>"
pankso@403 95 total=$(wc -l ${logdir}/*.log | tail -n 1 | awk '{print $1}')
pankso@404 96 echo "<p>Total: $total messages</p>"
pankso@400 97 unset IFS
pankso@400 98 html_footer
pankso@400 99 esac
pankso@400 100
pankso@400 101 exit 0