@@ -121,10 +121,10 @@ |
||
121 | 121 | while(!feof($fh) && $count < 2) { |
122 | 122 | $chunk = fread($fh, 1024 * 100); //read 100kb at a time |
123 | 123 | $count += preg_match_all('#\x00\x21\xF9\x04.{4}\x00[\x2C\x21]#s', $chunk, $matches); |
124 | - } |
|
124 | + } |
|
125 | 125 | |
126 | - fclose($fh); |
|
127 | - return $count > 1; |
|
126 | + fclose($fh); |
|
127 | + return $count > 1; |
|
128 | 128 | } |
129 | 129 | |
130 | 130 | /** |
@@ -43,7 +43,7 @@ discard block |
||
43 | 43 | * ``` |
44 | 44 | * @return string (ex: ) |
45 | 45 | */ |
46 | - public static function resize( $src, $w, $h = 0, $crop = 'default', $force = false ) { |
|
46 | + public static function resize($src, $w, $h = 0, $crop = 'default', $force = false) { |
|
47 | 47 | if ( !is_numeric($w) && is_string($w) ) { |
48 | 48 | if ( $sizes = self::find_wp_dimensions($w) ) { |
49 | 49 | $w = $sizes['w']; |
@@ -66,14 +66,14 @@ discard block |
||
66 | 66 | * @type int h |
67 | 67 | * } |
68 | 68 | */ |
69 | - private static function find_wp_dimensions( $size ) { |
|
69 | + private static function find_wp_dimensions($size) { |
|
70 | 70 | global $_wp_additional_image_sizes; |
71 | 71 | if ( isset($_wp_additional_image_sizes[$size]) ) { |
72 | 72 | $w = $_wp_additional_image_sizes[$size]['width']; |
73 | 73 | $h = $_wp_additional_image_sizes[$size]['height']; |
74 | 74 | } else if ( in_array($size, array('thumbnail', 'medium', 'large')) ) { |
75 | - $w = get_option($size.'_size_w'); |
|
76 | - $h = get_option($size.'_size_h'); |
|
75 | + $w = get_option($size . '_size_w'); |
|
76 | + $h = get_option($size . '_size_h'); |
|
77 | 77 | } |
78 | 78 | if ( isset($w) && isset($h) && ($w || $h) ) { |
79 | 79 | return array('w' => $w, 'h' => $h); |
@@ -90,7 +90,7 @@ discard block |
||
90 | 90 | * |
91 | 91 | * @return string url to the new image |
92 | 92 | */ |
93 | - public static function retina_resize( $src, $multiplier = 2, $force = false ) { |
|
93 | + public static function retina_resize($src, $multiplier = 2, $force = false) { |
|
94 | 94 | $op = new TimberImageOperationRetina($multiplier); |
95 | 95 | return self::_operate($src, $op, $force); |
96 | 96 | } |
@@ -100,13 +100,13 @@ discard block |
||
100 | 100 | * @param string $file local filepath to a file, not a URL |
101 | 101 | * @return boolean true if it's an animated gif, false if not |
102 | 102 | */ |
103 | - public static function is_animated_gif( $file ) { |
|
103 | + public static function is_animated_gif($file) { |
|
104 | 104 | if ( strpos(strtolower($file), '.gif') == -1 ) { |
105 | 105 | //doesn't have .gif, bail |
106 | 106 | return false; |
107 | 107 | } |
108 | 108 | //its a gif so test |
109 | - if( !($fh = @fopen($file, 'rb')) ) { |
|
109 | + if ( !($fh = @fopen($file, 'rb')) ) { |
|
110 | 110 | return false; |
111 | 111 | } |
112 | 112 | $count = 0; |
@@ -118,7 +118,7 @@ discard block |
||
118 | 118 | |
119 | 119 | // We read through the file til we reach the end of the file, or we've found |
120 | 120 | // at least 2 frame headers |
121 | - while(!feof($fh) && $count < 2) { |
|
121 | + while ( !feof($fh) && $count < 2 ) { |
|
122 | 122 | $chunk = fread($fh, 1024 * 100); //read 100kb at a time |
123 | 123 | $count += preg_match_all('#\x00\x21\xF9\x04.{4}\x00[\x2C\x21]#s', $chunk, $matches); |
124 | 124 | } |
@@ -138,7 +138,7 @@ discard block |
||
138 | 138 | * @param bool $force |
139 | 139 | * @return mixed|null|string |
140 | 140 | */ |
141 | - public static function letterbox( $src, $w, $h, $color = '#000000', $force = false ) { |
|
141 | + public static function letterbox($src, $w, $h, $color = '#000000', $force = false) { |
|
142 | 142 | $op = new TimberImageOperationLetterbox($w, $h, $color); |
143 | 143 | return self::_operate($src, $op, $force); |
144 | 144 | } |
@@ -150,7 +150,7 @@ discard block |
||
150 | 150 | * @param string $bghex |
151 | 151 | * @return string |
152 | 152 | */ |
153 | - public static function img_to_jpg( $src, $bghex = '#FFFFFF', $force = false ) { |
|
153 | + public static function img_to_jpg($src, $bghex = '#FFFFFF', $force = false) { |
|
154 | 154 | $op = new TimberImageOperationToJpg($bghex); |
155 | 155 | return self::_operate($src, $op, $force); |
156 | 156 | } |
@@ -159,13 +159,13 @@ discard block |
||
159 | 159 | * Deletes all resized versions of an image when the source is deleted |
160 | 160 | */ |
161 | 161 | protected static function add_actions() { |
162 | - add_action( 'delete_attachment', function ( $post_id ) { |
|
163 | - $post = get_post( $post_id ); |
|
164 | - $image_types = array( 'image/jpeg', 'image/png', 'image/gif', 'image/jpg' ); |
|
165 | - if ( in_array( $post->post_mime_type, $image_types ) ) { |
|
166 | - $attachment = new TimberImage( $post_id ); |
|
162 | + add_action('delete_attachment', function($post_id) { |
|
163 | + $post = get_post($post_id); |
|
164 | + $image_types = array('image/jpeg', 'image/png', 'image/gif', 'image/jpg'); |
|
165 | + if ( in_array($post->post_mime_type, $image_types) ) { |
|
166 | + $attachment = new TimberImage($post_id); |
|
167 | 167 | if ( $attachment->file_loc ) { |
168 | - TimberImageHelper::delete_generated_files( $attachment->file_loc ); |
|
168 | + TimberImageHelper::delete_generated_files($attachment->file_loc); |
|
169 | 169 | } |
170 | 170 | } |
171 | 171 | } ); |
@@ -176,9 +176,9 @@ discard block |
||
176 | 176 | * for example /wp-content or /content |
177 | 177 | */ |
178 | 178 | protected static function add_constants() { |
179 | - if ( !defined( 'WP_CONTENT_SUBDIR' ) ) { |
|
180 | - $wp_content_path = str_replace( home_url(), '', WP_CONTENT_URL ); |
|
181 | - define( 'WP_CONTENT_SUBDIR', $wp_content_path ); |
|
179 | + if ( !defined('WP_CONTENT_SUBDIR') ) { |
|
180 | + $wp_content_path = str_replace(home_url(), '', WP_CONTENT_URL); |
|
181 | + define('WP_CONTENT_SUBDIR', $wp_content_path); |
|
182 | 182 | } |
183 | 183 | } |
184 | 184 | |
@@ -188,8 +188,8 @@ discard block |
||
188 | 188 | * @return void |
189 | 189 | */ |
190 | 190 | static function add_filters() { |
191 | - add_filter( 'upload_dir', function ( $arr ) { |
|
192 | - $arr['relative'] = str_replace( home_url(), '', $arr['baseurl'] ); |
|
191 | + add_filter('upload_dir', function($arr) { |
|
192 | + $arr['relative'] = str_replace(home_url(), '', $arr['baseurl']); |
|
193 | 193 | return $arr; |
194 | 194 | } ); |
195 | 195 | } |
@@ -200,16 +200,16 @@ discard block |
||
200 | 200 | * @param string $local_file ex: /var/www/wp-content/uploads/2015/my-pic.jpg |
201 | 201 | * or: http://example.org/wp-content/uploads/2015/my-pic.jpg |
202 | 202 | */ |
203 | - static function delete_generated_files( $local_file ) { |
|
204 | - if (TimberURLHelper::is_absolute( $local_file ) ) { |
|
205 | - $local_file = TimberURLHelper::url_to_file_system( $local_file ); |
|
203 | + static function delete_generated_files($local_file) { |
|
204 | + if ( TimberURLHelper::is_absolute($local_file) ) { |
|
205 | + $local_file = TimberURLHelper::url_to_file_system($local_file); |
|
206 | 206 | } |
207 | - $info = pathinfo( $local_file ); |
|
207 | + $info = pathinfo($local_file); |
|
208 | 208 | $dir = $info['dirname']; |
209 | 209 | $ext = $info['extension']; |
210 | 210 | $filename = $info['filename']; |
211 | - self::process_delete_generated_files( $filename, $ext, $dir, '-[0-9999999]*', '-[0-9]*x[0-9]*-c-[a-z]*.' ); |
|
212 | - self::process_delete_generated_files( $filename, $ext, $dir, '-lbox-[0-9999999]*', '-lbox-[0-9]*x[0-9]*-[a-zA-Z0-9]*.' ); |
|
211 | + self::process_delete_generated_files($filename, $ext, $dir, '-[0-9999999]*', '-[0-9]*x[0-9]*-c-[a-z]*.'); |
|
212 | + self::process_delete_generated_files($filename, $ext, $dir, '-lbox-[0-9999999]*', '-lbox-[0-9]*x[0-9]*-[a-zA-Z0-9]*.'); |
|
213 | 213 | } |
214 | 214 | |
215 | 215 | /** |
@@ -226,14 +226,14 @@ discard block |
||
226 | 226 | * @param string $search_pattern pattern of files to pluck from |
227 | 227 | * @param string $match_pattern pattern of files to go forth and delete |
228 | 228 | */ |
229 | - protected static function process_delete_generated_files( $filename, $ext, $dir, $search_pattern, $match_pattern ) { |
|
229 | + protected static function process_delete_generated_files($filename, $ext, $dir, $search_pattern, $match_pattern) { |
|
230 | 230 | $searcher = '/' . $filename . $search_pattern; |
231 | - foreach ( glob( $dir . $searcher ) as $found_file ) { |
|
232 | - $regexdir = str_replace( '/', '\/', $dir ); |
|
233 | - $pattern = '/' . ( $regexdir ) . '\/' . $filename . $match_pattern . $ext . '/'; |
|
234 | - $match = preg_match( $pattern, $found_file ); |
|
231 | + foreach ( glob($dir . $searcher) as $found_file ) { |
|
232 | + $regexdir = str_replace('/', '\/', $dir); |
|
233 | + $pattern = '/' . ($regexdir) . '\/' . $filename . $match_pattern . $ext . '/'; |
|
234 | + $match = preg_match($pattern, $found_file); |
|
235 | 235 | if ( $match ) { |
236 | - unlink( $found_file ); |
|
236 | + unlink($found_file); |
|
237 | 237 | } |
238 | 238 | } |
239 | 239 | } |
@@ -245,9 +245,9 @@ discard block |
||
245 | 245 | * @param string $url |
246 | 246 | * @return string |
247 | 247 | */ |
248 | - public static function get_server_location( $url ) { |
|
248 | + public static function get_server_location($url) { |
|
249 | 249 | // if we're already an absolute dir, just return |
250 | - if ( 0 === strpos( $url, ABSPATH ) ) { |
|
250 | + if ( 0 === strpos($url, ABSPATH) ) { |
|
251 | 251 | return $url; |
252 | 252 | } |
253 | 253 | // otherwise, analyze URL then build mapping path |
@@ -262,15 +262,15 @@ discard block |
||
262 | 262 | * @param string $file |
263 | 263 | * @return string |
264 | 264 | */ |
265 | - public static function get_sideloaded_file_loc( $file ) { |
|
265 | + public static function get_sideloaded_file_loc($file) { |
|
266 | 266 | $upload = wp_upload_dir(); |
267 | 267 | $dir = $upload['path']; |
268 | 268 | $filename = $file; |
269 | - $file = parse_url( $file ); |
|
270 | - $path_parts = pathinfo( $file['path'] ); |
|
271 | - $basename = md5( $filename ); |
|
269 | + $file = parse_url($file); |
|
270 | + $path_parts = pathinfo($file['path']); |
|
271 | + $basename = md5($filename); |
|
272 | 272 | $ext = 'jpg'; |
273 | - if ( isset( $path_parts['extension'] ) ) { |
|
273 | + if ( isset($path_parts['extension']) ) { |
|
274 | 274 | $ext = $path_parts['extension']; |
275 | 275 | } |
276 | 276 | return $dir . '/' . $basename . '.' . $ext; |
@@ -282,28 +282,28 @@ discard block |
||
282 | 282 | * @param string $file the URL to the original file |
283 | 283 | * @return string the URL to the downloaded file |
284 | 284 | */ |
285 | - public static function sideload_image( $file ) { |
|
286 | - $loc = self::get_sideloaded_file_loc( $file ); |
|
287 | - if ( file_exists( $loc ) ) { |
|
288 | - return TimberURLHelper::preslashit( TimberURLHelper::get_rel_path( $loc ) ); |
|
285 | + public static function sideload_image($file) { |
|
286 | + $loc = self::get_sideloaded_file_loc($file); |
|
287 | + if ( file_exists($loc) ) { |
|
288 | + return TimberURLHelper::preslashit(TimberURLHelper::get_rel_path($loc)); |
|
289 | 289 | } |
290 | 290 | // Download file to temp location |
291 | - if ( !function_exists( 'download_url' ) ) { |
|
291 | + if ( !function_exists('download_url') ) { |
|
292 | 292 | require_once ABSPATH . '/wp-admin/includes/file.php'; |
293 | 293 | } |
294 | - $tmp = download_url( $file ); |
|
295 | - preg_match( '/[^\?]+\.(jpe?g|jpe|gif|png)\b/i', $file, $matches ); |
|
294 | + $tmp = download_url($file); |
|
295 | + preg_match('/[^\?]+\.(jpe?g|jpe|gif|png)\b/i', $file, $matches); |
|
296 | 296 | $file_array = array(); |
297 | - $file_array['name'] = basename( $matches[0] ); |
|
297 | + $file_array['name'] = basename($matches[0]); |
|
298 | 298 | $file_array['tmp_name'] = $tmp; |
299 | 299 | // If error storing temporarily, unlink |
300 | - if ( is_wp_error( $tmp ) ) { |
|
301 | - @unlink( $file_array['tmp_name'] ); |
|
300 | + if ( is_wp_error($tmp) ) { |
|
301 | + @unlink($file_array['tmp_name']); |
|
302 | 302 | $file_array['tmp_name'] = ''; |
303 | 303 | } |
304 | 304 | // do the validation and storage stuff |
305 | - $locinfo = pathinfo( $loc ); |
|
306 | - $file = wp_upload_bits( $locinfo['basename'], null, file_get_contents( $file_array['tmp_name'] ) ); |
|
305 | + $locinfo = pathinfo($loc); |
|
306 | + $file = wp_upload_bits($locinfo['basename'], null, file_get_contents($file_array['tmp_name'])); |
|
307 | 307 | return $file['url']; |
308 | 308 | } |
309 | 309 | |
@@ -330,23 +330,23 @@ discard block |
||
330 | 330 | if ( 0 === strpos($tmp, ABSPATH) ) { // we've been given a dir, not an url |
331 | 331 | $result['absolute'] = true; |
332 | 332 | if ( 0 === strpos($tmp, $upload_dir['basedir']) ) { |
333 | - $result['base']= self::BASE_UPLOADS; // upload based |
|
333 | + $result['base'] = self::BASE_UPLOADS; // upload based |
|
334 | 334 | $tmp = str_replace($upload_dir['basedir'], '', $tmp); |
335 | 335 | } |
336 | 336 | if ( 0 === strpos($tmp, WP_CONTENT_DIR) ) { |
337 | - $result['base']= self::BASE_CONTENT; // content based |
|
337 | + $result['base'] = self::BASE_CONTENT; // content based |
|
338 | 338 | $tmp = str_replace(WP_CONTENT_DIR, '', $tmp); |
339 | 339 | } |
340 | 340 | } else { |
341 | - if (!$result['absolute']) { |
|
342 | - $tmp = home_url().$tmp; |
|
341 | + if ( !$result['absolute'] ) { |
|
342 | + $tmp = home_url() . $tmp; |
|
343 | 343 | } |
344 | - if (0 === strpos($tmp, $upload_dir['baseurl'])) { |
|
345 | - $result['base']= self::BASE_UPLOADS; // upload based |
|
344 | + if ( 0 === strpos($tmp, $upload_dir['baseurl']) ) { |
|
345 | + $result['base'] = self::BASE_UPLOADS; // upload based |
|
346 | 346 | $tmp = str_replace($upload_dir['baseurl'], '', $tmp); |
347 | 347 | } |
348 | - if (0 === strpos($tmp, content_url())) { |
|
349 | - $result['base']= self::BASE_CONTENT; // content-based |
|
348 | + if ( 0 === strpos($tmp, content_url()) ) { |
|
349 | + $result['base'] = self::BASE_CONTENT; // content-based |
|
350 | 350 | $tmp = str_replace(content_url(), '', $tmp); |
351 | 351 | } |
352 | 352 | } |
@@ -370,18 +370,18 @@ discard block |
||
370 | 370 | */ |
371 | 371 | private static function _get_file_url($base, $subdir, $filename, $absolute) { |
372 | 372 | $url = ''; |
373 | - if( self::BASE_UPLOADS == $base ) { |
|
373 | + if ( self::BASE_UPLOADS == $base ) { |
|
374 | 374 | $upload_dir = wp_upload_dir(); |
375 | 375 | $url = $upload_dir['baseurl']; |
376 | 376 | } |
377 | - if( self::BASE_CONTENT == $base ) { |
|
377 | + if ( self::BASE_CONTENT == $base ) { |
|
378 | 378 | $url = content_url(); |
379 | 379 | } |
380 | - if(!empty($subdir)) { |
|
380 | + if ( !empty($subdir) ) { |
|
381 | 381 | $url .= $subdir; |
382 | 382 | } |
383 | - $url .= '/'.$filename; |
|
384 | - if(!$absolute) { |
|
383 | + $url .= '/' . $filename; |
|
384 | + if ( !$absolute ) { |
|
385 | 385 | $url = str_replace(home_url(), '', $url); |
386 | 386 | } |
387 | 387 | // $url = TimberURLHelper::remove_double_slashes( $url); |
@@ -398,17 +398,17 @@ discard block |
||
398 | 398 | */ |
399 | 399 | private static function _get_file_path($base, $subdir, $filename) { |
400 | 400 | $path = ''; |
401 | - if(self::BASE_UPLOADS == $base) { |
|
401 | + if ( self::BASE_UPLOADS == $base ) { |
|
402 | 402 | $upload_dir = wp_upload_dir(); |
403 | 403 | $path = $upload_dir['basedir']; |
404 | 404 | } |
405 | - if(self::BASE_CONTENT == $base) { |
|
405 | + if ( self::BASE_CONTENT == $base ) { |
|
406 | 406 | $path = WP_CONTENT_DIR; |
407 | 407 | } |
408 | - if(!empty($subdir)) { |
|
408 | + if ( !empty($subdir) ) { |
|
409 | 409 | $path .= $subdir; |
410 | 410 | } |
411 | - $path .= '/'.$filename; |
|
411 | + $path .= '/' . $filename; |
|
412 | 412 | return $path; |
413 | 413 | } |
414 | 414 | |
@@ -426,15 +426,15 @@ discard block |
||
426 | 426 | * @return string URL to the new image - or the source one if error |
427 | 427 | * |
428 | 428 | */ |
429 | - private static function _operate( $src, $op, $force = false ) { |
|
430 | - if ( empty( $src ) ) { |
|
429 | + private static function _operate($src, $op, $force = false) { |
|
430 | + if ( empty($src) ) { |
|
431 | 431 | return ''; |
432 | 432 | } |
433 | 433 | $external = false; |
434 | 434 | |
435 | 435 | // if external image, load it first |
436 | - if ( TimberURLHelper::is_external_content( $src ) ) { |
|
437 | - $src = self::sideload_image( $src ); |
|
436 | + if ( TimberURLHelper::is_external_content($src) ) { |
|
437 | + $src = self::sideload_image($src); |
|
438 | 438 | $external = true; |
439 | 439 | } |
440 | 440 | // break down URL into components |
@@ -457,19 +457,19 @@ discard block |
||
457 | 457 | $au['basename'] |
458 | 458 | ); |
459 | 459 | // if already exists... |
460 | - if ( file_exists( $new_server_path ) ) { |
|
460 | + if ( file_exists($new_server_path) ) { |
|
461 | 461 | if ( $force ) { |
462 | 462 | // Force operation - warning: will regenerate the image on every pageload, use for testing purposes only! |
463 | - unlink( $new_server_path ); |
|
463 | + unlink($new_server_path); |
|
464 | 464 | } else { |
465 | 465 | // return existing file (caching) |
466 | 466 | return $new_url; |
467 | 467 | } |
468 | 468 | } |
469 | 469 | // otherwise generate result file |
470 | - if($op->run($old_server_path, $new_server_path)) { |
|
471 | - if( get_class( $op ) === 'TimberImageOperationResize' && $external ) { |
|
472 | - $new_url = strtolower( $new_url ); |
|
470 | + if ( $op->run($old_server_path, $new_server_path) ) { |
|
471 | + if ( get_class($op) === 'TimberImageOperationResize' && $external ) { |
|
472 | + $new_url = strtolower($new_url); |
|
473 | 473 | } |
474 | 474 | return $new_url; |
475 | 475 | } else { |
@@ -492,7 +492,7 @@ discard block |
||
492 | 492 | ); |
493 | 493 | return $new_url; |
494 | 494 | } |
495 | - public static function get_letterbox_file_path($url, $w, $h, $color ) { |
|
495 | + public static function get_letterbox_file_path($url, $w, $h, $color) { |
|
496 | 496 | $au = self::analyze_url($url); |
497 | 497 | $op = new TimberImageOperationLetterbox($w, $h, $color); |
498 | 498 | $new_path = self::_get_file_path( |