From 9a501fd68d7d5e3c8892b94eec530dcf34401455 Mon Sep 17 00:00:00 2001
From: Nathan Mares <nathan@catalyst-au.net>
Date: Wed, 28 Nov 2012 09:20:10 +1100
Subject: [PATCH] MDL-36773: Resolve error in PARAM_TIMESTAMP regex test and
 update unit tests

---
 lib/moodlelib.php            |    2 +-
 lib/tests/moodlelib_test.php |    4 ++++
 2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/lib/moodlelib.php b/lib/moodlelib.php
index 32697fa..bf3bdc1 100644
--- a/lib/moodlelib.php
+++ b/lib/moodlelib.php
@@ -1128,7 +1128,7 @@ function clean_param($param, $type) {
 
         case PARAM_TIMEZONE:    //can be int, float(with .5 or .0) or string seperated by '/' and can have '-_'
             $param = fix_utf8($param);
-            $timezonepattern = '/^(([+-]?(0?[0-9](\.[5|0])?|1[0-3]|1[0-2]\.5))|(99)|[[:alnum:]]+(\/?[[:alpha:]_-])+)$/';
+            $timezonepattern = '/^(([+-]?(0?[0-9](\.[5|0])?|1[0-3](\.0)?|1[0-2]\.5))|(99)|[[:alnum:]]+(\/?[[:alpha:]_-])+)$/';
             if (preg_match($timezonepattern, $param)) {
                 return $param;
             } else {
diff --git a/lib/tests/moodlelib_test.php b/lib/tests/moodlelib_test.php
index c26bab7..ac1e30b 100644
--- a/lib/tests/moodlelib_test.php
+++ b/lib/tests/moodlelib_test.php
@@ -981,6 +981,10 @@ class moodlelib_testcase extends advanced_testcase {
             '0.5'                            => '0.5',
             '-12.5'                          => '-12.5',
             '+12.5'                          => '+12.5',
+            '-10.0'                          => '-10.0',
+            '-10.5'                          => '-10.5',
+            '+10.0'                          => '+10.0',
+            '+10.5'                          => '+10.5',
             '13.5'                           => '',
             '-13.5'                          => '',
             '0.2'                            => '');
-- 
1.7.5.4

