Skip to:
Content

bbPress.org

Changeset 4072


Ignore:
Timestamp:
07/08/2012 10:48:17 AM (9 years ago)
Author:
johnjamesjacoby
Message:

Converter:

  • Move convert_pass method into global scope, so passwords are converted anywhere.
  • Fixes #1886.
Location:
branches/plugin
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/plugin/bbp-admin/bbp-converter.php

    r4055 r4072  
    6262        // Attach the bbConverter admin settings action to the WordPress admin init action.
    6363        add_action( 'bbp_register_admin_settings', array( $this, 'register_admin_settings' ) );
    64 
    65         // Attach to the login process to aid in converting passwords to wordpress.
    66         add_action( 'login_form_login',            array( $this, 'convert_pass'            ) );
    6764
    6865        // Attach to the admin ajax request to process cycles
     
    475472
    476473                break;
    477         }
    478     }
    479 
    480     /**
    481      * Convert passwords from previous forum to wordpress.
    482      *
    483      * @since bbPress (r3813)
    484      * @global WPDB $wpdb
    485      */
    486     public function convert_pass() {
    487 
    488         $username = !empty( $_POST['log'] ) ? $_POST['log'] : '';
    489 
    490         if ( !empty( $username ) ) {
    491 
    492             global $wpdb;
    493 
    494             $row = $wpdb->get_row( "SELECT * FROM {$wpdb->users} INNER JOIN {$wpdb->usermeta} ON user_id = ID WHERE meta_key = '_bbp_converter_class' AND user_login = '{$username}' LIMIT 1" );
    495 
    496             if ( !empty( $row ) ) {
    497                 $converter = bbp_new_converter( $row->meta_value );
    498                 $converter->callback_pass( $username, $_POST['pwd'] );
    499             }
    500474        }
    501475    }
  • branches/plugin/bbp-includes/bbp-core-actions.php

    r4041 r4072  
    5353add_action( 'after_setup_theme',      'bbp_after_setup_theme',      10 );
    5454add_action( 'template_redirect',      'bbp_template_redirect',      10 );
     55add_action( 'login_form_login',       'bbp_login_form_login',       10 );
    5556
    5657/**
     
    256257add_action( 'bbp_template_redirect', 'bbp_check_topic_tag_edit',    10 );
    257258
     259// Maybe convert the users password
     260add_action( 'bbp_login_form_login', 'bbp_user_maybe_convert_pass' );
     261
    258262/**
    259263 * Requires and creates the BuddyPress extension, and adds component creation
     
    491495}
    492496
     497/**
     498 * Add the bbPress-specific login forum action
     499 *
     500 * @since bbPress (r2753)
     501 * @uses do_action() Calls 'bbp_login_form_login'
     502 */
     503function bbp_login_form_login() {
     504    do_action ( 'bbp_login_form_login' );
     505}
     506
    493507/** Final Action **************************************************************/
    494508
  • branches/plugin/bbp-includes/bbp-user-functions.php

    r4050 r4072  
    14371437    }
    14381438}
     1439
     1440/** Converter *****************************************************************/
     1441
     1442/**
     1443 * Convert passwords from previous platfrom encryption to WordPress encryption.
     1444 *
     1445 * @since bbPress (r3813)
     1446 * @global WPDB $wpdb
     1447 */
     1448function bbp_user_maybe_convert_pass() {
     1449
     1450    // Bail if no username
     1451    $username = !empty( $_POST['log'] ) ? $_POST['log'] : '';
     1452    if ( empty( $username ) )
     1453        return;
     1454
     1455    global $wpdb;
     1456
     1457    // Bail if no user password to convert
     1458    $row = $wpdb->get_row( "SELECT * FROM {$wpdb->users} INNER JOIN {$wpdb->usermeta} ON user_id = ID WHERE meta_key = '_bbp_converter_class' AND user_login = '{$username}' LIMIT 1" );
     1459    if ( empty( $row ) || is_wp_error( $row ) )
     1460        return;
     1461
     1462    // Convert password
     1463    require_once( bbpress()->admin->admin_dir . 'bbp-converter.php' );
     1464    require_once( bbpress()->admin->admin_dir . 'converters/' . $row->meta_value . '.php' );
     1465
     1466    // Create the converter
     1467    $converter = bbp_new_converter( $row->meta_value );
     1468
     1469    // Try to call the conversion method
     1470    if ( is_a( $converter, 'BBP_Converter_Base' ) && method_exists( $converter, 'callback_pass' ) ) {
     1471        $converter->callback_pass( $username, $_POST['pwd'] );
     1472    }
     1473}
Note: See TracChangeset for help on using the changeset viewer.