WordPress.org

Make WordPress Core

Ticket #10240: contactmethods.patch

File contactmethods.patch, 4.1 KB (added by joostdevalk, 9 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>