[CLEANUP] RTE plugin classes 36/40036/3
authorChristian Kuhn <lolli@schwarzbu.ch>
Fri, 5 Jun 2015 22:07:19 +0000 (00:07 +0200)
committerSusanne Moog <typo3@susannemoog.de>
Sat, 6 Jun 2015 07:03:16 +0000 (09:03 +0200)
* use statements
* Use default values from abstract class
* Fix tons of comments
* Some obvious code simplifications

Change-Id: I844efbf830cf2506f2b9c7caadd6826dc67718e9
Resolves: #67323
Releases: master
Reviewed-on: http://review.typo3.org/40036
Reviewed-by: Frank N├Ągler <typo3@naegler.net>
Reviewed-by: Jan Helke <typo3@helke.de>
Tested-by: Jan Helke <typo3@helke.de>
Reviewed-by: Susanne Moog <typo3@susannemoog.de>
Tested-by: Susanne Moog <typo3@susannemoog.de>
34 files changed:
typo3/sysext/rtehtmlarea/Classes/Extension/Abbreviation.php
typo3/sysext/rtehtmlarea/Classes/Extension/AboutEditor.php
typo3/sysext/rtehtmlarea/Classes/Extension/BlockElements.php
typo3/sysext/rtehtmlarea/Classes/Extension/BlockStyle.php
typo3/sysext/rtehtmlarea/Classes/Extension/CharacterMap.php
typo3/sysext/rtehtmlarea/Classes/Extension/ContextMenu.php
typo3/sysext/rtehtmlarea/Classes/Extension/CopyPaste.php
typo3/sysext/rtehtmlarea/Classes/Extension/DefaultClean.php
typo3/sysext/rtehtmlarea/Classes/Extension/DefaultImage.php
typo3/sysext/rtehtmlarea/Classes/Extension/DefaultInline.php
typo3/sysext/rtehtmlarea/Classes/Extension/DefaultLink.php
typo3/sysext/rtehtmlarea/Classes/Extension/DefinitionList.php
typo3/sysext/rtehtmlarea/Classes/Extension/EditElement.php
typo3/sysext/rtehtmlarea/Classes/Extension/EditorMode.php
typo3/sysext/rtehtmlarea/Classes/Extension/FindReplace.php
typo3/sysext/rtehtmlarea/Classes/Extension/InlineElements.php
typo3/sysext/rtehtmlarea/Classes/Extension/InsertSmiley.php
typo3/sysext/rtehtmlarea/Classes/Extension/Language.php
typo3/sysext/rtehtmlarea/Classes/Extension/MicroDataSchema.php
typo3/sysext/rtehtmlarea/Classes/Extension/Plaintext.php
typo3/sysext/rtehtmlarea/Classes/Extension/QuickTag.php
typo3/sysext/rtehtmlarea/Classes/Extension/RemoveFormat.php
typo3/sysext/rtehtmlarea/Classes/Extension/SelectFont.php
typo3/sysext/rtehtmlarea/Classes/Extension/Spellchecker.php
typo3/sysext/rtehtmlarea/Classes/Extension/TableOperations.php
typo3/sysext/rtehtmlarea/Classes/Extension/TextIndicator.php
typo3/sysext/rtehtmlarea/Classes/Extension/TextStyle.php
typo3/sysext/rtehtmlarea/Classes/Extension/Typo3Color.php
typo3/sysext/rtehtmlarea/Classes/Extension/Typo3HtmlParser.php
typo3/sysext/rtehtmlarea/Classes/Extension/Typo3Image.php
typo3/sysext/rtehtmlarea/Classes/Extension/Typo3Link.php
typo3/sysext/rtehtmlarea/Classes/Extension/UndoRedo.php
typo3/sysext/rtehtmlarea/Classes/Extension/UserElements.php
typo3/sysext/rtehtmlarea/Classes/RteHtmlAreaApi.php

index f811829..521094e 100644 (file)
@@ -15,21 +15,18 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  */
 
 use TYPO3\CMS\Backend\Utility\BackendUtility;
+use TYPO3\CMS\Core\Database\QueryGenerator;
+use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase;
 
 /**
  * Abbreviation extension for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class Abbreviation extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class Abbreviation extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -39,13 +36,6 @@ class Abbreviation extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $pluginName = 'Abbreviation';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
-        *
-        * @var string
-        */
-       protected $relativePathToLocallangFile = '';
-
-       /**
         * Path to the skin file relative to the extension directory
         *
         * @var string
@@ -53,23 +43,6 @@ class Abbreviation extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/abbreviation.css';
 
        /**
-        * Reference to the invoking object
-        *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
-        */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-
-       /**
         * Comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
@@ -85,17 +58,27 @@ class Abbreviation extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
                'abbreviation' => 'Abbreviation'
        );
 
+       /**
+        * Absolute number of acronyms
+        *
+        * @var int
+        */
        protected $acronymIndex = 0;
 
+       /**
+        * Absolute number of abbreviations
+        *
+        * @var int
+        */
        protected $abbreviationIndex = 0;
 
        /**
         * Returns TRUE if the plugin is available and correctly initialized
         *
-        * @param \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase Reference to parent object
+        * @param RteHtmlAreaBase $parentObject Reference to parent object
         * @return bool TRUE if this plugin should be made available in the current environment and is correctly initialized
         */
-       public function main(\TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase $parentObject) {
+       public function main(RteHtmlAreaBase $parentObject) {
                // acronym button is deprecated as of TYPO3 CMS 7.0, use abbreviation instead
                // Convert the acronym button configuration
                if (isset($this->thisConfig['buttons.']['acronym.']) && is_array($this->thisConfig['buttons.']['acronym.'])) {
@@ -140,7 +123,7 @@ class Abbreviation extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
                }
                // Remove button if all fieldsets are removed
                $removedFieldsets = GeneralUtility::trimExplode(',', $this->thisConfig['buttons.']['abbreviation.']['removeFieldsets'], TRUE);
-               return parent::main($parentObject) && \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('static_info_tables') && count($removedFieldsets) < 4;
+               return parent::main($parentObject) && ExtensionManagementUtility::isLoaded('static_info_tables') && count($removedFieldsets) < 4;
        }
 
        /**
@@ -211,7 +194,7 @@ class Abbreviation extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
                        if ($altMountPoints) {
                                $GLOBALS['BE_USER']->groupData['webmounts'] = $savedGroupDataWebmounts;
                        }
-                       $queryGenerator = GeneralUtility::makeInstance(\TYPO3\CMS\Core\Database\QueryGenerator::class);
+                       $queryGenerator = GeneralUtility::makeInstance(QueryGenerator::class);
                        $pageTree = '';
                        $pageTreePrefix = '';
                        foreach ($pids as $key => $val) {
index dff5d2c..ed66a32 100644 (file)
@@ -13,20 +13,14 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  *
  * The TYPO3 project - inspiring people to share!
  */
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
 
 /**
  * About Editor plugin for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class AboutEditor extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class AboutEditor extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -36,37 +30,24 @@ class AboutEditor extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $pluginName = 'AboutEditor';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
+        * Path to the skin file relative to the extension directory
         *
         * @var string
         */
-       protected $relativePathToLocallangFile = '';
+       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/about-editor.css';
 
        /**
-        * Path to the skin file relative to the extension directory
+        * Comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
         */
-       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/about-editor.css';
+       protected $pluginButtons = 'about';
 
        /**
-        * Reference to the invoking object
+        * Name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var array
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $pluginButtons = 'about';
-
        protected $convertToolbarForHtmlAreaArray = array(
                'about' => 'About'
        );
@@ -78,8 +59,7 @@ class AboutEditor extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
         * @return string JS configuration for registered plugins
         */
        public function buildJavascriptConfiguration($rteNumberPlaceholder) {
-               $registerRTEinJavascriptString = '';
-               return $registerRTEinJavascriptString;
+               return '';
        }
 
 }
index 3ff9f5c..0ddb989 100644 (file)
@@ -14,19 +14,15 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Core\Utility\GeneralUtility;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+
 /**
  * BlockElements extension for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class BlockElements extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class BlockElements extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -50,23 +46,17 @@ class BlockElements extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/block-elements.css';
 
        /**
-        * Reference to the invoking object
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var string
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
        protected $pluginButtons = 'formatblock, indent, outdent, blockquote, insertparagraphbefore, insertparagraphafter, left, center, right, justifyfull, orderedlist, unorderedlist, line';
 
+       /**
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
+        *
+        * @var array
+        */
        protected $convertToolbarForHtmlAreaArray = array(
                'formatblock' => 'FormatBlock',
                'indent' => 'Indent',
@@ -83,6 +73,11 @@ class BlockElements extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
                'line' => 'InsertHorizontalRule'
        );
 
+       /**
+        * List of default block elements
+        *
+        * @var array
+        */
        protected $defaultBlockElements = array(
                'none' => 'No block',
                'p' => 'Paragraph',
@@ -104,6 +99,11 @@ class BlockElements extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
                'section' => 'Section'
        );
 
