示例#1
0
function wp_emember_upgrader()
{
    global $wpdb;
    $wpememmeta = new WPEmemberMeta();
    $installed_ver = get_option("wp_eMember_db_version");
    if ($installed_ver != $wpememmeta->get_db_version()) {
        $sql = "CREATE TABLE " . $wpememmeta->get_table('member') . " (\n\t          `member_id` int(12) NOT NULL PRIMARY KEY AUTO_INCREMENT,\n\t          `user_name` varchar(128) NOT NULL,\n\t          `first_name` varchar(32) DEFAULT '',\n\t          `last_name` varchar(32) DEFAULT '',\n\t          `password` varchar(64) NOT NULL,\n\t          `member_since` date NOT NULL DEFAULT '0000-00-00',\n\t          `membership_level` smallint(6) NOT NULL,\n\t          `more_membership_levels` VARCHAR(100) DEFAULT NULL,\n\t          `account_state` enum('active','inactive','expired','pending','unsubscribed') DEFAULT 'pending',\n\t          `last_accessed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',\n\t          `last_accessed_from_ip` varchar(64) NOT NULL,\n\t          `email` varchar(64) DEFAULT NULL,\n\t          `phone` varchar(64) DEFAULT NULL,\n\t          `address_street` varchar(255) DEFAULT NULL,\n\t          `address_city` varchar(255) DEFAULT NULL,\n\t          `address_state` varchar(255) DEFAULT NULL,\n\t          `address_zipcode` varchar(255) DEFAULT NULL,\n              `home_page` varchar(255) DEFAULT NULL,\n\t          `country` varchar(255) DEFAULT NULL,\n\t          `gender` enum('male','female','not specified') DEFAULT 'not specified',\n\t          `referrer` varchar(255) DEFAULT NULL,\n\t          `extra_info` text,\n\t          `reg_code` varchar(255) DEFAULT NULL,\n\t          `subscription_starts` date DEFAULT NULL,\n\t          `initial_membership_level` smallint(6) DEFAULT NULL,\n\t          `txn_id` varchar(64) DEFAULT '',\n\t          `subscr_id` varchar(32) DEFAULT '',\n\t          `company_name` varchar(100) DEFAULT '',\n              `notes` text DEFAULT NULL,\n\t          `flags` int(11) DEFAULT '0',\n\t          `profile_image` varchar(255) DEFAULT '',\n\t          `expiry_1st` date NOT NULL DEFAULT '0000-00-00',\n\t          `expiry_2nd` date NOT NULL DEFAULT '0000-00-00',\n\t          `title` enum('Mr','Mrs','Miss','Ms','Dr','not specified') DEFAULT 'not specified',\n              `ip_to_country` varchar(255) DEFAULT NULL\n\t      )ENGINE=MyISAM DEFAULT CHARSET=utf8;";
        eMember_custom_dbDelta($sql, true, $wpememmeta->get_table('member'));
        //dbDelta($sql);
        $sql = "CREATE TABLE " . $wpememmeta->get_table('session') . " (\n\t         id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,\n\t         session_id VARCHAR( 100 ) NOT NULL ,\n\t         user_id INT NOT NULL ,\n\t         logged_in_from_ip varchar(15) NOT NULL,\n\t         last_impression TIMESTAMP NOT NULL ,\n             login_impression TIMESTAMP NOT NULL ,\n             user_name VARCHAR( 128 ) NOT NULL ,\n\t         UNIQUE (session_id)\n\t      )ENGINE=MyISAM DEFAULT CHARSET=utf8;";
        eMember_custom_dbDelta($sql, true, $wpememmeta->get_table('session'));
        //dbDelta($sql);
        $sql = "CREATE TABLE IF NOT EXISTS " . $wpememmeta->get_table('member_meta') . " (\n\t         umeta_id  bigint(20) unsigned NOT NULL  PRIMARY KEY AUTO_INCREMENT,\n\t  \t\t user_id  bigint(20) unsigned NOT NULL DEFAULT '0',\n\t         meta_key  varchar(255) DEFAULT NULL,\n\t         meta_value longtext,\n\t         KEY user_id (user_id),\n\t         KEY meta_key (meta_key)\n\t      )ENGINE=MyISAM DEFAULT CHARSET=utf8;";
        eMember_custom_dbDelta($sql, true, $wpememmeta->get_table('member_meta'));
        //dbDelta($sql);
        $sql = "CREATE TABLE " . $wpememmeta->get_table('membership_level') . " (\n\t         id int(11) NOT NULL  PRIMARY KEY AUTO_INCREMENT,\n\t         alias varchar(127) NOT NULL,\n\t         role varchar(255) NOT NULL DEFAULT 'subscriber',\n\t         permissions tinyint(4) NOT NULL DEFAULT '0',\n\t         subscription_period int(11) NOT NULL DEFAULT '-1',\n\t         subscription_unit   VARCHAR(20)        NULL,\n\t         loginredirect_page  text NULL,\n\t         category_list longtext,\n\t         page_list longtext,\n\t         post_list longtext,\n\t         comment_list longtext,\n\t\t\t attachment_list longtext,\n\t\t\t custom_post_list longtext,\n\t         disable_bookmark_list longtext,\n\t         options longtext,\n\t         campaign_name varchar(60) NOT NULL DEFAULT ''\n\t      ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;";
        eMember_custom_dbDelta($sql, true, $wpememmeta->get_table('membership_level'));
        //dbDelta($sql);
        $sql = "CREATE TABLE " . $wpememmeta->get_table('openid') . " (\n              `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,\n              `emember_id` INT NOT NULL ,\n              `openuid` INT NOT NULL ,\n              `type` VARCHAR( 20 ) NOT NULL\n              ) ;";
        eMember_custom_dbDelta($sql, true, $wpememmeta->get_table('openid'));
        //dbDelta($sql);
        //file_put_contents(WP_PLUGIN_DIR .'/' . WP_EMEMBER_FOLDER .  '/temp.txt', serialize($wpdb));
        $sql = "SELECT * FROM " . $wpememmeta->get_table('membership_level') . " WHERE id = 1";
        $results = $wpdb->get_row($sql);
        if (is_null($results)) {
            $sql = "INSERT INTO  " . $wpememmeta->get_table('membership_level') . "  (\n\t            id ,\n\t            alias ,\n\t            role ,\n\t            permissions ,\n\t            subscription_period ,\n\t            subscription_unit,\n\t            category_list ,\n\t            page_list ,\n\t            post_list ,\n\t            comment_list,\n\t\t\t\tattachment_list,\n\t\t\t\tcustom_post_list,\n\t            disable_bookmark_list,\n\t            options\n\t         )VALUES (NULL , 'Content Protection', 'administrator', '63', '0', NULL,NULL,NULL,NULL, NULL , NULL , NULL,NULL,NULL\n\t         );";
            $wpdb->query($sql);
        }
        $sql = "CREATE TABLE " . $wpememmeta->get_table('uploads') . " (\n              `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,\n              `filename` VARCHAR( 255 ) NOT NULL ,\n              `guid` VARCHAR( 255 ) NOT NULL,\n              `mime_type` VARCHAR( 100 ) NOT NULL,\n              `upload_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',\n              `meta` text NULL,\n              `count` int DEFAULT 0\n              )ENGINE=MyISAM DEFAULT CHARSET=utf8;";
        eMember_custom_dbDelta($sql, true, $wpememmeta->get_table('uploads'));
        // Add default options
        update_option("wp_eMember_db_version", $wpememmeta->get_db_version());
    }
}