Index: openacs-4/packages/acs-content-repository/tcl/filter-procs-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/tcl/filter-procs-oracle.xql,v diff -u -r1.7 -r1.8 --- openacs-4/packages/acs-content-repository/tcl/filter-procs-oracle.xql 7 Jul 2003 12:25:53 -0000 1.7 +++ openacs-4/packages/acs-content-repository/tcl/filter-procs-oracle.xql 5 Jun 2004 14:08:37 -0000 1.8 @@ -65,7 +65,7 @@ from cr_items where - item_id = content_item.get_id(:url, :content_root) + item_id = content_item.get_id(:url, :content_root, :resolve_index) Index: openacs-4/packages/acs-content-repository/tcl/filter-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/tcl/filter-procs-postgresql.xql,v diff -u -r1.9 -r1.10 --- openacs-4/packages/acs-content-repository/tcl/filter-procs-postgresql.xql 7 Jul 2003 12:25:53 -0000 1.9 +++ openacs-4/packages/acs-content-repository/tcl/filter-procs-postgresql.xql 5 Jun 2004 14:08:37 -0000 1.10 @@ -49,7 +49,7 @@ from cr_items where - item_id = content_item__get_id(:url, :content_root, 'f') + item_id = content_item__get_id(:url, :content_root, :resolve_index) Index: openacs-4/packages/acs-content-repository/tcl/filter-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/tcl/filter-procs.tcl,v diff -u -r1.17 -r1.18 --- openacs-4/packages/acs-content-repository/tcl/filter-procs.tcl 25 Mar 2004 21:42:19 -0000 1.17 +++ openacs-4/packages/acs-content-repository/tcl/filter-procs.tcl 5 Jun 2004 14:08:37 -0000 1.18 @@ -156,13 +156,24 @@ } -ad_proc -public content::init { urlvar rootvar {content_root ""} {template_root ""} {context "public"} {rev_id ""} {content_type ""} } { +ad_proc -public content::init { + {-resolve_index "f"} + {-revision "live"} + urlvar + rootvar + {content_root ""} + {template_root ""} + {context "public"} + {rev_id ""} + {content_type ""} +} { upvar $urlvar url $rootvar root_path - + variable root_folder_id variable item_id variable revision_id + set root_folder_id $content_root # if a .tcl file exists at this url, then don't do any queries if { [file exists [ns_url2file "$url.tcl"]] } { return 0 @@ -189,15 +200,22 @@ set content_type $item_info(content_type) } + # TODO accept latest revision as well. DaveB # Make sure that a live revision exists if { [empty_string_p $rev_id] } { - set live_revision [db_string get_live_revision ""] + if {[string equal "best" $revision]} { + # lastest_revision unless live_revision is set, then live_revision + set revision_id [item::get_best_revision $item_id] + } else { + # default live_revision + set revision_id [item::get_live_revision $item_id] + } - if { [template::util::is_nil live_revision] } { + if { [string equal "" $revision_id] } { ns_log notice "content::init: no live revision found for content item $item_id" return 0 } - set revision_id $live_revision + } else { set revision_id $rev_id }