summaryrefslogtreecommitdiff
path: root/lib/RHRD/rddb.pm
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2015-10-09 00:16:02 (GMT)
committerChristian Pointner <equinox@spreadspace.org>2015-10-09 00:16:02 (GMT)
commit91a5a9072f82cef110535917a4601f14ddd9fa31 (patch)
treea6be492d2d84382c4a61ac2309dc92cf20255f28 /lib/RHRD/rddb.pm
parente10c9d729f9c7c9bf342e0053dc53988d4e26ff2 (diff)
improved sanity checks for dropbox params
Diffstat (limited to 'lib/RHRD/rddb.pm')
-rwxr-xr-xlib/RHRD/rddb.pm19
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;