PluginProbe
Elementor Website Builder – more than just a page builder / 3.23.0-dev3
Elementor Website Builder – more than just a page builder v3.23.0-dev3
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 | core/files/manager.php +5 -79 4.2.43.23.0-dev3 View file →
@@ -1,10 +1,10 @@
1 1 <?php
2 2 namespace Elementor\Core\Files;
3 3
4 4 use Elementor\Core\Base\Document as Document_Base;
5 -use Elementor\Core\Base\Elements_Iteration_Actions\Assets;
6 5 use Elementor\Core\Common\Modules\Ajax\Module as Ajax;
6 +use Elementor\Core\Files\CSS\Global_CSS;
7 7 use Elementor\Core\Files\CSS\Post as Post_CSS;
8 8 use Elementor\Core\Page_Assets\Data_Managers\Base as Page_Assets_Data_Manager;
9 9 use Elementor\Core\Responsive\Files\Frontend;
10 10 use Elementor\Plugin;
@@ -36,14 +36,14 @@
36 36 public function __construct() {
37 37 $this->register_actions();
38 38 }
39 39
40 - public function get( $class_name, $args ) {
41 - $id = $class_name . '-' . wp_json_encode( $args );
40 + public function get( $class, $args ) {
41 + $id = $class . '-' . wp_json_encode( $args );
42 42
43 43 if ( ! isset( $this->files[ $id ] ) ) {
44 44 // Create an instance from dynamic args length.
45 - $reflection_class = new \ReflectionClass( $class_name );
45 + $reflection_class = new \ReflectionClass( $class );
46 46 $this->files[ $id ] = $reflection_class->newInstanceArgs( $args );
47 47 }
48 48
49 49 return $this->files[ $id ];
@@ -113,10 +113,10 @@
113 113 }
114 114
115 115 delete_post_meta_by_key( Post_CSS::META_KEY );
116 116 delete_post_meta_by_key( Document_Base::CACHE_META_KEY );
117 - delete_post_meta_by_key( Assets::ASSETS_META_KEY );
118 117
118 + delete_option( Global_CSS::META_KEY );
119 119 delete_option( Frontend::META_KEY );
120 120
121 121 $this->reset_assets_data();
122 122
@@ -130,12 +130,8 @@
130 130 do_action( 'elementor/core/files/clear_cache' );
131 131 }
132 132
133 133 public function clear_custom_image_sizes() {
134 - if ( ! defined( 'BFITHUMB_UPLOAD_DIR' ) ) {
135 - return;
136 - }
137 -
138 134 $upload_info = wp_upload_dir();
139 135 $upload_dir = $upload_info['basedir'] . '/' . BFITHUMB_UPLOAD_DIR;
140 136
141 137 $path = $upload_dir . '/*';
@@ -192,10 +188,8 @@
192 188
193 189 add_action( 'update_option_siteurl', function () {
194 190 $this->reset_assets_data();
195 191 } );
196 -
197 - add_action( 'rest_api_init', [ $this, 'register_endpoints' ] );
198 192 }
199 193
200 194 /**
201 195 * Reset Assets Data.
@@ -206,74 +200,6 @@
206 200 * @access private
207 201 */
208 202 private function reset_assets_data() {
209 203 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 204 }
279 205 }