slitaz-dev-tools rev 118 1.3

tazwikiss: avoid duplicate files with wkp_Upload.sh
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri Jun 17 13:05:26 2011 +0200 (2011-06-17)
parents d2a15f85b581
children a5349e79042b
files tazwikiss/rootfs/var/www/wiki/plugins/wkp_Upload.sh
line diff
     1.1 --- a/tazwikiss/rootfs/var/www/wiki/plugins/wkp_Upload.sh	Fri Jun 17 01:29:26 2011 +0200
     1.2 +++ b/tazwikiss/rootfs/var/www/wiki/plugins/wkp_Upload.sh	Fri Jun 17 13:05:26 2011 +0200
     1.3 @@ -51,11 +51,30 @@
     1.4  	uploadfile)
     1.5  		mkdir -p pages/data 2> /dev/null
     1.6  		name=$(FILE file name)
     1.7 +		if [ -z "$name" ]; then
     1.8 +			CONTENT="<script> history.go(-2); </script>"
     1.9 +			return 1
    1.10 +		fi
    1.11  		n=''
    1.12  		while [ -e pages/data/$n$name ]; do
    1.13  			n=$(($n+1))
    1.14  		done
    1.15 -		mv $(FILE file tmpname) pages/data/$n$name
    1.16 +		filesize=$(stat -c "%s" $(FILE file tmpname))
    1.17 +		ls pages/data | while read file; do
    1.18 +			stat -c "%s %n" pages/data/$file
    1.19 +		done | while read size file; do
    1.20 +			[ $filesize == $size ] && 
    1.21 +			cmp $(FILE file tmpname) $file > /dev/null &&
    1.22 +			ln -s $(basename $file) pages/data/$n$name && break
    1.23 +		done
    1.24 +		if [ -L pages/data/$n$name ]; then
    1.25 +			n=pages/data/$n$name
    1.26 +			name="$(readlink $n)"
    1.27 +			rm -f $n
    1.28 +			n=""
    1.29 +		else
    1.30 +			mv $(FILE file tmpname) pages/data/$n$name
    1.31 +		fi
    1.32  		rm -rf $(dirname $(FILE file tmpname) )
    1.33  		URL=pages/data/$n$name
    1.34  		PAGE_TITLE_link=false