diff --git a/application/TimeZone.php b/application/TimeZone.php
index ccbef918..e363d90a 100644
--- a/application/TimeZone.php
+++ b/application/TimeZone.php
@@ -5,30 +5,33 @@
* Note: 'UTC/UTC' is mapped to 'UTC' to form a valid option
*
* Example: preselect Europe/Paris
- * list($htmlform, $js) = templateTZform('Europe/Paris');
+ * list($htmlform, $js) = generateTimeZoneForm('Europe/Paris');
*
* @param string $preselected_timezone preselected timezone (optional)
*
* @return an array containing the generated HTML form and Javascript code
**/
-function generateTimeZoneForm($preselected_timezone='')
+function generateTimeZoneForm($preselectedTimezone='')
{
- // Select the first available timezone if no preselected value is passed
- if ($preselected_timezone == '') {
- $l = timezone_identifiers_list();
- $preselected_timezone = $l[0];
+ // Select the server timezone
+ if ($preselectedTimezone == '') {
+ $preselectedTimezone = date_default_timezone_get();
}
- // Try to split the provided timezone
- $spos = strpos($preselected_timezone, '/');
- $pcontinent = substr($preselected_timezone, 0, $spos);
- $pcity = substr($preselected_timezone, $spos+1);
+ if ($preselectedTimezone == 'UTC') {
+ $pcity = $pcontinent = 'UTC';
+ } else {
+ // Try to split the provided timezone
+ $spos = strpos($preselectedTimezone, '/');
+ $pcontinent = substr($preselectedTimezone, 0, $spos);
+ $pcity = substr($preselectedTimezone, $spos+1);
+ }
// Display config form:
- $timezone_form = '';
- $timezone_js = '';
+ $timezoneForm = '';
+ $timezoneJs = '';
- // The list is in the form 'Europe/Paris', 'America/Argentina/Buenos_Aires'...
+ // The list is in the form 'Europe/Paris', 'America/Argentina/Buenos_Aires'
// We split the list in continents/cities.
$continents = array();
$cities = array();
@@ -57,33 +60,33 @@ function generateTimeZoneForm($preselected_timezone='')
}
}
- $continents_html = '';
+ $continentsHtml = '';
$continents = array_keys($continents);
foreach ($continents as $continent) {
- $continents_html .= '';
}
// Timezone selection form
- $timezone_form = 'Continent:';
- $timezone_form .= '';
- $timezone_form .= ' City:';
- $timezone_form .= '
';
+ $timezoneForm = 'Continent:';
+ $timezoneForm .= '';
+ $timezoneForm .= ' City:';
+ $timezoneForm .= '
';
// Javascript handler - updates the city list when the user selects a continent
- $timezone_js = '';
+ $timezoneJs = '';
- return array($timezone_form, $timezone_js);
+ return array($timezoneForm, $timezoneJs);
}
/**
@@ -107,4 +110,3 @@ function isTimeZoneValid($continent, $city)
timezone_identifiers_list()
);
}
-?>
diff --git a/index.php b/index.php
index 1439ec2f..e3b612c8 100644
--- a/index.php
+++ b/index.php
@@ -5,10 +5,12 @@
// Licence: http://www.opensource.org/licenses/zlib-license.php
// Requires: PHP 5.3.x
// -----------------------------------------------------------------------------------------------
-// NEVER TRUST IN PHP.INI
-// Some hosts do not define a default timezone in php.ini,
-// so we have to do this for avoid the strict standard error.
-date_default_timezone_set('UTC');
+
+// Set 'UTC' as the default timezone if it is not defined in php.ini
+// See http://php.net/manual/en/datetime.configuration.php#ini.date.timezone
+if (date_default_timezone_get() == '') {
+ date_default_timezone_set('UTC');
+}
// -----------------------------------------------------------------------------------------------
// Hardcoded parameter (These parameters can be overwritten by editing the file /data/config.php)
diff --git a/tests/TimeZoneTest.php b/tests/TimeZoneTest.php
index f3de3913..b219030a 100644
--- a/tests/TimeZoneTest.php
+++ b/tests/TimeZoneTest.php
@@ -80,4 +80,3 @@ public function testInvalidTimeZone()
$this->assertFalse(isTimeZoneValid('Middle_Earth', 'Moria'));
}
}
-?>