diff options
| author | Daniel Friesel <derf@finalrewind.org> | 2023-03-02 21:54:17 +0100 | 
|---|---|---|
| committer | Daniel Friesel <derf@finalrewind.org> | 2023-03-02 21:54:17 +0100 | 
| commit | aa56023788812ca8071bee8c3fd8064d0fa6c628 (patch) | |
| tree | 72974e733292294c677da3b6db52677753211b08 /lib | |
| parent | 6a734a094be259faca8f34a3a4653ba0c8535b27 (diff) | |
user_status redirect: check visibility independent of token
Diffstat (limited to 'lib')
| -rwxr-xr-x | lib/Travelynx/Controller/Traveling.pm | 43 | 
1 files changed, 19 insertions, 24 deletions
| diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm index 6a8e1f9..e627ae5 100755 --- a/lib/Travelynx/Controller/Traveling.pm +++ b/lib/Travelynx/Controller/Traveling.pm @@ -528,32 +528,27 @@ sub user_status {  			)  		  )  		{ -			my $token = $self->param('token'); -			if ($token) { -				my $visibility = $self->compute_effective_visibility( -					$user->{default_visibility_str}, -					$journey->{visibility_str} -				); -				if ( -					$visibility eq 'public' -					or (    $visibility eq 'unlisted' -						and $self->journey_token_ok( $journey, $ts ) ) -					or ( -						$visibility eq 'travelynx' -						and (  $self->is_user_authenticated -							or $self->journey_token_ok( $journey, $ts ) ) -					) -				  ) -				{ -					$self->redirect_to( -						"/p/${name}/j/$journey->{id}?token=${token}-${ts}"); -				} -				else { -					$self->render('not_found'); -				} +			my $visibility +			  = $self->compute_effective_visibility( +				$user->{default_visibility_str}, +				$journey->{visibility_str} ); +			if ( +				$visibility eq 'public' +				or (    $visibility eq 'unlisted' +					and $self->journey_token_ok( $journey, $ts ) ) +				or ( +					$visibility eq 'travelynx' +					and (  $self->is_user_authenticated +						or $self->journey_token_ok( $journey, $ts ) ) +				) +			  ) +			{ +				my $token = $self->param('token') // q{}; +				$self->redirect_to( +					"/p/${name}/j/$journey->{id}?token=${token}-${ts}");  			}  			else { -				$self->redirect_to("/p/${name}/j/$journey->{id}"); +				$self->render('not_found');  			}  			return;  		} | 
