Index: openacs-4/packages/lars-blogger/lib/titles.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/lib/titles.adp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lars-blogger/lib/titles.adp 17 May 2004 13:02:16 -0000 1.1 @@ -0,0 +1,12 @@ + + This include is inteded to be used with + lars_blog_get_as_string -display_template /package/lars-blogger/lib/titles.adp + see that tcl function for more docs. + + + + Index: openacs-4/packages/lars-blogger/tcl/lars-blogger-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/tcl/lars-blogger-procs.tcl,v diff -u -r1.19 -r1.20 --- openacs-4/packages/lars-blogger/tcl/lars-blogger-procs.tcl 27 Feb 2004 18:58:31 -0000 1.19 +++ openacs-4/packages/lars-blogger/tcl/lars-blogger-procs.tcl 17 May 2004 13:02:17 -0000 1.20 @@ -80,22 +80,32 @@ ad_proc -private lars_blog_get_as_string_mem { package_id - admin_p + create_p + display_template } { - return [template::adp_parse "[acs_package_root_dir "lars-blogger"]/www/blog" [list package_id $package_id]] + return [template::adp_parse "[acs_package_root_dir "lars-blogger"]/www/blog" [list package_id $package_id create_p $create_p display_template $display_template]] } - + ad_proc -public lars_blog_get_as_string { -package_id -url + {-display_template /packages/lars-blogger/www/blog} } { + Return the blog entries as a string (which is memoized and cached + for 10 minutes). + + provide either url (like /blog) or package_id + + display_template is what to use to render the blog (instead of + the default blog.adp). +} { if { ![exists_and_not_null package_id] } { array set blog_site_node [site_node $url] set package_id $blog_site_node(object_id) } - set admin_p [ad_permission_p $package_id admin] - return [util_memoize "lars_blog_get_as_string_mem $package_id $admin_p" 600] + set create_p [ad_permission_p $package_id create] + return [util_memoize [list lars_blog_get_as_string_mem $package_id $create_p $display_template] 600] } ad_proc lars_blog_flush_cache { @@ -105,8 +115,7 @@ set package_id [ad_conn package_id] } # Flush both admin and non-admin version - util_memoize_flush "lars_blog_get_as_string_mem $package_id 0" - util_memoize_flush "lars_blog_get_as_string_mem $package_id 1" + util_memoize_flush_regexp "lars_blog_get_as_string_mem $package_id" } ad_proc -public lars_blog_public_package_url { Index: openacs-4/packages/lars-blogger/www/blog.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/www/blog.tcl,v diff -u -r1.21 -r1.22 --- openacs-4/packages/lars-blogger/www/blog.tcl 27 Feb 2004 18:30:59 -0000 1.21 +++ openacs-4/packages/lars-blogger/www/blog.tcl 17 May 2004 13:02:17 -0000 1.22 @@ -9,6 +9,8 @@ # min_num_entries: optional # num_days: optional # max_content_length:integer,optional +# create_p:boolean +# display_template: # If the caller specified a URL, then we gather the package_id from that URL if { [info exists url] } { @@ -21,7 +23,9 @@ set package_id [ad_conn package_id] } -set create_p [permission::permission_p -object_id $package_id -privilege create] +if {! [info exists create_p] } { + set create_p [permission::permission_p -object_id $package_id -privilege create] +} if { ![info exists category_id] } { set blog_category_id {} @@ -172,7 +176,7 @@ set output_rows_count 0 db_multirow -extend {category_name category_short_name - sw_category_multirow} blog blog {} { + sw_category_multirow permalink_url} blog blog {} { # Putting the limit in the query won't give correct results. We # need to do it here: @@ -196,6 +200,8 @@ append sw_category_url "swcat/$sw_category_id" } + set permalink_url "${package_url}one-entry?[export_vars { entry_id }]" + # Inner multirow. Here's its magic name: set sw_category_multirow "__branimir__multirow__blog/$entry_id" @@ -231,3 +237,6 @@ set rss_file_url [lars_blogger::get_rss_file_url -package_id $package_id] +if { [exists_and_not_null display_template] } { + ad_return_template $display_template +} Index: openacs-4/packages/lars-blogger/www/entry-chunk.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/www/entry-chunk.tcl,v diff -u -r1.19 -r1.20 --- openacs-4/packages/lars-blogger/www/entry-chunk.tcl 27 Feb 2004 18:48:55 -0000 1.19 +++ openacs-4/packages/lars-blogger/www/entry-chunk.tcl 17 May 2004 13:02:17 -0000 1.20 @@ -51,15 +51,9 @@ set entry_id $blog(entry_id) -if { [empty_string_p $screen_name] } { - set blog(permalink_url) "${package_url}one-entry?[export_vars { entry_id }]" -} else { - set blog(permalink_url) "${package_url}user/$screen_name/one-entry?[export_vars { entry_id }]" -} - lars_blogger::entry::htmlify \ -max_content_length $max_content_length \ - -more [ad_decode [ad_return_url] $blog(permalink_url) {} "
(more)"] \ + -more [ad_decode [ad_return_url] $blog(permalink_url) {} "
(more)"] \ -array blog Index: openacs-4/packages/lars-blogger/www/one-entry.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/www/one-entry.tcl,v diff -u -r1.14 -r1.15 --- openacs-4/packages/lars-blogger/www/one-entry.tcl 20 Feb 2004 05:43:02 -0000 1.14 +++ openacs-4/packages/lars-blogger/www/one-entry.tcl 17 May 2004 13:02:17 -0000 1.15 @@ -46,7 +46,9 @@ if {![exists_and_not_null screen_name]} { set screen_name "" set context [list $page_title] + set blog(permalink_url) "${package_url}one-entry?[export_vars { entry_id }]" } else { + set blog(permalink_url) "${package_url}user/$screen_name/one-entry?[export_vars { entry_id }]" set context [list $screen_name] }