#!/bin/bash
#
# (c) cutmasta (c) and (c) captain (c)
#
# Added ein neuen Benutzer zur Tabelle usr_general_rights, 
# damit die Rechte fr die Groupware da sind.
#
# Added default Ordner fr Webmail.
#
# BUGS: 1. Im initial dump fehlt das webmail feld in sys_suse_gen_rights_template und muss mit y befllt sein.
#
# GLOBAL CONFIGFILE
prefix=/usr
exec_prefix=${prefix}

GLOBAL_CONF="/etc/open-xchange/admintools.conf"

if [ -f $GLOBAL_CONF ]
    then
    . $GLOBAL_CONF
    else
    echo "Config File $GLOBAL_CONF not found."
    exit 0
fi

ac_prev=
for ac_option
do 
  if test -n "$ac_prev"; then
    eval "$ac_prev=\$ac_option"
    ac_prev=
    continue
  fi
  case "$ac_option" in
      -*=*) ac_optarg=`echo "$ac_option" | $SED_BIN 's/[-_a-zA-Z0-9]*=//'` ;;
      *) ac_optarg= ;;
  esac
  
  case "$ac_option" in
      
      --username)
	  ac_prev=username ;;
      --username=*) 
	  USERNAME=$ac_optarg ;;

      --lang)
          ac_prev=lang ;;
      --lang=*)
          PREF_LANG=$ac_optarg ;;

      --template)
	  ac_prev=template ;;
      --template=*)
	  TEMPLATE=$ac_optarg ;;

      --dbhost)
	  ac_prev=dbhost ;;
      --dbhost=*)
	  SQL_HOST=$ac_optarg ;;

      --dbname)
	  ac_prev=dbname ;;
      --dbname=*)
	  SQL_DB=$ac_optarg ;;

      --dbuser)
	  ac_prev=dbuser ;;
      --dbuser=*)
	  SQL_USER=$ac_optarg ;;
      
      -help | --help | -? | --?)
	  
	  cat <<EOF

Usage: $0 [Options]

Options:
  --username=NAME              The new Username - eg. john
  
  --lang=LANGUAGE              The Language - eg. EN

  --template=NAME              The Template Name - eg. profile_1
                               If no Template specified then all 
                               Rights are given to the User.

  --dbhost=NAME                The DB Server - eg. localhost

  --dbname=NAME                The Database Name - eg. comfire

  --dbuser=NAME                Username to connect to the DB - eg. comfire

EOF
	  
	  exit 0
	  
	  ;;
      
      *)    
	  echo "Unknown command $ac_option"
	  echo "Try $0 --help"
	  exit 1
	  ;;
  esac
  
done

ERROR=

if [ "$USERNAME" = "" ]
then
        ERROR="y"
        echo "Specify an Username!"
fi

if [ "$PREF_LANG" = "" ]
then
        ERROR="y"
        echo "Specify a Language!"
fi

if [ "$TEMPLATE" = "" ]
then
        TEMPLATE=$DEFAULT_TEMPLATE_NAME
fi

if [ "$SQL_HOST" = "" ]
then
        SQL_HOST=$DEFAULT_SQL_HOST
fi

if [ "$SQL_DB" = "" ]
then
        SQL_DB=$DEFAULT_SQL_DB
fi

if [ "$SQL_USER" = "" ]
then
        SQL_USER=$DEFAULT_SQL_USER
fi

if [ "$ERROR" = "y" ]
then 
	echo "Please provide an Username and Language"
	echo "Try $0 --help"
	exit 0 ;
fi

/usr/lib/j2se1.4-sun/bin/java -Dopenexchange.propfile=/etc/open-xchange/groupware/system.properties -classpath /usr/share/java/open-xchange/comfiretools.jar:/usr/share/java/open-xchange/nas.jar:/usr/share/java/postgresql74-jdbc/pg74-jdbc3.jar com.openexchange.tools.oxfolder.OXFolderAction addUser $USERNAME $PREF_LANG 2>&1 >/dev/null

echo `$SQL_BIN -h $SQL_HOST -U $SQL_USER -d $SQL_DB -X -c "INSERT INTO $RIGHTS_TABLE SELECT creating_date, created_from, changing_date, changed_from,text('$USERNAME'), addr_u, addr_r, addr_d, cont_u, cont_r, cont_d, data_u, data_r, data_d, serie_u, serie_r, serie_d, task_u, task_r, task_d, refer, proj_u, proj_r, proj_d, dfolder_u, dfolder_r, dfolder_d, doc_u, doc_r, doc_d, knowl_u, knowl_r, knowl_d, bfolder_u, bfolder_r, bfolder_d, bookm_u, bookm_r, bookm_d, pin_u, pin_r, pin_d, forum_n, fentrie_n, setup, pin_public, internal, int_groups, kfolder_u, kfolder_r, kfolder_d, webmail FROM $TEMPLATE_TABLE WHERE login LIKE '$TEMPLATE'" | $AWK_BIN {'print $1'}`

