PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /home/trave494/islandpc.ca/wp-content/plugins/backupbuddy/pluginbuddy/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : /home/trave494/islandpc.ca/wp-content/plugins/backupbuddy/pluginbuddy/_image_downsize.php |
<?php // NOTE: No namespace for the imade downsizing functionality. /* Image Downsizer - Iteration 20 - 3/24/11 * * Handles resizing image thumbnails on demand to the requested custom image size. * * Originally written by Chris Jean. Modified by Dustin Bolton * */ if ( !function_exists( 'ithemes_filter_image_downsize' ) ) { add_filter( 'image_downsize', 'ithemes_filter_image_downsize', 10, 3 ); // Latch in when a custom image size is called. add_filter( 'intermediate_image_sizes_advanced', 'ithemes_filter_image_downsize_blockextra', 10, 3 ); // Custom image size blocker to block generation of thumbs for sizes other sizes except when called. function ithemes_filter_image_downsize( $result, $id, $size ) { global $_ithemes_temp_downsize_size; if ( is_array( $size ) ) { // Dont bother with non-named sizes. Let them proceed normally. We need to set something to block the blocker though. $_ithemes_temp_downsize_size = 'array_size'; return; } // Store current meta information and size data. global $_ithemes_temp_downsize_meta; $_ithemes_temp_downsize_size = $size; $_ithemes_temp_downsize_meta = wp_get_attachment_metadata( $id ); if ( !is_array( $_ithemes_temp_downsize_meta ) ) { return $result; } if ( !is_array( $size ) && !empty( $_ithemes_temp_downsize_meta['sizes'][$size] ) ) { $data = $_ithemes_temp_downsize_meta['sizes'][$size]; // Some handling if the size defined for this size name has changed. global $_wp_additional_image_sizes; if ( empty( $_wp_additional_image_sizes[$size] ) ) { // Not a custom size so return data as is. $img_url = wp_get_attachment_url( $id ); $img_url = path_join( dirname( $img_url ), $data['file'] ); return array( $img_url, $data['width'], $data['height'], true ); } else { // Custom size so only return if current image file dimensions match the defined ones. $img_url = wp_get_attachment_url( $id ); $img_url = path_join( dirname( $img_url ), $data['file'] ); return array( $img_url, $data['width'], $data['height'], true ); } } require_once( ABSPATH . '/wp-admin/includes/image.php' ); $uploads = wp_upload_dir(); if ( !is_array( $uploads ) || ( false !== $uploads['error'] ) ) { return $result; } $file_path = "{$uploads['basedir']}/{$_ithemes_temp_downsize_meta['file']}"; // Image is resized within the function in the following line. $temp_meta_information = wp_generate_attachment_metadata( $id, $file_path ); // triggers filter_image_downsize_blockextra() function via filter within. generate images. returns new meta data for image (only includes the just-generated image size). $meta_information = $_ithemes_temp_downsize_meta; // Get the old original meta information. if ( !empty( $temp_meta_information['sizes'][$_ithemes_temp_downsize_size] ) ) { // This named size returned size dimensions in the size array key so copy it. $meta_information['sizes'][$_ithemes_temp_downsize_size] = $temp_meta_information['sizes'][$_ithemes_temp_downsize_size]; // Merge old meta back in. wp_update_attachment_metadata( $id, $meta_information ); // Update image meta data. } unset( $_ithemes_temp_downsize_size ); // Cleanup. unset( $_ithemes_temp_downsize_meta ); return $result; } /* Prevents image resizer from resizing ALL images; just the currently requested size. */ function ithemes_filter_image_downsize_blockextra( $sizes ) { //return $sizes; global $_ithemes_temp_downsize_size; if ( empty( $_ithemes_temp_downsize_size ) || ( $_ithemes_temp_downsize_size == 'array_size' ) ) { // Dont bother with non-named sizes. Let them proceed normally. return $sizes; } if ( !empty( $sizes[$_ithemes_temp_downsize_size] ) ) { // unavailable size so don't set. $sizes = array( $_ithemes_temp_downsize_size => $sizes[$_ithemes_temp_downsize_size] ); // Strip out all extra meta data so only the requested size will be generated. } return $sizes; } } ?>