summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Util.pm
diff options
context:
space:
mode:
authormkanat%bugzilla.org <>2007-10-24 02:36:51 +0200
committermkanat%bugzilla.org <>2007-10-24 02:36:51 +0200
commit16a1c874c190a2726ff8a9e9aadac12a37592023 (patch)
tree9ea33d5c333ada4c0084a2d0e0871055714a37d4 /Bugzilla/Util.pm
parent212433f27ac422f79924d03b5d047236f6cdd308 (diff)
downloadbugzilla-16a1c874c190a2726ff8a9e9aadac12a37592023.tar.gz
bugzilla-16a1c874c190a2726ff8a9e9aadac12a37592023.tar.xz
Bug 357324: Date/Time Custom Fields
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=LpSolit
Diffstat (limited to 'Bugzilla/Util.pm')
-rw-r--r--Bugzilla/Util.pm17
1 files changed, 17 insertions, 0 deletions
diff --git a/Bugzilla/Util.pm b/Bugzilla/Util.pm
index 5c68a9092..ffc2af95a 100644
--- a/Bugzilla/Util.pm
+++ b/Bugzilla/Util.pm
@@ -40,6 +40,7 @@ use base qw(Exporter);
diff_arrays diff_strings
trim wrap_comment find_wrap_point
format_time format_time_decimal validate_date
+ validate_time
file_mod_time is_7bit_clean
bz_crypt generate_random_password
validate_email_syntax clean_text
@@ -457,6 +458,22 @@ sub validate_date {
return $ret ? 1 : 0;
}
+sub validate_time {
+ my ($time) = @_;
+ my $time2;
+
+ # $ts is undefined if the parser fails.
+ my $ts = str2time($time);
+ if ($ts) {
+ $time2 = time2str("%H:%M:%S", $ts);
+
+ $time =~ s/(\d+):(\d+?):(\d+?)/$1:$2:$3/;
+ $time2 =~ s/(\d+):(\d+?):(\d+?)/$1:$2:$3/;
+ }
+ my $ret = ($ts && $time eq $time2);
+ return $ret ? 1 : 0;
+}
+
sub is_7bit_clean {
return $_[0] !~ /[^\x20-\x7E\x0A\x0D]/;
}