Skip to:
Content

BuddyPress.org

Changeset 6564


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

Fix avatar cropping for WordPress 3.5. Fixes #4608 for trunk.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-core/bp-core-avatars.php

    r6469 r6564  
    480480        return true;
    481481
    482     require_once( ABSPATH . '/wp-admin/includes/image.php' );
    483482    require_once( ABSPATH . '/wp-admin/includes/file.php' );
    484483
     
    521520
    522521    // Get image size
    523     $size = @getimagesize( $bp->avatar_admin->original['file'] );
     522    $size  = @getimagesize( $bp->avatar_admin->original['file'] );
     523    $error = false;
    524524
    525525    // Check image size and shrink if too large
    526526    if ( $size[0] > bp_core_avatar_original_max_width() ) {
    527         $thumb = wp_create_thumbnail( $bp->avatar_admin->original['file'], bp_core_avatar_original_max_width() );
    528 
    529         // Check for thumbnail creation errors
    530         if ( is_wp_error( $thumb ) ) {
    531             bp_core_add_message( sprintf( __( 'Upload Failed! Error was: %s', 'buddypress' ), $thumb->get_error_message() ), 'error' );
     527        $editor = wp_get_image_editor( $bp->avatar_admin->original['file'] );
     528
     529        if ( ! is_wp_error( $editor ) ) {
     530            $editor->set_quality( 100 );
     531
     532            $resized = $editor->resize( bp_core_avatar_original_max_width(), bp_core_avatar_original_max_width(), false );
     533            if ( ! is_wp_error( $resized ) )
     534                $thumb = $editor->save( $editor->generate_filename() );
     535            else
     536                $error = $resized;
     537
     538            // Check for thumbnail creation errors
     539            if ( false === $error && is_wp_error( $thumb ) )
     540                $error = $thumb;
     541
     542            if ( false === $error ) {
     543                // Thumbnail is good so proceed
     544                $bp->avatar_admin->resized = $thumb;
     545            }
     546
     547        } else {
     548            $error = $editor;
     549        }
     550
     551        if ( false !== $error ) {
     552            bp_core_add_message( sprintf( __( 'Upload Failed! Error was: %s', 'buddypress' ), $error->get_error_message() ), 'error' );
    532553            return false;
    533554        }
    534 
    535         // Thumbnail is good so proceed
    536         $bp->avatar_admin->resized = $thumb;
    537555    }
    538556
     
    541559        $bp->avatar_admin->image->dir = str_replace( bp_core_avatar_upload_path(), '', $bp->avatar_admin->original['file'] );
    542560    else {
    543         $bp->avatar_admin->image->dir = str_replace( bp_core_avatar_upload_path(), '', $bp->avatar_admin->resized );
     561        $bp->avatar_admin->image->dir = str_replace( bp_core_avatar_upload_path(), '', $bp->avatar_admin->resized['path'] );
    544562        @unlink( $bp->avatar_admin->original['file'] );
    545563    }
Note: See TracChangeset for help on using the changeset viewer.