summaryrefslogtreecommitdiff
path: root/lib/RHRD/utils.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/RHRD/utils.pm')
-rwxr-xr-xlib/RHRD/utils.pm58
1 files changed, 58 insertions, 0 deletions
diff --git a/lib/RHRD/utils.pm b/lib/RHRD/utils.pm
index 083f657..81e5f86 100755
--- a/lib/RHRD/utils.pm
+++ b/lib/RHRD/utils.pm
@@ -54,4 +54,62 @@ sub get_rd_week
return $week;
}
+use constant {
+ DB_PARAM_TYPE_HINT => "only S, M and J are allowed with S -> Show, M -> Musicpool, J -> Jingles",
+ DB_PARAM_RHYTHM_HINT => "only 0 or 1 are allowed, length must be exactly 4 and it must not be '0000'",
+ DB_PARAM_DOW_HINT => "must be between 1 and 7 (1=Monday, ..., 7=Sunday)",
+ DB_PARAM_STARTTIME_HINT => "must be in format HHMM (without seperator) in 24 hour format",
+ DB_PARAM_LEN_HINT => "must be a positive number below 1440",
+};
+
+sub dropbox_param_type_ok
+{
+ my ($type) = @_;
+
+ unless(defined($type) && ($type == 'S' || $type == 'M' || $type == 'J')) {
+ return (0, "unkown type '" . (defined($type) ? $type : 'undef') . "'", DB_PARAM_TYPE_HINT);
+ }
+ return (1, 'OK', DB_PARAM_TYPE_HINT);
+}
+
+sub dropbox_param_rhythm_ok
+{
+ my ($rhythm) = @_;
+
+ if(!defined($rhythm) || $rhythm !~ m/^[01]{4}$/ || $rhythm eq '0000') {
+ return (0, "rhythm '" . (defined($rhythm) ? $rhythm : 'undef') . "' contains illegal characters or is too long/short", DB_PARAM_RHYTHM_HINT);
+ }
+ return (1, 'OK', DB_PARAM_RHYTHM_HINT);
+}
+
+sub dropbox_param_dow_ok
+{
+ my ($dow) = @_;
+
+ if(!defined($dow) || $dow < 1 || $dow > 7) {
+ return (0, "dow '" . (defined($dow) ? $dow : 'undef') . "' is out of bounds", DB_PARAM_DOW_HINT);
+ }
+ return (1, 'OK', DB_PARAM_DOW_HINT);
+}
+
+sub dropbox_param_starttime_ok
+{
+ my ($starttime) = @_;
+
+ if(!defined($starttime) || $starttime !~ m/^[0-2][0-9][0-5][0-9]$/ || $starttime > 2359) {
+ return (0, "starttime '" . (defined($starttime) ? $starttime : 'undef') . "' is not a valid clock time", DB_PARAM_STARTTIME_HINT);
+ }
+ return (1, 'OK', DB_PARAM_STARTTIME_HINT);
+}
+
+sub dropbox_param_len_ok
+{
+ my ($len) = @_;
+
+ if(!defined($len) || $len <= 0 || $len > 1440) {
+ return (0, "len '" . (defined($len) ? $len : 'undef') . "' is out of bounds", DB_PARAM_LEN_HINT);
+ }
+ return (1, 'OK', DB_PARAM_LEN_HINT);
+}
+
return 1;