X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=C4%2FUploadedFile.pm;h=e8c90809a8635d521254353ad5c7caa36e9f2b64;hb=fe37dd81678a7b140ca1daa7388047a45df061b0;hp=0050e0943271c2ae269fb359b28c1b08cef81350;hpb=c938846b3af23113de8f06a193aef578b741f465;p=koha_gimpoz diff --git a/C4/UploadedFile.pm b/C4/UploadedFile.pm index 0050e09432..e8c90809a8 100644 --- a/C4/UploadedFile.pm +++ b/C4/UploadedFile.pm @@ -14,19 +14,22 @@ package C4::UploadedFile; # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along with -# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. use strict; +#use warnings; FIXME - Bug 2505 use C4::Context; use C4::Auth qw/get_session/; use IO::File; use vars qw($VERSION); -# set the version for version checking -$VERSION = 3.00; +BEGIN { + # set the version for version checking + $VERSION = 3.00; +} =head1 NAME @@ -35,26 +38,23 @@ for later processing. =head1 SYNOPSIS -=over 4 - -# create and store data -my $uploaded_file = C4::UploadedFile->new($sessionID); -my $fileID = $uploaded_file->id(); -$uploaded_file->name('c:\temp\file.mrc'); -$uploaded_file->max_size(1024); -while ($have_more_data) { + # create and store data + my $uploaded_file = C4::UploadedFile->new($sessionID); + my $fileID = $uploaded_file->id(); + $uploaded_file->name('c:\temp\file.mrc'); + $uploaded_file->max_size(1024); + while ($have_more_data) { $uploaded_file->stash($data, $bytes_read); -} -$uploaded_file->done(); + } + $uploaded_file->done(); -# check status of current file upload -my $progress = C4::UploadedFile->upload_progress($sessionID); + # check status of current file upload + my $progress = C4::UploadedFile->upload_progress($sessionID); -# get file handle for reading uploaded file -my $uploaded_file = C4::UploadedFile->fetch($fileID); -my $fh = $uploaded_file->fh(); + # get file handle for reading uploaded file + my $uploaded_file = C4::UploadedFile->fetch($fileID); + my $fh = $uploaded_file->fh(); -=back Stores files uploaded by the user from their web browser. The uploaded files are temporary and at present are not guaranteed @@ -73,11 +73,7 @@ TODO: implement secure persistant storage of uploaded files. =head2 new -=over 4 - -my $uploaded_file = C4::UploadedFile->new($sessionID); - -=back + my $uploaded_file = C4::UploadedFile->new($sessionID); Creates a new object to represent the uploaded file. Requires the current session ID. @@ -135,11 +131,7 @@ sub _serialize { =head2 id -=over 4 - -my $fileID = $uploaded_file->id(); - -=back + my $fileID = $uploaded_file->id(); =cut @@ -150,12 +142,8 @@ sub id { =head2 name -=over 4 - -my $name = $uploaded_file->name(); -$uploaded_file->name($name); - -=back + my $name = $uploaded_file->name(); + $uploaded_file->name($name); Accessor method for the name by which the file is to be known. @@ -171,14 +159,28 @@ sub name { } } -=head2 max_size +=head2 filename -=over 4 + my $filename = $uploaded_file->filename(); -my $max_size = $uploaded_file->max_size(); -$uploaded_file->max_size($max_size); +Accessor method for the name by which the file is to be known. -=back +=cut + +sub filename { + my $self = shift; + if (@_) { + $self->{'tmp_file_name'} = shift; + $self->_serialize(); + } else { + return $self->{'tmp_file_name'}; + } +} + +=head2 max_size + + my $max_size = $uploaded_file->max_size(); + $uploaded_file->max_size($max_size); Accessor method for the maximum size of the uploaded file. @@ -191,11 +193,7 @@ sub max_size { =head2 stash -=over 4 - -$uploaded_file->stash($dataref, $bytes_read); - -=back + $uploaded_file->stash($dataref, $bytes_read); Write C<$dataref> to the temporary file. C<$bytes_read> represents the number of bytes (out of C<$max_size>) transmitted so far. @@ -219,11 +217,7 @@ sub stash { =head2 done -=over 4 - -$uploaded_file->done(); - -=back + $uploaded_file->done(); Indicates that all of the bytes have been uploaded. @@ -238,11 +232,7 @@ sub done { =head2 upload_progress -=over 4 - -my $upload_progress = C4::UploadFile->upload_progress($sessionID); - -=back + my $upload_progress = C4::UploadFile->upload_progress($sessionID); Returns (as an integer from 0 to 100) the percentage progress of the current file upload. @@ -273,11 +263,7 @@ sub upload_progress { =head2 fetch -=over 4 - - my $uploaded_file = C4::UploadedFile->fetch($sessionID, $fileID); - -=back + my $uploaded_file = C4::UploadedFile->fetch($sessionID, $fileID); Retrieves an uploaded file object from the current session. @@ -300,11 +286,7 @@ sub fetch { =head2 fh -=over - -my $fh = $uploaded_file->fh(); - -=back + my $fh = $uploaded_file->fh(); Returns an IO::File handle to read the uploaded file. @@ -315,9 +297,12 @@ sub fh { return $self->{'fh'}; } +1; +__END__ + =head1 AUTHOR -Koha Development Team +Koha Development Team Galen Charlton