forums working for the most part

This commit is contained in:
JT Smith 2005-02-12 19:33:44 +00:00
parent 924139ba30
commit e6ca0fa19e
4 changed files with 51 additions and 28 deletions

View file

@ -748,7 +748,9 @@ while (my ($id, $template, $namespace) = $sth->array) {
$template =~ s/numberOfPages/pagination.pageCount/ixsg; $template =~ s/numberOfPages/pagination.pageCount/ixsg;
$template =~ s/pageNumber/pagination.pageNumber/ixsg; $template =~ s/pageNumber/pagination.pageNumber/ixsg;
$template =~ s/thread_loop/post_loop/ixsg; $template =~ s/thread_loop/post_loop/ixsg;
$template =~ s/depth_loop/indent_loop/ixsg;
$template =~ s/back\.url/collaboration.url/ixsg; $template =~ s/back\.url/collaboration.url/ixsg;
$template =~ s/list\.label/back.label/ixsg;
$template =~ s/-=:\s+:=-//ixsg; $template =~ s/-=:\s+:=-//ixsg;
WebGUI::SQL->write("update template set template=".quote($template).", namespace=".quote($namespace)." where assetId=".quote($id)); WebGUI::SQL->write("update template set template=".quote($template).", namespace=".quote($namespace)." where assetId=".quote($id));
} }

View file

