fix not removed protection in attributes
This commit is contained in:
parent
7f8caa565a
commit
32c92bdc60
@ -32,6 +32,7 @@ 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\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\InitInstanceCallback;
|
||||||
use O3\TinyMCE\Application\Core\TinyMCE\Options\Language;
|
use O3\TinyMCE\Application\Core\TinyMCE\Options\Language;
|
||||||
use O3\TinyMCE\Application\Core\TinyMCE\Options\MaxHeight;
|
use O3\TinyMCE\Application\Core\TinyMCE\Options\MaxHeight;
|
||||||
use O3\TinyMCE\Application\Core\TinyMCE\Options\MaxWidth;
|
use O3\TinyMCE\Application\Core\TinyMCE\Options\MaxWidth;
|
||||||
@ -112,6 +113,7 @@ class Configuration
|
|||||||
$this->addOption(oxNew(BaseUrl::class, $this->loader));
|
$this->addOption(oxNew(BaseUrl::class, $this->loader));
|
||||||
$this->addOption(oxNew(CacheSuffix::class, $this->loader));
|
$this->addOption(oxNew(CacheSuffix::class, $this->loader));
|
||||||
$this->addOption(oxNew(Selector::class, $this->loader));
|
$this->addOption(oxNew(Selector::class, $this->loader));
|
||||||
|
$this->addOption(oxNew(InitInstanceCallback::class, $this->loader));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function addGuiOptions(): void
|
protected function addGuiOptions(): void
|
||||||
|
57
Application/Core/TinyMCE/Options/InitInstanceCallback.php
Normal file
57
Application/Core/TinyMCE/Options/InitInstanceCallback.php
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
<?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 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\PluginList;
|
||||||
|
use O3\TinyMCE\Application\Core\TinyMCE\Plugins\PluginInterface;
|
||||||
|
use O3\TinyMCE\Application\Core\TinyMCE\Utils;
|
||||||
|
|
||||||
|
class InitInstanceCallback extends AbstractOption
|
||||||
|
{
|
||||||
|
protected string $key = 'init_instance_callback';
|
||||||
|
|
||||||
|
public function get(): string
|
||||||
|
{
|
||||||
|
// https://github.com/tinymce/tinymce/issues/2271
|
||||||
|
|
||||||
|
$js = <<<JS
|
||||||
|
function (editor) {
|
||||||
|
editor.on('PostProcess', function (e) {
|
||||||
|
e.content = e.content.replace(
|
||||||
|
/(<!--mce:protected\s)(.*?)(-->)/gm,
|
||||||
|
function(text, p1, p2, p3){
|
||||||
|
if (unescape) {
|
||||||
|
return unescape(p2);
|
||||||
|
} else {
|
||||||
|
return decodeURIComponent(p2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
JS;
|
||||||
|
|
||||||
|
return (oxNew(Utils::class))->minifyJS($js);
|
||||||
|
}
|
||||||
|
}
|
@ -23,6 +23,8 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace O3\TinyMCE\Application\Core\TinyMCE\Options;
|
namespace O3\TinyMCE\Application\Core\TinyMCE\Options;
|
||||||
|
|
||||||
|
use O3\TinyMCE\Application\Core\TinyMCE\Utils;
|
||||||
|
|
||||||
class Setup extends AbstractOption
|
class Setup extends AbstractOption
|
||||||
{
|
{
|
||||||
protected string $key = 'setup';
|
protected string $key = 'setup';
|
||||||
@ -34,7 +36,8 @@ class Setup extends AbstractOption
|
|||||||
editor.options.register("filemanager_url", { processor: "string" });
|
editor.options.register("filemanager_url", { processor: "string" });
|
||||||
}
|
}
|
||||||
JS;
|
JS;
|
||||||
return trim((string) preg_replace('!\s+!', ' ', $js));
|
|
||||||
|
return (oxNew(Utils::class))->minifyJS($js);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -29,4 +29,9 @@ class Utils
|
|||||||
{
|
{
|
||||||
return '"'.addslashes($string).'"';
|
return '"'.addslashes($string).'"';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function minifyJS(string $js): string
|
||||||
|
{
|
||||||
|
return trim((string) preg_replace('!\s+!', ' ', $js));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user