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

@ -14,6 +14,7 @@ use strict;
use Tie::CPHash;
use WebGUI::Asset;
use WebGUI::Asset::Template;
use WebGUI::Asset::Post::Thread;
use WebGUI::DateTime;
use WebGUI::Grouping;
use WebGUI::HTML;
@ -333,9 +334,9 @@ sub getTemplateVars {
$var{"dateSubmitted.human"} = epochToHuman($self->get("dateSubmitted"));
$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{"edit.url"} = $self->getEditUrl;
@ -374,7 +375,7 @@ sub getTemplateVars {
sub getThread {
my $self = shift;
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};
}
@ -505,27 +506,37 @@ sub notifySubscribers {
#-------------------------------------------------------------------
sub processPropertiesFromFormPost {
my $self = shift;
$self->SUPER::processPropertiesFromFormPost;
if ($session{form}{assetId} eq "new" && $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");
$self->SUPER::processPropertiesFromFormPost;
my %data;
if ($session{form}{assetId} eq "new") {
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{endDate} = $self->getThread->getParent->get("endDate") unless ($session{form}{endDate});
($data{synopsis}, $data{content}) = $self->getSynopsisAndContentFromFormPost;
if ($self->getThread->getParent->get("addEditStampToPosts")) {
$data{content} .= "<p>\n\n --- (Edited on ".WebGUI::DateTime::epochToHuman()." by ".$session{user}{alias}.") --- \n</p>";
}
$data{isHidden} = 1;
$self->update(\%data);
$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")) {
$self->setStatusPending;
} else {
@ -700,21 +711,16 @@ sub www_edit {
name=>"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
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;
if ($session{form}{content} || $session{form}{title}) {
$content = $session{form}{content};
$title = $session{form}{title};
} else {
$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:/);
}
$var{'subscribe.form'} = WebGUI::Form::yesNo({
@ -729,6 +735,10 @@ sub www_edit {
name=>'stick',
value=>$session{form}{stick}
});
$var{'lock.form'} = WebGUI::Form::yesNo({
name=>'lock',
value=>$session{form}{'lock'}
});
}
$var{'subscribe.form'} = WebGUI::Form::yesNo({
name=>"subscribe",
@ -825,7 +835,7 @@ sub www_edit {
value => $self->getValue("startDate")
});
$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")));
}