Switch language

wpseek.com
A WordPress-centric search engine for devs and theme authors




wpmu_activate_signup [ WordPress Function ]

wpmu_activate_signup ( $key )
Parameters:
  • (string) $key The activation key provided to the user.
Uses:
Returns:
  • (array) An array containing information about the activated user and/or blog
Defined at:



Activate a signup.

Hook to 'wpmu_activate_user' or 'wpmu_activate_blog' for events that should happen only when users or sites are self-created (since those actions are not called when users and sites are created by a Super Admin).

Source


<?php
function wpmu_activate_signup($key) {
    global 
$wpdb$current_site;

    
$signup $wpdb->get_row$wpdb->prepare("SELECT * FROM $wpdb->signups WHERE activation_key = %s"$key) );

    if ( empty( 
$signup ) )
        return new 
WP_Error'invalid_key'__'Invalid activation key.' ) );

    if ( 
$signup->active ) {
        if ( empty( 
$signup->domain ) )
            return new 
WP_Error'already_active'__'The user is already active.' ), $signup );
        else
            return new 
WP_Error'already_active'__'The site is already active.' ), $signup );
    }

    
$meta maybe_unserialize($signup->meta);
    
$user_login $wpdb->escape($signup->user_login);
    
$user_email $wpdb->escape($signup->user_email);
    
$password wp_generate_password12false );

    
$user_id username_exists($user_login);

    if ( ! 
$user_id )
        
$user_id wpmu_create_user($user_login$password$user_email);
    else
        
$user_already_exists true;

    if ( ! 
$user_id )
        return new 
WP_Error('create_user'__('Could not create user'), $signup);

    
$now current_time('mysql'true);

    if ( empty(
$signup->domain) ) {
        
$wpdb->update$wpdb->signups, array('active' => 1'activated' => $now), array('activation_key' => $key) );

        if ( isset( 
$user_already_exists ) )
            return new 
WP_Error'user_already_exists'__'That username is already activated.' ), $signup);

        
wpmu_welcome_user_notification($user_id$password$meta);

        
add_new_user_to_blog$user_id$user_email$meta );
        
do_action('wpmu_activate_user'$user_id$password$meta);
        return array(
'user_id' => $user_id'password' => $password'meta' => $meta);
    }

    
$blog_id wpmu_create_blog$signup->domain$signup->path$signup->title$user_id$meta$wpdb->siteid );

    
// TODO: What to do if we create a user but cannot create a blog?
    
if ( is_wp_error($blog_id) ) {
        
// If blog is taken, that means a previous attempt to activate this blog failed in between creating the blog and
        // setting the activation flag. Let's just set the active flag and instruct the user to reset their password.
        
if ( 'blog_taken' == $blog_id->get_error_code() ) {
            
$blog_id->add_data$signup );
            
$wpdb->update$wpdb->signups, array( 'active' => 1'activated' => $now ), array( 'activation_key' => $key ) );
        }
        return 
$blog_id;
    }

    
$wpdb->update$wpdb->signups, array('active' => 1'activated' => $now), array('activation_key' => $key) );
    
wpmu_welcome_notification($blog_id$user_id$password$signup->title$meta);
    
do_action('wpmu_activate_blog'$blog_id$user_id$password$signup->title$meta);

    return array(
'blog_id' => $blog_id'user_id' => $user_id'password' => $password'title' => $signup->title'meta' => $meta);
}
?>

Examples [ wp-snippets.com ]

Google Arama Sonuçlarý

Dahasý ...

Kullanýcý Tartýþmalarý [ wordpress.org ]

- Bulunamadý -

Yeni bir konu yaz ...

0 User Note(s)

Henüz yok. Ýlk sen ol!

Yeni Ekle ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics