PluginProbe
Elementor Website Builder – more than just a page builder / 3.24.8
Elementor Website Builder – more than just a page builder v3.24.8
4.3.0-beta3 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 All 452 releases
← All changes | core/files/manager.php +5 -73 4.2.0-dev23.24.8 View file →
@@ -3,8 +3,9 @@
3 3
4 4 use Elementor\Core\Base\Document as Document_Base;
5 5 use Elementor\Core\Base\Elements_Iteration_Actions\Assets;
6 6 use Elementor\Core\Common\Modules\Ajax\Module as Ajax;
7 +use Elementor\Core\Files\CSS\Global_CSS;
7 8 use Elementor\Core\Files\CSS\Post as Post_CSS;
8 9 use Elementor\Core\Page_Assets\Data_Managers\Base as Page_Assets_Data_Manager;
9 10 use Elementor\Core\Responsive\Files\Frontend;
10 11 use Elementor\Plugin;
@@ -36,14 +37,14 @@
36 37 public function __construct() {
37 38 $this->register_actions();
38 39 }
39 40
40 - public function get( $class_name, $args ) {
41 - $id = $class_name . '-' . wp_json_encode( $args );
41 + public function get( $class, $args ) {
42 + $id = $class . '-' . wp_json_encode( $args );
42 43
43 44 if ( ! isset( $this->files[ $id ] ) ) {
44 45 // Create an instance from dynamic args length.
45 - $reflection_class = new \ReflectionClass( $class_name );
46 + $reflection_class = new \ReflectionClass( $class );
46 47 $this->files[ $id ] = $reflection_class->newInstanceArgs( $args );
47 48 }
48 49
49 50 return $this->files[ $id ];
@@ -115,8 +116,9 @@
115 116 delete_post_meta_by_key( Post_CSS::META_KEY );
116 117 delete_post_meta_by_key( Document_Base::CACHE_META_KEY );
117 118 delete_post_meta_by_key( Assets::ASSETS_META_KEY );
118 119
120 + delete_option( Global_CSS::META_KEY );
119 121 delete_option( Frontend::META_KEY );
120 122
121 123 $this->reset_assets_data();
122 124
@@ -192,10 +194,8 @@
192 194
193 195 add_action( 'update_option_siteurl', function () {
194 196 $this->reset_assets_data();
195 197 } );
196 -
197 - add_action( 'rest_api_init', [ $this, 'register_endpoints' ] );
198 198 }
199 199
200 200 /**
201 201 * Reset Assets Data.
@@ -206,74 +206,6 @@
206 206 * @access private
207 207 */
208 208 private function reset_assets_data() {
209 209 delete_option( Page_Assets_Data_Manager::ASSETS_DATA_KEY );
210 - }
211 -
212 - /**
213 - * Generate CSS.
214 - *
215 - * Generates CSS for all posts built with Elementor.
216 - *
217 - * @since 3.25.0
218 - * @access public
219 - */
220 - public function generate_css() {
221 - $batch_size = apply_filters( 'elementor/core/files/generate_css/batch_size', 100 );
222 - $processed_posts = 0;
223 -
224 - while ( true ) {
225 - $args = [
226 - 'post_type' => get_post_types(),
227 - 'posts_per_page' => $batch_size,
228 - 'meta_query' => [
229 - [
230 - 'key' => Document_Base::BUILT_WITH_ELEMENTOR_META_KEY,
231 - 'compare' => 'EXISTS',
232 - ],
233 - ],
234 - 'offset' => $processed_posts,
235 - 'fields' => 'ids',
236 - ];
237 -
238 - $query = new \WP_Query( $args );
239 -
240 - if ( empty( $query->posts ) ) {
241 - break;
242 - }
243 -
244 - foreach ( $query->posts as $post_id ) {
245 - $document = Plugin::$instance->documents->get_doc_for_frontend( $post_id );
246 -
247 - if ( $document ) {
248 - $css_file = Post_CSS::create( $post_id );
249 - $css_file->update();
250 - }
251 - }
252 -
253 - $processed_posts += $batch_size;
254 - }
255 -
256 - /**
257 - * Elementor Generate CSS files.
258 - *
259 - * Fires after Elementor generates new CSS files
260 - *
261 - * @since 3.25.0
262 - */
263 - do_action( 'elementor/core/files/after_generate_css' );
264 - }
265 -
266 - public function register_endpoints() {
267 - register_rest_route(
268 - 'elementor/v1',
269 - '/cache',
270 - [
271 - 'methods' => \WP_REST_Server::DELETABLE,
272 - 'callback' => [ $this, 'clear_cache' ],
273 - 'permission_callback' => function() {
274 - return current_user_can( 'manage_options' );
275 - },
276 - ]
277 - );
278 210 }
279 211 }