# HG changeset patch # User Pascal Bellard # Date 1308308726 -7200 # Node ID b92f1d3d7adce3c0a9fe7bbfd722bac07b60e7c5 # Parent d2a15f85b58168274ed21d4baf879b058136b723 tazwikiss: avoid duplicate files with wkp_Upload.sh diff -r d2a15f85b581 -r b92f1d3d7adc tazwikiss/rootfs/var/www/wiki/plugins/wkp_Upload.sh --- a/tazwikiss/rootfs/var/www/wiki/plugins/wkp_Upload.sh Fri Jun 17 01:29:26 2011 +0200 +++ b/tazwikiss/rootfs/var/www/wiki/plugins/wkp_Upload.sh Fri Jun 17 13:05:26 2011 +0200 @@ -51,11 +51,30 @@ uploadfile) mkdir -p pages/data 2> /dev/null name=$(FILE file name) + if [ -z "$name" ]; then + CONTENT="" + return 1 + fi n='' while [ -e pages/data/$n$name ]; do n=$(($n+1)) done - mv $(FILE file tmpname) pages/data/$n$name + filesize=$(stat -c "%s" $(FILE file tmpname)) + ls pages/data | while read file; do + stat -c "%s %n" pages/data/$file + done | while read size file; do + [ $filesize == $size ] && + cmp $(FILE file tmpname) $file > /dev/null && + ln -s $(basename $file) pages/data/$n$name && break + done + if [ -L pages/data/$n$name ]; then + n=pages/data/$n$name + name="$(readlink $n)" + rm -f $n + n="" + else + mv $(FILE file tmpname) pages/data/$n$name + fi rm -rf $(dirname $(FILE file tmpname) ) URL=pages/data/$n$name PAGE_TITLE_link=false