Merge remote-tracking branch 'origin/new/bug_2780'
[koha_gimpoz] / C4 / Context.pm
index 53246ec..67d31ee 100644 (file)
@@ -83,19 +83,19 @@ BEGIN {
     $servers = $ENV{'MEMCACHED_SERVERS'};
     if ($servers) {
         # Load required libraries and create the memcached object
-       require Cache::Memcached;
-       $memcached = Cache::Memcached->new({
-                     servers => [ $servers ],
-                     debug   => 0,
-                     compress_threshold => 10_000,
-              expire_time => 600,
-                     namespace => $ENV{'MEMCACHED_NAMESPACE'} || 'koha'
-                 });
+        require Cache::Memcached;
+        $memcached = Cache::Memcached->new({
+        servers => [ $servers ],
+        debug   => 0,
+        compress_threshold => 10_000,
+        expire_time => 600,
+        namespace => $ENV{'MEMCACHED_NAMESPACE'} || 'koha'
+    });
         # Verify memcached available (set a variable and test the output)
-       $ismemcached = $memcached->set('ismemcached','1');
+    $ismemcached = $memcached->set('ismemcached','1');
     }
 
-       $VERSION = '3.00.00.036';
+    $VERSION = '3.00.00.036';
 }
 
 use DBI;
@@ -104,6 +104,7 @@ use XML::Simple;
 use C4::Boolean;
 use C4::Debug;
 use POSIX ();
+use DateTime::TimeZone;
 
 =head1 NAME
 
@@ -362,15 +363,15 @@ sub new {
     }
     
     if ($ismemcached) {
-      # retreive from memcached
-      $self = $memcached->get('kohaconf');
-      if (not defined $self) {
-       # not in memcached yet
-       $self = read_config_file($conf_fname);
-      }
+        # retreive from memcached
+        $self = $memcached->get('kohaconf');
+        if (not defined $self) {
+            # not in memcached yet
+            $self = read_config_file($conf_fname);
+        }
     } else {
-      # non-memcached env, read from file
-      $self = read_config_file($conf_fname);
+        # non-memcached env, read from file
+        $self = read_config_file($conf_fname);
     }
 
     $self->{"config_file"} = $conf_fname;
@@ -384,6 +385,7 @@ sub new {
     $self->{"userenv"} = undef;        # User env
     $self->{"activeuser"} = undef;        # current active user
     $self->{"shelves"} = undef;
+    $self->{tz} = undef; # local timezone object
 
     bless $self, $class;
     return $self;
@@ -1112,6 +1114,24 @@ sub get_versions {
 }
 
 
+=head2 tz
+
+  C4::Context->tz
+
+  Returns a DateTime::TimeZone object for the system timezone
+
+=cut
+
+sub tz {
+    my $self = shift;
+    if (!defined $context->{tz}) {
+        $context->{tz} = DateTime::TimeZone->new(name => 'local');
+    }
+    return $context->{tz};
+}
+
+
+
 1;
 __END__