#!/usr/local/bin/tclsh8.6

#
# Manage users
#
# Called by: pgaindex
#
# Parameters (form or url):
#   - display password modification page
#	- pw1, pw2 : (empty)
#   - process password modification
#	- pw1, pw2 : new password
#
# History
#   2003/08/10 : pda      : design
#   2007/12/04 : pda/jean : integration in netmagis
#   2010/12/29 : pda      : i18n and netmagis merge
#

#
# Template pages used by this script, and environnement used in
# pgauth-accmanage
#

set ae(page-index)	pgaacc-index.html
set ae(page-ok)		pga-ok.html
set ae(page-add1)	pgaacc-add1.html
set ae(page-choice)	pgaacc-choice.html
set ae(page-mod)	pgaacc-mod.html
set ae(page-del)	pgaacc-del.html
set ae(page-passwd)	pgaacc-pass.html
set ae(page-list)	pgaacc-list.html
set ae(page-listtex)	pgaacc-list.tex
set ae(page-sel)	pgaacc-sel.html

set ae(maxrealms)	0
set ae(specif)		{}

#
# Next actions
#

set conf(next)		"pgaacc"

#
# Netmagis general library
#

source /usr/local/lib/netmagis/libnetmagis.tcl

# ::webapp::cgidebug ; exit

##############################################################################
# Pgauth-accmanage functions
##############################################################################

proc dns-getuser {login} {
    return {}
}

proc dns-deluser {login} {
    global ae

    return [pgauth-deluser $ae(dbfd) $login]
}

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

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

##############################################################################
# Heart of account management
##############################################################################

d cgi-register {} {
} {
    global conf
    global ae

    #
    # Build environment
    #

    set ae(dbfd) $dbfd

    set ae(script-getuser) [list dns-getuser {%1$s}]
    set ae(script-deluser) [list dns-deluser {%1$s}]
    set ae(script-setuser) [list dns-setuser {%1$s} {%2$s}]
    set ae(script-chkuser) [list dns-chkuser $login {%1$s}]

    set ae(url)		$conf(next)
    set ae(realms)	{}

    foreach p {from replyto cc bcc subject body} {
	set param mail$p
	set ae($param) [dnsconfig get "authpgmail$p"]
    }

    #
    # Everything is done in this function
    #

    pgauth-accmanage ae ftab
}


##############################################################################
# Main procedure
##############################################################################

d cgi-dispatch "pgauth" "authadmin"
