numerous fixes

This commit is contained in:
Matthew Wilson 2005-05-17 17:17:01 +00:00
parent 45650303af
commit 87d2b64593
3 changed files with 19 additions and 21 deletions

View file

@ -395,7 +395,7 @@ sub getTemplateVars {
$var{"deny.url"} = $self->getDenyUrl;
$var{"reply.url"} = $self->getReplyUrl;
$var{'reply.withquote.url'} = $self->getReplyUrl(1);
$var{'url'} = WebGUI::URL::getSiteURL().$self->getUrl.'#'.$self->getId;
$var{'url'} = $self->getUrl.'#'.$self->getId;
$var{'rating.value'} = $self->get("rating")+0;
$var{'rate.url.1'} = $self->getRateUrl(1);
$var{'rate.url.2'} = $self->getRateUrl(2);
@ -706,7 +706,7 @@ sub rate {
my ($sum) = WebGUI::SQL->quickArray("select sum(rating) from Post_rating where assetId=".quote($self->getId));
my $average = WebGUI::Utility::round($sum/$count);
$self->update({rating=>$average});
$self->getThread->rate;
$self->getThread->rate($rating);
}
}
@ -1049,7 +1049,7 @@ The web method to rate a post.
sub www_rate {
my $self = shift;
$self->rate($session{form}{rating}) if ($self->canView && !$self->hasRated);
$self->WebGUI::Asset::Post::rate($session{form}{rating}) if ($self->canView && !$self->hasRated);
$self->www_view;
}

View file

@ -448,27 +448,25 @@ An integer between 1 and 5 (5 being best) to rate this post with.
=cut
sub rate {
my $self = shift;
my $rating = shift;
unless ($self->hasRated) {
WebGUI::SQL->write("insert into Post_rating (assetId,userId,ipAddress,dateOfRating,rating) values ("
.quote($self->getId).", ".quote($session{user}{userId}).", ".quote($session{env}{REMOTE_ADDR}).",
".WebGUI::DateTime::time().", $rating)");
my ($count) = WebGUI::SQL->quickArray("select count(*) from Post left join asset on Post.assetId=asset.assetId
where Post.threadId=".quote($self->getId)." and Post.rating>0");
$count = $count || 1;
my ($sum) = WebGUI::SQL->quickArray("select sum(Post.rating) from Post left join asset on Post.assetId=asset.assetId
where Post.threadId=".quote($self->getId)." and Post.rating>0");
my $average = round($sum/$count);
$self->update({rating=>$average});
my $self = shift;
my $rating = shift;
unless ($self->hasRated) {
WebGUI::SQL->write("insert into Post_rating (assetId,userId,ipAddress,dateOfRating,rating) values ("
.quote($self->getId).", ".quote($session{user}{userId}).", ".quote($session{env}{REMOTE_ADDR}).",
".WebGUI::DateTime::time().", ".quote($rating).")");
my ($count) = WebGUI::SQL->quickArray("select count(*) from Post left join asset on Post.assetId=asset.assetId where Post.threadId=".quote($self->getId)." and Post.rating>0");
$count = $count || 1;
my ($sum) = WebGUI::SQL->quickArray("select sum(Post.rating) from Post left join asset on Post.assetId=asset.assetId where Post.threadId=".quote($self->getId)." and Post.rating>0");
my $average = round($sum/$count);
$self->update({rating=>$average});
if ($session{setting}{useKarma}) {
my $poster = WebGUI::User->new($self->get("ownerUserId"));
$poster->karma($rating*$self->getParent->get("karmaRatingMultiplier"),"collaboration rating","someone rated post ".$self->getId);
my $rater = WebGUI::User->new($session{user}{userId});
$rater->karma(-$self->getParent->get("karmaSpentToRate"),"collaboration rating","spent karma to rate post ".$self->getId);
$rater->karma(-$self->getParent->get("karmaSpentToRate"),"collaboration rating","spent karma to rate post ".$self->getId);
}
$self->getParent->recalculateRating;
}
$self->getParent->recalculateRating;
}
}

View file

@ -150,8 +150,8 @@ sub www_view {
if ($session{var}{adminOn}) {
return $self->getContainer->www_view;
}
WebGUI::HTTP::setRedirect($self->get("redirectUrl"));
return undef;
WebGUI::HTTP::setRedirect($self->get("redirectUrl")) unless $self->newByUrl($self->get("redirectUrl"))->getUrl eq $self->getUrl;
return "Redirect is self-referential";
}