13 lines
113 KiB
PHP
13 lines
113 KiB
PHP
![]() |
/*!
|
||
|
* bootstrap-fileinput v5.0.2
|
||
|
* http://plugins.krajee.com/file-input
|
||
|
*
|
||
|
* Author: Kartik Visweswaran
|
||
|
* Copyright: 2014 - 2019, Kartik Visweswaran, Krajee.com
|
||
|
*
|
||
|
* Licensed under the BSD-3-Clause
|
||
|
* https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md
|
||
|
*/!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof module&&module.exports?module.exports=e(require("jquery")):e(window.jQuery)}(function(e){"use strict";e.fn.fileinputLocales={},e.fn.fileinputThemes={},String.prototype.setTokens=function(e){var t,i,a=this.toString();for(t in e)e.hasOwnProperty(t)&&(i=new RegExp("{"+t+"}","g"),a=a.replace(i,e[t]));return a};var t,i;t={FRAMES:".kv-preview-thumb",SORT_CSS:"file-sortable",OBJECT_PARAMS:'<param name="controller" value="true" />\n<param name="allowFullScreen" value="true" />\n<param name="allowScriptAccess" value="always" />\n<param name="autoPlay" value="false" />\n<param name="autoStart" value="false" />\n<param name="quality" value="high" />\n',DEFAULT_PREVIEW:'<div class="file-preview-other">\n<span class="{previewFileIconClass}">{previewFileIcon}</span>\n</div>',MODAL_ID:"kvFileinputModal",MODAL_EVENTS:["show","shown","hide","hidden","loaded"],objUrl:window.URL||window.webkitURL,now:function(){return new Date},round:function(e){return e=parseFloat(e),isNaN(e)?0:Math.floor(Math.round(e))},getFileRelativePath:function(e){return String(e.relativePath||e.webkitRelativePath||t.getFileName(e)||null)},getFileId:function(e,i){var a=t.getFileRelativePath(e);return"function"==typeof i?i(e):e&&a?e.size+"_"+a.replace(/\s/gim,"_"):null},getElapsed:function(t){var i=t,a="",r={},n={year:31536e3,month:2592e3,week:604800,day:86400,hour:3600,minute:60,second:1};return Object.keys(n).forEach(function(e){r[e]=Math.floor(i/n[e]),i-=r[e]*n[e]}),e.each(r,function(e,t){t>0&&(a+=(a?" ":"")+t+e.substring(0,1))}),a},debounce:function(e,t){var i;return function(){var a=arguments,r=this;clearTimeout(i),i=setTimeout(function(){e.apply(r,a)},t)}},stopEvent:function(e){e.stopPropagation(),e.preventDefault()},getFileName:function(e){return e?e.fileName||e.name||"":""},createObjectURL:function(e){return t.objUrl&&t.objUrl.createObjectURL&&e?t.objUrl.createObjectURL(e):""},revokeObjectURL:function(e){t.objUrl&&t.objUrl.revokeObjectURL&&e&&t.objUrl.revokeObjectURL(e)},compare:function(e,t,i){return void 0!==e&&(i?e===t:e.match(t))},isIE:function(e){var t,i;return"Microsoft Internet Explorer"!==navigator.appName?!1:10===e?new RegExp("msie\\s"+e,"i").test(navigator.userAgent):(t=document.createElement("div"),t.innerHTML="<!--[if IE "+e+"]> <i></i> <![endif]-->",i=t.getElementsByTagName("i").length,document.body.appendChild(t),t.parentNode.removeChild(t),i)},canAssignFilesToInput:function(){var e=document.createElement("input");try{return e.type="file",e.files=null,!0}catch(t){return!1}},getDragDropFolders:function(e){var t,i,a=e?e.length:0,r=0;if(a>0&&e[0].webkitGetAsEntry())for(t=0;a>t;t++)i=e[t].webkitGetAsEntry(),i&&i.isDirectory&&r++;return r},initModal:function(t){var i=e("body");i.length&&t.appendTo(i)},isEmpty:function(t,i){return void 0===t||null===t||0===t.length||i&&""===e.trim(t)},isArray:function(e){return Array.isArray(e)||"[object Array]"===Object.prototype.toString.call(e)},ifSet:function(e,t,i){return i=i||"",t&&"object"==typeof t&&e in t?t[e]:i},cleanArray:function(e){return e instanceof Array||(e=[]),e.filter(function(e){return void 0!==e&&null!==e})},spliceArray:function(t,i,a){var r,n,o=0,l=[];if(!(t instanceof Array))return[];for(n=e.extend(!0,[],t),a&&n.reverse(),r=0;r<n.length;r++)r!==i&&(l[o]=n[r],o++);return a&&l.reverse(),l},getNum:function(e,t){return t=t||0,"number"==typeof e?e:("string"==typeof e&&(e=parseFloat(e)),isNaN(e)?t:e)},hasFileAPISupport:function(){return!(!window.File||!window.FileReader)},hasDragDropSupport:function(){var e=document.createElement("div");return!t.isIE(9)&&(void 0!==e.draggable||void 0!==e.ondragstart&&void 0!==e.ondrop)},hasFileUploadSupport:function(){return t.hasFileAPISupport()&&window.FormData},hasBlobSupport:function(){try{return!!window.Blob&&Boolean(new Blob)}catch(e){return!1}},hasArrayBufferViewSupport:function(){try{return 100===new Blob([new Uint8Array(100)]).size}catch(e){return!1}},hasResumableUploadSupport:function(){return t.hasFileUploadSupport()&&t.hasBlobSupport()&&t.hasArrayBuffer
|
||
|
"max-width":"100%","min-height":"480px"},video:{width:"auto",height:"100%","max-width":"100%"},audio:{width:"100%",height:"30px"},flash:{width:"auto",height:"480px"},object:{width:"auto",height:"100%","max-width":"100%","min-height":"480px"},pdf:L,other:{width:"auto",height:"100%","min-height":"480px"}},mimeTypeAliases:{"video/quicktime":"video/mp4"},fileTypeSettings:{image:function(e,i){return t.compare(e,"image.*")&&!t.compare(e,/(tiff?|wmf)$/i)||t.compare(i,/\.(gif|png|jpe?g)$/i)},html:function(e,i){return t.compare(e,"text/html")||t.compare(i,/\.(htm|html)$/i)},office:function(e,i){return t.compare(e,/(word|excel|powerpoint|office)$/i)||t.compare(i,/\.(docx?|xlsx?|pptx?|pps|potx?)$/i)},gdocs:function(e,i){return t.compare(e,/(word|excel|powerpoint|office|iwork-pages|tiff?)$/i)||t.compare(i,/\.(docx?|xlsx?|pptx?|pps|potx?|rtf|ods|odt|pages|ai|dxf|ttf|tiff?|wmf|e?ps)$/i)},text:function(e,i){return t.compare(e,"text.*")||t.compare(i,/\.(xml|javascript)$/i)||t.compare(i,/\.(txt|md|csv|nfo|ini|json|php|js|css)$/i)},video:function(e,i){return t.compare(e,"video.*")&&(t.compare(e,/(ogg|mp4|mp?g|mov|webm|3gp)$/i)||t.compare(i,/\.(og?|mp4|webm|mp?g|mov|3gp)$/i))},audio:function(e,i){return t.compare(e,"audio.*")&&(t.compare(i,/(ogg|mp3|mp?g|wav)$/i)||t.compare(i,/\.(og?|mp3|mp?g|wav)$/i))},flash:function(e,i){return t.compare(e,"application/x-shockwave-flash",!0)||t.compare(i,/\.(swf)$/i)},pdf:function(e,i){return t.compare(e,"application/pdf",!0)||t.compare(i,/\.(pdf)$/i)},object:function(){return!0},other:function(){return!0}},fileActionSettings:{showRemove:!0,showUpload:!0,showDownload:!0,showZoom:!0,showDrag:!0,removeIcon:'<i class="glyphicon glyphicon-trash"></i>',removeClass:"btn btn-sm btn-kv btn-default btn-outline-secondary",removeErrorClass:"btn btn-sm btn-kv btn-danger",removeTitle:"Remove file",uploadIcon:'<i class="glyphicon glyphicon-upload"></i>',uploadClass:"btn btn-sm btn-kv btn-default btn-outline-secondary",uploadTitle:"Upload file",uploadRetryIcon:'<i class="glyphicon glyphicon-repeat"></i>',uploadRetryTitle:"Retry upload",downloadIcon:'<i class="glyphicon glyphicon-download"></i>',downloadClass:"btn btn-sm btn-kv btn-default btn-outline-secondary",downloadTitle:"Download file",zoomIcon:'<i class="glyphicon glyphicon-zoom-in"></i>',zoomClass:"btn btn-sm btn-kv btn-default btn-outline-secondary",zoomTitle:"View Details",dragIcon:'<i class="glyphicon glyphicon-move"></i>',dragClass:"text-info",dragTitle:"Move / Rearrange",dragSettings:{},indicatorNew:'<i class="glyphicon glyphicon-plus-sign text-warning"></i>',indicatorSuccess:'<i class="glyphicon glyphicon-ok-sign text-success"></i>',indicatorError:'<i class="glyphicon glyphicon-exclamation-sign text-danger"></i>',indicatorLoading:'<i class="glyphicon glyphicon-hourglass text-muted"></i>',indicatorNewTitle:"Not uploaded yet",indicatorSuccessTitle:"Uploaded",indicatorErrorTitle:"Upload Error",indicatorLoadingTitle:"Uploading ..."}},e.each(N.defaults,function(t,i){return"allowedPreviewTypes"===t?void(void 0===N.allowedPreviewTypes&&(N.allowedPreviewTypes=i)):void(N[t]=e.extend(!0,{},i,N[t]))}),N._initPreviewTemplates()},_initPreviewTemplates:function(){var i,a=this,r=a.previewMarkupTags,n=r.tagAfter;e.each(a.previewContentTemplates,function(e,o){t.isEmpty(a.previewTemplates[e])&&(i=r.tagBefore2,"generic"!==e&&"image"!==e&&"html"!==e&&"text"!==e||(i=r.tagBefore1),a._isPdfRendered()&&"pdf"===e&&(i=i.replace("kv-file-content","kv-file-content kv-pdf-rendered")),a.previewTemplates[e]=i+o+n)})},_initPreviewCache:function(){var i=this;i.previewCache={data:{},init:function(){var e=i.initialPreview;e.length>0&&!t.isArray(e)&&(e=e.split(i.initialPreviewDelimiter)),i.previewCache.data={content:e,config:i.initialPreviewConfig,tags:i.initialPreviewThumbTags}},count:function(e){if(!i.previewCache.data||!i.previewCache.data.content)return 0;if(e){var t=i.previewCache.data.content.filter(function(e){return null!==e});return t.length}return i.previewCache.data.content.length},get:function(a,r){var n,o,l,s,d,c,u,p,f="init_"+a,g=i.previewCache.data,m=g.config[a],v=g.content[a
|
||
|
a.initialPreviewConfig=r.config,a.initialPreviewThumbTags=r.tags;a.cacheInitialPreview={},a.hasInitData&&(a._initPreview(),a._initPreviewActions())}},_uploadSingle:function(i,a,r){var n,o,l,s,d,c,u,p,f,g,m,v,h=this,w=h.fileManager,b=w.count(),_=new FormData,C=h.previewInitId+"-"+i,y=b>0||!e.isEmptyObject(h.uploadExtraData),x=w.getFile(a),T=h.resumableManager,I={id:C,index:i,fileId:a},P=h.fileManager.getFileName(a,!0);return h.enableResumableUpload?(h.paused=!1,h.cancelling=!1,w.initStats(a),void T.uploadSingle(a)):(h.showPreview&&(o=h.fileManager.getThumb(a),u=o.find(".file-thumb-progress"),s=o.find(".kv-file-upload"),d=o.find(".kv-file-remove"),u.show()),void(0===b||!y||h.showPreview&&s&&s.hasClass("disabled")||h._abort(I)||(v=function(){c||h.fileManager.removeFile(a),h.fileManager.setProcessed(a),h.fileManager.isProcessed()&&(h.fileBatchCompleted=!0)},l=function(){var e;h.fileBatchCompleted&&setTimeout(function(){var i=0===h.fileManager.count();h._updateInitialPreview(),h.unlock(i),i&&h._clearFileInput(),e=h.$preview.find(".file-preview-initial"),h.uploadAsync&&e.length&&(t.addCss(e,t.SORT_CSS),h._initSortable()),h._raise("filebatchuploadcomplete",[h.fileManager.stack,h._getExtraData()]),h.fileManager.clear(),h._setProgress(101),h.ajaxAborted=!1},h.processDelay)},p=function(l){n=h._getOutData(_,l),w.initStats(a),h.fileBatchCompleted=!1,r||(h.ajaxAborted=!1),h.showPreview&&(o.hasClass("file-preview-success")||(h._setThumbStatus(o,"Loading"),t.addCss(o,"file-uploading")),s.attr("disabled",!0),d.attr("disabled",!0)),r||h.lock(),h._raise("filepreupload",[n,C,i]),e.extend(!0,I,n),h._abort(I)&&(l.abort(),r||(h._setThumbStatus(o,"New"),o.removeClass("file-uploading"),s.removeAttr("disabled"),d.removeAttr("disabled"),h.unlock()),h._setProgressCancelled())},f=function(a,l,d){var p=h.showPreview&&o.attr("id")?o.attr("id"):C;n=h._getOutData(_,d,a),e.extend(!0,I,n),setTimeout(function(){t.isEmpty(a)||t.isEmpty(a.error)?(h.showPreview&&(h._setThumbStatus(o,"Success"),s.hide(),h._initUploadSuccess(a,o,r),h._setProgress(101,u)),h._raise("fileuploaded",[n,p,i]),r?v():h.fileManager.remove(o)):(c=!0,h._showUploadError(a.error,I),h._setPreviewError(o,!0),h.retryErrorUploads||s.hide(),r&&v(),h._setProgress(101,e("#"+p).find(".file-thumb-progress"),h.msgUploadError))},h.processDelay)},g=function(){setTimeout(function(){h.showPreview&&(s.removeAttr("disabled"),d.removeAttr("disabled"),o.removeClass("file-uploading")),r?l():(h.unlock(!1),h._clearFileInput()),h._initSuccessThumbs()},h.processDelay)},m=function(t,i,n){var l=h.ajaxOperations.uploadThumb,d=h._parseError(l,t,n,h.fileManager.getFileName(a));c=!0,setTimeout(function(){r&&v(),h.fileManager.setProgress(a,100),h._setPreviewError(o,!0),h.retryErrorUploads||s.hide(),e.extend(!0,I,h._getOutData(_,t)),h._setProgress(101,u,h.msgAjaxProgressError.replace("{operation}",l)),h._setProgress(101,o.find(".file-thumb-progress"),h.msgUploadError),h._showUploadError(d,I)},h.processDelay)},_.append(h.uploadFileAttr,x.file,P),h._setUploadData(_,{fileId:a}),h._ajaxSubmit(p,f,g,m,_,a,i))))},_uploadBatch:function(){var i,a,r,n,o,l=this,s=l.fileManager,d=s.total(),c={},u=d>0||!e.isEmptyObject(l.uploadExtraData),p=new FormData;if(0!==d&&u&&!l._abort(c)){o=function(){l.fileManager.clear(),l._clearFileInput()},i=function(i){l.lock(),s.initStats();var a=l._getOutData(p,i);l.ajaxAborted=!1,l.showPreview&&l._getThumbs().each(function(){var i=e(this),a=i.find(".kv-file-upload"),r=i.find(".kv-file-remove");i.hasClass("file-preview-success")||(l._setThumbStatus(i,"Loading"),t.addCss(i,"file-uploading")),a.attr("disabled",!0),r.attr("disabled",!0)}),l._raise("filebatchpreupload",[a]),l._abort(a)&&(i.abort(),l._getThumbs().each(function(){var t=e(this),i=t.find(".kv-file-upload"),a=t.find(".kv-file-remove");t.hasClass("file-preview-loading")&&(l._setThumbStatus(t,"New"),t.removeClass("file-uploading")),i.removeAttr("disabled"),a.removeAttr("disabled")}),l._setProgressCancelled())},a=function(i,a,r){var n=l._getOutData(p,r,i),s=0,d=l._getThumbs(":not(.file-preview-success)"),c=t.isEmpty(i)||t.isEmpty(i.errorkeys)?[]
|
||
|
a(l+1)},r.processDelay):p=0,r._initFileActions(),c.remove(),r.isError=r.isAjaxUpload?r._showUploadError(t,d):r._showError(t,u),r._updateFileDetails(p)};r.fileManager.clearImages(),e.each(i,function(e,t){var i=r.fileTypeSettings.image;i&&i(t.type)&&r.fileManager.totalImages++}),a=function(_){if(t.isEmpty(n.attr("multiple"))&&(p=1),_>=p)return r.isAjaxUpload&&r.fileManager.count()>0?r._raise("filebatchselected",[r.fileManager.stack]):r._raise("filebatchselected",[i]),l.removeClass("file-thumb-loading"),void s.html("");var C,y,x,T,I,P,k,S,E,F,A,z,D,M=g+_,U=u+"-"+M,$=i[_],j=f.text,R=f.image,O=f.html,B=r._getFileName($,""),L=($&&$.size||0)/1e3,Z="",N=t.createObjectURL($),H=0,q="",W=0,V=function(){var e=c.setTokens({index:_+1,files:p,percent:50,name:B});setTimeout(function(){s.html(e),r._updateFileDetails(p),a(_+1)},r.processDelay),r._raise("fileloaded",[$,U,_,o])};if($){if(S=r.fileManager.getId($),v>0)for(y=0;v>y;y++)P=m[y],k=r.msgFileTypes[P]||P,q+=0===y?k:", "+k;if(B===!1)return void a(_+1);if(0===B.length)return x=r.msgInvalidFileName.replace("{name}",t.htmlEncode(t.getFileName($),"[unknown]")),void b(x,$,U,_,S);if(t.isEmpty(h)||(Z=new RegExp("\\.("+h.join("|")+")$","i")),C=L.toFixed(2),r.maxFileSize>0&&L>r.maxFileSize)return x=r.msgSizeTooLarge.setTokens({name:B,size:C,maxSize:r.maxFileSize}),void b(x,$,U,_,S);if(null!==r.minFileSize&&L<=t.getNum(r.minFileSize))return x=r.msgSizeTooSmall.setTokens({name:B,size:C,minSize:r.minFileSize}),void b(x,$,U,_,S);if(!t.isEmpty(m)&&t.isArray(m)){for(y=0;y<m.length;y+=1)T=m[y],E=f[T],H+=E&&"function"==typeof E&&E($.type,t.getFileName($))?1:0;if(0===H)return x=r.msgInvalidFileType.setTokens({name:B,types:q}),void b(x,$,U,_,S)}if(0===H&&!t.isEmpty(h)&&t.isArray(h)&&!t.isEmpty(Z)&&(I=t.compare(B,Z),H+=t.isEmpty(I)?0:I.length,0===H))return x=r.msgInvalidFileExtension.setTokens({name:B,extensions:w}),void b(x,$,U,_,S);if(r.isAjaxUpload&&r.fileManager.exists(S))return x=r.msgDuplicateFile.setTokens({name:B,size:C}),void b(x,$,U,_,S);if(!r.canPreview($))return r.isAjaxUpload&&r.fileManager.add($),r.showPreview&&(l.addClass("file-thumb-loading"),r._previewDefault($,U),r._initFileActions()),void setTimeout(function(){r._updateFileDetails(p),a(_+1),r._raise("fileloaded",[$,U,_])},10);F=j($.type,B),A=O($.type,B),z=R($.type,B),s.html(d.replace("{index}",_+1).replace("{files}",p)),l.addClass("file-thumb-loading"),o.onerror=function(e){r._errorHandler(e,B)},o.onload=function(i){var a,n,l,s,d,c,u=[],p=function(e){var t=new FileReader;t.onerror=function(e){r._errorHandler(e,B)},t.onload=function(e){r._previewFile(_,$,e,U,N,n),r._initFileActions(),V()},e?t.readAsText($,r.textEncoding):t.readAsDataURL($)};if(n={name:B,type:$.type},e.each(f,function(e,t){"object"!==e&&"other"!==e&&"function"==typeof t&&t($.type,B)&&W++}),0===W){for(l=new Uint8Array(i.target.result),y=0;y<l.length;y++)s=l[y].toString(16),u.push(s);if(a=u.join("").toLowerCase().substring(0,8),c=t.getMimeType(a,"",""),t.isEmpty(c)&&(d=t.arrayBuffer2String(o.result),c=t.isSvg(d)?"image/svg+xml":t.getMimeType(a,d,$.type)),n={name:B,type:c},F=j(c,""),A=O(c,""),z=R(c,""),D=F||A,D||z)return void p(D)}r._previewFile(_,$,i,U,N,n),r._initFileActions(),V()},o.onprogress=function(e){if(e.lengthComputable){var t=e.loaded/e.total*100,i=Math.ceil(t);x=c.setTokens({index:_+1,files:p,percent:i,name:B}),setTimeout(function(){s.html(x)},r.processDelay)}},F||A?o.readAsText($,r.textEncoding):z?o.readAsDataURL($):o.readAsArrayBuffer($),r.fileManager.add($)}},a(0),r._updateFileDetails(p,!1)},lock:function(){var e=this,t=e.$container;return e._resetErrors(),e.disable(),t.addClass("is-locked"),e.showCancel&&t.find(".fileinput-cancel").show(),e.showPause&&t.find(".fileinput-pause").show(),e._raise("filelock",[e.fileManager.stack,e._getExtraData()]),e.$element},unlock:function(e){var t=this,i=t.$container;return void 0===e&&(e=!0),t.enable(),i.removeClass("is-locked"),t.showCancel&&i.find(".fileinput-cancel").hide(),t.showPause&&i.find(".fileinput-pause").hide(),e&&t._resetFileStack(),t._raise("fileunlock",[t.fileManager.stack,t._getExtraData()]),t.$element},pau
|