bp_core_install_private_messaging()

Install database tables for the Messages component.

Description

Source

File: bp-core/admin/bp-core-admin-schema.php

307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
function bp_core_install_private_messaging() {
    $sql             = array();
    $charset_collate = $GLOBALS['wpdb']->get_charset_collate();
    $bp_prefix       = bp_core_get_table_prefix();
 
    $sql[] = "CREATE TABLE {$bp_prefix}bp_messages_messages (
                id bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
                thread_id bigint(20) NOT NULL,
                sender_id bigint(20) NOT NULL,
                subject varchar(200) NOT NULL,
                message longtext NOT NULL,
                date_sent datetime NOT NULL,
                KEY sender_id (sender_id),
                KEY thread_id (thread_id)
            ) {$charset_collate};";
 
    $sql[] = "CREATE TABLE {$bp_prefix}bp_messages_recipients (
                id bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
                user_id bigint(20) NOT NULL,
                thread_id bigint(20) NOT NULL,
                unread_count int(10) NOT NULL DEFAULT '0',
                sender_only tinyint(1) NOT NULL DEFAULT '0',
                is_deleted tinyint(1) NOT NULL DEFAULT '0',
                KEY user_id (user_id),
                KEY thread_id (thread_id),
                KEY is_deleted (is_deleted),
                KEY sender_only (sender_only),
                KEY unread_count (unread_count)
            ) {$charset_collate};";
 
    $sql[] = "CREATE TABLE {$bp_prefix}bp_messages_notices (
                id bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
                subject varchar(200) NOT NULL,
                message longtext NOT NULL,
                date_sent datetime NOT NULL,
                is_active tinyint(1) NOT NULL DEFAULT '0',
                KEY is_active (is_active)
            ) {$charset_collate};";
 
    $sql[] = "CREATE TABLE {$bp_prefix}bp_messages_meta (
                id bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
                message_id bigint(20) NOT NULL,
                meta_key varchar(255) DEFAULT NULL,
                meta_value longtext DEFAULT NULL,
                KEY message_id (message_id),
                KEY meta_key (meta_key(191))
            ) {$charset_collate};";
 
    dbDelta( $sql );
}

Changelog

Changelog
Version Description
BuddyPress 1.0.0 Introduced.

Questions?

We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.