#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

# Check if user is root
if [ $(id -u) != "0" ]; then
    printf "Error: You must be root to run this script!\n"
    exit 1
fi
clear
printf "=========================================================================\n"
printf "Fix Pureftpd bug under MySQL 5.5 for LNMP V1.0  ,  Written by Licess \n"
printf "=========================================================================\n"
printf "LNMP is a tool to auto-compile & install Nginx+MySQL+PHP on Linux \n"
printf "This script is a tool to install pureftpd for lnmp \n"
printf "\n"
printf "For more information please visit http://www.lnmp.org \n"
printf "\n"
printf "Usage: ./pureftpd.sh \n"
printf "=========================================================================\n"
cur_dir=$(pwd)

#set mysql root password

	mysqlrootpwd=""
	read -p "Please input your root password of mysql:" mysqlrootpwd
	if [ "$mysqlrootpwd" = "" ]; then
		echo "MySQL root password can't be NULL!"
		exit 1
	else
	echo "==========================="
	echo "Your root password of mysql was:$mysqlrootpwd"
	echo "==========================="
	fi

#set password of User manager

	ftpmanagerpwd=""
	read -p "Please input password of User manager:" ftpmanagerpwd
	if [ "$ftpmanagerpwd" = "" ]; then
		echo "password of User manager can't be NULL!"
		exit 1
	else
	echo "==========================="
	echo "Your password of User manager was:$ftpmanagerpwd"
	echo "==========================="
	fi

#set password of mysql ftp user

	mysqlftppwd=""
	read -p "Please input password of mysql ftp user:" mysqlftppwd
	if [ "$mysqlftppwd" = "" ]; then
		echo "password of User manager can't be NULL!"
		echo "script will randomly generated a password!"
		mysqlftppwd=`cat /dev/urandom | head -1 | md5sum | head -c 8`
	echo "==========================="
	echo "Your password of mysql ftp user was:$mysqlftppwd"
	echo "==========================="
	fi

	get_char()
	{
	SAVEDSTTY=`stty -g`
	stty -echo
	stty cbreak
	dd if=/dev/tty bs=1 count=1 2> /dev/null
	stty -raw
	stty echo
	stty $SAVEDSTTY
	}
	echo ""
	echo "Press any key to start fix Pure-FTPd bug under MySQL 5.5..."
	char=`get_char`

echo "Start download files..."
wget -c http://soft.vpser.net/lnmp/ext/pureftpd4mysql55.sql

echo "Modify parameters of pureftpd configures..."
sed -i 's/127.0.0.1/localhost/g' /usr/local/pureftpd/pureftpd-mysql.conf
sed -i 's/tmppasswd/'$mysqlftppwd'/g' /usr/local/pureftpd/pureftpd-mysql.conf

sed -i 's/mysqlftppwd/'$mysqlftppwd'/g' pureftpd4mysql55.sql
sed -i 's/ftpmanagerpwd/'$ftpmanagerpwd'/g' pureftpd4mysql55.sql

echo "Import pureftpd database..."
/usr/local/mysql/bin/mysql -u root -p$mysqlrootpwd -h localhost < pureftpd4mysql55.sql

rm -f pureftpd4mysql55.sql


clear
printf "=======================================================================\n"
printf "Restarting pureftpd...\n"
/etc/init.d/pureftpd restart
printf "=======================================================================\n"
printf "Pureftpd bug under MySQL 5.5 fix completed,enjoy it!\n"
printf "Now you enter http://IP/ftp/ in you Web Browser to manager FTP users\n"
printf "Your password of User manager was:$ftpmanagerpwd\n"
printf "Your password of mysql ftp user was:$mysqlftppwd\n"
printf "\n"
printf "For more information please visit http://www.lnmp.org \n"
printf "=======================================================================\n"