#!%TCLSH%

#
# Script pour modifier le mot de passe d'un utilisateur
#
# Appel par : script accueil, et ce script lui-mme sous diverses
#	facettes
#
# Paramtres (formulaire ou URL) :
#   - si appel par script accueil : aucun
#   - si appel par script
#
# Historique
#   2003/07/29 : pda     : cration
#

set conf(homeurl)	%HOMEURL%

#
# Chemins utiliss par les scripts
#

set conf(pkg)		%PKGTCL%
set conf(lib)		%DESTDIR%/lib

#
# 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-erreur)	$conf(lib)/erreur.html
set e(page-choix)	$conf(lib)/pwdchoix.html
set e(page-ok)		$conf(lib)/pwdok.html

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

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

#
# On y va !
#

# ::webapp::cgidebug ; exit

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

proc main {} {
    global conf
    global e

    #
    # Initialisation
    #
    puts stderr 10

    set msg [::auth::init $conf(auth)]
    if {! [string equal $msg ""]} then {
	::webapp::error-exit $e(page-erreur) $msg
    }

    set login [::webapp::user]
    if {[string compare $login ""] == 0} then {
	::webapp::error-exit $e(page-erreur) \
		"Pas de login : l'authentification a chou."
    }

    puts stderr 20

    #
    # Tout le travail est effectu l
    #

    ::auth::pwdmanage e

    #
    # Dconnexion de la base
    #

    ::auth::close
}

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