#!%TCLSH%

#
# Script d'enregistrement des modifications des paramtres de la base
#
# Appel par : adminliste
#
# Paramtres (formulaire ou URL) : les paramtres
#
# Historique
#   2003/12/08 : pda     : cration  partir de sos
#

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

#
# Dfinition des noms des pages " trous"
#

set conf(err)		$conf(lib)/erreur.html
set conf(page)		$conf(lib)/actionok.html

#
# Quelques paramtres du script
#

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

set conf(form)	{
	{mailfrom		1 1}
	{mailreplyto		1 1}
	{mailcc			1 1}
	{mailbcc		1 1}
	{mailsubject		1 1}
	{mailbody		1 1}
}

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

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

#
# On y va !
#

# ::webapp::cgidebug ; exit

source $conf(libauth)

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

proc main {} {
    global conf

    #
    # Initialisation
    #

    init-auth $conf(nologin) $conf(auth) $conf(err) $conf(form) ftab login

    #
    # Enregistrement des paramtres du formulaire
    #

    foreach element $conf(form) {
	set clef [lindex $element 0]
	set val [lindex $ftab($clef) 0]
	if {! [::auth::setconfig $clef $val msg]} then {
	    ::webapp::error-exit $conf(err) "Ereur dans l'enregistrement de '$clef' ('$msg')"
	}
    }

    #
    # Indiquer le succs de l'action effectue
    #

    set action "de modification des paramtres de l'authentification"

    #
    # Sortie du rsultat
    #

    ::webapp::send html [::webapp::file-subst $conf(page) \
				[list \
					[list %TITREACTION% $action] \
					[list %COMPLEMENT% ""] \
				    ] \
				]

    #
    # Dconnexion de la base
    #

    ::auth::close
}

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