Changeset 11928 for trunk/src/bp-xprofile/screens/edit.php
- Timestamp:
- 04/02/2018 04:32:31 AM (7 years ago)
- Location:
- trunk/src/bp-xprofile/screens
- Files:
-
- 1 added
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bp-xprofile/screens/edit.php
r11927 r11928 1 1 <?php 2 2 /** 3 * BuddyPress XProfile Screens. 4 * 5 * Screen functions are the controllers of BuddyPress. They will execute when 6 * their specific URL is caught. They will first save or manipulate data using 7 * business functions, then pass on the user to a template file. 3 * XProfile: User's "Profile > Edit" screen handler 8 4 * 9 5 * @package BuddyPress 10 6 * @subpackage XProfileScreens 11 * @since 1.5.07 * @since 3.0.0 12 8 */ 13 14 // Exit if accessed directly.15 defined( 'ABSPATH' ) || exit;16 17 /**18 * Handles the display of the profile page by loading the correct template file.19 *20 * @since 1.0.021 *22 */23 function xprofile_screen_display_profile() {24 $new = isset( $_GET['new'] ) ? $_GET['new'] : '';25 26 /**27 * Fires right before the loading of the XProfile screen template file.28 *29 * @since 1.0.030 *31 * @param string $new $_GET parameter holding the "new" parameter.32 */33 do_action( 'xprofile_screen_display_profile', $new );34 35 /**36 * Filters the template to load for the XProfile screen.37 *38 * @since 1.0.039 *40 * @param string $template Path to the XProfile template to load.41 */42 bp_core_load_template( apply_filters( 'xprofile_template_display_profile', 'members/single/home' ) );43 }44 9 45 10 /** … … 190 155 bp_core_load_template( apply_filters( 'xprofile_template_edit_profile', 'members/single/home' ) ); 191 156 } 192 193 /**194 * Handles the uploading and cropping of a user avatar. Displays the change avatar page.195 *196 * @since 1.0.0197 *198 */199 function xprofile_screen_change_avatar() {200 201 // Bail if not the correct screen.202 if ( ! bp_is_my_profile() && ! bp_current_user_can( 'bp_moderate' ) ) {203 return false;204 }205 206 // Bail if there are action variables.207 if ( bp_action_variables() ) {208 bp_do_404();209 return;210 }211 212 $bp = buddypress();213 214 if ( ! isset( $bp->avatar_admin ) ) {215 $bp->avatar_admin = new stdClass();216 }217 218 $bp->avatar_admin->step = 'upload-image';219 220 if ( !empty( $_FILES ) ) {221 222 // Check the nonce.223 check_admin_referer( 'bp_avatar_upload' );224 225 // Pass the file to the avatar upload handler.226 if ( bp_core_avatar_handle_upload( $_FILES, 'xprofile_avatar_upload_dir' ) ) {227 $bp->avatar_admin->step = 'crop-image';228 229 // Make sure we include the jQuery jCrop file for image cropping.230 add_action( 'wp_print_scripts', 'bp_core_add_jquery_cropper' );231 }232 }233 234 // If the image cropping is done, crop the image and save a full/thumb version.235 if ( isset( $_POST['avatar-crop-submit'] ) ) {236 237 // Check the nonce.238 check_admin_referer( 'bp_avatar_cropstore' );239 240 $args = array(241 'item_id' => bp_displayed_user_id(),242 'original_file' => $_POST['image_src'],243 'crop_x' => $_POST['x'],244 'crop_y' => $_POST['y'],245 'crop_w' => $_POST['w'],246 'crop_h' => $_POST['h']247 );248 249 if ( ! bp_core_avatar_handle_crop( $args ) ) {250 bp_core_add_message( __( 'There was a problem cropping your profile photo.', 'buddypress' ), 'error' );251 } else {252 253 /**254 * Fires right before the redirect, after processing a new avatar.255 *256 * @since 1.1.0257 * @since 2.3.4 Add two new parameters to inform about the user id and258 * about the way the avatar was set (eg: 'crop' or 'camera').259 *260 * @param string $item_id Inform about the user id the avatar was set for.261 * @param string $value Inform about the way the avatar was set ('crop').262 */263 do_action( 'xprofile_avatar_uploaded', (int) $args['item_id'], 'crop' );264 bp_core_add_message( __( 'Your new profile photo was uploaded successfully.', 'buddypress' ) );265 bp_core_redirect( bp_displayed_user_domain() );266 }267 }268 269 /**270 * Fires right before the loading of the XProfile change avatar screen template file.271 *272 * @since 1.0.0273 */274 do_action( 'xprofile_screen_change_avatar' );275 276 /**277 * Filters the template to load for the XProfile change avatar screen.278 *279 * @since 1.0.0280 *281 * @param string $template Path to the XProfile change avatar template to load.282 */283 bp_core_load_template( apply_filters( 'xprofile_template_change_avatar', 'members/single/home' ) );284 }285 286 /**287 * Displays the change cover image page.288 *289 * @since 2.4.0290 */291 function xprofile_screen_change_cover_image() {292 293 // Bail if not the correct screen.294 if ( ! bp_is_my_profile() && ! bp_current_user_can( 'bp_moderate' ) ) {295 return false;296 }297 298 /**299 * Fires right before the loading of the XProfile change cover image screen template file.300 *301 * @since 2.4.0302 */303 do_action( 'xprofile_screen_change_cover_image' );304 305 /**306 * Filters the template to load for the XProfile cover image screen.307 *308 * @since 2.4.0309 *310 * @param string $template Path to the XProfile cover image template to load.311 */312 bp_core_load_template( apply_filters( 'xprofile_template_cover_image', 'members/single/home' ) );313 }314 315 /**316 * Show the xprofile settings template.317 *318 * @since 2.0.0319 */320 function bp_xprofile_screen_settings() {321 322 // Redirect if no privacy settings page is accessible.323 if ( bp_action_variables() || ! bp_is_active( 'xprofile' ) ) {324 bp_do_404();325 return;326 }327 328 /**329 * Filters the template to load for the XProfile settings screen.330 *331 * @since 2.0.0332 *333 * @param string $template Path to the XProfile change avatar template to load.334 */335 bp_core_load_template( apply_filters( 'bp_settings_screen_xprofile', '/members/single/settings/profile' ) );336 }
Note: See TracChangeset
for help on using the changeset viewer.