From 3e2a06c6838af0e85f2ebb3e98748afb8f81cdca Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Fri, 14 Sep 2012 02:35:50 -0400
Subject: [PATCH] Move date.timezone check to 'required' block, add date.timezone value validation

---
 installer/check.php |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/installer/check.php b/installer/check.php
index e5f3026..5cb3022 100644
--- a/installer/check.php
+++ b/installer/check.php
@@ -42,10 +42,12 @@
     'suhosin.session.encrypt'       => 0,
     'magic_quotes_runtime'          => 0,
     'magic_quotes_sybase'           => 0,
+    'date.timezone'                 => '-NOTEMPTY-',
 );
 
 $optional_checks = array(
-    'date.timezone' => '-NOTEMPTY-',
+    // required for utils/modcss.inc, should we require this?
+    'allow_url_fopen'  => 1,
 );
 
 $source_urls = array(
@@ -170,7 +172,15 @@
     $status = ini_get($var);
     if ($val === '-NOTEMPTY-') {
         if (empty($status)) {
-            $RCI->fail($var, "cannot be empty and needs to be set");
+            $RCI->fail($var, "empty value detected");
+        } else if ($var == 'date.timezone') {
+            try {
+                $tz = new DateTimeZone($status);
+                $RCI->pass($var);
+            }
+            catch (Exception $e) {
+                $RCI->fail($var, "invalid value detected");
+            }
         } else {
             $RCI->pass($var);
         }

--
Gitblit v1.9.1