slitaz-dev-tools annotate tazwikiss/rootfs/var/www/wiki/plugins/wkp_Admin.sh @ rev 111
mirror-info: add some mirrors
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Thu Jun 09 20:54:44 2011 +0200 (2011-06-09) |
parents | a8cceb6943e9 |
children | d2a15f85b581 |
rev | line source |
---|---|
pascal@58 | 1 plugin="<a href=\"?action=admin\">Administration</a>" |
pascal@58 | 2 description_fr="Administration du Wiki" |
pascal@58 | 3 description="Wiki administration" |
pascal@58 | 4 |
pascal@58 | 5 admin_enable() |
pascal@58 | 6 { |
pascal@58 | 7 [ -n "$(POST $1)" ] || return |
pascal@58 | 8 chmod 0 $3$2* |
pascal@58 | 9 for i in $(POST); do |
pascal@58 | 10 case "$i" in $2*) chmod 755 $3$i;; esac |
pascal@58 | 11 done |
pascal@58 | 12 } |
pascal@58 | 13 |
pascal@58 | 14 action() |
pascal@58 | 15 { |
pascal@58 | 16 [ "$1" == "admin" ] || return 1 |
pascal@58 | 17 curpassword="$(POST curpassword)" |
pascal@58 | 18 secret="admin.secret" |
pascal@58 | 19 if [ -n "$(POST setpassword)" ]; then |
pascal@58 | 20 if [ -z "$curpassword" ]; then # unauthorized |
pascal@58 | 21 if [ ! -s $secret -o "$(cat $secret)" == \ |
pascal@58 | 22 "$(echo $(POST password) | md5sum)" ]; then |
pascal@58 | 23 curpassword="$(POST password)" |
pascal@58 | 24 fi |
pascal@58 | 25 fi |
pascal@58 | 26 [ -n "$curpassword" ] && echo $curpassword | md5sum > $secret |
pascal@58 | 27 fi |
pascal@58 | 28 if [ -n "$(POST save)" ]; then |
pascal@58 | 29 cat <<EOT |
pascal@58 | 30 Content-Type: application/octet-stream |
pascal@58 | 31 Content-Length: $(stat -c %s $(POST file)) |
pascal@58 | 32 Content-Disposition: attachment; filename=$(POST file) |
pascal@58 | 33 |
pascal@58 | 34 EOT |
pascal@58 | 35 cat $(POST file) |
pascal@58 | 36 exit 0 |
pascal@58 | 37 fi |
pascal@111 | 38 [ -n "$(POST restore)" ] && mv -f $(FILE data tmpname) $(POST file) |
pascal@58 | 39 admin_enable locales config- ./ |
pascal@58 | 40 admin_enable plugins wkp_ plugins/ |
pascal@58 | 41 CONTENT=" |
pascal@58 | 42 <table width=\"100%\"> |
pascal@58 | 43 <form method=\"post\" action=\"?action=admin\"> |
pascal@58 | 44 <tr><td><h2>$MDP</h2></td> |
pascal@58 | 45 <td><input type=\"text\" name=\"password\" /> |
pascal@58 | 46 <input type=\"hidden\" name=\"curpassword\" value=\"$curpassword\" /> |
pascal@58 | 47 <input type=\"submit\" value=\"$DONE_BUTTON\" name=\"setpassword\" /></td></tr> |
pascal@58 | 48 </form>" |
pascal@58 | 49 [ -z "$curpassword" ] && return 0 |
pascal@58 | 50 CONTENT="$CONTENT |
pascal@58 | 51 <form method=\"post\" enctype=\"multipart/form-data\" action=\"?action=admin\"> |
pascal@58 | 52 <input type=\"hidden\" name=\"curpassword\" value=\"$curpassword\" /> |
pascal@58 | 53 <tr><td><h2>Plugins</h2></td> |
pascal@58 | 54 <td><input type=\"submit\" value=\"$DONE_BUTTON\" name=\"plugins\" /></td></tr> |
pascal@58 | 55 " |
pascal@58 | 56 PAGE_TITLE_link=false |
pascal@58 | 57 editable=false |
pascal@58 | 58 lang="${HTTP_ACCEPT_LANGUAGE%%,*}" |
pascal@58 | 59 PAGE_TITLE="Administration" |
pascal@58 | 60 for i in $plugins_dir/*.sh ; do |
pascal@58 | 61 plugin= |
pascal@58 | 62 eval $(grep ^plugin= $i) |
pascal@58 | 63 [ -n "$plugin" ] || continue |
pascal@58 | 64 eval $(grep ^description= $i) |
pascal@58 | 65 alt="$(grep ^description_$lang= $i)" |
pascal@58 | 66 [ -n "$alt" ] && eval $(echo "$alt" | sed 's/_..=/=/') |
pascal@58 | 67 CONTENT="$CONTENT |
pascal@58 | 68 <tr><td><b> |
pascal@58 | 69 <input type=checkbox $([ -x $i ] && echo 'checked=checked ') name=\"$(basename $i)\" /> |
pascal@58 | 70 $plugin</b></td><td><i>$description</i></td></tr>" |
pascal@58 | 71 done |
pascal@58 | 72 CONTENT="$CONTENT |
pascal@58 | 73 </form> |
pascal@58 | 74 <form method=\"post\" enctype=\"multipart/form-data\" action=\"?action=admin\"> |
pascal@58 | 75 <input type=\"hidden\" name=\"curpassword\" value=\"$curpassword\" /> |
pascal@58 | 76 <tr><td><h2>Locales</h2></td> |
pascal@58 | 77 <td><input type=\"submit\" value=\"$DONE_BUTTON\" name=\"locales\" /></td></tr> |
pascal@58 | 78 " |
pascal@58 | 79 for i in config-*.sh ; do |
pascal@58 | 80 j=${i#config-} |
pascal@58 | 81 j=${j%.sh} |
pascal@58 | 82 [ -n "$j" ] || continue |
pascal@58 | 83 CONTENT="$CONTENT |
pascal@58 | 84 <tr><td><b> |
pascal@58 | 85 <input type=checkbox $([ -x $i ] && echo 'checked=checked ') name=\"$i\" /> |
pascal@58 | 86 $j</b></td><td><i>$(. ./$i ; echo $WIKI_TITLE)</i></td></tr> |
pascal@58 | 87 " |
pascal@58 | 88 done |
pascal@58 | 89 CONTENT="$CONTENT |
pascal@58 | 90 </form> |
pascal@111 | 91 <form method=\"post\" enctype=\"multipart/form-data\" action=\"?action=admin\"> |
pascal@58 | 92 <input type=\"hidden\" name=\"curpassword\" value=\"$curpassword\" /> |
pascal@58 | 93 <tr><td><h2>Configuration</h2></td><td> |
pascal@58 | 94 <select name="file"> |
pascal@58 | 95 $(for i in template.html style.css config*.sh; do |
pascal@58 | 96 [ -x $i ] && echo "<option>$i</option>"; done) |
pascal@58 | 97 </select> |
pascal@58 | 98 <input type=\"submit\" value=\"$DONE_BUTTON\" name=\"save\" /> |
pascal@111 | 99 <input type=\"file\" name=\"data\" /> |
pascal@58 | 100 <input type=\"submit\" value=\"$RESTORE\" name=\"restore\" /></td></tr> |
pascal@58 | 101 </form> |
pascal@58 | 102 </table> |
pascal@58 | 103 " |
pascal@58 | 104 } |