etp::get_pa (private)
etp::get_pa package_id name [ content_type ]
Defined in packages/edit-this-page/tcl/etp-procs.tcl
- Parameters:
- package_id (required)
- The package_id for the current request
- name (required)
- The page name of the current request.
- content_type (optional)
- Returns:
- The tcl array (in list form) of page attributes. Does the real work of setting up the page-attribute array, which is then fed to the cache. The (package_id name) combination uniquely identifies a page.
- Author:
- Luke Pond
- Created:
- 2001-05-31
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
Source code: set extended_attributes [get_ext_attribute_columns $content_type] set revision_id [ad_conn revision_id] if {$revision_id eq ""} { # this will throw an error if the page does not exist db_1row get_page_attributes "" -column_array pa } else { # revision_id was set by index.vuh db_1row get_page_attributes_other_revision "" -column_array pa } if {$pa(mime_type) eq ""} { set pa(mime_type) "text/html" } if {"text/html" ne $pa(mime_type) } { set pa(content) [template::util::richtext get_property html_value [list $pa(content) $pa(mime_type)]] } # add in the context bar if { $name eq "index" } { set cb [ad_context_bar] set context [list] } else { set cb [ad_context_bar $pa(title)] set context [list $pa(title)] } # remove the "Your Workspace" link, so we can cache this context # bar and it will work for everyone regsub {^<a href="/pvt/home">Your Workspace</a> : } $cb "" cb if {[lindex $cb 1] eq "Your Workspace"} { set cb [lreplace $cb 0 1] } set pa(context_bar) $cb set pa(context) $context return [array get pa]Generic XQL file: packages/edit-this-page/tcl/etp-procs.xql
PostgreSQL XQL file: <fullquery name="etp::get_pa.get_page_attributes"> <querytext> select i.item_id, i.name, r.revision_id, r.title, r.mime_type, r.description, r.publish_date, r.content $extended_attributes from cr_items i, cr_revisions r where i.parent_id = etp__get_folder_id(:package_id) and i.name = :name and i.item_id = r.item_id and r.revision_id = i.live_revision </querytext> </fullquery> <fullquery name="etp::get_pa.get_page_attributes_other_revision"> <querytext> select i.item_id, i.name, r.revision_id, r.title, r.mime_type, r.description, r.publish_date, r.content $extended_attributes from cr_items i, cr_revisions r where i.parent_id = etp__get_folder_id(:package_id) and i.name = :name and i.item_id = r.item_id and r.revision_id = :revision_id </querytext> </fullquery>packages/edit-this-page/tcl/etp-procs-postgresql.xql
Oracle XQL file: <fullquery name="etp::get_pa.get_page_attributes"> <querytext> select i.item_id, i.name, r.revision_id, r.title, r.description, r.publish_date, r.content $extended_attributes from cr_items i, cr_revisions r where i.parent_id = etp.get_folder_id(:package_id) and i.name = :name and i.item_id = r.item_id and r.revision_id = i.live_revision </querytext> </fullquery> <fullquery name="etp::get_pa.get_page_attributes_other_revision"> <querytext> select i.item_id, i.name, r.revision_id, r.title, r.description, r.publish_date, r.content $extended_attributes from cr_items i, cr_revisions r where i.parent_id = etp.get_folder_id(:package_id) and i.name = :name and i.item_id = r.item_id and r.revision_id = :revision_id </querytext> </fullquery>packages/edit-this-page/tcl/etp-procs-oracle.xql