#!%TCLSH%

# $Id: consulter,v 1.4 2007/11/13 16:44:05 pda Exp $

#
# Script pour demander les paramtres de consultation d'une zone
# ou d'une plage IP.
#
# Appel par : index.htgt
#
# Paramtres (formulaire ou URL) : aucun
#
# Historique
#   2002/03/27 : pda/jean : cration
#   2002/05/06 : pda/jean : ajout des groupes
#   2002/07/09 : pda      : ajout de nologin
#   2003/05/13 : pda/jean : utilisation de la base d'authentification
#

set conf(homeurl)	%HOMEURL%

#
# Chemins utiliss par les scripts
#

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

#
# Dfinition des noms des pages " trous"
#

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

#
# Quelques paramtres du script
#

set conf(auth)		%AUTH%
set conf(base)		%BASE%
set conf(nologin)	%NOLOGIN%
set conf(log)		%LOG%

# nb maximum de plages IP affichables sans mettre d'ascenseur
set conf(maxplages)	10

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

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

#
# On y va !
#

# ::webapp::cgidebug ; exit

source $conf(libdns)

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

proc main {} {
    global conf

    #
    # Initialisation
    #

    init-dns $conf(nologin) $conf(auth) $conf(base) $conf(err) {} \
		{} ftab dbfd login tabcor $conf(log)

    #
    # Mettre en forme les informations associes au correspondant pour
    # qu'il se les rappelle bien (et pense  nous envoyer les
    # modifications ;-)
    #

    set corresp	[html-correspondant tabcor]

    #
    # Rcupration des plages auxquelles a droit le correspondant
    #

    set lres [liste-reseaux $dbfd $tabcor(idgrp) "consult"]
    set taille [llength $lres]
    if {$taille == 0} then {
	set plages "Aucun rseau slectionnable"
    } else {
	if {$taille > $conf(maxplages)} then {
	    set taille $conf(maxplages)
	}
	set plages [::webapp::form-menu "plages" $taille 1 $lres {}]
    }

    #
    # Sortie du rsultat
    #

    ::webapp::send html [::webapp::file-subst $conf(page) \
				[list \
					[list %CORRESP% $corresp] \
					[list %PLAGES%  $plages] \
				    ] \
			    ]

    #
    # Dconnexion de la base
    #

    fermer-base $dbfd
}

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