Make WordPress Core

Changeset 11784


Ignore:
Timestamp:
08/06/2009 09:59:52 PM (16 years ago)
Author:
westi
Message:

Make it much easier to filter contact methods from user profiles adding and removing at will. Fixes #10240 props joostdevalk.

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/includes/user.php

    r11571 r11784  
    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.
     
    379378    $user->display_name = esc_attr($user->display_name);
    380379    $user->nickname     = esc_attr($user->nickname);
    381     $user->aim          = isset( $user->aim ) && !empty( $user->aim ) ? esc_attr($user->aim) : '';
    382     $user->yim          = isset( $user->yim ) && !empty( $user->yim ) ? esc_attr($user->yim) : '';
    383     $user->jabber       = isset( $user->jabber ) && !empty( $user->jabber ) ? esc_attr($user->jabber) : '';
     380
     381    $user_contactmethods = _wp_get_user_contactmethods();
     382    foreach ($user_contactmethods as $method => $name) {
     383        $user->{$method} = isset( $user->{$method} ) && !empty( $user->{$method} ) ? esc_attr($user->{$method}) : '';
     384    }
     385   
    384386    $user->description  = isset( $user->description ) && !empty( $user->description ) ? esc_html($user->description) : '';
    385387
     
    836838}
    837839
     840/**
     841 * Setup the default contact methods
     842 *
     843 * @access private
     844 * @since
     845 *
     846 * @return array $user_contactmethods Array of contact methods and their labels.
     847 */
     848function _wp_get_user_contactmethods() {
     849    $user_contactmethods = array(
     850        'aim' => __('AIM'),
     851        'yim' => __('Yahoo IM'),
     852        'jabber' => __('Jabber / Google Talk')
     853    );
     854    return apply_filters('user_contactmethods',$user_contactmethods);
     855}
     856
    838857?>
  • trunk/wp-admin/user-edit.php

    r11526 r11784  
    268268</tr>
    269269
    270 <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>
     270<?php
     271    foreach (_wp_get_user_contactmethods() as $name => $desc) {
     272?>
     273<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
  • trunk/wp-includes/registration.php

    r11442 r11784  
    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');
     
    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) ) {
Note: See TracChangeset for help on using the changeset viewer.