#!/bin/sh
# @vasm: SKEL
# @level: user
# @description: copy fresh skeletons to user HOME DIR
# 
# (c) Kocil, 2003
# (c) VLocity Linux, 2003

vdir=$(dirname $0)
. $vdir/vasm-functions

INIT_DIR="/etc/rc.d"

###################################################
skel_desc()
{
case $1 in
.kde) 
  echo "KDE settings (menu, decoration, etc)"
  ;;
Desktop) 
  echo "KDE Desktop (icons, folders, devices)"
  ;;
.qt) 
  echo "QT GUI toolkit settings (affect KDE)"
  ;;
.gtkrc*)
  echo "GTK GUI toolkit themes settings"
  ;;
.icewm)
  echo "IceWM settings (menu, preferences, etc)"
  ;;
.vdesk)
  echo "VDesk desktop icons"
  ;;
.Choices|Choices)
  echo "ROX Filer desktop settings"
  ;;
.xmms)
  echo "XMMS audio player settings"
  ;;
.mplayer)
  echo "MPlayer multimedia player settings"
  ;;
.Xdefaults)
  echo "X-Window basic settings (includes aterm)"
  ;;
.bashrc)
  echo "Bash init script"
  ;;
.asoundrc)
  echo "Alsa sound settings"
  ;;
.xinitrc)
  echo "Default X-Window initialization"
  ;;
*) 
  echo "${1#.} settings"
esac
}

###################################################

build_menu_skel() {
(
    cd /etc/skel
    for SKEL in * .*; do
	case $SKEL in
	    .|..|'*'|'.*')
		;;
	    *)
		DESC=`skel_desc $SKEL`
		echo "'$SKEL' '$DESC' on \\"
		;;
	esac
    done
) 
}

menu_skel()
{
TITLE="USER SKELETON"
TEXT="\n
This menu allows you to reset the basic settings (skeleton) for
user $TUSER by deleting the old ones and copy a fresh settings.\n
It is recommended to prevent newer programs behaving badly because
of incompatible old settings.\n
Please select the settings you wish to reset:"
DIMENSION="20 70 8"

echo '$DCMD --backtitle "$BACKTITLE" --title "$TITLE" \' > $fmenu
echo '--checklist "$TEXT" $DIMENSION \' >> $fmenu

build_menu_skel >> $fmenu
echo '2> $freply' >> $fmenu

. $fmenu || return $?

if [ "$CMD" = "" ]; then
  CHOICES=`cat $freply | sed -e 's/"//g'`
else
  CHOICES=`cat $freply | sed -e 's!/! !g'`
fi

for SKEL in $CHOICES; do
  rm -rf $THOME/$SKEL &> /dev/null
  cp -a /etc/skel/$SKEL $THOME &> /dev/null
  chown -R $TUSER:users $THOME/$SKEL &> /dev/null
done

return 0

}

########################################################
# MAIN PROGRAM
# echo "Service Configurator is starting ..."
if [ "$UID" = "0" ] && [ "$1" ]; then
    TUSER=$1
    THOME=`cat /etc/passwd | grep "^${1}:" | cut -f6 -d:`
    if [ -z "$THOME" ]; then
	echo "User $TUSER does not exist"
	clean_exit 1
    fi
else
    TUSER=$USER
    THOME=$HOME
fi

menu_skel

clean_exit $?
