Вход Регистрация
Файл: includes/swfupload/swfupload.queue.js
Строк: 134
<?php
/*
    Queue Plug-in
    
    Features:
        *Adds a cancelQueue() method for cancelling the entire queue.
        *All queued files are uploaded when startUpload() is called.
        *If false is returned from uploadComplete then the queue upload is stopped.
         If false is not returned (strict comparison) then the queue upload is continued.
        *Adds a QueueComplete event that is fired when all the queued files have finished uploading.
         Set the event handler with the queue_complete_handler setting.
        
    */

var SWFUpload;
if (
typeof(SWFUpload) === "function") {
    
SWFUpload.queue = {};
    
    
SWFUpload.prototype.initSettings = (function (oldInitSettings) {
        return function () {
            if (
typeof(oldInitSettings) === "function") {
                
oldInitSettings.call(this);
            }
            
            
this.queueSettings = {};
            
            
this.queueSettings.queue_cancelled_flag false;
            
this.queueSettings.queue_upload_count 0;
            
            
this.queueSettings.user_upload_complete_handler this.settings.upload_complete_handler;
            
this.queueSettings.user_upload_start_handler this.settings.upload_start_handler;
            
this.settings.upload_complete_handler SWFUpload.queue.uploadCompleteHandler;
            
this.settings.upload_start_handler SWFUpload.queue.uploadStartHandler;
            
            
this.settings.queue_complete_handler this.settings.queue_complete_handler || null;
        };
    })(
SWFUpload.prototype.initSettings);

    
SWFUpload.prototype.startUpload = function (fileID) {
        
this.queueSettings.queue_cancelled_flag false;
        
this.callFlash("StartUpload", [fileID]);
    };

    
SWFUpload.prototype.cancelQueue = function () {
        
this.queueSettings.queue_cancelled_flag true;
        
this.stopUpload();
        
        var 
stats this.getStats();
        while (
stats.files_queued 0) {
            
this.cancelUpload();
            
stats this.getStats();
        }
    };
    
    
SWFUpload.queue.uploadStartHandler = function (file) {
        var 
returnValue;
        if (
typeof(this.queueSettings.user_upload_start_handler) === "function") {
            
returnValue this.queueSettings.user_upload_start_handler.call(thisfile);
        }
        
        
// To prevent upload a real "FALSE" value must be returned, otherwise default to a real "TRUE" value.
        
returnValue = (returnValue === false) ? false true;
        
        
this.queueSettings.queue_cancelled_flag = !returnValue;

        return 
returnValue;
    };
    
    
SWFUpload.queue.uploadCompleteHandler = function (file) {
        var 
user_upload_complete_handler this.queueSettings.user_upload_complete_handler;
        var 
continueUpload;
        
        if (
file.filestatus === SWFUpload.FILE_STATUS.COMPLETE) {
            
this.queueSettings.queue_upload_count++;
        }

        if (
typeof(user_upload_complete_handler) === "function") {
            
continueUpload = (user_upload_complete_handler.call(thisfile) === false) ? false true;
        } else if (
file.filestatus === SWFUpload.FILE_STATUS.QUEUED) {
            
// If the file was stopped and re-queued don't restart the upload
            
continueUpload false;
        } else {
            
continueUpload true;
        }
        
        if (
continueUpload) {
            var 
stats this.getStats();
            if (
stats.files_queued && this.queueSettings.queue_cancelled_flag === false) {
                
this.startUpload();
            } else if (
this.queueSettings.queue_cancelled_flag === false) {
                
this.queueEvent("queue_complete_handler", [this.queueSettings.queue_upload_count]);
                
this.queueSettings.queue_upload_count 0;
            } else {
                
this.queueSettings.queue_cancelled_flag false;
                
this.queueSettings.queue_upload_count 0;
            }
        }
    };
}
?>
Онлайн: 2
Реклама