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">♥</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 |