Changeset 13177 for trunk/src/bp-core/bp-core-avatars.php
- Timestamp:
- 12/11/2021 01:40:24 PM (5 years ago)
- File:
-
- 1 edited
-
trunk/src/bp-core/bp-core-avatars.php (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bp-core/bp-core-avatars.php
r13176 r13177 1177 1177 * 1178 1178 * @since 2.3.0 1179 * @since 10.0.0 Adds the `$return` param to eventually return the crop result. 1179 1180 * 1180 1181 * @param string $data Base64 encoded image. 1181 1182 * @param int $item_id Item to associate. 1182 * @return bool True on success, false on failure. 1183 */ 1184 function bp_avatar_handle_capture( $data = '', $item_id = 0 ) { 1183 * @param string $return Whether to get the crop `array` or a `boolean`. Defaults to `boolean`. 1184 * @return array|bool True on success, false on failure. 1185 */ 1186 function bp_avatar_handle_capture( $data = '', $item_id = 0, $return = 'boolean' ) { 1185 1187 if ( empty( $data ) || empty( $item_id ) ) { 1186 1188 return false; … … 1238 1240 $crop_args = array( 'item_id' => $item_id, 'original_file' => $avatar_to_crop, 'crop_x' => 0, 'crop_y' => 0 ); 1239 1241 1242 if ( 'array' === $return ) { 1243 return bp_core_avatar_handle_crop( $crop_args, 'array' ); 1244 } 1245 1240 1246 return bp_core_avatar_handle_crop( $crop_args ); 1241 1247 } else { … … 1248 1254 * 1249 1255 * @since 1.1.0 1256 * @since 10.0.0 Adds the `$return` param to eventually return the crop result. 1250 1257 * 1251 1258 * @param array|string $args { … … 1266 1273 * @type int $crop_y The vertical starting point of the crop. Default: 0. 1267 1274 * } 1268 * @return bool True on success, false on failure. 1269 */ 1270 function bp_core_avatar_handle_crop( $args = '' ) { 1275 * @param string $return Whether to get the crop `array` or a `boolean`. Defaults to `boolean`. 1276 * @return array|bool True or the crop result on success, false on failure. 1277 */ 1278 function bp_core_avatar_handle_crop( $args = '', $return = 'boolean' ) { 1271 1279 1272 1280 $r = bp_parse_args( … … 1307 1315 } 1308 1316 1317 if ( 'array' === $return ) { 1318 return $cropped; 1319 } 1320 1309 1321 return true; 1310 1322 } … … 1353 1365 } 1354 1366 1355 if ( ! bp_avatar_handle_capture( $webcam_avatar, $avatar_data['item_id'] ) ) { 1367 $cropped_webcam_avatar = bp_avatar_handle_capture( $webcam_avatar, $avatar_data['item_id'], 'array' ); 1368 1369 if ( ! $cropped_webcam_avatar ) { 1356 1370 wp_send_json_error( array( 1357 1371 'feedback_code' => 1 … … 1360 1374 } else { 1361 1375 $return = array( 1362 'avatar' => esc_url( bp_core_fetch_avatar( array( 1363 'object' => $avatar_data['object'], 1364 'item_id' => $avatar_data['item_id'], 1365 'html' => false, 1366 'type' => 'full', 1367 ) ) ), 1376 'avatar' => esc_url( 1377 bp_core_fetch_avatar( 1378 array( 1379 'object' => $avatar_data['object'], 1380 'item_id' => $avatar_data['item_id'], 1381 'html' => false, 1382 'type' => 'full', 1383 ) 1384 ) 1385 ), 1368 1386 'feedback_code' => 2, 1369 1387 'item_id' => $avatar_data['item_id'], … … 1377 1395 * 1378 1396 * @since 6.0.0 1397 * @since 10.0.0 Adds a new param: an array containing the full, thumb avatar and the timestamp. 1379 1398 * 1380 * @param string $item_id Inform about the user id the avatar was set for. 1381 * @param string $type Inform about the way the avatar was set ('camera'). 1382 * @param array $avatar_data Array of parameters passed to the avatar handler. 1399 * @param string $item_id Inform about the user id the avatar was set for. 1400 * @param string $type Inform about the way the avatar was set ('camera'). 1401 * @param array $avatar_data Array of parameters passed to the crop handler. 1402 * @param array $cropped_webcam_avatar Array containing the full, thumb avatar and the timestamp. 1383 1403 */ 1384 do_action( 'bp_members_avatar_uploaded', (int) $avatar_data['item_id'], $avatar_data['type'], $avatar_data );1404 do_action( 'bp_members_avatar_uploaded', (int) $avatar_data['item_id'], $avatar_data['type'], $avatar_data, $cropped_webcam_avatar ); 1385 1405 1386 1406 wp_send_json_success( $return ); … … 1414 1434 1415 1435 // Handle crop. 1416 if ( bp_core_avatar_handle_crop( $r ) ) { 1436 $cropped_avatar = bp_core_avatar_handle_crop( $r, 'array' ); 1437 1438 if ( $cropped_avatar ) { 1417 1439 $return = array( 1418 'avatar' => esc_url( bp_core_fetch_avatar( array( 1419 'object' => $avatar_data['object'], 1420 'item_id' => $avatar_data['item_id'], 1421 'html' => false, 1422 'type' => 'full', 1423 ) ) ), 1440 'avatar' => esc_url( 1441 bp_core_fetch_avatar( 1442 array( 1443 'object' => $avatar_data['object'], 1444 'item_id' => $avatar_data['item_id'], 1445 'html' => false, 1446 'type' => 'full', 1447 ) 1448 ) 1449 ), 1424 1450 'feedback_code' => 2, 1425 1451 'item_id' => $avatar_data['item_id'], … … 1431 1457 1432 1458 /** This action is documented in bp-core/bp-core-avatars.php */ 1433 do_action( 'bp_members_avatar_uploaded', (int) $avatar_data['item_id'], $avatar_data['type'], $r );1459 do_action( 'bp_members_avatar_uploaded', (int) $avatar_data['item_id'], $avatar_data['type'], $r, $cropped_avatar ); 1434 1460 } elseif ( 'group' === $avatar_data['object'] ) { 1435 1461 /** This action is documented in bp-groups/bp-groups-screens.php */ 1436 do_action( 'groups_avatar_uploaded', (int) $avatar_data['item_id'], $avatar_data['type'], $r );1462 do_action( 'groups_avatar_uploaded', (int) $avatar_data['item_id'], $avatar_data['type'], $r, $cropped_avatar ); 1437 1463 } 1438 1464
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)