Typos in Filtered Doku
[kivitendo-erp.git] / SL / SessionFile.pm
index 6f04041..bf6c313 100644 (file)
@@ -13,6 +13,7 @@ use POSIX qw(strftime);
 use Rose::Object::MakeMethods::Generic
 (
  scalar => [ qw(fh file_name) ],
+ 'scalar --get_set_init' => [ qw(session_id) ],
 );
 
 sub new {
@@ -20,6 +21,10 @@ sub new {
 
   my $self   = $class->SUPER::new;
 
+  if ($params{session_id}) {
+    $self->session_id($params{session_id})
+  }
+
   my $path   = $self->prepare_path;
   $file_name =~ s:.*/::g;
   $file_name =  "${path}/${file_name}";
@@ -64,18 +69,22 @@ sub displayable_mtime {
 }
 
 sub get_path {
-  die "No session ID" unless $::auth->get_session_id;
-  return "users/session_files/" . $::auth->get_session_id;
+  die "No session ID" unless $_[0]->session_id;
+  return "users/session_files/" . $_[0]->session_id;
 }
 
 sub prepare_path {
-  my $path = get_path();
+  my $path = $_[0]->get_path;
   return $path if -d $path;
   mkpath $path;
   die "Creating ${path} failed" unless -d $path;
   return $path;
 }
 
+sub init_session_id {
+  $::auth->get_session_id;
+}
+
 sub destroy_session {
   my ($class, $session_id) = @_;
 
@@ -171,7 +180,7 @@ C<22.01.2011 14:12:22>.
 =item C<get_path>
 
 Returns the name of the session-specific directory used for file
-storage relative to the Lx-Office installation folder.
+storage relative to the kivitendo installation folder.
 
 =item C<prepare_path>