From 12b4c40c92ee14880f5d9ef1413529df69518c44 Mon Sep 17 00:00:00 2001 From: JT Smith Date: Thu, 10 Mar 2005 04:02:10 +0000 Subject: [PATCH] some bug fixes --- docs/changelog/6.x.x.txt | 3 +++ docs/upgrades/upgrade_6.5.0-6.5.1.sql | 5 ++++ lib/WebGUI/Asset/Post/Thread.pm | 6 ++--- lib/WebGUI/Asset/Wobject/Collaboration.pm | 33 ++++++++++++++++------- lib/WebGUI/Auth/WebGUI.pm | 1 + lib/WebGUI/Form.pm | 2 +- lib/WebGUI/i18n/English/Collaboration.pm | 5 ++++ 7 files changed, 42 insertions(+), 13 deletions(-) diff --git a/docs/changelog/6.x.x.txt b/docs/changelog/6.x.x.txt index 1582ba062..964cf7ef9 100644 --- a/docs/changelog/6.x.x.txt +++ b/docs/changelog/6.x.x.txt @@ -7,6 +7,9 @@ - fix [ 1157196 ] manage system clipboard wrong title - fix [ 1154150 ] No time in forum overview - fix [ 1152434 ] Last Reply column is blank in a forum [mwilson] + - fix [ 1158944 ] Validate email addresses? + - fix [ 1157311 ] Edit User Profile fails on Windows/Firefox + 6.5.0 - Added content prototypes. diff --git a/docs/upgrades/upgrade_6.5.0-6.5.1.sql b/docs/upgrades/upgrade_6.5.0-6.5.1.sql index e6436c711..b03d22409 100644 --- a/docs/upgrades/upgrade_6.5.0-6.5.1.sql +++ b/docs/upgrades/upgrade_6.5.0-6.5.1.sql @@ -1 +1,6 @@ insert into webguiVersion values ('6.5.1','upgrade',unix_timestamp()); +alter table Collaboration add column displayLastReply int not null default 0; +update Collaboration set displayLastReply=1 where CollaborationTemplateId='PBtmpl0000000000000026'; +update template set template='\"> \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 \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 by \r\n \r\n \r\n \r\n \">\r\n \r\n on @ \r\n
\r\n\r\n\r\n
\r\n · · \r\n
\r\n
\r\n\r\n\r\n' where assetId='PBtmpl0000000000000026'; + + diff --git a/lib/WebGUI/Asset/Post/Thread.pm b/lib/WebGUI/Asset/Post/Thread.pm index 45ced61b3..ff6b09f82 100644 --- a/lib/WebGUI/Asset/Post/Thread.pm +++ b/lib/WebGUI/Asset/Post/Thread.pm @@ -131,11 +131,11 @@ sub getIcon { sub getLastPost { my $self = shift; my $lastPostId = $self->get("lastPostId"); - my $lastPost = 0; + my $lastPost; if ($lastPostId) { - $lastPost = WebGUI::Asset->new($lastPostId); + $lastPost = WebGUI::Asset::Post::Thread->new($lastPostId); } - return $lastPost if ($lastPost); + return $lastPost if (defined $lastPost); return $self; } diff --git a/lib/WebGUI/Asset/Wobject/Collaboration.pm b/lib/WebGUI/Asset/Wobject/Collaboration.pm index 3b95ba859..2a3105e8b 100644 --- a/lib/WebGUI/Asset/Wobject/Collaboration.pm +++ b/lib/WebGUI/Asset/Wobject/Collaboration.pm @@ -62,7 +62,19 @@ sub appendPostListTemplateVars { for (my $i=0;$i<=$post->get("rating");$i++) { push(@rating_loop,{'rating_loop.count'=>$i}); } - my $lastPost = $post->WebGUI::Asset::Post::Thread::getLastPost(); + my $lastPost = $post->getLastPost(); + my %lastReply; + if ($self->get("displayLastReply")) { + %lastReply = ( + "lastReply.url"=>$lastPost->getUrl(), + "lastReply.title"=>$lastPost->get("title"), + "lastReply.user.isVisitor"=>$lastPost->get("ownerUserId") eq "1", + "lastReply.username"=>$lastPost->get("username"), + "lastReply.userProfile.url"=>$lastPost->WebGUI::Asset::Post::getPosterProfileUrl(), + "lastReply.dateSubmitted.human"=>epochToHuman($lastPost->get("dateSubmitted"),"%z"), + "lastReply.timeSubmitted.human"=>epochToHuman($lastPost->get("dateSubmitted"),"%Z") + ); + } push(@{$var->{post_loop}}, { %{$post->get}, "id"=>$post->getId, @@ -78,13 +90,6 @@ sub appendPostListTemplateVars { "timeUpdated.human"=>epochToHuman($post->get("dateUpdated"),"%Z"), "userProfile.url"=>$post->getPosterProfileUrl, "user.isVisitor"=>$post->get("ownerUserId") eq "1", - "lastReply.url"=>$lastPost->getUrl(), - "lastReply.title"=>$lastPost->get("title"), - "lastReply.user.isVisitor"=>$lastPost->get("ownerUserId") eq "1", - "lastReply.username"=>$lastPost->get("username"), - "lastReply.userProfile.url"=>$lastPost->WebGUI::Asset::Post::getPosterProfileUrl(), - "lastReply.dateSubmitted.human"=>epochToHuman($lastPost->get("dateSubmitted"),"%z"), - "lastReply.timeSubmitted.human"=>epochToHuman($lastPost->get("dateSubmitted"),"%Z"), "edit.url"=>$post->getEditUrl, 'controls'=>$controls, 'inDateRange'=>$inDateRange, @@ -92,7 +97,8 @@ sub appendPostListTemplateVars { "isThird"=>(($i+1)%3==0), "isFourth"=>(($i+1)%4==0), "isFifth"=>(($i+1)%5==0), - "user.isPoster"=>$post->isPoster + "user.isPoster"=>$post->isPoster, + %lastReply }); $i++; } @@ -247,6 +253,10 @@ sub definition { tableName=>'Collaboration', className=>'WebGUI::Asset::Wobject::Collaboration', properties=>{ + displayLastReply =>{ + fieldType=>"yesNo", + defaultValue=>0 + }, allowReplies =>{ fieldType=>"yesNo", defaultValue=>1 @@ -389,6 +399,11 @@ sub duplicate { sub getEditForm { my $self = shift; my $tabform = $self->SUPER::getEditForm; + $tabform->getTab("display")->yesNo( + -value=>$self->getValue('displayLastReply'), + -label=>WebGUI::International::get('display last reply', 'Collaboration'), + -name=>"displayLastReply" + ); $tabform->getTab("display")->template( -value=>$self->getValue('collaborationTemplateId'), -namespace=>"Collaboration", diff --git a/lib/WebGUI/Auth/WebGUI.pm b/lib/WebGUI/Auth/WebGUI.pm index 45f334d83..e4ebcb0eb 100644 --- a/lib/WebGUI/Auth/WebGUI.pm +++ b/lib/WebGUI/Auth/WebGUI.pm @@ -230,6 +230,7 @@ sub createAccountSave { WebGUI::International::get('email address validation email subject','AuthWebGUI'), WebGUI::International::get('email address validation email body','AuthWebGUI')."\n\n".WebGUI::URL::getSiteURL().WebGUI::URL::page("op=auth&method=validateEmail&key=".$key), ); + $self->SUPER::deactivateAccount("deactivateAccountConfirm"); $self->logout; return $self->displayLogin(WebGUI::International::get('check email for validation','AuthWebGUI')); } diff --git a/lib/WebGUI/Form.pm b/lib/WebGUI/Form.pm index b2825de5e..987446d3b 100644 --- a/lib/WebGUI/Form.pm +++ b/lib/WebGUI/Form.pm @@ -1562,7 +1562,7 @@ sub submit { $value = _fixQuotes($value); my $wait = WebGUI::International::get(452); my $extras = $params->{extras} || 'onclick="this.value=\''.$wait.'\'"'; - return '{extras}.' />'; + return ''; } diff --git a/lib/WebGUI/i18n/English/Collaboration.pm b/lib/WebGUI/i18n/English/Collaboration.pm index ffcee8ea7..c9e9bbf24 100644 --- a/lib/WebGUI/i18n/English/Collaboration.pm +++ b/lib/WebGUI/i18n/English/Collaboration.pm @@ -1,6 +1,11 @@ package WebGUI::i18n::English::Collaboration; our $I18N = { + 'display last reply' => { + message => q|Display last reply?|, + lastUpdated => 1109618544, + }, + 'preview' => { message => q|Preview|, lastUpdated => 1109618544,