#!/bin/sh

# Get DSM Version & Set MYSQL
[ -f "/etc.defaults/VERSION" ] || exit 1
DSM_VERSION=`grep ^majorversion= /etc.defaults/VERSION | cut -d'"' -f2`
[ -z "$DSM_VERSION" ] && exit 1

if [ $DSM_VERSION -le 4 ]; then
	MYSQL="/usr/syno/mysql/bin/mysql"
else
	MYSQL="/usr/bin/mysql"
fi

VERSION=`/bin/get_key_value /etc.defaults/VERSION buildnumber`
if [ $VERSION -lt 1594 ]; then
	echo "The failed installation is due to the old-of-date firmware version." > $SYNOPKG_TEMP_LOGFILE
	echo "Please update to the latest firmware." >> $SYNOPKG_TEMP_LOGFILE
	if [ -f /tmp/WordPress.upgrade ]; then
		/bin/rm /tmp/WordPress.upgrade
	fi
	exit 1
fi

touch /tmp/WordPress.upgrade

tmp_path=/$(readlink /var/packages/WordPress/target|cut -d/ -f 2)/@tmp
if [ ! -d ${tmp_path}/wordpress ]; then
    mkdir -p ${tmp_path}/wordpress
fi

wp_backup_fail()
{
	logger -p 0 "Fail to upgrade WordPress due to user data backup failed."
	echo "WordPress user data backup failed." > $SYNOPKG_TEMP_LOGFILE
	exit 1
}

wp_backup()
{
	/bin/cp -a /var/services/web/wordpress/wp-content ${tmp_path}/wordpress/.
	if [ $? -ne "0" ]; then
		logger -p 0 "[WordPress] Fail to backup wp-content"
		wp_backup_fail
	fi
	/bin/cp -a /var/services/web/wordpress/wp-config.php ${tmp_path}/wordpress/.
	if [ $? -ne "0" ]; then
		logger -p 0 "[WordPress] Fail to backup wp-config.php"
		wp_backup_fail
	fi
	/bin/rm -rf ${tmp_path}/wordpress/wp-content/plugins/insert-from-photostation
	if [ $? -ne "0" ]; then
		logger -p 0 "[WordPress] Fail to delete plugin (insert-from-photostation)"
		wp_backup_fail
	fi
	/bin/rm -rf ${tmp_path}/wordpress/wp-content/plugins/language-selector
	if [ $? -ne "0" ]; then
		logger -p 0 "[WordPress] Fail to delete plugin (language-selector)"
		wp_backup_fail
	fi
	/bin/rm -rf ${tmp_path}/wordpress/wp-content/plugins/move-site-files
	if [ $? -ne "0" ]; then
		logger -p 0 "[WordPress] Fail to delete plugin (move-site-files)"
		wp_backup_fail
	fi
}
echo $pkgwizard_mysql_password > $$
pkgwizard_mysql_password=`sed 's/"/\\"/gp' $$`
/bin/rm -f $$

$MYSQL -u root --password="${pkgwizard_mysql_password}" -e "create database if not exists wordpressblog"; 
if [ $? -eq "1" ]; then
	if [ -z $SYNOPKG_DSM_LANGUAGE ]; then
		echo "Can't create mysql database 'wordpress' due to non-default mysql root password. Please use phpMyAdmin to create the database and go WordPress page to finish the installation process" > $SYNOPKG_TEMP_LOGFILE
		wp_backup
		exit 0;
	fi
	case $SYNOPKG_DSM_LANGUAGE in
		chs)
			echo "请检查您的 MariaDB 密码，然后再试一次。" > $SYNOPKG_TEMP_LOGFILE 
		;;
		cht)
			echo "請檢查您的 MariaDB 密碼，然後再試一次。" > $SYNOPKG_TEMP_LOGFILE 
		;;
		csy)
			echo "Zkontrolujte heslo MariaDB a zkuste to znovu." > $SYNOPKG_TEMP_LOGFILE 
		;;
		dan)
			echo "Kontroller din MariaDB-adgangskode, og prøv igen." > $SYNOPKG_TEMP_LOGFILE 
		;;
		enu)
			echo "Please check your MariaDB password and try again." > $SYNOPKG_TEMP_LOGFILE 
		;;
		fre)
			echo "Veuillez vérifier votre mot de passe MariaDB et réessayer." > $SYNOPKG_TEMP_LOGFILE 
		;;
		ger)
			echo "Prüfen Sie Ihr MariaDB-Passwort und versuchen Sie es erneut." > $SYNOPKG_TEMP_LOGFILE 
		;;
		hun)
			echo "Ellenőrizze MariaDB–jelszavát, majd próbálja újra." > $SYNOPKG_TEMP_LOGFILE 
		;;
		ita)
			echo "Controllare la password MariaDB e riprovare." > $SYNOPKG_TEMP_LOGFILE 
		;;
		jpn)
			echo "MariaDB のパスワードを確認してもう一度行ってください。" > $SYNOPKG_TEMP_LOGFILE 
		;;
		krn)
			echo "MariaDB 패스워드를 확인하고 다시 시도하십시오." > $SYNOPKG_TEMP_LOGFILE 
		;;
		nld)
			echo "Controleer uw MariaDB-wachtwoord en probeer het opnieuw." > $SYNOPKG_TEMP_LOGFILE 
		;;
		nor)
			echo "Vennligst sjekk MariaDB-passordet og prøv igjen." > $SYNOPKG_TEMP_LOGFILE 
		;;
		plk)
			echo "Sprawdź swoje hasło MariaDB i spróbuj ponownie." > $SYNOPKG_TEMP_LOGFILE 
		;;
		ptb)
			echo "Verifique sua senha MariaDB e tente novamente." > $SYNOPKG_TEMP_LOGFILE 
		;;
		ptg)
			echo "Verifique a sua palavra-passe do MariaDB e tente novamente." > $SYNOPKG_TEMP_LOGFILE 
		;;
		rus)
			echo "Проверьте пароль MariaDB и повторите попытку." > $SYNOPKG_TEMP_LOGFILE 
		;;
		spn)
			echo "Compruebe su contraseña de MariaDB y vuelva a intentarlo." > $SYNOPKG_TEMP_LOGFILE 
		;;
		sve)
			echo "Kontrollera ditt MariaDB-lösenord och försök igen." > $SYNOPKG_TEMP_LOGFILE 
		;;
		trk)
			echo "Lütfen MariaDB parolanızı kontrol edin ve yeniden deneyin." > $SYNOPKG_TEMP_LOGFILE 
		;;
		*)
			echo "Check your MySQL password" > $SYNOPKG_TEMP_LOGFILE 
		;;
	esac
	if [ -f /tmp/WordPress.upgrade ]; then
		/bin/rm /tmp/WordPress.upgrade
	fi
	exit 1;
fi

$MYSQL -u root --password="${pkgwizard_mysql_password}" -e "GRANT ALL PRIVILEGES  ON wordpressblog.* TO wordpress@localhost"; 
$MYSQL -u root --password="${pkgwizard_mysql_password}" -e "FLUSH PRIVILEGES";
wp_backup


exit 0
