d&&(i.on("update."+t.namespace,h),void 0===n&&(u=0,p(),n=f(g.hash),void 0===n&&(n=0)),v=a.slice(n,n+d),W[m]=i,w=n?Math.max(-1,n-d):-1,x=n+d>=a.length?0:n+d,r=Math.ceil(a.length/d),l=Math.ceil(n/d)),e.each(v||a,function(e,t){z.push(B(t)),t.node&&(T[t.hash]=t.node)}),k=w>-1?e('').text(t.i18n("btnPrevious",l,r)).button({icons:{primary:"ui-icon-caret-1-n"}}).on("click",function(e){e.preventDefault(),e.stopPropagation(),b(w,"up")}):e(),C=x?e('').text(t.i18n("btnNext",l+2,r)).button({icons:{primary:"ui-icon-caret-1-s"}}).on("click",function(e){e.preventDefault(),e.stopPropagation(),b(x,"down")}):e(),y(),i.empty()[v?"addClass":"removeClass"]("elfinder-navbar-hasmore").append(k,z.join(""),C),e.each(T,function(n,i){e("#"+t.navHash2Id(n)).parent().replaceWith(i)}),o&&Y(t.navHash2Id(v["up"===o?v.length-1:0].hash)),!s&&t.lazy(function(){te(null,i)})},y=function(){e.each(i.children(".elfinder-navbar-wrapper"),function(n,i){var o,r,i=e(i),s=i.children("[id]:first");s.hasClass(v)&&(o=t.navId2Hash(s.attr("id")),o&&void 0!==(r=l[o])&&(a[r].node=i.detach()))})};b()},y={},w=[],x=!0;h--;)a=i[h],m[a.hash]||e("#"+t.navHash2Id(a.hash)).length||(m[a.hash]=!0,(o=K(a.phash)).length?a.phash&&((l=!o.children().length)||o.hasClass("elfinder-navbar-hasmore")||(r=X(o,a)).length)?l?(y[a.phash]||(y[a.phash]=[]),y[a.phash].push(a)):r?(d=B(a),r.before(d),!s&&(f=f.add(d))):w.push(a):(d=B(a),o[x||a.phash?"append":"prepend"](d),x=!1,a.phash&&!a.isroot||(c=e("#"+t.navHash2Id(a.hash)).parent()),!s&&te(null,c)):u.push(a));return Object.keys(y).length&&e.each(y,function(e,t){var n=K(e);t.sort(J),b(n,t)}),w.length&&o.trigger("update."+t.namespace,{added:w}),u.length&&u.lengths?a.animate({scrollTop:a.scrollTop()+l-o-r/3},{duration:"fast",complete:function(){p.resolve()}}):p.resolve()):p.reject()},100)),p},Z=function(n){var i,a,n,o=n||t.cwd(),r=[o.hash];for(a=t.root(o.hash),n=t.file(a);(i=n.phash)&&(r.unshift(i),a=t.root(i),n=t.file(a),!e("#"+t.navHash2Id(n.hash)).hasClass(v)););return r},Q=function(n){var n=n||t.cwd(),i=n.hash,a=e("#"+t.navHash2Id(i));if(!a.length){for(;n&&n.phash;)W[n.phash]&&!e("#"+t.navHash2Id(n.hash)).length&&W[n.phash].trigger("update."+t.namespace,{select:n.hash}),n=t.file(n.phash);a=e("#"+t.navHash2Id(i))}return a},ee=function(n,i){var a,o,r=t.cwd(),s=r.hash,i=void 0===i?p:i,l=function(n){var r,s,l=e.Deferred(),c=[],d=Z(n),p=function(e,n,i){var a={cmd:e,target:n};return i&&(a.until=i),t.request({data:a,preventFail:!0})};return c=e.map(d,function(n){var i,a,o=t.file(n),s=!!o&&t.isRoot(o),l=e("#"+t.navHash2Id(n)),c=function(e,n){var i,a,n=n||1;return a=!!(i=t.file(e))&&i.phash,a&&n>1?c(a,--n):a},d=function(){var a=c(n);for(i=a;a&&!e("#"+t.navHash2Id(a)).hasClass(v);)i=a,a=c(a);return a||(i=void 0,a=t.root(n)),a}();return l.hasClass(v)||!s&&o&&e("#"+t.navHash2Id(o.phash)).hasClass(v)?null:(s||d===c(n)||d===c(n,2)?(i=void 0,a="tree",s||(n=c(n))):a="parents",r||(r="tree"===a?n:d),p(a,n,i))}),c.length?(Q(t.file(r)),s=t.navHash2Id(r),i&&Y(s),a=e("#"+s),o=e(t.res("tpl","navspinner")).insertBefore(a.children("."+y)),a.removeClass(m),e.when.apply(e,c).done(function(){var e,t,n,i={};if(t=arguments.length,t>0)for(n=0;n0}).addClass(i)})},ie=e(this).addClass(i).on("mouseenter mouseleave",f,function(n){var i="mouseenter"===n.type;if(!i||!ae){var a=e(this);a.hasClass(x+" "+C)||(s||!i||a.data("dragRegisted")||a.hasClass(l+" "+z+" elfinder-na elfinder-wo")||(a.data("dragRegisted",!0),t.isCommandEnabled("copy",t.navId2Hash(a.attr("id")))&&a.draggable(t.draggable)),a.toggleClass(k,i))}}).on("dragenter",f,function(t){if(t.originalEvent.dataTransfer){var n=e(this);n.addClass(k),n.is("."+m+":not(."+g+")")&&n.data("expandTimer",setTimeout(function(){n.is("."+m+"."+k)&&n.children("."+y).click()},500))}}).on("dragleave",f,function(t){if(t.originalEvent.dataTransfer){var n=e(this);n.data("expandTimer")&&clearTimeout(n.data("expandTimer")),n.removeClass(k)}}).on("click",f,function(n){var i=e(this),a=t.navId2Hash(i.attr("id"));t.file(a);return i.data("longtap")?void n.stopPropagation():void(a==t.cwd().hash||i.hasClass(C)?(i.hasClass(m)&&i.children("."+y).click(),t.select({selected:[a],origin:"tree"})):t.exec("open",a).done(function(){t.select({selected:[a],origin:"tree"})}))}).on("touchstart",f,function(n){if(!(n.originalEvent.touches.length>1))var i=n.originalEvent,a=e(this).addClass(k).data("longtap",null).data("tmlongtap",setTimeout(function(e){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",f,function(t){clearTimeout(e(this).data("tmlongtap")),"touchmove"==t.type&&e(this).removeClass(k)}).on("click",f+"."+m+" ."+y,function(n){var i,a=e(this),o=a.parent(f),r=o.next("."+u),s=e.Deferred(),l=30;n.stopPropagation(),o.hasClass(v)?(o.toggleClass(g),t.lazy(function(){i=o.hasClass(g)?r.children().length+r.find("div.elfinder-navbar-subtree[style*=block]").children().length:r.find("div:visible").length,i>l?(r.toggle(),t.draggingUiHelper&&t.draggingUiHelper.data("refreshPositions",1),E()):r.stop(!0,!0).slideToggle("normal",function(){t.draggingUiHelper&&t.draggingUiHelper.data("refreshPositions",1),E()})}).always(function(){s.resolve()})):(q.insertBefore(a),o.removeClass(m),t.request({cmd:"tree",target:t.navId2Hash(o.attr("id"))}).done(function(e){G(Object.assign([],V(e.tree))),r.children().length&&(o.addClass(m+" "+g),r.children().length>l?(r.show(),t.draggingUiHelper&&t.draggingUiHelper.data("refreshPositions",1),E()):r.stop(!0,!0).slideDown("normal",function(){t.draggingUiHelper&&t.draggingUiHelper.data("refreshPositions",1),E()}))}).always(function(e){q.remove(),o.addClass(v),t.one("treedone",function(){s.resolve()})})),a.data("dfrd",s)}).on("contextmenu",f,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")})}).on("scrolltoview",f,function(){var n=e(this);Y(n.attr("id")).done(function(){t.resources.blink(n,"lookme")})}).on("create."+t.namespace,function(n,i){var a=K(i.phash),o=i.move||!1,r=e(B(i)).addClass("elfinder-navbar-wrapper-tmp"),s=t.selected();o&&s.length&&t.trigger("lockfiles",{files:s}),a.prepend(r)}),ae=!1,oe=t.getUI("navbar").append(ie).show().on("scroll",function(){ae=!0,o&&clearTimeout(o),o=setTimeout(function(){ae=!1,E()},50)}),re=t.sortAlsoTreeview;t.open(function(e){var n=e.data,i=V(n.files),a=t.getUI("contextmenu");n.init&&ie.empty(),t.UA.iOS&&oe.removeClass("overflow-scrolling-touch").addClass("overflow-scrolling-touch"),i.length?t.lazy(function(){a.data("cmdMaps")||a.data("cmdMaps",{}),G(i),ne(i,v),ee(i)}):ee()}).add(function(e){var t=V(e.data.added);t.length&&(G(t),ne(t,m))}).change(function(n){var i,a,o,r,l,c,d,p,h,m,b,y,w=V(n.data.changed),x=w.length,k=x;e();for(e.each(W,function(e,n){n.trigger("update."+t.namespace,{change:"prepare"})});k--;)if(i=w[k],a=i.phash,(o=e("#"+t.navHash2Id(i.hash))).length){if(b=o.parent(),a){if(l=o.closest("."+u),c=K(a),d=o.parent().next(),p=X(c,i),!c.length)continue;c[0]===l[0]&&d.get(0)===p.get(0)||(p.length?p.before(b):c.append(b))}h=o.hasClass(g),m=o.hasClass(v),r=e(B(i)),o.replaceWith(r.children(f)),!s&&te(null,b),i.dirs&&(h||m)&&(o=e("#"+t.navHash2Id(i.hash)))&&o.next("."+u).children().length&&(h&&o.addClass(g),m&&o.addClass(v)),y|=i.dirs==-1}y&&E(),e.each(W,function(e,n){n.trigger("update."+t.namespace,{change:"done"})}),ee(void 0,!1)}).remove(function(n){var i,a,o,r=n.data.removed,s=r.length;for(e.each(W,function(e,n){n.trigger("update."+t.namespace,{removed:r}),n.trigger("update."+t.namespace,{change:"prepare"})});s--;)(i=e("#"+t.navHash2Id(r[s]))).length&&(o=!0,a=i.closest("."+u),i.parent().detach(),a.children().length||a.hide().prev(f).removeClass(m+" "+g+" "+v));o&&t.getUI("navbar").children(".ui-resizable-handle").trigger("resize"),e.each(W,function(e,n){n.trigger("update."+t.namespace,{change:"done"})})}).bind("lockfiles unlockfiles",function(n){var i="lockfiles"==n.type,a=!!n.data.helper&&n.data.helper.data("locked"),o=i&&!a?"disable":"enable",r=e.map(n.data.files||[],function(e){var n=t.file(e);return n&&"directory"==n.mime?e:null});e.each(r,function(n,r){var s=e("#"+t.navHash2Id(r));s.length&&!a&&(s.hasClass(z)&&s.draggable(o),s.hasClass(T)&&s.droppable(o),s[i?"addClass":"removeClass"](C))})}).bind("sortchange",function(){if(t.sortAlsoTreeview||re!==t.sortAlsoTreeview){var n,i,a=[],o={},r={},s="",l=!1;t.lazy(function(){n=V(t.files()),re=t.sortAlsoTreeview,ie.empty(),G(e.map(t.roots,function(e){var n=t.file(e);return n&&t.isRoot(n)?n:null})),Object.keys(W).length?(a=Z(),a.length>1?(e.each(a,function(e,n){var i=t.file(t.root(n)).volumeid;0===e&&(s=i),r[i]=n,o[n]=[]}),e.each(n,function(e,t){return t.volumeid?void o[r[t.volumeid]||r[s]].push(t):(l=!0,!1)})):l=!0,l?e.each(a,function(e,a){G(n),i=Q(t.file(a)),ne(n,v)}):e.each(o,function(e,n){G(n),i=Q(t.file(e)),ne(n,v)})):(G(n),i=Q(),ne(n,v)),ee()},100)}})}),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),t.className=e?"view-list":"",t.title=t.fm.i18n(e?"viewlist":"viewicons"),n.attr("title",t.title)})})},e.fn.elfinderworkzone=function(t){var n="elfinder-workzone";return this.not("."+n).each(function(){var i=e(this).addClass(n),a=i.outerHeight(!0)-i.height(),o=Math.round(i.height()),r=i.parent(),s=function(s){var l=r.height()-a,c=r.attr("style"),d=Math.round(i.height());s&&(s.preventDefault(),s.stopPropagation()),r.css("overflow","hidden").children(":visible:not(."+n+")").each(function(){var t=e(this);"absolute"!=t.css("position")&&"fixed"!=t.css("position")&&(l-=t.outerHeight(!0))}),r.attr("style",c||""),l=Math.max(0,Math.round(l)),o===l&&d===l||(o=Math.round(i.height()),i.height(l),t.trigger("wzresize"))},l=function(){a=i.outerHeight(!0)-i.height(),s()};r.on("resize."+t.namespace,s),t.one("cssloaded",l).bind("uiresize",s)}),this},i.prototype.commands.archive=function(){var t,n=this,i=n.fm,a=[];this.variants=[],this.disableOnSearch=!1,this.nextAction={},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 o,n=this.files(n),r=n.length,s=r&&!i.isRoot(n[0])&&(i.file(n[0].phash)||{}).write&&!e.map(n,function(e){return!e.read||null}).length;return s&&i.searchStatus.state>1&&(o=i.cwd().volumeid,s=r===e.map(n,function(e){return e.read&&0===e.hash.indexOf(o)?e:null}).length),s&&!this._disabled&&a.length&&(r||t&&"pending"==t.state())?0:-1},this.exec=function(o,r){var s,l,c=this.files(o),d=c.length,p=r||a[0],u=i.file(c[0].phash)||null,h=["errArchive","errPerm","errCreatingTempDir","errFtpDownloadFile","errFtpUploadFile","errFtpMkdir","errArchiveExec","errExtractExec","errRm"];if(t=e.Deferred().fail(function(e){e&&i.error(e)}),!d||!a.length||e.inArray(p,a)===-1)return t.reject();if(!u.write)return t.reject(h);for(s=0;s1?"Archive":c[0].name)+(i.option("archivers").createext?"."+i.option("archivers").createext[p]:""),n.data={targets:n.hashes(o),type:p},i.cwd().hash!==u.hash?l=i.exec("open",u.hash).done(function(){i.one("cwdrender",function(){i.selectfiles({files:o}),t=e.proxy(i.res("mixin","make"),n)()})}):(i.selectfiles({files:o}),t=e.proxy(i.res("mixin","make"),n)()),t}},(i.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()}}).prototype={forceLoad:!0},i.prototype.commands.chmod=function(){this.updateOnSelect=!1;var t=this.fm,n={0:"owner",1:"group",2:"other"},i={read:t.i18n("read"),write:t.i18n("write"),execute:t.i18n("execute"),perm:t.i18n("perm"),kind:t.i18n("kind"),files:t.i18n("files")},a=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:''+i.perm+':
',fieldset:'