#!/bin/sh
KEYWORD=ownCloud
PKGPATH=/usr/local/zy-pkgs
DATAPATHFILE=/i-data/md0/.system/zy-pkgs/config/OwnCloudDataPath
BKDATAPATHFILE=/i-data/md0/.system/OwnCloudDataPath_bk
DATAPATH=`cat /i-data/md0/.system/zy-pkgs/config/OwnCloudDataPath`
OWNCLOUDPATH=/i-data/md0/.system/zy-pkgs/gui/ownCloud
TMPPATH=/i-data/md0/.system/owncloud_fullpath
FLAG=/i-data/md0/.system/owncloud_found
INST=0
INST_SHARE=`cat $DATAPATHFILE | cut -d'/' -f4`
LASTPATH=`find /i-data/md0/ -name OwncloudData|grep -v $INST_SHARE`
if [ -d $OWNCLOUDPATH ]; then
	echo "ownCloud package path has existed!"
else
	OWNCLOUDPATH=/i-data/md0/.zyxel/zy-pkgs/gui/ownCloud	
fi

if [ -f /i-data/md0/.system/zy-pkgs/config/OwnCloudDataPath ]; then
	cp -a $DATAPATHFILE $BKDATAPATHFILE
fi

# check if there is a Data folder in the past 5 mins. If it's yes, updating is going.
if [ -f $FLAG ]; then
	FULLPATH=`cat $TMPPATH`
	rm -rf $DATAPATH/*
	mv $FULLPATH/* $DATAPATH
	rm -rf  $FLAG $TMPPATH $FULLPATH
	INST=1
fi
# Defend that sometimes rename OwncloudData to OwncloudData_*_backup incorrectly
if [ "$LASTPATH" != "" ]; then
	rm -rf $DATAPATH/*
	mv $LASTPATH/* $DATAPATH
	rm -rf $LASTPATH
	INST=1
fi
# Checking the mode and owner of owncloud's data folder
if [ "$INST" == "0" ]; then 
	if [ -d $DATAPATH ]; then
        cp -a $OWNCLOUDPATH/OwnCloudData_bak/* $DATAPATH
        rm -rf $OWNCLOUDPATH/OwnCloudData_bak
        mv $OWNCLOUDPATH/data_bak $OWNCLOUDPATH/data
        chmod -R 0777 $DATAPATH
        chmod 0644 $DATAPATH/owncloud.db $DATAPATH/owncloud.log
        chown -R nobody:nogroup $DATAPATH
	fi

	if [ -d $OWNCLOUDPATH ]; then
        chmod 0755 $OWNCLOUDPATH
        chown -R nobody:nogroup $OWNCLOUDPATH
	fi
fi
$PKGPATH/etc/init.d/$KEYWORD disable
