From: Michael Andreen Date: Tue, 23 Jan 2007 13:48:59 +0000 (+0000) Subject: redirect on new posts X-Git-Url: https://ruin.nu/git/?a=commitdiff_plain;h=c5cc1151b5a4f1e52eb577a78df1f79dfdc193db;p=ndwebbie.git redirect on new posts --- diff --git a/ND.pm b/ND.pm index 791d5f0..812e0ab 100755 --- a/ND.pm +++ b/ND.pm @@ -49,6 +49,13 @@ sub handler { $ND::DBH->rollback unless $ND::DBH->{AutoCommit}; $ND::DBH->disconnect; + if ($page->{RETURN}){ + if($page->{RETURN} eq 'REDIRECT'){ + $ND::r->headers_out->set(Location => $page->{REDIR_LOCATION}); + $ND::r->status(Apache2::Const::REDIRECT); + $ND::r->rflush; + } + } return Apache2::Const::OK; } diff --git a/ND/Web/Pages/Forum.pm b/ND/Web/Pages/Forum.pm index 76a7e62..81943a9 100644 --- a/ND/Web/Pages/Forum.pm +++ b/ND/Web/Pages/Forum.pm @@ -88,8 +88,11 @@ sub render_body { } if (param('cmd') eq 'Submit' and $thread && $thread->{post}){ addForumPost($DBH,$thread,$ND::UID,param('message')); + $self->{RETURN} = 'REDIRECT'; + $self->{REDIR_LOCATION} = "/forum?t=$thread->{id}#NewPosts"; } $DBH->commit or $ND::ERROR .= p($DBH->errstr); + return if $self->{RETURN}; } if(param('cmd') eq 'Move' && $board->{moderate}){ $DBH->begin_work; diff --git a/ND/Web/XMLPage.pm b/ND/Web/XMLPage.pm index ccdb7c5..b7e7015 100644 --- a/ND/Web/XMLPage.pm +++ b/ND/Web/XMLPage.pm @@ -95,6 +95,10 @@ sub render : method { $body = $self->render_body($body); + unless ($body){ + return; + } + unless ($self->{XML}){ my $fleetupdate = $DBH->selectrow_array('SELECT landing_tick FROM fleets WHERE uid = ? AND fleet = 0',undef,$self->{UID});