user->set( $args['user_id'] ); } else { wp_die( __('You are not allowed to edit this user.','ultimatemember') ); } } else if ( isset( $args['_user_id'] ) ) { $ultimatemember->user->set( $args['_user_id'] ); } $userinfo = $ultimatemember->user->profile; $fields = unserialize( $args['custom_fields'] ); do_action('um_user_before_updating_profile', $userinfo ); // loop through fields if ( isset( $fields ) && is_array( $fields ) ) { foreach( $fields as $key => $array ) { if( !um_user_can( 'can_edit_everyone' ) && isset($fields[$key]['editable']) && !$fields[$key]['editable'] ) continue; if ( $fields[$key]['type'] == 'multiselect' || $fields[$key]['type'] == 'checkbox' && !isset($args['submitted'][$key]) ) { delete_user_meta( um_user('ID'), $key ); } if ( isset( $args['submitted'][ $key ] ) ) { if ( isset( $fields[$key]['type'] ) && in_array( $fields[$key]['type'], array('image','file') ) && um_is_temp_upload( $args['submitted'][ $key ] ) ) { $files[ $key ] = $args['submitted'][ $key ]; } else { if ( isset( $userinfo[$key]) && $args['submitted'][$key] != $userinfo[$key] ) { $to_update[ $key ] = $args['submitted'][ $key ]; } else if ( $args['submitted'][$key] ) { $to_update[ $key ] = $args['submitted'][ $key ]; } } } } } if ( isset( $args['submitted']['description'] ) ) { $to_update['description'] = $args['submitted']['description']; } if ( isset( $args['submitted']['role'] ) && !empty( $args['submitted']['role'] ) ) { $to_update['role'] = $args['submitted']['role']; } do_action('um_user_pre_updating_profile', $to_update ); $to_update = apply_filters('um_user_pre_updating_profile_array', $to_update); if ( is_array( $to_update ) ) { $ultimatemember->user->update_profile( $to_update ); } if ( is_array( $files ) ) { $ultimatemember->user->update_files( $files ); } do_action('um_after_user_updated', um_user('ID') ); do_action('um_after_user_upload', um_user('ID') ); do_action('um_user_after_updating_profile', $to_update ); if ( !isset( $args['is_signup'] ) ) { exit( wp_redirect( um_edit_my_profile_cancel_uri() ) ); } } /*** *** @if editing another user ***/ add_action('um_after_form_fields', 'um_editing_user_id_input'); function um_editing_user_id_input($args){ global $ultimatemember; if ( $ultimatemember->fields->editing == 1 && $ultimatemember->fields->set_mode == 'profile' && $ultimatemember->user->target_id ) { ?> '.__('Change your cover photo','ultimatemember').' '; ?>
fields->editing ) { $items = array( ''.__('Change cover photo','ultimatemember').'', ''.__('Remove','ultimatemember').'', ''.__('Cancel','ultimatemember').'', ); echo $ultimatemember->menu->new_ui( 'bc', 'div.um-cover', 'click', $items ); } ?> fields->add_hidden_field( 'cover_photo' ); ?>
mobile->isMobile() ){ if ( $ultimatemember->mobile->isTablet() ) { echo um_user('cover_photo', 1000); } else { echo um_user('cover_photo', 300); } } else { echo um_user('cover_photo', 1000); } ?> '; } else { if ( !isset( $ultimatemember->user->cannot_edit ) ) { ?>
'; echo $ultimatemember->fields->show_social_urls(); echo ''; } } /*** *** @profile header ***/ add_action('um_profile_header', 'um_profile_header', 9 ); function um_profile_header( $args ) { global $ultimatemember; $classes = null; if ( !$args['cover_enabled'] ) { $classes .= ' no-cover'; } $default_size = str_replace( 'px', '', $args['photosize'] ); $overlay = ' '; ?>
user->cannot_edit ) ) { $ultimatemember->fields->add_hidden_field( 'profile_photo' ); if ( !um_profile('profile_photo') ) { // has profile photo $items = array( ''.__('Upload photo','ultimatemember').'', ''.__('Cancel','ultimatemember').'', ); $items = apply_filters('um_user_photo_menu_view', $items ); echo $ultimatemember->menu->new_ui( 'bc', 'div.um-profile-photo', 'click', $items ); } else if ( $ultimatemember->fields->editing == true ) { $items = array( ''.__('Change photo','ultimatemember').'', ''.__('Remove photo','ultimatemember').'', ''.__('Cancel','ultimatemember').'', ); $items = apply_filters('um_user_photo_menu_edit', $items ); echo $ultimatemember->menu->new_ui( 'bc', 'div.um-profile-photo', 'click', $items ); } } ?>
profile->show_meta( $args['metafields'] ); ?>
fields->viewing == true && um_user('description') && $args['show_bio'] ) { ?> fields->editing == true && $args['show_bio'] ) { ?>
fields->is_error('description') ) { echo $ultimatemember->fields->field_error( $ultimatemember->fields->show_error('description'), true ); } ?>
fields->editing == false ) { $ultimatemember->fields->viewing = 1; if ( um_get_requested_user() ) { if ( !um_can_view_profile( um_get_requested_user() ) ) um_redirect_home(); if ( !um_current_user_can('edit', um_get_requested_user() ) ) $ultimatemember->user->cannot_edit = 1; um_fetch_user( um_get_requested_user() ); } else { if ( !is_user_logged_in() ) um_redirect_home(); if ( !um_user('can_edit_profile') ) $ultimatemember->user->cannot_edit = 1; } } if ( $mode == 'profile' && $ultimatemember->fields->editing == true ) { $ultimatemember->fields->editing = 1; if ( um_get_requested_user() ) { if ( !um_current_user_can('edit', um_get_requested_user() ) ) um_redirect_home(); um_fetch_user( um_get_requested_user() ); } } } /*** *** @display the edit profile icon ***/ add_action('um_pre_header_editprofile', 'um_add_edit_icon' ); function um_add_edit_icon( $args ) { global $ultimatemember; $output = ''; if ( !is_user_logged_in() ) return; // not allowed for guests if ( isset( $ultimatemember->user->cannot_edit ) && $ultimatemember->user->cannot_edit == 1 ) return; // do not proceed if user cannot edit if ( $ultimatemember->fields->editing == true ) { ?>
''.__('Edit Profile','ultimatemember').'', 'myaccount' => ''.__('My Account','ultimatemember').'', 'logout' => ''.__('Logout','ultimatemember').'', 'cancel' => ''.__('Cancel','ultimatemember').'', ); $cancel = $items['cancel']; if ( !um_is_myprofile() ) { $actions = $ultimatemember->user->get_admin_actions(); unset( $items['myaccount'] ); unset( $items['logout'] ); unset( $items['cancel'] ); if ( is_array( $actions ) ) { $items = array_merge( $items, $actions ); } $items = apply_filters('um_profile_edit_menu_items', $items, um_profile_id() ); $items['cancel'] = $cancel; } else { $items = apply_filters('um_myprofile_edit_menu_items', $items ); } echo $ultimatemember->menu->new_ui( $args['header_menu'], 'div.um-profile-edit', 'click', $items ); ?>
fields->editing == true ) { echo $ultimatemember->fields->display( 'profile', $args ); } else { $ultimatemember->fields->viewing = true; echo $ultimatemember->fields->display_view( 'profile', $args ); } } /*** *** @form processing ***/ add_action('um_submit_form_profile', 'um_submit_form_profile', 10); function um_submit_form_profile($args){ global $ultimatemember; if ( !isset($ultimatemember->form->errors) ) do_action('um_user_edit_profile', $args); do_action('um_user_profile_extra_hook', $args ); } /*** *** @Show the submit button (highest priority) ***/ add_action('um_after_profile_fields', 'um_add_submit_button_to_profile', 1000); function um_add_submit_button_to_profile($args){ global $ultimatemember; // DO NOT add when reviewing user's details if ( $ultimatemember->user->preview == true && is_admin() ) return; // only when editing if ( $ultimatemember->fields->editing == false ) return; ?>
profile->tabs_active(); $tabs = apply_filters('um_user_profile_tabs', $tabs ); $ultimatemember->user->tabs = $tabs; // need enough tabs to continue if ( count( $tabs ) <= 1 ) return; $active_tab = $ultimatemember->profile->active_tab(); if ( !isset( $tabs[$active_tab] ) ) { $active_tab = 'main'; $ultimatemember->profile->active_tab = $active_tab; $ultimatemember->profile->active_subnav = null; } // Move default tab priority $default_tab = um_get_option('profile_menu_default_tab'); $dtab = ( isset( $tabs[$default_tab] ) )? $tabs[$default_tab] : 'main'; if ( isset( $tabs[ $default_tab ] ) ) { unset( $tabs[$default_tab] ); $dtabs[$default_tab] = $dtab; $tabs = $dtabs + $tabs; } ?>
$tab ) { if ( isset( $tab['hidden'] ) ) continue; $nav_link = $ultimatemember->permalinks->get_current_url( get_option('permalink_structure') ); $nav_link = remove_query_arg( 'um_action', $nav_link ); $nav_link = remove_query_arg( 'subnav', $nav_link ); $nav_link = add_query_arg('profiletab', $id, $nav_link ); $nav_link = apply_filters("um_profile_menu_link_{$id}", $nav_link); ?>
$tab ) { if ( isset( $tab['subnav'] ) && $active_tab == $id ) { $active_subnav = ( $ultimatemember->profile->active_subnav() ) ? $ultimatemember->profile->active_subnav() : $tab['subnav_default']; echo '
'; foreach( $tab['subnav'] as $id => $subtab ) { ?> '; } } }