diff --git src/bp-core/bp-core-avatars.php src/bp-core/bp-core-avatars.php
index 98f2a3a..4180784 100644
|
|
function bp_avatar_ajax_upload() { |
991 | 991 | $name_parts = pathinfo( $name ); |
992 | 992 | $name = trim( substr( $name, 0, - ( 1 + strlen( $name_parts['extension'] ) ) ) ); |
993 | 993 | |
994 | | if ( 'user' === $bp_params['object'] ) { |
995 | | do_action( 'xprofile_avatar_uploaded' ); |
996 | | } |
997 | | |
998 | 994 | // Finally return the avatar to the editor |
999 | 995 | bp_attachments_json_response( true, $is_html4, array( |
1000 | 996 | 'name' => $name, |
… |
… |
function bp_avatar_handle_capture( $data = '', $item_id = 0 ) { |
1057 | 1053 | // Crop to default values |
1058 | 1054 | $crop_args = array( 'item_id' => $item_id, 'original_file' => $avatar_to_crop, 'crop_x' => 0, 'crop_y' => 0 ); |
1059 | 1055 | |
1060 | | /** |
1061 | | * Fires if the new avatar was successfully captured. |
1062 | | * |
1063 | | * @since 2.3.0 |
1064 | | */ |
1065 | | do_action( 'xprofile_avatar_uploaded' ); |
1066 | | |
1067 | 1056 | return bp_core_avatar_handle_crop( $crop_args ); |
1068 | 1057 | } else { |
1069 | 1058 | return false; |
… |
… |
function bp_avatar_ajax_set() { |
1200 | 1189 | 'item_id' => $avatar_data['item_id'], |
1201 | 1190 | ); |
1202 | 1191 | |
1203 | | do_action( 'xprofile_screen_change_avatar' ); |
| 1192 | /** |
| 1193 | * Fires if the new avatar was successfully captured. |
| 1194 | * |
| 1195 | * @since 1.1.0 Used to inform the avatar was successfully cropped |
| 1196 | * @since 2.3.4 Add two new parameters to inform about the user id and |
| 1197 | * about the way the avatar was set (eg: 'crop' or 'camera') |
| 1198 | * Move the action at the right place, once the avatar is set |
| 1199 | * |
| 1200 | * @param string $item_id Inform about the user id the avatar was set for |
| 1201 | * @param string $type Inform about the way the avatar was set ('camera') |
| 1202 | */ |
| 1203 | do_action( 'xprofile_avatar_uploaded', (int) $avatar_data['item_id'], $avatar_data['type'] ); |
1204 | 1204 | |
1205 | 1205 | wp_send_json_success( $return ); |
1206 | 1206 | } |
… |
… |
function bp_avatar_ajax_set() { |
1245 | 1245 | ); |
1246 | 1246 | |
1247 | 1247 | if ( 'user' === $avatar_data['object'] ) { |
1248 | | do_action( 'xprofile_screen_change_avatar' ); |
| 1248 | /** |
| 1249 | * Fires if the new avatar was successfully cropped. |
| 1250 | * |
| 1251 | * @since 1.1.0 Used to inform the avatar was successfully cropped |
| 1252 | * @since 2.3.4 Add two new parameters to inform about the user id and |
| 1253 | * about the way the avatar was set (eg: 'crop' or 'camera') |
| 1254 | * Move the action at the right place, once the avatar is set |
| 1255 | * |
| 1256 | * @param string $item_id Inform about the user id the avatar was set for |
| 1257 | * @param string $type Inform about the way the avatar was set ('crop') |
| 1258 | */ |
| 1259 | do_action( 'xprofile_avatar_uploaded', (int) $avatar_data['item_id'], $avatar_data['type'] ); |
1249 | 1260 | } |
1250 | 1261 | |
1251 | 1262 | wp_send_json_success( $return ); |
diff --git src/bp-xprofile/bp-xprofile-activity.php src/bp-xprofile/bp-xprofile-activity.php
index 5cc90f2..b27a0f4 100644
|
|
function xprofile_register_activity_action( $key, $value ) { |
202 | 202 | /** |
203 | 203 | * Adds an activity stream item when a user has uploaded a new avatar. |
204 | 204 | * |
205 | | * @since BuddyPress (1.0.0) |
| 205 | * @since 1.0.0 |
| 206 | * @since 2.3.4 Add new parameter to get the user id the avatar was set for |
206 | 207 | * |
207 | 208 | * @package BuddyPress XProfile |
208 | 209 | * @uses bp_activity_add() Adds an entry to the activity component tables for a |
209 | 210 | * specific activity |
| 211 | * |
| 212 | * @param int $user_id The user id the avatar was set for |
210 | 213 | */ |
211 | | function bp_xprofile_new_avatar_activity() { |
| 214 | function bp_xprofile_new_avatar_activity( $user_id = 0 ) { |
212 | 215 | |
213 | 216 | // Bail if activity component is not active |
214 | 217 | if ( ! bp_is_active( 'activity' ) ) { |
215 | 218 | return false; |
216 | 219 | } |
217 | 220 | |
| 221 | if ( empty( $user_id ) ) { |
| 222 | $user_id = bp_displayed_user_id(); |
| 223 | } |
| 224 | |
218 | 225 | /** |
219 | 226 | * Filters the user ID when a user has uploaded a new avatar. |
220 | 227 | * |
221 | | * @since BuddyPress (1.5.0) |
| 228 | * @since 1.5.0 |
222 | 229 | * |
223 | | * @param int $value ID of the displayed user. |
| 230 | * @param int $user_id ID of the user the avatar was set for. |
224 | 231 | */ |
225 | | $user_id = apply_filters( 'bp_xprofile_new_avatar_user_id', bp_displayed_user_id() ); |
| 232 | $user_id = apply_filters( 'bp_xprofile_new_avatar_user_id', $user_id ); |
226 | 233 | |
227 | 234 | // Add the activity |
228 | 235 | bp_activity_add( array( |
diff --git src/bp-xprofile/bp-xprofile-screens.php src/bp-xprofile/bp-xprofile-screens.php
index afb4604..a78c0e0 100644
|
|
function xprofile_screen_change_avatar() { |
266 | 266 | /** |
267 | 267 | * Fires right before the redirect, after processing a new avatar. |
268 | 268 | * |
269 | | * @since BuddyPress (1.1.0) |
| 269 | * @since 1.1.0 |
| 270 | * @since 2.3.4 Add two new parameters to inform about the user id and |
| 271 | * about the way the avatar was set (eg: 'crop' or 'camera') |
| 272 | * |
| 273 | * @param string $item_id Inform about the user id the avatar was set for |
| 274 | * @param string $value Inform about the way the avatar was set ('crop') |
270 | 275 | */ |
271 | | do_action( 'xprofile_avatar_uploaded' ); |
| 276 | do_action( 'xprofile_avatar_uploaded', (int) $args['item_id'], 'crop' ); |
272 | 277 | bp_core_add_message( __( 'Your new profile photo was uploaded successfully.', 'buddypress' ) ); |
273 | 278 | bp_core_redirect( bp_displayed_user_domain() ); |
274 | 279 | } |