#!/bin/sh
HTTPCONF=/etc/service_conf/httpd.conf
TMPCONF=/etc/service_conf/httpd.conf.bak
PKGCONF=/etc/service_conf/httpd_package.conf
TMPPKGCONF=/etc/service_conf/httpd_package.conf.bak
PKGPATH=/usr/local/zy-pkgs
KEYWORD=WordPress
ADMINPATH=/i-data/md0/admin/zy-pkgs
PKG_RESET=/tmp/PKG_RESET

dobackup() {
	if `! test -d $PKGPATH/backup/`; then
		mkdir $PKGPATH/backup
	fi

	if `test -d $PKGPATH/backup/$KEYWORD/`; then
		mv $PKGPATH/backup/$KEYWORD $PKGPATH/backup/$KEYWORD.bak
	fi

	mkdir $PKGPATH/backup/$KEYWORD
	cd $PKGPATH/mysql/var
	tar zcvf $PKGPATH/backup/$KEYWORD/$KEYWORD.tgz $KEYWORD/

	if [ $? -eq 0 ] ; then
		rm -rf $PKGPATH/backup/$KEYWORD.bak

		# backup the /plugins, /themes and /uploads to /usr/local/zy-pkgs/backup/WordPress
		rm -rf $PKGPATH/backup/$KEYWORD/plugins
		mv $PKGPATH/gui/$KEYWORD/wp-content/plugins $PKGPATH/backup/$KEYWORD/
		rm -rf $PKGPATH/backup/$KEYWORD/themes
		mv $PKGPATH/gui/$KEYWORD/wp-content/themes $PKGPATH/backup/$KEYWORD/
		rm -rf $PKGPATH/backup/$KEYWORD/uploads
		mv $PKGPATH/gui/$KEYWORD/wp-content/uploads $PKGPATH/backup/$KEYWORD/
	else
		if `test -d $PKGPATH/backup/$KEYWORD.bak/`; then
			mv $PKGPATH/backup/$KEYWORD.bak $PKGPATH/backup/$KEYWORD
		fi
	fi
}

# remove "WordPress" in AuthZyxelSkipPattern
sed 's/ \/WordPress / /' $HTTPCONF > $TMPCONF
mv $TMPCONF $HTTPCONF

# remove the line which contains "WordPress" in httpd_package.conf
RESULT=`grep -n $KEYWORD $PKGCONF |awk -F":" '{print $1}'`

if [ "$RESULT" != "" ] ; then
	STR="`echo ${RESULT}`d"
	sed $STR $PKGCONF > $TMPPKGCONF
	mv $TMPPKGCONF $PKGCONF
fi

touch /tmp/restart_httpd

#Check if WordPress DB backup is neccessary
if [ -f $PKG_RESET ] && [ -r $PKG_RESET ]; then
	grep -n $KEYWORD $PKG_RESET
	#not exist in /tmp/PKG_RESET => do backup
	if [ $? -ne 0 ]; then
		dobackup
	else
		rm -rf $PKGPATH/backup/$KEYWORD
	fi
# /tmp/PKG_RESET does not exist => do backup
else
	dobackup
fi

cd $PKGPATH/mysql/bin
./mysql -D $KEYWORD -u zyadmin --password=1234 -e "DROP DATABASE $KEYWORD"

cd $ADMINPATH
lsof -n | grep /admin/zy-pkgs/$KEYWORD | awk -F' ' '{print $2}' > /tmp/PKG_UMNT_CHECK
if [ "$?" = "0" ]; then
	cat /tmp/PKG_UMNT_CHECK | ( while read ZZZ ; do
		kill -9 $ZZZ
	done )
fi

sleep 2

#umount the link of /i-data/md0/admin
umount -f $ADMINPATH/$KEYWORD/plugins
umount -f $ADMINPATH/$KEYWORD/uploads
umount -f $ADMINPATH/$KEYWORD/themes

rm /tmp/PKG_UMNT_CHECK