+       /**
+        * Default order of block elements
+        *
+        * @var string
+        */
        protected $defaultBlockElementsOrder = 'none, p, h1, h2, h3, h4, h5, h6, pre, address, article, aside, blockquote, div, footer, header, nav, section';
 
        /**
@@ -133,26 +133,26 @@ class BlockElements extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
                                        if ($this->htmlAreaRTE->cleanList($this->thisConfig['buttons.']['formatblock.']['removeItems']) == '*') {
                                                $hideItems = array_diff(array_keys($defaultBlockElements), array('none'));
                                        } else {
-                                               $hideItems = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $this->htmlAreaRTE->cleanList(\TYPO3\CMS\Core\Utility\GeneralUtility::strtolower($this->thisConfig['buttons.']['formatblock.']['removeItems'])), TRUE);
+                                               $hideItems = GeneralUtility::trimExplode(',', $this->htmlAreaRTE->cleanList(GeneralUtility::strtolower($this->thisConfig['buttons.']['formatblock.']['removeItems'])), TRUE);
                                        }
                                }
                                // Adding elements
                                if ($this->thisConfig['buttons.']['formatblock.']['addItems']) {
-                                       $addItems = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $this->htmlAreaRTE->cleanList(\TYPO3\CMS\Core\Utility\GeneralUtility::strtolower($this->thisConfig['buttons.']['formatblock.']['addItems'])), TRUE);
+                                       $addItems = GeneralUtility::trimExplode(',', $this->htmlAreaRTE->cleanList(GeneralUtility::strtolower($this->thisConfig['buttons.']['formatblock.']['addItems'])), TRUE);
                                }
                                // Restriction clause
                                if ($this->thisConfig['buttons.']['formatblock.']['restrictToItems']) {
-                                       $restrictTo = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $this->htmlAreaRTE->cleanList('none,' . \TYPO3\CMS\Core\Utility\GeneralUtility::strtolower($this->thisConfig['buttons.']['formatblock.']['restrictToItems'])), TRUE);
+                                       $restrictTo = GeneralUtility::trimExplode(',', $this->htmlAreaRTE->cleanList('none,' . GeneralUtility::strtolower($this->thisConfig['buttons.']['formatblock.']['restrictToItems'])), TRUE);
                                }
                                // Elements order
                                if ($this->thisConfig['buttons.']['formatblock.']['orderItems']) {
-                                       $blockElementsOrder = 'none,' . \TYPO3\CMS\Core\Utility\GeneralUtility::strtolower($this->thisConfig['buttons.']['formatblock.']['orderItems']);
+                                       $blockElementsOrder = 'none,' . GeneralUtility::strtolower($this->thisConfig['buttons.']['formatblock.']['orderItems']);
                                }
                                $prefixLabelWithTag = $this->thisConfig['buttons.']['formatblock.']['prefixLabelWithTag'] ? TRUE : $prefixLabelWithTag;
                                $postfixLabelWithTag = $this->thisConfig['buttons.']['formatblock.']['postfixLabelWithTag'] ? TRUE : $postfixLabelWithTag;
                        }
                        // Adding custom items
-                       $blockElementsOrder = array_merge(\TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $this->htmlAreaRTE->cleanList($blockElementsOrder), TRUE), $addItems);
+                       $blockElementsOrder = array_merge(GeneralUtility::trimExplode(',', $this->htmlAreaRTE->cleanList($blockElementsOrder), TRUE), $addItems);
                        // Add div element if indent is configured in the toolbar
                        if (in_array('indent', $this->toolbar) || in_array('outdent', $this->toolbar)) {
                                $blockElementsOrder = array_merge($blockElementsOrder, array('div'));
index 42632ca..05fae32 100644 (file)
@@ -14,19 +14,14 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+
 /**
  * Block Style extension for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class BlockStyle extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class BlockStyle extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -50,33 +45,34 @@ class BlockStyle extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $relativePathToSkin = '';
 
        /**
-        * Reference to the invoking object
+        * The comma-separated list of button names that the extension id adding to the htmlArea RTE toolbar
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var string
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
        protected $pluginButtons = 'blockstyle';
 
-       // The comma-separated list of button names that the extension id adding to the htmlArea RTE tollbar
+       /**
+        * The comma-separated list of label names that the extension id adding to the htmlArea RTE toolbar
+        *
+        * @var string
+        */
        protected $pluginLabels = 'blockstylelabel';
 
-       // The comma-separated list of label names that the extension id adding to the htmlArea RTE tollbar
-       // The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
+       /**
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
+        *
+        * @var array
+        */
        protected $convertToolbarForHtmlAreaArray = array(
                'blockstylelabel' => 'I[Block style label]',
                'blockstyle' => 'BlockStyle'
        );
 
+       /**
+        * TRUE if the registered plugin requires the PageTSConfig Classes configuration
+        *
+        * @var bool
+        */
        protected $requiresClassesConfiguration = TRUE;
 
 }
index 8005872..7699c5f 100644 (file)
@@ -14,19 +14,14 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+
 /**
  * CharacterMap plugin for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class CharacterMap extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class CharacterMap extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -36,37 +31,24 @@ class CharacterMap extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $pluginName = 'CharacterMap';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
+        * Path to the skin file relative to the extension directory
         *
         * @var string
         */
-       protected $relativePathToLocallangFile = '';
+       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/character-map.css';
 
        /**
-        * Path to the skin file relative to the extension directory
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
         */
-       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/character-map.css';
+       protected $pluginButtons = 'insertcharacter,insertsofthyphen';
 
        /**
-        * Reference to the invoking object
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var array
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $pluginButtons = 'insertcharacter,insertsofthyphen';
-
        protected $convertToolbarForHtmlAreaArray = array(
                'insertcharacter' => 'InsertCharacter',
                'insertsofthyphen' => 'InsertSoftHyphen'
@@ -79,8 +61,7 @@ class CharacterMap extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
         * @return string JS configuration for registered plugins
         */
        public function buildJavascriptConfiguration($rteNumberPlaceholder) {
-               $registerRTEinJavascriptString = '';
-               return $registerRTEinJavascriptString;
+               return '';
        }
 
 }
index 762fdc0..786c49a 100644 (file)
@@ -14,19 +14,16 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase;
+use TYPO3\CMS\Core\Utility\GeneralUtility;
+
 /**
  * Context Menu plugin for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class ContextMenu extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class ContextMenu extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -36,42 +33,13 @@ class ContextMenu extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $pluginName = 'ContextMenu';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
-        *
-        * @var string
-        */
-       protected $relativePathToLocallangFile = '';
-
-       /**
-        * Path to the skin file relative to the extension directory
+        * Returns TRUE if the plugin is available and correctly initialized
         *
-        * @var string
-        */
-       protected $relativePathToSkin = '';
-
-       /**
-        * Reference to the invoking object
-        *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @param RteHtmlAreaBase $parentObject parent object
+        * @return bool TRUE if this plugin object should be made available in the current environment and is correctly initialized
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $pluginButtons;
-
-       protected $convertToolbarForHtmlAreaArray = array();
-
        public function main($parentObject) {
-               $enabled = parent::main($parentObject) && !($this->htmlAreaRTE->client['browser'] == 'opera' || $this->thisConfig['contextMenu.']['disabled']);
-               return $enabled;
+               return parent::main($parentObject) && !($this->htmlAreaRTE->client['browser'] == 'opera' || $this->thisConfig['contextMenu.']['disabled']);
        }
 
        /**
@@ -87,11 +55,11 @@ class ContextMenu extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        RTEarea[' . $rteNumberPlaceholder . '].contextMenu =  ' . $this->htmlAreaRTE->buildNestedJSArray($this->thisConfig['contextMenu.']) . ';';
                        if ($this->thisConfig['contextMenu.']['showButtons']) {
                                $registerRTEinJavascriptString .= '
-       RTEarea[' . $rteNumberPlaceholder . '].contextMenu.showButtons = ' . json_encode(\TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $this->htmlAreaRTE->cleanList(\TYPO3\CMS\Core\Utility\GeneralUtility::strtolower($this->thisConfig['contextMenu.']['showButtons'])), TRUE)) . ';';
+       RTEarea[' . $rteNumberPlaceholder . '].contextMenu.showButtons = ' . json_encode(GeneralUtility::trimExplode(',', $this->htmlAreaRTE->cleanList(GeneralUtility::strtolower($this->thisConfig['contextMenu.']['showButtons'])), TRUE)) . ';';
                        }
                        if ($this->thisConfig['contextMenu.']['hideButtons']) {
                                $registerRTEinJavascriptString .= '
-       RTEarea[' . $rteNumberPlaceholder . '].contextMenu.hideButtons = ' . json_encode(\TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $this->htmlAreaRTE->cleanList(\TYPO3\CMS\Core\Utility\GeneralUtility::strtolower($this->thisConfig['contextMenu.']['hideButtons'])), TRUE)) . ';';
+       RTEarea[' . $rteNumberPlaceholder . '].contextMenu.hideButtons = ' . json_encode(GeneralUtility::trimExplode(',', $this->htmlAreaRTE->cleanList(GeneralUtility::strtolower($this->thisConfig['contextMenu.']['hideButtons'])), TRUE)) . ';';
                        }
                }
                return $registerRTEinJavascriptString;
index 34308c3..4423a87 100644 (file)
@@ -14,19 +14,16 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Core\Utility\GeneralUtility;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase;
+
 /**
  * Copy Paste plugin for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class CopyPaste extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class CopyPaste extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -36,55 +33,52 @@ class CopyPaste extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $pluginName = 'CopyPaste';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
+        * Path to the skin file relative to the extension directory
         *
         * @var string
         */
