#!/bin/sh
# This script is written by Martynas Bendorius and DirectAdmin
# It is used to move user from one reseller to another
# Official DirectAdmin webpage: http://www.directadmin.com
# Usage:
# ./move_user_to_reseller.sh <user> <oldreseller> <newreseller>

if [ $UID != 0 ]; then
        echo "You require Root Access to run this script";
        exit 0;
fi

if [ $# != 3 ]; then
        echo "Usage:";
        echo "$0 <user> <oldreseller> <newreseller>";
        echo "you gave #$#: $0 $1 $2 $3";
        exit 0;
fi

OLD_RESELLER=$2
NEW_RESELLER=$3

RESELLER_OLD=/usr/local/directadmin/data/users/$2/users.list
RESELLER_NEW=/usr/local/directadmin/data/users/$3/users.list

if [ ! -e ${RESELLER_OLD} ]; then
	echo "File ${RESELLER_OLD} does not exist. Can not continue."
	exit 1;
fi

if [ ! -e ${RESELLER_NEW} ]; then
	echo "File ${RESELLER_NEW} does not exist. Can not continue."
	exit 1;
fi

if [ "`grep -wc $1 $RESELLER_OLD`" = "0" ]; then
	echo "User $1 is not owned by $2 reseller"
	exit 1;
fi

if [ ! -e /usr/bin/perl ]; then
	echo "/usr/bin/perl does not exist";
	exit 1;
fi

echo "Removing user from $2 reseller"
perl -pi -e "s#$1\n##g" /usr/local/directadmin/data/users/$2/users.list

echo "Adding user to $3 reseller"
echo "$1" >>  /usr/local/directadmin/data/users/$3/users.list

echo "Changing user owner"
for i in `ls /usr/local/directadmin/data/users/$1/domains/*.conf`; do { perl -pi -e "s/creator=$2/creator=$3/g" $i; }; done;

#this is needed to update "show all users" cache.
echo "action=cache&value=showallusers" >> /usr/local/directadmin/data/task.queue
/usr/local/directadmin/dataskq

echo "User has been moved to $3"

exit 0;

