[CLEANUP] Use comments not PHPDoc style comments in copyright block
[Packages/TYPO3.CMS.git] / typo3 / sysext / rtehtmlarea / Classes / Extension / UserElements.php
1 <?php
2 namespace TYPO3\CMS\Rtehtmlarea\Extension;
3
4 /*
5 * This file is part of the TYPO3 CMS project.
6 *
7 * It is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU General Public License, either version 2
9 * of the License, or any later version.
10 *
11 * For the full copyright and license information, please read the
12 * LICENSE.txt file that was distributed with this source code.
13 *
14 * The TYPO3 project - inspiring people to share!
15 */
16 use TYPO3\CMS\Backend\Utility\BackendUtility;
17 use TYPO3\CMS\Core\Utility\GeneralUtility;
18
19 /**
20 * User Elements extension for htmlArea RTE
21 *
22 * @author Stanislas Rolland <typo3(arobas)sjbr.ca>
23 */
24 class UserElements extends \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi {
25
26 /**
27 * The key of the extension that is extending htmlArea RTE
28 *
29 * @var string
30 */
31 protected $extensionKey = 'rtehtmlarea';
32
33 /**
34 * The name of the plugin registered by the extension
35 *
36 * @var string
37 */
38 protected $pluginName = 'UserElements';
39
40 /**
41 * Path to this main locallang file of the extension relative to the extension directory
42 *
43 * @var string
44 */
45 protected $relativePathToLocallangFile = '';
46
47 /**
48 * Path to the skin file relative to the extension directory
49 *
50 * @var string
51 */
52 protected $relativePathToSkin = 'Resources/Public/Css/Skin/Plugins/user-elements.css';
53
54 /**
55 * Reference to the invoking object
56 *
57 * @var \TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase
58 */
59 protected $htmlAreaRTE;
60
61 protected $thisConfig;
62
63 // Reference to RTE PageTSConfig
64 protected $toolbar;
65
66 // Reference to RTE toolbar array
67 protected $LOCAL_LANG;
68
69 // Frontend language array
70 protected $pluginButtons = 'user';
71
72 protected $convertToolbarForHtmlAreaArray = array(
73 'user' => 'UserElements'
74 );
75
76 /**
77 * Return JS configuration of the htmlArea plugins registered by the extension
78 *
79 * @param int Relative id of the RTE editing area in the form
80 * @return string JS configuration for registered plugins, in this case, JS configuration of block elements
81 */
82 public function buildJavascriptConfiguration($RTEcounter) {
83 $registerRTEinJavascriptString = '';
84 $button = 'user';
85 if (in_array($button, $this->toolbar)) {
86 if (!is_array($this->thisConfig['buttons.']) || !is_array($this->thisConfig['buttons.'][($button . '.')])) {
87 $registerRTEinJavascriptString .= '
88 RTEarea[' . $RTEcounter . '].buttons.' . $button . ' = new Object();';
89 }
90 $registerRTEinJavascriptString .= '
91 RTEarea[' . $RTEcounter . '].buttons.' . $button . '.pathUserModule = ' .
92 GeneralUtility::quoteJSvalue(BackendUtility::getModuleUrl('rtehtmlarea_wizard_user_elements')) . ';';
93 }
94 return $registerRTEinJavascriptString;
95 }
96
97 }