PluginProbe
Elementor Website Builder – more than just a page builder / 3.11.2
Elementor Website Builder – more than just a page builder v3.11.2
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 -92 4.2.0-dev23.11.2 View file →
@@ -1,10 +1,9 @@
1 1 <?php
2 2 namespace Elementor\Core\Files;
3 3
4 -use Elementor\Core\Base\Document as Document_Base;
5 -use Elementor\Core\Base\Elements_Iteration_Actions\Assets;
6 4 use Elementor\Core\Common\Modules\Ajax\Module as Ajax;
5 +use Elementor\Core\Files\CSS\Global_CSS;
7 6 use Elementor\Core\Files\CSS\Post as Post_CSS;
8 7 use Elementor\Core\Page_Assets\Data_Managers\Base as Page_Assets_Data_Manager;
9 8 use Elementor\Core\Responsive\Files\Frontend;
10 9 use Elementor\Plugin;
@@ -36,14 +35,14 @@
36 35 public function __construct() {
37 36 $this->register_actions();
38 37 }
39 38
40 - public function get( $class_name, $args ) {
41 - $id = $class_name . '-' . wp_json_encode( $args );
39 + public function get( $class, $args ) {
40 + $id = $class . '-' . wp_json_encode( $args );
42 41
43 42 if ( ! isset( $this->files[ $id ] ) ) {
44 43 // Create an instance from dynamic args length.
45 - $reflection_class = new \ReflectionClass( $class_name );
44 + $reflection_class = new \ReflectionClass( $class );
46 45 $this->files[ $id ] = $reflection_class->newInstanceArgs( $args );
47 46 }
48 47
49 48 return $this->files[ $id ];
@@ -112,11 +111,10 @@
112 111 unlink( $file_path );
113 112 }
114 113
115 114 delete_post_meta_by_key( Post_CSS::META_KEY );
116 - delete_post_meta_by_key( Document_Base::CACHE_META_KEY );
117 - delete_post_meta_by_key( Assets::ASSETS_META_KEY );
118 115
116 + delete_option( Global_CSS::META_KEY );
119 117 delete_option( Frontend::META_KEY );
120 118
121 119 $this->reset_assets_data();
122 120
@@ -129,23 +127,8 @@
129 127 */
130 128 do_action( 'elementor/core/files/clear_cache' );
131 129 }
132 130
133 - public function clear_custom_image_sizes() {
134 - if ( ! defined( 'BFITHUMB_UPLOAD_DIR' ) ) {
135 - return;
136 - }
137 -
138 - $upload_info = wp_upload_dir();
139 - $upload_dir = $upload_info['basedir'] . '/' . BFITHUMB_UPLOAD_DIR;
140 -
141 - $path = $upload_dir . '/*';
142 -
143 - foreach ( glob( $path ) as $file_path ) {
144 - unlink( $file_path );
145 - }
146 - }
147 -
148 131 /**
149 132 * Register Ajax Actions
150 133 *
151 134 * Deprecated - use the Uploads Manager instead.
@@ -192,10 +175,8 @@
192 175
193 176 add_action( 'update_option_siteurl', function () {
194 177 $this->reset_assets_data();
195 178 } );
196 -
197 - add_action( 'rest_api_init', [ $this, 'register_endpoints' ] );
198 179 }
199 180
200 181 /**
201 182 * Reset Assets Data.
@@ -206,74 +187,6 @@
206 187 * @access private
207 188 */
208 189 private function reset_assets_data() {
209 190 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 191 }
279 192 }