[dw-free] formatting preferences lost post-subscription
[commit: http://hg.dwscoalition.org/dw-free/rev/bc40d2bf36ca]
http://bugs.dwscoalition.org/show_bug.cgi?id=2536
Redirect to the page you came from, when subscribing to a user.
Patch by
kareila.
Files modified:
http://bugs.dwscoalition.org/show_bug.cgi?id=2536
Redirect to the page you came from, when subscribing to a user.
Patch by
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Files modified:
- htdocs/manage/subscriptions/user.bml
-------------------------------------------------------------------------------- diff -r cbe5fd6cd290 -r bc40d2bf36ca htdocs/manage/subscriptions/user.bml --- a/htdocs/manage/subscriptions/user.bml Mon Jul 12 18:18:33 2010 +0800 +++ b/htdocs/manage/subscriptions/user.bml Mon Jul 12 18:31:47 2010 +0800 @@ -89,9 +89,25 @@ body<= flags => LJ::Subscription::TRACKING, ); + # validate referer for ret_url + my $referer = BML::get_client_header('Referer'); + $referer = $LJ::SITEROOT . $referer if $referer =~ /^\//; + if ( DW::Controller::validate_redirect_url( $referer ) ) { + # validate args + my ( $url, $args ) = ( $referer =~ /^(.*)\?(.*)$/ ); + if ( $url && $args ) { + my %args = map { split( /=/, $_ ) } split( /&/, $args ); + $args = LJ::viewing_style_args( %args ); + $referer = $args ? "$url?$args" : $url; + } + } else { + $referer = undef; # invalid redirect + } + return LJ::subscribe_interface( $remote, categories => $categories, journal => $journal, + ret_url => $referer, post_to_settings_page => 1, ); --------------------------------------------------------------------------------