diff options
Diffstat (limited to 'lib/Travelynx/Model')
| -rwxr-xr-x | lib/Travelynx/Model/Journeys.pm | 12 | 
1 files changed, 10 insertions, 2 deletions
| diff --git a/lib/Travelynx/Model/Journeys.pm b/lib/Travelynx/Model/Journeys.pm index eef4309..30f3179 100755 --- a/lib/Travelynx/Model/Journeys.pm +++ b/lib/Travelynx/Model/Journeys.pm @@ -189,6 +189,7 @@ sub add {  			time_zone => 'Europe/Berlin'  		);  		my @unknown_stations; +		my $prev_epoch = 0;  		for my $station ( @{ $opt{route} } ) {  			my $ts; @@ -199,8 +200,15 @@ sub add {  				$station = $+{stop};  				$ts      = $parser->parse_datetime( $+{timestamp} );  				if ($ts) { -					$station_data{sched_arr} = $ts->epoch; -					$station_data{sched_dep} = $ts->epoch; +					my $epoch = $ts->epoch; +					if ( $epoch <= $prev_epoch ) { +						return ( undef, +'Zeitstempel der Unterwegshalte müssen streng monoton steigend sein (keine Zeitreisen und keine Portale)' +						); +					} +					$station_data{sched_arr} = $epoch; +					$station_data{sched_dep} = $epoch; +					$prev_epoch              = $epoch;  				}  			}  			my $station_info = $self->{stations} | 