@ -14,6 +14,7 @@ use strict;
use Tie::CPHash; use Tie::CPHash;
use WebGUI::Asset; use WebGUI::Asset;
use WebGUI::Asset::Template; use WebGUI::Asset::Template;
use WebGUI::Asset::Post::Thread;
use WebGUI::DateTime; use WebGUI::DateTime;
use WebGUI::Grouping; use WebGUI::Grouping;
use WebGUI::HTML; use WebGUI::HTML;
@ -333,9 +334,9 @@ sub getTemplateVars {
$var{"dateSubmitted.human"} = epochToHuman($self->get("dateSubmitted")); $var{"dateSubmitted.human"} = epochToHuman($self->get("dateSubmitted"));
$var{"dateUpdated.human"} = epochToHuman($self->get("dateUpdated")); $var{"dateUpdated.human"} = epochToHuman($self->get("dateUpdated"));
$var{content} = $self->formatContent; $var{content} = $self->formatContent if ($self->getThread);
$var{canEdit} = $self->canEdit; $var{canEdit} = $self->canEdit if ($self->getThread);
$var{"delete.url"} = $self->getDeleteUrl; $var{"delete.url"} = $self->getDeleteUrl;
$var{"edit.url"} = $self->getEditUrl; $var{"edit.url"} = $self->getEditUrl;
@ -374,7 +375,7 @@ sub getTemplateVars {
sub getThread { sub getThread {
my $self = shift; my $self = shift;
unless (exists $self->{_thread}) { unless (exists $self->{_thread}) {
$self->{_thread} = WebGUI::Asset::Thread->new($self->get("threadId")); $self->{_thread} = WebGUI::Asset::Post::Thread->new($self->get("threadId"));
} }
return $self->{_thread}; return $self->{_thread};
} }
@ -505,27 +506,37 @@ sub notifySubscribers {
#------------------------------------------------------------------- #-------------------------------------------------------------------
sub processPropertiesFromFormPost { sub processPropertiesFromFormPost {
my $self = shift; my $self = shift;
$self->SUPER::processPropertiesFromFormPost; $self->SUPER::processPropertiesFromFormPost;
if ($session{form}{assetId} eq "new" && $session{setting}{enableKarma} && $self->getThread->getParent->get("karmaPerPost")) { my %data;
my $u = WebGUI::User->new($session{user}{userId}); if ($session{form}{assetId} eq "new") {
$u->addKarma($self->getThread->getParent->get("karmaPerPost"), $self->getId, "Collaboration post"); if ($self->getParent->get("className") eq "WebGUI::Asset::Wobject::Collaboration") {
$self->update({threadId=>$self->getId});
} else {
$self->update({threadId=>$self->getParent->get("threadId")});
}
if ($session{setting}{enableKarma} && $self->getThread->getParent->get("karmaPerPost")) {
my $u = WebGUI::User->new($session{user}{userId});
$u->addKarma($self->getThread->getParent->get("karmaPerPost"), $self->getId, "Collaboration post");
}
%data = (
ownerUserId => $session{user}{userId},
groupIdView => $self->getThread->getParent->get("groupIdView"),
groupIdEdit => $self->getThread->getParent->get("groupIdEdit"),
isHidden => 1
);
if ($self->getThread->getParent->canModerate) {
$self->getThread->lock if ($session{form}{'lock'});
$self->getThread->stick if ($session{form}{stick});
}
} }
my %data = (
ownerUserId => $session{user}{userId},
groupIdView => $self->getThread->get("groupIdView"),
groupIdEdit => $self->getThread->get("groupIdEdit")
);
$data{startDate} = $self->getThread->getParent->get("startDate") unless ($session{form}{startDate}); $data{startDate} = $self->getThread->getParent->get("startDate") unless ($session{form}{startDate});
$data{endDate} = $self->getThread->getParent->get("endDate") unless ($session{form}{endDate}); $data{endDate} = $self->getThread->getParent->get("endDate") unless ($session{form}{endDate});
($data{synopsis}, $data{content}) = $self->getSynopsisAndContentFromFormPost; ($data{synopsis}, $data{content}) = $self->getSynopsisAndContentFromFormPost;
if ($self->getThread->getParent->get("addEditStampToPosts")) { if ($self->getThread->getParent->get("addEditStampToPosts")) {
$data{content} .= "<p>\n\n --- (Edited on ".WebGUI::DateTime::epochToHuman()." by ".$session{user}{alias}.") --- \n</p>"; $data{content} .= "<p>\n\n --- (Edited on ".WebGUI::DateTime::epochToHuman()." by ".$session{user}{alias}.") --- \n</p>";
} }
$data{isHidden} = 1;
$self->update(\%data); $self->update(\%data);
$self->getThread->subscribe if ($session{form}{subscribe}); $self->getThread->subscribe if ($session{form}{subscribe});
$self->getThread->lock if ($session{form}{'lock'});
$self->getThread->stick if ($session{form}{stick});
if ($self->getThread->getParent->get("moderatePosts")) { if ($self->getThread->getParent->get("moderatePosts")) {
$self->setStatusPending; $self->setStatusPending;
} else { } else {
@ -700,21 +711,16 @@ sub www_edit {
name=>"class", name=>"class",
value=>$session{form}{class} value=>$session{form}{class}
}); });
if ($self->getThread->getParent->canModerate) {
$var{'lock.form'} = WebGUI::Form::yesNo({
name=>'lock',
value=>$session{form}{'lock'}
});
}
if ($session{form}{class} eq "WebGUI::Asset::Post") { # new reply if ($session{form}{class} eq "WebGUI::Asset::Post") { # new reply
return $self->getThread->getParent->processStyle(WebGUI::Privilege::insufficient()) unless ($self->canReply); $self->{_thread} = $self->getParent->getThread;
return $self->getThread->getParent->processStyle(WebGUI::Privilege::insufficient()) unless ($self->getThread->canReply);
$var{isReply} = 1; $var{isReply} = 1;
if ($session{form}{content} || $session{form}{title}) { if ($session{form}{content} || $session{form}{title}) {
$content = $session{form}{content}; $content = $session{form}{content};
$title = $session{form}{title}; $title = $session{form}{title};
} else { } else {
$content = "[quote]".$self->getParent->get("content")."[/quote]" if ($session{form}{withQuote}); $content = "[quote]".$self->getParent->get("content")."[/quote]" if ($session{form}{withQuote});
$title = $self->getParent->get("subject"); $title = $self->getParent->get("title");
$title = "Re: ".$title unless ($title =~ /^Re:/); $title = "Re: ".$title unless ($title =~ /^Re:/);
} }
$var{'subscribe.form'} = WebGUI::Form::yesNo({ $var{'subscribe.form'} = WebGUI::Form::yesNo({
@ -729,6 +735,10 @@ sub www_edit {
name=>'stick', name=>'stick',
value=>$session{form}{stick} value=>$session{form}{stick}
}); });
$var{'lock.form'} = WebGUI::Form::yesNo({
name=>'lock',
value=>$session{form}{'lock'}
});
} }
$var{'subscribe.form'} = WebGUI::Form::yesNo({ $var{'subscribe.form'} = WebGUI::Form::yesNo({
name=>"subscribe", name=>"subscribe",
@ -825,7 +835,7 @@ sub www_edit {
value => $self->getValue("startDate") value => $self->getValue("startDate")
}); });
$self->getThread->getParent->appendTemplateLabels(\%var); $self->getThread->getParent->appendTemplateLabels(\%var);
return $self->getParent->processStyle($self->processTemplate(\%var,$self->getThread->getParent->get("postFormTemplateId"))); return $self->getThread->getParent->processStyle($self->processTemplate(\%var,$self->getThread->getParent->get("postFormTemplateId")));
} }

View file

@ -610,7 +610,7 @@ sub view {
) )
order by "; order by ";
if ($layout eq "flat") { if ($layout eq "flat") {
$sql .= "post.dateSubmitted"; $sql .= "Post.dateSubmitted";
} else { } else {
$sql .= "asset.lineage"; $sql .= "asset.lineage";
} }
@ -625,7 +625,7 @@ sub view {
for (my $i=0; $i<$replyVars->{depth}; $i++) { for (my $i=0; $i<$replyVars->{depth}; $i++) {
push(@{$replyVars->{indent_loop}},{depth=>$i}); push(@{$replyVars->{indent_loop}},{depth=>$i});
} }
push (@{$var->{reply_loop}}, $replyVars); push (@{$var->{post_loop}}, $replyVars);
} }
$p->appendTemplateVars($var); $p->appendTemplateVars($var);
$var->{'add.url'} = $self->getParent->getNewThreadUrl; $var->{'add.url'} = $self->getParent->getNewThreadUrl;
@ -636,7 +636,7 @@ sub view {
$var->{"next.url"} = $next->getUrl if (defined $next); $var->{"next.url"} = $next->getUrl if (defined $next);
$var->{"search.url"} = $self->getParent->getSearchUrl; $var->{"search.url"} = $self->getParent->getSearchUrl;
$var->{"back.url"} = $self->getThread->getParent->getUrl; $var->{"collaboration.url"} = $self->getThread->getParent->getUrl;
return $self->processTemplate($var,$self->getParent->get("threadTemplateId")); return $self->processTemplate($var,$self->getParent->get("threadTemplateId"));
} }

