File: load_response.tcl

package info (click to toggle)
libapache2-mod-rivet 3.2.0-1
  • links: PTS
  • area: main
  • in suites: bullseye
  • size: 5,868 kB
  • sloc: xml: 8,496; tcl: 7,212; ansic: 6,959; sh: 5,030; makefile: 261; sql: 91; lisp: 78
file content (32 lines) | stat: -rw-r--r-- 890 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
###
##
## load_response ?arrayName?
##    Load any form variables passed to this page into an array.
##
##    arrayName - Name of the array to set.  Default is 'response'.
##
## $Id$
##
###

namespace eval ::rivet {

    proc load_response {{arrayName response}} {
        upvar 1 $arrayName response

        foreach {var elem} [::rivet::var all] {
            if {[info exists response(__$var)]} {
                # we have seen var multiple times already, add to the list
                lappend response($var) $elem
            } elseif {[info exists response($var)]} {
                # second occurence of var,  convert response(var) list:
                set response($var) [list $response($var) $elem]
                set response(__$var) ""
            } else {
                # first time seeing this var
                set response($var) $elem
            }
        }
    }

}