UNPKG

rich-filemanager

Version:

Highly customizable open-source file manager

1 lines 5.8 kB
!function(a,b){var c=/[<>&\r\n"']/gm,d={"<":"lt;",">":"gt;","&":"amp;","\r":"#13;","\n":"#10;",'"':"quot;","'":"#39;"};a.extend({fileDownload:function(e,f){function g(){var b=n.cookieValue;"string"==typeof b&&(b=b.toLowerCase());var c=n.cookieName.toLowerCase()+"="+b;if(document.cookie.toLowerCase().indexOf(c)>-1){s.onSuccess(e);var d=n.cookieName+"=; path="+n.cookiePath+"; expires="+new Date(0).toUTCString()+";";return n.cookieDomain&&(d+=" domain="+n.cookieDomain+";"),document.cookie=d,void i(!1)}if(u||t)try{var f=u?u.document:h(t);if(f&&null!==f.body&&f.body.innerHTML.length){var j=!0;if(w&&w.length){var k=a(f.body).contents().first();try{k.length&&k[0]===w[0]&&(j=!1)}catch(l){if(!l||l.number!=-2146828218)throw l;j=!0}}if(j)return void setTimeout(function(){s.onFail(f.body.innerHTML,e),i(!0)},100)}}catch(m){return s.onFail("",e,m),void i(!0)}setTimeout(g,n.checkInterval)}function h(a){var b=a[0].contentWindow||a[0].contentDocument;return b.document&&(b=b.document),b}function i(a){setTimeout(function(){u&&(l&&u.close(),k&&u.focus&&(u.focus(),a&&u.close()))},0)}function j(a){return a.replace(c,function(a){return"&"+d[a]})}var k,l,m,n=a.extend({preparingMessageHtml:null,failMessageHtml:null,androidPostUnsupportedMessageHtml:"Unfortunately your Android browser doesn't support this type of file download. Please try again with a different browser.",dialogOptions:{modal:!0},prepareCallback:function(a){},successCallback:function(a){},abortCallback:function(a){},failCallback:function(a,b,c){},httpMethod:"GET",data:null,checkInterval:100,cookieName:"fileDownload",cookieValue:"true",cookiePath:"/",cookieDomain:null,popupWindowTitle:"Initiating file download...",encodeHTMLEntities:!0},f),o=new a.Deferred,p=(navigator.userAgent||navigator.vendor||b.opera).toLowerCase();/ip(ad|hone|od)/.test(p)?k=!0:p.indexOf("android")!==-1?l=!0:m=/avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|playbook|silk|iemobile|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(p)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i.test(p.substr(0,4));var q=n.httpMethod.toUpperCase();if(l&&"GET"!==q&&n.androidPostUnsupportedMessageHtml)return a().dialog?a("<div>").html(n.androidPostUnsupportedMessageHtml).dialog(n.dialogOptions):alert(n.androidPostUnsupportedMessageHtml),o.reject();var r=null,s={onPrepare:function(b){n.preparingMessageHtml?r=a("<div>").html(n.preparingMessageHtml).dialog(n.dialogOptions):n.prepareCallback&&n.prepareCallback(b)},onSuccess:function(a){r&&r.dialog("close"),n.successCallback(a),o.resolve(a)},onAbort:function(a){r&&r.dialog("close"),n.abortCallback(a),o.reject(a)},onFail:function(b,c,d){r&&r.dialog("close"),n.failMessageHtml&&a("<div>").html(n.failMessageHtml).dialog(n.dialogOptions),n.failCallback(b,c,d),o.reject(b,c)}};s.onPrepare(e),null!==n.data&&"string"!=typeof n.data&&(n.data=a.param(n.data));var t,u,v,w;if("GET"===q){if(null!==n.data){var x=e.indexOf("?");x!==-1?"&"!==e.substring(e.length-1)&&(e+="&"):e+="?",e+=n.data}k||l?(u=b.open(e),u.document.title=n.popupWindowTitle,b.focus()):m?b.location(e):t=a("<iframe>").hide().prop("src",e).appendTo("body")}else{var y="";null!==n.data&&a.each(n.data.replace(/\+/g," ").split("&"),function(){var a=this.split("="),b=a[0];a.shift();var c=a.join("=");a=[b,c];var d=n.encodeHTMLEntities?j(decodeURIComponent(a[0])):decodeURIComponent(a[0]);if(d){var e=n.encodeHTMLEntities?j(decodeURIComponent(a[1])):decodeURIComponent(a[1]);y+='<input type="hidden" name="'+d+'" value="'+e+'" />'}}),m?(w=a("<form>").appendTo("body"),w.hide().prop("method",n.httpMethod).prop("action",e).html(y)):(k?(u=b.open("about:blank"),u.document.title=n.popupWindowTitle,v=u.document,b.focus()):(t=a("<iframe style='display: none' src='about:blank'></iframe>").appendTo("body"),v=h(t)),v.write("<html><head></head><body><form method='"+n.httpMethod+"' action='"+e+"'>"+y+"</form>"+n.popupWindowTitle+"</body></html>"),w=a(v).find("form")),w.submit()}setTimeout(g,n.checkInterval);var z=o.promise();return z.abort=function(){i(),t.attr("src","").html(""),s.onAbort(e)},z}})}(jQuery,this||window);