Skip to:
Content

BuddyPress.org

Changeset 6562


Ignore:
Timestamp:
12/04/2012 01:25:08 PM (12 years ago)
Author:
djpaul
Message:

Fix avatar cropping for WordPress 3.5. Fixes #4608 for the 1.6 branch.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/1.6/bp-core/bp-core-avatars.php

    r6246 r6562  
    476476        return true;
    477477
    478     require_once( ABSPATH . '/wp-admin/includes/image.php' );
    479478    require_once( ABSPATH . '/wp-admin/includes/file.php' );
    480479
     
    515514
    516515    // Get image size
    517     $size = @getimagesize( $bp->avatar_admin->original['file'] );
     516    $size  = @getimagesize( $bp->avatar_admin->original['file'] );
     517    $error = false;
    518518
    519519    // Check image size and shrink if too large
    520520    if ( $size[0] > bp_core_avatar_original_max_width() ) {
    521         $thumb = wp_create_thumbnail( $bp->avatar_admin->original['file'], bp_core_avatar_original_max_width() );
    522 
    523         // Check for thumbnail creation errors
    524         if ( is_wp_error( $thumb ) ) {
    525             bp_core_add_message( sprintf( __( 'Upload Failed! Error was: %s', 'buddypress' ), $thumb->get_error_message() ), 'error' );
     521        $editor = wp_get_image_editor( $bp->avatar_admin->original['file'] );
     522
     523        if ( ! is_wp_error( $editor ) ) {
     524            $editor->set_quality( 100 );
     525
     526            $resized = $editor->resize( bp_core_avatar_original_max_width(), bp_core_avatar_original_max_width(), false );
     527            if ( ! is_wp_error( $resized ) )
     528                $thumb = $editor->save( $editor->generate_filename() );
     529            else
     530                $error = $resized;
     531
     532            // Check for thumbnail creation errors
     533            if ( false === $error && is_wp_error( $thumb ) )
     534                $error = $thumb;
     535
     536            if ( false === $error ) {
     537                // Thumbnail is good so proceed
     538                $bp->avatar_admin->resized = $thumb;
     539            }
     540
     541        } else {
     542            $error = $editor;
     543        }
     544
     545        if ( false !== $error ) {
     546            bp_core_add_message( sprintf( __( 'Upload Failed! Error was: %s', 'buddypress' ), $error->get_error_message() ), 'error' );
    526547            return false;
    527548        }
    528 
    529         // Thumbnail is good so proceed
    530         $bp->avatar_admin->resized = $thumb;
    531549    }
    532550
     
    535553        $bp->avatar_admin->image->dir = str_replace( bp_core_avatar_upload_path(), '', $bp->avatar_admin->original['file'] );
    536554    else {
    537         $bp->avatar_admin->image->dir = str_replace( bp_core_avatar_upload_path(), '', $bp->avatar_admin->resized );
     555        $bp->avatar_admin->image->dir = str_replace( bp_core_avatar_upload_path(), '', $bp->avatar_admin->resized['path'] );
    538556        @unlink( $bp->avatar_admin->original['file'] );
    539557    }
Note: See TracChangeset for help on using the changeset viewer.