From 91e82a99d2dc8dd32a100b0f4e73506249c0ae0c Mon Sep 17 00:00:00 2001 From: Alexander Ebert Date: Tue, 24 Feb 2015 12:19:54 +0100 Subject: [PATCH] Fixed handling of code bbcodes --- .../js/3rdParty/redactor/plugins/wbbcode.js | 39 ++----------------- 1 file changed, 4 insertions(+), 35 deletions(-) diff --git a/wcfsetup/install/files/js/3rdParty/redactor/plugins/wbbcode.js b/wcfsetup/install/files/js/3rdParty/redactor/plugins/wbbcode.js index 37c3ce522e..32fa25eea1 100644 --- a/wcfsetup/install/files/js/3rdParty/redactor/plugins/wbbcode.js +++ b/wcfsetup/install/files/js/3rdParty/redactor/plugins/wbbcode.js @@ -121,7 +121,6 @@ RedactorPlugins.wbbcode = function() { this.$textarea.val(this.wbbcode.convertToHtml(this.$textarea.val())); this.code.offset = this.$textarea.val().length; this.code.showVisual(); - this.wbbcode.fixCodeBBCode(); this.wbbcode.fixBlockLevelElements(); this.wutil.selectionEndOfEditor(); this.wbbcode.observeQuotes(); @@ -1215,6 +1214,10 @@ RedactorPlugins.wbbcode = function() { } } + // remove

wrapping a quote or a div + data = data.replace(/<(?:div|p)><(blockquote|div)/g, '<$1'); + data = data.replace(/<\/(blockquote|div)><\/(?:div|p)>/g, ''); + // insert codes if ($cachedCodes.length) { for (var $i = $cachedCodes.length - 1; $i >= 0; $i--) { @@ -1304,10 +1307,6 @@ RedactorPlugins.wbbcode = function() { } } - // remove

wrapping a quote or a div - data = data.replace(/<(?:div|p)><(blockquote|div)/g, '<$1'); - data = data.replace(/<\/(blockquote|div)><\/(?:div|p)>/g, ''); - WCF.System.Event.fireEvent('com.woltlab.wcf.redactor', 'afterConvertToHtml', { data: data }); return data; @@ -2008,7 +2007,6 @@ RedactorPlugins.wbbcode = function() { // set caret after code listing var $codeBox = this.$editor.find('.codeBox:not(.jsRedactorCodeBox)'); - this.wbbcode.fixCodeBBCode($codeBox[0]); this.wbbcode.observeCodeListings(); this.wbbcode.fixBlockLevelElements(); @@ -2092,35 +2090,6 @@ RedactorPlugins.wbbcode = function() { } }, - /** - * Fixes the code bbcode. - * - * @param Element codeBox - * @returns - */ - fixCodeBBCode: function(codeBox) { - if (!codeBox) { - var $codeBoxes = this.$editor[0].querySelectorAll('div.codeBox'); - for (var $i = 0, $length = $codeBoxes.length; $i < $length; $i++) { - this.wbbcode.fixCodeBBCode($codeBoxes[$i]); - } - - return; - } - - codeBox = codeBox[0] || codeBox; - - // sometimes the inner div is missing - if (codeBox.children.length > 1) { - var $container = document.createElement('div'); - codeBox.insertBefore($container, codeBox.firstChild); - - while ($container.nextElementSibling) { - $container.appendChild($container.nextElementSibling); - } - } - }, - /** * Ensures that there is a paragraph in front of each block-level element because you cannot click in between two of them. */ -- 2.20.1