#!/bin/bash 

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

mne_need_error
$sambabin/samba-tool user list | egrep "^$olduser\$" 2>&1 >/dev/null
if [ ! "$errorresult" = "0" ]; then
  . $(dirname $BASH_SOURCE)/add_primary
elif [ "$olduser" != "$user" ] && [ "$user" = "" ]; then
  . $(dirname $BASH_SOURCE)/del_primary
elif [ "$olduser" != "$user" ] && [ "$user" != "" ]; then
  echo -e "dn: cn=$olduser,cn=users,$dcdomain\nchangetype: modrdn\nnewrdn: cn=$user\ndeleteoldrdn: 1\n" | \
    ldapmodify -H ldaps://localhost -D "cn=administrator,cn=users,$dcdomain" -w "$vaadminpasswordInput" -x 

  echo -e "dn: cn=$user,cn=users,$dcdomain\n"\
          "changetype: modify\n"\
          "replace: sAMAccountName\n"\
          "sAMAccountName: $user\n"\
          "-\n"\
          "replace: userPrincipalName\n"\
          "userPrincipalName: $user@$domain\n"\
          "-\n"\
          "replace: sn\n"\
          "sn: $user\n"\
          "-\n"\
  | sed -e 's/^ *//' | ldapmodify -H ldaps://localhost -D "cn=administrator,cn=users,$dcdomain" -w "$vaadminpasswordInput" -x 
fi

if [ "$user" != "" ] && [ "$uid" != "" ] && [ "$gid" != "" ]; then
  eval $($sambabin/samba-tool user show $user 2>/dev/null| awk 'BEGIN { uid=gid=null } /^uidNumber:/ { uid=$2 } /^gidNumber:/ { gid=$2 } END { printf ("olduid=%s;oldgid=%s\n", uid, gid); }')
  if [ "$uid" != "$olduid" ] || [ "$gid" != "$oldgid" ]; then
    echo -e "dn: cn=$user,cn=users,$dcdomain\n"\
            "changetype: modify\n"\
            "replace: gidNumber\n"\
            "gidNumber: $gid\n"\
            "-\n"\
            "replace: uidNumber\n"\
            "uidNumber: $uid\n"\
            "-\n"\
    | sed -e 's/^ *//' | ldapmodify -H ldaps://localhost -D "cn=administrator,cn=users,$dcdomain" -w "$vaadminpasswordInput" -x 
  fi
fi

if [ "$user" != "" ]; then
  $sambabin/samba-tool user show "$user" | egrep '^memberOf' | cut -f2 -d: | sed -e 's/^ *CN=//' -e 's/,.*$//' | 
   while read line;
   do
    $sambabin/samba-tool group removemembers "$line" "$user" 2>&1 >&$logfile ;
   done 

  get_data "$getshare" $user | \
    while read line; 
    do
      get_share "$line"
      $sambabin/samba-tool group addmembers "Mneshare $(Tolower $(hostname)) $(Tolower $name$read)" "$user" 2>&1 >&$logfile;
    done
fi