summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/Mason.pm16
1 files changed, 10 insertions, 6 deletions
diff --git a/FS/FS/Mason.pm b/FS/FS/Mason.pm
index cbb73f4d9..414e1fa50 100644
--- a/FS/FS/Mason.pm
+++ b/FS/FS/Mason.pm
@@ -468,15 +468,19 @@ if ( -e $addl_handler_use_file ) {
no warnings 'redefine';
*CGI::redirect = sub {
my $self = shift;
- my $cookie = '';
- if ( $_[0] eq '-cookie' ) { #this isn't actually used at the moment
- (my $x, $cookie) = (shift, shift);
- $HTML::Mason::r->err_headers_out->add( 'Set-cookie' => $cookie );
- }
- my $location = shift;
use vars qw($m);
+ my $location = '';
+ if ( $_[0] =~ /^-/ ) {
+ my %opt = @_;
+ $location = $opt{'-uri'};
+ my $cookie = $opt{'-cookie'};
+ $m->apache_req->err_headers_out->{'Set-cookie'} = $cookie if $cookie;
+ } else {
+ $location = shift;
+ }
+
# false laziness w/below
if ( @DBIx::Profile::ISA ) {