WordPress.org

Make WordPress Core

Ticket #10240: contactmethods.patch

File contactmethods.patch, 4.1 KB (added by joostdevalk, 6 years ago)

Patch

  • wp-includes/registration.php

     
    164164        if ( empty($use_ssl) ) 
    165165                $use_ssl = 0; 
    166166 
    167         if ( empty($jabber) ) 
    168                 $jabber = ''; 
    169  
    170         if ( empty($aim) ) 
    171                 $aim = ''; 
    172  
    173         if ( empty($yim) ) 
    174                 $yim = ''; 
    175  
    176167        if ( empty($user_registered) ) 
    177168                $user_registered = gmdate('Y-m-d H:i:s'); 
    178169 
     
    203194        update_usermeta( $user_id, 'last_name', $last_name); 
    204195        update_usermeta( $user_id, 'nickname', $nickname ); 
    205196        update_usermeta( $user_id, 'description', $description ); 
    206         update_usermeta( $user_id, 'jabber', $jabber ); 
    207         update_usermeta( $user_id, 'aim', $aim ); 
    208         update_usermeta( $user_id, 'yim', $yim ); 
    209197        update_usermeta( $user_id, 'rich_editing', $rich_editing); 
    210198        update_usermeta( $user_id, 'comment_shortcuts', $comment_shortcuts); 
    211199        update_usermeta( $user_id, 'admin_color', $admin_color); 
    212200        update_usermeta( $user_id, 'use_ssl', $use_ssl); 
     201        foreach (_wp_get_user_contactmethods() as $method => $name) { 
     202                if ( empty($$method) ) 
     203                        $$method = ''; 
     204                 
     205                update_usermeta( $user_id, $method, $$method ); 
     206        } 
    213207 
    214208        if ( isset($role) ) { 
    215209                $user = new WP_User($user_id); 
  • wp-admin/includes/user.php

     
    105105                $user->display_name = esc_html( trim( $_POST['display_name'] )); 
    106106        if ( isset( $_POST['description'] )) 
    107107                $user->description = trim( $_POST['description'] ); 
    108         if ( isset( $_POST['jabber'] )) 
    109                 $user->jabber = esc_html( trim( $_POST['jabber'] )); 
    110         if ( isset( $_POST['aim'] )) 
    111                 $user->aim = esc_html( trim( $_POST['aim'] )); 
    112         if ( isset( $_POST['yim'] )) 
    113                 $user->yim = esc_html( trim( $_POST['yim'] )); 
     108        $user_contactmethods = _wp_get_user_contactmethods(); 
     109        foreach ($user_contactmethods as $method => $name) { 
     110                if ( isset( $_POST[$method] )) 
     111                        $user->$method = esc_html( trim( $_POST[$method] ) ); 
     112        } 
    114113        if ( !$update ) 
    115114                $user->rich_editing = 'true';  // Default to true for new users. 
    116115        else if ( isset( $_POST['rich_editing'] ) ) 
     
    835834        echo '</p></div>'; 
    836835} 
    837836 
     837/** 
     838 * Setup the default contact methods 
     839 * 
     840 * @access private 
     841 * @since  
     842 * 
     843 * @return array $user_contactmethods Array of contact methods and their labels. 
     844 */ 
     845function _wp_get_user_contactmethods() { 
     846        $user_contactmethods = array( 
     847                'aim' => __('AIM'), 
     848                'yim' => __('Yahoo IM'), 
     849                'jabber' => __('Jabber / Google Talk') 
     850        ); 
     851        return apply_filters('user_contactmethods',$user_contactmethods); 
     852} 
     853 
    838854?> 
  • wp-admin/user-edit.php

     
    267267        <td><input type="text" name="url" id="url" value="<?php echo esc_attr($profileuser->user_url) ?>" class="regular-text code" /></td> 
    268268</tr> 
    269269 
     270<?php 
     271        foreach (_wp_get_user_contactmethods() as $name => $desc) { 
     272?> 
    270273<tr> 
    271         <th><label for="aim"><?php echo apply_filters('user_aim_label', __('AIM')); ?></label></th> 
    272         <td><input type="text" name="aim" id="aim" value="<?php echo esc_attr($profileuser->aim) ?>" class="regular-text" /></td> 
    273 </tr> 
    274  
    275 <tr> 
    276         <th><label for="yim"><?php echo apply_filters('user_yim_label', __('Yahoo IM')); ?></label></th> 
    277         <td><input type="text" name="yim" id="yim" value="<?php echo esc_attr($profileuser->yim) ?>" class="regular-text" /></td> 
    278 </tr> 
    279  
    280 <tr> 
    281         <th><label for="jabber"><?php echo apply_filters('user_jabber_label', __('Jabber / Google Talk')); ?></label></th> 
    282         <td><input type="text" name="jabber" id="jabber" value="<?php echo esc_attr($profileuser->jabber) ?>" class="regular-text" /></td> 
    283 </tr> 
     274        <th><label for="<?php echo $name; ?>"><?php echo apply_filters('user_'.$name.'_label', $desc); ?></label></th> 
     275        <td><input type="text" name="<?php echo $name; ?>" id="<?php echo $name; ?>" value="<?php echo esc_attr($profileuser->$name) ?>" class="regular-text" /></td> 
     276</tr>    
     277<?php 
     278        } 
     279?> 
    284280</table> 
    285281 
    286282<h3><?php IS_PROFILE_PAGE ? _e('About Yourself') : _e('About the user'); ?></h3>