-       protected $relativePathToLocallangFile = '';
+       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/copy-paste.css';
 
        /**
-        * Path to the skin file relative to the extension directory
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
         */
-       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/copy-paste.css';
+       protected $pluginButtons = 'copy, cut, paste';
 
        /**
-        * Reference to the invoking object
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var array
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $pluginButtons = 'copy, cut, paste';
-
        protected $convertToolbarForHtmlAreaArray = array(
                'copy' => 'Copy',
                'cut' => 'Cut',
                'paste' => 'Paste'
        );
 
-       // Hide buttons not implemented in client browsers
+       /**
+        * Hide buttons not implemented in client browsers
+        *
+        * @var array
+        */
        protected $hideButtonsFromClient = array(
                'gecko' => array('copy', 'cut', 'paste'),
                'webkit' => array('copy', 'cut', 'paste'),
                'opera' => array('copy', 'cut', 'paste')
        );
 
+       /**
+        * Returns TRUE if the plugin is available and correctly initialized
+        *
+        * @param RteHtmlAreaBase $parentObject parent object
+        * @return bool TRUE if this plugin object should be made available in the current environment and is correctly initialized
+        */
        public function main($parentObject) {
                $enabled = parent::main($parentObject);
                // Hiding some buttons
                if ($enabled && is_array($this->hideButtonsFromClient[$this->htmlAreaRTE->client['browser']])) {
-                       $this->pluginButtons = implode(',', array_diff(\TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $this->pluginButtons, TRUE), $this->hideButtonsFromClient[$this->htmlAreaRTE->client['browser']]));
+                       $this->pluginButtons = implode(',', array_diff(GeneralUtility::trimExplode(',', $this->pluginButtons, TRUE), $this->hideButtonsFromClient[$this->htmlAreaRTE->client['browser']]));
                }
                // Force enabling the plugin even if no button remains in the tool bar, so that hot keys still are enabled
                $this->pluginAddsButtons = FALSE;
index c3be833..b5eb9d3 100644 (file)
@@ -14,19 +14,16 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Core\Utility\GeneralUtility;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase;
+
 /**
  * Default Clean extension for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class DefaultClean extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class DefaultClean extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -36,41 +33,27 @@ class DefaultClean extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $pluginName = 'DefaultClean';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
-        *
-        * @var string
-        */
-       protected $relativePathToLocallangFile = '';
-
-       /**
-        * Path to the skin file relative to the extension directory
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
         */
-       protected $relativePathToSkin = '';
+       protected $pluginButtons = 'cleanword';
 
        /**
-        * Reference to the invoking object
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var array
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $pluginButtons = 'cleanword';
-
        protected $convertToolbarForHtmlAreaArray = array(
                'cleanword' => 'CleanWord'
        );
 
+       /**
+        * Returns TRUE if the plugin is available and correctly initialized
+        *
+        * @param RteHtmlAreaBase $parentObject parent object
+        * @return bool TRUE if this plugin object should be made available in the current environment and is correctly initialized
+        */
        public function main($parentObject) {
                return parent::main($parentObject) && $this->thisConfig['enableWordClean'] && !is_array($this->thisConfig['enableWordClean.']['HTMLparser.']);
        }
@@ -103,7 +86,7 @@ class DefaultClean extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
         * @return array toolbar button array, possibly updated
         */
        public function applyToolbarConstraints($show) {
-               return array_unique(array_merge($show, \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $this->pluginButtons)));
+               return array_unique(array_merge($show, GeneralUtility::trimExplode(',', $this->pluginButtons)));
        }
 
 }
index 550eafe..ed06cdb 100644 (file)
@@ -14,19 +14,15 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase;
+
 /**
  * Image plugin for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class DefaultImage extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class DefaultImage extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -36,41 +32,34 @@ class DefaultImage extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $pluginName = 'DefaultImage';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
+        * Path to the skin file relative to the extension directory
         *
         * @var string
         */
-       protected $relativePathToLocallangFile = '';
+       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/default-image.css';
 
        /**
-        * Path to the skin file relative to the extension directory
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
         */
-       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/default-image.css';
+       protected $pluginButtons = 'image';
 
        /**
-        * Reference to the invoking object
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var array
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $pluginButtons = 'image';
-
        protected $convertToolbarForHtmlAreaArray = array(
                'image' => 'InsertImage'
        );
 
+       /**
+        * Returns TRUE if the plugin is available and correctly initialized
+        *
+        * @param RteHtmlAreaBase $parentObject parent object
+        * @return bool TRUE if this plugin object should be made available in the current environment and is correctly initialized
+        */
        public function main($parentObject) {
                // Check if this should be enabled based on extension configuration and Page TSConfig
                // The 'Minimal' and 'Typical' default configurations include Page TSConfig that removes images on the way to the database
@@ -84,8 +73,7 @@ class DefaultImage extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
         * @return string JS configuration for registered plugins
         */
        public function buildJavascriptConfiguration($rteNumberPlaceholder) {
-               $registerRTEinJavascriptString = '';
-               return $registerRTEinJavascriptString;
+               return '';
        }
 
 }
