diff --git a/app/helpers/DateHelper.php b/app/helpers/DateHelper.php index d52002901..41982e64f 100644 --- a/app/helpers/DateHelper.php +++ b/app/helpers/DateHelper.php @@ -57,18 +57,18 @@ function prepareDate($time, $hours = true) { $reldays = ($time - $today)/86400; - if ($reldays >= 0 && $reldays < 1) { + if ($reldays >= 0 && $reldays < 1) { //$reldays == 0 ? $date = __('date.today'); - } else if ($reldays >= 1 && $reldays < 2) { + } else if ($reldays >= 1 && $reldays < 2) { //$reldays == 1 ? $date = __('date.tomorrow'); - } else if ($reldays >= -1 && $reldays < 0) { + } else if ($reldays >= -1 && $reldays < 0) { //$reldays == -1 ? $date = __('date.yesterday'); } else { if (abs($reldays) < 7) { - if ($reldays > 0) { + if ($reldays > 0) { //=> $reldays > 1 $reldays = floor($reldays); - $date = 'In ' . $reldays . ' '.__('date.day') . ($reldays != 1 ? 's' : ''); + $date = 'In ' . $reldays . ' '.__('date.day') . ($reldays != 1 ? 's' : ''); //you always have s } else { $reldays = abs(floor($reldays)); $date = __('date.ago', $reldays); diff --git a/app/helpers/TimezoneHelper.php b/app/helpers/TimezoneHelper.php index 45d1cae25..a645f5720 100644 --- a/app/helpers/TimezoneHelper.php +++ b/app/helpers/TimezoneHelper.php @@ -5,40 +5,51 @@ */ function getTimezoneList() { - return array( - 'Etc/GMT+12' => -12.00, - 'Etc/GMT+11' => -11.00, - 'Etc/GMT+10' => -10.00, - 'Etc/GMT+9' => -9.00, - 'Etc/GMT+8' => -8.00, - 'Etc/GMT+7' => -7.00, - 'Etc/GMT+6' => -6.00, - 'Etc/GMT+5' => -5.00, - 'America/Caracas' => -4.30, - 'Etc/GMT+4' => -4.00, - 'America/St_Johns' => -3.30, - 'Etc/GMT+3' => -3.00, - 'Etc/GMT+2' => -2.00, - 'Etc/GMT+1' => -1.00, - 'Etc/GMT' => 0, - 'Etc/GMT-1' => 1.00, - 'Etc/GMT-2' => 2.00, - 'Etc/GMT-3' => 3.00, - 'Asia/Tehran' => 3.30, - 'Etc/GMT-4' => 4.00, - 'Etc/GMT-5' => 5.00, - 'Asia/Kolkata' => 5.30, - 'Asia/Katmandu' => 5.45, - 'Etc/GMT-6' => 6.00, - 'Asia/Rangoon' => 6.30, - 'Etc/GMT-7' => 7.00, - 'Etc/GMT-8' => 8.00, - 'Etc/GMT-9' => 9.00, - 'Australia/Darwin' => 9.30, - 'Etc/GMT-10' => 10.00, - 'Etc/GMT-11' => 11.00, - 'Etc/GMT-12' => 12.00, - 'Etc/GMT-13' => 13.00); + static $regions = array( + DateTimeZone::AFRICA, + DateTimeZone::AMERICA, + DateTimeZone::ANTARCTICA, + DateTimeZone::ASIA, + DateTimeZone::ATLANTIC, + DateTimeZone::AUSTRALIA, + DateTimeZone::EUROPE, + DateTimeZone::INDIAN, + DateTimeZone::PACIFIC, + ); + + $timezones = array(); + foreach( $regions as $region ) + { + $timezones = array_merge( $timezones, DateTimeZone::listIdentifiers( $region ) ); + } + + $timezone_offsets = array(); + foreach( $timezones as $timezone ) + { + $tz = new DateTimeZone($timezone); + $timezone_offsets[$timezone] = $tz->getOffset(new DateTime); + } + + // sort timezone by timezone name + ksort($timezone_offsets); + + $timezone_list = array(); + foreach( $timezone_offsets as $timezone => $offset ) + { + $offset_prefix = $offset < 0 ? '-' : '+'; + $offset_formatted = gmdate( 'H:i', abs($offset) ); + + $pretty_offset = "UTC${offset_prefix}${offset_formatted}"; + + $t = new DateTimeZone($timezone); + $c = new DateTime(null, $t); + $current_time = $c->format('G:i'); + $split = explode("/", $timezone); + + $timezone_list[$timezone] = "$split[1] ($split[0]) - $current_time (${pretty_offset})"; + } + + return $timezone_list; } diff --git a/app/widgets/AdminMain/AdminMain.php b/app/widgets/AdminMain/AdminMain.php index 22881d4b7..2df4af111 100644 --- a/app/widgets/AdminMain/AdminMain.php +++ b/app/widgets/AdminMain/AdminMain.php @@ -49,7 +49,9 @@ class AdminMain extends WidgetBase public function date() { - return date('l jS \of F Y h:i:s A'); + //return date('l jS \of F Y h:i:s A'); + #return date('F j, Y G:i:s'); + return prepareDate(time()); } function display() diff --git a/app/widgets/AdminMain/admin.js b/app/widgets/AdminMain/admin.js index b4dcf342d..ddf473064 100644 --- a/app/widgets/AdminMain/admin.js +++ b/app/widgets/AdminMain/admin.js @@ -1,42 +1,42 @@ var tz_list; var original = true; -function update(elt){ - original = false; +function update(init, elt){ + original = false; if (elt.selectedIndex == -1) return null; - text = elt.options[elt.selectedIndex].text; - h_m = text.split("(")[1].split(")")[0].split("."); - var today = new Date(); - if(h_m[0]<0){ - h_m[0] = h_m[0].substr(1); - today.setHours(today.getHours() - parseInt(h_m[0])); - today.setMinutes(today.getMinutes() - parseInt(h_m[1])); - } - else{ - today.setHours(today.getHours() + parseInt(h_m[0])); - today.setMinutes(today.getMinutes() + parseInt(h_m[1])); - } + text = elt.options[elt.selectedIndex].text; + h_m = text.split("(")[1].split(")")[0].split("."); + var today = init; + if(h_m[0]<0){ + h_m[0] = h_m[0].substr(1); + today.setHours(today.getHours() - parseInt(h_m[0])); + today.setMinutes(today.getMinutes() - parseInt(h_m[1])); + } + else{ + today.setHours(today.getHours() + parseInt(h_m[0])); + today.setMinutes(today.getMinutes() + parseInt(h_m[1])); + } return today; } movim_add_onload(function() { - tz_list = document.querySelector("#timezone"); - - tz_list.onchange = function(e){ - document.querySelector(".dTimezone").innerHTML = update(tz_list).toUTCString(); - } - setInterval( - function(){ - if(original){ - date = new Date(); - document.querySelector(".dTimezone").innerHTML = date.toUTCString(); - } - else{ - date = new Date(document.querySelector(".dTimezone").innerHTML); - date.setSeconds(date.getSeconds() + 1); - document.querySelector(".dTimezone").innerHTML = date.toUTCString(); - } - } - ,1000); + tz_list = document.querySelector("#timezone"); + var d = new Date(document.querySelector(".dTimezone").innerHTML); + tz_list.onchange = function(e){ + //document.querySelector(".dTimezone").innerHTML = update(d, tz_list).toUTCString(); + } + /*setInterval( + function(){ + /*if(original){ + //date = new Date(); + document.querySelector(".dTimezone").innerHTML = date.toUTCString(); + } + else{/* + date = new Date(document.querySelector(".dTimezone").innerHTML); + date.setSeconds(date.getSeconds() + 1); + document.querySelector(".dTimezone").innerHTML = date.toUTCString(); + //} + } + ,1000);*/ }); diff --git a/app/widgets/AdminMain/adminmain.tpl b/app/widgets/AdminMain/adminmain.tpl index 0b11955b0..15add75c0 100644 --- a/app/widgets/AdminMain/adminmain.tpl +++ b/app/widgets/AdminMain/adminmain.tpl @@ -67,7 +67,7 @@ {if="$conf->timezone == $key"} selected="selected" {/if}> - {$key} ({$value|number_format:2}) + {$value} {/loop} diff --git a/bootstrap.php b/bootstrap.php index 450981d17..445f3003b 100644 --- a/bootstrap.php +++ b/bootstrap.php @@ -238,8 +238,9 @@ class Bootstrap { // We set the default timezone to the server timezone $cd = new \Modl\ConfigDAO(); $config = $cd->get(); - - date_default_timezone_set($config->timezone); + + //date_default_timezone_set($config->timezone); + date_default_timezone_set(date_default_timezone_get()); } private function setLogLevel() { diff --git a/config/db.example.inc.php b/config/db.example.inc.php deleted file mode 100644 index 6015f3a44..000000000 --- a/config/db.example.inc.php +++ /dev/null @@ -1,17 +0,0 @@ - 'mysql', - # The database username - 'username' => 'username', - # The password - 'password' => 'password', - # Where can we find the database ? - 'host' => 'localhost', - # The port number, 3306 for MySQL and 5432 for PostGreSQL - 'port' => 3306, - # The database name - 'database' => 'movim' -);