| @@ -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 | } |