#!/bin/bash

[ -f $HOME/.nds2rc ] && . $HOME/.nds2rc
nds2conf="$HOME/nds2-`uname -n`"
[ -z $NDS2_SERVER_CONFDIR  ] || nds2conf=$NDS2_SERVER_CONFDIR

INFILE="$nds2conf/userfile.tmpl.txt"
OUTTEMP="$nds2conf/userfile.tmpl.tmp"
OUTFILE="$nds2conf/userfile.txt"
BACKUP_PATH="$nds2conf/archive"

if [ -f "$INFILE" ]; then
	/usr/share/nds-index-utilities/nds_ldap_group.py -c "$nds2conf/nds_ldap.conf" < "$INFILE" > "$OUTTEMP"
	if [ $? -eq 0 ]; then
		diff "$OUTTEMP" "$OUTFILE" > /dev/null
		if [ $? -eq 1 -o ! -f "$OUTFILE" ]; then
			# the files differ, so we must overwrite
			# $OUTFILE
			if [ -f "$OUTFILE" ]; then
				# back it up if it exists
				if [ ! -d "$BACKUP_PATH" ]; then
					mkdir "$BACKUP_PATH" > /dev/null
				fi
				cp $OUTFILE "$BACKUP_PATH"/`date +%F-%H:%M:%S`."userfile.txt"
			fi
			cp $OUTTEMP "$OUTFILE"
			chmod 644 "$OUTFILE"
		fi
	fi
	rm -f "$OUTTEMP" > /dev/null
fi
