[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.145.9.174: ~ $
/*
 * jQuery shDropUpload v1.2
 * http://jquery.sunhater.com/shDropUpload
 * 2014-08-12
 *
 * Copyright (c) 2014 Pavel Tzonkov <sunhater@sunhater.com>
 * Dual licensed under the MIT and GPL licenses.
 */

(function($) {

  /** @param localOptions    Options about local files drag & drop
    * @param remoteOptions   Options about HTML objects drag & drop */

      $.fn.shDropUpload = function(localOptions, remoteOptions) {

        // Compatibility check
        if ((typeof XMLHttpRequest == "undefined") ||
            (typeof document.addEventListener == "undefined") ||
            (typeof File == "undefined") ||
            (typeof FileReader  == "undefined")
        )
            return;

        // Default options about local files drag & drop
        var lo = {

            // URL to upload handler script
            url: "",

            // File field name
            param: "upload",

            // Maximum filesize in bytes. If a dragged file is too big, the browser crashes
            maxFilesize: 10485760,

            // Called before all uploads. Useful for implementing some checks before uploads begins
            // If it returns false, the uploading will be canceled.
            precheck: function(evt) {
                console.log("shDropUpload: Upload process started");
                return true;
            },

            // Called when an upload begins
            begin: function(xhr, currentFile, filesCount) {
                console.log("shDropUpload:     Uploading file " + currentFile + " of " + filesCount + " (" + xhr.file.name + ")");
            },

            // Called after successful upload request
            success: function(xhr, currentFile, filesCount) {
                console.log("shDropUpload:     Upload success (" + xhr.file.name + ")");
            },

            // Called when an upload request fails
            error: function(xhr, currentFile, filesCount) {
                console.log("shDropUpload:     Upload request failed (" + xhr.file.name + ")");
            },

            // Called when an upload request is aborted
            abort: function(xhr, currentFile, filesCount) {
                console.log("shDropUpload:     Upload request aborted (" + xhr.file.name + ")");
            },

            // Called when a file exceeds the maxFilesize option
            filesizeCallback: function(xhr, currentFile, filesCount) {
                console.log("shDropUpload:     File is too big (" + xhr.file.name + ")");
            },

            // Called when all files are proceeded
            finish: function() {
                console.log("shDropUpload: Upload process finished");
            }
        },

        // Default options about HTML objects drag & drop
        ro = {

            // If a selection is dropped you could to fetch multiple URLs from selected HTML
            // You can define the selectors URLs will be fetched from. If you want only images
            // leave 'img[src]' only
            selectors: 'img[src]',
            //selectors: 'img[src], a[href], script[src], link[href]',

            // Check URLs for uniqueness
            unique: true,

            // Ajax options
            ajax: {
                url: "",
                type: "post",
                dataType: "json",
                data: {
                    url: "{url}",  // {url} marks the URL from dragged object
                    type: "{type}" // {type} marks the tag type ("a" or "img")
                },
                success: function(response) {
                    console.log("shDropUpload: URL has been passed to the server.");
                },
                error: function() {
                    console.log("shDropUpload: Request failed!");
                }
            }
        },

        utf8encode = function(string) {
            string = string.replace(/\r\n/g, "\n");
            var c, utftext = "";

            for (var n = 0; n < string.length; n++) {

                c = string.charCodeAt(n);

                if (c < 128) {
                    utftext += String.fromCharCode(c);
                } else if((c > 127) && (c < 2048)) {
                    utftext += String.fromCharCode((c >> 6) | 192);
                    utftext += String.fromCharCode((c & 63) | 128);
                } else {
                    utftext += String.fromCharCode((c >> 12) | 224);
                    utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                    utftext += String.fromCharCode((c & 63) | 128);
                }
            }

            return utftext;
        };

        $.extend(true, ro, remoteOptions);
        $.extend(true, lo, localOptions);

        if (!XMLHttpRequest.prototype.sendAsBinary) {
            XMLHttpRequest.prototype.sendAsBinary = function(datastr) {
                var ords = Array.prototype.map.call(datastr, function(x) {
                        return x.charCodeAt(0) & 0xff;
                    }),
                    ui8a = new Uint8Array(ords);
                this.send(ui8a);
            }
        }

        $(this).each(function() {
            var t = this,
                uploadQueue = [],
                uploadInProgress = false,
                filesCount = 0,
                boundary = "------multipartdropuploadboundary" + new Date().getTime(),
                currentFile,

            dragOver = function(e) {
                if (e.preventDefault) e.preventDefault();
                $(t).addClass('drag');
                return false;
            },

            dragEnter = function(e) {
                if (e.preventDefault) e.preventDefault();
                return false;
            },

            dragLeave = function(e) {
                if (e.preventDefault) e.preventDefault();
                $(t).removeClass('drag');
                return false;
            },

            drop = function(e) {
                if (e.preventDefault) e.preventDefault();
                if (e.stopPropagation) e.stopPropagation();
                $(t).removeClass('drag');

                try {
                    var el = e.dataTransfer.getData('text/html');
                } catch (e) {
                    var el = false;
                }

                // Remote drop
                if (el) {

                    if (!remoteOptions)
                        return false;

                    el = '<div>' + el.toString() + '</div>';
                    var urls = [], types = [];

                    var selectors = $.isArray(ro.selectors)
                        ? ro.selectors
                        : ro.selectors.split(/\s*,\s*/g);

                    $.each(selectors, function(i, selector) {
                        if (!/^[a-z0-9]+\[[a-z]+\]$/gi.test(selector))
                            return true;
                        var type = selector.split('[')[0],
                            attr = selector.split('[')[1].split(']')[0];
                        $(el).find(selector).each(function() {
                            var url = $(this).attr(attr);
                            if (ro.unique)
                                for (var i = 0; i < urls.length; i++)
                                    if ((urls[i] == url) && (types[i] == type))
                                        return true;
                            urls.push(url);
                            types.push(type);
                        });
                    });

                    if (!urls.length)
                        return false;

                    if (urls.length == 1) {
                        urls = urls[0];
                        types = types[0];
                    }

                    var opts = $.extend(true, {}, ro.ajax);
                    if (opts.data) {
                        $.each(opts.data, function(i, j) {
                            if (j == "{url}")
                                opts.data[i] = urls;
                            if (j == "{type}")
                                opts.data[i] = types;
                        });
                    }
                    $.ajax(opts);

                // Local drop
                } else {
                    if (!localOptions)
                        return false;

                    filesCount += e.dataTransfer.files.length;

                    if (!filesCount || !lo.precheck(e))
                        return false;

                    for (var i = 0; i < filesCount; i++) {
                        var file = e.dataTransfer.files[i];
                        uploadQueue.push(file);
                    }

                    uploadNext();
                }

                return false;
            },

            uploadNext = function() {
                if (uploadInProgress)
                    return false;

                if (uploadQueue && uploadQueue.length) {

                    var file = uploadQueue.shift(),
                        currentNum = filesCount - uploadQueue.length,
                        reader = new FileReader(),
                        ie = (typeof reader.readAsBinaryString == "undefined");

                    currentFile = reader.file = file;

                    reader.onerror = function(evt) {
                        evt.file = file;
                        lo.error(evt, currentNum, filesCount);
                        uploadNext();
                    };

                    reader.onload = function(evt) {
                        uploadInProgress = true;

                        var xhr = new XMLHttpRequest(),
                            postbody = '--' + boundary + '\r\nContent-Disposition: form-data; name="' + lo.param + '"';

                        xhr.file = evt.target.file;

                        lo.begin(xhr, currentNum, filesCount);

                        if (lo.maxFilesize && (xhr.file.size > lo.maxFilesize)) {
                            uploadInProgress = false;
                            lo.filesizeCallback(xhr, currentNum, filesCount);
                            uploadNext();
                            return;
                        }

                        if (ie) {
                            var binary = "",
                                bytes = new Uint8Array(evt.target.result);

                            for (var i = 0; i < bytes.byteLength; i++)
                                binary += String.fromCharCode(bytes[i]);
                        }

                        if (xhr.file.name)
                            postbody += '; filename="' + utf8encode(xhr.file.name) + '"';
                        postbody += '\r\n';
                        if (xhr.file.size)
                            postbody += "Content-Length: " + xhr.file.size + "\r\n";
                        postbody += "Content-Type: " + xhr.file.type + "\r\n\r\n" + (ie ? binary : evt.target.result) + "\r\n--" + boundary + "--\r\n";

                        xhr.open('post', lo.url, true);
                        xhr.setRequestHeader('Content-Type', "multipart/form-data; boundary=" + boundary);

                        xhr.onload = function() {
                            uploadInProgress = false;
                            lo.success(xhr, currentNum, filesCount);
                            uploadNext();
                        };

                        xhr.onerror = function() {
                            uploadInProgress = false;
                            lo.error(xhr, currentNum, filesCount);
                            uploadNext();
                        };

                        xhr.onabort = function() {
                            uploadInProgress = false;
                            lo.abort(xhr, currentNum, filesCount);
                            uploadNext();
                        };

                        xhr.sendAsBinary(postbody);
                    };

                    if (ie)
                        reader.readAsArrayBuffer(file);
                    else
                        reader.readAsBinaryString(file);

                } else {
                    filesCount = 0;
                    var loop = setInterval(function() {
                        if (uploadInProgress) return;
                        boundary = "------multipartdropuploadboundary" + new Date().getTime();
                        uploadQueue = [];
                        clearInterval(loop);
                        lo.finish();
                    }, 333);
                }
            };

            if (!$(t).data('shdu'))
                $(t).data('shdu', {
                    dragover: dragOver,
                    dragenter: dragEnter,
                    dragLeave: dragLeave,
                    drop: drop
                });

            var bind = function(event, callback) {
                t.removeEventListener(event, $(t).data('shdu')[event], false);
                var data = $(t).data('shdu'),
                    newData = {};
                newData[event] = callback;
                $.extend(data, newData);
                $(t).data('shdu', data);
                t.addEventListener(event, callback, false);
            };

            bind('dragover', dragOver);
            bind('dragenter', dragEnter);
            bind('dragleave', dragLeave);
            bind('drop', drop);
        });
    }

})(jQuery);

Filemanager

Name Type Size Permission Actions
000._jquery.js File 94.12 KB 0644
002._jqueryui.js File 223.18 KB 0644
006.jquery.transForm.js File 36.02 KB 0644
006.jquery.uniform.js File 35.26 KB 0644
010.jquery.fixes.js File 1.09 KB 0644
020.jquery.rightClick.js File 844 B 0644
021.jquery.taphold.js File 4.55 KB 0644
022.jquery.shDropUpload.js File 13.03 KB 0644
029.jquery.agent.js File 2.96 KB 0644
030.jquery.helper.js File 9.55 KB 0644
031.jquery.md5.js File 9.27 KB 0644
040.object.js File 569 B 0644
041.dialogs.js File 5.89 KB 0644
050.init.js File 8.69 KB 0644
060.toolbar.js File 10.46 KB 0644
070.settings.js File 3.02 KB 0644
080.files.js File 8.06 KB 0644
090.folders.js File 7.2 KB 0644
091.menus.js File 20.64 KB 0644
091.viewImage.js File 7.39 KB 0644
100.clipboard.js File 6.2 KB 0644
110.dropUpload.js File 5.51 KB 0644
120.misc.js File 3.7 KB 0644
index.php File 549 B 0644