refactoring

This commit is contained in:
O3-Shop 2023-04-05 08:53:11 +02:00
parent efa900bb91
commit e6278a71e9
34 changed files with 225 additions and 100 deletions

View File

@ -30,6 +30,7 @@ use O3\TinyMCE\Application\Core\TinyMCE\Options\ContextMenu;
use O3\TinyMCE\Application\Core\TinyMCE\Options\DocumentBaseUrl; use O3\TinyMCE\Application\Core\TinyMCE\Options\DocumentBaseUrl;
use O3\TinyMCE\Application\Core\TinyMCE\Options\EntityEncoding; use O3\TinyMCE\Application\Core\TinyMCE\Options\EntityEncoding;
use O3\TinyMCE\Application\Core\TinyMCE\Options\ExternalPlugins; use O3\TinyMCE\Application\Core\TinyMCE\Options\ExternalPlugins;
use O3\TinyMCE\Application\Core\TinyMCE\Options\FilePickerCallback;
use O3\TinyMCE\Application\Core\TinyMCE\Options\FilemanagerUrl; use O3\TinyMCE\Application\Core\TinyMCE\Options\FilemanagerUrl;
use O3\TinyMCE\Application\Core\TinyMCE\Options\ImageAdvtab; use O3\TinyMCE\Application\Core\TinyMCE\Options\ImageAdvtab;
use O3\TinyMCE\Application\Core\TinyMCE\Options\Language; use O3\TinyMCE\Application\Core\TinyMCE\Options\Language;
@ -44,6 +45,7 @@ use O3\TinyMCE\Application\Core\TinyMCE\Options\QuickbarsInsertToolbar;
use O3\TinyMCE\Application\Core\TinyMCE\Options\RelativeUrls; use O3\TinyMCE\Application\Core\TinyMCE\Options\RelativeUrls;
use O3\TinyMCE\Application\Core\TinyMCE\Options\Selector; use O3\TinyMCE\Application\Core\TinyMCE\Options\Selector;
use O3\TinyMCE\Application\Core\TinyMCE\Options\Toolbar; use O3\TinyMCE\Application\Core\TinyMCE\Options\Toolbar;
use O3\TinyMCE\Application\Core\TinyMCE\Options\ToolbarMode;
use O3\TinyMCE\Application\Core\TinyMCE\Options\ToolbarSticky; use O3\TinyMCE\Application\Core\TinyMCE\Options\ToolbarSticky;
class Configuration class Configuration
@ -68,7 +70,7 @@ class Configuration
$this->addToolbar(); $this->addToolbar();
} }
protected function addOption($key, OptionInterface $optionInstance): void protected function addOption(OptionInterface $optionInstance): void
{ {
if (!$optionInstance->requireRegistration()) return; if (!$optionInstance->requireRegistration()) return;
@ -78,7 +80,7 @@ class Configuration
$option = (oxNew(Utils::class))->quote($option); $option = (oxNew(Utils::class))->quote($option);
} }
$this->options[$key] = $option; $this->options[$optionInstance->getKey()] = $option;
} }
public function getConfig() public function getConfig()
@ -113,54 +115,56 @@ class Configuration
*/ */
protected function addIntegrateOptions(): void protected function addIntegrateOptions(): void
{ {
$this->addOption( BaseUrl::KEY, oxNew( BaseUrl::class, $this->loader)); $this->addOption(oxNew( BaseUrl::class, $this->loader));
$this->addOption( CacheSuffix::KEY, oxNew( CacheSuffix::class, $this->loader)); $this->addOption(oxNew( CacheSuffix::class, $this->loader));
$this->addOption( Selector::KEY, oxNew( Selector::class, $this->loader)); $this->addOption(oxNew( Selector::class, $this->loader));
} }
protected function addGuiOptions(): void protected function addGuiOptions(): void
{ {
$this->addOption(ContextMenu::KEY, oxNew(ContextMenu::class, $this->loader)); $this->addOption(oxNew(ContextMenu::class, $this->loader));
$this->addOption(MinHeight::KEY, oxNew(MinHeight::class, $this->loader)); $this->addOption(oxNew(MinHeight::class, $this->loader));
$this->addOption(MaxHeight::KEY, oxNew(MaxHeight::class, $this->loader)); $this->addOption(oxNew(MaxHeight::class, $this->loader));
$this->addOption(MaxWidth::KEY, oxNew(MaxWidth::class, $this->loader)); $this->addOption(oxNew(MaxWidth::class, $this->loader));
$this->addOption(Menubar::KEY, oxNew(Menubar::class, $this->loader)); $this->addOption(oxNew(Menubar::class, $this->loader));
$this->addOption(ToolbarSticky::KEY, oxNew(ToolbarSticky::class, $this->loader)); $this->addOption(oxNew(ToolbarSticky::class, $this->loader));
$this->addOption(oxNew(ToolbarMode::class, $this->loader));
} }
protected function addContentAppearance(): void protected function addContentAppearance(): void
{ {
$this->addOption(ContentCss::KEY, oxNew(ContentCss::class,$this->loader)); $this->addOption(oxNew(ContentCss::class,$this->loader));
} }
protected function addContentFiltering(): void protected function addContentFiltering(): void
{ {
$this->addOption(EntityEncoding::KEY, oxNew(EntityEncoding::class,$this->loader)); $this->addOption(oxNew(EntityEncoding::class,$this->loader));
$this->addOption(Protect::KEY, oxNew(Protect::class,$this->loader)); $this->addOption(oxNew(Protect::class,$this->loader));
} }
protected function addLocalizationOptions(): void protected function addLocalizationOptions(): void
{ {
$this->addOption( Language::KEY, oxNew( Language::class, $this->loader)); $this->addOption(oxNew( Language::class, $this->loader));
} }
protected function addUrlHandling(): void protected function addUrlHandling(): void
{ {
$this->addOption( DocumentBaseUrl::KEY, oxNew( DocumentBaseUrl::class, $this->loader)); $this->addOption(oxNew( DocumentBaseUrl::class, $this->loader));
$this->addOption( RelativeUrls::KEY, oxNew( RelativeUrls::class, $this->loader)); $this->addOption(oxNew( RelativeUrls::class, $this->loader));
} }
protected function addPlugins(): void protected function addPlugins(): void
{ {
$this->addOption( ImageAdvtab::KEY, oxNew( ImageAdvtab::class, $this->loader)); $this->addOption(oxNew( ImageAdvtab::class, $this->loader));
$this->addOption( Plugins::KEY, oxNew( Plugins::class, $this->loader)); $this->addOption(oxNew( Plugins::class, $this->loader));
$this->addOption( ExternalPlugins::KEY, oxNew( ExternalPlugins::class, $this->loader)); $this->addOption(oxNew( ExternalPlugins::class, $this->loader));
$this->addOption( FilemanagerUrl::KEY, oxNew( FilemanagerUrl::class, $this->loader)); $this->addOption(oxNew( FilemanagerUrl::class, $this->loader));
$this->addOption(QuickbarsInsertToolbar::KEY, oxNew(QuickbarsInsertToolbar::class, $this->loader)); $this->addOption(oxNew( FilePickerCallback::class, $this->loader));
$this->addOption(oxNew(QuickbarsInsertToolbar::class, $this->loader));
} }
protected function addToolbar(): void protected function addToolbar(): void
{ {
$this->addOption( Toolbar::KEY, oxNew( Toolbar::class, $this->loader)); $this->addOption(oxNew( Toolbar::class, $this->loader));
} }
} }

