]> ruin.nu Git - ndwebbie.git/commitdiff
redirect on new posts
authorMichael Andreen <harv@ruin.nu>
Tue, 23 Jan 2007 13:48:59 +0000 (13:48 +0000)
committerMichael Andreen <harv@ruin.nu>
Tue, 23 Jan 2007 13:48:59 +0000 (13:48 +0000)
ND.pm
ND/Web/Pages/Forum.pm
ND/Web/XMLPage.pm

diff --git a/ND.pm b/ND.pm
index 791d5f096c2170532684a9348408c689630f9e71..812e0ab63675ef89973a454ab422b388d8730ff9 100755 (executable)
--- 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;
 }
 
index 76a7e62438611ff9990735d4d304f79e0eaaf8f5..81943a9707d7b2e2e47c06384b3591a162810fda 100644 (file)
@@ -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;
index ccdb7c511a07897dbf5777ba78b2ecc8da6475a2..b7e70151488fe02f7d40c349e13aa8fe0c0e0fb5 100644 (file)
@@ -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});