Skip to content

Commit 9102db6

Browse files
committed
Option to disable page builder
1 parent 23d1aa5 commit 9102db6

File tree

4 files changed

+79
-3
lines changed

4 files changed

+79
-3
lines changed
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
<?php
2+
/**
3+
* Copyright © Magefan ([email protected]). All rights reserved.
4+
* See LICENSE.txt for license details (http://opensource.org/licenses/osl-3.0.php).
5+
*/
6+
7+
declare(strict_types=1);
8+
9+
namespace Magefan\WysiwygAdvanced\Plugin\Magento\PageBuilder\Model;
10+
11+
use Magento\Framework\App\Config\ScopeConfigInterface;
12+
use Magento\Framework\App\RequestInterface;
13+
use Magento\Store\Model\ScopeInterface;
14+
15+
class ConfigInterface
16+
{
17+
/**
18+
* @var RequestInterface
19+
*/
20+
private $request;
21+
22+
/**
23+
* @var ScopeConfigInterface
24+
*/
25+
private $scopeConfig;
26+
27+
/**
28+
* ConfigPlugin constructor.
29+
* @param null $activeEditor
30+
*/
31+
public function __construct(
32+
RequestInterface $request,
33+
ScopeConfigInterface $scopeConfig
34+
) {
35+
$this->request = $request;
36+
$this->scopeConfig = $scopeConfig;
37+
}
38+
39+
/**
40+
* @param mixed
41+
* @param $result
42+
* @return mixed|null
43+
*/
44+
public function afterIsEnabled($subject,$result) {
45+
if (!$result) {
46+
return $result;
47+
}
48+
49+
$type = false;
50+
if (in_array($this->request->getModuleName(), ['cms', 'catalog'])) {
51+
$type = $this->request->getModuleName() . '_' . $this->request->getControllerName();
52+
} elseif ('blog' == $this->request->getModuleName()) {
53+
$type = $this->request->getModuleName();
54+
}
55+
56+
$wysiwygState = $this->scopeConfig->getValue(
57+
'mfwysiwygadvanced/general/' . $type . '_enabled',
58+
ScopeInterface::SCOPE_STORE
59+
);
60+
61+
$disablePageBuilder = in_array($wysiwygState, [
62+
\Magento\Cms\Model\Wysiwyg\Config::WYSIWYG_ENABLED,
63+
\Magento\Cms\Model\Wysiwyg\Config::WYSIWYG_DISABLED,
64+
\Magento\Cms\Model\Wysiwyg\Config::WYSIWYG_HIDDEN
65+
]);
66+
67+
if ($disablePageBuilder) {
68+
$result = false;
69+
}
70+
return $result;
71+
}
72+
73+
}

composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
"name": "magefan/module-wysiwyg-advanced",
33
"description": "Extend TinyMCE 4 in Magento 2",
44
"require": {
5-
"magefan/module-community" : ">=2.0.12"
5+
"magefan/module-community" : ">=2.1.8"
66
},
77
"type": "magento2-module",
8-
"version": "2.0.10",
8+
"version": "2.0.11",
99
"license": [
1010
"OSL-3.0",
1111
"AFL-3.0"

etc/adminhtml/di.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,7 @@
1010
<type name="Magento\Ui\Component\Wysiwyg\ConfigInterface">
1111
<plugin disabled="false" name="Magefan_WysiwygAdvanced_Plugin_Magento_Ui_Component_Wysiwyg_ConfigInterface" sortOrder="10" type="Magefan\WysiwygAdvanced\Plugin\Magento\Ui\Component\Wysiwyg\ConfigPlugin"/>
1212
</type>
13+
<type name="Magento\PageBuilder\Model\ConfigInterface">
14+
<plugin name="Magefan_WysiwygAdvanced_Plugin_Backend_Magento_PageBuilder_Model_ConfigInterface" type="Magefan\WysiwygAdvanced\Plugin\Magento\PageBuilder\Model\ConfigInterface" sortOrder="10" disabled="false"/>
15+
</type>
1316
</config>

etc/module.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
-->
88

99
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
10-
<module name="Magefan_WysiwygAdvanced" setup_version="2.0.10">
10+
<module name="Magefan_WysiwygAdvanced" setup_version="2.0.11">
1111
<sequence>
1212
<module name="Magento_Ui"/>
1313
</sequence>

0 commit comments

Comments
 (0)