sub delete {
my ($self, %params) = @_;
- $main::lxdebug->message(LXDebug->DEBUG2(), "del in backend " . $self . " file " . $params{dbfile});
- $main::lxdebug->message(LXDebug->DEBUG2(), "file id=" . ($params{dbfile}->id * 1));
- die "no dbfile" unless $params{dbfile};
+ die "no dbfile in backend delete" unless $params{dbfile};
my $backend_data = $params{dbfile}->backend_data;
$backend_data = 0 if $params{last};
$backend_data = $params{dbfile}->backend_data-1 if $params{all_but_notlast};
if ($backend_data > 0 ) {
- $main::lxdebug->message(LXDebug->DEBUG2(), "backend_data=" .$backend_data);
for my $version ( 1..$backend_data) {
my $file_path = $self->_filesystem_path($params{dbfile},$version);
- $main::lxdebug->message(LXDebug->DEBUG2(), "unlink " .$file_path);
unlink($file_path);
}
if ($params{all_but_notlast}) {
my $from = $self->_filesystem_path($params{dbfile},$params{dbfile}->backend_data);
- my $to = $self->_filesystem_path($params{dbfile},$params{dbfile}->backend_data);
- die "file not exists" unless -f $from;
+ my $to = $self->_filesystem_path($params{dbfile},1);
+ die "file not exists in backend delete" unless -f $from;
rename($from,$to);
$params{dbfile}->backend_data(1);
} else {
$params{dbfile}->backend_data(0);
my $dir_path = $self->_filesystem_path($params{dbfile});
rmdir($dir_path);
- $main::lxdebug->message(LXDebug->DEBUG2(), "unlink " .$dir_path);
}
} else {
my $file_path = $self->_filesystem_path($params{dbfile},$params{dbfile}->backend_data);
- die "file not exists" unless -f $file_path;
+ die "file not exists in backend delete" unless -f $file_path;
unlink($file_path);
$params{dbfile}->backend_data($params{dbfile}->backend_data-1);
}
+ return 1;
}
sub rename {
sub save {
my ($self, %params) = @_;
die 'dbfile not exists' unless $params{dbfile};
- $main::lxdebug->message(LXDebug->DEBUG2(), "in backend " . $self . " file " . $params{dbfile});
- $main::lxdebug->message(LXDebug->DEBUG2(), "file id=" . $params{dbfile}->id . " path=" . $params{file_path});
my $dbfile = $params{dbfile};
die 'no file contents' unless $params{file_path} || $params{file_contents};
$dbfile->backend_data(0) unless $dbfile->backend_data;
$dbfile->save->load;
my $tofile = $self->_filesystem_path($dbfile);
- $main::lxdebug->message(LXDebug->DEBUG2(), "topath=" . $tofile . " from=" . $params{file_path});
if ($params{file_path} && -f $params{file_path}) {
File::Copy::copy($params{file_path}, $tofile);
}
sub get_mtime {
my ($self, %params) = @_;
die "no dbfile" unless $params{dbfile};
- $main::lxdebug->message(LXDebug->DEBUG2(), "version=" .$params{version});
- die "unknown version" if $params{version} &&
+ die "unknown version" if $params{version} &&
($params{version} < 0 || $params{version} > $params{dbfile}->backend_data) ;
my $path = $self->_filesystem_path($params{dbfile},$params{version});
- die "no file found in backend" if !-f $path;
+ die "no file found in backend get_mtime" if !-f $path;
my @st = stat($path);
my $dt = DateTime->from_epoch(epoch => $st[9])->clone();
- $main::lxdebug->message(LXDebug->DEBUG2(), "dt=" .$dt);
return $dt;
}
my ($self, %params) = @_;
die "no dbfile" unless $params{dbfile};
my $path = $self->_filesystem_path($params{dbfile},$params{version});
- die "no file" if !-f $path;
+ die "no file in backend get_filepath" if !-f $path;
return $path;
}
}
sub enabled {
- return 0 unless $::instance_conf->get_doc_files || $::instance_conf->get_doc_files_rootpath;
- $main::lxdebug->message(LXDebug->DEBUG2(), "root path=" . $::instance_conf->get_doc_files_rootpath . " isdir=" .( -d $::instance_conf->get_doc_files_rootpath?"YES":"NO"));
- return 0 unless -d $::instance_conf->get_doc_files_rootpath;
+ return 0 unless $::instance_conf->get_doc_files;
+ return 0 unless $::lx_office_conf{paths}->{document_path};
+ return 0 unless -d $::lx_office_conf{paths}->{document_path};
return 1;
}
sub _filesystem_path {
my ($self, $dbfile, $version) = @_;
- die "No files backend enabled" unless $::instance_conf->get_doc_files || $::instance_conf->get_doc_files_rootpath;
+ die "No files backend enabled" unless $::instance_conf->get_doc_files || $::lx_office_conf{paths}->{document_path};
# use filesystem with depth 3
$version = $dbfile->backend_data if !$version || $version < 1 || $version > $dbfile->backend_data;
my $iddir = sprintf("%04d", $dbfile->id % 1000);
- my $path = File::Spec->catdir($::instance_conf->get_doc_files_rootpath, $iddir, $dbfile->id);
- $main::lxdebug->message(LXDebug->DEBUG2(), "file path=" .$path." id=" .$dbfile->id." version=".$version." basename=".$dbfile->id . '_' . $version);
+ my $path = File::Spec->catdir($::lx_office_conf{paths}->{document_path}, $::auth->client->{id}, $iddir, $dbfile->id);
if (!-d $path) {
File::Path::make_path($path, { chmod => 0770 });
}
Martin Helmling E<lt>martin.helmling@opendynamic.deE<gt>
=cut
-
-