Index: openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl,v
diff -u -r1.252 -r1.253
--- openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl 23 Apr 2010 18:59:59 -0000 1.252
+++ openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl 23 Apr 2010 23:21:54 -0000 1.253
@@ -208,10 +208,65 @@
set template [$folder_id get_payload template]
set page [self]
+ foreach css [$context_package_id get_parameter extra_css ""] {::xo::Page requireCSS -order 10 $css}
+ # refetch template_file, since it might have been changed via set-parameter
+ set template_file [my query_parameter "template_file" \
+ [::$context_package_id get_parameter template_file view-default]]
+
+ # if the template_file does not have a path, assume it in xowiki/www
+ if {![regexp {^[./]} $template_file]} {
+ set template_file /packages/xowiki/www/$template_file
+ }
+
+ #
+ # initialize and set the template variables, to be used by
+ # a. adp_compile/ adp_eval
+ # b. return_page/ adp_include
+ #
+
+ set header_stuff [::xo::Page header_stuff]
+ if {[info command ::template::head::add_meta] ne ""} {
+ set meta(language) [my lang]
+ set meta(description) [my description]
+ set meta(keywords) ""
+ if {[my istype ::xowiki::FormPage]} {
+ set meta(keywords) [string trim [my property keywords]]
+ }
+ if {$meta(keywords) eq ""} {
+ set meta(keywords) [$context_package_id get_parameter keywords ""]
+ }
+ foreach i [array names meta] {
+ # don't set empty meta tags
+ if {$meta($i) eq ""} continue
+ template::head::add_meta -name $i -content $meta($i)
+ }
+ }
+
+ #
+ # pass variables for properties doc and body
+ # example: ::xo::Page set_property body class "yui-skin-sam"
+ #
+ array set property_body [::xo::Page get_property body]
+ array set property_doc [::xo::Page get_property doc]
+
+ if {$page_package_id != $context_package_id} {
+ set page_context [$page_package_id instance_name]
+ }
+
if {$template ne ""} {
set __including_page $page
set __adp_stub [acs_root_dir]/packages/xowiki/www/view-default
set template_code [template::adp_compile -string $template]
+ #
+ # make sure that and tags are processed
+ #
+ append template_code {
+ if { [info exists __adp_master] } {
+ set __adp_output [template::adp_parse $__adp_master \
+ [concat [list __adp_slave $__adp_output] \
+ [array get __adp_properties]]]
+ }
+ }
if {[catch {set content [template::adp_eval template_code]} errmsg]} {
ns_return 200 text/html "Error in Page $name: $errmsg
$template"
} else {
@@ -220,52 +275,13 @@
} else {
# use adp file
#my log "use adp"
- foreach css [$context_package_id get_parameter extra_css ""] {::xo::Page requireCSS -order 10 $css}
- # refetch it, since it might have been changed via set-parameter
- set template_file [my query_parameter "template_file" \
- [::$context_package_id get_parameter template_file view-default]]
-
- # if the template_file does not have a path, assume it in xowiki/www
- if {![regexp {^[./]} $template_file]} {
- set template_file /packages/xowiki/www/$template_file
- }
-
- set header_stuff [::xo::Page header_stuff]
- if {[info command ::template::head::add_meta] ne ""} {
- set meta(language) [my lang]
- set meta(description) [my description]
- set meta(keywords) ""
- if {[my istype ::xowiki::FormPage]} {
- set meta(keywords) [string trim [my property keywords]]
- }
- if {$meta(keywords) eq ""} {
- set meta(keywords) [$context_package_id get_parameter keywords ""]
- }
- foreach i [array names meta] {
- # don't set empty meta tags
- if {$meta($i) eq ""} continue
- template::head::add_meta -name $i -content $meta($i)
- }
- }
-
- #
- # pass variables for properties doc and body
- # example: ::xo::Page set_property body class "yui-skin-sam"
- #
- array set property_body [::xo::Page get_property body]
- array set property_doc [::xo::Page get_property doc]
-
- if {$page_package_id != $context_package_id} {
- set page_context [$page_package_id instance_name]
- }
-
+ set package_id $context_package_id
$context_package_id return_page -adp $template_file -variables {
name title item_id context header_stuff return_url
- content footer {package_id $context_package_id} page_package_id page_context
+ content footer package_id page_package_id page_context
rev_link edit_link delete_link new_link admin_link index_link view_link
notification_subscribe_link notification_image
- top_includelets page
- views_data property_body property_doc
+ top_includelets page views_data property_body property_doc
}
}
} else {