- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/1.2/bp-core/bp-core-avatars.php
r2876 r2984 109 109 $html_height = ( 'thumb' == $type ) ? ' height="' . BP_AVATAR_THUMB_HEIGHT . '"' : ' height="' . BP_AVATAR_FULL_HEIGHT . '"'; 110 110 111 $avatar_folder_url = apply_filters( 'bp_core_avatar_folder_url', str_replace( WP_CONTENT_DIR, BP_AVATAR_URL, BP_AVATAR_UPLOAD_PATH ). '/' . $avatar_dir . '/' . $item_id, $item_id, $object, $avatar_dir );111 $avatar_folder_url = apply_filters( 'bp_core_avatar_folder_url', BP_AVATAR_URL . '/' . $avatar_dir . '/' . $item_id, $item_id, $object, $avatar_dir ); 112 112 $avatar_folder_dir = apply_filters( 'bp_core_avatar_folder_dir', BP_AVATAR_UPLOAD_PATH . '/' . $avatar_dir . '/' . $item_id, $item_id, $object, $avatar_dir ); 113 113 … … 131 131 132 132 if ( $avatar_url ) 133 return apply_filters( 'bp_core_fetch_avatar', "<img src='{$avatar_url}' alt='{$alt}' class='{$class}'{$css_id}{$html_width}{$html_height} />", $params );133 return apply_filters( 'bp_core_fetch_avatar', "<img src='{$avatar_url}' alt='{$alt}' class='{$class}'{$css_id}{$html_width}{$html_height} />", $params, $item_id, $avatar_dir, $css_id, $html_width, $html_height, $avatar_folder_url, $avatar_folder_dir ); 134 134 } 135 135 … … 163 163 $gravatar = apply_filters( 'bp_gravatar_url', $host ) . md5( $email ) . '?d=' . $default_grav . '&s=' . $grav_size; 164 164 165 return apply_filters( 'bp_core_fetch_avatar', "<img src='{$gravatar}' alt='{$alt}' class='{$class}'{$css_id}{$html_width}{$html_height} />", $params ); 166 165 return apply_filters( 'bp_core_fetch_avatar', "<img src='{$gravatar}' alt='{$alt}' class='{$class}'{$css_id}{$html_width}{$html_height} />", $params, $item_id, $avatar_dir, $css_id, $html_width, $html_height, $avatar_folder_url, $avatar_folder_dir ); 167 166 } else { 168 return false;167 return apply_filters( 'bp_core_fetch_avatar', false, $params, $item_id, $avatar_dir, $css_id, $html_width, $html_height, $avatar_folder_url, $avatar_folder_dir ); 169 168 } 170 169 } … … 230 229 function bp_core_avatar_handle_upload( $file, $upload_dir_filter ) { 231 230 global $bp; 231 232 /*** 233 * You may want to hook into this filter if you want to override this function. 234 * Make sure you return false. 235 */ 236 if ( !apply_filters( 'bp_core_pre_avatar_handle_upload', true, $file, $upload_dir_filter ) ) 237 return true; 232 238 233 239 require_once( ABSPATH . '/wp-admin/includes/image.php' ); … … 269 275 } 270 276 271 /* Resize the image down to something manageable and then delete the original */ 272 if ( getimagesize( $bp->avatar_admin->original['file'] ) > BP_AVATAR_ORIGINAL_MAX_WIDTH ) 273 $bp->avatar_admin->resized = wp_create_thumbnail( $bp->avatar_admin->original['file'], BP_AVATAR_ORIGINAL_MAX_WIDTH ); 274 275 $bp->avatar_admin->image = new stdClass; 277 /* Get image size */ 278 $size = @getimagesize( $bp->avatar_admin->original['file'] ); 279 280 /* Check image size and shrink if too large */ 281 if ( $size[0] > BP_AVATAR_ORIGINAL_MAX_WIDTH ) { 282 $thumb = wp_create_thumbnail( $bp->avatar_admin->original['file'], BP_AVATAR_ORIGINAL_MAX_WIDTH ); 283 284 /* Check for thumbnail creation errors */ 285 if ( is_wp_error( $thumb ) ) { 286 bp_core_add_message( sprintf( __( 'Upload Failed! Error was: %s', 'buddypress' ), $thumb->get_error_message() ), 'error' ); 287 return false; 288 } 289 290 /* Thumbnail is good so proceed */ 291 $bp->avatar_admin->resized = $thumb; 292 } 276 293 277 294 /* We only want to handle one image after resize. */ 278 295 if ( empty( $bp->avatar_admin->resized ) ) 279 $bp->avatar_admin->image->dir = $bp->avatar_admin->original['file'];296 $bp->avatar_admin->image->dir = str_replace( BP_AVATAR_UPLOAD_PATH, '', $bp->avatar_admin->original['file'] ); 280 297 else { 281 $bp->avatar_admin->image->dir = $bp->avatar_admin->resized;298 $bp->avatar_admin->image->dir = str_replace( BP_AVATAR_UPLOAD_PATH, '', $bp->avatar_admin->resized ); 282 299 @unlink( $bp->avatar_admin->original['file'] ); 283 300 } 284 301 285 302 /* Set the url value for the image */ 286 $bp->avatar_admin->image->url = str_replace( WP_CONTENT_DIR, BP_AVATAR_URL, $bp->avatar_admin->image->dir );303 $bp->avatar_admin->image->url = BP_AVATAR_URL . $bp->avatar_admin->image->dir; 287 304 288 305 return true; … … 304 321 305 322 $r = wp_parse_args( $args, $defaults ); 323 324 /*** 325 * You may want to hook into this filter if you want to override this function. 326 * Make sure you return false. 327 */ 328 if ( !apply_filters( 'bp_core_pre_avatar_handle_crop', true, $r ) ) 329 return true; 330 306 331 extract( $r, EXTR_SKIP ); 307 332 … … 309 334 return false; 310 335 311 if ( !file_exists( WP_CONTENT_DIR . '/' . $original_file ) ) 336 $original_file = BP_AVATAR_UPLOAD_PATH . $original_file; 337 338 if ( !file_exists( $original_file ) ) 312 339 return false; 313 340 314 341 if ( !$item_id ) 315 $avatar_folder_dir = apply_filters( 'bp_core_avatar_folder_dir', WP_CONTENT_DIR .dirname( $original_file ), $item_id, $object, $avatar_dir );342 $avatar_folder_dir = apply_filters( 'bp_core_avatar_folder_dir', dirname( $original_file ), $item_id, $object, $avatar_dir ); 316 343 else 317 344 $avatar_folder_dir = apply_filters( 'bp_core_avatar_folder_dir', BP_AVATAR_UPLOAD_PATH . '/' . $avatar_dir . '/' . $item_id, $item_id, $object, $avatar_dir ); … … 338 365 339 366 /* Crop the image */ 340 $full_cropped = wp_crop_image( WP_CONTENT_DIR .$original_file, (int)$crop_x, (int)$crop_y, (int)$crop_w, (int)$crop_h, BP_AVATAR_FULL_WIDTH, BP_AVATAR_FULL_HEIGHT, false, $avatar_folder_dir . '/' . $full_filename );341 $thumb_cropped = wp_crop_image( WP_CONTENT_DIR .$original_file, (int)$crop_x, (int)$crop_y, (int)$crop_w, (int)$crop_h, BP_AVATAR_THUMB_WIDTH, BP_AVATAR_THUMB_HEIGHT, false, $avatar_folder_dir . '/' . $thumb_filename );367 $full_cropped = wp_crop_image( $original_file, (int)$crop_x, (int)$crop_y, (int)$crop_w, (int)$crop_h, BP_AVATAR_FULL_WIDTH, BP_AVATAR_FULL_HEIGHT, false, $avatar_folder_dir . '/' . $full_filename ); 368 $thumb_cropped = wp_crop_image( $original_file, (int)$crop_x, (int)$crop_y, (int)$crop_w, (int)$crop_h, BP_AVATAR_THUMB_WIDTH, BP_AVATAR_THUMB_HEIGHT, false, $avatar_folder_dir . '/' . $thumb_filename ); 342 369 343 370 /* Remove the original */ 344 @unlink( WP_CONTENT_DIR .$original_file );371 @unlink( $original_file ); 345 372 346 373 return true; … … 389 416 390 417 function bp_core_avatar_upload_path() { 391 if ( bp_core_is_multisite() ) 392 $path = ABSPATH . get_blog_option( BP_ROOT_BLOG, 'upload_path' ); 393 else { 394 if ( !$path = get_option( 'upload_path' ) ) 395 $path = WP_CONTENT_DIR . '/uploads'; 396 } 397 398 return apply_filters( 'bp_core_avatar_upload_path', $path ); 418 $upload_dir = wp_upload_dir(); 419 return apply_filters( 'bp_core_avatar_upload_path', $upload_dir['basedir'] ); 399 420 } 400 421 401 422 function bp_core_avatar_url() { 402 if ( !bp_core_is_multisite() ) 403 return WP_CONTENT_URL; 404 405 return apply_filters( 'bp_core_avatar_url', get_blog_option( BP_ROOT_BLOG, 'siteurl' ) ); 423 $upload_dir = wp_upload_dir(); 424 return apply_filters( 'bp_core_avatar_url', $upload_dir['baseurl'] ); 406 425 } 407 426
Note: See TracChangeset
for help on using the changeset viewer.