- if ( $subscription->{periodicity} == 3 ) {
- my ($wkno,$year) = Week_of_Year( $year,$month, $day );
- for ( my $i = 0 ; $i < @irreg ; $i++ ) {
- if ( $irreg[$i] == (($wkno!=50)?($wkno +2) % 52 :52)) {
- ### BUGFIX was previously +1 ^
- ($year,$month,$day) = Add_Delta_Days($year,$month, $day , 14 );
- $wkno=(($wkno!=50)?($wkno +2) % 52 :52);
- }
- }
- @resultdate = Add_Delta_Days($year,$month, $day , 14 );
+ if ( $subscription->{periodicity} == 3 ) {
+ my ($wkno,$year) = eval {Week_of_Year( $year,$month, $day )};
+ if ($@){warn "year month day : $year $month $day $subscription->{subscriptionid} : $@";}
+ else {
+ for ( my $i = 0 ; $i < @irreg ; $i++ ) {
+ if ( $irreg[$i] == (($wkno!=50)?($wkno +2) % 52 :52)) {
+ ### BUGFIX was previously +1 ^
+ ($year,$month,$day) = Add_Delta_Days($year,$month, $day , 14 );
+ $wkno=(($wkno!=50)?($wkno +2) % 52 :52);
+ }
+ }
+ @resultdate = Add_Delta_Days($year,$month, $day , 14 );
+ }