TYPO3 CMS  TYPO3_7-6
Typo3HtmlParser.php
Go to the documentation of this file.
1 <?php
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 
20 
25 {
31  protected $pluginName = 'TYPO3HtmlParser';
32 
38  protected $pluginButtons = 'cleanword';
39 
46  'cleanword' => 'CleanWord'
47  ];
48 
55  public function main(array $configuration)
56  {
57  return parent::main($configuration)
58  && $this->configuration['thisConfig']['enableWordClean']
59  && is_array($this->configuration['thisConfig']['enableWordClean.']['HTMLparser.']);
60  }
61 
67  public function buildJavascriptConfiguration()
68  {
69  $jsArray = [];
70  $button = 'cleanword';
71  if (in_array($button, $this->toolbar)) {
72  if (!is_array($this->configuration['thisConfig']['buttons.']) || !is_array($this->configuration['thisConfig']['buttons.'][$button . '.'])) {
73  $jsArray[] = 'RTEarea[editornumber].buttons.' . $button . ' = new Object();';
74  }
75  $jsArray[] = 'RTEarea[editornumber].buttons.' . $button . '.pathParseHtmlModule = ' . GeneralUtility::quoteJSvalue(BackendUtility::getModuleUrl('rtehtmlarea_wizard_parse_html')) . ';';
76  $jsArray[] = 'RTEarea[editornumber].buttons.' . $button . '.hotKey = "' . ($this->configuration['thisConfig']['enableWordClean.']['hotKey'] ?: '0') . '";';
77  }
78  return implode(LF, $jsArray);
79  }
80 
88  public function applyToolbarConstraints($show)
89  {
90  return array_unique(array_merge($show, GeneralUtility::trimExplode(',', $this->pluginButtons)));
91  }
92 }
static trimExplode($delim, $string, $removeEmptyValues=false, $limit=0)