"
. ( $title ? "
" . $title . '
' : '' )
. $message
. '' );
if ( $die ) {
die();
}
}
/**
* Replacement for deprecated image_resize function
*
* @param string $file Image file path.
* @param int $max_w Maximum width to resize to.
* @param int $max_h Maximum height to resize to.
* @param bool $crop Optional. Whether to crop image or resize.
* @param string $suffix Optional. File suffix.
* @param string $dest_path Optional. New image file path.
* @param int $jpeg_quality Optional, default is 90. Image quality percentage.
* @return mixed WP_Error on failure. String with new destination path.
*/
function imsanity_image_resize( $file, $max_w, $max_h, $crop = false, $suffix = null, $dest_path = null, $jpeg_quality = 82 ) {
if ( function_exists( 'wp_get_image_editor' ) ) {
$editor = wp_get_image_editor( $file );
if ( is_wp_error( $editor ) ) {
return $editor;
}
$editor->set_quality( $jpeg_quality );
$ftype = imsanity_quick_mimetype( $file );
$orientation = imsanity_get_orientation( $file, $ftype );
// Try to correct for auto-rotation if the info is available.
switch ( $orientation ) {
case 3:
$editor->rotate( 180 );
break;
case 6:
$editor->rotate( -90 );
break;
case 8:
$editor->rotate( 90 );
break;
}
$resized = $editor->resize( $max_w, $max_h, $crop );
if ( is_wp_error( $resized ) ) {
return $resized;
}
$dest_file = $editor->generate_filename( $suffix, $dest_path );
// FIX: make sure that the destination file does not exist. this fixes
// an issue during bulk resize where one of the optimized media filenames may get
// used as the temporary file, which causes it to be deleted.
while ( file_exists( $dest_file ) ) {
$dest_file = $editor->generate_filename( 'TMP', $dest_path );
}
$saved = $editor->save( $dest_file );
if ( is_wp_error( $saved ) ) {
return $saved;
}
return $dest_file;
}
return false;
}