ad_return_template

one of the documented procedures in this installation of the ACS
Usage:
ad_return_template   { file_name "" }   { cache_p "1" }
What it does:
Finds a template to source (looks at what templates are available, what the user prefers, and what the site defaults are), parses it in the caller's environment, and ns_return's the bytes to the user. file_name, if specified, overrides the base file name used to determine which template to use. cache_p, if specified, can disable or enable caching by altering the HTTP header.
Defined in: /web/philip/tcl/ad-style.tcl

Source code:


    set full_url [ns_conn url]

    if { [string index $full_url [expr [string length $full_url]-1]] == "/" } {
	append full_url "index.tcl"
    }

    set just_the_dir [file dirname $full_url]
    
    if [empty_string_p $file_name] {
	set file_name [file rootname [file tail $full_url]]
    }
    set template_directory "[ad_style_template_root]$just_the_dir"
    set glob_pattern "${template_directory}/${file_name}.*.adp"
    set available_templates [glob -nocomplain $glob_pattern]

    if { [llength $available_templates] == 0 } {
	ad_return_error "No template available" "We can't find any template for presenting the output of this script.  Sorry but you're a victim of our graphics ambition.  Please complain to the site owner."
    } else {
	# we have at least one template available; we need to score
	# them against user's criteria, then pick the highest scorer
	set list_of_lists [ad_style_score_templates $available_templates]
	set sorted_list [lsort -decreasing -command ad_style_sort_by_score $list_of_lists]
	set top_scoring_template_filename [lindex [lindex $sorted_list 0] 1]
	set fully_qualified_template_filename "$top_scoring_template_filename"

	if { $cache_p } {
	    # build the http header, with a no cache pragma if cache_p is 0
	    set http_header "HTTP/1.0 200 OK
MIME-Version: 1.0
Content-Type: text/html
Pragma: No-Cache

"
	    eval "uplevel { ns_write \"$http_header\[ns_adp_parse -file \"$fully_qualified_template_filename\"\]\" }"
	} else {
	    eval "uplevel { ns_return 200 text/html \[ns_adp_parse -file \"$fully_qualified_template_filename\"\] }"
	}
    }


philg@mit.edu