From 1be05a3391debcaed8681424717eb60c87fab0e0 Mon Sep 17 00:00:00 2001 From: JT Smith Date: Sun, 29 Sep 2002 23:59:22 +0000 Subject: [PATCH] Moved the www_search and www_showMessage methods to the wobject superclass. Also the duplicate and purge methods in the superclass now automatically perform the discussion operations. --- lib/WebGUI/Wobject.pm | 31 ++++++++++++++++++++++++++++ lib/WebGUI/Wobject/Article.pm | 16 +------------- lib/WebGUI/Wobject/MessageBoard.pm | 18 +--------------- lib/WebGUI/Wobject/UserSubmission.pm | 13 ++++-------- 4 files changed, 37 insertions(+), 41 deletions(-) diff --git a/lib/WebGUI/Wobject.pm b/lib/WebGUI/Wobject.pm index 56151668c..6d4776165 100644 --- a/lib/WebGUI/Wobject.pm +++ b/lib/WebGUI/Wobject.pm @@ -239,6 +239,7 @@ sub duplicate { endDate => $_[0]->get("endDate"), templatePosition => $_[0]->get("templatePosition") }); + WebGUI::Discussion::duplicate($_[0]->get("wobjectId"),$w->get("wobjectId")) unless ($_[2]); return $w->get("wobjectId"); } @@ -464,6 +465,7 @@ sub purge { WebGUI::SQL->write("delete from wobject where wobjectId=".$_[0]->get("wobjectId")); $node = WebGUI::Node->new($_[0]->get("wobjectId")); $node->delete; + WebGUI::Discussion::purge($_[0]->get("wobjectId")); } #------------------------------------------------------------------- @@ -1005,6 +1007,35 @@ sub www_postSave { #------------------------------------------------------------------- +=head2 www_search ( ) + + Searches an attached discussion. + +=cut + +sub www_search { + return WebGUI::Discussion::search(); +} + +#------------------------------------------------------------------- + +=head2 www_showMessage ( ) + + Shows a message from a discussion. + +=cut + +sub www_showMessage { + my ($output, $defaultMid); + ($defaultMid) = WebGUI::SQL->quickArray("select min(messageId) from discussion where wobjectId=".$_[0]->get("wobjectId")); + $session{form}{mid} = $session{form}{mid} || $defaultMid || 0; + $output = WebGUI::Discussion::showMessage($_[1],$_[0]); + $output .= WebGUI::Discussion::showThreads(); + return $output; +} + +#------------------------------------------------------------------- + =head2 www_unlockThread ( ) Unlocks a discussion thread from the current message on down. diff --git a/lib/WebGUI/Wobject/Article.pm b/lib/WebGUI/Wobject/Article.pm index 473208e76..cb09bcb92 100644 --- a/lib/WebGUI/Wobject/Article.pm +++ b/lib/WebGUI/Wobject/Article.pm @@ -14,7 +14,6 @@ use strict; use Tie::CPHash; use WebGUI::Attachment; use WebGUI::DateTime; -use WebGUI::Discussion; use WebGUI::HTML; use WebGUI::HTMLForm; use WebGUI::Icon; @@ -48,13 +47,6 @@ sub duplicate { alignImage=>$_[0]->get("alignImage"), allowDiscussion=>$_[0]->get("allowDiscussion") }); - WebGUI::Discussion::duplicate($_[0]->get("wobjectId"),$w->get("wobjectId")); -} - -#------------------------------------------------------------------- -sub purge { - WebGUI::Discussion::purge($_[0]->get("wobjectId")); - $_[0]->SUPER::purge(); } #------------------------------------------------------------------- @@ -152,13 +144,7 @@ sub www_editSave { #------------------------------------------------------------------- sub www_showMessage { - my ($submenu, $output, $defaultMid); - ($defaultMid) = WebGUI::SQL->quickArray("select min(messageId) from discussion where wobjectId=$session{form}{wid}"); - $session{form}{mid} = $defaultMid if ($session{form}{mid} eq ""); - $submenu = ''.WebGUI::International::get(27,$namespace).'
'; - $output = WebGUI::Discussion::showMessage($submenu,$_[0]); - $output .= WebGUI::Discussion::showThreads(); - return $output; + return $_[0]->SUPER::www_showMessage(''.WebGUI::International::get(27,$namespace).'
'); } #------------------------------------------------------------------- diff --git a/lib/WebGUI/Wobject/MessageBoard.pm b/lib/WebGUI/Wobject/MessageBoard.pm index 87bf1a2e6..6394d62f2 100644 --- a/lib/WebGUI/Wobject/MessageBoard.pm +++ b/lib/WebGUI/Wobject/MessageBoard.pm @@ -43,13 +43,6 @@ sub duplicate { $w->set({ messagesPerPage=>$_[0]->get("messagesPerPage") }); - WebGUI::Discussion::duplicate($_[0]->get("wobjectId"),$w->get("wobjectId")); -} - -#------------------------------------------------------------------- -sub purge { - WebGUI::Discussion::purge($_[0]->get("wobjectId")); - $_[0]->SUPER::purge(); } #------------------------------------------------------------------- @@ -88,18 +81,9 @@ sub www_editSave { } } -#------------------------------------------------------------------- -sub www_search { - return WebGUI::Discussion::search(); -} - #------------------------------------------------------------------- sub www_showMessage { - my ($output, $submenu); - $submenu = ''.WebGUI::International::get(11,$namespace).'
'; - $output = WebGUI::Discussion::showMessage($submenu,$_[0]); - $output .= WebGUI::Discussion::showReplyTree(); - return $output; + return $_[0]->SUPER::www_showMessage(''.WebGUI::International::get(11,$namespace).'
'); } #------------------------------------------------------------------- diff --git a/lib/WebGUI/Wobject/UserSubmission.pm b/lib/WebGUI/Wobject/UserSubmission.pm index b03483f80..1f172410c 100644 --- a/lib/WebGUI/Wobject/UserSubmission.pm +++ b/lib/WebGUI/Wobject/UserSubmission.pm @@ -190,7 +190,7 @@ sub _weblogView { sub duplicate { my ($sth, $file, %row, $newSubmissionId, $w); tie %row, 'Tie::CPHash'; - $w = $_[0]->SUPER::duplicate($_[1]); + $w = $_[0]->SUPER::duplicate($_[1],1); $w = WebGUI::Wobject::UserSubmission->new({wobjectId=>$w,namespace=>$namespace}); $w->set({ groupToContribute=>$_[0]->get("groupToContribute"), @@ -221,7 +221,6 @@ sub duplicate { #------------------------------------------------------------------- sub purge { WebGUI::SQL->write("delete from UserSubmission_submission where wobjectId=".$_[0]->get("wobjectId")); - WebGUI::Discussion::purge($_[0]->get("wobjectId")); $_[0]->SUPER::purge(); } @@ -520,13 +519,9 @@ sub www_search { #------------------------------------------------------------------- sub www_showMessage { - my ($submenu, $output); - $submenu .= ''.WebGUI::International::get(45,$namespace).'
'; - $submenu .= ''.WebGUI::International::get(28,$namespace).'
'; - $output = WebGUI::Discussion::showMessage($submenu,$_[0]); - $output .= WebGUI::Discussion::showThreads(); - return $output; + return $_[0]->SUPER::www_showMessage(''.WebGUI::International::get(45,$namespace).'
' + .''.WebGUI::International::get(28,$namespace).'
'); } #-------------------------------------------------------------------