Viewing File: /usr/local/cpanel/base/frontend/jupiter/js/filemanager_upload.min.js

window.uploadService=function(e,t,o,r,a,i){"use strict";var n,s=2e3,l=document.getElementById("file_upload_remain"),u=e.startUploadFree,d=e.maxUploadBytes,p=e.userHasQuota,c=window.opener,m=window,f=function(){m.close()};function h(){document.getElementById("uploader_file_input").value=""}function g(e,t){l.textContent=t,u=parseInt(e,10)}function v(){this.file_upload_count=0,this.queue=[]}function y(e){var t;e&&void 0!==e.id&&(t=e.id),this.id=void 0===t?0:t,this.dir="",this.form="",this.fileName="",this.progress_template="upload_progress_template",this.form_template="dnd_uploaderhtml_template",this.request="",this.fileSize=0,this.success=!1,this.reason="",this.in_progress=!1,this.completed=!1}function _(e){var t,o;e&&(void 0!==e.id&&(t=e.id),void 0!==e.uploadkey&&(o=e.uploadkey),void 0!==e.dir&&e.dir),this.id=void 0===t?0:t,this.uploadkey=void 0===o?"":o;var r=9999999*Math.random(),a=Math.floor(r);this.uploadkey+=a,this.form="",this.fileName="",this.progress_template="upload_progress_template",this.form_template="uploaderhtml_template",this.dir="",this.fileSize=0,this.success=!1,this.reason="",this.checkProgressCount=0,this.in_progress=!1,this.completed=!1}function w(e){return e.stopPropagation(),e.preventDefault(),e.dataTransfer.dropEffect="copy",!1}function E(){return!!window.ProgressEvent&&!!window.FormData}function k(){return!!(window.File&&window.FileList&&window.FileReader)}function x(t){var r,a,i=document.getElementById("uploaders");if(r=n.incrementCount(),E()&&k()){var s;s=void 0!==t.files?t.files[0]:t;var l=[d];p&&l.push(u);var c=Math.min.apply(null,l);if(s.size>c){var m=[o.maketext("“[_1]” requires [format_bytes,_2] of disk space, but you can only upload up to [format_bytes,_3].",s.name,s.size,c)];c===d?m.push(o.maketext("Because of this limitation, you cannot upload this file.")):(m.push(o.maketext("Because of this limitation, you cannot currently upload this file.")),m.push(o.maketext("Delete some files, or contact your hosting provider to request an increase to your account’s quota."))),alert(m.join(" "))}else(a=new y({id:r})).addForm(i,e.dir,s)}else(a=new _({id:r,uploadkey:e.uploadkey})).addForm(i,e.dir,t);a&&(n.addToQueue(a),n.processQueue(),h())}function T(t){if(t.stopPropagation(),t.preventDefault(),E()&&k()){var o=t.dataTransfer.files;o&&o.length>0&&(o.length>1?function(t){for(var o,r=document.getElementById("uploaders"),a=0,i=t.length;a<i;a++)(o=new y({id:n.incrementCount()})).addForm(r,e.dir,t[a]),n.addToQueue(o);n.processQueue(),h()}(o):x(o[0]))}}return v.prototype.addToQueue=function(e){this.queue.push(e)},v.prototype.getCount=function(){return this.file_upload_count},v.prototype.incrementCount=function(){return this.file_upload_count++,this.file_upload_count},v.prototype.processQueue=function(){var e,t,o;if(this.cleanupQueue(),document.getElementById("overwrite_checkbox").checked)for(e=0,t=this.queue.length;e<t;e++)(o=this.queue[e]).in_progress||o.start({overwrite:!0});else{var r=[];for(e=0,t=this.queue.length;e<t;e++)(o=this.queue[e]).in_progress||r.push(o);r.length>0&&this.filesExist(r)}},v.prototype.cleanupQueue=function(){for(var e=[],t=0,o=this.queue.length;t<o;t++)this.queue[t].completed||e.push(this.queue[t]);this.queue=e},v.prototype.filesExist=function(e){var o=this,r=e[0].dir,a=CPANEL.security_token+"/execute/Fileman/list_files",i={};i.dir=r,i.limit_to_list=1,i.show_hidden=1;for(var n=0,s=e.length;n<s;n++)i["filepath-"+n]=e[n].fileName;t.ajax({type:"POST",url:a,data:i,dataType:"json"}).done((function(t){o.filesExistCallback(t,e)})).fail((function(e){e?alert("Error: "+e.status+" "+e.statusText+'. The system could not determine if the specified files already exist. Try again with "Overwrite existing files" turned on.'):alert('Error: The system could not determine if the specified files already exist. Try again with "Overwrite existing files" turned on.')}))},v.prototype.filesExistCallback=function(e,t){var a=this;if(e&&e.status)if(e.data){for(var i={},n={},s={},l=0,u=e.data.length;l<u;l++){s=e.data[l];for(var d=0,p=t.length;d<p;d++)if(t[d].fileName===s.file){n=t[d];break}Object.keys(n).length>0&&(s.exists?i[s.file]=n:n.start()),n={}}var c=Object.keys(i);if(c.length>0){for(var m=i[c[0]].dir,f="",h=0,g=c.length;h<g;h++){f+=i[c[h]].fileName.html_encode()+"<br>"}var v=r.lang.substitute(r.util.Dom.get("already_exists_template").text.trim(),{filelist_html:f,dir_html:m.html_encode()});a.prompt=new r.widget.SimpleDialog("sdlg1",{width:"450px",fixedcenter:!0,visible:!1,modal:!0,draggable:!1,close:!0,constraintoviewport:!0,effect:{effect:CPANEL.animate.ContainerEffect.FADE_MODAL,duration:.25},buttons:[{text:o.maketext("Yes"),handler:function(){!function(e,t){a.prompt.hide();for(var o=0,r=t.length;o<r;o++)e[t[o]].start({overwrite:!0});a.prompt.destroy(),a.prompt=null}(i,c)}.bind(a),isDefault:!0},{text:o.maketext("No"),handler:function(){!function(e,t){a.prompt.hide();for(var o=0,r=t.length;o<r;o++)for(var i=e[t[o]],n=0,s=a.queue.length;n<s;n++)if(i.fileName===a.queue[n].fileName){a.queue.splice(n,1),i.cleanup();break}a.prompt.destroy(),a.prompt=null}(i,c)}.bind(a)}]}),a.prompt.setHeader('<div class="lt"></div><span>'+o.maketext("Overwrite File?")+'</span><div class="rt"></div>'),a.prompt.cfg.queueProperty("text",v),a.prompt.render("promptContainer"),a.prompt.show()}}else alert('Error: The system could not determine if the specified files already exist. Try again with "Overwrite existing files" turned on.');else alert('Error: The system could not determine if the specified files already exist. Try again with "Overwrite existing files" turned on.')},y.prototype.addForm=function(e,t,o){var a=this;a.dir=t;var i=document.getElementById(a.form_template);if(!i)throw new Error("Template does not exist: "+a.form_template);var n=i.text.trim(),s=r.lang.substitute(n,{thisid_html:a.id});a.fileName=o.name;var l=document.createDocumentFragment(),u=document.createElement("div");u.id="uploader"+a.id,u.innerHTML=s,l.appendChild(u);var d=l.querySelector("#frm"+a.id),p=new FormData(d);p.append("file-0",o,o.name),a.form=d,a.formData=p,e.appendChild(l)},y.prototype.start=function(e){var t=this,a=!1;e&&void 0!==e.overwrite&&(a=e.overwrite),a||document.getElementById("overwrite_checkbox").checked?t.formData.append("overwrite","1"):t.formData.append("overwrite","0");var i=document.getElementById("uploaderprogress"+t.id),n=document.getElementById(t.progress_template);if(!n)throw new Error("Template does not exist: "+t.progress_template);var s=n.textContent.trim(),l=r.lang.substitute(s,{thisid_html:t.id,fileName:t.fileName.html_encode()});i.innerHTML=l;var u=document.getElementById("uploaderstats"+t.id),d=document.createElement("button");d.id="uploaderCancel"+t.id,d.className="cancel",d.innerHTML='<span class="fas fa-times"></span>',d.onclick=function(e){e.stopPropagation(),e.preventDefault(),t.cancel()},i.insertBefore(d,u),t.form.style.display="none",t.request=new XMLHttpRequest,t.request.onload=function(e){var r;try{r=JSON.parse(e.target.responseText)}catch(e){}var a=!1,i="An unknown error occurred",n=0;r?(r.errors?(a=!1,i=r.data.uploads&&r.data.uploads.length>0?r.data.uploads[0].reason:r.errors[r.errors.length-1]):r.data.uploads&&r.data.uploads.length>0&&(a=!0,i=r.data.uploads[0].reason,n=r.data.uploads[0].size),r.data.diskinfo&&g(r.data.diskinfo.file_upload_remain,r.data.diskinfo.file_upload_remain_humansize)):413===e.target.status?i=o.maketext("The file’s size exceeds your account’s remaining disk usage quota. Because of this, you cannot upload this file.")+" "+o.maketext("Delete some files, or contact your hosting provider to request an increase to your account’s quota."):e.target.status>399&&(i=o.maketext("The upload failed. The server indicated [asis,HTTP] error [numf,_1] ([_2]).",e.target.status,e.target.statusText)),t.success=a,t.reason=i,t.fileSize=n,t.complete()},t.request.onabort=function(e){t.success=!1,t.reason="Cancelled by user",t.complete()},t.request.onerror=function(e){t.success=!1,t.reason="An error occurred. Your account may be over its quota or you attempted to upload a folder.",t.complete()},t.request.upload.onprogress=t.checkStatus.bind(t),t.request.open("post",CPANEL.security_token+"/execute/Fileman/upload_files",!0),t.request.send(t.formData),t.in_progress=!0},y.prototype.checkStatus=function(e){if(e.lengthComputable){var t=Math.floor(e.loaded/e.total*100);this.updateProgressTemplate({size:e.total,bytesSent:e.loaded,percentageComplete:t})}},y.prototype.updateProgressTemplate=function(e){var t=this,o=document.getElementById("progress"+t.id),r=document.getElementById("uploaderstats"+t.id);o.style.width=e.percentageComplete+"%",o.textContent=e.percentageComplete+"%",o.setAttribute("aria-valuenow",e.percentageComplete),t.fileSize=e.size;var a=i(e.bytesSent)+" / "+i(e.size)+" ("+e.percentageComplete+"%) complete";r.innerHTML=a},y.prototype.complete=function(){var e,t=this,o="";e=void 0!==t.fileSize?i(t.fileSize):i(0);var r=document.getElementById("uploaderCancel"+t.id);r&&(r.className="cancel hidden");var a=document.getElementById("progress"+t.id),n=document.getElementById("uploaderstats"+t.id);t.success?(a.style.width="100%",a.textContent="100%",a.setAttribute("aria-valuenow","100"),a.className+=" progress-bar-success",o=e+" complete"):(a.className+=" progress-bar-danger",o=t.reason),n.innerHTML=o,t.cleanup()},y.prototype.cancel=function(){this.request.abort()},y.prototype.cleanup=function(){var e=this,t=document.getElementById("uploadform"+e.id);t&&(t.parentNode.removeChild(t),t=void 0),e.form=void 0,e.in_progress=!1,e.completed=!0},_.prototype.addForm=function(e,t,o){var a=this;a.dir=t;var i=document.getElementById(a.form_template);if(!i)throw new Error("Template does not exist: "+a.form_template);var n=i.text.trim(),s=r.lang.substitute(n,{thisid_html:a.id}),l=o.value,u=String.fromCharCode(92),d="/";l.indexOf(u)>-1&&(d=u);var p=l.split(d);a.fileName=p[p.length-1];var c=document.createDocumentFragment(),m=document.createElement("div");m.id="uploader"+a.id,m.innerHTML=s,c.appendChild(m);var f=document.getElementById("uploader_button_area"),h=o.cloneNode();f.appendChild(h),o.id="file",o.name="file",o.onchange=function(){return!1};var g=c.querySelector("#frm"+a.id);g.appendChild(o),a.form=g,e.appendChild(c)},_.prototype.start=function(e){var t=this,o=9999999*Math.random(),a=(Math.floor(o),!1);e&&void 0!==e.overwrite&&(a=e.overwrite),a||document.getElementById("overwrite_checkbox").checked?t.form.overwrite.value="1":t.form.overwrite.value="0";var i=document.getElementById("uploaderprogress"+t.id),n=document.getElementById(t.progress_template);if(!n)throw new Error("Template does not exist: "+t.progress_template);var s=n.textContent.trim(),l=r.lang.substitute(s,{thisid_html:t.id,fileName:t.fileName.html_encode()});i.innerHTML=l,t.form["cpanel-trackupload"].value=t.uploadkey;var u=document.getElementById("ut"+t.id);u.onload=function(){u.onload=function(){};var e,o=CPANEL.util.get_text_content(u.contentDocument.documentElement);try{e=JSON.parse(o)}catch(e){}var r=!1,a="An unknown error occurred",i=0;if(e&&e.cpanelresult){var n=e.cpanelresult;if(n.error)r=!1,a=n.data&&n.data[0].uploads&&n.data[0].uploads[0]?n.data[0].uploads[0].reason:n.error;else if(n.data&&n.data[0].uploads&&n.data[0].uploads[0]){a=n.data[0].uploads[0].reason,i=n.data[0].uploads[0].size,r=!!parseInt(n.data[0].uploads[0].status,10)}n.data&&n.data[0].diskinfo&&g(n.data[0].diskinfo.file_upload_remain,n.data[0].diskinfo.file_upload_remain_humansize)}t.success=r,t.reason=a,t.fileSize=i,t.complete()},t.form.submit(),t.form.style.display="none",t.in_progress=!0,t.status_timeout=setTimeout((function(){t.checkStatus()}),3e3)},_.prototype.checkStatus=function(){var e=this,t={success:e.updateProgress.bind(e),failure:function(t){t&&(e.status_timeout=setTimeout((function(){e.checkStatus()}),s))}.bind(e)},o=CPANEL.security_token+"/uploadstatus/?uploadid="+e.uploadkey;r.util.Connect.asyncRequest("GET",o,t,null)},_.prototype.updateProgressTemplate=function(e){var t=this;if(e.complete||e.failure)t.success=!e.failure,t.reason=e.failureReason,t.fileSize=e.size,t.complete();else{var o=document.getElementById("progress"+t.id),r=document.getElementById("uploaderstats"+t.id);o.style.width=e.percentageComplete+"%",o.textContent=e.percentageComplete+"%",o.setAttribute("aria-valuenow",e.percentageComplete);var a=i(e.size),n=i(e.bytesSent)+" / "+a+" ("+e.percentageComplete+"%) complete";r.innerHTML=n}},_.prototype.updateProgress=function(e){var t=this;if(e&&e.responseXML){var o=!1,r=e.responseXML.documentElement;if(null===r||""===e.responseText)return t.updateProgressCount+=1,void(t.updateProgressCount>=30?t.updateProgressTemplate({size:"unknown",complete:!1,bytesSent:0,percentageComplete:0,failure:!0,failureReason:"Unknown error or disk quota exceeded"}):t.status_timeout=setTimeout((function(){t.checkStatus()}),s));var a=r.getAttribute("size"),i=0,n=r.getElementsByTagName("file");if(n.length>0){var l=n[n.length-1].getElementsByTagName("error");if(l.length>0){var u=l[l.length-1].getAttribute("failmsg");t.updateProgressTemplate({size:a||"unknown",complete:!1,bytesSent:0,percentageComplete:0,failure:!0,failureReason:u})}else{var d=n[n.length-1].getElementsByTagName("progress");d.length>0&&(o=d[d.length-1].getAttribute("complete"),i=d[d.length-1].getAttribute("bytes")),o=null!=o&&"1"===o;var p=0;p=a>0&&i?Math.floor(i/a*100):100,t.updateProgressTemplate({size:a,complete:o,bytesSent:i,percentageComplete:p,failure:!1,failureReason:""}),o||(t.status_timeout=setTimeout((function(){t.checkStatus()}),s))}}else t.status_timeout=setTimeout((function(){t.checkStatus()}),s)}},_.prototype.complete=function(){var e,t=this;clearTimeout(t.status_timeout);var o="";e=void 0!==t.fileSize?i(t.fileSize):i(0);var r=document.getElementById("progress"+t.id),a=document.getElementById("uploaderstats"+t.id);t.success?(r.style.width="100%",r.textContent="100%",r.setAttribute("aria-valuenow","100"),r.className+=" progress-bar-success",o=e+" complete"):(r.className+=" progress-bar-danger",o=t.reason),a.innerHTML=o,t.cleanup()},_.prototype.cancel=function(){return!1},_.prototype.cleanup=function(){var e=this,t=document.getElementById("uploadform"+e.id);t&&(t.parentNode.removeChild(t),t=void 0),e.form=void 0,e.in_progress=!1,e.completed=!0},r.util.Event.onDOMReady((function(){if(r.util.Event.throwErrors=!0,E()&&k()){var e=document.getElementById("upload_drop_zone");e.addEventListener("dragover",w,!1),e.addEventListener("dragenter",w,!1),e.addEventListener("drop",T,!1)}else{document.getElementById("uploader_text_area").style.display="none"}n=new v})),{triggerFileSelection:function(){document.getElementById("uploader_file_input").click()},goBackHandler:function(t){return c&&c.updateFileList?(setTimeout(f,5e3),c.updateFileList(e.dir,0,f),!1):(f(),!0)},uploadfile:x}}(PAGE,$,LOCALE,YAHOO,sprintf,toHumanSize);
Back to Directory File Manager