Пример #1
0
/**
 * Execute WordPress role creation for the various WordPress versions.
 *
 * @since 2.0.0
 */
function populate_roles()
{
    populate_roles_160();
    populate_roles_210();
    populate_roles_230();
    populate_roles_250();
    populate_roles_260();
    populate_roles_270();
    populate_roles_280();
    populate_roles_300();
}
Пример #2
0
/**
 * Execute changes made in WordPress 2.0.
 *
 * @since 2.0.0
 */
function upgrade_160()
{
    global $wpdb, $wp_current_db_version;
    populate_roles_160();
    $users = $wpdb->get_results("SELECT * FROM {$wpdb->users}");
    foreach ($users as $user) {
        if (!empty($user->user_firstname)) {
            update_user_meta($user->ID, 'first_name', $wpdb->escape($user->user_firstname));
        }
        if (!empty($user->user_lastname)) {
            update_user_meta($user->ID, 'last_name', $wpdb->escape($user->user_lastname));
        }
        if (!empty($user->user_nickname)) {
            update_user_meta($user->ID, 'nickname', $wpdb->escape($user->user_nickname));
        }
        if (!empty($user->user_level)) {
            update_user_meta($user->ID, $wpdb->prefix . 'user_level', $user->user_level);
        }
        if (!empty($user->user_icq)) {
            update_user_meta($user->ID, 'icq', $wpdb->escape($user->user_icq));
        }
        if (!empty($user->user_aim)) {
            update_user_meta($user->ID, 'aim', $wpdb->escape($user->user_aim));
        }
        if (!empty($user->user_msn)) {
            update_user_meta($user->ID, 'msn', $wpdb->escape($user->user_msn));
        }
        if (!empty($user->user_yim)) {
            update_user_meta($user->ID, 'yim', $wpdb->escape($user->user_icq));
        }
        if (!empty($user->user_description)) {
            update_user_meta($user->ID, 'description', $wpdb->escape($user->user_description));
        }
        if (isset($user->user_idmode)) {
            $idmode = $user->user_idmode;
            if ($idmode == 'nickname') {
                $id = $user->user_nickname;
            }
            if ($idmode == 'login') {
                $id = $user->user_login;
            }
            if ($idmode == 'firstname') {
                $id = $user->user_firstname;
            }
            if ($idmode == 'lastname') {
                $id = $user->user_lastname;
            }
            if ($idmode == 'namefl') {
                $id = $user->user_firstname . ' ' . $user->user_lastname;
            }
            if ($idmode == 'namelf') {
                $id = $user->user_lastname . ' ' . $user->user_firstname;
            }
            if (!$idmode) {
                $id = $user->user_nickname;
            }
            $wpdb->update($wpdb->users, array('display_name' => $id), array('ID' => $user->ID));
        }
        // FIXME: RESET_CAPS is temporary code to reset roles and caps if flag is set.
        $caps = get_user_meta($user->ID, $wpdb->prefix . 'capabilities');
        if (empty($caps) || defined('RESET_CAPS')) {
            $level = get_user_meta($user->ID, $wpdb->prefix . 'user_level', true);
            $role = translate_level_to_role($level);
            update_user_meta($user->ID, $wpdb->prefix . 'capabilities', array($role => true));
        }
    }
    $old_user_fields = array('user_firstname', 'user_lastname', 'user_icq', 'user_aim', 'user_msn', 'user_yim', 'user_idmode', 'user_ip', 'user_domain', 'user_browser', 'user_description', 'user_nickname', 'user_level');
    $wpdb->hide_errors();
    foreach ($old_user_fields as $old) {
        $wpdb->query("ALTER TABLE {$wpdb->users} DROP {$old}");
    }
    $wpdb->show_errors();
    // populate comment_count field of posts table
    $comments = $wpdb->get_results("SELECT comment_post_ID, COUNT(*) as c FROM {$wpdb->comments} WHERE comment_approved = '1' GROUP BY comment_post_ID");
    if (is_array($comments)) {
        foreach ($comments as $comment) {
            $wpdb->update($wpdb->posts, array('comment_count' => $comment->c), array('ID' => $comment->comment_post_ID));
        }
    }
    // Some alpha versions used a post status of object instead of attachment and put
    // the mime type in post_type instead of post_mime_type.
    if ($wp_current_db_version > 2541 && $wp_current_db_version <= 3091) {
        $objects = $wpdb->get_results("SELECT ID, post_type FROM {$wpdb->posts} WHERE post_status = 'object'");
        foreach ($objects as $object) {
            $wpdb->update($wpdb->posts, array('post_status' => 'attachment', 'post_mime_type' => $object->post_type, 'post_type' => ''), array('ID' => $object->ID));
            $meta = get_post_meta($object->ID, 'imagedata', true);
            if (!empty($meta['file'])) {
                update_attached_file($object->ID, $meta['file']);
            }
        }
    }
}
Пример #3
0
/**
 * Execute changes made in WordPress 2.0.
 *
 * @since 2.0.0
 */
