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]
}