PluginProbe
Elementor Website Builder – more than just a page builder / 3.2.4
Elementor Website Builder – more than just a page builder v3.2.4
4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 4.0.7 All 451 releases
← All changes | modules/gutenberg/module.php +12 -106 4.2.23.2.4 View file →
@@ -1,9 +1,8 @@
1 1 <?php
2 2 namespace Elementor\Modules\Gutenberg;
3 3
4 4 use Elementor\Core\Base\Module as BaseModule;
5 -use Elementor\Core\Experiments\Manager as Experiments_Manager;
6 5 use Elementor\Plugin;
7 6 use Elementor\User;
8 7 use Elementor\Utils;
9 8
@@ -38,14 +37,14 @@
38 37 */
39 38 public function register_elementor_rest_field() {
40 39 register_rest_field( get_post_types( '', 'names' ),
41 40 'gutenberg_elementor_mode', [
42 - 'update_callback' => function( $request_value, $obj ) {
43 - if ( ! User::is_current_user_can_edit( $obj->ID ) ) {
41 + 'update_callback' => function( $request_value, $object ) {
42 + if ( ! User::is_current_user_can_edit( $object->ID ) ) {
44 43 return false;
45 44 }
46 45
47 - $document = Plugin::$instance->documents->get( $obj->ID );
46 + $document = Plugin::$instance->documents->get( $object->ID );
48 47
49 48 if ( ! $document ) {
50 49 return false;
51 50 }
@@ -70,9 +69,9 @@
70 69 }
71 70
72 71 $this->is_gutenberg_editor_active = true;
73 72
74 - $suffix = Utils::is_script_debug() ? '' : '.min';
73 + $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
75 74
76 75 wp_enqueue_script( 'elementor-gutenberg', ELEMENTOR_ASSETS_URL . 'js/gutenberg' . $suffix . '.js', [ 'jquery' ], ELEMENTOR_VERSION, true );
77 76
78 77 $elementor_settings = [
@@ -94,12 +93,12 @@
94 93 ?>
95 94 <script id="elementor-gutenberg-button-switch-mode" type="text/html">
96 95 <div id="elementor-switch-mode">
97 96 <button id="elementor-switch-mode-button" type="button" class="button button-primary button-large">
98 - <span class="elementor-switch-mode-on"><?php echo esc_html__( '&#8592; Back to WordPress Editor', 'elementor' ); ?></span>
97 + <span class="elementor-switch-mode-on"><?php echo __( '&#8592; Back to WordPress Editor', 'elementor' ); ?></span>
99 98 <span class="elementor-switch-mode-off">
100 99 <i class="eicon-elementor-square" aria-hidden="true"></i>
101 - <?php echo esc_html__( 'Edit with Elementor', 'elementor' ); ?>
100 + <?php echo __( 'Edit with Elementor', 'elementor' ); ?>
102 101 </span>
103 102 </button>
104 103 </div>
105 104 </script>
@@ -104,14 +103,13 @@
104 103 </div>
105 104 </script>
106 105
107 106 <script id="elementor-gutenberg-panel" type="text/html">
108 - <div id="elementor-editor">
109 - <div id="elementor-go-to-edit-page-link">
110 - <button id="elementor-editor-button" class="button button-primary button-hero">
107 + <div id="elementor-editor"><a id="elementor-go-to-edit-page-link" href="#">
108 + <div id="elementor-editor-button" class="button button-primary button-hero">
111 109 <i class="eicon-elementor-square" aria-hidden="true"></i>
112 - <?php echo esc_html__( 'Edit with Elementor', 'elementor' ); ?>
113 - </button>
110 + <?php echo __( 'Edit with Elementor', 'elementor' ); ?>
111 + </div>
114 112 <div class="elementor-loader-wrapper">
115 113 <div class="elementor-loader">
116 114 <div class="elementor-loader-boxes">
117 115 <div class="elementor-loader-box"></div>
@@ -119,24 +117,12 @@
119 117 <div class="elementor-loader-box"></div>
120 118 <div class="elementor-loader-box"></div>
121 119 </div>
122 120 </div>
123 - <div class="elementor-loading-title"><?php echo esc_html__( 'Loading', 'elementor' ); ?></div>
121 + <div class="elementor-loading-title"><?php echo __( 'Loading', 'elementor' ); ?></div>
124 122 </div>
125 - </div>
126 - </div>
123 + </a></div>
127 124 </script>
128 -
129 - <script id="elementor-gutenberg-button-tmpl" type="text/html">
130 - <div id="elementor-edit-button-gutenberg">
131 - <button id="elementor-edit-mode-button" type="button" class="button button-primary button-large">
132 - <span class="elementor-edit-mode-gutenberg">
133 - <i class="eicon-elementor-square" aria-hidden="true"></i>
134 - <?php echo esc_html__( 'Edit with Elementor', 'elementor' ); ?>
135 - </span>
136 - </button>
137 - </div>
138 - </script>
139 125 <?php
140 126 }
141 127
142 128 /**
@@ -146,86 +132,6 @@
146 132 public function __construct() {
147 133 add_action( 'rest_api_init', [ $this, 'register_elementor_rest_field' ] );
148 134 add_action( 'enqueue_block_editor_assets', [ $this, 'enqueue_assets' ] );
149 135 add_action( 'admin_footer', [ $this, 'print_admin_js_template' ] );
150 - add_action( 'wp_enqueue_scripts', [ $this, 'dequeue_assets' ], 999 );
151 - }
152 -
153 - public function dequeue_assets() {
154 - if ( ! static::is_optimized_gutenberg_loading_enabled() ) {
155 - return;
156 - }
157 -
158 - if ( ! static::should_dequeue_gutenberg_assets() ) {
159 - return;
160 - }
161 -
162 - wp_dequeue_style( 'wp-block-library' );
163 - wp_dequeue_style( 'wp-block-library-theme' );
164 - wp_dequeue_style( 'wc-block-style' );
165 - wp_dequeue_style( 'wc-blocks-style' );
166 - }
167 -
168 - /**
169 - * Check whether the "Optimized Gutenberg Loading" settings is enabled.
170 - *
171 - * The 'elementor_optimized_gutenberg_loading' option can be enabled/disabled from the Elementor settings.
172 - * For BC, when the option has not been saved in the database, the default '1' value is returned.
173 - *
174 - * @since 3.21.0
175 - * @access private
176 - */
177 - private static function is_optimized_gutenberg_loading_enabled(): bool {
178 - return (bool) get_option( 'elementor_optimized_gutenberg_loading', '1' );
179 - }
180 -
181 - private static function should_dequeue_gutenberg_assets(): bool {
182 - $post = get_post();
183 -
184 - if ( empty( $post->ID ) ) {
185 - return false;
186 - }
187 -
188 - if ( ! static::is_built_with_elementor( $post ) ) {
189 - return false;
190 - }
191 -
192 - if ( static::is_gutenberg_in_post( $post ) ) {
193 - return false;
194 - }
195 -
196 - return true;
197 - }
198 -
199 - private static function is_built_with_elementor( $post ): bool {
200 - $document = Plugin::$instance->documents->get( $post->ID );
201 -
202 - if ( ! $document || ! $document->is_built_with_elementor() ) {
203 - return false;
204 - }
205 -
206 - return true;
207 - }
208 -
209 - private static function is_gutenberg_in_post( $post ): bool {
210 - if ( has_blocks( $post ) ) {
211 - return true;
212 - }
213 -
214 - if ( static::current_theme_is_fse_theme() ) {
215 - return true;
216 - }
217 -
218 - return false;
219 - }
220 -
221 - private static function current_theme_is_fse_theme(): bool {
222 - if ( function_exists( 'wp_is_block_theme' ) ) {
223 - return (bool) wp_is_block_theme();
224 - }
225 - if ( function_exists( 'gutenberg_is_fse_theme' ) ) {
226 - return (bool) gutenberg_is_fse_theme();
227 - }
228 -
229 - return false;
230 136 }
231 137 }