Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (function($){if(!$)return;$.n0upload=function(button,options){if(button.size()!=1)return false;return new n0upload(button,options)};$.fn.n0upload=function(options){new n0upload(this,options);return this};var get_uid=function(){var uid=0;return function(){return uid++}}();var n0upload=function(button,options){this.button=button;this.settings={action:"upload.php",name:"userfile",data:{},dropbox:null,multiple:false,disable:false,onBegin:function(){},onProgress:function(loaded,total){},onComplete:function(){},
- onSuccess:function(){response},onError:function(response){},onDragOver:function(){},onDragLeave:function(){}};$.extend(this.settings,options);this._init()};n0upload.prototype={_iniDrop:function(){if(this.settings.dropbox)if(this.settings.dropbox.length>0)this.settings.dropbox.bind("dragenter dragover",{obj:this},function(e){var dt=e.originalEvent.dataTransfer;if(!dt)return;if(dt.types.contains&&!dt.types.contains("Files"))return;if(dt.types.indexOf&&dt.types.indexOf("Files")==-1)return;var settings=
- e.data.obj.settings;window.clearTimeout(settings.processTimer);if(!e.data.obj.disable&&!e.data.obj.settings.disable)settings.onDragOver.call(settings);return!1}).bind("dragleave",{obj:this},function(e){var settings=e.data.obj.settings;if(!e.data.obj.disable&&!e.data.obj.settings.disable)settings.processTimer=window.setTimeout(function(){settings.onDragLeave.call(settings)},50);return!1}).bind("drop",{obj:this},function(e){if(!e.data.obj.disable&&!e.data.obj.settings.disable)if(e.originalEvent.dataTransfer.files.length){e.data.obj.settings.onDragLeave.call(e.data.obj.settings);
- e.preventDefault();e.stopPropagation();e.data.obj._uploadFilesNew(e.originalEvent.dataTransfer.files)}});return true},_init:function(){this.disable=false;this.settings.name=this.settings.name.replace("[]","");if(this.settings.multiple)this.settings.name+="[]";this.typeUpload=window.FormData===undefined?1:2;this._reset();this._create_wrapper();this._create_input();if(jQuery.browser.msie)this.make_parent_opaque();if(this.typeUpload==1)this._create_iframe();if(this.typeUpload==2)this._iniDrop()},_uploadFilesNew:function(files){if(this.disable)return!1;
- this.disable=true;$.get(this.settings.action,{"isnull":"1"});this.settings.onBegin.call(this.settings);this.settings.onProgress.call(this.settings,0,100);var http=new XMLHttpRequest;http.n0upload=this;if(http.upload&&http.upload.addEventListener){http.upload.addEventListener("progress",function(e){if(e.lengthComputable)http.n0upload.settings.onProgress.call(http.n0upload.settings,Math.round(e.loaded*100/e.total),100)},false);http.upload.addEventListener("load",function(e){http.n0upload.settings.onProgress.call(http.n0upload.settings,
- 100,100)})}http.onreadystatechange=function(){if(this.readyState==4){if(this.status==200)this.n0upload.settings.onSuccess.call(this.n0upload.settings,this.response);else this.n0upload.settings.onError.call(this.n0upload.settings,this.response);this.n0upload.settings.onComplete.call(this.n0upload.settings);this.n0upload.disable=false}};var form=new FormData;form.append("path","/");if(!this.settings.multiple)form.append(this.settings.name,files[0]);else for(var i=0;i<files.length;i++)form.append(this.settings.name,
- files[i]);for(i in this.settings.data)form.append(i,this.settings.data[i]);http.open("POST",this.settings.action,true);http.send(form)},file_from_path:function(file){var i=file.lastIndexOf("\\");if(i!==-1)return file.slice(i+1);return file},get_ext:function(file){var i=file.lastIndexOf(".");if(i!==-1)return file.slice(i+1);return""},_reset:function(){this.wrapper=null;this.form=null;this.input=null;this.iframe=null;this.disabled=false;this.submitting=false},_create_wrapper:function(a){this.wrapper=
- $('<div class="input"></div>').html("<span>"+(a||this.button.html())+"</span>");this.button.html(this.wrapper)},_create_input:function(){var self=this;this.input=$('<input type="file" '+(this.settings.multiple?"multiple ":"")+"/>").attr("name",this.settings.name).change(function(){if($(this).val()=="")return;self.submitting=true;self.submit();self.submitting=false}).appendTo(this.wrapper);if(this.disabled)this.input.attr("disabled",true)},_create_iframe:function(){var name="iframe_au"+get_uid();this.iframe=
- $('<iframe name="'+name+'"></iframe>').css("display","none").appendTo("body")},_create_form:function(){this.form=$('<form method="post" enctype="multipart/form-data"></form>').appendTo("body").attr({"action":this.settings.action,"target":this.iframe.attr("name")});for(var i in this.settings.data)$('<input type="hidden" />').appendTo(this.form).attr({"name":i,"value":this.settings.data[i]})},submit:function(){if(this.disable);else if(this.typeUpload==2)this._uploadFilesNew(this.input[0].files);else if(this.typeUpload==
- 1){this.disable=true;if(!this.iframe)this._create_iframe();var self=this,settings=this.settings;var file=this.file_from_path(this.input.val());this.settings.onBegin.call(settings);this._create_form();this.input.appendTo(this.form);this.form.submit();this.input.remove();this.input=null;this.form.remove();this.form=null;this.submitting=false;this._create_input();var iframe=this.iframe;iframe.load(function(){try{var response=iframe.contents().find("body").html()}catch(s){var response="Brouser Error"}settings.onSuccess.call(settings,
- response);settings.onComplete.call(settings);self.disable=false;setTimeout(function(){iframe.remove()},1)})}},make_parent_opaque:function(){this.button.add(this.button.parents()).each(function(){var color=$(this).css("backgroundColor"),image=$(this).css("backgroundImage");if(color!="transparent"||image!="none"){$(this).css("opacity",1);return false}})}}})(jQuery);
- (function($){$(document).ready(function(){var n0uploadEvents={onBegin:function(){this.dropbox.css("height",this.dropbox.height());this.dropbox.addClass("n0fileBusy");this.dropbox.find(".n0uploadList,.n0uploadAct,.n0uploadEdit").hide();this.dropbox.find(".n0uploadProgress").show()},onProgress:function(loaded,total){this.dropbox.find(".n0uploadProgress .bar").css("width",loaded+"%").html(loaded+"/"+total)},onComplete:function(){this.dropbox.css("height","auto");this.dropbox.removeClass("n0fileBusy");
- this.dropbox.find(".n0uploadList,.n0uploadEdit").show();if(!this.disable)this.dropbox.find(".n0uploadAct").show();else this.dropbox.find(".n0uploadAct").hide();this.dropbox.find(".n0uploadProgress").hide()},onSuccess:function(a){try{var b=$.parseJSON(a)}catch(s){b=false}if($.isPlainObject(b)){this.dropbox.find(".n0uploadList").append(b.content);var field=this.dropbox.parent().find("input.n0field"),field_value=field.val();if(field_value!="")field_value+=b.filed_delimiter;field.val(field_value+b.field_value);
- this.disable=b.allowed_upload!=1}else this.dropbox.find(".n0uploadList").append(a);this.dropbox.find(".n0uploadList span.error:not([id])").each(function(){this.id="n0err"+new Date/1+Math.round(Math.random()*1E3);setTimeout("$('#"+this.id+"').fadeOut('slow',function(){$(this).remove()})",5E3)})},onSuccessDel:function(a,c){try{var b=$.parseJSON(a)}catch(s){b=false}if($.isPlainObject(b)){var field=this.dropbox.parent().find("input.n0field"),field_value=field.val();field_value=field_value.replace(b.field_value,
- "");if(b.filed_delimiter!=""){var k=field_value.split(b.filed_delimiter),l=[];for(var i in k)if(k[i]!="")l.push(k[i]);field_value=l.join(b.filed_delimiter)}field.val(field_value);this.disable=b.allowed_upload!="1";c.empty().remove()}else this.dropbox.find(".n0uploadList").append(a);this.dropbox.find(".n0uploadList span.error:not([id])").each(function(){this.id="n0err"+new Date/1+Math.round(Math.random()*1E3);setTimeout("$('#"+this.id+"').fadeOut('slow',function(){$(this).remove()})",5E3)})},onError:function(a){DLEalert("Error: "+
- a)},onDragLeave:function(){this.dropbox.css("height","auto");this.dropbox.removeClass("n0fileBusy");this.dropbox.find(".n0uploadList,.n0uploadAct,.n0uploadEdit").show()},onDragOver:function(){this.dropbox.css("height",this.dropbox.height());this.dropbox.addClass("n0fileBusy");this.dropbox.find(".n0uploadList,.n0uploadAct,.n0uploadEdit").hide()}};$(".n0upload").each(function(){var field=$(this).attr("data-field"),isMultiple=$(this).attr("data-multiple")==1,isUrl=$(this).attr("data-url")==1,isDisable=
- $(this).find(".n0uploadAct:visible").length<1;$(this).find(".n0uploadFile").n0upload($.extend(n0uploadEvents,{action:dle_xfupload_root,multiple:isMultiple,data:{type:1,x:1,field:field,newsid:dle_xfupload_newsid,author:dle_xfupload_author},dropbox:$(this).find(".n0fileContent"),disable:isDisable}));$(this).find(".n0uploadUrl").click(function(){n0uploadEvents.dropbox=$(this).parents(".n0fileContent");DLEprompt("\u0412\u0432\u0435\u0434\u0438\u0442\u0435 URL","",dle_prompt,function(r){n0uploadEvents.onBegin();
- var http=$.post(dle_xfupload_root,{type:1,x:2,field:field,newsid:dle_xfupload_newsid,author:dle_xfupload_author,value:r},function(a){n0uploadEvents.onSuccess(a);n0uploadEvents.onComplete()})})})});$(".n0upload .n0uploadList").on("click", "span.close",function(){self=$(this).parents(".n0upload");var field=self.attr("data-field"),isMultiple=self.attr("data-multiple")==1,isUrl=self.attr("data-url")==1,isDisable=self.find(".n0uploadAct:visible").length<1;var r=$(this).attr("data-hash"),selfDel=$(this).parent();
- n0uploadEvents.dropbox=$(this).parents(".n0fileContent");n0uploadEvents.onBegin();$.post(dle_xfupload_root,{type:1,x:3,field:field,newsid:dle_xfupload_newsid,author:dle_xfupload_author,value:r},function(a){n0uploadEvents.onSuccessDel(a,selfDel);n0uploadEvents.onComplete()});return false})})})(jQuery);
Advertisement
Add Comment
Please, Sign In to add comment