tinycm annotate plugins/community/community.cgi @ rev 98

Samall fix to have a page title
author Christophe Lincoln <pankso@slitaz.org>
date Sun Feb 19 23:58:18 2017 +0100 (2017-02-19)
parents a7f76c79d13f
children 95673a3de4e4
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@88 15 # Wall is only for logged users
pankso@92 16 if [ "$WALL_MODE" == "private" ] && ! check_auth; then
pankso@92 17 gettext "Private Wall - You must be logged in to read the wall"
pankso@88 18 html_footer && exit 0
pankso@88 19 fi
pankso@88 20
pankso@84 21 # Save any new message first
pankso@84 22 if [ "$(GET message)" ] && check_auth; then
pankso@84 23 # Prevent more than one message by minute peer user
pankso@84 24 file="$(date '+%Y-%m-%d_%H:%M')_$user.txt"
pankso@84 25 [ -d "$wall" ] || mkdir -p ${wall}
pankso@84 26 # Write content to file
pankso@84 27 sed "s/$(echo -en '\r') /\n/g" > ${wall}/${file} << EOT
pankso@84 28 $(GET message)
pankso@84 29 EOT
pankso@84 30 fi
pankso@84 31
pankso@84 32 # Delete message if requested
pankso@84 33 if [ "$(GET delmsg)" ] && check_auth; then
pankso@84 34 m=$(GET delmsg)
pankso@84 35 author=$(echo ${m} | cut -d "_" -f 3)
pankso@84 36 if [ "$user" == "${author%.txt}" ] || admin_user; then
pankso@84 37 rm -f ${wall}/${m}
pankso@84 38 fi
pankso@84 39 fi
pankso@84 40
pankso@84 41 # Message form
pankso@92 42 echo "<h2>$d</h2>"
pankso@92 43 if check_auth; then
pankso@92 44 cat << EOT
pankso@84 45
pankso@97 46 <form method="get" action="$script" id="wall-form" name="wall" onsubmit="return checkWall();">
pankso@84 47 <input type="hidden" name="wall" />
pankso@92 48 <textarea name="message" maxlength="${WALL_MESSAGES_LENGTH}"></textarea>
pankso@84 49 <div>
pankso@84 50 <input type="submit" value="$(gettext 'Send message')" />
pankso@92 51 $(eval_gettext "Date: $date - Max char:") ${WALL_MESSAGES_LENGTH} -
pankso@84 52 $(gettext "Wiki syntax is supported:")
pankso@84 53 <a href="?d=en/help">$(gettext "Help page")</a>
pankso@84 54 </div>
pankso@84 55 </form>
pankso@84 56
pankso@84 57 <h2>$(gettext "Latest Messages")</h2>
pankso@84 58 EOT
pankso@92 59 fi
pankso@84 60 # Display messages &nb=40
pankso@84 61 msg_nb=40
pankso@84 62 if [ "$(GET nb)" ]; then
pankso@84 63 msg_nb=$(GET nb)
pankso@84 64 fi
pankso@84 65 for m in $(ls -r $wall | head -n ${msg_nb})
pankso@84 66 do
pankso@84 67 author=$(echo ${m} | cut -d "_" -f 3)
pankso@84 68 pubdate=$(echo ${m} | cut -d "_" -f 1-2 | sed s"/_/ /")
pankso@84 69 cat << EOT
pankso@84 70 <div class="wall-message">
pankso@84 71 <div>By <a href='?user=${author%.txt}'>${author%.txt}</a>
pankso@84 72 - <span class="date">${pubdate}</span>
pankso@84 73 EOT
pankso@84 74 if [ "$user" == "${author%.txt}" ] || admin_user; then
pankso@84 75 echo " - <span class='del'><a href='?wall&amp;delmsg=$m'>Delete</a></span>"
pankso@84 76 fi
pankso@84 77 echo "</div><p>"
pankso@84 78 cat ${wall}/${m} | wiki_parser
pankso@84 79 echo "</p></div>"
pankso@84 80 done
pankso@93 81 if check_auth; then
pankso@93 82 cat << EOT
pankso@84 83 <div id="tools">
pankso@84 84 <a href="$script?community">$(gettext "Community Tools")</a>
pankso@84 85 </div>
pankso@84 86 EOT
pankso@93 87 fi
pankso@84 88 html_footer && exit 0 ;;
pankso@84 89
pankso@97 90 *\ twitter\ *)
pankso@98 91 d="Tweets by @${TWITTER_USER}"
pankso@97 92 header
pankso@97 93 html_header
pankso@97 94 user_box
pankso@97 95 cat << EOT
pankso@97 96 <a class="twitter-timeline"
pankso@97 97 href="https://twitter.com/${TWITTER_USER}">Tweets by ${TWITTER_USER}</a>
pankso@97 98 <script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
pankso@97 99 EOT
pankso@97 100 html_footer && exit 0 ;;
pankso@97 101
pankso@84 102 *\ community\ *)
pankso@84 103 d="Community Tools"
pankso@84 104 header
pankso@84 105 html_header
pankso@84 106 user_box
pankso@93 107 echo '<div id="tools">'
pankso@93 108 if check_auth; then
pankso@93 109 echo "<a href='$script?dashboard'>Dashboard</a>"
pankso@93 110 fi
pankso@84 111 cat << EOT
pankso@93 112 <a href="$script?wall">Community Wall</a>
pankso@97 113 <a href="$script?twitter">Twitter Timeline</a>
pankso@92 114 </div>
pankso@84 115 <h2>$d</h2>
pankso@84 116 <p>$SHORT_DESC</p>
pankso@84 117 EOT
pankso@94 118 if admin_user; then
pankso@94 119 cat << EOT
pankso@94 120 <h3>Plugin config</h3>
pankso@94 121 <pre>
pankso@97 122 Wall mode : $WALL_MODE
pankso@97 123 Messages length : $WALL_MESSAGES_LENGTH
pankso@97 124 Twitter user : $TWITTER_USER
pankso@94 125 </pre>
pankso@94 126 EOT
pankso@94 127 fi
pankso@84 128 html_footer && exit 0 ;;
pankso@84 129 esac