View File

@ -43,11 +43,11 @@ class Loader
/** /**
* @return string * @return string
*/ */
public function getEditorSwitch(): string public function getEditorCode(): string
{ {
if (!$this->isEnabledForCurrentController()) return ''; if (!$this->isEnabledForCurrentController()) return '';
if ($this->contentIsPlain()) return $this->language->translateString('BLA_TINYMCE_PLAINCMS'); if ($this->contentIsPlain()) return $this->language->translateString('TINYMCE_PLAINCMS');
$configuration = oxNew(Configuration::class, $this); $configuration = oxNew(Configuration::class, $this);
$configuration->build(); $configuration->build();

View File

@ -27,6 +27,8 @@ use O3\TinyMCE\Application\Core\TinyMCE\Loader;
abstract class AbstractOption implements OptionInterface abstract class AbstractOption implements OptionInterface
{ {
protected string $key = 'undefinedKey';
protected Loader $loader; protected Loader $loader;
public function __construct(Loader $loader) public function __construct(Loader $loader)
@ -34,6 +36,14 @@ abstract class AbstractOption implements OptionInterface
$this->loader = $loader; $this->loader = $loader;
} }
/**
* @return string
*/
public function getKey(): string
{
return $this->key;
}
abstract public function get(): string; abstract public function get(): string;
public function mustQuote(): bool public function mustQuote(): bool

View File

@ -25,7 +25,7 @@ namespace O3\TinyMCE\Application\Core\TinyMCE\Options;
class BaseUrl extends AbstractOption class BaseUrl extends AbstractOption
{ {
public const KEY = 'base_url'; protected string $key = 'base_url';
/** /**
* @return string * @return string

View File

@ -27,7 +27,7 @@ use O3\TinyMCE\Application\Core\TinyMCE\Loader;
class CacheSuffix extends AbstractOption class CacheSuffix extends AbstractOption
{ {
public const KEY = 'cache_suffix'; protected string $key = 'cache_suffix';
protected Loader $loader; protected Loader $loader;

View File

@ -24,17 +24,17 @@ declare(strict_types=1);
namespace O3\TinyMCE\Application\Core\TinyMCE\Options; namespace O3\TinyMCE\Application\Core\TinyMCE\Options;
use O3\TinyMCE\Application\Core\TinyMCE\Loader; use O3\TinyMCE\Application\Core\TinyMCE\Loader;
use OxidEsales\Eshop\Core\Registry;
class ContentCss extends AbstractOption class ContentCss extends AbstractOption
{ {
public const KEY = 'content_css'; protected string $key = 'content_css';
protected Loader $loader; protected Loader $loader;
public function get(): string public function get(): string
{ {
// ToDo: use current theme return '/out/'.strtolower(Registry::getConfig()->getConfigParam('sTheme')).'/src/css/styles.min.css';
return '/out/wave/src/css/styles.min.css';
} }
public function mustQuote(): bool public function mustQuote(): bool

View File

@ -25,7 +25,7 @@ namespace O3\TinyMCE\Application\Core\TinyMCE\Options;
class ContextMenu extends AbstractOption class ContextMenu extends AbstractOption
{ {
public const KEY = 'contextmenu'; protected string $key = 'contextmenu';
public function get(): string public function get(): string
{ {

View File

@ -27,7 +27,7 @@ use OxidEsales\Eshop\Core\Registry;
class DocumentBaseUrl extends AbstractOption class DocumentBaseUrl extends AbstractOption
{ {
public const KEY = 'document_base_url'; protected string $key = 'document_base_url';
public function get(): string public function get(): string
{ {

View File

@ -27,7 +27,7 @@ use O3\TinyMCE\Application\Core\TinyMCE\Loader;
class EntityEncoding extends AbstractOption class EntityEncoding extends AbstractOption
{ {
public const KEY = 'entity_encoding'; protected string $key = 'entity_encoding';
protected Loader $loader; protected Loader $loader;

View File

@ -29,7 +29,7 @@ use O3\TinyMCE\Application\Core\TinyMCE\Utils;
class ExternalPlugins extends AbstractOption class ExternalPlugins extends AbstractOption
{ {
public const KEY = 'external_plugins'; protected string $key = 'external_plugins';
public function get(): string public function get(): string
{ {

View File

@ -0,0 +1,43 @@
<?php
/**
* This file is part of O3-Shop TinyMCE editor module.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with O3-Shop. If not, see <http://www.gnu.org/licenses/>
*
* @copyright Copyright (c) 2022 OXID Marat Bedoev, bestlife AG
* @copyright Copyright (c) 2023 O3-Shop (https://www.o3-shop.com)
* @license https://www.gnu.org/licenses/gpl-3.0 GNU General Public License 3 (GPLv3)
*/
declare(strict_types=1);
namespace O3\TinyMCE\Application\Core\TinyMCE\Options;
use O3\TinyMCE\Application\Core\TinyMCE\Loader;
class FilePickerCallback extends AbstractOption
{
protected string $key = 'file_picker_callback';
protected Loader $loader;
public function get(): string
{
return 'RoxyFileBrowser';
}
public function requireRegistration(): bool
{
return (bool) $this->loader->getShopConfig()->getConfigParam("blTinyMCE_filemanager");
}
}

View File

@ -29,7 +29,7 @@ use OxidEsales\Eshop\Core\UtilsServer;
class FilemanagerUrl extends AbstractOption class FilemanagerUrl extends AbstractOption
{ {
public const KEY = 'filemanager_url'; protected string $key = 'filemanager_url';
protected Loader $loader; protected Loader $loader;
@ -41,7 +41,7 @@ class FilemanagerUrl extends AbstractOption
return str_replace( return str_replace(
'&amp;', '&amp;',
'&', '&',
Registry::getConfig()->getActiveView()->getViewConfig()->getSslSelfLink()."cl=tinyfilemanager" Registry::getConfig()->getActiveView()->getViewConfig()->getSslSelfLink()."cl=tinyfilemanager&input=form-field_3980235013121680647721848"
); );
} }

View File

@ -25,7 +25,7 @@ namespace O3\TinyMCE\Application\Core\TinyMCE\Options;
class ImageAdvtab extends AbstractOption class ImageAdvtab extends AbstractOption
{ {
public const KEY = 'image_advtab'; protected string $key = 'image_advtab';
public function get(): string public function get(): string
{ {

View File

@ -25,7 +25,7 @@ namespace O3\TinyMCE\Application\Core\TinyMCE\Options;
class Language extends AbstractOption class Language extends AbstractOption
{ {
public const KEY = 'language'; protected string $key = 'language';
/** /**
* @return string * @return string

View File

@ -25,7 +25,7 @@ namespace O3\TinyMCE\Application\Core\TinyMCE\Options;
class MaxHeight extends AbstractOption class MaxHeight extends AbstractOption
{ {
public const KEY = 'max_height'; protected string $key = 'max_height';
public function get(): string public function get(): string
{ {

View File

@ -25,7 +25,7 @@ namespace O3\TinyMCE\Application\Core\TinyMCE\Options;
class MaxWidth extends AbstractOption class MaxWidth extends AbstractOption
{ {
public const KEY = 'max_width'; protected string $key = 'max_width';
public function get(): string public function get(): string
{ {

View File

@ -25,7 +25,7 @@ namespace O3\TinyMCE\Application\Core\TinyMCE\Options;
class Menubar extends AbstractOption class Menubar extends AbstractOption
{ {
public const KEY = 'menubar'; protected string $key = 'menubar';
public function get(): string public function get(): string
{ {

View File

@ -23,12 +23,20 @@ declare(strict_types=1);
namespace O3\TinyMCE\Application\Core\TinyMCE\Options; namespace O3\TinyMCE\Application\Core\TinyMCE\Options;
use OxidEsales\Eshop\Core\Registry;
class MinHeight extends AbstractOption class MinHeight extends AbstractOption
{ {
public const KEY = 'min_height'; protected string $key = 'min_height';
public function get(): string public function get(): string
{ {
$profile = Registry::getSession()->getVariable('profile');
if (isset($profile) && $profile[1]) {
return (string) (max($profile[1] * 20, 350));
}
return '350'; return '350';
} }
} }

View File

@ -29,6 +29,8 @@ interface OptionInterface
{ {
public function __construct(Loader $loader); public function __construct(Loader $loader);
public function getKey(): string;
public function get(): string; public function get(): string;
public function mustQuote(): bool; public function mustQuote(): bool;

View File

@ -28,7 +28,7 @@ use O3\TinyMCE\Application\Core\TinyMCE\Plugins\PluginInterface;
class Plugins extends AbstractOption class Plugins extends AbstractOption
{ {
public const KEY = 'plugins'; protected string $key = 'plugins';
public function get(): string public function get(): string
{ {

View File

@ -25,7 +25,7 @@ namespace O3\TinyMCE\Application\Core\TinyMCE\Options;
class Protect extends AbstractOption class Protect extends AbstractOption
{ {
public const KEY = 'protect'; protected string $key = 'protect';
public function get(): string public function get(): string
{ {

View File

@ -30,13 +30,14 @@ use O3\TinyMCE\Application\Core\TinyMCE\Utils;
class QuickbarsInsertToolbar extends AbstractOption class QuickbarsInsertToolbar extends AbstractOption
{ {
public const KEY = 'quickbars_insert_toolbar'; protected string $key = 'quickbars_insert_toolbar';
public function get(): string public function get(): string
{ {
return implode( return implode(
' | ', ' | ',
[ [
// 'quickimage', // disabled, as images are only inserted inline. This is too much for a typical database field length.
'quicktable', 'quicktable',
'hr', 'hr',
'pagebreak' 'pagebreak'

View File

@ -25,7 +25,7 @@ namespace O3\TinyMCE\Application\Core\TinyMCE\Options;
class RelativeUrls extends AbstractOption class RelativeUrls extends AbstractOption
{ {
public const KEY = 'relative_urls'; protected string $key = 'relative_urls';
public function get(): string public function get(): string
{ {

View File

@ -27,7 +27,7 @@ use O3\TinyMCE\Application\Core\TinyMCE\Loader;
class Selector extends AbstractOption class Selector extends AbstractOption
{ {
public const KEY = 'selector'; protected string $key = 'selector';
public function get(): string public function get(): string
{ {

View File

@ -30,7 +30,9 @@ use O3\TinyMCE\Application\Core\TinyMCE\ToolbarList;
class Toolbar extends AbstractOption class Toolbar extends AbstractOption
{ {
public const KEY = 'toolbar'; protected string $key = 'toolbar';
protected bool $forceSingleLineToolbar = true;
public function __construct( Loader $loader ) public function __construct( Loader $loader )
{ {
@ -40,6 +42,56 @@ class Toolbar extends AbstractOption
public function get(): string public function get(): string
{ {
$toolbarList = oxNew(ToolbarList::class); $toolbarList = oxNew(ToolbarList::class);
return $this->forceSingleLineToolbar ?
$this->getSingleLineToolbar($toolbarList) :
$this->getMultiLineToolbar($toolbarList);
}
protected function getSingleLineToolbar($toolbarList)
{
$all = [];
foreach ($toolbarList->get() as $toolbar) {
$all = array_merge($all, $toolbar);
}
$toolbarElements = implode(
' | ',
array_filter(
array_map(
function ($toolbarElement) {
return implode(
' ',
$toolbarElement->getButtons()
);
},
$all
)
)
);
$pluginList = oxNew(PluginList::class);
$pluginToolbarElements = implode(
' | ',
array_filter(
array_map(
function (PluginInterface $plugin) {
return count($plugin->getToolbarElements()) ? implode(
' ',
$plugin->getToolbarElements()
) : null;
},
$pluginList->get()
)
)
);
return $toolbarElements . ' | ' . $pluginToolbarElements;
}
protected function getMultiLineToolbar($toolbarList)
{
$list = []; $list = [];
foreach ($toolbarList->get() as $toolbar) { foreach ($toolbarList->get() as $toolbar) {
@ -77,4 +129,9 @@ class Toolbar extends AbstractOption
return '["'.implode('", "', $list).'"]'; return '["'.implode('", "', $list).'"]';
} }
public function mustQuote(): bool
{
return true;
}
} }

View File

@ -0,0 +1,39 @@
<?php
/**
* This file is part of O3-Shop TinyMCE editor module.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with O3-Shop. If not, see <http://www.gnu.org/licenses/>
*
* @copyright Copyright (c) 2022 OXID Marat Bedoev, bestlife AG
* @copyright Copyright (c) 2023 O3-Shop (https://www.o3-shop.com)
* @license https://www.gnu.org/licenses/gpl-3.0 GNU General Public License 3 (GPLv3)
*/
declare(strict_types=1);
namespace O3\TinyMCE\Application\Core\TinyMCE\Options;
class ToolbarMode extends AbstractOption
{
protected string $key = 'toolbar_mode';
public function get(): string
{
return 'sliding';
}
public function mustQuote(): bool
{
return true;
}
}

View File

@ -25,7 +25,7 @@ namespace O3\TinyMCE\Application\Core\TinyMCE\Options;
class ToolbarSticky extends AbstractOption class ToolbarSticky extends AbstractOption
{ {
public const KEY = 'toolbar_sticky'; protected string $key = 'toolbar_sticky';
public function get(): string public function get(): string
{ {

View File

@ -28,6 +28,9 @@ class Font extends AbstractToolbar
public function getButtons(): array public function getButtons(): array
{ {
return [ return [
// 'fontselect',
//'fontsizeselect',
// '|',
'bold', 'bold',
'italic', 'italic',
'underline', 'underline',

View File

@ -58,39 +58,5 @@ class ToolbarList
'removeformat' => oxNew(RemoveFormat::class), 'removeformat' => oxNew(RemoveFormat::class),
] ]
]; ];
$all = $this->getAll();
if ($count && isset($all[$count])) {
return $all[$count];
} elseif (!$count) {
$allList = [];
foreach ($all as $toolbars) {
$allList = array_merge($allList, $toolbars);
}
return $allList;
}
}
protected function getAll(): array
{
return [
1 => [
'formatselect' => oxNew(Formatselect::class),
'font' => oxNew(Font::class),
'color' => oxNew(Color::class),
'align' => oxNew(Align::class),
'subscript' => oxNew(Subscript::class),
'superscript' => oxNew(Superscript::class),
],
2 => [
'undo' => oxNew(Undo::class),
'copypaste' => oxNew(CopyPaste::class),
'lists' => oxNew(Lists::class),
'indent' => oxNew(Indent::class),
'blockquote' => oxNew(Blockquote::class),
'removeformat' => oxNew(RemoveFormat::class),
]
];
} }
} }

View File

@ -38,14 +38,6 @@ class ViewConfig extends ViewConfig_parent
$loader = oxNew(Loader::class, $config, $language); $loader = oxNew(Loader::class, $config, $language);
return $loader->getEditorSwitch(); return $loader->getEditorCode();
} }
} }
// ToDo:
// https://www.tiny.cloud/docs/tinymce/6/toolbar-configuration-options/
// flexible MinHeight je nach Logineinstellung
// flexibles CSS basierend auf Wave
// MediaSelect Bug

View File

@ -19,8 +19,8 @@
$sLangName = 'Deutsch'; $sLangName = 'Deutsch';
$aLang = array( $aLang = array(
'charset' => 'UTF-8', 'charset' => 'UTF-8',
'BLA_TINYMCE_TOGGLE' => 'TinyMCE zeigen/verstecken', 'TINYMCE_TOGGLE' => 'Editor zeigen/verstecken',
'BLA_TINYMCE_PLAINCMS' => '<b class="errorbox">TinyMCE wurde für diese Seite deaktiviert, weil sie keine HTML Formatierung enthalten darf </b>', 'TINYMCE_PLAINCMS' => '<b class="errorbox">TinyMCE wurde für diese Seite deaktiviert, weil sie keine HTML Formatierung enthalten darf </b>',
'SHOP_MODULE_GROUP_tinyMceMain' => '<style type="text/css">.groupExp a.rc b {font-size:medium;color:#ff3600;}.groupExp dt input.txt {width:430px !important} .groupExp dl {display:block !important;} input.confinput {position:fixed;top:20px;right:70px;background:#008B2D;padding:10px 25px;color:white;border:1px solid black;cursor:pointer;font-size:125%;} input.confinput:hover {outline:3px solid #ff3600;} .groupExp dt textarea.txtfield {width:430px;height:150px;}</style>Moduleinstellungen', 'SHOP_MODULE_GROUP_tinyMceMain' => '<style type="text/css">.groupExp a.rc b {font-size:medium;color:#ff3600;}.groupExp dt input.txt {width:430px !important} .groupExp dl {display:block !important;} input.confinput {position:fixed;top:20px;right:70px;background:#008B2D;padding:10px 25px;color:white;border:1px solid black;cursor:pointer;font-size:125%;} input.confinput:hover {outline:3px solid #ff3600;} .groupExp dt textarea.txtfield {width:430px;height:150px;}</style>Moduleinstellungen',
'SHOP_MODULE_blTinyMCE_filemanager' => 'Dateimanager aktivieren', 'SHOP_MODULE_blTinyMCE_filemanager' => 'Dateimanager aktivieren',
'HELP_SHOP_MODULE_blTinyMCE_filemanager' => 'Ist diese Option aktiv, können Bilder hochgeladen werden. Der Speicherort ist: out/pictures/wysiwigpro/', 'HELP_SHOP_MODULE_blTinyMCE_filemanager' => 'Ist diese Option aktiv, können Bilder hochgeladen werden. Der Speicherort ist: out/pictures/wysiwigpro/',

View File

@ -2,7 +2,7 @@
<button style="border: 1px solid #0089EE; color: #0089EE;padding: 3px 10px; margin-top: -10px; background: white;" <button style="border: 1px solid #0089EE; color: #0089EE;padding: 3px 10px; margin-top: -10px; background: white;"
onclick="tinymce.each(tinymce.editors, function(editor) { if(editor.isHidden()) { editor.show(); } else { editor.hide(); } });"> onclick="tinymce.each(tinymce.editors, function(editor) { if(editor.isHidden()) { editor.show(); } else { editor.hide(); } });">
<span> <span>
[{oxmultilang ident="BLA_TINYMCE_TOGGLE"}] [{oxmultilang ident="TINYMCE_TOGGLE"}]
</span> </span>
</button> </button>
</li> </li>

View File

@ -19,8 +19,8 @@
$sLangName = 'English'; $sLangName = 'English';
$aLang = array( $aLang = array(
'charset' => 'UTF-8', 'charset' => 'UTF-8',
'BLA_TINYMCE_TOGGLE' => 'toggle TinyMCE', 'TINYMCE_TOGGLE' => 'toggle editor',
'BLA_TINYMCE_PLAINCMS' => '<b class="errorbox">TinyMCE was disabled for this page because it may not contain HTML code</b>', 'TINYMCE_PLAINCMS' => '<b class="errorbox">TinyMCE was disabled for this page because it may not contain HTML code</b>',
'SHOP_MODULE_GROUP_tinyMceMain' => '<style type="text/css">.groupExp a.rc b {font-size:medium;color:#ff3600;}.groupExp dt input.txt {width:430px !important} .groupExp dl {display:block !important;} input.confinput {position:fixed;top:20px;right:70px;background:#008B2D;padding:10px 25px;color:white;border:1px solid black;cursor:pointer; font-size: 125%; } input.confinput:hover {outline: 3px solid #ff3600;} .groupExp dt textarea.txtfield {width: 430px; height: 150px;}</style>module settings', 'SHOP_MODULE_GROUP_tinyMceMain' => '<style type="text/css">.groupExp a.rc b {font-size:medium;color:#ff3600;}.groupExp dt input.txt {width:430px !important} .groupExp dl {display:block !important;} input.confinput {position:fixed;top:20px;right:70px;background:#008B2D;padding:10px 25px;color:white;border:1px solid black;cursor:pointer; font-size: 125%; } input.confinput:hover {outline: 3px solid #ff3600;} .groupExp dt textarea.txtfield {width: 430px; height: 150px;}</style>module settings',
'SHOP_MODULE_blTinyMCE_filemanager' => 'enable filemanager', 'SHOP_MODULE_blTinyMCE_filemanager' => 'enable filemanager',
'HELP_SHOP_MODULE_blTinyMCE_filemanager' => 'When enabled, you can upload pictures into this directory: out/pictures/wysiwigpro/', 'HELP_SHOP_MODULE_blTinyMCE_filemanager' => 'When enabled, you can upload pictures into this directory: out/pictures/wysiwigpro/',