index d7c966b..c9f9f4d 100644 (file)
@@ -14,19 +14,14 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+
 /**
  * DefaultInline plugin for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class DefaultInline extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class DefaultInline extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -50,23 +45,17 @@ class DefaultInline extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/default-inline.css';
 
        /**
-        * Reference to the invoking object
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var string
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
        protected $pluginButtons = 'bold,italic,strikethrough,subscript,superscript,underline';
 
+       /**
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
+        *
+        * @var array
+        */
        protected $convertToolbarForHtmlAreaArray = array(
                'bold' => 'Bold',
                'italic' => 'Italic',
@@ -83,8 +72,7 @@ class DefaultInline extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
         * @return string JS configuration for registered plugins
         */
        public function buildJavascriptConfiguration($rteNumberPlaceholder) {
-               $registerRTEinJavascriptString = '';
-               return $registerRTEinJavascriptString;
+               return '';
        }
 
        /**
index ac31746..b213802 100644 (file)
@@ -13,20 +13,14 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  *
  * The TYPO3 project - inspiring people to share!
  */
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
 
 /**
  * Default Link extension for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class DefaultLink extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class DefaultLink extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -36,37 +30,24 @@ class DefaultLink extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $pluginName = 'DefaultLink';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
+        * Path to the skin file relative to the extension directory
         *
         * @var string
         */
-       protected $relativePathToLocallangFile = '';
+       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/default-link.css';
 
        /**
-        * Path to the skin file relative to the extension directory
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
         */
-       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/default-link.css';
+       protected $pluginButtons = 'link, unlink';
 
        /**
-        * Reference to the invoking object
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var array
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $pluginButtons = 'link, unlink';
-
        protected $convertToolbarForHtmlAreaArray = array(
                'link' => 'CreateLink',
                'unlink' => 'UnLink'
index b10a3aa..2a02b65 100644 (file)
@@ -14,19 +14,15 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase;
+
 /**
  * Definition List plugin for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class DefinitionList extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class DefinitionList extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -36,45 +32,42 @@ class DefinitionList extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $pluginName = 'DefinitionList';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
+        * Path to the skin file relative to the extension directory
         *
         * @var string
         */
-       protected $relativePathToLocallangFile = '';
+       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/definition-list.css';
 
        /**
-        * Path to the skin file relative to the extension directory
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
         */
-       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/definition-list.css';
+       protected $pluginButtons = 'definitionlist, definitionitem';
 
        /**
-        * Reference to the invoking object
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var array
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $pluginButtons = 'definitionlist, definitionitem';
-
        protected $convertToolbarForHtmlAreaArray = array(
                'definitionlist' => 'DefinitionList',
                'definitionitem' => 'DefinitionItem'
        );
 
-       // The comma-separated list of names of prerequisite plugins
+       /**
+        * The comma-separated list of names of prerequisite plugins
+        *
+        * @var string
+        */
        protected $requiredPlugins = 'BlockElements';
 
+       /**
+        * Returns TRUE if the plugin is available and correctly initialized
+        *
+        * @param RteHtmlAreaBase $parentObject parent object
+        * @return bool TRUE if this plugin object should be made available in the current environment and is correctly initialized
+        */
        public function main($parentObject) {
                $enabled = parent::main($parentObject) && $this->htmlAreaRTE->isPluginEnabled('BlockElements');
                if ($enabled && is_object($this->htmlAreaRTE->registeredPlugins['BlockElements'])) {
@@ -90,8 +83,7 @@ class DefinitionList extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
         * @return string JS configuration for registered plugins
         */
        public function buildJavascriptConfiguration($rteNumberPlaceholder) {
-               $registerRTEinJavascriptString = '';
-               return $registerRTEinJavascriptString;
+               return '';
        }
 
        /**
index 72a0fe1..f85845e 100644 (file)
@@ -14,19 +14,14 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+
 /**
  * Edit Element extension for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class EditElement extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class EditElement extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -36,40 +31,27 @@ class EditElement extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $pluginName = 'EditElement';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
+        * Path to the skin file relative to the extension directory
         *
         * @var string
         */
-       protected $relativePathToLocallangFile = '';
+       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/edit-element.css';
+
+       // The comma-separated list of names of prerequisite plugins
+       protected $requiredPlugins = 'BlockStyle,TextStyle,Language,MicrodataSchema';
 
        /**
-        * Path to the skin file relative to the extension directory
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
         */
-       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/edit-element.css';
+       protected $pluginButtons = 'editelement';
 
        /**
-        * Reference to the invoking object
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var array
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       // The comma-separated list of names of prerequisite plugins
-       protected $requiredPlugins = 'BlockStyle,TextStyle,Language,MicrodataSchema';
-
-       protected $pluginButtons = 'editelement';
-
        protected $convertToolbarForHtmlAreaArray = array(
                'editelement' => 'EditElement'
        );
@@ -81,8 +63,7 @@ class EditElement extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
         * @return string JS configuration for registered plugins
         */
        public function buildJavascriptConfiguration($rteNumberPlaceholder) {
-               $registerRTEinJavascriptString = '';
-               return $registerRTEinJavascriptString;
+               return '';
        }
 
 }
index a74676d..929ab3f 100644 (file)
@@ -14,19 +14,15 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase;
+
 /**
  * EditorMode plugin for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class EditorMode extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class EditorMode extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -36,44 +32,41 @@ class EditorMode extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $pluginName = 'EditorMode';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
+        * Path to the skin file relative to the extension directory
         *
         * @var string
         */
-       protected $relativePathToLocallangFile = '';
+       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/editor-mode.css';
 
        /**
-        * Path to the skin file relative to the extension directory
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
         */
-       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/editor-mode.css';
+       protected $pluginButtons = 'chMode';
 
        /**
-        * Reference to the invoking object
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var array
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $pluginButtons = 'chMode';
-
        protected $convertToolbarForHtmlAreaArray = array(
                'chMode' => 'TextMode'
        );
 
-       // Requiring itself so that it is always loaded.
+       /**
+        * Requiring itself so that it is always loaded.
+        *
+        * @var string
+        */
        protected $requiredPlugins = 'EditorMode';
 
+       /**
+        * Returns TRUE if the plugin is available and correctly initialized
+        *
+        * @param RteHtmlAreaBase $parentObject parent object
+        * @return bool TRUE if this plugin object should be made available in the current environment and is correctly initialized
+        */
        public function main($parentObject) {
                parent::main($parentObject);
                // Do not disable this plugin even if the chMode button is disabled
index 4074227..ff42d4e 100644 (file)
@@ -14,19 +14,14 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+
 /**
  * Find Replace plugin for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class FindReplace extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class FindReplace extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -36,37 +31,24 @@ class FindReplace extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $pluginName = 'FindReplace';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
+        * Path to the skin file relative to the extension directory
         *
         * @var string
         */
-       protected $relativePathToLocallangFile = '';
+       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/find-replace.css';
 
        /**
-        * Path to the skin file relative to the extension directory
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
         */
-       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/find-replace.css';
+       protected $pluginButtons = 'findreplace';
 
        /**
-        * Reference to the invoking object
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var array
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $pluginButtons = 'findreplace';
-
        protected $convertToolbarForHtmlAreaArray = array(
                'findreplace' => 'FindReplace'
        );
@@ -78,8 +60,7 @@ class FindReplace extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
         * @return string JS configuration for registered plugins
         */
        public function buildJavascriptConfiguration($rteNumberPlaceholder) {
-               $registerRTEinJavascriptString = '';
-               return $registerRTEinJavascriptString;
+               return '';
        }
 
 }
index 1671579..a81f9b4 100644 (file)
@@ -14,19 +14,15 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Core\Utility\GeneralUtility;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+
 /**
  * InlineElements plugin for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class InlineElements extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class InlineElements extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -50,23 +46,17 @@ class InlineElements extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/inline-elements.css';
 
        /**
-        * Reference to the invoking object
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var string
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
        protected $pluginButtons = 'formattext, bidioverride, big, bold, citation, code, definition, deletedtext, emphasis, insertedtext, italic, keyboard, quotation, sample, small, span, strikethrough, strong, subscript, superscript, underline, variable';
 
+       /**
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
+        *
+        * @var array
+        */
        protected $convertToolbarForHtmlAreaArray = array(
                'formattext' => 'FormatText',
                'bidioverride' => 'BiDiOverride',
@@ -93,6 +83,11 @@ class InlineElements extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
                'variable' => 'Variable'
        );
 
+       /**
+        * Default list of inline elements
+        *
+        * @var array
+        */
        protected $defaultInlineElements = array(
                'none' => 'No markup',
                'b' => 'Bold',
@@ -119,9 +114,19 @@ class InlineElements extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
                'var' => 'Variable'
        );
 
+       /**
+        * Default order of inline elements
+        *
+        * @var string
+        */
        protected $defaultInlineElementsOrder = 'none, bidioverride, big, bold, citation, code, definition, deletedtext, emphasis, insertedtext, italic, keyboard,
-                                               monospaced, quotation, sample, small, span, strikethrough, strong, subscript, superscript, underline, variable';
+               monospaced, quotation, sample, small, span, strikethrough, strong, subscript, superscript, underline, variable';
 
+       /**
+        * Button names to inline elements
+        *
+        * @var array
+        */
        protected $buttonToInlineElement = array(
                'none' => 'none',
                'bidioverride' => 'bdo',
@@ -171,13 +176,13 @@ class InlineElements extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
                        if (is_array($this->thisConfig['buttons.']) && is_array($this->thisConfig['buttons.']['formattext.'])) {
                                // Removing elements
                                if ($this->thisConfig['buttons.']['formattext.']['removeItems']) {
-                                       $hideItems = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $this->htmlAreaRTE->cleanList($this->thisConfig['buttons.']['formattext.']['removeItems']), TRUE);
+                                       $hideItems = GeneralUtility::trimExplode(',', $this->htmlAreaRTE->cleanList($this->thisConfig['buttons.']['formattext.']['removeItems']), TRUE);
                                }
                                // Restriction clause
                                if ($this->thisConfig['buttons.']['formattext.']['restrictTo']) {
-                                       $restrictTo = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $this->htmlAreaRTE->cleanList('none,' . $this->thisConfig['buttons.']['formattext.']['restrictTo']), TRUE);
+                                       $restrictTo = GeneralUtility::trimExplode(',', $this->htmlAreaRTE->cleanList('none,' . $this->thisConfig['buttons.']['formattext.']['restrictTo']), TRUE);
                                } elseif ($this->thisConfig['buttons.']['formattext.']['restrictToItems']) {
-                                       $restrictTo = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $this->htmlAreaRTE->cleanList('none,' . $this->thisConfig['buttons.']['formattext.']['restrictToItems']), TRUE);
+                                       $restrictTo = GeneralUtility::trimExplode(',', $this->htmlAreaRTE->cleanList('none,' . $this->thisConfig['buttons.']['formattext.']['restrictToItems']), TRUE);
                                }
                                // Elements order
                                if ($this->thisConfig['buttons.']['formattext.']['orderItems']) {
@@ -186,7 +191,7 @@ class InlineElements extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
                                $prefixLabelWithTag = $this->thisConfig['buttons.']['formattext.']['prefixLabelWithTag'] ? TRUE : $prefixLabelWithTag;
                                $postfixLabelWithTag = $this->thisConfig['buttons.']['formattext.']['postfixLabelWithTag'] ? TRUE : $postfixLabelWithTag;
                        }
-                       $inlineElementsOrder = array_diff(\TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $this->htmlAreaRTE->cleanList($inlineElementsOrder), TRUE), $hideItems);
+                       $inlineElementsOrder = array_diff(GeneralUtility::trimExplode(',', $this->htmlAreaRTE->cleanList($inlineElementsOrder), TRUE), $hideItems);
                        if (!in_array('*', $restrictTo)) {
                                $inlineElementsOrder = array_intersect($inlineElementsOrder, $restrictTo);
                        }
index 530259c..632b2d6 100644 (file)
@@ -14,19 +14,14 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+
 /**
  * Insert Smiley plugin for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class InsertSmiley extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class InsertSmiley extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -36,37 +31,24 @@ class InsertSmiley extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $pluginName = 'InsertSmiley';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
+        * Path to the skin file relative to the extension directory
         *
         * @var string
         */
-       protected $relativePathToLocallangFile = '';
+       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/insert-smiley.css';
 
        /**
-        * Path to the skin file relative to the extension directory
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
         */
