From f14a0c707bd068f2064fbfeaaa06863246490fec Mon Sep 17 00:00:00 2001 From: JT Smith Date: Fri, 8 Nov 2002 03:31:18 +0000 Subject: [PATCH] Templatized Article. --- docs/upgrades/upgrade_4.7.0-4.8.0.sql | 12 ++++ lib/WebGUI/Wobject/Article.pm | 83 +++++++++------------------ 2 files changed, 39 insertions(+), 56 deletions(-) diff --git a/docs/upgrades/upgrade_4.7.0-4.8.0.sql b/docs/upgrades/upgrade_4.7.0-4.8.0.sql index 4c8317cf9..3f9738503 100644 --- a/docs/upgrades/upgrade_4.7.0-4.8.0.sql +++ b/docs/upgrades/upgrade_4.7.0-4.8.0.sql @@ -3,5 +3,17 @@ update incrementer set nextValue=100000 where incrementerId='messageId'; insert into international (internationalId,languageId,namespace,message,lastUpdated) values (748,1,'WebGUI','User Count', 1036553016); INSERT INTO template VALUES (5,'Classifieds','\r\n\r\n\r\n ·\r\n\r\n

\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n
\r\n

\">

\r\n \r\n ()\r\n \r\n
\r\n \r\n \">\" border=\"0\"/ align=\"right\">
\r\n
\r\n\r\n
\r\n\r\n\r\n

\r\n · · \r\n
\r\n\r\n','USS'); INSERT INTO template VALUES (6,'Guest Book','\r\n

\r\n\r\n\r\n\r\n\r\n\r\n

\r\n\r\n\r\nOn \"> from \">the department wrote, \r\n\r\n\r\n
\r\n
\r\n\r\n

\r\n\r\n\r\n\r\n\r\n

\r\n · \r\n
\r\n\r\n','USS'); +delete from international where namespace='Article' and internationalId=14; +delete from international where namespace='Article' and internationalId=15; +delete from international where namespace='Article' and internationalId=16; +delete from international where namespace='Article' and internationalId=17; +alter table Article add column templateId int not null default 1; +update Article set templateId=2 where alignImage='center'; +update Article set templateId=3 where alignImage='left'; +alter table Article drop column alignImage; +INSERT INTO template VALUES (1,'Default Article','\r\n
\r\n \" align=\"right\" border=\"0\">\r\n\r\n\r\n\r\n

\r\n\r\n\r\n\r\n \r\n

\">\r\n \r\n\r\n\r\n\r\n\r\n\r\n

\r\n
\r\n\r\n\r\n

\r\n \r\n \r\n
\"> ()\">
\r\n\r\n','Article'); +INSERT INTO template VALUES (2,'Center Image','\r\n

\" border=\"0\">
\r\n
\r\n\r\n\r\n

\r\n\r\n\r\n\r\n \r\n

\">\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n

\r\n \r\n \r\n
\"> ()\">
\r\n\r\n','Article'); +INSERT INTO template VALUES (3,'Left Align Image','\r\n
\r\n \" align=\"left\" border=\"0\">\r\n\r\n\r\n\r\n

\r\n\r\n\r\n\r\n \r\n

\">\r\n \r\n\r\n\r\n\r\n\r\n\r\n

\r\n
\r\n\r\n\r\n

\r\n \r\n \r\n
\"> ()\">
\r\n\r\n','Article'); + diff --git a/lib/WebGUI/Wobject/Article.pm b/lib/WebGUI/Wobject/Article.pm index 2041748b7..6f93e6cc4 100644 --- a/lib/WebGUI/Wobject/Article.pm +++ b/lib/WebGUI/Wobject/Article.pm @@ -39,51 +39,46 @@ sub duplicate { $file = WebGUI::Attachment->new($_[0]->get("attachment"),$_[0]->get("wobjectId")); $file->copy($w->get("wobjectId")); $w->set({ + templateId=>$_[0]->get("templateId"), image=>$_[0]->get("image"), linkTitle=>$_[0]->get("linkTitle"), linkURL=>$_[0]->get("linkURL"), attachment=>$_[0]->get("attachment"), convertCarriageReturns=>$_[0]->get("convertCarriageReturns"), - alignImage=>$_[0]->get("alignImage"), allowDiscussion=>$_[0]->get("allowDiscussion") }); } #------------------------------------------------------------------- sub set { - $_[0]->SUPER::set($_[1],[qw(image linkTitle linkURL attachment convertCarriageReturns alignImage allowDiscussion)]); + $_[0]->SUPER::set($_[1],[qw(image templateId linkTitle linkURL attachment convertCarriageReturns allowDiscussion)]); } #------------------------------------------------------------------- sub www_edit { return WebGUI::Privilege::insufficient() unless (WebGUI::Privilege::canEditPage()); - my ($output, $editTimeout, $groupToModerate, %hash, $f); - tie %hash, 'Tie::IxHash'; + my ($output, $editTimeout, $groupToModerate, $f, $template); if ($_[0]->get("wobjectId") eq "new") { $editTimeout = 1; } else { $editTimeout = $_[0]->get("editTimeout"); } + $template = $_[0]->get("templateId") || 1; $groupToModerate = $_[0]->get("groupToModerate") || 4; $output = helpIcon(1,$namespace); $output .= '

'.WebGUI::International::get(12,$namespace).'

'; $f = WebGUI::HTMLForm->new; + $f->template( + -name=>"templateId", + -value=>$template, + -namespace=>$namespace, + -label=>WebGUI::International::get(356), + -afterEdit=>'func=edit&wid='.$_[0]->get("wobjectId") + ); $f->raw( -value=>$_[0]->fileProperty("image",6), -uiLevel=>3 ); - %hash = ( - right => WebGUI::International::get(15,$namespace), - left => WebGUI::International::get(16,$namespace), - center => WebGUI::International::get(17,$namespace) - ); - $f->select( - -name=>"alignImage", - -options=>\%hash, - -label=>WebGUI::International::get(14,$namespace), - -value=>[$_[0]->get("alignImage")], - -uiLevel=>3 - ); $f->raw( -value=>$_[0]->fileProperty("attachment",9), -uiLevel=>1 @@ -129,9 +124,9 @@ sub www_editSave { $attachment->save("attachment"); $property{image} = $image->getFilename if ($image->getFilename ne ""); $property{attachment} = $attachment->getFilename if ($attachment->getFilename ne ""); - $property{alignImage} = $session{form}{alignImage}; $property{convertCarriageReturns} = $session{form}{convertCarriageReturns}; $property{linkTitle} = $session{form}{linkTitle}; + $property{templateId} = $session{form}{templateId}; $property{linkURL} = $session{form}{linkURL}; $property{allowDiscussion} = $session{form}{allowDiscussion}; $_[0]->SUPER::www_editSave(\%property); @@ -145,52 +140,28 @@ sub www_showMessage { #------------------------------------------------------------------- sub www_view { - my ($file, $output, $image, $replies, $body); - if ($_[0]->get("image") ne "") { # Images collide on successive articles if there is little text - prevent this. - $output = '
'; - } - $output .= $_[0]->displayTitle; + my ($file, %var); if ($_[0]->get("image") ne "") { - $image = WebGUI::Attachment->new($_[0]->get("image"),$_[0]->get("wobjectId")); - $image = 'get("alignImage") ne "center") { - $image .= ' align="'.$_[0]->get("alignImage").'"'; - } - $image .= ' border="0">'; - if ($_[0]->get("alignImage") eq "center") { - $output .= '
'.$image.'
'; - } else { - $output .= $image; - } + $file = WebGUI::Attachment->new($_[0]->get("image"),$_[0]->get("wobjectId")); + $var{image} = $file->getURL; + $var{thumbnail} = $file->getThumbnail; } - $body = $_[0]->description; + $var{description} = $_[0]->description; if ($_[0]->get("convertCarriageReturns")) { - $body =~ s/\n/\/g; + $var{description} =~ s/\n/\/g; } - $output .= $body; - if ($_[0]->get("linkURL") ne "" && $_[0]->get("linkTitle") ne "") { - $output .= '

'.$_[0]->get("linkTitle").''; - } if ($_[0]->get("attachment") ne "") { $file = WebGUI::Attachment->new($_[0]->get("attachment"),$_[0]->get("wobjectId")); - $output .= $file->box; + $var{"attachment.box"} = $file->box; + $var{"attachment.icon"} = $file->getIcon; + $var{"attachment.url"} = $file->getURL; } - if ($_[0]->get("image") ne "") { - $output .= "

"; - } - $output = $_[0]->processMacros($output); - if ($_[0]->get("allowDiscussion")) { - ($replies) = WebGUI::SQL->quickArray("select count(*) from discussion where wobjectId=".$_[0]->get("wobjectId")); - $output .= '

'; - $output .= ''; - $output .= ''; - $output .= '
'. - WebGUI::International::get(28,$namespace).' ('.$replies.')'. - WebGUI::International::get(24,$namespace).'
'; - } - return $output; + ($var{"replies.count"}) = WebGUI::SQL->quickArray("select count(*) from discussion where wobjectId=".$_[0]->get("wobjectId")); + $var{"replies.URL"} = WebGUI::URL::page('func=showMessage&wid='.$_[0]->get("wobjectId")); + $var{"replies.label"} = WebGUI::International::get(28,$namespace); + $var{"post.URL"} = WebGUI::URL::page('func=post&mid=new&wid='.$_[0]->get("wobjectId")); + $var{"post.label"} = WebGUI::International::get(24,$namespace); + return $_[0]->processMacros($_[0]->displayTitle.$_[0]->processTemplate($_[0]->get("templateId"),\%var)); } 1;