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&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&home=$home">⊗<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 |