TinyMCE Quattro and its wysiwyg bbcodes

Unmaintained TinyMCE Quattro and its wysiwyg bbcodes 2.7.2

No permission to download
Version 2.7.2 released
  • Mini parser updated
  • Improve user tagging (thanks to Xon)

P.S: the version 2.7.1 was only published on Github.
  • Like
Reactions: tuongzaza and Xon
Version 2.7.0 released
  • Update to TinyMCE 4.4.1 [ref]
  • [Bug fix] Indent renderer modified for TinyMCE
  • [Bug fix] Default blockquote handler modified to proper handle wysiwyg quotes
  • [Bug fix - with new version of MCE] Table option Width & Height support decimal (ie: 100.12px)
  • [Bug fix] Fix a bug with the mini parser when the same opening parsing character was used several times ; ie: [[b]This is[/b] a test].
  • [Bug fix/Optimization] MCE detection modified.
    • Explanation: to detect if MCE is enabled, the CCV ($controllerName, $controllerAction, $viewName) are checked. If a user loads a new page, then these values will change. If the user comes back to the original page, it is unlikely that the MCE will be detected as enabled. This was a problem when the user came back and toggled between the RTE<=>Bb Code editors (some layouts of the WYSIWYG Bb Codes could be lost). A workaround has been found.
  • [Optimization] Guilty Tags option deleted (internal config)
  • [Optimization] Xml installer addon url updated (Thanks to Xon)
  • [WIP] Sedo_TinyQuattro_Helper_WysiwygHtml
    • Still a lot of work to do, I'm not sure I will find enough time
    • Miniparser updated
In this release, I haven't done everything I've planned to do, but several bugs have been fixed, so it worth to publish as it stands. And it will be easier to continue the development step by step.
Version 2.6.2 released
  • [HTML > BbCode Converter]
    • Optimize code to avoid to use too much memory - Thanks to Gates
    • Rephrase the option description
      On old versions of XenForo (< 1.2), this option will enable some fixes when you toggle the RTE editor to the BbCode editor. On recent versions of XenForo (> 1.2), this option will be enabled every time the html content of the editor is converted to Bb Codes.

      To make it simple, there are two kinds of fixes. The first one detects if the a tag has the same parent ([b]test 1 [b]test 2[/b] test 3[/b]) and the second one checks identical siblings ([b]test[/b] [b]test 2[/b])... in a recursive way. In other words, this patch helps to have a cleaner code.

      This patch can be intensive for your server. With the default characters limit, it shouldn't be a problem. If you have set a high number or if you disable the limit and you have a very long message with many Bb Codes, then it would depend on your server configuration. It has been successfully tested with this kind of message and a server with a 128MB memory.
    • Add a new option "HTML > BbCode Converter tags limit"
      As stated above, the HTML > BbCode Converter can be intensive for your server with huge posts full of Bb Codes. If you didn't increase the maximum characters number in a message, everything should be ok. If you increased it, it might depend on the message and on your server configuration.

      Instead of disabling this converter, you can enable it by setting the maximum tags to be processed (a Bb Code in a message might be processed several times to optimize the output). For reference, 1800 is a high number, 500 is a low number. If you don't want to set any limit, set 0 (default value).

If you use the 2.6.x version of this addon, please upgrade.

P.S: a new version of TinyMCE is available. I didn't include it in this update because the main goal was to optimize the code to avoid any sever problems.
  • 2.6.0 => buggy code
  • 2.6.1 => working code but too much memory used
  • 2.6.2 => optimized code
  • Like
Reactions: Finexes
Version 2.6.1 released
  • The new features of 2.6.0 version were not properly coded. It was buggy. I rewrote everything and test it with Xon. After many hours of coding, everything should be fix now :)
  • Update to TinyMCE 4.3.8 (ref)
  • Fix a bug with nested tables - thanks to Gatses
  • Create quattroText style property to better match with theme. This commit was pushed by Xon. A big thank to him
  • Update one css property to avoid any XenForo automatically modification with RTL languages - thanks to boeing747

For any admin who is using 2.6.0 version, this update must be made.
Version 2.6.0 released
  • Upgrade to TinyMCE 4.3.7 (ref)
    • The MCE buttons icons file has been updated (so your server cache might need to be also updated)
  • New HTML > Bb Codes Converter (Thanks to @Xon)
    • The conversion is now using the Mini Parser
    • The Mini Parser has now an iterator that allows to optimize Bb Code structure
      • Check if current and parent are the same
        [b]test[b]test 2[/b]test3[/b]
        [b]test test 2 test3[/b]
      • Check if siblings are the same (compatible with blank space nodes)
        [b]test[b] [b]test 2[/b]
        [b]test test 2[/b]
      • Check particular recursive pattern
        [font=Times New Roman][b][i]word1[/i][/b][/font] [font=Times New Roman][b][i] word2[/i][/b][/font]
        [font=Times New Roman][b][i]word1 word2[/i][/b][/font]
  • The Mini parser has been fixed to allow the figure 0 as only content (thanks to Gatses), same thing for another file
  • Update small parts of the code to make sure the addon is compatible with former version of XenForo (1.1 - just for fun)

This update is fun ;) It gets rid of an old ugly regex section, so do it.
Version released

  • Small fix for the 2.5.8 version: a variable was missing [ref] (for people who didn't use subscript & superscript, then an error occured). I still increment the addon version with x.x.x.1 to avoid any confusion.

Sorry for this.
  • Like
Reactions: Xon
Version 2.5.8 released
  • Update to TinyMCE 4.3.2 (changelog)
  • Custom word count plugin (a pull has been requested: tinymce/tinymce#2472)
  • JS Framework has been updated to prevent a bug with the new TinyMCE version (a pull has been requested: tinymce/tinymce#2574)
  • PHP code has been slightly updated to prevent an error on PHP 7.0.1 (Thanks to Xon)
  • Adds a routine to check if the sup/super buttons must be displayed in the editor (Thanks to Alsadra)
  • Like
Reactions: Xon and andybond
Version 2.5.7 released
  • Update to TinyMCE 4.2.4 (changelog)
    It seems this official update from TinyMCE also fixes some issue with some browsers on OS X - thanks to Gatses for the tests

For those who downloaded the version on Github, no need to update. It's the same.
Version released
This is a patch for the 2.5.6 release

  • Two fixes added for table cells
    1. Table cells: the mecanism to get back XenForo Bb Codes has been fixed ; thanks to Gatses
    2. Table cells: prevent a carriage return to pop up at the begining of a td tag
  • Update addon framework to mce 4.2.x (I had missed something) ; thanks to Xon
  • Like
Reactions: Gatses
Version 2.5.6 released
  • Update to TinyMCE 4.2.1 [info]
    • The integrated skin has been updated to match the new skin of the 4.2.x branch. Since the new original skin has a flat design, the framework flat design option has been deleted.
    • The addon framework has also been updated to match the 4.2 branch
    • I haven't enabled the new image tools plugin. The TinyMCE upload api is not very detailed yet.
  • Prevent rendered XenForo Bb Codes in the mce table to break because of the nl2br function (ie: spoiler Bb Code can now be used in the table cells) Thanks to @gates
  • Copy XenForo behaviour when pasting some html text with a tagged user: when a full paste (not a text one) is done from a text which has a user tag in it, the user tag will not be converted to a link but will be
    displayed as it's raw format: @username. Thanks to @Xon.
  • Improve code event listener hints. Thanks to @Xon.
  • Like
Reactions: bloop