]> source.dussan.org Git - nextcloud-server.git/commitdiff
try to adjust times to the clients timezone
authorRobin Appelman <icewind1991@gmail.com>
Sun, 5 Jun 2011 13:13:03 +0000 (15:13 +0200)
committerRobin Appelman <icewind1991@gmail.com>
Sun, 5 Jun 2011 13:13:03 +0000 (15:13 +0200)
files/ajax/timezone.php [new file with mode: 0644]
files/index.php
files/js/timezone.js [new file with mode: 0644]
lib/base.php

diff --git a/files/ajax/timezone.php b/files/ajax/timezone.php
new file mode 100644 (file)
index 0000000..93d0661
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+       session_start();
+       $_SESSION['timezone'] = $_GET['time'];
+?>
\ No newline at end of file
index d796583a4ae0241b54d8d3e8d46a556378297c92..a163895131e005f054adf4ca83984961a07eecc3 100644 (file)
@@ -37,6 +37,9 @@ OC_UTIL::addStyle( "files", "files" );
 OC_UTIL::addScript( "files", "files" );
 OC_UTIL::addScript( 'files', 'filelist' );
 OC_UTIL::addScript( 'files', 'fileactions' );
+if(!isset($_SESSION['timezone'])){
+       OC_UTIL::addScript( 'files', 'timezone' );
+}
 OC_APP::setActiveNavigationEntry( "files_index" );
 // Load the files
 $dir = isset( $_GET['dir'] ) ? $_GET['dir'] : '';
diff --git a/files/js/timezone.js b/files/js/timezone.js
new file mode 100644 (file)
index 0000000..d569683
--- /dev/null
@@ -0,0 +1,12 @@
+//send the clients time zone to the server
+$(document).ready(function() {
+       var visitortimezone = (-new Date().getTimezoneOffset()/60);
+       $.ajax({
+               type: "GET",
+               url: "ajax/timezone.php",
+               data: 'time='+ visitortimezone,
+               success: function(){
+                       location.reload();
+               }
+       });
+});
\ No newline at end of file
index c18ecd570db1bc4f7c0fac1d3606072a13a44c8b..a3ffb6b1a6fe0e43682c45dcc30756e9e96452fd 100644 (file)
@@ -231,8 +231,15 @@ class OC_UTIL {
          * @param bool dateOnly option to ommit time from the result
          */
         public static function formatDate( $timestamp,$dateOnly=false){
-               $timeformat=$dateOnly?'F j, Y':'F j, Y, H:i';
-               return date($timeformat,$timestamp);
+                       if(isset($_SESSION['timezone'])){//adjust to clients timezone if we know it
+                               $systemTimeZone = intval(exec('date +%z'));
+                               $systemTimeZone=(round($systemTimeZone/100,0)*60)+($systemTimeZone%100);
+                               $clientTimeZone=$_SESSION['timezone']*60;
+                               $offset=$clientTimeZone-$systemTimeZone;
+                               $timestamp=$timestamp+$offset*60;
+                       }
+                       $timeformat=$dateOnly?'F j, Y':'F j, Y, H:i';
+                       return date($timeformat,$timestamp);
         }
 
        /**