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 }