diff options
Diffstat (limited to 'lib/RHRD/rddb.pm')
-rwxr-xr-x | lib/RHRD/rddb.pm | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/lib/RHRD/rddb.pm b/lib/RHRD/rddb.pm index 5bbc645..07e0f86 100755 --- a/lib/RHRD/rddb.pm +++ b/lib/RHRD/rddb.pm @@ -25,6 +25,7 @@ package RHRD::rddb; use strict; use Config::IniFiles; use DBI; +use RHRD::utils; ########################### constants ########################### @@ -854,7 +855,7 @@ sub get_dropboxes $entry->{'NORMLEVEL'} = int $normlevel; $entry->{'TRIMLEVEL'} = int $trimlevel; $entry->{'PARAM'} = $params; - if($p[0] eq "S") { + if(defined($p[0]) && $p[0] eq "S") { $entry->{'TYPE'} = 'show'; $entry->{'SHOWID'} = $to_cart; @@ -866,17 +867,21 @@ sub get_dropboxes $entry->{'SHOWLOG'} = $log; $entry->{'SHOWRHYTHM'} = $p[1]; - $entry->{'SHOWDOW'} = int $p[2]; - $entry->{'SHOWDOW'} = 0 unless $entry->{'SHOWDOW'} < 7; - substr($p[3], 2, 0) = ':'; + $entry->{'SHOWRHYTHM'} = '????' unless((RHRD::utils::dropbox_param_rhythm_ok($entry->{'SHOWRHYTHM'}))[0]); + $entry->{'SHOWDOW'} = $p[2]; + $entry->{'SHOWDOW'} = 0 unless((RHRD::utils::dropbox_param_dow_ok($entry->{'SHOWDOW'}))[0]); $entry->{'SHOWSTARTTIME'} = $p[3]; - $entry->{'SHOWLEN'} = int $p[4]; - } elsif($p[0] eq "J") { + $entry->{'SHOWSTARTTIME'} = '????' unless((RHRD::utils::dropbox_param_starttime_ok($entry->{'SHOWSTARTTIME'}))[0]); + $entry->{'SHOWLEN'} = $p[4]; + $entry->{'SHOWLEN'} = 0 unless((RHRD::utils::dropbox_param_len_ok($entry->{'SHOWLEN'}))[0]); + } elsif(defined($p[0]) && $p[0] eq "J") { $entry->{'TYPE'} = 'jingle'; $entry->{'JINGLETITLE'} = $groupdesc; - } elsif($p[0] eq "M") { + } elsif(defined($p[0]) && $p[0] eq "M") { $entry->{'TYPE'} = 'musicpool'; $entry->{'MUSICPOOLTITLE'} = $groupdesc; + } else { + $entry->{'TYPE'} = 'unknown'; } push @allowed_dbs, $entry; |