" + + if {[llength $attachments] > 0} { + append html_version "Attachments: +
-@notification_chunk@ -
++@notification_chunk;noquote@ +
\ No newline at end of file Index: openacs-4/packages/forums/www/forum-view.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/forum-view.tcl,v diff -u -N -r1.1.1.1 -r1.1.1.2 --- openacs-4/packages/forums/www/forum-view.tcl 29 May 2002 21:40:10 -0000 1.1.1.1 +++ openacs-4/packages/forums/www/forum-view.tcl 28 Jun 2006 20:30:29 -0000 1.1.1.2 @@ -1,39 +1,68 @@ - ad_page_contract { - One Forum View + one forum view - @author Ben Adida (ben@openforce) + @author Ben Adida (ben@openforce.net) @creation-date 2002-05-24 @cvs-id $Id$ -} { + +} -query { forum_id:integer,notnull + {orderby "last_child_post,desc"} + page:optional } -# Security Check -forum::security::require_read_forum -forum_id $forum_id -set package_id [ad_conn package_id] +# Get forum data +if {[catch {forum::get -forum_id $forum_id -array forum} errMsg]} { + if {[string equal $::errorCode NOT_FOUND]} { + ns_returnnotfound + ad_script_abort + } + error $errMsg $::errorInfo $::errorCode +} -set user_id [ad_verify_and_get_user_id] -set admin_p [forum::security::can_admin_forum_p -forum_id $forum_id] -set moderate_p [forum::security::can_moderate_forum_p -forum_id $forum_id] +# If disabled! +if {$forum(enabled_p) != "t"} { + ad_returnredirect "./" + ad_script_abort +} -# Get forum data -forum::get -forum_id $forum_id -array forum +forum::security::require_read_forum -forum_id $forum_id +forum::security::permissions -forum_id $forum_id permissions -if {!$moderate_p} { - # Normal select - db_multirow messages messages_select {} -} else { - # Moderator select! - db_multirow messages messages_select_moderator {} +#it is confusing to provide a moderate link for non-moderated forums. +if { $forum(posting_policy) != "moderated" } { + set permissions(moderate_p) 0 } -set post_p [forum::security::can_post_forum_p -forum_id $forum_id] +# get the colors from the params +set table_border_color [parameter::get -parameter table_border_color] +set table_bgcolor [parameter::get -parameter table_bgcolor] +set table_other_bgcolor [parameter::get -parameter table_other_bgcolor] -set notification_chunk [notification::display::request_widget -type forums_forum_notif -object_id $forum_id -pretty_name $forum(name) -url [ad_conn url]?forum_id=$forum_id] +set admin_url [export_vars -base "admin/forum-edit" { forum_id {return_url [ad_return_url]}}] +set moderate_url [export_vars -base "moderate/forum" { forum_id }] +set post_url [export_vars -base "message-post" { forum_id }] -set context_bar [list $forum(name)] +# Create a search form and action when used +set searchbox_p [parameter::get -parameter ForumsSearchBoxP -default 1] +if {$searchbox_p} { + form create search -action search + forums::form::search search -ad_return_template + if {[form is_request search]} { + element set_properties search forum_id -value $forum_id + } +} +# Need to quote forum(name) since it is noquoted on display as part of an +# HTML fragment. +set notification_chunk [notification::display::request_widget \ + -type forums_forum_notif \ + -object_id $forum_id \ + -pretty_name $forum(name) \ + -url [ad_conn url]?forum_id=$forum_id \ +] + +set page_title "[_ forums.Forum_1] $forum(name)" +set context [list [ad_quotehtml $forum(name)]] Index: openacs-4/packages/forums/www/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/index.adp,v diff -u -N -r1.1.1.1 -r1.1.1.2 --- openacs-4/packages/forums/www/index.adp 29 May 2002 21:40:10 -0000 1.1.1.1 +++ openacs-4/packages/forums/www/index.adp 28 Jun 2006 20:30:29 -0000 1.1.1.2 @@ -1,12 +1,15 @@ -
+
-Subject of Posting: @message.subject@
-Body of Posting:
-
-@message.content@ --
+
#forums.lt_Email_a_copy_of_the_f#
--@notification_chunk@ -
+-
@notification_chunk;noquote@
-
+
-
-Administration: [@message.state@] [ delete
-
+
+
-
-@message.subject@
-
-
-
-
-
-Yes
-
-No
-
+
-@message.content@
-
+ Responses
-
-
-
+
Index: openacs-4/packages/forums/www/message-view.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/message-view.tcl,v
diff -u -N -r1.1.1.1 -r1.1.1.2
--- openacs-4/packages/forums/www/message-view.tcl 29 May 2002 21:40:10 -0000 1.1.1.1
+++ openacs-4/packages/forums/www/message-view.tcl 28 Jun 2006 20:30:29 -0000 1.1.1.2
@@ -1,58 +1,124 @@
-
ad_page_contract {
- View a message (and its children)
+ view a message (and its children)
- @author Ben Adida (ben@openforce)
+ @author Ben Adida (ben@openforce.net)
@creation-date 2002-05-25
- @cvs-id $id: Exp $
+ @cvs-id $Id$
+
} {
message_id:integer,notnull
+ {ajax_effects 1}
+ {display_mode ""}
}
-# Security
-forum::security::require_read_message -message_id $message_id
+#######################
+#
+# First check all reasons why we might abort
+#
+#######################
-# Check if the user has admin on the message
-set moderate_p [forum::security::can_moderate_message_p -message_id $message_id]
-set post_p [forum::security::can_post_message_p -message_id $message_id]
-
# Load up the message information
forum::message::get -message_id $message_id -array message
-
-# Check if the message is approved
-if {!$moderate_p && $message(state) != "approved"} {
- ad_returnredirect "forum-view?forum_id=$message(forum_id)"
+if {![array exists message]} {
+ ns_returnnotfound
ad_script_abort
}
+
# Load up the forum information
forum::get -forum_id $message(forum_id) -array forum
-# Check preferences for user
+# If disabled!
+if {$forum(enabled_p) != "t"} {
+ ad_returnredirect "./"
+ ad_script_abort
+}
-# Set some variables for easy SQL access
-set forum_id $message(forum_id)
-set tree_sortkey $message(tree_sortkey)
+forum::security::require_read_message -message_id $message_id
+forum::security::permissions -forum_id $message(forum_id) permissions
-if {!$moderate_p} {
- # Select publicly viewable items
- db_multirow responses select_message_responses {}
+# Check if the user has admin on the message
+set permissions(moderate_p) [forum::security::can_moderate_message_p -message_id $message_id]
+if {!${permissions(moderate_p)}} {
+ set permissions(post_p) [forum::security::can_post_forum_p -forum_id $message(forum_id)]
} else {
- # Select all items
- db_multirow responses select_message_responses_moderator {}
+ set permissions(post_p) 1
}
+# Check if the message is approved
+if {!${permissions(moderate_p)} && ![string equal $message(state) approved]} {
+ ad_returnredirect "forum-view?forum_id=$message(forum_id)"
+ ad_script_abort
+}
+
+############################################
+#
+# Ok we're not aborting so lets do some work
+#
+############################################
+
+# Create a search form and action when used
+set searchbox_p [parameter::get -parameter ForumsSearchBoxP -default 1]
+if {$searchbox_p} {
+ form create search -action search
+ forums::form::search search
+
+ if {[form is_request search]} {
+ element set_properties search forum_id -value $message(forum_id)
+ }
+}
+
+
# If this is a top-level thread, we allow subscriptions here
-if {[empty_string_p $message(parent_id)]} {
- set notification_chunk [notification::display::request_widget -type forums_message_notif -object_id $message_id -pretty_name $message(subject) -url [ad_conn url]?message_id=$message_id]
+if { [empty_string_p $message(parent_id)] } {
+ set notification_chunk [notification::display::request_widget \
+ -type forums_message_notif \
+ -object_id $message(message_id) \
+ -pretty_name $message(subject) \
+ -url [ad_conn url]?message_id=$message(message_id) \
+ ]
} else {
set notification_chunk ""
}
-set context_bar [list [list "./forum-view?forum_id=$message(forum_id)" "$message(forum_name)"] {One Message}]
+set context [list [list "./forum-view?forum_id=$message(forum_id)" "$message(forum_name)"]]
+if {![empty_string_p $message(parent_id)]} {
+ lappend context [list "./message-view?message_id=$message(root_message_id)" "$message(subject)"]
+ lappend context [_ forums.One_Message]
+} else {
+ lappend context "$message(subject)"
+}
-ad_return_template
+if { $permissions(post_p) || [ad_conn user_id] == 0 } {
+ set reply_url [export_vars -base message-post { { parent_id $message(message_id) } }]
+}
+set all_messages_ids [db_list get_all "SELECT fma.message_id \
+ FROM forums_messages_approved fma \
+ WHERE fma.forum_id = $message(forum_id) \
+ and fma.tree_sortkey between (select fm.tree_sortkey from forums_messages fm where fm.message_id = $message(message_id)) \
+ and (select tree_right(fm.tree_sortkey) from forums_messages fm where fm.message_id = $message(message_id)) \
+ ORDER BY fma.message_id"]
-
+
+set all_messages $all_messages_ids
+set thread_url [export_vars -base forum-view { { forum_id $message(forum_id) } }]
+
+# Call all the scriptaculous libraries
+set ah_sources [ah::js_sources -default]
+
+set dynamic_script "
+
+
+"
+
Index: openacs-4/packages/forums/www/user-history.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/user-history.adp,v
diff -u -N -r1.1.1.1 -r1.1.1.2
--- openacs-4/packages/forums/www/user-history.adp 29 May 2002 21:40:11 -0000 1.1.1.1
+++ openacs-4/packages/forums/www/user-history.adp 28 Jun 2006 20:30:29 -0000 1.1.1.2
@@ -1,27 +1,9 @@
-
+
+
Index: openacs-4/packages/forums/www/user-history.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/user-history.tcl,v
diff -u -N -r1.1.1.1 -r1.1.1.2
--- openacs-4/packages/forums/www/user-history.tcl 29 May 2002 21:40:11 -0000 1.1.1.1
+++ openacs-4/packages/forums/www/user-history.tcl 28 Jun 2006 20:30:29 -0000 1.1.1.2
@@ -1,38 +1,19 @@
-
ad_page_contract {
Posting History for a User
- @author Ben Adida (ben@openforce)
+ @author Ben Adida (ben@openforce.net)
@creation-date 2002-05-29
- @cvs-id $id: Exp $
+ @cvs-id $Id$
+
} {
user_id:integer,notnull
{view "date"}
}
-set package_id [ad_conn package_id]
-
-# FIXME: for now this shows all postings everywhere in all forums!
-
-# choosing the view
-set dimensional_list {
- {
- view "View:" date {
- {date "by Date" { order by date desc } }
- {forum "by Forum" { order by forums_forums.name, date desc } }
- }
- }
-}
-
-set sql_order_by [ad_dimensional_sql $dimensional_list]
-
-# Select the postings
-db_multirow messages select_messages {}
-
# Get user information
oacs::user::get -user_id $user_id -array user
-set dimensional_chunk [ad_dimensional $dimensional_list]
-set context_bar {{Posting History}}
+set context [list [_ forums.Posting_History]]
+
ad_return_template
Index: openacs-4/packages/forums/www/admin/forum-disable.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/admin/forum-disable.tcl,v
diff -u -N -r1.1.1.1 -r1.1.1.2
--- openacs-4/packages/forums/www/admin/forum-disable.tcl 29 May 2002 21:40:11 -0000 1.1.1.1
+++ openacs-4/packages/forums/www/admin/forum-disable.tcl 28 Jun 2006 20:30:29 -0000 1.1.1.2
@@ -1,15 +1,18 @@
-
ad_page_contract {
Disable a Forum
- @author Ben Adida (ben@openforce)
+ @author Ben Adida (ben@openforce.net)
@creation-date 2002-05-28
- @cvs-id $id: Exp $
+ @cvs-id $Id$
+
} {
forum_id:integer,notnull
}
forum::disable -forum_id $forum_id
-ad_returnredirect "./"
+ad_returnredirect "."
+
+
+
Index: openacs-4/packages/forums/www/admin/forum-edit.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/admin/forum-edit.adp,v
diff -u -N -r1.1.1.1 -r1.1.1.2
--- openacs-4/packages/forums/www/admin/forum-edit.adp 29 May 2002 21:40:11 -0000 1.1.1.1
+++ openacs-4/packages/forums/www/admin/forum-edit.adp 28 Jun 2006 20:30:29 -0000 1.1.1.2
@@ -1,5 +1,14 @@
-Forum: @messages.forum_name@
-Forums
-
-
Index: openacs-4/packages/forums/www/admin/index.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/admin/index.tcl,v
diff -u -N -r1.1.1.1 -r1.1.1.2
--- openacs-4/packages/forums/www/admin/index.tcl 29 May 2002 21:40:11 -0000 1.1.1.1
+++ openacs-4/packages/forums/www/admin/index.tcl 28 Jun 2006 20:30:29 -0000 1.1.1.2
@@ -1,19 +1,10 @@
-
ad_page_contract {
Forums Administration
- @author Ben Adida (ben@openforce)
+ @author Ben Adida (ben@openforce.net)
@creation-date 2002-05-24
@cvs-id $Id$
-} {
+
}
-# scoping
-set package_id [ad_conn package_id]
-
-# List of forums
-db_multirow forums select_forums {}
-
-ad_return_template
-
Index: openacs-4/packages/forums/www/moderate/forum.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/moderate/forum.adp,v
diff -u -N -r1.1.1.1 -r1.1.1.2
--- openacs-4/packages/forums/www/moderate/forum.adp 29 May 2002 21:40:11 -0000 1.1.1.1
+++ openacs-4/packages/forums/www/moderate/forum.adp 28 Jun 2006 20:30:29 -0000 1.1.1.2
@@ -1,16 +1,7 @@
-Active Forums
Disabled Forums
Pending Threads
+#forums.Pending_Threads#
-
-
+
-@message.content@
-
-
-