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