PluginProbe
Elementor Website Builder – more than just a page builder / 3.6.6
Elementor Website Builder – more than just a page builder v3.6.6
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 | includes/template-library/classes/class-import-images.php +3 -58 4.0.73.6.6 View file →
@@ -3,9 +3,8 @@
3 3
4 4 use Elementor\Core\Common\Modules\Ajax\Module as Ajax;
5 5 use Elementor\Core\Files\Uploads_Manager;
6 6 use Elementor\Plugin;
7 -use Elementor\Utils;
8 7
9 8 if ( ! defined( 'ABSPATH' ) ) {
10 9 exit; // Exit if accessed directly.
11 10 }
@@ -102,9 +101,9 @@
102 101 * @since 3.2.0 New `$parent_post_id` option added
103 102 * @access public
104 103 *
105 104 * @param array $attachment The attachment.
106 - * @param int $parent_post_id Optional.
105 + * @param int $parent_post_id Optional
107 106 *
108 107 * @return false|array Imported image data, or false.
109 108 */
110 109 public function import( $attachment, $parent_post_id = null ) {
@@ -110,14 +109,10 @@
110 109 public function import( $attachment, $parent_post_id = null ) {
111 110 if ( isset( $attachment['tmp_name'] ) ) {
112 111 // Used when called to import a directly-uploaded file.
113 112 $filename = $attachment['name'];
114 - $file_content = false;
115 113
116 - // security validation in case the tmp_name has been tampered with
117 - if ( is_uploaded_file( $attachment['tmp_name'] ) ) {
118 - $file_content = Utils::file_get_contents( $attachment['tmp_name'] );
119 - }
114 + $file_content = file_get_contents( $attachment['tmp_name'] );
120 115 } else {
121 116 // Used when attachment information is passed to this method.
122 117 if ( ! empty( $attachment['id'] ) ) {
123 118 $saved_image = $this->get_saved_image( $attachment );
@@ -159,9 +154,9 @@
159 154
160 155 $svg_handler = Plugin::$instance->uploads_manager->get_file_type_handlers( 'svg' );
161 156
162 157 $file_content = $svg_handler->sanitizer( $file_content );
163 - }
158 + };
164 159
165 160 $upload = wp_upload_bits(
166 161 $filename,
167 162 null,
@@ -184,10 +179,8 @@
184 179 }
185 180
186 181 $post_id = wp_insert_attachment( $post, $upload['file'], $parent_post_id );
187 182
188 - apply_filters( 'elementor/template_library/import_images/new_attachment', $post_id );
189 -
190 183 // On REST requests.
191 184 if ( ! function_exists( 'wp_generate_attachment_metadata' ) ) {
192 185 require_once ABSPATH . '/wp-admin/includes/image.php';
193 186 }
@@ -211,56 +204,8 @@
211 204 $this->_replace_image_ids[ $attachment['id'] ] = $new_attachment;
212 205 }
213 206
214 207 return $new_attachment;
215 - }
216 -
217 - /**
218 - * Import local file.
219 - *
220 - * Import a local file directly to WordPress media library.
221 - * Used for importing files that are already downloaded locally (e.g., from extracted ZIP).
222 - *
223 - * @since 3.33.0
224 - * @access public
225 - *
226 - * @param string $local_file_path The local file path.
227 - * @param int $parent_post_id Optional. Parent post ID.
228 - *
229 - * @return false|array Imported image data, or false on failure.
230 - */
231 - public function import_local_file( $local_file_path, $parent_post_id = null ) {
232 - global $wp_filesystem;
233 -
234 - if ( ! $wp_filesystem->exists( $local_file_path ) ) {
235 - return false;
236 - }
237 -
238 - if ( ! function_exists( 'media_handle_sideload' ) ) {
239 - require_once ABSPATH . 'wp-admin/includes/media.php';
240 - }
241 -
242 - if ( ! function_exists( 'wp_generate_attachment_metadata' ) ) {
243 - require_once ABSPATH . 'wp-admin/includes/image.php';
244 - }
245 -
246 - $file_array = [
247 - 'name' => basename( $local_file_path ),
248 - 'tmp_name' => $local_file_path,
249 - ];
250 -
251 - $attachment_id = media_handle_sideload( $file_array, $parent_post_id );
252 -
253 - if ( is_wp_error( $attachment_id ) ) {
254 - return false;
255 - }
256 -
257 - apply_filters( 'elementor/template_library/import_images/new_attachment', $attachment_id );
258 -
259 - return [
260 - 'id' => $attachment_id,
261 - 'url' => wp_get_attachment_url( $attachment_id ),
262 - ];
263 208 }
264 209
265 210 /**
266 211 * Template library import images constructor.