"),d="",c=null,u=null,p=[],h=function(n){var i,a=n.mime;return i='
',n.tmb&&1!==n.tmb&&(i=e(i).css("background","url('"+t.option("tmbUrl")+n.tmb+"') center center no-repeat").get(0).outerHTML),i},f=[];if(s.trigger(r),_(),e.each(U,function(n,i){var a=t.file(i),r=a.url;if(a&&"directory"!==a.mime){if(r){if("1"==r)return f.push(i),!0}else r=t.url(a.hash);r&&(r=t.convAbsUrl(r),p.push(i),e("").attr("href",r).text(r).appendTo(l),d+=r+"\n",c||(c=a.mime+":"+a.name+":"+r),u||(u=r+"\n"+a.name))}}),f.length)return e.each(f,function(e,n){var i=t.file(n);i.url="",t.request({data:{cmd:"url",target:n},notify:{type:"url",cnt:1},preventDefault:!0}).always(function(e){i.url=e.url?e.url:"1"})}),!1;if(!d)return!1;i.setDragImage&&(o=e('
').append(h(t.file(p[0]))).appendTo(e(document.body)),(a=p.length)>1&&o.append(h(t.file(p[a-1]))+''+a+" "),i.setDragImage(o.get(0),50,47)),i.effectAllowed="copyLink",i.setData("DownloadURL",c),i.setData("text/x-moz-url",u),i.setData("text/uri-list",d),i.setData("text/plain",d),i.setData("text/html",l.html()),i.setData("elfinderfrom",window.location.href+t.cwd().hash),i.setData("elfinderfrom:"+i.getData("elfinderfrom"),"")}}).on("dragend",function(){j(),o&&o.remove()}).draggable(t.draggable)}).on(r,u,function(){var n=e(this),i=t.cwdId2Hash(n.attr("id"));O||n.hasClass(h)||(n.addClass(p).children().addClass(g),-1===e.inArray(i,U)&&U.push(i))}).on(o,u,function(){var n,i=e(this),a=t.cwdId2Hash(i.attr("id"));O||(e(this).removeClass(p).children().removeClass(g),n=e.inArray(a,U),-1!==n&&U.splice(n,1))}).on(s,u,function(){var t=e(this).removeClass(g+" "+p).addClass(h),n=t.children(),i=a?t:n;n.removeClass(g+" "+p),t.hasClass(m)&&t.droppable("disable"),i.hasClass(f)&&i.draggable("disable")}).on(l,u,function(){var t=e(this).removeClass(h),n=a?t:t.children();t.hasClass(m)&&t.droppable("enable"),n.hasClass(f)&&n.draggable("enable")}).on("scrolltoview",u,function(){H(e(this))}).on("mouseenter."+t.namespace+" mouseleave."+t.namespace,u,function(n){t.trigger("hover",{hash:t.cwdId2Hash(e(this).attr("id")),type:n.type}),e(this).toggleClass(g,"mouseenter"==n.type)}).on("contextmenu."+t.namespace,function(n){var i=e(n.target).closest("."+c);i.length&&("TD"!=n.target.nodeName||e.inArray(t.cwdId2Hash(i.get(0).id),t.selected())>-1)&&(n.stopPropagation(),n.preventDefault(),i.hasClass(h)||i.data("touching")||(i.hasClass(p)||(j(),i.trigger(r),_()),t.trigger("contextmenu",{type:"files",targets:t.selected(),x:n.pageX,y:n.pageY})))}).on("click."+t.namespace,function(e){return et.data("longtap")?(e.stopPropagation(),void 0):(!e.shiftKey&&!e.ctrlKey&&!e.metaKey&&j(),void 0)}).on("create."+t.namespace,function(n,i){var r=a?et.find("tbody"):et,o=r.find(".elfinder-cwd-parent"),i=e(D(i)).addClass(b),s=t.selected();s.length?t.trigger("lockfiles",{files:s}):j(),o.length?o.after(i):r.prepend(i),et.parent().scrollTop(0)}).on("unselectall",j).on("selectfile",function(n,i){e("#"+t.cwdHash2Id(i)).trigger(r),_()}),tt=e('
').droppable(e.extend({},V,{autoDisable:!1})).on("contextmenu",function(e){e.preventDefault(),t.trigger("contextmenu",{type:"cwd",targets:[t.cwd().hash],x:e.pageX,y:e.pageY})}).on("touchstart."+t.namespace,function(n){var i=e(this);et.data("longtap",null),i.data("touching",!0),i.data("tmlongtap",setTimeout(function(){et.data("longtap",!0),t.trigger("contextmenu",{type:"cwd",targets:[t.cwd().hash],x:n.originalEvent.touches[0].pageX,y:n.originalEvent.touches[0].pageY})},500))}).on("touchmove."+t.namespace+" touchend."+t.namespace,function(){clearTimeout(e(this).data("tmlongtap"))}).on("mousedown",function(){tt._mousedown=!0}).on("mouseup",function(){tt._mousedown=!1}),nt=e("
").css({position:"absolute",width:"1px",height:"1px"}).hide(),it=null,at=function(t){var n=function(){var t=0;tt.siblings("div.elfinder-panel:visible").each(function(){t+=e(this).outerHeight(!0)}),tt.height(ot.height()-t-tt._padding)};t&&n(),it&&clearTimeout(it),it=setTimeout(function(){!t&&n();var e,i;et.css("height","auto"),e=tt[0].clientHeight-parseInt(tt.css("padding-top"))-parseInt(tt.css("padding-bottom")),i=et.outerHeight(!0),e>i&&et.height(e)},20)},rt=e(this).parent().resize(at),ot=rt.children(".elfinder-workzone").append(tt.append(this).append(nt));i?e("body").on("touchstart touchmove touchend",function(){}):et.selectable(L).data("selectable",!0),t.one("init",function(){var e,n=document.createElement("style");document.head.appendChild(n),e=n.sheet,e.insertRule('.elfinder-cwd-wrapper-empty .elfinder-cwd:after{ content:"'+t.i18n("emptyFolder")+'" }',0),e.insertRule('.ui-droppable.elfinder-cwd-wrapper-empty .elfinder-cwd:after{ content:"'+t.i18n("emptyFolder"+(i?"LTap":"Drop"))+'" }',1),e.insertRule('.ui-droppable.elfinder-cwd-wrapper-empty.ui-droppable-disabled .elfinder-cwd:after{ content:"'+t.i18n("emptyFolder")+'" }',2)}).bind("open",function(e){Z(e.data.files),at()}).bind("search",function(e){k=e.data.files,Z(k,!0),tt.addClass("elfinder-search-result"),t.autoSync("stop"),at()}).bind("searchend",function(e){k=[],w&&(w="",e.data&&e.data.noupdate||Z(t.files())),tt.removeClass("elfinder-search-result"),t.autoSync(),at()}).bind("searchstart",function(e){w=e.data.query}).bind("sortchange",function(){Z(w?k:t.files(),!!w),at()}).bind("viewchange",function(){var n=t.selected(),i="list"==t.storage("view");i!=a&&(a=i,Z(w?k:t.files(),!!w),e.each(n,function(e,t){z(t)}),_()),at()}).bind("resize",function(){var e=a?et.find("tbody"):et;at(!0),Q(e,e.find("[id]").length)}).bind("add",function(){at()}).bind("changeclipboard",function(t){x={},t.data&&t.data.clipboard&&t.data.clipboard.length&&e.each(t.data.clipboard,function(e,t){t.cut&&(x[t.hash]=!0)})}).add(function(n){var i=t.cwd().hash,a=w?e.map(n.data.added||[],function(e){return-1===e.name.indexOf(w)?null:e}):e.map(n.data.added||[],function(e){return e.phash==i?e:null});J(a)}).change(function(n){var i=t.cwd().hash,a=t.selected();w?e.each(n.data.changed||[],function(t,n){G([n.hash]),-1!==n.name.indexOf(w)&&(J([n]),-1!==e.inArray(n.hash,a)&&z(n.hash))}):e.each(e.map(n.data.changed||[],function(e){return e.phash==i?e:null}),function(t,n){G([n.hash]),J([n]),-1!==e.inArray(n.hash,a)&&z(n.hash)}),_()}).remove(function(e){G(e.data.removed||[]),_()}).dragstart(function(t){var n=e(t.data.target),i=t.data.originalEvent;n.hasClass(u.substr(1))&&(n.hasClass(p)||(!(i.ctrlKey||i.metaKey||i.shiftKey)&&j(),n.trigger(r),_())),et.selectable("disable").removeClass(h),O=!0}).dragstop(function(){et.selectable("enable"),O=!1}).bind("lockfiles unlockfiles selectfiles unselectfiles",function(n){var i,a,d={lockfiles:s,unlockfiles:l,selectfiles:r,unselectfiles:o},c=d[n.type],u=n.data.files||[],p=u.length,h=n.data.helper||e();if(p>0&&(i=t.parents(u[0])),!h.data("locked")){for(;p--;)e("#"+t.cwdHash2Id(u[p])).trigger(c);_()}tt.data("dropover")&&-1!==i.indexOf(tt.data("dropover"))&&(a="lockfiles"!==n.type,h.toggleClass("elfinder-drag-helper-plus",a),tt.toggleClass(v,a))}).bind("mkdir mkfile duplicate upload rename archive extract paste multiupload",function(n){if("upload"!=n.type||!n.data._multiupload){var i=t.cwd().hash;j(),e.each(n.data.added||[],function(e,t){t&&t.phash==i&&z(t.hash)}),_()}}).shortcut({pattern:"ctrl+a",description:"selectall",callback:E}).shortcut({pattern:"left right up down shift+left shift+right shift+up shift+down",description:"selectfiles",type:"keydown",callback:function(e){A(e.keyCode,e.shiftKey)}}).shortcut({pattern:"home",description:"selectffile",callback:function(){j(),H(et.find("[id]:first").trigger(r)),_()}}).shortcut({pattern:"end",description:"selectlfile",callback:function(){j(),H(et.find("[id]:last").trigger(r)),_()}})}),this},e.fn.elfinderdialog=function(t){var n;return"string"==typeof t&&(n=this.closest(".ui-dialog")).length&&("open"==t?"none"==n.css("display")&&n.fadeIn(120,function(){n.trigger("open")}):"close"==t?"none"!=n.css("display")&&n.hide().trigger("close"):"destroy"==t?n.hide().remove():"toTop"==t?n.trigger("totop"):"posInit"==t&&n.trigger("posinit")),t=e.extend({},e.fn.elfinderdialog.defaults,t),this.filter(":not(.ui-dialog-content)").each(function(){var n=e(this).addClass("ui-dialog-content ui-widget-content"),i=n.parent(),a="elfinder-dialog-active",r="elfinder-dialog",o="elfinder-dialog-notify",s="ui-state-hover",l=parseInt(1e6*Math.random()),d=i.children(".elfinder-overlay"),c=e('
'),u=e('
').append(c),p=0,h=-1!=window.navigator.platform.indexOf("Win"),f=e('
').hide().append(n).appendTo(i).draggable({handle:".ui-dialog-titlebar",containment:"document",stop:function(){f.css({height:t.height})}}).css({width:t.width,height:t.height}).mousedown(function(){setTimeout(function(){f.is(":visible")&&f.trigger("totop")},10)}).on("open",function(){var a=e(this),s=a.outerWidth()>i.width()-10?i.width()-10:null;s&&a.css({width:s,left:"5px"}),f.hasClass(o)||i.find("."+r+":visible").not("."+o).each(function(){var t=e(this),n=parseInt(t.css("top")),i=parseInt(t.css("left")),a=parseInt(f.css("top")),r=parseInt(f.css("left"));t[0]==f[0]||n!=a&&i!=r||f.css({top:n+(s?15:10)+"px",left:(s?5:i+10)+"px"})}),f.trigger("totop"),"function"==typeof t.open&&e.proxy(t.open,n[0])()}).on("close",function(){var a=i.find(".elfinder-dialog:visible");e(this).data("modal")&&d.elfinderoverlay("hide"),a.length?a.find(":last").trigger("totop"):setTimeout(function(){i.mousedown().click()},10),"function"==typeof t.close?e.proxy(t.close,n[0])():t.destroyOnClose&&f.hide().remove()}).on("totop",function(){var t=e(this);i.find("."+r+":visible").removeClass(a+" ui-front"),f.addClass(a+" ui-front"),t.find("input,textarea").length||t.find(".ui-button:"+(h?"first":"last")).focus().end().find(":text:first").focus(),t.data("modal")&&d.is(":hidden")&&d.elfinderoverlay("show")}).on("posinit",function(){var e=t.position;e||(e={top:Math.max(0,parseInt((i.height()-f.outerHeight())/2-42))+"px",left:Math.max(0,parseInt((i.width()-f.outerWidth())/2))+"px"}),f.css(e)}).data({modal:t.modal});f.trigger("posinit"),t.closeOnEscape&&e(document).on("keyup."+l,function(t){t.keyCode==e.ui.keyCode.ESCAPE&&f.hasClass(a)&&(n.elfinderdialog("close"),e(document).off("keyup."+l))}),f.prepend(e('").prepend(e(' ').mousedown(function(e){e.preventDefault(),n.elfinderdialog("close")}))),e.each(t.buttons,function(i,a){var r=e(''+i+" ").click(e.proxy(a,n[0])).hover(function(n){t.btnHoverFocus?e(this)["mouseenter"==n.type?"focus":"blur"]():e(this).toggleClass(s,"mouseenter"==n.type)}).focus(function(){e(this).addClass(s)}).blur(function(){e(this).removeClass(s)}).keydown(function(t){var n;t.stopPropagation(),t.keyCode==e.ui.keyCode.ENTER?(t.preventDefault(),e(this).click()):t.keyCode==e.ui.keyCode.TAB||t.keyCode==e.ui.keyCode.RIGHT?(t.preventDefault(),n=e(this).next(".ui-button"),n.length?n.focus():e(this).parent().children(".ui-button:first").focus()):t.keyCode==e.ui.keyCode.LEFT&&(t.preventDefault(),n=e(this).prev(".ui-button"),n.length?n.focus():e(this).parent().children(".ui-button:last").focus())});h?c.append(r):c.prepend(r)}),c.children().length&&(f.append(u),f.show(),u.find("button").each(function(t,n){p+=e(n).outerWidth(!0)}),f.hide(),p+=20,f.width()n:n>t,r=l?n>t:n&&t>n;(a||r)&&d()}).on("touchend",function(){i.data("startX")&&d()}),t.UA.Mobile&&(i.data("defWidth",a.width()),e(window).on("resize",function(){var e=a.parent().width()/2;i.data("defWidth")>e?a.width(e):a.width(i.data("defWidth")),i.data("width",a.width())}))}t.one("open",function(){setTimeout(function(){a.trigger("resize")},150)})}}),this},e.fn.elfinderoverlay=function(t){if(this.filter(":not(.elfinder-overlay)").each(function(){t=e.extend({},t),e(this).addClass("ui-front ui-widget-overlay elfinder-overlay").hide().mousedown(function(e){e.preventDefault(),e.stopPropagation()}).data({cnt:0,show:"function"==typeof t.show?t.show:function(){},hide:"function"==typeof t.hide?t.hide:function(){}})}),"show"==t){var n=this.eq(0),i=n.data("cnt")+1,a=n.data("show");n.data("cnt",i),n.is(":hidden")&&(n.show(),a())}if("hide"==t){var n=this.eq(0),i=n.data("cnt")-1,r=n.data("hide");n.data("cnt",i),0==i&&n.is(":visible")&&(n.hide(),r())}return this},e.fn.elfinderpanel=function(t){return this.each(function(){var n=e(this).addClass("elfinder-panel ui-state-default ui-corner-all"),i="margin-"+("ltr"==t.direction?"left":"right");t.one("load",function(){var e=t.getUI("navbar");n.css(i,parseInt(e.outerWidth(!0))),e.on("resize",function(){n.is(":visible")&&n.css(i,parseInt(e.outerWidth(!0)))})})})},e.fn.elfinderpath=function(t){return this.each(function(){var n="",i="",a=[],r=e(this).addClass("elfinder-path").html(" ").on("click","a",function(i){var r=e(this).attr("href").substr(5);i.preventDefault(),r!=t.cwd().hash&&(n?t.exec("search",n,{target:r,mime:a.join(" ")}):t.exec("open",r))}).prependTo(t.getUI("statusbar").show());t.bind("open searchend parents",function(){var o=[];n="",i="",a=[],e.each(t.parents(t.cwd().hash),function(e,n){o.push(''+t.escape(t.file(n).name)+" ")}),r.html(o.join(t.option("separator")))}).bind("searchstart",function(e){e.data&&(n=e.data.query||"",i=e.data.target||"",a=e.data.mimes||[])}).bind("search",function(){var n=[],a="";i?(e.each(t.parents(i),function(e,i){n.push(''+t.escape(t.file(i).name)+" ")}),a=n.join(t.option("separator"))):a=t.i18n("btnAll"),r.html(t.i18n("searcresult")+": "+a)})})},e.fn.elfinderplaces=function(t,n){return this.each(function(){var i={},a="class",r=t.res(a,"navdir"),o=t.res(a,"navcollapse"),s=t.res(a,"navexpand"),l=t.res(a,"hover"),d=t.res(a,"treeroot"),c=t.res(a,"adroppable"),u=t.res("tpl","placedir"),p=t.res("tpl","perms"),h=e(t.res("tpl","navspinner")),f="places"+(n.suffix?n.suffix:""),m=null,g=function(e){return e.substr(6)},v=function(e){return"place-"+e},b=function(){var n=[],a=[];n=e.map(S.children().find("[id]"),function(e){return g(e.id)}),e.each(n.reverse(),function(e,t){a.push(t+"#"+i[t].name)}),t.storage(f,a.join(","))},y=function(n,i){return e(u.replace(/\{id\}/,v(n?n.hash:i)).replace(/\{name\}/,t.escape(n?n.name:i)).replace(/\{cssclass\}/,n?(t.UA.Touch?"elfinder-touch ":"")+t.perms2class(n):"").replace(/\{permissions\}/,!n||n.read&&n.write?"":p).replace(/\{title\}/,n&&n.path?t.escape(n.path):"").replace(/\{symlink\}/,"").replace(/\{style\}/,""))},w=function(e){var n,a;return"directory"!==e.mime?!1:(a=e.hash,t.files().hasOwnProperty(a)||t.trigger("tree",{tree:[e]}),n=y(e,a),e.notfound&&n.addClass("ui-state-disabled"),i[a]=e,S.prepend(n),F.addClass(o),!0)},k=function(t){var n,a=null;return i[t]&&(delete i[t],n=e("#"+v(t)),n.length&&(a=n.text(),n.parent().remove(),S.children().length||(F.removeClass(o),M.removeClass(s),S.slideToggle(!1)))),a},x=function(n){var i=e("#"+v(n)),a=i.parent(),r=a.prev("div"),o="ui-state-hover",s=t.getUI("contextmenu");m&&clearTimeout(m),r.length&&(s.find(":first").data("placesHash",n),i.addClass(o),a.insertBefore(r),r=a.prev("div"),m=setTimeout(function(){i.removeClass(o),s.find(":first").data("placesHash")===n&&s.hide().empty()},1500)),r.length||(i.removeClass(o),s.hide().empty())},C=function(t,n){var a=t.hash,r=e("#"+v(n||a)),o=y(t,a);return r.length>0?(t.notfound&&o.addClass("ui-state-disabled"),r.parent().replaceWith(o),i[a]=t,!0):!1},T=function(){e.each(i,function(n,i){var a=t.file(n)||i,o=y(a,n),s=null;return a||o.hide(),S.children().length&&(e.each(S.children(),function(){var t=e(this);return a.name.localeCompare(t.children("."+r).text())<0?s=!o.insertBefore(t):void 0}),null!==s)?!0:(!e("#"+v(n)).length&&S.append(o),void 0)}),b()},I=y({hash:"root-"+t.namespace,name:t.i18n(n.name,"places"),read:!0,write:!0}),F=I.children("."+r).addClass(d).click(function(e){e.stopPropagation(),F.hasClass(o)&&(M.toggleClass(s),S.slideToggle(),t.storage("placesState",M.hasClass(s)?1:0))}).append(e(' ').on("click",function(e){e.stopPropagation(),S.empty(),T()})),S=I.children("."+t.res(a,"navsubtree")).sortable({appendTo:"body",revert:!1,helper:function(n){var i=e(n.target).parent();return i.children().removeClass("ui-state-hover"),e('
').append(e('
').show().append(i.clone()))},stop:function(t,n){var i=e(n.item[0]),a=M.offset().top,r=M.offset().left,o=M.width(),s=M.height(),l=t.pageX,d=t.pageY;l>r&&r+o>l&&d>a&&d+s>d||(k(g(i.children(":first").attr("id"))),b())},update:function(){b()}}),M=e(this).addClass(t.res(a,"tree")+" elfinder-places ui-corner-all").hide().append(I).appendTo(t.getUI("navbar")).on("mouseenter mouseleave","."+r,function(t){e(this).toggleClass("ui-state-hover","mouseenter"==t.type)}).on("click","."+r,function(n){var i=e(this);return i.data("longtap")?(n.stopPropagation(),void 0):(t.exec("open",i.attr("id").substr(6)),void 0)}).on("contextmenu","."+r+":not(."+d+")",function(n){var i=e(this),a=i.attr("id").substr(6);n.preventDefault(),t.trigger("contextmenu",{raw:[{label:t.i18n("moveUp"),icon:"up",remain:!0,callback:function(){x(a),b()}},"|",{label:t.i18n("rmFromPlaces"),icon:"rm",callback:function(){k(a),b()}}],x:n.pageX,y:n.pageY}),i.addClass("ui-state-hover"),t.getUI("contextmenu").children().on("mouseenter",function(){i.addClass("ui-state-hover")}),t.bind("closecontextmenu",function(){i.removeClass("ui-state-hover")})}).droppable({tolerance:"pointer",accept:".elfinder-cwd-file-wrapper,.elfinder-tree-dir,.elfinder-cwd-file",hoverClass:t.res("class","adroppable"),classes:{"ui-droppable-hover":t.res("class","adroppable")},over:function(n,a){var r=a.helper,o=e.map(r.data("files"),function(e){return"directory"!==t.file(e).mime||i[e]?null:e});n.stopPropagation(),r.data("dropover",r.data("dropover")+1),o.length>0?r.addClass("elfinder-drag-helper-plus"):e(this).removeClass(c),t.trigger("unlockfiles",{files:r.data("files"),helper:r})},out:function(n,i){var a=i.helper;n.stopPropagation(),a.removeClass("elfinder-drag-helper-move elfinder-drag-helper-plus").data("dropover",Math.max(a.data("dropover")-1,0)),e(this).removeData("dropover").removeClass(c),t.trigger("unlockfiles",{files:a.data("files"),helper:a})},drop:function(n,a){var r=a.helper,o=!0;e.each(r.data("files"),function(e,n){var a=t.file(n);a&&"directory"==a.mime&&!i[a.hash]?w(a):o=!1}),b(),o&&r.hide()}}).on("touchstart","."+r+":not(."+d+")",function(n){var i=e(this).attr("id").substr(6),a=e(this).addClass(l).data("longtap",null).data("tmlongtap",setTimeout(function(){a.data("longtap",!0),t.trigger("contextmenu",{raw:[{label:t.i18n("rmFromPlaces"),icon:"rm",callback:function(){k(i),b()}}],x:n.originalEvent.touches[0].pageX,y:n.originalEvent.touches[0].pageY})},500))}).on("touchmove touchend","."+r+":not(."+d+")",function(t){clearTimeout(e(this).data("tmlongtap")),"touchmove"==t.type&&e(this).removeClass(l)});e(this).on("regist",function(t,n){var a=!1;e.each(n,function(e,t){t&&"directory"==t.mime&&!i[t.hash]&&w(t)&&(a=!0)}),a&&b()}),t.one("load",function(){var n,a;t.oldAPI||(M.show().parent().show(),i={},n=e.map((t.storage(f)||"").split(","),function(e){return e||null}),e.each(n,function(e,t){var n=t.split("#");i[n[0]]=n[1]?n[1]:n[0]}),t.trigger("placesload",{dirs:i,storageKey:f},!0),a=Object.keys(i),a.length&&(F.prepend(h),t.request({data:{cmd:"info",targets:a},preventDefault:!0}).done(function(n){var a={};e.each(n.files,function(e,t){var n=t.hash;a[n]=t}),e.each(i,function(e,t){w(a[e]||{hash:e,name:t,mime:"directory",notfound:!0})}),t.storage("placesState")>0&&F.click()}).always(function(){h.remove()})),t.change(function(t){var n=!1;e.each(t.data.changed,function(e,t){i[t.hash]&&("directory"!==t.mime?k(t.hash)&&(n=!0):C(t)&&(n=!0))}),n&&b()}).bind("rename",function(t){var n=!1;t.data.removed&&e.each(t.data.removed,function(e,i){t.data.added[e]&&C(t.data.added[e],i)&&(n=!0)}),n&&b()}).bind("rm paste",function(t){var n=[],i=!1;t.data.removed&&e.each(t.data.removed,function(e,t){var i=k(t);i&&n.push(i)}),n.length&&(i=!0),t.data.added&&n.length&&e.each(t.data.added,function(t,i){1!==e.inArray(i.name,n)&&"directory"==i.mime&&w(i)}),i&&b()}).bind("sync",function(){var n=Object.keys(i);n.length&&(F.prepend(h),t.request({data:{cmd:"info",targets:n},preventDefault:!0}).done(function(n){var a={},r=!1,o=t.cwd().hash;e.each(n.files||[],function(e,n){var i=n.hash;a[i]=n,t.files().hasOwnProperty(n.hash)||t.trigger("tree",{tree:[n]})}),e.each(i,function(e,t){!t.notfound!=!!a[e]?t.phash===o||a[e]&&"directory"!==a[e].mime?k(e)&&(r=!0):C(a[e]||{hash:e,name:t.name,mime:"directory",notfound:!0})&&(r=!0):a[e]&&a[e].phash!=o&&C(a[e])}),r&&b()}).always(function(){h.remove()}))}))})})},e.fn.elfindersearchbutton=function(t){return this.each(function(){var n=!1,i=t.fm,a=function(e){return i.namespace+e},r=i.getUI("toolbar"),o=i.res("class","searchbtn"),s=e(this).hide().addClass("ui-widget-content elfinder-button "+o),l=function(){u&&u.slideUp();var r=e.trim(c.val()),o=!e("#"+a("SearchFromAll")).prop("checked"),s=e("#"+a("SearchMime")).prop("checked");o&&(o=e("#"+a("SearchFromVol")).prop("checked")?i.root(i.cwd().hash):i.cwd().hash),s&&(s=r,r="."),r?t.exec(r,o,s).done(function(){n=!0,c.focus()}).fail(function(){d()}):i.trigger("searchend")},d=function(){u&&u.slideUp(),c.val(""),n&&(n=!1,i.trigger("searchend"))},c=e(' ').focus(function(){u&&u.slideDown()}).blur(function(){u&&(u.data("infocus")?u.data("infocus",!1):u.slideUp())}).appendTo(s).keypress(function(e){e.stopPropagation()}).keydown(function(e){e.stopPropagation(),13==e.keyCode&&l(),27==e.keyCode&&(e.preventDefault(),d())}),u=i.api<2.1?null:e('').append(e('
').append(e(''+i.i18n("btnCwd")+" "),e(''+i.i18n("btnVolume")+" "),e(''+i.i18n("btnAll")+" ")),e('
').append(e(''+i.i18n("btnFileName")+" "),e(''+i.i18n("btnMime")+" "))).hide().css("overflow","hidden").appendTo(s);e(' ').appendTo(s).click(l),e(' ').appendTo(s).click(d),e(function(){u&&(u.find("div.buttonset").buttonset(),e("#"+a("SearchFromAll")).next("label").attr("title",i.i18n("searchTarget",i.i18n("btnAll"))),e("#"+a("SearchMime")).next("label").attr("title",i.i18n("searchMime")),u.find("input").on("mousedown",function(){u.data("infocus",!0)}).on("click",function(){e.trim(c.val())&&l()}))}),r.on("load",function(){var e=s.parent();if(e.length){if(r.children("."+o).remove(),r.prepend(s.show()),e.remove(),i.UA.ltIE7){var t=s.children("ltr"==i.direction?".ui-icon-close":".ui-icon-search");
t.css({right:"",left:parseInt(s.width())-t.outerWidth(!0)})}i.resize()}}),i.select(function(){c.blur()}).bind("searchend",function(){c.val("")}).bind("open parents",function(){var t=[],n=i.file(i.root(i.cwd().hash));n&&(e.each(i.parents(i.cwd().hash),function(e,n){t.push(i.file(n).name)}),e("#"+a("SearchFromCwd")).next("label").attr("title",i.i18n("searchTarget",t.join(i.option("separator")))),e("#"+a("SearchFromVol")).next("label").attr("title",i.i18n("searchTarget",n.name)))}).shortcut({pattern:"ctrl+f f3",description:t.title,callback:function(){c.select().focus()}})})},e.fn.elfindersortbutton=function(t){return this.each(function(){var n=t.fm,i=t.name,a="class",r=n.res(a,"disabled"),o=n.res(a,"hover"),s="elfinder-button-menu-item",l=s+"-selected",d=l+"-asc",c=l+"-desc",u=e(this).addClass("ui-state-default elfinder-button elfinder-menubutton elfiner-button-"+i).attr("title",t.title).append(' ').hover(function(){!u.hasClass(r)&&u.toggleClass(o)}).click(function(e){u.hasClass(r)||(e.stopPropagation(),p.is(":hidden")&&t.fm.getUI().click(),p.slideToggle(100))}),p=e('').hide().appendTo(u).on("mouseenter mouseleave","."+s,function(){e(this).toggleClass(o)}).on("click","."+s,function(e){e.preventDefault(),e.stopPropagation(),f()}),h=function(){p.children(":not(:last)").removeClass(l+" "+d+" "+c).filter('[rel="'+n.sortType+'"]').addClass(l+" "+("asc"==n.sortOrder?d:c)),p.children(":last").toggleClass(l,n.sortStickFolders)},f=function(){p.hide()};e.each(n.sortRules,function(t){p.append(e(' '+n.i18n("sort"+t)+"
").data("type",t))}),p.children().click(function(){var i=e(this).attr("rel");t.exec([],{type:i,order:i==n.sortType?"asc"==n.sortOrder?"desc":"asc":n.sortOrder,stick:n.sortStickFolders})}),e(' '+n.i18n("sortFoldersFirst")+"
").appendTo(p).click(function(){t.exec([],{type:n.sortType,order:n.sortOrder,stick:!n.sortStickFolders})}),n.bind("disable select",f).getUI().click(f),n.bind("sortchange",h),p.children().length>1?t.change(function(){u.toggleClass(r,t.disabled()),h()}).change():u.addClass(r)})},e.fn.elfinderstat=function(t){return this.each(function(){var n=e(this).addClass("elfinder-stat-size"),i=e('
').on("click","a",function(n){var i=e(this).data("hash");n.preventDefault(),t.exec("opendir",[i])}),a=t.i18n("size"),r=t.i18n("items"),o=t.i18n("selected"),s=function(i,o){var s=0,l=0;e.each(i,function(e,t){o&&t.phash!=o||(s++,l+=parseInt(t.size)||0)}),n.html(r+": "+s+", "+a+": "+t.formatSize(l))},l=!1;t.getUI("statusbar").prepend(n).append(i).show(),t.bind("open reload add remove change searchend",function(){s(t.files(),t.cwd().hash)}).bind("searchend",function(){l=!1}).search(function(e){l=!0,s(e.data.files)}).select(function(){var n,r=0,s=0,d=t.selectedFiles(),c=[];return 1==d.length?(n=d[0],r=n.size,l&&c.push(''+(n.path?n.path.replace(/\/[^\/]*$/,""):"..")+" "),c.push(t.escape(n.name)),i.html(c.join("/")+(r>0?", "+t.formatSize(r):"")),void 0):(e.each(d,function(e,t){s++,r+=parseInt(t.size)||0}),i.html(s?o+": "+s+", "+a+": "+t.formatSize(r):" "),void 0)})})},e.fn.elfindertoolbar=function(t,n){return this.not(".elfinder-toolbar").each(function(){var i,a,r,o,s,l=t._commands,d=e(this).addClass("ui-helper-clearfix ui-widget-header ui-corner-top elfinder-toolbar"),c=n||[],u=null,p="";d.prev().length&&d.parent().prepend(this);var h=function(t){var n;for(d.empty(),i=c.length;i--;)if(c[i]){for(o=e('
'),a=c[i].length;a--;)n=c[i][a],t&&-1!==e.inArray(n,t)||!(r=l[n])||(s="elfinder"+r.options.ui,e.fn[s]&&o.prepend(e("
")[s](r)));o.children().length&&d.prepend(o),o.children(":gt(0)").before(' ')}d.children().length?d.show():d.hide(),d.trigger("load")};h(),t.bind("open sync",function(){var n=[],i=t.option("disabled");u&&u.toString()===i.sort().toString()||h(i&&i.length?i:null),u=i.concat().sort(),p!==JSON.stringify(t.commandMap)&&(p=JSON.stringify(t.commandMap),Object.keys(t.commandMap).length&&e.each(t.commandMap,function(i,a){var r=t._commands[a],o=r?"elfinder"+r.options.ui:null;if(o&&e.fn[o]){n.push(i);var s=e("div.elfinder-buttonset div.elfinder-button").has("span.elfinder-button-icon-"+i);s.length&&!s.next().has("span.elfinder-button-icon-"+a).length&&(s.after(e("
")[o](t._commands[a]).data("origin",i)),s.hide())}}),e.each(e("div.elfinder-button"),function(){var t=e(this).data("origin");t&&-1==e.inArray(t,n)&&(e("span.elfinder-button-icon-"+e(this).data("origin")).parent().show(),e(this).remove())}))})}),this},e.fn.elfindertree=function(t,n){var i=t.res("class","tree");return this.not("."+i).each(function(){var a="class",r=t.UA.Mobile,o=t.res(a,"treeroot"),s=n.openRootOnLoad,l=n.openCwdOnOpen,d=t.res(a,"navsubtree"),c=t.res(a,"treedir"),u="span."+c,p=t.res(a,"navcollapse"),h=t.res(a,"navexpand"),f="elfinder-subtree-loaded",m=t.res(a,"navarrow"),g=t.res(a,"active"),v=t.res(a,"adroppable"),b=t.res(a,"hover"),y=t.res(a,"disabled"),w=t.res(a,"draggable"),k=t.res(a,"droppable"),x="elfinder-navbar-wrapper-pastable",C="elfinder-navbar-wrapper-uploadable",T=function(e){var t=$.offset().left;return e>=t&&e<=t+$.width()},I=t.droppable.drop,F=e.extend(!0,{},t.droppable,{over:function(n,i){var a,r,o=e(this),s=i.helper,l=b+" "+v;return n.stopPropagation(),s.data("dropover",s.data("dropover")+1),o.data("dropover",!0),i.helper.data("namespace")!==t.namespace?(o.removeClass(l),!1):(o.addClass(b),o.is("."+p+":not(."+h+")")&&o.data("expandTimer",setTimeout(function(){o.children("."+m).click()},500)),a=t.navId2Hash(o.attr("id")),o.data("dropover",a),e.each(i.helper.data("files"),function(e,n){return n===a||t.file(n).phash===a&&!i.helper.hasClass("elfinder-drag-helper-plus")?(o.removeClass(l),!1):void 0}),s.data("locked")?r="elfinder-drag-helper-plus":(r="elfinder-drag-helper-move",(n.shiftKey||n.ctrlKey||n.metaKey)&&(r+=" elfinder-drag-helper-plus")),o.hasClass(v)&&s.addClass(r),setTimeout(function(){o.hasClass(v)&&s.addClass(r)},20),void 0)},out:function(t,n){var i=e(this),a=n.helper;t.stopPropagation(),a.removeClass("elfinder-drag-helper-move elfinder-drag-helper-plus").data("dropover",Math.max(a.data("dropover")-1,0)),i.data("expandTimer")&&clearTimeout(i.data("expandTimer")),i.removeData("dropover").removeClass(b+" "+v)},deactivate:function(){e(this).removeData("dropover").removeClass(b+" "+v)},drop:function(e,t){T(e.clientX)&&I.call(this,e,t)}}),S=e(t.res("tpl","navspinner")),M=t.res("tpl","navdir"),P=t.res("tpl","perms"),D=(t.res("tpl","lock"),t.res("tpl","symlink")),O={id:function(e){return t.navHash2Id(e.hash)},cssclass:function(e){var i=(t.UA.Touch?"elfinder-touch ":"")+(e.phash?"":o)+" "+c+" "+t.perms2class(e);return e.dirs&&!e.link&&(i+=" "+p),n.getClass&&(i+=" "+n.getClass(e)),e.csscls&&(i+=" "+t.escape(e.csscls)),i},permissions:function(e){return e.read&&e.write?"":P},symlink:function(e){return e.alias?D:""},style:function(e){return e.icon?"style=\"background-image:url('"+t.escape(e.icon)+"')\"":""}},A=function(e){return e.name=t.escape(e.i18||e.name),M.replace(/(?:\{([a-z]+)\})/gi,function(t,n){return e[n]||(O[n]?O[n](e):"")})},U=function(t){return e.map(t||[],function(e){return"directory"==e.mime?e:null})},z=function(n){return n?e("#"+t.navHash2Id(n)).next("."+d):L},E=function(n,i){var a,r,o=n.children(":first");for(r=t.naturalCompare;o.length;){if(a=t.file(t.navId2Hash(o.children("[id]").attr("id"))),(a=t.file(t.navId2Hash(o.children("[id]").attr("id"))))&&r(i.name,a.name)<0)return o;o=o.next()}return e("")},j=function(n){for(var i,a,o,s,l,d=n.length,c=[],u=n.length,p={},h=!0;u--;)i=n[u],e("#"+t.navHash2Id(i.hash)).length||((a=z(i.phash)).length?i.phash&&((s=!a.children().length)||(o=E(a,i)).length)?s?(p[i.phash]||(p[i.phash]=[]),p[i.phash].push(i)):o.before(A(i)):(a[h||i.phash?"append":"prepend"](A(i)),h=!1,i.phash||(l=e("#"+t.navHash2Id(i.hash)).parent(),!i.disabled||i.disabled.length<1?l.addClass(x+" "+C):(-1===e.inArray("paste",i.disabled)&&l.addClass(x),-1===e.inArray("upload",i.disabled)&&l.addClass(C)))):c.push(i));return Object.keys(p).length&&e.each(p,function(t,n){var i=z(t),a=[];n.sort(_),e.each(n,function(e,t){a.push(A(t))}),i.append(a.join(""))}),c.length&&c.lengths||s>o)&&i.animate({scrollTop:i.scrollTop()+s-a-r/3},{duration:"fast"})}},R=function(i,a){var r,c,v,b,y,w,k=t.cwd(),x=k.hash,C=e("#"+t.navHash2Id(x)),i=i||!1,a=a||[];if(s&&(r=e("#"+t.navHash2Id(t.root())),r.hasClass(f)&&r.addClass(h).next("."+d).show(),s=!1),C.hasClass(g)||(L.find(u+"."+g).removeClass(g),C.addClass(g)),n.syncTree||!C.length){if(C.length)return i||(C.addClass(f),l&&C.hasClass(p)&&C.addClass(h).next("."+d).slideDown()),b=C.parentsUntil("."+o).filter("."+d),y=b.length,w=1,b.show().prev(u).addClass(h,function(){!i&&y==w++&&H()}),!y&&!i&&H(),void 0;if(t.newAPI){if(c=t.file(x),c&&c.phash&&(v=e("#"+t.navHash2Id(c.phash)),v.length&&v.hasClass(f)))return j([c]),R(i),void 0;v=k.root?e("#"+t.navHash2Id(k.root)):null,v&&(S.insertBefore(v.children("."+m)),v.removeClass(p)),t.request({data:{cmd:"parents",target:x},preventFail:!0}).done(function(n){t.api<2.1&&(n.tree=n.tree.concat([k])),a=e.merge(a,U(n.tree)),j(a),N(a,f),x==k.hash&&R(i)}).always(function(){v&&(S.remove(),v.addClass(p+" "+f))})}}},q=function(e){var t,n=100;e||(L.find("div."+C).find(u+":not(.elfinder-ro,.elfinder-na)").addClass("native-droppable"),e=L.find("div."+x).find(u+":not(."+k+",.elfinder-ro,.elfinder-na)")),e.length>n&&(t=e.slice(n),e=e.slice(0,n)),e.droppable(F),t&&setTimeout(function(){q(t)},20)},N=function(n,i){var a=i==f?"."+p+":not(."+f+")":":not(."+p+")";e.each(n,function(n,r){e("#"+t.navHash2Id(r.phash)+a).filter(function(){return e(this).next("."+d).children().length>0}).addClass(i)})},L=e(this).addClass(i).on("mouseenter mouseleave",u,function(n){var i=e(this),a="mouseenter"==n.type;i.hasClass(v+" "+y)||(!r&&a&&!i.hasClass(o+" "+w+" elfinder-na elfinder-wo")&&i.draggable(t.draggable),i.toggleClass(b,a))}).on("dropover dropout drop",u,function(t){e(this)["dropover"==t.type?"addClass":"removeClass"](v+" "+b)}).on("click",u,function(n){var i=e(this),a=t.navId2Hash(i.attr("id"));return t.file(a),i.data("longtap")?(n.stopPropagation(),void 0):(t.trigger("searchend",{noupdate:!0}),a==t.cwd().hash||i.hasClass(y)?i.hasClass(p)&&i.children("."+m).click():t.exec("open",a),void 0)}).on("touchstart",u,function(n){n.stopPropagation();var i=n.originalEvent,a=e(this).addClass(b).data("longtap",null).data("tmlongtap",setTimeout(function(){a.data("longtap",!0),t.trigger("contextmenu",{type:"navbar",targets:[t.navId2Hash(a.attr("id"))],x:i.touches[0].pageX,y:i.touches[0].pageY})},500))}).on("touchmove touchend",u,function(t){t.stopPropagation(),clearTimeout(e(this).data("tmlongtap")),"touchmove"==t.type&&e(this).removeClass(b)}).on("click",u+"."+p+" ."+m,function(n){var i,a=e(this),r=a.parent(u),o=r.next("."+d),s=30;n.stopPropagation(),r.hasClass(f)?(r.toggleClass(h),i=r.hasClass(h)?o.children().length+o.find("div.elfinder-navbar-subtree[style*=block]").children().length:o.find("div:visible").length,i>s?(o.toggle(),t.draggingUiHelper&&t.draggingUiHelper.data("refreshPositions",1)):o.stop(!0,!0).slideToggle("normal",function(){t.draggingUiHelper&&t.draggingUiHelper.data("refreshPositions",1)})):(S.insertBefore(a),r.removeClass(p),t.request({cmd:"tree",target:t.navId2Hash(r.attr("id"))}).done(function(e){j(U(e.tree)),o.children().length&&(r.addClass(p+" "+h),o.children().length>s?(o.show(),t.draggingUiHelper&&t.draggingUiHelper.data("refreshPositions",1)):o.stop(!0,!0).slideDown("normal",function(){t.draggingUiHelper&&t.draggingUiHelper.data("refreshPositions",1)})),R(!0)}).always(function(){S.remove(),r.addClass(f)}))}).on("contextmenu",u,function(n){var i=e(this);n.preventDefault(),t.trigger("contextmenu",{type:"navbar",targets:[t.navId2Hash(e(this).attr("id"))],x:n.pageX,y:n.pageY}),i.addClass("ui-state-hover"),t.getUI("contextmenu").children().on("mouseenter",function(){i.addClass("ui-state-hover")}),t.bind("closecontextmenu",function(){i.removeClass("ui-state-hover")})}),$=t.getUI("navbar").append(L).show();t.open(function(n){var i=n.data,a=U(i.files),r=t.getUI("contextmenu");i.init&&L.empty(),t.UA.iOS&&$.removeClass("overflow-scrolling-touch").addClass("overflow-scrolling-touch"),a.length&&(r.data("cmdMaps")||r.data("cmdMaps",{}),j(a),N(a,f),e.each(a,function(e,t){t.volumeid&&t.uiCmdMap&&Object.keys(t.uiCmdMap).length&&!r.data("cmdMaps")[t.volumeid]&&(r.data("cmdMaps")[t.volumeid]=t.uiCmdMap)})),R(!1,a)}).add(function(e){var t=U(e.data.added);t.length&&(j(t),N(t,p))}).change(function(n){for(var i,a,o,s,l,c,p,m,g,v=U(n.data.changed),b=v.length,y=b;y--;)if(i=v[y],(a=e("#"+t.navHash2Id(i.hash))).length){if(i.phash){if(s=a.closest("."+d),l=z(i.phash),c=a.parent().next(),p=E(l,i),!l.length)continue;(l[0]!==s[0]||c.get(0)!==p.get(0))&&(p.length?p.before(a):l.append(a))}m=a.hasClass(h),g=a.hasClass(f),o=e(A(i)),a.replaceWith(o.children(u)),i.dirs&&(m||g)&&(a=e("#"+t.navHash2Id(i.hash)))&&a.next("."+d).children().length&&(m&&a.addClass(h),g&&a.addClass(f))}R(),b&&!r&&q()}).remove(function(n){for(var i,a,r=n.data.removed,o=r.length;o--;)(i=e("#"+t.navHash2Id(r[o]))).length&&(a=i.closest("."+d),i.parent().detach(),a.children().length||a.hide().prev(u).removeClass(p+" "+h+" "+f))}).bind("lockfiles unlockfiles",function(n){var i="lockfiles"==n.type,a=n.data.helper?n.data.helper.data("locked"):!1,r=i&&!a?"disable":"enable",o=e.map(n.data.files||[],function(e){var n=t.file(e);return n&&"directory"==n.mime?e:null});e.each(o,function(n,o){var s=e("#"+t.navHash2Id(o));s.length&&!a&&(s.hasClass(w)&&s.draggable(r),s.hasClass(k)&&s.droppable(r),s[i?"addClass":"removeClass"](y))})})}),this},e.fn.elfinderuploadbutton=function(t){return this.each(function(){var n=e(this).elfinderbutton(t).off("click"),i=e("").appendTo(n),a=e(' ').change(function(){var n=e(this);n.val()&&(t.exec({input:n.remove()[0]}),a.clone(!0).appendTo(i))}).on("dragover",function(e){e.originalEvent.dataTransfer.dropEffect="copy"});i.append(a.clone(!0)),t.change(function(){i[t.disabled()?"hide":"show"]()}).change()})},e.fn.elfinderviewbutton=function(t){return this.each(function(){var n=e(this).elfinderbutton(t),i=n.children(".elfinder-button-icon");t.change(function(){var e="icons"==t.value;i.toggleClass("elfinder-button-icon-view-list",e),n.attr("title",t.fm.i18n(e?"viewlist":"viewicons"))})})},e.fn.elfinderworkzone=function(){var t="elfinder-workzone";return this.not("."+t).each(function(){var n=e(this).addClass(t),i=n.outerHeight(!0)-n.height(),a=n.parent();a.add(window).on("resize",function(){var r=a.height();a.children(":visible:not(."+t+")").each(function(){var t=e(this);"absolute"!=t.css("position")&&"fixed"!=t.css("position")&&(r-=t.outerHeight(!0))}),n.height(r-i)})}),this},elFinder.prototype.commands.archive=function(){var t,n=this,i=n.fm,a=[];this.variants=[],this.disableOnSearch=!1,i.bind("open reload",function(){n.variants=[],e.each(a=i.option("archivers").create||[],function(e,t){n.variants.push([t,i.mime2kind(t)])}),n.change()}),this.getstate=function(n){var r,n=this.files(n),o=n.length,s=i.cwd().write;return s&&i.searchStatus.state>1&&(r=i.cwd().volumeid,s=o===e.map(n,function(e){return e.read&&0===e.hash.indexOf(r)?e:null}).length),s&&!this._disabled&&a.length&&(o||t&&"pending"==t.state())?0:-1},this.exec=function(r,o){var s,l,d=this.files(r),c=d.length,u=o||a[0],p=i.cwd(),h=["errArchive","errPerm","errCreatingTempDir","errFtpDownloadFile","errFtpUploadFile","errFtpMkdir","errArchiveExec","errExtractExec","errRm"];if(t=e.Deferred().fail(function(e){e&&i.error(e)}),!(this.enabled()&&c&&a.length&&-1!==e.inArray(u,a)))return t.reject();if(!p.write)return t.reject(h);for(s=0;c>s;s++)if(!d[s].read)return t.reject(h);return n.mime=u,n.prefix=(c>1?"Archive":d[0].name)+"."+i.option("archivers").createext[u],n.data={targets:n.hashes(r),type:u},l=e.proxy(i.res("mixin","make"),n)(),t.reject(),l}},elFinder.prototype.commands.back=function(){this.alwaysEnabled=!0,this.updateOnSelect=!1,this.shortcuts=[{pattern:"ctrl+left backspace"}],this.getstate=function(){return this.fm.history.canBack()?0:-1},this.exec=function(){return this.fm.history.back()}},elFinder.prototype.commands.chmod=function(){this.updateOnSelect=!1;var t=this,n=this.fm,i={0:"owner",1:"group",2:"other"},a={read:n.i18n("read"),write:n.i18n("write"),execute:n.i18n("execute"),perm:n.i18n("perm"),kind:n.i18n("kind"),files:n.i18n("files")},r=function(e){return!isNaN(parseInt(e,8)&&parseInt(e,8)<=511)||e.match(/^([r-][w-][x-]){3}$/i)};this.tpl={main:' {title}
{dataTable}',itemTitle:'{name} {kind} ',groupTitle:"{items}: {num} ",dataTable:''+a.perm+':
',fieldset:'{f_title}{name} '+a.read+" "+' '+a.write+" "+' '+a.execute+" "},this.shortcuts=[{}],this.getstate=function(e){var n=this.fm;return e=e||n.selected(),0==e.length&&(e=[n.cwd().hash]),!this._disabled&&t.checkstate(this.files(e))?0:-1},this.checkstate=function(t){var n=t.length;if(!n)return!1;var i=e.map(t,function(e){return e.isowner&&e.perm&&r(e.perm)&&(1==n||"directory"!=e.mime)?e:null}).length;return n==i?!0:!1},this.exec=function(t){var n=this.files(t);n.length||(t=[this.fm.cwd().hash],n=this.files(t));var o,s,l=this.fm,d=e.Deferred().always(function(){l.enable()}),c=this.tpl,t=this.hashes(t),u=n.length,p=n[0],h=l.namespace+"-perm-"+p.hash,f=c.main,m=' checked="checked"',g=function(){var e={};return e[l.i18n("btnApply")]=v,e[l.i18n("btnCancel")]=function(){I.elfinderdialog("close")},e},v=function(){var n=e.trim(e("#"+h+"-perm").val());return r(n)?(I.elfinderdialog("close"),l.request({data:{cmd:"chmod",targets:t,mode:n},notify:{type:"chmod",cnt:u}}).fail(function(e){d.reject(e)}).done(function(e){d.resolve(e)}),void 0):!1},b=function(){for(var t,n="",a=0;3>a;a++)t=0,e("#"+h+"-read-"+i[a]+"-perm").is(":checked")&&(t=4|t),e("#"+h+"-write-"+i[a]+"-perm").is(":checked")&&(t=2|t),e("#"+h+"-execute-"+i[a]+"-perm").is(":checked")&&(t=1|t),n+=t.toString(8);e("#"+h+"-perm").val(n)},y=function(t){for(var n,a=0;3>a;a++)n=parseInt(t.slice(a,a+1),8),e("#"+h+"-read-"+i[a]+"-perm").prop("checked",!1),e("#"+h+"-write-"+i[a]+"-perm").prop("checked",!1),e("#"+h+"-execute-"+i[a]+"-perm").prop("checked",!1),4==(4&n)&&e("#"+h+"-read-"+i[a]+"-perm").prop("checked",!0),2==(2&n)&&e("#"+h+"-write-"+i[a]+"-perm").prop("checked",!0),1==(1&n)&&e("#"+h+"-execute-"+i[a]+"-perm").prop("checked",!0);b()},w=function(e){for(var t,n,i,a="777",r="",o=e.length,s=0;o>s;s++){t=C(e[s].perm),r="";for(var l=0;3>l;l++)n=parseInt(t.slice(l,l+1),8),i=parseInt(a.slice(l,l+1),8),4!=(4&n)&&4==(4&i)&&(i-=4),2!=(2&n)&&2==(2&i)&&(i-=2),1!=(1&n)&&1==(1&i)&&(i-=1),r+=i.toString(8);a=r}return a},k=function(e){return e?":"+e:""},x=function(e,t){for(var n,r,o="",s=c.dataTable,d=0;3>d;d++)n=parseInt(e.slice(d,d+1),8),o+=n.toString(8),r=c.fieldset.replace("{f_title}",l.i18n(i[d])).replace("{name}",k(t[i[d]])).replace(/\{level\}/g,i[d]),s=s.replace("{"+d+"}",r).replace("{checked-r}",4==(4&n)?m:"").replace("{checked-w}",2==(2&n)?m:"").replace("{checked-x}",1==(1&n)?m:"");return s=s.replace("{value}",o).replace("{valueCaption}",a.perm)},C=function(e){if(isNaN(parseInt(e,8))){for(var t=e.split(""),n=[],i=0,a=t.length;a>i;i++)0===i||3===i||6===i?t[i].match(/[r]/i)?n.push(1):t[i].match(/[-]/)&&n.push(0):1===i||4===i||7===i?t[i].match(/[w]/i)?n.push(1):t[i].match(/[-]/)&&n.push(0):t[i].match(/[x]/i)?n.push(1):t[i].match(/[-]/)&&n.push(0);n.splice(3,0,","),n.splice(7,0,",");for(var r=n.join(""),o=r.split(","),s=[],l=0,d=o.length;d>l;l++){var c=parseInt(o[l],2).toString(8);s.push(c)}e=s.join("")}else e=parseInt(e,8).toString(8);return e},T={title:this.title,width:"auto",buttons:g(),close:function(){e(this).elfinderdialog("destroy")}},I=l.getUI().find("#"+h),F="";return I.length?(I.elfinderdialog("toTop"),e.Deferred().resolve()):(f=f.replace("{class}",u>1?"elfinder-cwd-icon-group":l.mime2class(p.mime)),u>1?o=c.groupTitle.replace("{items}",l.i18n("items")).replace("{num}",u):(o=c.itemTitle.replace("{name}",p.name).replace("{kind}",l.mime2kind(p)),p.tmb&&(F=l.option("tmbUrl")+p.tmb)),s=x(w(n),1==n.length?n[0]:{}),f=f.replace("{title}",o).replace("{dataTable}",s).replace(/{id}/g,h),I=l.dialog(f,T),I.attr("id",h),F&&e(" ").on("load",function(){I.find(".elfinder-cwd-icon").css("background",'url("'+F+'") center center no-repeat')}).attr("src",F),e("#"+h+"-table-perm :checkbox").on("click",function(){b("perm")}),e("#"+h+"-perm").on("keydown",function(e){var t=e.keyCode;return e.stopPropagation(),13==t?(v(),void 0):void 0}).on("focus",function(){e(this).select()}).on("keyup",function(){3==e(this).val().length&&(e(this).select(),y(e(this).val()))}),d)}},elFinder.prototype.commands.copy=function(){this.shortcuts=[{pattern:"ctrl+c ctrl+insert"}],this.getstate=function(t){var t=this.files(t),n=t.length;return!this._disabled&&n&&e.map(t,function(e){return e.phash&&e.read?e:null}).length==n?0:-1},this.exec=function(t){var n=this.fm,i=e.Deferred().fail(function(e){n.error(e)});return e.each(this.files(t),function(e,t){return t.read&&t.phash?void 0:!i.reject(["errCopy",t.name,"errPerm"])}),"rejected"==i.state()?i:i.resolve(n.clipboard(this.hashes(t)))}},elFinder.prototype.commands.cut=function(){this.shortcuts=[{pattern:"ctrl+x shift+insert"}],this.getstate=function(t){var t=this.files(t),n=t.length;return!this._disabled&&n&&e.map(t,function(e){return e.phash&&e.read&&!e.locked?e:null}).length==n?0:-1},this.exec=function(t){var n=this.fm,i=e.Deferred().fail(function(e){n.error(e)});return e.each(this.files(t),function(e,t){return t.read&&t.phash?t.locked?!i.reject(["errLocked",t.name]):void 0:!i.reject(["errCopy",t.name,"errPerm"])}),"rejected"==i.state()?i:i.resolve(n.clipboard(this.hashes(t),!0))}},elFinder.prototype.commands.zipdl=function(){},elFinder.prototype.commands.download=function(){var t=this,n=this.fm,i=!1,a=function(a){var r=!1,o="";if(n.searchStatus.state>1&&""===n.searchStatus.target)a=e.map(a,function(e){return n.isCommandEnabled("download",e)?e:null}),o=n.root(a[0]),e.each(a,function(e,t){return(r=o!==n.root(t))?!1:void 0}),i=!r&&n.command("zipdl")&&n.isCommandEnabled("zipdl",o);else{if(!n.isCommandEnabled("download",a[0]))return[];i=n.command("zipdl")&&n.isCommandEnabled("zipdl",a[0])}return i?t.files(a):e.map(t.files(a),function(e){return"directory"==e.mime?null:e})};this.linkedCmds=["zipdl"],this.shortcuts=[{pattern:"shift+enter"}],this.getstate=function(t){var t=this.hashes(t),i=t.length,r=this.options.maxRequests||10,o=n.command("zipdl"),s=!1,l="";return i>0&&n.searchStatus.state>1&&""===n.searchStatus.target&&(l=n.root(t[0]),e.each(t,function(e,t){return(s=l!==n.root(t))?!1:void 0})),s||!o||o._disabled?!this._disabled&&i&&r>=i&&(!n.UA.IE&&!n.UA.Mobile||1==i)&&i==a(t).length?0:-1:!this._disabled&&i?0:-1},n.bind("contextmenu",function(n){var i,a,r=t.fm,o=null,s=function(t){var n=t.url||r.url(t.hash);return{icon:"link",node:e(" ").attr({href:n,target:"_blank",title:r.i18n("link")}).text(t.name).on("mousedown click touchstart touchmove touchend contextmenu",function(e){var t=r.getUI("contextmenu");e.stopPropagation(),t.data("mouseEvInternal",!0),setTimeout(function(){t.data("mouseEvInternal",!1)},500)}).on("dragstart",function(n){var i=n.dataTransfer||n.originalEvent.dataTransfer||null;if(o=null,i){var a=function(t){var n,i=t.mime;return n='
',t.tmb&&1!==t.tmb&&(n=e(n).css("background","url('"+r.option("tmbUrl")+t.tmb+"') center center no-repeat").get(0).outerHTML),n};i.effectAllowed="copyLink",i.setDragImage&&(o=e('').append(a(t)).appendTo(e(document.body)),i.setDragImage(o.get(0),50,47)),r.UA.IE||(i.setData("elfinderfrom",window.location.href+t.phash),i.setData("elfinderfrom:"+i.getData("elfinderfrom"),""))}}).on("dragend",function(){o&&o.remove()})}};if(t.extra=null,n.data&&(i=n.data.targets||[],1===i.length&&(a=r.file(i[0]))&&"directory"!==a.mime))if("1"!=a.url)t.extra=s(a);else{var l;t.extra={icon:"link",node:e("
").attr({href:"#",title:r.i18n("getLink"),draggable:"false"}).text(a.name).on("click",function(e){var t=l.parent();e.stopPropagation(),e.preventDefault(),t.removeClass("ui-state-disabled").addClass("elfinder-button-icon-spinner"),r.request({data:{cmd:"url",target:a.hash},preventDefault:!0}).always(function(e){if(t.removeClass("elfinder-button-icon-spinner"),e.url){var n=r.file(a.hash);n.url=e.url,l.replaceWith(s(a).node)}else t.addClass("ui-state-disabled")})})},l=t.extra.node,l.ready(function(){setTimeout(function(){l.parent().addClass("ui-state-disabled").css("pointer-events","auto")},10)})}}),this.exec=function(t){var n,r,t=this.hashes(t),o=this.fm,s=(o.options.url,a(t)),l=e.Deferred(),d="";if(!s.length)return l.reject();var c=e("
").hide().appendTo(e("body")),u="string"==typeof c.get(0).download;if(i&&(s.length>1||"directory"===s[0].mime))return l=o.request({data:{cmd:"zipdl",targets:t},notify:{type:"zipdl",cnt:1,hideCnt:!0,multi:!0},cancel:!0,preventDefault:!0}).done(function(n){var i,a,c,p,h={},f="dlw"+ +new Date;n.error?(o.error(n.error),l.reject()):n.zipdl&&(i=n.zipdl,!u&&o.UA.Mobile?(r=o.options.url+(-1===o.options.url.indexOf("?")?"?":"&")+"cmd=zipdl&download=1",e.each([t[0],i.file,i.name,i.mime],function(e,t){r+="&targets%5B%5D="+encodeURIComponent(t)}),e.each(o.options.customData,function(e,t){r+="&"+encodeURIComponent(e)+"="+encodeURIComponent(t)}),r+="&"+encodeURIComponent(i.name),c=e(" ").attr("href",r).attr("download",encodeURIComponent(i.name)).attr("target","_blank").on("click",function(){o.trigger("download",{files:s}),l.resolve(t),a.elfinderdialog("close")}).append('
'+o.escape(i.name)),h[o.i18n("btnCancel")]=function(){a.elfinderdialog("close")},a=o.dialog(c,{title:o.i18n("link"),buttons:h,width:"200px"})):(p=e('
').append('
').append('
'),e.each([t[0],i.file,i.name,i.mime],function(e,t){p.append('
')}),e.each(o.options.customData,function(e,t){p.append('
')}),p.attr("target",f).appendTo("body"),d=e('