#!/bin/bash
# simple script for setting autologin on or off on display manager
# works for kdm
# SLX_AUTOLOGIN_ACTIVE is the flag which indicates if the computer should autologin or not
# SLX_AUTOLOGIN_USER is the username to autologin
# SLX_AUTOLOGIN_PASS is the user's password to autologin
# SLX_AUTOLOGIN_DELAY is the delay to autologin

# dialog aux functions
perror () {
  echo "ERROR: $@" 1>&2
  dialog --title "ERROR" --stdout --msgbox "$@" 15 60
  exit 1
}

. /opt/openslx/config || perror "Could not source config."

kdm_file="/etc/kde4/kdm/kdmrc"
echo "[autologin] Updating AutoLoginEnable to $SLX_AUTOLOGIN_ACTIVE in $kdm_file"
sed -e 's/AutoLoginEnable=.*$/AutoLoginEnable='$SLX_AUTOLOGIN_ACTIVE'/g' $kdm_file > $kdm_file".tmp" && mv $kdm_file".tmp" $kdm_file
echo "[autologin] Updating AutoLoginDelay to $SLX_AUTOLOGIN_DELAY in $kdm_file"
sed -e 's/AutoLoginDelay=.*$/AutoLoginDelay='$SLX_AUTOLOGIN_DELAY'/g' $kdm_file > $kdm_file".tmp" && mv $kdm_file".tmp" $kdm_file
if [ $(cat $kdm_file | grep "AutoLoginUser") ]; then
  echo "[autologin] Updating AutoLoginUser to $SLX_AUTOLOGIN_USER in $kdm_file"
  sed -e 's/AutoLoginUser=.*$/AutoLoginUser='$SLX_AUTOLOGIN_USER'/g' $kdm_file > $kdm_file".tmp" && mv $kdm_file".tmp" $kdm_file
else
  echo "[autologin] Creating AutoLoginUser as $SLX_AUTOLOGIN_USER in $kdm_file"
  sed -e 's/AutoLoginEnable=.*$/AutoLoginEnable='$SLX_AUTOLOGIN_ACTIVE'\nAutoLoginUser='$SLX_AUTOLOGIN_USER'/g' $kdm_file > $kdm_file".tmp" && mv $kdm_file".tmp" $kdm_file
fi
