Solstice::Controller::Remote::UploadMeter - Fetch progress data about a given file upload


Solstice documentation Contained in the Solstice distribution.

Index


Code Index:

NAME

Top

Solstice::Controller::Remote::UploadMeter - Fetch progress data about a given file upload

SYNOPSIS

Top

  # See L<Solstice::Controller::Remote> for usage.

DESCRIPTION

Top

COPYRIGHT

Top


Solstice documentation Contained in the Solstice distribution.
package Solstice::Controller::Remote::UploadMeter;

# $Id: $

use strict;
use warnings;
use 5.006_000;

use base qw(Solstice::Controller::Remote);

use Solstice::CGI;
use Solstice::Model::FileUploadMeter;

sub runRemote {
    my $self = shift;

    my $all_data = $self->getModel();

    $self->addAction("Solstice.FileUpload._update_running = false;");

    for my $data (values %$all_data){
        my $key      = $data->{'upload_key'};
        my $frame    = $data->{'frame'};    # Upload instance
        my $position = $data->{'position'}; # upload position id within the instance
        my $total_size   = 0;
        my $current_size = 0;

        my $upload_meter = Solstice::Model::FileUploadMeter->new($key);

        if (defined $upload_meter) {
            $total_size   = $upload_meter->getFileSize() || 0;
            $current_size = $upload_meter->getUploadSize() || 0;
        }

        $self->addAction("Solstice.FileUpload.updateMeter('$total_size', '$current_size', '$key', '$frame', '$position');");
    }
}


1;

__END__