export_ns_set_vars { format "url" } { exclusion_list " " } { setid " " }What it does:
Returns all the params in an ns_set with the exception of those in exclusion_list. If no setid is provide, ns_getform is used. If format = url, a url parameter string will be returned. If format = form, a block of hidden form fragments will be returned.Defined in: /web/philip/packages/acs-core/utilities-procs.tcl
Source code:
if [empty_string_p $setid] {
set setid [ns_getform]
}
set return_list [list]
if ![empty_string_p $setid] {
set set_size [ns_set size $setid]
set set_counter_i 0
while { $set_counter_i<$set_size } {
set name [ns_set key $setid $set_counter_i]
set value [ns_set value $setid $set_counter_i]
if {[lsearch $exclusion_list $name] == -1 && ![empty_string_p $name]} {
if {$format == "url"} {
lappend return_list "$name=[ns_urlencode $value]"
} else {
lappend return_list " name=$name value=\"[philg_quote_double_quotes $value]\""
}
}
incr set_counter_i
}
}
if {$format == "url"} {
return [join $return_list "&"]
} else {
return "<input type=hidden [join $return_list ">\n <input type=hidden "] >"
}