Index: openacs-4/packages/general-comments/tcl/general-comments-callback-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/general-comments/tcl/general-comments-callback-procs.tcl,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/general-comments/tcl/general-comments-callback-procs.tcl 5 May 2007 15:54:47 -0000 1.1 @@ -0,0 +1,21 @@ +ad_library { + Callback Procs for general comments + +} + +namespace eval general_comments {} + + +ad_proc -public -callback general_comments::notify_objects { + {-object_id:required} + {-comment:required} + {-title:required} + {-object_type:required} +} { + This callback is being called once a comment has been added + + @param object_id Object ID of the object to which the comment was added + @param title Title given with the comment + @param comment Comment that was provided. This is HTML. + @param object_type Object Type of the object id. This is useful to quickly say in the package implementations wether you want to deal with the comment or not. +} - 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.19 -r1.20 --- openacs-4/packages/general-comments/tcl/general-comments-procs.tcl 8 Aug 2006 21:26:56 -0000 1.19 +++ openacs-4/packages/general-comments/tcl/general-comments-procs.tcl 5 May 2007 15:54:47 -0000 1.20 @@ -59,6 +59,19 @@ } } + # Convert the comment to HTML + + if {$comment_mime_type ne "text/html"} { + set content [ad_convert_to_html $content] + } + + # Start notifications + callback general_comments::notify_objects \ + -object_id $object_id \ + -comment $content \ + -title $title \ + -object_type [acs_object_type $object_id] + return $revision_id } Index: openacs-4/packages/general-comments/www/comment-add-3.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/general-comments/www/comment-add-3.tcl,v diff -u -r1.8 -r1.9 --- openacs-4/packages/general-comments/www/comment-add-3.tcl 8 Aug 2006 21:26:56 -0000 1.8 +++ openacs-4/packages/general-comments/www/comment-add-3.tcl 5 May 2007 15:54:47 -0000 1.9 @@ -34,66 +34,19 @@ # insert the comment into the database set creation_ip [ad_conn peeraddr] set is_live [ad_parameter AutoApproveCommentsP {general-comments} {t}] -db_transaction { - db_exec_plsql insert_comment { - begin - :1 := acs_message.new ( - message_id => :comment_id, - title => :title, - mime_type => :comment_mime_type, - data => empty_blob(), - context_id => :context_id, - creation_user => :user_id, - creation_ip => :creation_ip, - is_live => :is_live - ); - end; - } - db_dml add_entry { - insert into general_comments - (comment_id, - object_id, - category) - values - (:comment_id, - :object_id, - :category) - } +general_comment_new \ + -object_id $object_id \ + -comment_id $comment_id \ + -title $title \ + -comment_mime_type $comment_mime_type \ + -context_id $context_id \ + -user_id $user_id \ + -creation_ip $creation_ip \ + -is_live $is_live \ + -category $category \ + -content $content - db_1row get_revision { - select content_item.get_latest_revision(:comment_id) as revision_id - from dual - } - - db_dml set_content { - update cr_revisions - set content = empty_blob() - where revision_id = :revision_id - returning content into :1 - } -blobs [list $content] - - # Grant the user sufficient permissions to - # created comment. This is done here to ensure that - # a fail on permissions granting will not leave - # the comment with incorrect permissions. - db_exec_plsql grant_permission { - begin - acs_permission.grant_permission ( - object_id => :comment_id, - grantee_id => :user_id, - privilege => 'read' - ); - acs_permission.grant_permission ( - object_id => :comment_id, - grantee_id => :user_id, - privilege => 'write' - ); - - end; - } -} - if { [string equal $attach_p "f"] && ![empty_string_p $return_url] } { ad_returnredirect $return_url } else { Index: openacs-4/packages/general-comments/www/delete-2-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/general-comments/www/delete-2-oracle.xql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/general-comments/www/delete-2-oracle.xql 5 May 2007 15:54:47 -0000 1.1 @@ -0,0 +1,17 @@ + + + + oracle8.1.6 + + + + + begin + acs_message.del(:comment_id); + end; + + + + + + Index: openacs-4/packages/general-comments/www/delete-2-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/general-comments/www/delete-2-postgresql.xql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/general-comments/www/delete-2-postgresql.xql 5 May 2007 15:54:47 -0000 1.1 @@ -0,0 +1,18 @@ + + + + postgresql7.1 + + + + + begin + PERFORM acs_message__delete(:comment_id); + return 1; + end; + + + + + + Index: openacs-4/packages/general-comments/www/delete-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/general-comments/www/Attic/delete-oracle.xql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/general-comments/www/delete-oracle.xql 5 May 2007 15:54:47 -0000 1.1 @@ -0,0 +1,28 @@ + + + + oracle8.1.6 + + + + + select r.title, + r.content, + r.mime_type, + o.creation_user, + to_char(o.creation_date, 'MM-DD-YYYY') as pretty_date, + acs_object.name(o.creation_user) as author + from acs_objects o, + cr_revisions r, + general_comments g + where g.comment_id = :comment_id and + g.comment_id = o.object_id and + r.revision_id = content_item.get_latest_revision(g.comment_id) + + + + + + + + Index: openacs-4/packages/general-comments/www/delete-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/general-comments/www/Attic/delete-postgresql.xql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/general-comments/www/delete-postgresql.xql 5 May 2007 15:54:47 -0000 1.1 @@ -0,0 +1,26 @@ + + + + postgresql7.1 + + + + + + select r.title, + r.content, + r.mime_type, + o.creation_user, + to_char(o.creation_date, 'MM-DD-YYYY') as pretty_date, + acs_object__name(o.creation_user) as author + from acs_objects o, + cr_revisions r, + general_comments g + where g.comment_id = :comment_id and + g.comment_id = o.object_id and + r.revision_id = content_item__get_latest_revision(g.comment_id) + + + + +