tinycm annotate plugins/community/community.cgi @ rev 84
Small fixes and add community plugin
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Sat Feb 11 21:14:02 2017 +0100 (2017-02-11) |
parents | |
children | b3511ea2c6a6 |
rev | line source |
---|---|
pankso@84 | 1 #!/bin/sh |
pankso@84 | 2 # |
pankso@84 | 3 # TinyCM/TazBug Plugin - Community Tools |
pankso@84 | 4 # |
pankso@84 | 5 |
pankso@84 | 6 case " $(GET) " in |
pankso@84 | 7 *\ wall\ *) |
pankso@84 | 8 d="Community Wall" |
pankso@84 | 9 wall="$tiny/$content/wall" |
pankso@84 | 10 date=$(date '+%Y-%m-%d %H:%M') |
pankso@84 | 11 header |
pankso@84 | 12 html_header |
pankso@84 | 13 user_box |
pankso@84 | 14 |
pankso@84 | 15 # Save any new message first |
pankso@84 | 16 if [ "$(GET message)" ] && check_auth; then |
pankso@84 | 17 # Prevent more than one message by minute peer user |
pankso@84 | 18 file="$(date '+%Y-%m-%d_%H:%M')_$user.txt" |
pankso@84 | 19 [ -d "$wall" ] || mkdir -p ${wall} |
pankso@84 | 20 # Write content to file |
pankso@84 | 21 sed "s/$(echo -en '\r') /\n/g" > ${wall}/${file} << EOT |
pankso@84 | 22 $(GET message) |
pankso@84 | 23 EOT |
pankso@84 | 24 fi |
pankso@84 | 25 |
pankso@84 | 26 # Delete message if requested |
pankso@84 | 27 if [ "$(GET delmsg)" ] && check_auth; then |
pankso@84 | 28 m=$(GET delmsg) |
pankso@84 | 29 author=$(echo ${m} | cut -d "_" -f 3) |
pankso@84 | 30 if [ "$user" == "${author%.txt}" ] || admin_user; then |
pankso@84 | 31 rm -f ${wall}/${m} |
pankso@84 | 32 fi |
pankso@84 | 33 fi |
pankso@84 | 34 |
pankso@84 | 35 # Message form |
pankso@84 | 36 cat << EOT |
pankso@84 | 37 <h2>$d</h2> |
pankso@84 | 38 |
pankso@84 | 39 <form method="get" action="$script" id="wall-form" name ="wall" onsubmit="return checkWall();"> |
pankso@84 | 40 <input type="hidden" name="wall" /> |
pankso@84 | 41 <textarea name="message" maxlength="${MESSAGE_LENGTH}"></textarea> |
pankso@84 | 42 <div> |
pankso@84 | 43 <input type="submit" value="$(gettext 'Send message')" /> |
pankso@84 | 44 $(eval_gettext "Date: $date - Max char:") ${MESSAGE_LENGTH} - |
pankso@84 | 45 $(gettext "Wiki syntax is supported:") |
pankso@84 | 46 <a href="?d=en/help">$(gettext "Help page")</a> |
pankso@84 | 47 </div> |
pankso@84 | 48 </form> |
pankso@84 | 49 |
pankso@84 | 50 <h2>$(gettext "Latest Messages")</h2> |
pankso@84 | 51 EOT |
pankso@84 | 52 # Display messages &nb=40 |
pankso@84 | 53 msg_nb=40 |
pankso@84 | 54 if [ "$(GET nb)" ]; then |
pankso@84 | 55 msg_nb=$(GET nb) |
pankso@84 | 56 fi |
pankso@84 | 57 for m in $(ls -r $wall | head -n ${msg_nb}) |
pankso@84 | 58 do |
pankso@84 | 59 author=$(echo ${m} | cut -d "_" -f 3) |
pankso@84 | 60 pubdate=$(echo ${m} | cut -d "_" -f 1-2 | sed s"/_/ /") |
pankso@84 | 61 cat << EOT |
pankso@84 | 62 <div class="wall-message"> |
pankso@84 | 63 <div>By <a href='?user=${author%.txt}'>${author%.txt}</a> |
pankso@84 | 64 - <span class="date">${pubdate}</span> |
pankso@84 | 65 EOT |
pankso@84 | 66 if [ "$user" == "${author%.txt}" ] || admin_user; then |
pankso@84 | 67 echo " - <span class='del'><a href='?wall&delmsg=$m'>Delete</a></span>" |
pankso@84 | 68 fi |
pankso@84 | 69 echo "</div><p>" |
pankso@84 | 70 cat ${wall}/${m} | wiki_parser |
pankso@84 | 71 echo "</p></div>" |
pankso@84 | 72 done |
pankso@84 | 73 cat << EOT |
pankso@84 | 74 <div id="tools"> |
pankso@84 | 75 <a href="$script?community">$(gettext "Community Tools")</a> |
pankso@84 | 76 </div> |
pankso@84 | 77 EOT |
pankso@84 | 78 html_footer && exit 0 ;; |
pankso@84 | 79 |
pankso@84 | 80 *\ community\ *) |
pankso@84 | 81 d="Community Tools" |
pankso@84 | 82 header |
pankso@84 | 83 html_header |
pankso@84 | 84 user_box |
pankso@84 | 85 cat << EOT |
pankso@84 | 86 <h2>$d</h2> |
pankso@84 | 87 <p>$SHORT_DESC</p> |
pankso@84 | 88 <div id="tools"> |
pankso@84 | 89 <a href="$script?wall">Community Wall</a> |
pankso@84 | 90 </div> |
pankso@84 | 91 EOT |
pankso@84 | 92 |
pankso@84 | 93 html_footer && exit 0 ;; |
pankso@84 | 94 esac |