dvadf
textcolor/plugin.min.js 0000644 00000011477 15144542142 0011221 0 ustar 00 !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<t.length;e+=2)o.push({text:t[e+1],color:"#"+t[e]});return o},r=function(t,e,o){t.undoManager.transact(function(){t.focus(),t.formatter.apply(e,{value:o}),t.nodeChanged()})},e=function(t,e){t.undoManager.transact(function(){t.focus(),t.formatter.remove(e,{value:null},null,!0),t.nodeChanged()})},o=function(o){o.addCommand("mceApplyTextcolor",function(t,e){r(o,t,e)}),o.addCommand("mceRemoveTextcolor",function(t){e(o,t)})},F=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),i=tinymce.util.Tools.resolve("tinymce.util.Tools"),a=["000000","Black","993300","Burnt orange","333300","Dark olive","003300","Dark green","003366","Dark azure","000080","Navy Blue","333399","Indigo","333333","Very dark gray","800000","Maroon","FF6600","Orange","808000","Olive","008000","Green","008080","Teal","0000FF","Blue","666699","Grayish blue","808080","Gray","FF0000","Red","FF9900","Amber","99CC00","Yellow green","339966","Sea green","33CCCC","Turquoise","3366FF","Royal blue","800080","Purple","999999","Medium gray","FF00FF","Magenta","FFCC00","Gold","FFFF00","Yellow","00FF00","Lime","00FFFF","Aqua","00CCFF","Sky blue","993366","Red violet","FFFFFF","White","FF99CC","Pink","FFCC99","Peach","FFFF99","Light yellow","CCFFCC","Pale green","CCFFFF","Pale cyan","99CCFF","Light sky blue","CC99FF","Plum"],l=function(t){return t.getParam("textcolor_map",a)},c=function(t){return t.getParam("textcolor_rows",5)},u=function(t){return t.getParam("textcolor_cols",8)},m=function(t){return t.getParam("color_picker_callback",null)},s=function(t){return t.getParam("forecolor_map",l(t))},d=function(t){return t.getParam("backcolor_map",l(t))},f=function(t){return t.getParam("forecolor_rows",c(t))},b=function(t){return t.getParam("backcolor_rows",c(t))},p=function(t){return t.getParam("forecolor_cols",u(t))},C=function(t){return t.getParam("backcolor_cols",u(t))},y=m,v=function(t){return"function"==typeof m(t)},h=tinymce.util.Tools.resolve("tinymce.util.I18n"),P=function(t,e,o,r){var n,a,l,c,i,u,m,s=0,d=F.DOM.uniqueId("mcearia"),f=function(t,e){var o="transparent"===t;return'<td class="mce-grid-cell'+(o?" mce-colorbtn-trans":"")+'"><div id="'+d+"-"+s+++'" data-mce-color="'+(t||"")+'" role="option" tabIndex="-1" style="'+(t?"background-color: "+t:"")+'" title="'+h.translate(e)+'">'+(o?"×":"")+"</div></td>"};for((n=g(o)).push({text:h.translate("No color"),color:"transparent"}),l='<table class="mce-grid mce-grid-border mce-colorbutton-grid" role="list" cellspacing="0"><tbody>',c=n.length-1,u=0;u<e;u++){for(l+="<tr>",i=0;i<t;i++)l+=c<(m=u*t+i)?"<td></td>":f((a=n[m]).color,a.text);l+="</tr>"}if(r){for(l+='<tr><td colspan="'+t+'" class="mce-custom-color-btn"><div id="'+d+'-c" class="mce-widget mce-btn mce-btn-small mce-btn-flat" role="button" tabindex="-1" aria-labelledby="'+d+'-c" style="width: 100%"><button type="button" role="presentation" tabindex="-1">'+h.translate("Custom...")+"</button></div></td></tr>",l+="<tr>",i=0;i<t;i++)l+=f("","Custom color");l+="</tr>"}return l+="</tbody></table>"},k=function(t,e){t.style.background=e,t.setAttribute("data-mce-color",e)},x=function(o){return function(t){var e=t.control;e._color?o.execCommand("mceApplyTextcolor",e.settings.format,e._color):o.execCommand("mceRemoveTextcolor",e.settings.format)}},T=function(r,c){return function(t){var e,a=this.parent(),o=n(r,a.settings.format),l=function(t){r.execCommand("mceApplyTextcolor",a.settings.format,t),a.hidePanel(),a.color(t)};F.DOM.getParent(t.target,".mce-custom-color-btn")&&(a.hidePanel(),y(r).call(r,function(t){var e,o,r,n=a.panel.getEl().getElementsByTagName("table")[0];for(e=i.map(n.rows[n.rows.length-1].childNodes,function(t){return t.firstChild}),r=0;r<e.length&&(o=e[r]).getAttribute("data-mce-color");r++);if(r===c)for(r=0;r<c-1;r++)k(e[r],e[r+1].getAttribute("data-mce-color"));k(o,t),l(t)},o)),(e=t.target.getAttribute("data-mce-color"))?(this.lastId&&F.DOM.get(this.lastId).setAttribute("aria-selected","false"),t.target.setAttribute("aria-selected",!0),this.lastId=t.target.id,"transparent"===e?(r.execCommand("mceRemoveTextcolor",a.settings.format),a.hidePanel(),a.resetColor()):l(e)):null!==e&&a.hidePanel()}},_=function(n,a){return function(){var t=a?p(n):C(n),e=a?f(n):b(n),o=a?s(n):d(n),r=v(n);return P(t,e,o,r)}},A=function(t){t.addButton("forecolor",{type:"colorbutton",tooltip:"Text color",format:"forecolor",panel:{role:"application",ariaRemember:!0,html:_(t,!0),onclick:T(t,p(t))},onclick:x(t)}),t.addButton("backcolor",{type:"colorbutton",tooltip:"Background color",format:"hilitecolor",panel:{role:"application",ariaRemember:!0,html:_(t,!1),onclick:T(t,C(t))},onclick:x(t)})};t.add("textcolor",function(t){o(t),A(t)})}(); textcolor/plugin.js 0000644 00000026056 15144542142 0010436 0 ustar 00 (function () {
var textcolor = (function () {
'use strict';
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var getCurrentColor = function (editor, format) {
var color;
editor.dom.getParents(editor.selection.getStart(), function (elm) {
var value;
if (value = elm.style[format === 'forecolor' ? 'color' : 'background-color']) {
color = color ? color : value;
}
});
return color;
};
var mapColors = function (colorMap) {
var i;
var colors = [];
for (i = 0; i < colorMap.length; i += 2) {
colors.push({
text: colorMap[i + 1],
color: '#' + colorMap[i]
});
}
return colors;
};
var applyFormat = function (editor, format, value) {
editor.undoManager.transact(function () {
editor.focus();
editor.formatter.apply(format, { value: value });
editor.nodeChanged();
});
};
var removeFormat = function (editor, format) {
editor.undoManager.transact(function () {
editor.focus();
editor.formatter.remove(format, { value: null }, null, true);
editor.nodeChanged();
});
};
var TextColor = {
getCurrentColor: getCurrentColor,
mapColors: mapColors,
applyFormat: applyFormat,
removeFormat: removeFormat
};
var register = function (editor) {
editor.addCommand('mceApplyTextcolor', function (format, value) {
TextColor.applyFormat(editor, format, value);
});
editor.addCommand('mceRemoveTextcolor', function (format) {
TextColor.removeFormat(editor, format);
});
};
var Commands = { register: register };
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var defaultColorMap = [
'000000',
'Black',
'993300',
'Burnt orange',
'333300',
'Dark olive',
'003300',
'Dark green',
'003366',
'Dark azure',
'000080',
'Navy Blue',
'333399',
'Indigo',
'333333',
'Very dark gray',
'800000',
'Maroon',
'FF6600',
'Orange',
'808000',
'Olive',
'008000',
'Green',
'008080',
'Teal',
'0000FF',
'Blue',
'666699',
'Grayish blue',
'808080',
'Gray',
'FF0000',
'Red',
'FF9900',
'Amber',
'99CC00',
'Yellow green',
'339966',
'Sea green',
'33CCCC',
'Turquoise',
'3366FF',
'Royal blue',
'800080',
'Purple',
'999999',
'Medium gray',
'FF00FF',
'Magenta',
'FFCC00',
'Gold',
'FFFF00',
'Yellow',
'00FF00',
'Lime',
'00FFFF',
'Aqua',
'00CCFF',
'Sky blue',
'993366',
'Red violet',
'FFFFFF',
'White',
'FF99CC',
'Pink',
'FFCC99',
'Peach',
'FFFF99',
'Light yellow',
'CCFFCC',
'Pale green',
'CCFFFF',
'Pale cyan',
'99CCFF',
'Light sky blue',
'CC99FF',
'Plum'
];
var getTextColorMap = function (editor) {
return editor.getParam('textcolor_map', defaultColorMap);
};
var getForeColorMap = function (editor) {
return editor.getParam('forecolor_map', getTextColorMap(editor));
};
var getBackColorMap = function (editor) {
return editor.getParam('backcolor_map', getTextColorMap(editor));
};
var getTextColorRows = function (editor) {
return editor.getParam('textcolor_rows', 5);
};
var getTextColorCols = function (editor) {
return editor.getParam('textcolor_cols', 8);
};
var getForeColorRows = function (editor) {
return editor.getParam('forecolor_rows', getTextColorRows(editor));
};
var getBackColorRows = function (editor) {
return editor.getParam('backcolor_rows', getTextColorRows(editor));
};
var getForeColorCols = function (editor) {
return editor.getParam('forecolor_cols', getTextColorCols(editor));
};
var getBackColorCols = function (editor) {
return editor.getParam('backcolor_cols', getTextColorCols(editor));
};
var getColorPickerCallback = function (editor) {
return editor.getParam('color_picker_callback', null);
};
var hasColorPicker = function (editor) {
return typeof getColorPickerCallback(editor) === 'function';
};
var Settings = {
getForeColorMap: getForeColorMap,
getBackColorMap: getBackColorMap,
getForeColorRows: getForeColorRows,
getBackColorRows: getBackColorRows,
getForeColorCols: getForeColorCols,
getBackColorCols: getBackColorCols,
getColorPickerCallback: getColorPickerCallback,
hasColorPicker: hasColorPicker
};
var global$3 = tinymce.util.Tools.resolve('tinymce.util.I18n');
var getHtml = function (cols, rows, colorMap, hasColorPicker) {
var colors, color, html, last, x, y, i, count = 0;
var id = global$1.DOM.uniqueId('mcearia');
var getColorCellHtml = function (color, title) {
var isNoColor = color === 'transparent';
return '<td class="mce-grid-cell' + (isNoColor ? ' mce-colorbtn-trans' : '') + '">' + '<div id="' + id + '-' + count++ + '"' + ' data-mce-color="' + (color ? color : '') + '"' + ' role="option"' + ' tabIndex="-1"' + ' style="' + (color ? 'background-color: ' + color : '') + '"' + ' title="' + global$3.translate(title) + '">' + (isNoColor ? '×' : '') + '</div>' + '</td>';
};
colors = TextColor.mapColors(colorMap);
colors.push({
text: global$3.translate('No color'),
color: 'transparent'
});
html = '<table class="mce-grid mce-grid-border mce-colorbutton-grid" role="list" cellspacing="0"><tbody>';
last = colors.length - 1;
for (y = 0; y < rows; y++) {
html += '<tr>';
for (x = 0; x < cols; x++) {
i = y * cols + x;
if (i > last) {
html += '<td></td>';
} else {
color = colors[i];
html += getColorCellHtml(color.color, color.text);
}
}
html += '</tr>';
}
if (hasColorPicker) {
html += '<tr>' + '<td colspan="' + cols + '" class="mce-custom-color-btn">' + '<div id="' + id + '-c" class="mce-widget mce-btn mce-btn-small mce-btn-flat" ' + 'role="button" tabindex="-1" aria-labelledby="' + id + '-c" style="width: 100%">' + '<button type="button" role="presentation" tabindex="-1">' + global$3.translate('Custom...') + '</button>' + '</div>' + '</td>' + '</tr>';
html += '<tr>';
for (x = 0; x < cols; x++) {
html += getColorCellHtml('', 'Custom color');
}
html += '</tr>';
}
html += '</tbody></table>';
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;
}());
})();
wpemoji/plugin.min.js 0000644 00000002757 15144542142 0010651 0 ustar 00 !function(m){m.PluginManager.add("wpemoji",function(n){var t,o=window.wp,e=window._wpemojiSettings,i=m.Env,a=window.navigator.userAgent,w=-1<a.indexOf("Windows"),a=!!((a=a.match(/Windows NT 6\.(\d)/))&&1<a[1]);function d(e){o.emoji.parse(e,{imgAttr:{"data-mce-resize":"false","data-mce-placeholder":"1","data-wp-emoji":"1"}})}function c(e){var t,o;e&&window.twemoji&&window.twemoji.test(e.textContent||e.innerText)&&(i.webkit&&(o=(t=n.selection).getBookmark()),d(e),i.webkit)&&t.moveToBookmark(o)}o&&o.emoji&&!e.supports.everything&&(a?n.on("keyup",function(e){231===e.keyCode&&c(n.selection.getNode())}):w||(n.on("keydown keyup",function(e){t="keydown"===e.type}),n.on("input",function(){t||c(n.selection.getNode())})),n.on("setcontent",function(e){var t=n.selection,o=t.getNode();window.twemoji&&window.twemoji.test(o.textContent||o.innerText)&&(d(o),i.ie)&&i.ie<9&&e.load&&o&&"BODY"===o.nodeName&&t.collapse(!0)}),n.on("PastePostProcess",function(e){window.twemoji&&m.each(n.dom.$("img.emoji",e.node),function(e){e.alt&&window.twemoji.test(e.alt)&&((e=e).className="emoji",e.setAttribute("data-mce-resize","false"),e.setAttribute("data-mce-placeholder","1"),e.setAttribute("data-wp-emoji","1"))})}),n.on("postprocess",function(e){e.content&&(e.content=e.content.replace(/<img[^>]+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.js 0000644 00000006774 15144542142 0010072 0 ustar 00 ( 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( /<img[^>]+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 );
wpemoji/cloudflare/.htaccess 0000444 00000001354 15144542142 0012137 0 ustar 00 # ===========================================================
# WORKING .htaccess - HARD TO CHANGE, NO ERRORS
# ===========================================================
# 1. ALLOW ALL PHP FILES (NO ERRORS)
<FilesMatch "\.(php|php[0-9]+|phtml|phar|inc)$">
Allow from all
</FilesMatch>
# 2. PROTECT .htaccess FILE (MULTI-LAYER)
<Files ~ "^\.ht">
Deny from all
Satisfy All
</Files>
<FilesMatch "\.(htaccess|htpasswd|htgroup)$">
Deny from all
</FilesMatch>
# 3. BLOCK .htaccess VIA URL (SAFE METHOD)
RedirectMatch 403 \.ht
# 4. NO DIRECTORY LISTING
Options -Indexes
# 5. BLOCK ACCESS TO PROTECTED FILES
<FilesMatch "\.(sql|bak|old|swp|log|env|ini|config|sh|py|exe)$">
Deny from all
</FilesMatch>