View file

@ -117,6 +117,7 @@ sub appendTemplateLabels {
$var->{"layout.flat.label"} = "Flat"; $var->{"layout.flat.label"} = "Flat";
$var->{'image.label'} = "Image"; $var->{'image.label'} = "Image";
$var->{'link.header.label'} = "Edit Link"; $var->{'link.header.label'} = "Edit Link";
$var->{"lastReply.label"} = "Last Reply";
$var->{"lock.label"} = "Lock"; $var->{"lock.label"} = "Lock";
$var->{"layout.label"} = "Layout"; $var->{"layout.label"} = "Layout";
$var->{'message.header.label'} = "Edit Message"; $var->{'message.header.label'} = "Edit Message";
@ -131,6 +132,7 @@ sub appendTemplateLabels {
$var->{"rating.label"} = "Rating"; $var->{"rating.label"} = "Rating";
$var->{"rate.label"} = "Rate"; $var->{"rate.label"} = "Rate";
$var->{"reply.label"} = "Reply"; $var->{"reply.label"} = "Reply";
$var->{"replies.label"} = "Replies";
$var->{"readmore.label"} = "Read More"; $var->{"readmore.label"} = "Read More";
$var->{"responses.label"} = "Responses"; $var->{"responses.label"} = "Responses";
$var->{'results.label'} = "Results"; $var->{'results.label'} = "Results";
@ -230,6 +232,10 @@ sub definition {
tableName=>'Collaboration', tableName=>'Collaboration',
className=>'WebGUI::Asset::Wobject::Collaboration', className=>'WebGUI::Asset::Wobject::Collaboration',
properties=>{ properties=>{
allowReplies =>{
fieldType=>"yesNo",
defaultValue=>1
},
threadsPerPage =>{ threadsPerPage =>{
fieldType=>"integer", fieldType=>"integer",
defaultValue=>30 defaultValue=>30
@ -460,6 +466,11 @@ sub getEditForm {
-label=>"Edit Timeout", -label=>"Edit Timeout",
-value=>$self->getValue("editTimeout") -value=>$self->getValue("editTimeout")
); );
$tabform->getTab("security")->yesNo(
-name=>"allowReplies",
-label=>"Allow replies?",
-value=>$self->getValue("allowReplies")
);
$tabform->getTab("security")->yesNo( $tabform->getTab("security")->yesNo(
-name=>"addEditStampToPosts", -name=>"addEditStampToPosts",
-label=>"Add edit stamp to posts?", -label=>"Add edit stamp to posts?",
@ -475,7 +486,7 @@ sub getEditForm {
-label=>"Use content filter?", -label=>"Use content filter?",
-value=>$self->getValue("useContentFilter") -value=>$self->getValue("useContentFilter")
); );
$tabform->getTab("display")->yesNo( $tabform->getTab("properties")->yesNo(
-name=>"usePreview", -name=>"usePreview",
-label=>"Use preview?", -label=>"Use preview?",
-value=>$self->getValue("usePreview") -value=>$self->getValue("usePreview")