Index: openacs-4/packages/general-comments/lib/comments.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/general-comments/lib/comments.adp,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/general-comments/lib/comments.adp 16 May 2018 11:56:59 -0000 1.1
@@ -0,0 +1,33 @@
+<%
+ # usages of the comments already wrap this HTML in a ul tag
+%>
+
+
+ @comments.title@
+ @comments.content@
+
+ #general-comments.Attachments#
+
+
+ --
+ @comments.author@
+ #general-comments.on# @comments.pretty_date2@
+ (#general-comments.view_details#)
+
+
+
+
+ @comments.title@
+
+ #general-comments.by# @comments.author@
+ #general-comments.on# @comments.pretty_date@
+
+
+
+
Fisheye: Tag 1.9 refers to a dead (removed) revision in file `openacs-4/packages/general-comments/tcl/general-comments-procs-oracle.xql'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.10 refers to a dead (removed) revision in file `openacs-4/packages/general-comments/tcl/general-comments-procs-postgresql.xql'.
Fisheye: No comparison available. Pass `N' to diff?
Index: openacs-4/packages/general-comments/tcl/general-comments-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/general-comments/tcl/general-comments-procs.tcl,v
diff -u -r1.24 -r1.25
--- openacs-4/packages/general-comments/tcl/general-comments-procs.tcl 1 May 2018 08:49:35 -0000 1.24
+++ openacs-4/packages/general-comments/tcl/general-comments-procs.tcl 16 May 2018 11:56:59 -0000 1.25
@@ -95,7 +95,6 @@
@param object_id The object_id to retrieve the comments for.
@param return_url A url for the user to return to after viewing a comment.
} {
-
# get the package url
set package_url [general_comments_package_url]
if { $package_url eq "" } {
@@ -112,145 +111,83 @@
-parameter "RecentOnTopP" \
-default f]
- if {[string is true $recent_on_top_p]} {
- set orderby "o.creation_date desc"
- } else {
- set orderby "o.creation_date"
- }
+ set sort_dir [expr {[string is true $recent_on_top_p] ? "desc" : "asc"}]
# filter output to only see present user?
set allow_my_comments_only_p [parameter::get \
-package_id $package_id \
-parameter "AllowDisplayMyCommentsLinkP" \
-default t]
- if {[string is true $my_comments_only_p]
- && [string is true $allow_my_comments_only_p]} {
- set user_id [ad_conn user_id]
- set my_comments_clause "and o.creation_user = :user_id "
- } else {
- set my_comments_clause ""
- }
+ set user_id [expr {[string is true $my_comments_only_p] &&
+ [string is true $allow_my_comments_only_p] ? [ad_conn user_id] : ""}]
- # initialize variables
- if { $print_content_p == 0 } {
- set content_select ""
- set content ""
- } else {
- set content_select [db_map content_select] ;# ", r.content"
- }
-
- if { $context_id ne "" } {
- set context_clause "and o.context_id = :context_id"
- } else {
- set context_clause ""
- }
-
- set html ""
- db_foreach get_comments {} {
+ db_multirow -local -extend {
+ pretty_date
+ pretty_date2
+ author_url
+ view_url
+ } comments get_comments_new [subst {
+ select o.object_id as comment_id,
+ r.title,
+ r.mime_type,
+ o.creation_user,
+ o.creation_user as author,
+ o.creation_date,
+ case when :print_content_p
+ then r.content
+ else '' end as content,
+ ar.title as attachment_title,
+ ar.mime_type as attachment_mime_type,
+ coalesce(ae.label, ai.name) as attachment_name,
+ ai.item_id as attachment_item_id,
+ exists (select 1 from images
+ where image_id = ai.item_id) as image_p,
+ ae.url as attachment_url
+ from cr_revisions r,
+ acs_objects o
+ left join cr_items ai on (:print_content_p and
+ :print_attachments_p and
+ o.object_id = ai.parent_id)
+ left join cr_revisions ar on ai.live_revision = ar.revision_id
+ left join cr_extlinks ae on ai.item_id = ae.extlink_id
+ where o.object_id in (select comment_id
+ from general_comments
+ where object_id = :object_id)
+ and r.revision_id = (select live_revision
+ from cr_items
+ where item_id = o.object_id)
+ and (:context_id is null or o.context_id = :context_id)
+ and (:user_id is null or o.creation_user = :user_id)
+ order by o.creation_date $sort_dir
+ }] {
+ set author [acs_object_name $author]
+
+ if {$content ne ""} {
+ set content [template::util::richtext::get_property html_value [list $content $mime_type]]
+ }
+
set pretty_date [lc_time_fmt $creation_date %x]
set pretty_date2 [lc_time_fmt $creation_date "%q %X"]
- # call on helper proc to print out comment
- append html [general_comments_print_comment $comment_id $title $mime_type \
- $creation_user $author $pretty_date $pretty_date2 $content \
- $print_content_p $print_attachments_p $package_url $return_url $print_user_info_p]
- }
- return $html
-}
-ad_proc -private general_comments_print_comment {
- comment_id
- title
- mime_type
- creation_user
- author
- pretty_date
- pretty_date2
- content
- print_content_p
- print_attachments_p
- package_url
- return_url
- print_user_info_p
-} {
- Helper proc to format and print out a single comment.
- @param comment_id The id of the comment.
- @param title The title of the comment.
- @param mime_type The mime_type of the comment.
- @param creation_user The creation user of the comment.
- @param author The name of the author.
- @param pretty_date A short pretty date of the comment.
- @param pretty_date2 A long pretty date of the comment.
- @param content The content of the comment.
- @param print_content_p Pass in 1 to print out content of comments.
- @param print_attachments_p Pass in 1 to print out attachments of comments.
- @param package_url The url to the mounted general-comments package instance.
- @param return_url A url for the user to return to after viewing a comment.
- @param print_user_info_p Pass 1 in to print out user name and time of entry.
-} {
-
- # -- create query statements to retrieve attachments
- # PRS: Moved inline for QueryExtractor
-
- # This part is really ugly. This will remain here until we figure out a way to
- # move this into a template.
- set html ""
- if { $print_content_p == 1 } {
- append html "
$title
\n"
-
- # convert to html
- set richtext_list [list $content $mime_type]
- append html [template::util::richtext::get_property html_value $richtext_list]
-
- if { $print_attachments_p == 1 } {
- set attachments_html ""
- db_foreach get_attachments "
- select r.title, r.mime_type, i.name, i.item_id
- from cr_items i, cr_revisions r
- where i.parent_id = :comment_id
- and r.revision_id = i.live_revision" {
-
- append attachments_html "$title "
- if { $mime_type eq "image_gif" || $mime_type eq "image/jpeg" } {
- append attachments_html "($name)\n"
- } else {
- append attachments_html "($name)\n"
- }
- }
-
- db_foreach get_links "
- select i.item_id, e.label, e.url
- from cr_items i, cr_extlinks e
- where i.parent_id = :comment_id and e.extlink_id = i.item_id" {
- append attachments_html "$label\n"
- }
- if { $attachments_html ne "" } {
- append html "[_ general-comments.Attachments]
\n\n"
- }
+ set author_url [export_vars -base /shared/community-member {{user_id $creation_user}}]
+ set view_url [export_vars -base ${package_url}view-comment {comment_id return_url}]
+
+ if {$image_p} {
+ set attachment_url [export_vars -base ${package_url}view-image {{image_id $attachment_item_id} return_url}]
+ } elseif {$attachment_url eq ""} {
+ set attachment_url [export_vars -base ${package_url}file-download {{item_id $attachment_item_id}}]
}
- append html [subst {--
- $author
- [_ general-comments.on] $pretty_date2
- ([_ general-comments.view_details])
- }]
- } else {
- append html [subst {
- $title
- }]
- if {$print_user_info_p} {
- append html [subst {
- [_ general-comments.by] $author
- [_ general-comments.on] $pretty_date
- }]
- } else {
- append html "
\n"
- }
}
+ set template [acs_package_root_dir "general-comments"]/lib/comments.adp
+ set template [template::themed_template $template]
+ set code [template::adp_compile -file $template]
+ set html [template::adp_eval code]
+
return $html
}
-
ad_proc -public general_comments_create_link {
-object_name
{ -link_text #general-comments.Add_comment# }
Index: openacs-4/packages/general-comments/tcl/general-comments-procs.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/general-comments/tcl/general-comments-procs.xql,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/general-comments/tcl/general-comments-procs.xql 29 Sep 2003 17:45:48 -0000 1.2
+++ openacs-4/packages/general-comments/tcl/general-comments-procs.xql 16 May 2018 11:56:59 -0000 1.3
@@ -1,37 +1,9 @@
-
-
-
- , r.content
-
-
-
-
-
-
+
+
- select r.title, r.mime_type, i.name, i.item_id
- from cr_items i, cr_revisions r
- where i.parent_id = :comment_id
- and r.revision_id = i.live_revision
-
-
-
-
-
-
-
- select i.item_id, e.label, e.url
- from cr_items i, cr_extlinks e
- where i.parent_id = :comment_id and e.extlink_id = i.item_id
-
-
-
-
-
-
insert into general_comments
(comment_id,
object_id,
@@ -41,8 +13,7 @@
:object_id,
:category)
-
-
-
+
+