function upgrade_160_helper($users)
{
    global $wpdb;
    populate_roles_160();
    foreach ($users as $user_details) {
        $user = $wpdb->get_results("SELECT * FROM {$wpdb->users} WHERE ID = '" . $user_details['user_id'] . "'");
        if (!empty($user->user_firstname)) {
            update_usermeta($user->ID, 'first_name', $wpdb->escape($user->user_firstname));
        }
        if (!empty($user->user_lastname)) {
            update_usermeta($user->ID, 'last_name', $wpdb->escape($user->user_lastname));
        }
        if (!empty($user->user_nickname)) {
            update_usermeta($user->ID, 'nickname', $wpdb->escape($user->user_nickname));
        }
        if (!empty($user->user_level)) {
            update_usermeta($user->ID, $wpdb->prefix . 'user_level', $user->user_level);
        }
        if (!empty($user->user_icq)) {
            update_usermeta($user->ID, 'icq', $wpdb->escape($user->user_icq));
        }
        if (!empty($user->user_aim)) {
            update_usermeta($user->ID, 'aim', $wpdb->escape($user->user_aim));
        }
        if (!empty($user->user_msn)) {
            update_usermeta($user->ID, 'msn', $wpdb->escape($user->user_msn));
        }
        if (!empty($user->user_yim)) {
            update_usermeta($user->ID, 'yim', $wpdb->escape($user->user_icq));
        }
        if (!empty($user->user_description)) {
            update_usermeta($user->ID, 'description', $wpdb->escape($user->user_description));
        }
        if (isset($user->user_idmode)) {
            $idmode = $user->user_idmode;
            if ($idmode == 'nickname') {
                $id = $user->user_nickname;
            }
            if ($idmode == 'login') {
                $id = $user->user_login;
            }
            if ($idmode == 'firstname') {
                $id = $user->user_firstname;
            }
            if ($idmode == 'lastname') {
                $id = $user->user_lastname;
            }
            if ($idmode == 'namefl') {
                $id = $user->user_firstname . ' ' . $user->user_lastname;
            }
            if ($idmode == 'namelf') {
                $id = $user->user_lastname . ' ' . $user->user_firstname;
            }
            if (!$idmode) {
                $id = $user->user_nickname;
            }
            $wpdb->update($wpdb->users, array('display_name' => $id), array('ID' => $user->ID));
        }
        // FIXME: RESET_CAPS is temporary code to reset roles and caps if flag is set.
        $caps = get_usermeta($user->ID, $wpdb->prefix . 'capabilities');
        if (empty($caps) || defined('RESET_CAPS')) {
            $level = get_usermeta($user->ID, $wpdb->prefix . 'user_level');
            $role = translate_level_to_role($level);
            update_usermeta($user->ID, $wpdb->prefix . 'capabilities', array($role => true));
        }
    }
}
Пример #4
0
function populate_roles()
{
    populate_roles_160();
    populate_roles_210();
    populate_roles_230();
}
function populate_roles()
{
    populate_roles_160();
}
function upgrade_160()
{
    global $wpdb, $table_prefix, $wp_current_db_version;
    populate_roles_160();
    $users = $wpdb->get_results("SELECT * FROM {$wpdb->users}");
    foreach ($users as $user) {
        if (!empty($user->user_firstname)) {
            update_usermeta($user->ID, 'first_name', $wpdb->escape($user->user_firstname));
        }
        if (!empty($user->user_lastname)) {
            update_usermeta($user->ID, 'last_name', $wpdb->escape($user->user_lastname));
        }
        if (!empty($user->user_nickname)) {
            update_usermeta($user->ID, 'nickname', $wpdb->escape($user->user_nickname));
        }
        if (!empty($user->user_level)) {
            update_usermeta($user->ID, $table_prefix . 'user_level', $user->user_level);
        }
        if (!empty($user->user_icq)) {
            update_usermeta($user->ID, 'icq', $wpdb->escape($user->user_icq));
        }
        if (!empty($user->user_aim)) {
            update_usermeta($user->ID, 'aim', $wpdb->escape($user->user_aim));
        }
        if (!empty($user->user_msn)) {
            update_usermeta($user->ID, 'msn', $wpdb->escape($user->user_msn));
        }
        if (!empty($user->user_yim)) {
            update_usermeta($user->ID, 'yim', $wpdb->escape($user->user_icq));
        }
        if (!empty($user->user_description)) {
            update_usermeta($user->ID, 'description', $wpdb->escape($user->user_description));
        }
        if (isset($user->user_idmode)) {
            $idmode = $user->user_idmode;
            if ($idmode == 'nickname') {
                $id = $user->user_nickname;
            }
            if ($idmode == 'login') {
                $id = $user->user_login;
            }
            if ($idmode == 'firstname') {
                $id = $user->user_firstname;
            }
            if ($idmode == 'lastname') {
                $id = $user->user_lastname;
            }
            if ($idmode == 'namefl') {
                $id = $user->user_firstname . ' ' . $user->user_lastname;
            }
            if ($idmode == 'namelf') {
                $id = $user->user_lastname . ' ' . $user->user_firstname;
            }
            if (!$idmode) {
                $id = $user->user_nickname;
            }
            $id = $wpdb->escape($id);
            $wpdb->query("UPDATE {$wpdb->users} SET display_name = '{$id}' WHERE ID = '{$user->ID}'");
        }
        // FIXME: RESET_CAPS is temporary code to reset roles and caps if flag is set.
        $caps = get_usermeta($user->ID, $table_prefix . 'capabilities');
        if (empty($caps) || defined('RESET_CAPS')) {
            $level = get_usermeta($user->ID, $table_prefix . 'user_level');
            $role = translate_level_to_role($level);
            update_usermeta($user->ID, $table_prefix . 'capabilities', array($role => true));
        }
    }
    $old_user_fields = array('user_firstname', 'user_lastname', 'user_icq', 'user_aim', 'user_msn', 'user_yim', 'user_idmode', 'user_ip', 'user_domain', 'user_browser', 'user_description', 'user_nickname', 'user_level');
    $wpdb->hide_errors();
    foreach ($old_user_fields as $old) {
        $wpdb->query("ALTER TABLE {$wpdb->users} DROP {$old}");
    }
    $wpdb->show_errors();
    if (0 == $wpdb->get_var("SELECT SUM(category_count) FROM {$wpdb->categories}")) {
        // Create counts
        $categories = $wpdb->get_col("SELECT cat_ID FROM {$wpdb->categories}");
        foreach ($categories as $cat_id) {
            $count = $wpdb->get_var("SELECT COUNT(*) FROM {$wpdb->post2cat}, {$wpdb->posts} WHERE {$wpdb->posts}.ID={$wpdb->post2cat}.post_id AND post_status='publish' AND category_id = '{$cat_id}'");
            $wpdb->query("UPDATE {$wpdb->categories} SET category_count = '{$count}' WHERE cat_ID = '{$cat_id}'");
        }
    }
    // populate comment_count field of posts table
    $comments = $wpdb->get_results("SELECT comment_post_ID, COUNT(*) as c FROM {$wpdb->comments} WHERE comment_approved = '1' GROUP BY comment_post_ID");
    if (is_array($comments)) {
        foreach ($comments as $comment) {
            $wpdb->query("UPDATE {$wpdb->posts} SET comment_count = {$comment->c} WHERE ID = '{$comment->comment_post_ID}'");
        }
    }
    // Some alpha versions used a post status of object instead of attachment and put
    // the mime type in post_type instead of post_mime_type.
    if ($wp_current_db_version > 2541 && $wp_current_db_version <= 3091) {
        $objects = $wpdb->get_results("SELECT ID, post_type FROM {$wpdb->posts} WHERE post_status = 'object'");
        foreach ($objects as $object) {
            $wpdb->query("UPDATE {$wpdb->posts} SET post_status = 'attachment',\n\t\t\tpost_mime_type = '{$object->post_type}',\n\t\t\tpost_type = ''\n\t\t\tWHERE ID = {$object->ID}");
            $meta = get_post_meta($object->ID, 'imagedata', true);
            if (!empty($meta['file'])) {
                add_post_meta($object->ID, '_wp_attached_file', $meta['file']);
            }
        }
    }
}