#!%TCLSH%

#
# Script pour faire la gestion des utilisateurs
#
# Appel par : script accueil, et ce script lui-mme sous diverses
#	facettes
#
# Paramtres (formulaire ou URL) : cf schma
#
# Historique
#   2003/08/10 : pda     : cration
#

set conf(homeurl)	%HOMEURL%

#
# Chemins utiliss par les scripts
#

set conf(pkg)		%PKGTCL%
set conf(lib)		%DESTDIR%/lib
set conf(libauth)	$conf(lib)/libauth.tcl

#
# Quelques paramtres du script
#

set conf(auth)		%AUTH%
set conf(nologin)	%NOLOGIN%

#
# Dfinition des noms des pages " trous" et de l'environnement
# d'excution en gnral
#

set e(page-menu)	$conf(lib)/utimenu.html
set e(page-ok)		$conf(lib)/actionok.html
set e(page-erreur)	$conf(lib)/erreur.html
set e(page-ajoutinit)	$conf(lib)/utiajoutinit.html
set e(page-choix)	$conf(lib)/utichoix.html
set e(page-modif)	$conf(lib)/utimodif.html
set e(page-suppr)	$conf(lib)/utisuppr.html
set e(page-passwd)	$conf(lib)/utipasswd.html
set e(page-liste)	$conf(lib)/utiliste.html
set e(page-listetex)	$conf(lib)/utiliste.tex
set e(page-sel)		$conf(lib)/utisel.html

set e(maxgroupes)	0
set e(specif)		{}

set conf(err)		$e(page-erreur)

#
# Les outils du parfait concepteur de pages Web dynamiques...
#

lappend auto_path $conf(pkg)
package require webapp
package require pgsql
package require arrgen
package require auth

#
# On y va !
#

# ::webapp::cgidebug ; exit

source $conf(libauth)

##############################################################################
# Fonctions pour ...
##############################################################################

proc uti-getuser {login} {
    return {}
}

proc uti-deluser {login} {
    return [::auth::deluser $login]
}

proc uti-setuser {login attr} {
    return ""
}

proc uti-chkuser {loginadmin loginuser} {
    return ""
}

##############################################################################
# Programme principal
##############################################################################

proc main {} {
    global conf
    global e

    #
    # Initialisation
    #

    init-auth $conf(nologin) $conf(auth) $conf(err) {} ftab login

    #
    # Prparation de l'environnement
    #

    set e(script-getuser) [list uti-getuser %1\$s]
    set e(script-deluser) [list uti-deluser %1\$s]
    set e(script-setuser) [list uti-setuser %1\$s %2\$s]
    set e(script-chkuser) [list uti-chkuser $login %1\$s]

    set e(url)		$conf(homeurl)/bin/uti
    set e(groupes)	{}

    foreach p {from replyto cc bcc subject body} {
	set param mail$p
	set e($param) [::auth::getconfig $param]
    }

    #
    # Tout le travail est effectu l
    #

    ::auth::usermanage e

    #
    # Dconnexion de la base
    #

    ::auth::close
}

::webapp::cgi-exec main %DEBUG%
