: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
var modern = (function (domGlobals) {
var global = tinymce.util.Tools.resolve('tinymce.ThemeManager');
var global$1 = tinymce.util.Tools.resolve('tinymce.EditorManager');
var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var isBrandingEnabled = function (editor) {
return editor.getParam('branding', true, 'boolean');
var hasMenubar = function (editor) {
return getMenubar(editor) !== false;
var getMenubar = function (editor) {
return editor.getParam('menubar');
var hasStatusbar = function (editor) {
return editor.getParam('statusbar', true, 'boolean');
var getToolbarSize = function (editor) {
return editor.getParam('toolbar_items_size');
var isReadOnly = function (editor) {
return editor.getParam('readonly', false, 'boolean');
var getFixedToolbarContainer = function (editor) {
return editor.getParam('fixed_toolbar_container');
var getInlineToolbarPositionHandler = function (editor) {
return editor.getParam('inline_toolbar_position_handler');
var getMenu = function (editor) {
return editor.getParam('menu');
var getRemovedMenuItems = function (editor) {
return editor.getParam('removed_menuitems', '');
var getMinWidth = function (editor) {
return editor.getParam('min_width', 100, 'number');
var getMinHeight = function (editor) {
return editor.getParam('min_height', 100, 'number');
var getMaxWidth = function (editor) {
return editor.getParam('max_width', 65535, 'number');
var getMaxHeight = function (editor) {
return editor.getParam('max_height', 65535, 'number');
var isSkinDisabled = function (editor) {
return editor.settings.skin === false;
var isInline = function (editor) {
return editor.getParam('inline', false, 'boolean');
var getResize = function (editor) {
var resize = editor.getParam('resize', 'vertical');
} else if (resize === 'both') {
var getSkinUrl = function (editor) {
var settings = editor.settings;
var skin = settings.skin;
var skinUrl = settings.skin_url;
var skinName = skin ? skin : 'lightgray';
skinUrl = editor.documentBaseURI.toAbsolute(skinUrl);
skinUrl = global$1.baseURL + '/skins/' + skinName;
var getIndexedToolbars = function (settings, defaultToolbar) {
for (var i = 1; i < 10; i++) {
var toolbar = settings['toolbar' + i];
var mainToolbar = settings.toolbar ? [settings.toolbar] : [defaultToolbar];
return toolbars.length > 0 ? toolbars : mainToolbar;
var getToolbars = function (editor) {
var toolbar = editor.getParam('toolbar');
var defaultToolbar = 'undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image';
} else if (global$2.isArray(toolbar)) {
return global$2.grep(toolbar, function (toolbar) {
return toolbar.length > 0;
return getIndexedToolbars(editor.settings, defaultToolbar);
var global$3 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
var global$4 = tinymce.util.Tools.resolve('tinymce.ui.Factory');
var global$5 = tinymce.util.Tools.resolve('tinymce.util.I18n');
var fireSkinLoaded = function (editor) {
return editor.fire('SkinLoaded');
var fireResizeEditor = function (editor) {
return editor.fire('ResizeEditor');
var fireBeforeRenderUI = function (editor) {
return editor.fire('BeforeRenderUI');
fireSkinLoaded: fireSkinLoaded,
fireResizeEditor: fireResizeEditor,
fireBeforeRenderUI: fireBeforeRenderUI
var focus = function (panel, type) {
var item = panel.find(type)[0];
var addKeys = function (editor, panel) {
editor.shortcuts.add('Alt+F9', '', focus(panel, 'menubar'));
editor.shortcuts.add('Alt+F10,F10', '', focus(panel, 'toolbar'));
editor.shortcuts.add('Alt+F11', '', focus(panel, 'elementpath'));
panel.on('cancel', function () {
var A11y = { addKeys: addKeys };
var global$6 = tinymce.util.Tools.resolve('tinymce.geom.Rect');
var global$7 = tinymce.util.Tools.resolve('tinymce.util.Delay');
var constant = function (value) {
var never = constant(false);
var always = constant(true);
var call = function (thunk) {
getOrDie: function (msg) {
throw new Error(msg || 'error: getOrDie called on none.');
getOrNull: constant(null),
getOrUndefined: constant(undefined),
toString: constant('none()')
var some = function (a) {
var constant_a = constant(a);
var bind = function (f) {
getOrUndefined: constant_a,
return 'some(' + a + ')';
equals_: function (o, elementEq) {
return o.fold(never, function (b) {
var from = function (value) {
return value === null || value === undefined ? NONE : some(value);
var getUiContainerDelta = function (ctrl) {
var uiContainer = getUiContainer(ctrl);
if (uiContainer && global$3.DOM.getStyle(uiContainer, 'position', true) !== 'static') {
var containerPos = global$3.DOM.getPos(uiContainer);
var dx = uiContainer.scrollLeft - containerPos.x;
var dy = uiContainer.scrollTop - containerPos.y;
var setUiContainer = function (editor, ctrl) {
var uiContainer = global$3.DOM.select(editor.settings.ui_container)[0];
ctrl.getRoot().uiContainer = uiContainer;
var getUiContainer = function (ctrl) {
return ctrl ? ctrl.getRoot().uiContainer : null;
var inheritUiContainer = function (fromCtrl, toCtrl) {
return toCtrl.uiContainer = getUiContainer(fromCtrl);
getUiContainerDelta: getUiContainerDelta,
setUiContainer: setUiContainer,
getUiContainer: getUiContainer,
inheritUiContainer: inheritUiContainer
var createToolbar = function (editor, items, size) {
global$2.each(items.split(/[ ,]/), function (item) {
var bindSelectorChanged = function () {
var selection = editor.selection;
if (item.settings.stateSelector) {
selection.selectorChanged(item.settings.stateSelector, function (state) {
if (item.settings.disabledStateSelector) {
selection.selectorChanged(item.settings.disabledStateSelector, function (state) {
toolbarItems.push(buttonGroup);
if (editor.buttons[item]) {
item = editor.buttons[itemName];
if (typeof item === 'function') {
item.type = item.type || 'button';
item = global$4.create(item);
buttonGroup.items.push(item);
if (editor.initialized) {
editor.on('init', bindSelectorChanged);
var createToolbars = function (editor, size) {
var addToolbar = function (items) {
toolbars.push(createToolbar(editor, items, size));
global$2.each(getToolbars(editor), function (toolbar) {
createToolbar: createToolbar,
createToolbars: createToolbars
var toClientRect = function (geomRect) {
right: geomRect.x + geomRect.w,
bottom: geomRect.y + geomRect.h
var hideAllFloatingPanels = function (editor) {
global$2.each(editor.contextToolbars, function (toolbar) {
var movePanelTo = function (panel, pos) {
panel.moveTo(pos.left, pos.top);
var togglePositionClass = function (panel, relPos, predicate) {
relPos = relPos ? relPos.substr(0, 2) : '';
panel.classes.toggle('arrow-' + cls, predicate(pos, relPos.substr(0, 1)));
panel.classes.toggle('arrow-' + cls, predicate(pos, relPos.substr(1, 1)));
var userConstrain = function (handler, x, y, elementRect, contentAreaRect, panelRect) {
panelRect = toClientRect({
elementRect: toClientRect(elementRect),
contentAreaRect: toClientRect(contentAreaRect),
var addContextualToolbars = function (editor) {
var getContextToolbars = function () {
return editor.contextToolbars || [];
var getElementRect = function (elm) {
var pos, targetRect, root;
pos = DOM.getPos(editor.getContentAreaContainer());
targetRect = editor.dom.getRect(elm);
root = editor.dom.getRoot();
if (root.nodeName === 'BODY') {
targetRect.x -= root.ownerDocument.documentElement.scrollLeft || root.scrollLeft;
targetRect.y -= root.ownerDocument.documentElement.scrollTop || root.scrollTop;
var reposition = function (match, shouldShow) {
var relPos, panelRect, elementRect, contentAreaRect, panel, relRect, testPositions, smallElementWidthThreshold;
var handler = getInlineToolbarPositionHandler(editor);
if (!match || !match.toolbar.panel) {
hideAllFloatingPanels(editor);
panel = match.toolbar.panel;
elementRect = getElementRect(match.element);
panelRect = DOM.getRect(panel.getEl());
contentAreaRect = DOM.getRect(editor.getContentAreaContainer() || editor.getBody());
var delta = UiContainer.getUiContainerDelta(panel).getOr({
elementRect.x += delta.x;
elementRect.y += delta.y;
contentAreaRect.x += delta.x;
contentAreaRect.y += delta.y;
smallElementWidthThreshold = 25;
if (DOM.getStyle(match.element, 'display', true) !== 'inline') {
var clientRect = match.element.getBoundingClientRect();
elementRect.w = clientRect.width;
elementRect.h = clientRect.height;
contentAreaRect.w = editor.getDoc().documentElement.offsetWidth;
if (editor.selection.controlSelection.isResizable(match.element) && elementRect.w < smallElementWidthThreshold) {
elementRect = global$6.inflate(elementRect, 0, 8);
relPos = global$6.findBestRelativePosition(panelRect, elementRect, contentAreaRect, testPositions);