#!/bin/bash

. exec/system/config/allg.sh
. exec/system/shell/allg/file.sh

if [ "$vaadminpasswordInput" = "" ]; then
   echo 'please give administrator password' >&$logfile 2>&1;
   exit 1
fi

mne_need_error
$sambabin/samba-tool user list | egrep "^$user\$" 2>&1 >/dev/null
if [ ! "$errorresult" = "0" ]; then

   option=
   if [ "$uid" = "" ] || [ "$uid" = "0" ]; then
     mne_need_error
     uid=$(id -u $user 2>&$logfile)
     if [ ! "$errorresult" = "0" ]; then
       uid=$(ldapsearch -H ldaps://localhost  -D "CN=Administrator,CN=Users,$dcdomain"  -w "$vaadminpasswordInput"  -b "CN=Users,$dcdomain" -s sub  -x -LLL  "(cn=*)" uidNumber | fgrep uidNumber | cut -f2 -d\  | sort -n | tail -1)
       let uid="$uid+1"
     else
       option="$option --rfc2307-from-nss"
     fi

     if [ "$uid" = "" ]; then
       $uid=30000
     fi
   fi
   option="$option --uid-number=$uid"

   if [ "$gid" = "" ] || [ "$gid" = "0" ]; then
     mne_need_error
     gid=$(id -g $user 2>&$logfile)
     if [ ! "$errorresult" = "0" ]; then
       gid=$uid
   fi
   option="$option --gid-number=$gid"
 fi

  $sambabin/samba-tool user create "$user" --random-password $option
  $sambabin/samba-tool user setexpiry --noexpiry "$user"
fi
