Changeset 251 for trunk/bp-messages/bp-messages-classes.php
- Timestamp:
- 08/01/2008 04:03:12 AM (17 years ago)
- File:
-
- 1 edited
-
trunk/bp-messages/bp-messages-classes.php (modified) (27 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/bp-messages/bp-messages-classes.php
r249 r251 34 34 35 35 function populate( $id ) { 36 global $wpdb, $bp_messages_table_name_threads, $bp_messages_table_name_messages; 37 global $userdata; 38 39 $sql = $wpdb->prepare( "SELECT * FROM $bp_messages_table_name_threads WHERE id = %d", $id ); 36 global $wpdb, $bp, $userdata; 37 38 $sql = $wpdb->prepare( "SELECT * FROM " . $bp['messages']['table_name_threads'] . " WHERE id = %d", $id ); 40 39 $thread = $wpdb->get_row($sql); 41 40 … … 72 71 } 73 72 74 $sql = $wpdb->prepare( "SELECT * FROM $bp_messages_table_name_messagesWHERE id = %d", $this->last_message_id );73 $sql = $wpdb->prepare( "SELECT * FROM " . $bp['messages']['table_name_messages'] . " WHERE id = %d", $this->last_message_id ); 75 74 $last_message = $wpdb->get_row($sql); 76 75 … … 85 84 86 85 function get_messages() { 87 global $wpdb, $userdata; 88 global $bp_messages_table_name_messages; 89 90 $sql = "SELECT * FROM $bp_messages_table_name_messages WHERE id IN (" . $wpdb->escape($this->message_ids) . ")"; 86 global $wpdb, $userdata, $bp; 87 88 $sql = "SELECT * FROM " . $bp['messages']['table_name_messages'] . " WHERE id IN (" . $wpdb->escape($this->message_ids) . ")"; 91 89 92 90 if ( !$messages = $wpdb->get_results($sql) ) … … 97 95 98 96 function get_unread() { 99 global $wpdb, $bp _messages_table_name_recipients, $userdata;100 101 $sql = $wpdb->prepare( "SELECT unread_count FROM $bp_messages_table_name_recipientsWHERE thread_id = %d AND user_id = %d", $this->thread_id, $userdata->ID );97 global $wpdb, $bp, $userdata; 98 99 $sql = $wpdb->prepare( "SELECT unread_count FROM " . $bp['messages']['table_name_recipients'] . " WHERE thread_id = %d AND user_id = %d", $this->thread_id, $userdata->ID ); 102 100 $unread_count = $wpdb->get_var($sql); 103 101 … … 114 112 115 113 function get_recipients() { 116 global $wpdb, $userdata; 117 global $bp_messages_table_name_recipients; 118 119 $recipients = $wpdb->get_results( $wpdb->prepare( "SELECT user_id FROM $bp_messages_table_name_recipients WHERE thread_id = %d", $this->thread_id ) ); 114 global $wpdb, $userdata, $bp; 115 116 $recipients = $wpdb->get_results( $wpdb->prepare( "SELECT user_id FROM " . $bp['messages']['table_name_recipients'] . " WHERE thread_id = %d", $this->thread_id ) ); 120 117 121 118 for ( $i = 0; $i < count($recipients); $i++ ) { … … 132 129 133 130 function get_current_threads_for_user( $user_id, $box = 'inbox', $limit = null, $page = null ) { 134 global $wpdb, $userdata; 135 global $bp_messages_table_name_recipients; 136 global $bp_messages_table_name_threads; 131 global $wpdb, $userdata, $bp; 137 132 138 133 $exclude_sender = ''; … … 144 139 $pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) ); 145 140 146 $sql = $wpdb->prepare( "SELECT r.thread_id FROM $bp_messages_table_name_recipients r, $bp_messages_table_name_threadst WHERE t.id = r.thread_id AND r.user_id = %d$exclude_sender ORDER BY t.last_post_date DESC$pag_sql", $userdata->ID);141 $sql = $wpdb->prepare( "SELECT r.thread_id FROM " . $bp['messages']['table_name_recipients'] . " r, " . $bp['messages']['table_name_threads'] . " t WHERE t.id = r.thread_id AND r.user_id = %d$exclude_sender ORDER BY t.last_post_date DESC$pag_sql", $userdata->ID); 147 142 148 143 if ( !$thread_ids = $wpdb->get_results($sql) ) … … 162 157 163 158 function mark_as_read( $thread_id ) { 164 global $wpdb, $userdata; 165 global $bp_messages_table_name_recipients; 166 167 $sql = $wpdb->prepare( "UPDATE $bp_messages_table_name_recipients SET unread_count = 0 WHERE user_id = %d AND thread_id = %d", $userdata->ID, $thread_id ); 159 global $wpdb, $userdata, $bp; 160 161 $sql = $wpdb->prepare( "UPDATE " . $bp['messages']['table_name_recipients'] . " SET unread_count = 0 WHERE user_id = %d AND thread_id = %d", $userdata->ID, $thread_id ); 168 162 $wpdb->query($sql); 169 163 } 170 164 171 165 function mark_as_unread( $thread_id ) { 172 global $wpdb, $userdata; 173 global $bp_messages_table_name_recipients; 174 175 $sql = $wpdb->prepare( "UPDATE $bp_messages_table_name_recipients SET unread_count = 1 WHERE user_id = %d AND thread_id = %d", $userdata->ID, $thread_id ); 166 global $wpdb, $userdata, $bp; 167 168 $sql = $wpdb->prepare( "UPDATE " . $bp['messages']['table_name_recipients'] . " SET unread_count = 1 WHERE user_id = %d AND thread_id = %d", $userdata->ID, $thread_id ); 176 169 $wpdb->query($sql); 177 170 } 178 171 179 172 function get_total_threads_for_user( $user_id, $box = 'inbox' ) { 180 global $wpdb, $userdata; 181 global $bp_messages_table_name_recipients; 182 global $bp_messages_table_name_threads; 173 global $wpdb, $userdata, $bp; 183 174 184 175 $exclude_sender = ''; … … 186 177 $exclude_sender = ' AND sender_only != 1'; 187 178 188 return (int) $wpdb->get_var( $wpdb->prepare( "SELECT count(thread_id) FROM $bp_messages_table_name_recipientsWHERE user_id = %d$exclude_sender", $user_id ) );179 return (int) $wpdb->get_var( $wpdb->prepare( "SELECT count(thread_id) FROM " . $bp['messages']['table_name_recipients'] . " WHERE user_id = %d$exclude_sender", $user_id ) ); 189 180 } 190 181 191 182 function user_is_sender($thread_id) { 192 global $wpdb, $bp_messages_table_name_threads; 193 global $userdata; 194 195 $sender_ids = $wpdb->get_var( $wpdb->prepare( "SELECT sender_ids FROM $bp_messages_table_name_threads WHERE id = %d", $thread_id ) ); 183 global $wpdb, $bp, $userdata; 184 185 $sender_ids = $wpdb->get_var( $wpdb->prepare( "SELECT sender_ids FROM " . $bp['messages']['table_name_threads'] . " WHERE id = %d", $thread_id ) ); 196 186 197 187 if ( !$sender_ids ) … … 204 194 205 195 function get_last_sender($thread_id) { 206 global $wpdb, $bp_messages_table_name_threads; 207 global $userdata; 208 209 $sql = $wpdb->prepare("SELECT last_sender_id FROM $bp_messages_table_name_threads WHERE id = %d", $thread_id); 196 global $wpdb, $bp, $userdata; 197 198 $sql = $wpdb->prepare("SELECT last_sender_id FROM " . $bp['messages']['table_name_threads'] . " WHERE id = %d", $thread_id); 210 199 211 200 if ( !$sender_id = $wpdb->get_var($sql) ) … … 216 205 217 206 function delete($thread_id) { 218 global $wpdb, $userdata; 219 global $bp_messages_table_name_recipients, $bp_messages_table_name_messages, $bp_messages_table_name_threads; 220 221 $sql = $wpdb->prepare( "DELETE FROM $bp_messages_table_name_recipients WHERE thread_id = %d AND user_id = %d", $thread_id, $userdata->ID); 207 global $wpdb, $userdata, $bp; 208 209 $sql = $wpdb->prepare( "DELETE FROM " . $bp['messages']['table_name_recipients'] . " WHERE thread_id = %d AND user_id = %d", $thread_id, $userdata->ID); 222 210 223 211 if ( !$result = $wpdb->query($sql) ) … … 226 214 // Check to see if any more recipients remain for this message 227 215 // if not, then delete the message from the database. 228 $recipients = $wpdb->get_results( $wpdb->prepare( "SELECT id FROM $bp_messages_table_name_recipientsWHERE thread_id = %d", $thread_id ) );216 $recipients = $wpdb->get_results( $wpdb->prepare( "SELECT id FROM " . $bp['messages']['table_name_recipients'] . " WHERE thread_id = %d", $thread_id ) ); 229 217 230 218 if ( !$recipients ) { 231 219 // Get message ids: 232 $message_ids = $wpdb->get_var( $wpdb->prepare( "SELECT message_ids FROM $bp_messages_table_name_threadsWHERE id = %d", $thread_id ) );220 $message_ids = $wpdb->get_var( $wpdb->prepare( "SELECT message_ids FROM " . $bp['messages']['table_name_threads'] . " WHERE id = %d", $thread_id ) ); 233 221 $message_ids = unserialize($message_ids); 234 222 235 223 // delete thread: 236 $wpdb->query( $wpdb->prepare( "DELETE FROM $bp_messages_table_name_threadsWHERE id = %d", $thread_id ) );224 $wpdb->query( $wpdb->prepare( "DELETE FROM " . $bp['messages']['table_name_threads'] . " WHERE id = %d", $thread_id ) ); 237 225 238 226 // delete messages: 239 227 for ( $i = 0; $i < count($message_ids); $i++ ) { 240 $wpdb->query( $wpdb->prepare( "DELETE FROM $bp_messages_table_name_messagesWHERE id = %d", $message_ids[$i] ) );228 $wpdb->query( $wpdb->prepare( "DELETE FROM " . $bp['messages']['table_name_messages'] . " WHERE id = %d", $message_ids[$i] ) ); 241 229 } 242 230 } … … 247 235 248 236 function get_inbox_count() { 249 global $wpdb, $bp _messages_table_name_recipients, $userdata;250 251 $sql = $wpdb->prepare( "SELECT unread_count FROM $bp_messages_table_name_recipientsWHERE user_id = %d", $userdata->ID);237 global $wpdb, $bp, $userdata; 238 239 $sql = $wpdb->prepare( "SELECT unread_count FROM " . $bp['messages']['table_name_recipients'] . " WHERE user_id = %d", $userdata->ID); 252 240 253 241 if ( !$unread_counts = $wpdb->get_results($sql) ) … … 263 251 264 252 function check_access($id) { 265 global $wpdb, $bp _messages_table_name_recipients, $userdata;266 267 $sql = $wpdb->prepare("SELECT id FROM $bp_messages_table_name_recipientsWHERE thread_id = %d AND user_id = %d", $id, $userdata->ID );253 global $wpdb, $bp, $userdata; 254 255 $sql = $wpdb->prepare("SELECT id FROM " . $bp['messages']['table_name_recipients'] . " WHERE thread_id = %d AND user_id = %d", $id, $userdata->ID ); 268 256 $has_access = $wpdb->get_var($sql); 269 257 … … 310 298 311 299 function populate( $id ) { 312 global $wpdb, $bp _messages_table_name_messages;313 314 $sql = $wpdb->prepare("SELECT * FROM $bp_messages_table_name_messagesWHERE id = %d", $id);300 global $wpdb, $bp; 301 302 $sql = $wpdb->prepare("SELECT * FROM " . $bp['messages']['table_name_messages'] . " WHERE id = %d", $id); 315 303 316 304 if ( $message = $wpdb->get_row($sql) ) { … … 327 315 328 316 function send() { 329 global $wpdb, $userdata; 330 global $bp_messages_table_name_threads; 331 global $bp_messages_table_name_messages; 332 global $bp_messages_table_name_recipients; 317 global $wpdb, $userdata, $bp; 333 318 334 319 // First insert the message into the messages table 335 $sql = $wpdb->prepare( "INSERT INTO $bp_messages_table_name_messages( sender_id, subject, message, date_sent, message_order, sender_is_group ) VALUES ( %d, %s, %s, FROM_UNIXTIME(%d), %d, %d )", $userdata->ID, $this->subject, $this->message, $this->date_sent, $this->message_order, $this->sender_is_group );320 $sql = $wpdb->prepare( "INSERT INTO " . $bp['messages']['table_name_messages'] . " ( sender_id, subject, message, date_sent, message_order, sender_is_group ) VALUES ( %d, %s, %s, FROM_UNIXTIME(%d), %d, %d )", $userdata->ID, $this->subject, $this->message, $this->date_sent, $this->message_order, $this->sender_is_group ); 336 321 337 322 if ( $wpdb->query($sql) === false ) … … 341 326 if ( $this->thread_id ) { 342 327 // Select and update the current message ids for the thread. 343 $the_ids = $wpdb->get_row( $wpdb->prepare( "SELECT message_ids, sender_ids FROM $bp_messages_table_name_threadsWHERE id = %d", $this->thread_id ) );328 $the_ids = $wpdb->get_row( $wpdb->prepare( "SELECT message_ids, sender_ids FROM " . $bp['messages']['table_name_threads'] . " WHERE id = %d", $this->thread_id ) ); 344 329 $message_ids = unserialize($the_ids->message_ids); 345 330 $message_ids[] = $wpdb->insert_id; … … 354 339 $sender_ids = serialize($sender_ids); 355 340 356 $sql = $wpdb->prepare( "UPDATE $bp_messages_table_name_threadsSET message_ids = %s, sender_ids = %s, last_message_id = %d, last_sender_id = %d WHERE id = %d", $message_ids, $sender_ids, $wpdb->insert_id, $this->sender_id, $this->thread_id );341 $sql = $wpdb->prepare( "UPDATE " . $bp['messages']['table_name_threads'] . " SET message_ids = %s, sender_ids = %s, last_message_id = %d, last_sender_id = %d WHERE id = %d", $message_ids, $sender_ids, $wpdb->insert_id, $this->sender_id, $this->thread_id ); 357 342 358 343 if ( $wpdb->query($sql) === false ) … … 360 345 361 346 // Find the recipients and update the unread counts for each 362 $recipients = $wpdb->get_results( $wpdb->prepare( "SELECT user_id FROM $bp_messages_table_name_recipientsWHERE thread_id = %d", $this->thread_id ) );347 $recipients = $wpdb->get_results( $wpdb->prepare( "SELECT user_id FROM " . $bp['messages']['table_name_recipients'] . " WHERE thread_id = %d", $this->thread_id ) ); 363 348 364 349 for ( $i = 0; $i < count($recipients); $i++ ) { 365 350 if ( $recipients[$i]->user_id != $userdata->ID ) 366 $wpdb->query( $wpdb->prepare( "UPDATE $bp_messages_table_name_recipientsSET unread_count = unread_count + 1, sender_only = 0 WHERE thread_id = %d AND user_id = %d", $this->thread_id, $recipients[$i]->user_id ) );351 $wpdb->query( $wpdb->prepare( "UPDATE " . $bp['messages']['table_name_recipients'] . " SET unread_count = unread_count + 1, sender_only = 0 WHERE thread_id = %d AND user_id = %d", $this->thread_id, $recipients[$i]->user_id ) ); 367 352 } 368 353 } else { … … 372 357 $serialized_sender_id = serialize( array( (int)$userdata->ID ) ); 373 358 374 $sql = $wpdb->prepare( "INSERT INTO $bp_messages_table_name_threads( message_ids, sender_ids, first_post_date, last_post_date, last_message_id, last_sender_id ) VALUES ( %s, %s, FROM_UNIXTIME(%d), FROM_UNIXTIME(%d), %d, %d )", $serialized_message_id, $serialized_sender_id, $this->date_sent, $this->date_sent, $message_id, $this->sender_id );359 $sql = $wpdb->prepare( "INSERT INTO " . $bp['messages']['table_name_threads'] . " ( message_ids, sender_ids, first_post_date, last_post_date, last_message_id, last_sender_id ) VALUES ( %s, %s, FROM_UNIXTIME(%d), FROM_UNIXTIME(%d), %d, %d )", $serialized_message_id, $serialized_sender_id, $this->date_sent, $this->date_sent, $message_id, $this->sender_id ); 375 360 376 361 if ( $wpdb->query($sql) === false ) … … 381 366 // Add a new entry for each recipient; 382 367 for ( $i = 0; $i < count($this->recipients); $i++ ) { 383 $wpdb->query( $wpdb->prepare( "INSERT INTO $bp_messages_table_name_recipients( user_id, thread_id, unread_count ) VALUES ( %d, %d, 1 )", $this->recipients[$i], $this->thread_id ) );368 $wpdb->query( $wpdb->prepare( "INSERT INTO " . $bp['messages']['table_name_recipients'] . " ( user_id, thread_id, unread_count ) VALUES ( %d, %d, 1 )", $this->recipients[$i], $this->thread_id ) ); 384 369 } 385 370 386 371 if ( !in_array( $this->sender_id, $this->recipients ) ) { 387 372 // Finally, add a recipient entry for the sender, as replies need to go to this person too. 388 $wpdb->query( $wpdb->prepare( "INSERT INTO $bp_messages_table_name_recipients( user_id, thread_id, unread_count, sender_only ) VALUES ( %d, %d, 0, 1 )", $this->sender_id, $this->thread_id ) );373 $wpdb->query( $wpdb->prepare( "INSERT INTO " . $bp['messages']['table_name_recipients'] . " ( user_id, thread_id, unread_count, sender_only ) VALUES ( %d, %d, 0, 1 )", $this->sender_id, $this->thread_id ) ); 389 374 } 390 375 } … … 416 401 417 402 function get_last_sent_for_user( $thread_id ) { 418 global $wpdb, $userdata; 419 global $bp_messages_table_name_messages, $bp_messages_table_name_threads; 420 421 $message_ids = $wpdb->get_var( $wpdb->prepare( "SELECT message_ids FROM $bp_messages_table_name_threads WHERE id = %d", $thread_id ) ); 403 global $wpdb, $userdata, $bp; 404 405 $message_ids = $wpdb->get_var( $wpdb->prepare( "SELECT message_ids FROM " . $bp['messages']['table_name_threads'] . " WHERE id = %d", $thread_id ) ); 422 406 $message_ids = implode( ',', unserialize($message_ids)); 423 407 424 $sql = "SELECT id FROM $bp_messages_table_name_messagesWHERE sender_id = $userdata->ID AND id IN ($message_ids) ORDER BY date_sent DESC LIMIT 1";408 $sql = "SELECT id FROM " . $bp['messages']['table_name_messages'] . " WHERE sender_id = $userdata->ID AND id IN ($message_ids) ORDER BY date_sent DESC LIMIT 1"; 425 409 return $wpdb->get_var($sql); 426 410 } … … 443 427 444 428 function populate() { 445 global $wpdb, $bp _messages_table_name_notices;446 447 $notice = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $bp_messages_table_name_noticesWHERE id = %d", $this->id ) );429 global $wpdb, $bp; 430 431 $notice = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM " . $bp['messages']['table_name_notices'] . " WHERE id = %d", $this->id ) ); 448 432 449 433 if ( $notice ) { … … 456 440 457 441 function save() { 458 global $wpdb, $bp _messages_table_name_notices;442 global $wpdb, $bp; 459 443 460 444 if ( !$this->id ) { 461 $sql = $wpdb->prepare( "INSERT INTO $bp_messages_table_name_notices(subject, message, date_sent, is_active) VALUES (%s, %s, FROM_UNIXTIME(%d), %d)", $this->subject, $this->message, $this->date_sent, $this->is_active );445 $sql = $wpdb->prepare( "INSERT INTO " . $bp['messages']['table_name_notices'] . " (subject, message, date_sent, is_active) VALUES (%s, %s, FROM_UNIXTIME(%d), %d)", $this->subject, $this->message, $this->date_sent, $this->is_active ); 462 446 } else { 463 $sql = $wpdb->prepare( "UPDATE $bp_messages_table_name_noticesSET subject = %s, message = %s, date_sent = FROM_UNIXTIME(%d), is_active = %d WHERE id = %d", $this->subject, $this->message, $this->date_sent, $this->is_active, $this->id );447 $sql = $wpdb->prepare( "UPDATE " . $bp['messages']['table_name_notices'] . " SET subject = %s, message = %s, date_sent = FROM_UNIXTIME(%d), is_active = %d WHERE id = %d", $this->subject, $this->message, $this->date_sent, $this->is_active, $this->id ); 464 448 } 465 449 … … 471 455 472 456 // Now deactivate all notices apart from the new one. 473 $wpdb->query( $wpdb->prepare( "UPDATE $bp_messages_table_name_noticesSET is_active = 0 WHERE id != %d", $id ) );457 $wpdb->query( $wpdb->prepare( "UPDATE " . $bp['messages']['table_name_notices'] . " SET is_active = 0 WHERE id != %d", $id ) ); 474 458 475 459 update_usermeta( $userdata->ID, 'last_activity', date( 'Y-m-d H:i:s' ) ); … … 495 479 496 480 function delete() { 497 global $wpdb, $bp _messages_table_name_notices;498 499 $sql = $wpdb->prepare( "DELETE FROM $bp_messages_table_name_noticesWHERE id = %d", $this->id );481 global $wpdb, $bp; 482 483 $sql = $wpdb->prepare( "DELETE FROM " . $bp['messages']['table_name_notices'] . " WHERE id = %d", $this->id ); 500 484 501 485 if ( !$wpdb->query($sql) ) … … 508 492 509 493 function get_notices() { 510 global $wpdb, $bp _messages_table_name_notices;511 512 $notices = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $bp_messages_table_name_noticesORDER BY date_sent DESC" ) );494 global $wpdb, $bp; 495 496 $notices = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM " . $bp['messages']['table_name_notices'] . " ORDER BY date_sent DESC" ) ); 513 497 return $notices; 514 498 } 515 499 516 500 function get_total_notice_count() { 517 global $wpdb, $bp _messages_table_name_notices;518 519 $notice_count = $wpdb->get_var( $wpdb->prepare( "SELECT count(id) FROM $bp_messages_table_name_notices") );501 global $wpdb, $bp; 502 503 $notice_count = $wpdb->get_var( $wpdb->prepare( "SELECT count(id) FROM " . $bp['messages']['table_name_notices'] ) ); 520 504 return $notice_count; 521 505 } 522 506 523 507 function get_active() { 524 global $wpdb, $bp _messages_table_name_notices;525 526 $notice_id = $wpdb->get_var( $wpdb->prepare( "SELECT id FROM $bp_messages_table_name_noticesWHERE is_active = 1") );508 global $wpdb, $bp; 509 510 $notice_id = $wpdb->get_var( $wpdb->prepare( "SELECT id FROM " . $bp['messages']['table_name_notices'] . " WHERE is_active = 1") ); 527 511 return new BP_Messages_Notice($notice_id); 528 512 }
Note: See TracChangeset
for help on using the changeset viewer.