#! /bin/bash
# ------------------------------------------------------------------------------
# Copyright (c) 2010, 2011, 2012 Vifib SARL and Contributors.
# All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsibility of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# guarantees and support are strongly advised to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
#
# ------------------------------------------------------------------------------
#
# Simulate the command useradd to add a user on the Cygwin
#   useradd -d path -g init-group -s /bin/false -G group NAME
#
#   -g, --gid GROUP 
#     The group name or number of the user's new initial login group. The group must exist. 
#
#   -G, --groups GROUP1[,GROUP2,...[,GROUPN]]] 
#     A list of supplementary groups which the user is also a member of. 
#   -s 
#     Shell used by user
#
ACTION=ADD

while getopts "Dd:g:G:p:s:r" opt ; do
    case $opt in
        d)
            USER_HOME=$OPTARG 	   
	    ;;
        g|G)
            USER_GROUP=$OPTARG 
	    ;;
        p)
            USER_PASSWORD=$OPTARG
	    ;;
        s)
            ;;
	r)
            ;;	
        *)
            echo Error when add user in the Cygwin
	    exit 1
	    ;;
    esac
done

shift $(($OPTIND - 1))
USER_NAME=$1
net user "${USER_NAME}" "${USER_NAME}" /${ACTION}
if (( $? == 0 )) ; then
    if [[ $ACTION == "ADD" ]] ; then
        mkpasswd | grep "^${USER_NAME}:" >> /etc/passwd
    elif [[ $ACTION == "DELETE" ]] ; then
        sed -i -e "s/^${USER_NAME}:.*//g" /etc/passwd
    fi
    
fi