Changeset 9182
- Timestamp:
- 11/26/2014 06:08:03 AM (11 years ago)
- Location:
- trunk/src
- Files:
-
- 6 edited
-
bp-core/admin/bp-core-schema.php (modified) (1 diff)
-
bp-core/bp-core-update.php (modified) (2 diffs)
-
bp-loader.php (modified) (1 diff)
-
bp-messages/bp-messages-cache.php (modified) (1 diff)
-
bp-messages/bp-messages-functions.php (modified) (1 diff)
-
bp-messages/bp-messages-loader.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bp-core/admin/bp-core-schema.php
r9168 r9182 305 305 ) {$charset_collate};"; 306 306 307 $sql[] = "CREATE TABLE {$bp_prefix}bp_messages_meta ( 308 id bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY, 309 message_id bigint(20) NOT NULL, 310 meta_key varchar(255) DEFAULT NULL, 311 meta_value longtext DEFAULT NULL, 312 KEY message_id (message_id), 313 KEY meta_key (meta_key) 314 ) {$charset_collate};"; 315 307 316 dbDelta( $sql ); 308 317 } -
trunk/src/bp-core/bp-core-update.php
r8566 r9182 241 241 if ( $raw_db_version < 8311 ) { 242 242 bp_update_to_2_0_1(); 243 } 244 245 // 2.2 246 if ( $raw_db_version < 9181 ) { 247 bp_update_to_2_2(); 243 248 } 244 249 } … … 391 396 392 397 /** 398 * 2.2.0 update routine. 399 * 400 * - Add messages meta table 401 * 402 * @since BuddyPress (2.2.0) 403 */ 404 function bp_update_to_2_2() { 405 if ( bp_is_active( 'messages' ) ) { 406 bp_core_install_private_messaging(); 407 } 408 } 409 410 /** 393 411 * Redirect user to BP's What's New page on first page load after activation. 394 412 * -
trunk/src/bp-loader.php
r9181 r9182 302 302 303 303 $this->version = '2.2-alpha'; 304 $this->db_version = 91 67;304 $this->db_version = 9181; 305 305 306 306 /** Loading ***********************************************************/ -
trunk/src/bp-messages/bp-messages-cache.php
r8479 r9182 12 12 // Exit if accessed directly 13 13 if ( !defined( 'ABSPATH' ) ) exit; 14 15 /** 16 * Slurp up metadata for a set of messages. 17 * 18 * It grabs all message meta associated with all of the messages passed in 19 * $message_ids and adds it to WP cache. This improves efficiency when using 20 * message meta within a loop context. 21 * 22 * @since BuddyPress (2.2.0) 23 * 24 * @param int|str|array $message_ids Accepts a single message_id, or a 25 * comma-separated list or array of message ids. 26 */ 27 function bp_messages_update_meta_cache( $message_ids = false ) { 28 bp_update_meta_cache( array( 29 'object_ids' => $message_ids, 30 'object_type' => buddypress()->messages->id, 31 'cache_group' => 'message_meta', 32 'object_column' => 'message_id', 33 'meta_table' => buddypress()->messages->table_name_meta, 34 'cache_key_prefix' => 'bp_messages_meta' 35 ) ); 36 } 14 37 15 38 // List actions to clear super cached pages on, if super cache is installed -
trunk/src/bp-messages/bp-messages-functions.php
r8619 r9182 336 336 return BP_Messages_Thread::is_valid( $thread_id ); 337 337 } 338 339 /** Messages Meta *******************************************************/ 340 341 /** 342 * Delete metadata for a message. 343 * 344 * If $meta_key is false, this will delete all meta for the message ID. 345 * 346 * @since BuddyPress (2.2.0) 347 * 348 * @see delete_metadata() for full documentation excluding $meta_type variable. 349 */ 350 function bp_messages_delete_meta( $message_id, $meta_key = false, $meta_value = false, $delete_all = false ) { 351 // Legacy - if no meta_key is passed, delete all for the item 352 if ( empty( $meta_key ) ) { 353 global $wpdb; 354 355 $keys = $wpdb->get_col( $wpdb->prepare( "SELECT meta_key FROM {$wpdb->messagemeta} WHERE message_id = %d", $message_id ) ); 356 357 // With no meta_key, ignore $delete_all 358 $delete_all = false; 359 } else { 360 $keys = array( $meta_key ); 361 } 362 363 // no keys, so stop now! 364 if ( empty( $keys ) ) { 365 return false; 366 } 367 368 add_filter( 'query', 'bp_filter_metaid_column_name' ); 369 370 foreach ( $keys as $key ) { 371 $retval = delete_metadata( 'message', $message_id, $key, $meta_value, $delete_all ); 372 } 373 374 remove_filter( 'query', 'bp_filter_metaid_column_name' ); 375 376 return $retval; 377 } 378 379 /** 380 * Get a piece of message metadata. 381 * 382 * @since BuddyPress (2.2.0) 383 * 384 * @see get_metadata() for full documentation excluding $meta_type variable. 385 */ 386 function bp_messages_get_meta( $message_id, $meta_key = '', $single = true ) { 387 add_filter( 'query', 'bp_filter_metaid_column_name' ); 388 $retval = get_metadata( 'message', $message_id, $meta_key, $single ); 389 remove_filter( 'query', 'bp_filter_metaid_column_name' ); 390 391 return $retval; 392 } 393 394 /** 395 * Update a piece of message metadata. 396 * 397 * @since BuddyPress (2.2.0) 398 * 399 * @see update_metadata() for full documentation excluding $meta_type variable. 400 */ 401 function bp_messages_update_meta( $message_id, $meta_key, $meta_value, $prev_value = '' ) { 402 add_filter( 'query', 'bp_filter_metaid_column_name' ); 403 $retval = update_metadata( 'message', $message_id, $meta_key, $meta_value, $prev_value ); 404 remove_filter( 'query', 'bp_filter_metaid_column_name' ); 405 406 return $retval; 407 } 408 409 /** 410 * Add a piece of message metadata. 411 * 412 * @since BuddyPress (2.2.0) 413 * 414 * @see add_metadata() for full documentation excluding $meta_type variable. 415 */ 416 function bp_message_add_meta( $message_id, $meta_key, $meta_value, $unique = false ) { 417 add_filter( 'query', 'bp_filter_metaid_column_name' ); 418 $retval = add_metadata( 'message', $message_id, $meta_key, $meta_value, $unique ); 419 remove_filter( 'query', 'bp_filter_metaid_column_name' ); 420 421 return $retval; 422 } -
trunk/src/bp-messages/bp-messages-loader.php
r8481 r9182 91 91 'table_name_notices' => $bp->table_prefix . 'bp_messages_notices', 92 92 'table_name_messages' => $bp->table_prefix . 'bp_messages_messages', 93 'table_name_recipients' => $bp->table_prefix . 'bp_messages_recipients' 94 ); 93 'table_name_recipients' => $bp->table_prefix . 'bp_messages_recipients', 94 'table_name_meta' => $bp->table_prefix . 'bp_messages_meta', 95 ); 96 97 // Metadata tables for messaging component 98 $meta_tables = array( 99 'message' => $bp->table_prefix . 'bp_messages_meta', 100 ); 101 102 $this->autocomplete_all = defined( 'BP_MESSAGES_AUTOCOMPLETE_ALL' ); 95 103 96 104 // All globals for messaging component. 97 105 // Note that global_tables is included in this array. 98 $globals =array(106 parent::setup_globals( array( 99 107 'slug' => BP_MESSAGES_SLUG, 100 108 'has_directory' => false, 101 109 'notification_callback' => 'messages_format_notifications', 102 110 'search_string' => __( 'Search Messages...', 'buddypress' ), 103 'global_tables' => $global_tables 104 ); 105 106 $this->autocomplete_all = defined( 'BP_MESSAGES_AUTOCOMPLETE_ALL' ); 107 108 parent::setup_globals( $globals ); 111 'global_tables' => $global_tables, 112 'meta_tables' => $meta_tables 113 ) ); 109 114 } 110 115
Note: See TracChangeset
for help on using the changeset viewer.