ad_cache_returnredirect (public)
ad_cache_returnredirect url [ persistent ] [ excluded_vars ]
Defined in packages/acs-tcl/tcl/utilities-procs.tcl
An addition to ad_returnredirect. It caches all variables in the redirect except those in excluded_vars and then calls ad_returnredirect with the resultant string.
- Parameters:
- url
persistent (defaults to"f"
)
excluded_vars (optional)
- Author:
- Brad Duell <bduell@ncacasi.org>
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
Source code: util_memoize_flush_regexp [list [ad_conn session_id] [ad_conn package_id]] lassign [split $url "?"] url vars set excluded_vars_list "" set excluded_vars_url "" for { set i 0 } { $i < [llength $excluded_vars] } { incr i } { lassign [lindex $excluded_vars $i] item value if { $value eq "" } { set level [template::adp_level] # Obtain value from adp level upvar #$level __item item_reference __value value_reference set item_reference $item uplevel #$level {set __value [set $__item]} set value $value_reference } lappend excluded_vars_list $item if { $value ne "" } { # Value provided if { $excluded_vars_url ne "" } { append excluded_vars_url "&" } append excluded_vars_url [export_vars {{"$item" "$value"}}] } } set saved_list "" if { $vars ne "" } { foreach {item value} [ns_set array [ns_parsequery $vars]] { if {$item ni $excluded_vars_list} { # No need to save the value if it's being passed ... if {$item in $saved_list} { # Allows for multiple values ... append value " [ad_get_client_property [ad_conn package_id] $item]" } else { # We'll keep track of who we've saved for this package ... lappend saved_list $item } ad_set_client_property -persistent $persistent [ad_conn package_id] $item $value } } } ad_returnredirect "$url?$excluded_vars_url"XQL Not present: PostgreSQL, Oracle Generic XQL file: packages/acs-tcl/tcl/utilities-procs.xql