slitaz-dev-tools annotate tazwikiss/rootfs/var/www/wiki/plugins/wkp_Admin.sh @ rev 117
tazwiki: remove wkp_ListPlugins.sh
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Fri Jun 17 01:29:26 2011 +0200 (2011-06-17) |
parents | 79eb86e1e0ed |
children | 3d9bc6051576 |
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@117 | 8 chmod 0 $4$2* |
pascal@58 | 9 for i in $(POST); do |
pascal@117 | 10 case "$i" in $3*) chmod 755 $4${i/$3/$2}* ;; esac |
pascal@58 | 11 done |
pascal@58 | 12 } |
pascal@58 | 13 |
pascal@58 | 14 action() |
pascal@58 | 15 { |
pascal@117 | 16 case "$1" in |
pascal@117 | 17 list|config|admin);; |
pascal@117 | 18 backup) if [ -z "$(FILE file tmpname)" ]; then |
pascal@117 | 19 file=$(mktemp -p /tmp) |
pascal@117 | 20 find */ | cpio -o -H newc | gzip -9 > $file |
pascal@117 | 21 cat - $file <<EOT |
pascal@117 | 22 Content-Type: application/octet-stream |
pascal@117 | 23 Content-Length: $(stat -c %s $file) |
pascal@117 | 24 Content-Disposition: attachment; filename=wiki-$(date '+%Y%m%d%H%M').cpio.gz |
pascal@117 | 25 |
pascal@117 | 26 EOT |
pascal@117 | 27 rm -f $file |
pascal@117 | 28 exit 0 |
pascal@117 | 29 else |
pascal@117 | 30 file=$(FILE file tmpname) |
pascal@117 | 31 zcat $file | cpio -idmu $(echo */ | sed 's|/||g') |
pascal@117 | 32 rm -rf $(dirname $file) |
pascal@117 | 33 return 1 |
pascal@117 | 34 fi ;; |
pascal@117 | 35 *) return 1 ;; |
pascal@117 | 36 esac |
pascal@117 | 37 PAGE_TITLE_link=false |
pascal@117 | 38 editable=false |
pascal@117 | 39 lang="${HTTP_ACCEPT_LANGUAGE%%,*}" |
pascal@117 | 40 PAGE_TITLE="Administration" |
pascal@58 | 41 curpassword="$(POST curpassword)" |
pascal@58 | 42 secret="admin.secret" |
pascal@58 | 43 if [ -n "$(POST setpassword)" ]; then |
pascal@58 | 44 if [ -z "$curpassword" ]; then # unauthorized |
pascal@58 | 45 if [ ! -s $secret -o "$(cat $secret)" == \ |
pascal@58 | 46 "$(echo $(POST password) | md5sum)" ]; then |
pascal@58 | 47 curpassword="$(POST password)" |
pascal@58 | 48 fi |
pascal@58 | 49 fi |
pascal@58 | 50 [ -n "$curpassword" ] && echo $curpassword | md5sum > $secret |
pascal@58 | 51 fi |
pascal@58 | 52 if [ -n "$(POST save)" ]; then |
pascal@58 | 53 cat <<EOT |
pascal@58 | 54 Content-Type: application/octet-stream |
pascal@58 | 55 Content-Length: $(stat -c %s $(POST file)) |
pascal@58 | 56 Content-Disposition: attachment; filename=$(POST file) |
pascal@58 | 57 |
pascal@58 | 58 EOT |
pascal@58 | 59 cat $(POST file) |
pascal@58 | 60 exit 0 |
pascal@58 | 61 fi |
pascal@111 | 62 [ -n "$(POST restore)" ] && mv -f $(FILE data tmpname) $(POST file) |
pascal@117 | 63 admin_enable locales config- config_ ./ |
pascal@117 | 64 admin_enable plugins wkp_ wkp_ plugins/ |
pascal@58 | 65 CONTENT=" |
pascal@58 | 66 <table width=\"100%\"> |
pascal@58 | 67 <form method=\"post\" action=\"?action=admin\"> |
pascal@58 | 68 <tr><td><h2>$MDP</h2></td> |
pascal@58 | 69 <td><input type=\"text\" name=\"password\" /> |
pascal@58 | 70 <input type=\"hidden\" name=\"curpassword\" value=\"$curpassword\" /> |
pascal@58 | 71 <input type=\"submit\" value=\"$DONE_BUTTON\" name=\"setpassword\" /></td></tr> |
pascal@58 | 72 </form>" |
pascal@117 | 73 disabled= |
pascal@117 | 74 [ -z "$curpassword" ] && disabled="disabled=disabled" |
pascal@58 | 75 CONTENT="$CONTENT |
pascal@58 | 76 <form method=\"post\" enctype=\"multipart/form-data\" action=\"?action=admin\"> |
pascal@58 | 77 <input type=\"hidden\" name=\"curpassword\" value=\"$curpassword\" /> |
pascal@58 | 78 <tr><td><h2>Plugins</h2></td> |
pascal@117 | 79 <td><input type=\"submit\" $disabled value=\"$DONE_BUTTON\" name=\"plugins\" /></td></tr> |
pascal@58 | 80 " |
pascal@58 | 81 for i in $plugins_dir/*.sh ; do |
pascal@58 | 82 plugin= |
pascal@58 | 83 eval $(grep ^plugin= $i) |
pascal@58 | 84 [ -n "$plugin" ] || continue |
pascal@58 | 85 eval $(grep ^description= $i) |
pascal@58 | 86 alt="$(grep ^description_$lang= $i)" |
pascal@58 | 87 [ -n "$alt" ] && eval $(echo "$alt" | sed 's/_..=/=/') |
pascal@58 | 88 CONTENT="$CONTENT |
pascal@58 | 89 <tr><td><b> |
pascal@117 | 90 <input type=checkbox $disabled $([ -x $i ] && echo 'checked=checked ') name=\"$(basename $i .sh)\" /> |
pascal@58 | 91 $plugin</b></td><td><i>$description</i></td></tr>" |
pascal@58 | 92 done |
pascal@58 | 93 CONTENT="$CONTENT |
pascal@58 | 94 </form> |
pascal@58 | 95 <form method=\"post\" enctype=\"multipart/form-data\" action=\"?action=admin\"> |
pascal@58 | 96 <input type=\"hidden\" name=\"curpassword\" value=\"$curpassword\" /> |
pascal@117 | 97 <p></p> |
pascal@58 | 98 <tr><td><h2>Locales</h2></td> |
pascal@117 | 99 <td><input type=\"submit\" $disabled value=\"$DONE_BUTTON\" name=\"locales\" /></td></tr> |
pascal@58 | 100 " |
pascal@58 | 101 for i in config-*.sh ; do |
pascal@58 | 102 j=${i#config-} |
pascal@58 | 103 j=${j%.sh} |
pascal@58 | 104 [ -n "$j" ] || continue |
pascal@58 | 105 CONTENT="$CONTENT |
pascal@58 | 106 <tr><td><b> |
pascal@117 | 107 <input type=checkbox $disabled $([ -x $i ] && echo 'checked=checked ') name=\"config_$j\" /> |
pascal@58 | 108 $j</b></td><td><i>$(. ./$i ; echo $WIKI_TITLE)</i></td></tr> |
pascal@58 | 109 " |
pascal@58 | 110 done |
pascal@58 | 111 CONTENT="$CONTENT |
pascal@58 | 112 </form> |
pascal@111 | 113 <form method=\"post\" enctype=\"multipart/form-data\" action=\"?action=admin\"> |
pascal@58 | 114 <input type=\"hidden\" name=\"curpassword\" value=\"$curpassword\" /> |
pascal@117 | 115 <tr></tr> |
pascal@58 | 116 <tr><td><h2>Configuration</h2></td><td> |
pascal@117 | 117 <select name="file" $disabled> |
pascal@58 | 118 $(for i in template.html style.css config*.sh; do |
pascal@58 | 119 [ -x $i ] && echo "<option>$i</option>"; done) |
pascal@58 | 120 </select> |
pascal@117 | 121 <input type=\"submit\" $disabled value=\"$DONE_BUTTON\" name=\"save\" /> |
pascal@117 | 122 <input type=\"file\" $disabled name=\"data\" /> |
pascal@117 | 123 <input type=\"submit\" $disabled value=\"$RESTORE\" name=\"restore\" /></td></tr> |
pascal@117 | 124 </form> |
pascal@117 | 125 <tr></tr> |
pascal@117 | 126 <form method=\"post\" enctype=\"multipart/form-data\" action=\"?action=backup\"> |
pascal@117 | 127 <input type=\"hidden\" name=\"curpassword\" value=\"$curpassword\" /> |
pascal@117 | 128 <tr><td><h2>Data</h2></td> |
pascal@117 | 129 <td><input type=\"submit\" $disabled name=\"save\" value=\"$DONE_BUTTON\" /> |
pascal@117 | 130 <input type=\"file\" $disabled name=\"file\" value=\"file\" /> |
pascal@117 | 131 <input type=\"submit\" $disabled name=\"restore\" value=\"$RESTORE\" />" |
pascal@117 | 132 CONTENT="$CONTENT |
pascal@117 | 133 </td></tr> |
pascal@117 | 134 $(du -hs */ | awk '{ printf "<tr><td><b>%s</b></td><td><i>%s</i></td></tr>\n",$1,$2 }') |
pascal@58 | 135 </form> |
pascal@58 | 136 </table> |
pascal@58 | 137 " |
pascal@58 | 138 } |