wok-tiny annotate wiki/stuff/var/www/wiki/plugins/wkp_Upload.sh @ rev 142

Remove ashism ==
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Feb 27 17:43:23 2019 +0100 (2019-02-27)
parents 48d2c4c7a227
children
rev   line source
pascal@100 1 plugin="<a href=\"?action=upload\" title=\"Upload a file\">Upload</a>"
pascal@100 2 description_fr="Télécharge des fichiers complémentaires (ex: images)"
pascal@100 3 description="Upload page extra files (ex: images)"
pascal@100 4
pascal@100 5 case "$LANG" in
pascal@100 6 fr) UPLOAD="Chargement" ;;
pascal@100 7 *) UPLOAD="Upload" ;;
pascal@100 8 esac
pascal@100 9
pascal@100 10 template()
pascal@100 11 {
pascal@100 12 case "$(GET action)" in
pascal@100 13 edit) UPLOAD="<a href=\"$urlbase?action=upload\">$UPLOAD</a>"
pascal@100 14 html="$(sed "s|HISTORY|$(sedesc "$UPLOAD") / HISTORY|" <<EOT
pascal@100 15 $html
pascal@100 16 EOT
pascal@100 17 )" ;;
pascal@100 18 upload*) html="$(sed 's| / <a href.*recent.*</a>||;s|.*name="query".*||' <<EOT
pascal@100 19 $html
pascal@100 20 EOT
pascal@100 21 )" ;;
pascal@100 22 *) return 1 ;;
pascal@100 23 esac
pascal@100 24 return 0
pascal@100 25 }
pascal@100 26
pascal@100 27 action()
pascal@100 28 {
pascal@100 29 case "$1" in
pascal@100 30 upload) CONTENT="$(cat <<EOT
pascal@100 31 <form method="post" enctype="multipart/form-data" action="?action=uploadfile">
pascal@100 32 <input type="file" name="file" value="file"/>
pascal@100 33 <input type="submit"/>
pascal@100 34 <table>
pascal@100 35 EOT
pascal@100 36 for i in pages/data/* ; do
pascal@100 37 [ -e $i ] || continue
pascal@100 38 echo -n "<tr><td><input type=checkbox "
pascal@100 39 grep -qs "$i" pages/*.txt && echo "checked=checked "
pascal@100 40 echo "disabled=disabled /><a href="$i">$(basename $i)</a></td></tr>"
pascal@100 41 done
pascal@100 42 cat <<EOT
pascal@100 43 </table>
pascal@100 44 </form>
pascal@100 45 EOT
pascal@100 46 )"
pascal@100 47 PAGE_TITLE_link=false
pascal@100 48 editable=false
pascal@100 49 lang="${HTTP_ACCEPT_LANGUAGE%%[,;_-]*}"
pascal@100 50 PAGE_TITLE="$UPLOAD" ;;
pascal@100 51 uploadfile)
pascal@100 52 mkdir -p pages/data 2> /dev/null
pascal@100 53 name=$(FILE file name)
pascal@100 54 if [ -z "$name" ]; then
pascal@100 55 CONTENT="<script> history.go(-2); </script>"
pascal@100 56 return 1
pascal@100 57 fi
pascal@100 58 n=''
pascal@100 59 while [ -e pages/data/$n$name ]; do
pascal@100 60 n=$(($n+1))
pascal@100 61 done
pascal@100 62 filesize=$(stat -c "%s" $(FILE file tmpname))
pascal@100 63 ls pages/data | while read file; do
pascal@100 64 stat -c "%s %n" pages/data/$file
pascal@100 65 done | while read size file; do
pascal@142 66 [ $filesize = $size ] &&
pascal@100 67 cmp $(FILE file tmpname) $file > /dev/null &&
pascal@100 68 ln -s $(basename $file) pages/data/$n$name && break
pascal@100 69 done
pascal@100 70 if [ -L pages/data/$n$name ]; then
pascal@100 71 n=pages/data/$n$name
pascal@100 72 name="$(readlink $n)"
pascal@100 73 rm -f $n
pascal@100 74 n=""
pascal@100 75 else
pascal@100 76 mv $(FILE file tmpname) pages/data/$n$name
pascal@100 77 fi
pascal@100 78 rm -rf $(dirname $(FILE file tmpname) )
pascal@100 79 URL=pages/data/$n$name
pascal@100 80 PAGE_TITLE_link=false
pascal@100 81 editable=false
pascal@100 82 PAGE_TITLE="$UPLOAD"
pascal@100 83 CONTENT="$(cat <<EOT
pascal@100 84 <h1><a href="javascript:history.go(-2)">$EDIT_BUTTON</a></h1>
pascal@100 85 <p>
pascal@100 86 The file $(FILE file name) ($(FILE file size) bytes, $(FILE file type)) is
pascal@100 87 stored at <a href="$URL">$URL</a>.
pascal@100 88 </p>
pascal@100 89 EOT
pascal@100 90 )"
pascal@100 91 case "$(FILE file type)" in
pascal@100 92 image*) CONTENT="$(cat <<EOT
pascal@100 93 $CONTENT
pascal@100 94 <p>
pascal@100 95 You can insert this image with <b>[$URL]</b> see
pascal@100 96 <a href="?page=$HELP_BUTTON">$HELP_BUTTON</a> for details
pascal@100 97 </p>
pascal@100 98 <img src="$URL" alt="$URL" />
pascal@100 99 EOT
pascal@100 100 )"
pascal@100 101 esac ;;
pascal@100 102 *) return 1 ;;
pascal@100 103 esac
pascal@100 104 return 0
pascal@100 105 }
pascal@100 106
pascal@100 107 formatEnd()
pascal@100 108 {
pascal@100 109 CONTENT="$(sed 's|href="[^"]*page=pages/data/|href="pages/data/|g' <<EOT
pascal@100 110 $CONTENT
pascal@100 111 EOT
pascal@100 112 )"
pascal@100 113 }