Redirect to the page you came from, when subscribing to a user.
Patch by kareila.
diffs (29 lines):
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,
);
_______________________________________________
dw-changelog mailing list
[email protected]
http://lists.dwscoalition.org/mailman/listinfo/dw-changelog