init III
This commit is contained in:
193
Perl OTRS/Kernel/System/Web/UploadCache.pm
Normal file
193
Perl OTRS/Kernel/System/Web/UploadCache.pm
Normal file
@@ -0,0 +1,193 @@
|
||||
# --
|
||||
# Copyright (C) 2001-2019 OTRS AG, https://otrs.com/
|
||||
# --
|
||||
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
|
||||
# the enclosed file COPYING for license information (GPL). If you
|
||||
# did not receive this file, see https://www.gnu.org/licenses/gpl-3.0.txt.
|
||||
# --
|
||||
|
||||
package Kernel::System::Web::UploadCache;
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
our @ObjectDependencies = (
|
||||
'Kernel::Config',
|
||||
);
|
||||
|
||||
=head1 NAME
|
||||
|
||||
Kernel::System::Web::UploadCache - an upload file system cache
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
All upload cache functions.
|
||||
|
||||
=head1 PUBLIC INTERFACE
|
||||
|
||||
=head2 new()
|
||||
|
||||
Don't use the constructor directly, use the ObjectManager instead:
|
||||
|
||||
my $WebUploadCacheObject = $Kernel::OM->Get('Kernel::System::Web::UploadCache');
|
||||
|
||||
=cut
|
||||
|
||||
sub new {
|
||||
my ( $Type, %Param ) = @_;
|
||||
|
||||
# allocate new hash for object
|
||||
my $Self = {};
|
||||
bless( $Self, $Type );
|
||||
|
||||
my $GenericModule = $Kernel::OM->Get('Kernel::Config')->Get('WebUploadCacheModule')
|
||||
|| 'Kernel::System::Web::UploadCache::DB';
|
||||
|
||||
# load generator auth module
|
||||
$Self->{Backend} = $Kernel::OM->Get($GenericModule);
|
||||
|
||||
return $Self if $Self->{Backend};
|
||||
return;
|
||||
}
|
||||
|
||||
=head2 FormIDCreate()
|
||||
|
||||
create a new Form ID
|
||||
|
||||
my $FormID = $UploadCacheObject->FormIDCreate();
|
||||
|
||||
=cut
|
||||
|
||||
sub FormIDCreate {
|
||||
my ( $Self, %Param ) = @_;
|
||||
|
||||
return $Self->{Backend}->FormIDCreate(%Param);
|
||||
}
|
||||
|
||||
=head2 FormIDRemove()
|
||||
|
||||
remove all data for a provided Form ID
|
||||
|
||||
$UploadCacheObject->FormIDRemove( FormID => 123456 );
|
||||
|
||||
=cut
|
||||
|
||||
sub FormIDRemove {
|
||||
my ( $Self, %Param ) = @_;
|
||||
|
||||
return $Self->{Backend}->FormIDRemove(%Param);
|
||||
}
|
||||
|
||||
=head2 FormIDAddFile()
|
||||
|
||||
add a file to a Form ID
|
||||
|
||||
$UploadCacheObject->FormIDAddFile(
|
||||
FormID => 12345,
|
||||
Filename => 'somefile.html',
|
||||
Content => $FileInString,
|
||||
ContentType => 'text/html',
|
||||
Disposition => 'inline', # optional
|
||||
);
|
||||
|
||||
ContentID is optional (automatically generated if not given on disposition = inline)
|
||||
|
||||
$UploadCacheObject->FormIDAddFile(
|
||||
FormID => 12345,
|
||||
Filename => 'somefile.html',
|
||||
Content => $FileInString,
|
||||
ContentID => 'some_id@example.com',
|
||||
ContentType => 'text/html',
|
||||
Disposition => 'inline', # optional
|
||||
);
|
||||
|
||||
=cut
|
||||
|
||||
sub FormIDAddFile {
|
||||
my ( $Self, %Param ) = @_;
|
||||
|
||||
return $Self->{Backend}->FormIDAddFile(%Param);
|
||||
}
|
||||
|
||||
=head2 FormIDRemoveFile()
|
||||
|
||||
removes a file from a form id
|
||||
|
||||
$UploadCacheObject->FormIDRemoveFile(
|
||||
FormID => 12345,
|
||||
FileID => 1,
|
||||
);
|
||||
|
||||
=cut
|
||||
|
||||
sub FormIDRemoveFile {
|
||||
my ( $Self, %Param ) = @_;
|
||||
|
||||
return $Self->{Backend}->FormIDRemoveFile(%Param);
|
||||
}
|
||||
|
||||
=head2 FormIDGetAllFilesData()
|
||||
|
||||
returns an array with a hash ref of all files for a Form ID
|
||||
|
||||
my @Data = $UploadCacheObject->FormIDGetAllFilesData(
|
||||
FormID => 12345,
|
||||
);
|
||||
|
||||
Return data of on hash is Content, ContentType, ContentID, Filename, Filesize, FileID;
|
||||
|
||||
=cut
|
||||
|
||||
sub FormIDGetAllFilesData {
|
||||
my ( $Self, %Param ) = @_;
|
||||
|
||||
return @{ $Self->{Backend}->FormIDGetAllFilesData(%Param) };
|
||||
}
|
||||
|
||||
=head2 FormIDGetAllFilesMeta()
|
||||
|
||||
returns an array with a hash ref of all files for a Form ID
|
||||
|
||||
Note: returns no content, only meta data.
|
||||
|
||||
my @Data = $UploadCacheObject->FormIDGetAllFilesMeta(
|
||||
FormID => 12345,
|
||||
);
|
||||
|
||||
Return data of hash is ContentType, ContentID, Filename, Filesize, FileID;
|
||||
|
||||
=cut
|
||||
|
||||
sub FormIDGetAllFilesMeta {
|
||||
my ( $Self, %Param ) = @_;
|
||||
|
||||
return @{ $Self->{Backend}->FormIDGetAllFilesMeta(%Param) };
|
||||
}
|
||||
|
||||
=head2 FormIDCleanUp()
|
||||
|
||||
Removed no longer needed temporary files.
|
||||
|
||||
Each file older than 1 day will be removed.
|
||||
|
||||
$UploadCacheObject->FormIDCleanUp();
|
||||
|
||||
=cut
|
||||
|
||||
sub FormIDCleanUp {
|
||||
my ( $Self, %Param ) = @_;
|
||||
|
||||
return $Self->{Backend}->FormIDCleanUp(%Param);
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
=head1 TERMS AND CONDITIONS
|
||||
|
||||
This software is part of the OTRS project (L<https://otrs.org/>).
|
||||
|
||||
This software comes with ABSOLUTELY NO WARRANTY. For details, see
|
||||
the enclosed file COPYING for license information (GPL). If you
|
||||
did not receive this file, see L<https://www.gnu.org/licenses/gpl-3.0.txt>.
|
||||
|
||||
=cut
|
||||
Reference in New Issue
Block a user