tazweb annotate data/bookmarks.cgi @ rev 144

Tiny edits
author Paul Issott <paul@slitaz.org>
date Sat Apr 05 20:15:13 2014 +0100 (2014-04-05)
parents b499c4de5634
children 68248b2673dd
rev   line source
pankso@141 1 #!/bin/sh
pankso@141 2 #
pankso@141 3 # TazWeb Bookmarks CGI handler
pankso@141 4 # Copyright (C) 2014 SliTaz GNU/Linux - BSD License
pankso@141 5 #
pankso@141 6 . /usr/lib/slitaz/httphelper.sh
pankso@141 7
pankso@141 8 script="$SCRIPT_NAME"
pankso@141 9 home="$(GET home)"
pankso@141 10 user="$(basename $home)"
pankso@141 11 config="/home/$user/.config/tazweb"
pankso@141 12 bookmarks="$config/bookmarks.txt"
pankso@141 13
pankso@141 14 # Security check
pankso@141 15 if [ "$REMOTE_ADDR" != "127.0.0.1" ]; then
pankso@141 16 echo "Security exit" && exit 1
pankso@141 17 fi
pankso@141 18
pankso@141 19 # HTML 5 header with built-in minimal CSS
pankso@141 20 html_header() {
pankso@141 21 cat << EOT
pankso@141 22 <!DOCTYPE html>
pankso@141 23 <html lang="en">
pankso@141 24 <head>
pankso@141 25 <meta charset="utf-8" />
pankso@141 26 <title>TazWeb - Bookmarks</title>
pankso@141 27 <style type="text/css">
pankso@141 28 body { margin: 2% 10%; } .rm { color: #666; } ul { padding: 0; }
pankso@141 29 .rm:hover { text-decoration: none; color: #B70000; }
pankso@141 30 h1 { color: #666; border-bottom: 4px solid #666; }
pankso@141 31 a { text-decoration: none; } a:hover { text-decoration: underline; }
pankso@141 32 li { list-style-type: none; color: #666; line-height: 1.4em; padding: 0; }
pankso@141 33 footer { font-size: 80%; border-top: 2px solid #666; padding: 5px 0; }
pankso@141 34 </style>
pankso@141 35 </head>
pankso@141 36 <body>
pankso@141 37 <section id="content">
pankso@141 38
pankso@141 39 EOT
pankso@141 40 }
pankso@141 41
pankso@141 42 # HTML 5 footer
pankso@141 43 html_footer() {
pankso@141 44 cat << EOT
pankso@141 45
pankso@141 46 </section>
pankso@141 47
pankso@141 48 <footer>
pankso@141 49 <a href="$script?home=$home">Bookmarks</a> -
pankso@141 50 <a href="$script?raw&amp;home=$home">bookmarks.txt</a>
pankso@141 51 </footer>
pankso@141 52
pankso@141 53 </body>
pankso@141 54 </html>
pankso@141 55 EOT
pankso@141 56 }
pankso@141 57
pankso@141 58 # Handle GET actions: continue or exit
pankso@141 59
pankso@141 60 case " $(GET) " in
pankso@141 61 *\ raw\ *)
pankso@141 62 # View bookmarks file
pankso@141 63 header
pankso@141 64 html_header
pankso@141 65 echo "<h1>TazWeb: bookmarks.txt</h1>"
pankso@141 66 echo "<pre>"
pankso@141 67 cat ${bookmarks}
pankso@141 68 echo "</pre>"
pankso@141 69 html_footer && exit 0 ;;
pankso@141 70 *\ rm\ *)
paul@144 71 # Remove a bookmark item and continue
pankso@141 72 url=$(GET rm)
pankso@141 73 [ "$url" ] || continue
pankso@141 74 sed -i s"#.*${url}.*##" ${bookmarks}
pankso@141 75 sed -i "/^$/"d ${bookmarks} ;;
pankso@141 76 esac
pankso@141 77
pankso@141 78 # Show all bookmarks
pankso@141 79 header
pankso@141 80 html_header
pankso@141 81 echo '<h1>TazWeb Bookmarks</h1>'
pankso@141 82 echo '<ul>'
pankso@141 83 IFS="|"
pankso@141 84 cat ${bookmarks} | while read title url null
pankso@141 85 do
pankso@141 86 cat << EOT
pankso@141 87 <li><a class="rm" href="?rm=$url&amp;home=$home">&otimes;<a/>
pankso@141 88 <a href="${url}">${title}<a/></li>
pankso@141 89 EOT
pankso@141 90 done
pankso@141 91 unset IFS
pankso@141 92 echo '</ul>'
pankso@141 93 html_footer
pankso@141 94
pankso@141 95 exit 0