get_var( "SHOW TABLES LIKE '$table_name'" ) == $table_name ) return; // Exists already $charset_collate = aag_charset_collate(); $wpdb->query( "CREATE TABLE IF NOT EXISTS $table_name ( group_id bigint(20) unsigned NOT NULL auto_increment, group_name varchar(200) NOT NULL default '', group_description longtext NOT NULL, group_status varchar(20) NOT NULL default 'open', founder_id bigint(20) unsigned NOT NULL, founded datetime NOT NULL default '0000-00-00 00:00:00', member_count bigint(20) NOT NULL, message_count bigint(20) NOT NULL, PRIMARY KEY (group_id)) $charset_collate;" ); } function aag_create_table_group_members() { global $wpdb; $table_name = aag_db_table( "group_members" ); if ( $wpdb->get_var( "SHOW TABLES LIKE '$table_name'" ) == $table_name ) return; // Exists already $charset_collate = aag_charset_collate(); $wpdb->query( "CREATE TABLE IF NOT EXISTS $table_name ( membership_id bigint(20) unsigned NOT NULL auto_increment, group_id bigint(20) unsigned NOT NULL, user_id bigint(20) unsigned NOT NULL, member_status varchar(20) NOT NULL default 'member', joined datetime NOT NULL default '0000-00-00 00:00:00', message_count bigint(20) NOT NULL, PRIMARY KEY (membership_id)) $charset_collate;" ); } function aag_create_table_group_messages() { global $wpdb; $table_name = aag_db_table( "group_messages" ); if ( $wpdb->get_var( "SHOW TABLES LIKE '$table_name'" ) == $table_name ) return; // Exists already $charset_collate = aag_charset_collate(); $wpdb->query( "CREATE TABLE IF NOT EXISTS $table_name ( message_id bigint(20) unsigned NOT NULL auto_increment, group_id bigint(20) unsigned NOT NULL, user_id bigint(20) unsigned NOT NULL, message_status varchar(20) NOT NULL default 'normal', message_content longtext NOT NULL, reply_to bigint(20) unsigned NOT NULL, posted datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (message_id)) $charset_collate;" ); } function aag_charset_collate() { global $wpdb; $charset_collate = ''; if ( $wpdb->has_cap( 'collation' ) ) { if ( ! empty( $wpdb->charset ) ) $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset"; if ( ! empty( $wpdb->collate ) ) $charset_collate .= " COLLATE $wpdb->collate"; } return $charset_collate; } function aag_install_defaults() { global $wpdb; $group_id = aag_insert_group( array( 'group_name' => get_bloginfo( 'name' ), 'group_description' => __( 'This is your first group created by Acts As Group plugin.', 'aag' ) ) ); $users_ids = $wpdb->get_col( "SELECT ID FROM $wpdb->users" ); foreach ( $users_ids as $user_id ) { aag_join_group( $group_id, $user_id ); } } ?>