bp_members_screen_change_avatar()
Handle the display of the profile Change Avatar page by loading the correct template file.
Source Source
File: bp-members/screens/change-avatar.php
function bp_members_screen_change_avatar() { // Bail if not the correct screen. if ( ! bp_is_my_profile() && ! bp_current_user_can( 'bp_moderate' ) ) { return false; } // Bail if there are action variables. if ( bp_action_variables() ) { bp_do_404(); return; } $bp = buddypress(); if ( ! isset( $bp->avatar_admin ) ) { $bp->avatar_admin = new stdClass(); } $bp->avatar_admin->step = 'upload-image'; if ( !empty( $_FILES ) ) { // Check the nonce. check_admin_referer( 'bp_avatar_upload' ); // Pass the file to the avatar upload handler. if ( bp_core_avatar_handle_upload( $_FILES, 'bp_members_avatar_upload_dir' ) ) { $bp->avatar_admin->step = 'crop-image'; // Make sure we include the jQuery jCrop file for image cropping. add_action( 'wp_print_scripts', 'bp_core_add_jquery_cropper' ); } } // If the image cropping is done, crop the image and save a full/thumb version. if ( isset( $_POST['avatar-crop-submit'] ) ) { // Check the nonce. check_admin_referer( 'bp_avatar_cropstore' ); $args = array( 'item_id' => bp_displayed_user_id(), 'original_file' => $_POST['image_src'], 'crop_x' => $_POST['x'], 'crop_y' => $_POST['y'], 'crop_w' => $_POST['w'], 'crop_h' => $_POST['h'] ); if ( ! bp_core_avatar_handle_crop( $args ) ) { bp_core_add_message( __( 'There was a problem cropping your profile photo.', 'buddypress' ), 'error' ); } else { /** This action is documented in wp-includes/deprecated.php */ do_action_deprecated( 'xprofile_avatar_uploaded', array( (int) $args['item_id'], 'crop' ), '6.0.0', 'bp_members_avatar_uploaded' ); /** * Fires right before the redirect, after processing a new avatar. * * @since 6.0.0 * * @param string $item_id Inform about the user id the avatar was set for. * @param string $value Inform about the way the avatar was set ('crop'). */ do_action( 'bp_members_avatar_uploaded', (int) $args['item_id'], 'crop' ); bp_core_add_message( __( 'Your new profile photo was uploaded successfully.', 'buddypress' ) ); bp_core_redirect( bp_displayed_user_domain() ); } } /** This action is documented in wp-includes/deprecated.php */ do_action_deprecated( 'xprofile_screen_change_avatar', array(), '6.0.0', 'bp_members_screen_change_avatar' ); /** * Fires right before the loading of the Member Change Avatar screen template file. * * @since 6.0.0 */ do_action( 'bp_members_screen_change_avatar' ); /** This filter is documented in wp-includes/deprecated.php */ $template = apply_filters_deprecated( 'xprofile_template_change_avatar', array( 'members/single/home' ), '6.0.0', 'bp_members_template_change_avatar' ); /** * Filters the template to load for the Member Change Avatar page screen. * * @since 6.0.0 * * @param string $template Path to the Member template to load. */ bp_core_load_template( apply_filters( 'bp_members_template_change_avatar', $template ) ); }
Expand full source code Collapse full source code View on Trac
Changelog Changelog
Version | Description |
---|---|
6.0.0 | Introduced. |