-       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/insert-smiley.css';
+       protected $pluginButtons = 'emoticon';
 
        /**
-        * Reference to the invoking object
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var array
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $pluginButtons = 'emoticon';
-
        protected $convertToolbarForHtmlAreaArray = array(
                'emoticon' => 'InsertSmiley'
        );
@@ -78,8 +60,7 @@ class InsertSmiley extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
         * @return string JS configuration for registered plugins
         */
        public function buildJavascriptConfiguration($rteNumberPlaceholder) {
-               $registerRTEinJavascriptString = '';
-               return $registerRTEinJavascriptString;
+               return '';
        }
 
 }
index f6e7582..f82e3b5 100644 (file)
@@ -14,19 +14,17 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
+use TYPO3\CMS\Core\Utility\GeneralUtility;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase;
+
 /**
  * Language plugin for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class Language extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class Language extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -36,37 +34,24 @@ class Language extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $pluginName = 'Language';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
+        * Path to the skin file relative to the extension directory
         *
         * @var string
         */
-       protected $relativePathToLocallangFile = 'extensions/Language/locallang.xlf';
+       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/language.css';
 
        /**
-        * Path to the skin file relative to the extension directory
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
         */
-       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/language.css';
+       protected $pluginButtons = 'lefttoright,righttoleft,language,showlanguagemarks';
 
        /**
-        * Reference to the invoking object
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var array
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $pluginButtons = 'lefttoright,righttoleft,language,showlanguagemarks';
-
        protected $convertToolbarForHtmlAreaArray = array(
                'lefttoright' => 'LeftToRight',
                'righttoleft' => 'RightToLeft',
@@ -74,9 +59,15 @@ class Language extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
                'showlanguagemarks' => 'ShowLanguageMarks'
        );
 
+       /**
+        * Returns TRUE if the plugin is available and correctly initialized
+        *
+        * @param RteHtmlAreaBase $parentObject parent object
+        * @return bool TRUE if this plugin object should be made available in the current environment and is correctly initialized
+        */
        public function main($parentObject) {
-               if (!\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('static_info_tables')) {
-                       $this->pluginButtons = \TYPO3\CMS\Core\Utility\GeneralUtility::rmFromList('language', $this->pluginButtons);
+               if (!ExtensionManagementUtility::isLoaded('static_info_tables')) {
+                       $this->pluginButtons = GeneralUtility::rmFromList('language', $this->pluginButtons);
                }
                return parent::main($parentObject);
        }
@@ -121,7 +112,7 @@ class Language extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
         */
        public function getLanguages() {
                $nameArray = array();
-               if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('static_info_tables')) {
+               if (ExtensionManagementUtility::isLoaded('static_info_tables')) {
                        $where = '1=1';
                        $table = 'static_languages';
                        $lang = \SJBR\StaticInfoTables\Utility\LocalizationUtility::getCurrentLanguage();
@@ -133,7 +124,7 @@ class Language extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
                        $labelFields = implode(',', $prefixedTitleFields);
                        // Restrict to certain languages
                        if (is_array($this->thisConfig['buttons.']) && is_array($this->thisConfig['buttons.']['language.']) && isset($this->thisConfig['buttons.']['language.']['restrictToItems'])) {
-                               $languageList = implode('\',\'', \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $GLOBALS['TYPO3_DB']->fullQuoteStr(strtoupper($this->thisConfig['buttons.']['language.']['restrictToItems']), $table)));
+                               $languageList = implode('\',\'', GeneralUtility::trimExplode(',', $GLOBALS['TYPO3_DB']->fullQuoteStr(strtoupper($this->thisConfig['buttons.']['language.']['restrictToItems']), $table)));
                                $where .= ' AND ' . $table . '.lg_iso_2 IN (' . $languageList . ')';
                        }
                        $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery($table . '.lg_iso_2,' . $table . '.lg_country_iso_2,' . $labelFields, $table, $where . ' AND lg_constructed = 0 ' . ($this->htmlAreaRTE->is_FE() ? $GLOBALS['TSFE']->sys_page->enableFields($table) : \TYPO3\CMS\Backend\Utility\BackendUtility::BEenableFields($table) . \TYPO3\CMS\Backend\Utility\BackendUtility::deleteClause($table)));
@@ -161,7 +152,7 @@ class Language extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
         * @return array toolbar button array, possibly updated
         */
        public function applyToolbarConstraints($show) {
-               if (!\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('static_info_tables')) {
+               if (!ExtensionManagementUtility::isLoaded('static_info_tables')) {
                        return array_diff($show, array('language'));
                } else {
                        return $show;
index d3089dc..242f6d3 100644 (file)
@@ -15,20 +15,14 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  */
 
 use TYPO3\CMS\Core\Utility\GeneralUtility;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
 
 /**
  * Microdata Schema extension for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class MicroDataSchema extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class MicroDataSchema extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -52,23 +46,17 @@ class MicroDataSchema extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/microdata-schema.css';
 
        /**
-        * Reference to the invoking object
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var string
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
        protected $pluginButtons = 'showmicrodata';
 
+       /**
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
+        *
+        * @var array
+        */
        protected $convertToolbarForHtmlAreaArray = array(
                'showmicrodata' => 'ShowMicrodata'
        );
index a4f76ab..6e5af28 100644 (file)
@@ -14,19 +14,15 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase;
+
 /**
  * Copy as Plain Text extension for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class Plaintext extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class Plaintext extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -36,42 +32,35 @@ class Plaintext extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $pluginName = 'PlainText';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
+        * Path to the skin file relative to the extension directory
         *
         * @var string
         */
-       protected $relativePathToLocallangFile = '';
+       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/plain-text.css';
 
        /**
-        * Path to the skin file relative to the extension directory
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
         */
-       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/plain-text.css';
+       protected $pluginButtons = 'pastetoggle,pastebehaviour';
 
        /**
-        * Reference to the invoking object
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var array
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $pluginButtons = 'pastetoggle,pastebehaviour';
-
        protected $convertToolbarForHtmlAreaArray = array(
                'pastetoggle' => 'PasteToggle',
                'pastebehaviour' => 'PasteBehaviour'
        );
 
+       /**
+        * Returns TRUE if the plugin is available and correctly initialized
+        *
+        * @param RteHtmlAreaBase $parentObject parent object
+        * @return bool TRUE if this plugin object should be made available in the current environment and is correctly initialized
+        */
        public function main($parentObject) {
                // Opera has no onPaste event to handle
                return parent::main($parentObject) && $this->htmlAreaRTE->client['browser'] != 'opera';
index 32b1f25..332dd3f 100644 (file)
@@ -14,19 +14,15 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase;
+
 /**
  * CharacterMap plugin for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class QuickTag extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class QuickTag extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -36,44 +32,41 @@ class QuickTag extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $pluginName = 'QuickTag';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
+        * Path to the skin file relative to the extension directory
         *
         * @var string
         */
-       protected $relativePathToLocallangFile = '';
+       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/quick-tag.css';
 
        /**
-        * Path to the skin file relative to the extension directory
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
         */
-       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/quick-tag.css';
+       protected $pluginButtons = 'inserttag';
 
        /**
-        * Reference to the invoking object
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var array
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $pluginButtons = 'inserttag';
-
        protected $convertToolbarForHtmlAreaArray = array(
                'inserttag' => 'InsertTag'
        );
 
+       /**
+        * The comma-separated list of names of prerequisite plugins
+        *
+        * @var string
+        */
        protected $requiredPlugins = 'TYPO3Color';
 
-       // The comma-separated list of names of prerequisite plugins
+       /**
+        * Returns TRUE if the plugin is available and correctly initialized
+        *
+        * @param RteHtmlAreaBase $parentObject parent object
+        * @return bool TRUE if this plugin object should be made available in the current environment and is correctly initialized
+        */
        public function main($parentObject) {
                $available = parent::main($parentObject);
                if ($this->thisConfig['disableSelectColor'] && $this->htmlAreaRTE->client['browser'] != 'gecko') {
index 979e200..b22f7da 100644 (file)
@@ -14,19 +14,14 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+
 /**
  * Remove Format plugin for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class RemoveFormat extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class RemoveFormat extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -36,37 +31,24 @@ class RemoveFormat extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $pluginName = 'RemoveFormat';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
+        * Path to the skin file relative to the extension directory
         *
         * @var string
         */
-       protected $relativePathToLocallangFile = '';
+       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/remove-format.css';
 
        /**
-        * Path to the skin file relative to the extension directory
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
         */
-       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/remove-format.css';
+       protected $pluginButtons = 'removeformat';
 
        /**
-        * Reference to the invoking object
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var array
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $pluginButtons = 'removeformat';
-
        protected $convertToolbarForHtmlAreaArray = array(
                'removeformat' => 'RemoveFormat'
        );
index dcda98e..e7387d1 100644 (file)
@@ -14,19 +14,16 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Core\Utility\GeneralUtility;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase;
+
 /**
  * SelectFont extension for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class SelectFont extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class SelectFont extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -43,35 +40,27 @@ class SelectFont extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $relativePathToLocallangFile = 'extensions/SelectFont/locallang.xlf';
 
        /**
-        * Path to the skin file relative to the extension directory
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
         */
-       protected $relativePathToSkin = '';
+       protected $pluginButtons = 'fontstyle,fontsize';
 
        /**
-        * Reference to the invoking object
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var array
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $pluginButtons = 'fontstyle,fontsize';
-
        protected $convertToolbarForHtmlAreaArray = array(
                'fontstyle' => 'FontName',
                'fontsize' => 'FontSize'
        );
 
+       /**
+        * List of default fonts
+        *
+        * @var array
+        */
        protected $defaultFont = array(
                'fontstyle' => array(
                        'Arial' => 'Arial,sans-serif',
@@ -95,8 +84,19 @@ class SelectFont extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
                )
        );
 
+       /**
+        * RTE properties
+        *
+        * @var array
+        */
        protected $RTEProperties;
 
+       /**
+        * Returns TRUE if the plugin is available and correctly initialized
+        *
+        * @param RteHtmlAreaBase $parentObject parent object
+        * @return bool TRUE if this plugin object should be made available in the current environment and is correctly initialized
+        */
        public function main($parentObject) {
                $enabled = parent::main($parentObject) && $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['rtehtmlarea']['allowStyleAttribute'];
                if ($this->htmlAreaRTE->is_FE()) {
@@ -115,7 +115,7 @@ class SelectFont extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
         */
        public function buildJavascriptConfiguration($rteNumberPlaceholder) {
                $registerRTEinJavascriptString = '';
-               $pluginButtonsArray = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $this->pluginButtons);
+               $pluginButtonsArray = GeneralUtility::trimExplode(',', $this->pluginButtons);
                // Process Page TSConfig configuration for each button
                foreach ($pluginButtonsArray as $buttonId) {
                        if (in_array($buttonId, $this->toolbar)) {
@@ -142,7 +142,7 @@ class SelectFont extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
                                $hideItems = $this->thisConfig['buttons.'][$buttonId . '.']['removeItems'];
                        }
                        if ($this->thisConfig['buttons.'][$buttonId . '.']['addItems']) {
-                               $addItems = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $this->htmlAreaRTE->cleanList($this->thisConfig['buttons.'][$buttonId . '.']['addItems']), TRUE);
+                               $addItems = GeneralUtility::trimExplode(',', $this->htmlAreaRTE->cleanList($this->thisConfig['buttons.'][$buttonId . '.']['addItems']), TRUE);
                        }
                }
                // Initializing the items array
@@ -156,7 +156,7 @@ class SelectFont extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
                if ($hideItems != '*') {
                        $index = 0;
                        foreach ($this->defaultFont[$buttonId] as $name => $value) {
-                               if (!\TYPO3\CMS\Core\Utility\GeneralUtility::inList($hideItems, strval(($index + 1)))) {
+                               if (!GeneralUtility::inList($hideItems, strval(($index + 1)))) {
                                        if ($this->htmlAreaRTE->is_FE()) {
                                                $label = $GLOBALS['TSFE']->getLLL($name, $this->LOCAL_LANG);
                                        } else {
index f55f655..a4f9631 100644 (file)
@@ -15,20 +15,17 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  */
 
 use TYPO3\CMS\Backend\Utility\BackendUtility;
+use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
+use TYPO3\CMS\Core\Utility\GeneralUtility;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase;
 
 /**
  * Spell Checker plugin for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class Spellchecker extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class Spellchecker extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -38,45 +35,43 @@ class Spellchecker extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $pluginName = 'SpellChecker';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
+        * Path to the skin file relative to the extension directory
         *
         * @var string
         */
-       protected $relativePathToLocallangFile = '';
+       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/spell-checker.css';
 
        /**
-        * Path to the skin file relative to the extension directory
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
         */
-       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/spell-checker.css';
+       protected $pluginButtons = 'spellcheck';
 
        /**
-        * Reference to the invoking object
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var array
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $pluginButtons = 'spellcheck';
-
        protected $convertToolbarForHtmlAreaArray = array(
                'spellcheck' => 'SpellCheck'
        );
 
+       /**
+        * Spell checker modes
+        *
+        * @var array
+        */
        protected $spellCheckerModes = array('ultra', 'fast', 'normal', 'bad-spellers');
 
+       /**
+        * Returns TRUE if the plugin is available and correctly initialized
+        *
+        * @param RteHtmlAreaBase $parentObject parent object
+        * @return bool TRUE if this plugin object should be made available in the current environment and is correctly initialized
+        */
        public function main($parentObject) {
-               return parent::main($parentObject) && \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('static_info_tables') && !in_array($this->htmlAreaRTE->language, \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $GLOBALS['TYPO3_CONF_VARS']['EXTCONF'][$this->htmlAreaRTE->ID]['plugins'][$pluginName]['noSpellCheckLanguages'])) && ($this->htmlAreaRTE->contentCharset == 'iso-8859-1' || $this->htmlAreaRTE->contentCharset == 'utf-8');
+               return parent::main($parentObject) && ExtensionManagementUtility::isLoaded('static_info_tables') && !in_array($this->htmlAreaRTE->language, GeneralUtility::trimExplode(',', $GLOBALS['TYPO3_CONF_VARS']['EXTCONF'][$this->htmlAreaRTE->ID]['plugins'][$pluginName]['noSpellCheckLanguages'])) && ($this->htmlAreaRTE->contentCharset == 'iso-8859-1' || $this->htmlAreaRTE->contentCharset == 'utf-8');
        }
 
        /**
index 6bb20c9..312034d 100644 (file)
@@ -14,67 +14,59 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Core\Utility\GeneralUtility;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase;
+
 /**
  * Table Operations extension for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class TableOperations extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
+class TableOperations extends RteHtmlAreaApi {
 
        /**
-        * The key of the extension that is extending htmlArea RTE
+        * The name of the plugin registered by the extension
         *
         * @var string
         */
-       protected $extensionKey = 'rtehtmlarea';
+       protected $pluginName = 'TableOperations';
 
        /**
-        * The name of the plugin registered by the extension
+        * Path to the skin file relative to the extension directory
         *
         * @var string
         */
-       protected $pluginName = 'TableOperations';
+       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/table-operations.css';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
+        * TRUE if the registered plugin requires the PageTSConfig Classes configuration
         *
-        * @var string
+        * @var bool
         */
-       protected $relativePathToLocallangFile = '';
+       protected $requiresClassesConfiguration = TRUE;
 
        /**
-        * Path to the skin file relative to the extension directory
+        * The comma-separated list of names of prerequisite plugins
         *
         * @var string
         */
-       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/table-operations.css';
+       protected $requiredPlugins = 'TYPO3Color,BlockStyle';
 
        /**
-        * Reference to the invoking object
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var string
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $requiresClassesConfiguration = TRUE;
-
-       // TRUE if the registered plugin requires the PageTSConfig Classes configuration
-       protected $requiredPlugins = 'TYPO3Color,BlockStyle';
-
-       // The comma-separated list of names of prerequisite plugins
        protected $pluginButtons = 'table, toggleborders, tableproperties, tablerestyle, rowproperties, rowinsertabove, rowinsertunder, rowdelete, rowsplit,
-                                               columnproperties, columninsertbefore, columninsertafter, columndelete, columnsplit,
-                                               cellproperties, cellinsertbefore, cellinsertafter, celldelete, cellsplit, cellmerge';
+               columnproperties, columninsertbefore, columninsertafter, columndelete, columnsplit,
+               cellproperties, cellinsertbefore, cellinsertafter, celldelete, cellsplit, cellmerge';
 
+       /**
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
+        *
+        * @var array
+        */
        protected $convertToolbarForHtmlAreaArray = array(
                'table' => 'InsertTable',
                'toggleborders' => 'TO-toggle-borders',
@@ -98,6 +90,12 @@ class TableOperations extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
                'cellmerge' => 'TO-cell-merge'
        );
 
+       /**
+        * Returns TRUE if the plugin is available and correctly initialized
+        *
+        * @param RteHtmlAreaBase $parentObject parent object
+        * @return bool TRUE if this plugin object should be made available in the current environment and is correctly initialized
+        */
        public function main($parentObject) {
                $available = parent::main($parentObject);
                if ($this->htmlAreaRTE->client['browser'] == 'opera') {
@@ -157,7 +155,7 @@ class TableOperations extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        public function applyToolbarConstraints($show) {
                // We will not allow any table operations button if the table button is not enabled
                if (!in_array('table', $show)) {
-                       return array_diff($show, \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $this->pluginButtons));
+                       return array_diff($show, GeneralUtility::trimExplode(',', $this->pluginButtons));
                } else {
                        return $show;
                }
index fea1f20..ce82e12 100644 (file)
@@ -14,19 +14,14 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+
 /**
  * Text Indicator plugin for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class TextIndicator extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class TextIndicator extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -36,37 +31,24 @@ class TextIndicator extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $pluginName = 'TextIndicator';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
+        * Path to the skin file relative to the extension directory
         *
         * @var string
         */
-       protected $relativePathToLocallangFile = '';
+       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/text-indicator.css';
 
        /**
-        * Path to the skin file relative to the extension directory
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
         */
-       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/text-indicator.css';
+       protected $pluginButtons = 'textindicator';
 
        /**
-        * Reference to the invoking object
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var array
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $pluginButtons = 'textindicator';
-
        protected $convertToolbarForHtmlAreaArray = array(
                'textindicator' => 'TextIndicator'
        );
@@ -78,8 +60,7 @@ class TextIndicator extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
         * @return string JS configuration for registered plugins
         */
        public function buildJavascriptConfiguration($rteNumberPlaceholder) {
-               $registerRTEinJavascriptString = '';
-               return $registerRTEinJavascriptString;
+               return '';
        }
 
 }
index 212e6b8..fffeac9 100644 (file)
@@ -14,19 +14,14 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+
 /**
  * TextStyle plugin for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class TextStyle extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class TextStyle extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -43,40 +38,34 @@ class TextStyle extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $relativePathToLocallangFile = 'extensions/TextStyle/locallang.xlf';
 
        /**
-        * Path to the skin file relative to the extension directory
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
         */
-       protected $relativePathToSkin = '';
+       protected $pluginButtons = 'textstyle';
 
        /**
-        * Reference to the invoking object
+        * The comma separated list of label names that the extension id adding to the htmlArea RTE tollbar
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var string
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $pluginButtons = 'textstyle';
-
-       // The comma separated list of button names that the extension id adding to the htmlArea RTE tollbar
        protected $pluginLabels = 'textstylelabel';
 
-       // The comma separated list of label names that the extension id adding to the htmlArea RTE tollbar
-       // The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
+       /**
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
+        *
+        * @var array
+        */
        protected $convertToolbarForHtmlAreaArray = array(
                'textstylelabel' => 'I[text_style]',
                'textstyle' => 'TextStyle'
        );
 
+       /**
+        * TRUE if the registered plugin requires the PageTSConfig Classes configuration
+        *
+        * @var bool
+        */
        protected $requiresClassesConfiguration = TRUE;
 
 }
index d673728..f8d77dc 100644 (file)
@@ -14,19 +14,15 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase;
+
 /**
  * TYPO3 Color plugin for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class Typo3Color extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class Typo3Color extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -50,28 +46,28 @@ class Typo3Color extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/typo3-color.css';
 
        /**
-        * Reference to the invoking object
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var string
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
        protected $pluginButtons = 'textcolor,bgcolor';
 
+       /**
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
+        *
+        * @var array
+        */
        protected $convertToolbarForHtmlAreaArray = array(
                'textcolor' => 'ForeColor',
                'bgcolor' => 'HiliteColor'
        );
 
+       /**
+        * Returns TRUE if the plugin is available and correctly initialized
+        *
+        * @param RteHtmlAreaBase $parentObject parent object
+        * @return bool TRUE if this plugin object should be made available in the current environment and is correctly initialized
+        */
        public function main($parentObject) {
                return parent::main($parentObject) && $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['rtehtmlarea']['allowStyleAttribute'];
        }
@@ -84,8 +80,7 @@ class Typo3Color extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
         */
        public function buildJavascriptConfiguration($rteNumberPlaceholder) {
                // Process colors configuration
-               $registerRTEinJavascriptString = $this->buildJSColorsConfig($rteNumberPlaceholder);
-               return $registerRTEinJavascriptString;
+               return $this->buildJSColorsConfig($rteNumberPlaceholder);
        }
 
        /**
index 8b03469..fcb376e 100644 (file)
@@ -16,20 +16,15 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
 
 use TYPO3\CMS\Backend\Utility\BackendUtility;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase;
 
 /**
  * TYPO3 HTML Parser extension for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class Typo3HtmlParser extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class Typo3HtmlParser extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -39,41 +34,27 @@ class Typo3HtmlParser extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $pluginName = 'TYPO3HtmlParser';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
-        *
-        * @var string
-        */
-       protected $relativePathToLocallangFile = '';
-
-       /**
-        * Path to the skin file relative to the extension directory
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
         */
-       protected $relativePathToSkin = '';
+       protected $pluginButtons = 'cleanword';
 
        /**
-        * Reference to the invoking object
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var array
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $pluginButtons = 'cleanword';
-
        protected $convertToolbarForHtmlAreaArray = array(
                'cleanword' => 'CleanWord'
        );
 
+       /**
+        * Returns TRUE if the plugin is available and correctly initialized
+        *
+        * @param RteHtmlAreaBase $parentObject parent object
+        * @return bool TRUE if this plugin object should be made available in the current environment and is correctly initialized
+        */
        public function main($parentObject) {
                return parent::main($parentObject) && $this->thisConfig['enableWordClean'] && is_array($this->thisConfig['enableWordClean.']['HTMLparser.']);
        }
index 832609f..42d5cc7 100644 (file)
@@ -16,20 +16,15 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
 
 use TYPO3\CMS\Backend\Utility\BackendUtility;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase;
 
 /**
  * TYPO3 Image plugin for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class Typo3Image extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class Typo3Image extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -39,41 +34,34 @@ class Typo3Image extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $pluginName = 'TYPO3Image';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
+        * Path to the skin file relative to the extension directory
         *
         * @var string
         */
-       protected $relativePathToLocallangFile = '';
+       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/typo3-image.css';
 
        /**
-        * Path to the skin file relative to the extension directory
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
         */
-       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/typo3-image.css';
+       protected $pluginButtons = 'image';
 
        /**
-        * Reference to the invoking object
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var array
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $pluginButtons = 'image';
-
        protected $convertToolbarForHtmlAreaArray = array(
                'image' => 'InsertImage'
        );
 
+       /**
+        * Returns TRUE if the plugin is available and correctly initialized
+        *
+        * @param RteHtmlAreaBase $parentObject parent object
+        * @return bool TRUE if this plugin object should be made available in the current environment and is correctly initialized
+        */
        public function main($parentObject) {
                $enabled = parent::main($parentObject);
                // Check if this should be enabled based on extension configuration and Page TSConfig
index 56efdbe..43b006f 100644 (file)
@@ -16,20 +16,15 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
 
 use TYPO3\CMS\Backend\Utility\BackendUtility;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase;
 
 /**
  * TYPO3Link plugin for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class Typo3Link extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class Typo3Link extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -39,42 +34,35 @@ class Typo3Link extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $pluginName = 'TYPO3Link';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
+        * Path to the skin file relative to the extension directory
         *
         * @var string
         */
-       protected $relativePathToLocallangFile = '';
+       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/typo3-link.css';
 
        /**
-        * Path to the skin file relative to the extension directory
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
         */
-       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/typo3-link.css';
+       protected $pluginButtons = 'link, unlink';
 
        /**
-        * Reference to the invoking object
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var array
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $pluginButtons = 'link, unlink';
-
        protected $convertToolbarForHtmlAreaArray = array(
                'link' => 'CreateLink',
                'unlink' => 'UnLink'
        );
 
+       /**
+        * Returns TRUE if the plugin is available and correctly initialized
+        *
+        * @param RteHtmlAreaBase $parentObject parent object
+        * @return bool TRUE if this plugin object should be made available in the current environment and is correctly initialized
+        */
        public function main($parentObject) {
                $enabled = parent::main($parentObject);
                // Check if this should be enabled based on Page TSConfig
@@ -129,7 +117,7 @@ class Typo3Link extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
                                        $JSClassesAnchorArray .= ($index++ ? ',' : '') . 'type : "' . str_replace('"', '', str_replace('\'', '', $conf['type'])) . '"' . LF;
                                }
                                if (trim(str_replace('\'', '', str_replace('"', '', $conf['image'])))) {
-                                       $JSClassesAnchorArray .= ($index++ ? ',' : '') . 'image : "' . $this->htmlAreaRTE->siteURL . \TYPO3\CMS\Core\Utility\GeneralUtility::resolveBackPath((TYPO3_mainDir . $this->htmlAreaRTE->getFullFileName(trim(str_replace('\'', '', str_replace('"', '', $conf['image'])))))) . '"' . LF;
+                                       $JSClassesAnchorArray .= ($index++ ? ',' : '') . 'image : "' . $this->htmlAreaRTE->siteURL . GeneralUtility::resolveBackPath((TYPO3_mainDir . $this->htmlAreaRTE->getFullFileName(trim(str_replace('\'', '', str_replace('"', '', $conf['image'])))))) . '"' . LF;
                                }
                                $JSClassesAnchorArray .= ($index++ ? ',' : '') . 'addIconAfterLink : ' . ($conf['addIconAfterLink'] ? 'true' : 'false') . LF;
                                if (trim($conf['altText'])) {
@@ -159,7 +147,7 @@ class Typo3Link extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        public function applyToolbarConstraints($show) {
                // We will not allow unlink if link is not enabled
                if (!in_array('link', $show)) {
-                       return array_diff($show, \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $this->pluginButtons));
+                       return array_diff($show, GeneralUtility::trimExplode(',', $this->pluginButtons));
                } else {
                        return $show;
                }
index 2b71d22..58578b7 100644 (file)
@@ -14,19 +14,14 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
+
 /**
  * Undo Redo plugin for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class UndoRedo extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class UndoRedo extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -36,37 +31,24 @@ class UndoRedo extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $pluginName = 'UndoRedo';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
+        * Path to the skin file relative to the extension directory
         *
         * @var string
         */
-       protected $relativePathToLocallangFile = '';
+       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/undo-redo.css';
 
        /**
-        * Path to the skin file relative to the extension directory
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
         */
-       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/undo-redo.css';
+       protected $pluginButtons = 'undo,redo';
 
        /**
-        * Reference to the invoking object
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var array
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $pluginButtons = 'undo,redo';
-
        protected $convertToolbarForHtmlAreaArray = array(
                'undo' => 'Undo',
                'redo' => 'Redo'
@@ -79,8 +61,7 @@ class UndoRedo extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
         * @return string JS configuration for registered plugins
         */
        public function buildJavascriptConfiguration($rteNumberPlaceholder) {
-               $registerRTEinJavascriptString = '';
-               return $registerRTEinJavascriptString;
+               return '';
        }
 
 }
index e7fbe3f..8ffe35c 100644 (file)
@@ -16,20 +16,14 @@ namespace TYPO3\CMS\Rtehtmlarea\Extension;
 
 use TYPO3\CMS\Backend\Utility\BackendUtility;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
+use TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi;
 
 /**
  * User Elements extension for htmlArea RTE
  *
  * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
  */
-class UserElements extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
-
-       /**
-        * The key of the extension that is extending htmlArea RTE
-        *
-        * @var string
-        */
-       protected $extensionKey = 'rtehtmlarea';
+class UserElements extends RteHtmlAreaApi {
 
        /**
         * The name of the plugin registered by the extension
@@ -39,37 +33,24 @@ class UserElements extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
        protected $pluginName = 'UserElements';
 
        /**
-        * Path to this main locallang file of the extension relative to the extension directory
+        * Path to the skin file relative to the extension directory
         *
         * @var string
         */
-       protected $relativePathToLocallangFile = '';
+       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/user-elements.css';
 
        /**
-        * Path to the skin file relative to the extension directory
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
         *
         * @var string
         */
-       protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/user-elements.css';
+       protected $pluginButtons = 'user';
 
        /**
-        * Reference to the invoking object
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
         *
-        * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
+        * @var array
         */
-       protected $htmlAreaRTE;
-
-       protected $thisConfig;
-
-       // Reference to RTE PageTSConfig
-       protected $toolbar;
-
-       // Reference to RTE toolbar array
-       protected $LOCAL_LANG;
-
-       // Frontend language array
-       protected $pluginButtons = 'user';
-
        protected $convertToolbarForHtmlAreaArray = array(
                'user' => 'UserElements'
        );
index c3f78fa..4f54e60 100644 (file)
@@ -14,6 +14,9 @@ namespace TYPO3\CMS\Rtehtmlarea;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Core\Utility\GeneralUtility;
+use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
+
 /**
  * API for extending htmlArea RTE
  *
@@ -21,57 +24,125 @@ namespace TYPO3\CMS\Rtehtmlarea;
  */
 abstract class RteHtmlAreaApi {
 
-       protected $extensionKey;
+       /**
+        * The key of the extension that is extending htmlArea RTE
+        *
+        * @var string
+        */
+       protected $extensionKey = 'rtehtmlarea';
 
-       // The key of the extension that is extending htmlArea RTE
+       /**
+        * The name of the plugin registered by the extension
+        *
+        * @var string
+        */
        protected $pluginName;
 
-       // The name of the plugin registered by the extension
-       protected $relativePathToLocallangFile;
+       /**
+        * Path to the localization file for this script, relative to the extension dir
+        *
+        * @var string
+        */
+       protected $relativePathToLocallangFile = '';
 
-       // Path to the localization file for this script, relative to the extension dir
-       protected $relativePathToSkin;
+       /**
+        * Path to the skin (css) file that should be added to the RTE skin when the registered plugin is enabled, relative to the extension dir
+        *
+        * @var string
+        */
+       protected $relativePathToSkin = '';
 
-       // Path to the skin (css) file that should be added to the RTE skin when the registered plugin is enabled, relative to the extension dir
+       /**
+        * Path to the directory containing the plugin, relative to the extension dir (should end with slash /)
+        *
+        * @var string
+        */
        protected $relativePathToPluginDirectory;
 
-       // Path to the directory containing the plugin, relative to the extension dir (should end with slash /)
+       /**
+        * Reference to the invoking object
+        *
+        * @var RteHtmlAreaBase
+        */
        protected $htmlAreaRTE;
 
-       // Reference to the invoking object
+       /**
+        * The extension key of the RTE
+        *
+        * @var string
+        */
        protected $rteExtensionKey;
 
-       // The extension key of the RTE
+       /**
+        * Reference to RTE PageTSConfig
+        *
+        * @var array
+        */
        protected $thisConfig;
 
-       // Reference to RTE PageTSConfig
+       /**
+        * Reference to RTE toolbar array
+        *
+        * @var array
+        */
        protected $toolbar;
 
-       // Reference to RTE toolbar array
+       /**
+        * Frontend language array
+        *
+        * @var array
+        */
        protected $LOCAL_LANG;
 
-       // Frontend language array
+       /**
+        * The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
+        *
+        * @var string
+        */
        protected $pluginButtons = '';
 
-       // The comma-separated list of button names that the registered plugin is adding to the htmlArea RTE toolbar
+       /**
+        * The comma-separated list of label names that the registered plugin is adding to the htmlArea RTE toolbar
+        *
+        * @var string
+        */
        protected $pluginLabels = '';
 
-       // The comma-separated list of label names that the registered plugin is adding to the htmlArea RTE toolbar
+       /**
+        * Boolean indicating whether the plugin is adding buttons or not
+        *
+        * @var bool
+        */
        protected $pluginAddsButtons = TRUE;
 
-       // Boolean indicating whether the plugin is adding buttons or not
+       /**
+        * The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
+        *
+        * @var array
+        */
        protected $convertToolbarForHtmlAreaArray = array();
 
-       // The name-converting array, converting the button names used in the RTE PageTSConfing to the button id's used by the JS scripts
+       /**
+        * TRUE if the registered plugin requires the PageTSConfig Classes configuration
+        *
+        * @var bool
+        */
        protected $requiresClassesConfiguration = FALSE;
 
-       // TRUE if the registered plugin requires the PageTSConfig Classes configuration
+       /**
+        * TRUE if the plugin must be loaded synchronously
+        *
+        * @var bool
+        */
        protected $requiresSynchronousLoad = FALSE;
 
-       // TRUE if the plugin must be loaded synchronously
+       /**
+        * The comma-separated list of names of prerequisite plugins
+        *
+        * @var string
+        */
        protected $requiredPlugins = '';
 
-       // The comma-separated list of names of prerequisite plugins
        /**
         * Returns TRUE if the plugin is available and correctly initialized
         *
@@ -95,7 +166,7 @@ abstract class RteHtmlAreaApi {
                        if ($this->htmlAreaRTE->is_FE()) {
                                \TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule(
                                        $this->LOCAL_LANG,
-                                       \TYPO3\CMS\Core\Utility\GeneralUtility::readLLfile(
+                                       GeneralUtility::readLLfile(
                                                'EXT:' . $this->extensionKey . '/' . $this->relativePathToLocallangFile,
                                                $this->htmlAreaRTE->language
                                        )
@@ -114,7 +185,7 @@ abstract class RteHtmlAreaApi {
         */
        public function addButtonsToToolbar() {
                //Add only buttons not yet in the default toolbar order
-               $addButtons = implode(',', array_diff(\TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $this->pluginButtons, TRUE), \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $this->htmlAreaRTE->defaultToolbarOrder, TRUE)));
+               $addButtons = implode(',', array_diff(GeneralUtility::trimExplode(',', $this->pluginButtons, TRUE), GeneralUtility::trimExplode(',', $this->htmlAreaRTE->defaultToolbarOrder, TRUE)));
                return ($addButtons ? 'bar,' . $addButtons . ',linebreak,' : '') . $this->htmlAreaRTE->defaultToolbarOrder;
        }
 
@@ -139,7 +210,7 @@ abstract class RteHtmlAreaApi {
         */
        public function buildJavascriptConfiguration($rteNumberPlaceholder) {
                $registerRTEinJavascriptString = '';
-               $pluginButtons = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $this->pluginButtons, TRUE);
+               $pluginButtons = GeneralUtility::trimExplode(',', $this->pluginButtons, TRUE);
                foreach ($pluginButtons as $button) {
                        if (in_array($button, $this->toolbar)) {
                                if (!is_array($this->thisConfig['buttons.']) || !is_array($this->thisConfig['buttons.'][($button . '.')])) {
@@ -166,7 +237,7 @@ abstract class RteHtmlAreaApi {
         * @return string the full path to the plugin directory
         */
        public function getPathToPluginDirectory() {
-               return $this->relativePathToPluginDirectory ? $this->htmlAreaRTE->httpTypo3Path . \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::siteRelPath($this->extensionKey) . $this->relativePathToPluginDirectory : '';
+               return $this->relativePathToPluginDirectory ? $this->htmlAreaRTE->httpTypo3Path . ExtensionManagementUtility::siteRelPath($this->extensionKey) . $this->relativePathToPluginDirectory : '';
        }
 
        /**