Changeset 419
- Timestamp:
- 2011-02-27 09:54:49 (1 year ago)
- Files:
-
- trunk/classes/pages/Messenger.php (modified) (3 diffs)
- trunk/db/mysql.sql (modified) (1 diff)
- trunk/db/postgresql.sql (modified) (1 diff)
- trunk/db/sqlite.sql (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/classes/pages/Messenger.php
r417 r419 42 42 // get bans 43 43 require_once('includes/config/bans.php'); 44 // flush deleted messages45 $q = $C->prepare('DELETE FROM ' . $SETTINGS['dbtableprefix'] . 'messages WHERE messagesenderflag=:zero1 AND messagereceipientflag=:zero2');46 $q->bindValue(':zero1', 0, PDO::PARAM_INT);47 $q->bindValue(':zero2', 0, PDO::PARAM_INT);48 $q->execute();49 $q = NULL;50 44 // container 51 45 $div = $this->html->body->addChild('div'); … … 76 70 if (isset($INPUT['method']) && ($INPUT['method'] == 'receipient' || $INPUT['method'] == 'sender')) { 77 71 if (isset($INPUT['delete']) && is_array($INPUT['delete']) && count($INPUT['delete']) > 0) { 72 $msg_ids = Array(); 78 73 foreach ($INPUT['delete'] as $key=>$val) { 79 74 if ($val == 1) { 80 // check if this user is even allowed to perform this action 81 $q = $C->prepare('SELECT message' . $INPUT['method'] . ' FROM ' . $SETTINGS['dbtableprefix'] . 'messages WHERE messageid = :id'); 82 $q->bindParam(':id', $key, PDO::PARAM_INT); 83 $q->execute(); 84 $member = $q->fetchColumn(); 85 $q = NULL; 86 if ($member == $_SESSION['memberid']) { 87 // set flag to 'deleted' 88 $q = $C->prepare('UPDATE ' . $SETTINGS['dbtableprefix'] . 'messages SET message' . $INPUT['method'] . 'flag = :zero WHERE messageid = :id'); 89 $q->bindValue(':zero', 0, PDO::PARAM_INT); 90 $q->bindParam(':id', $key, PDO::PARAM_INT); 91 $q->execute(); 92 } 93 } 94 } 75 $msg_ids[] = $key; 76 } 77 } 78 $q = $C->prepare('UPDATE ' . $SETTINGS['dbtableprefix'] . 'messages SET message' . $INPUT['method'] . 'flag = :zero WHERE messageid IN (' . join(', ', $msg_ids) . ') AND message' . $INPUT['method'] . ' = :memberid'); 79 $q->bindValue(':zero', 0, PDO::PARAM_INT); 80 $q->bindParam(':memberid', $key, PDO::PARAM_INT); 81 $q->execute(); 95 82 } 96 83 $div->addChild('div', $LANG['message_deleted']); … … 509 496 break; 510 497 } 498 if ($INPUT['action'] == 'delete' || $INPUT['action'] == 'batchdelete') { 499 // flush deleted messages 500 $q = $C->prepare('DELETE FROM ' . $SETTINGS['dbtableprefix'] . 'messages WHERE messagesenderflag=:zero1 AND messagereceipientflag=:zero2'); 501 $q->bindValue(':zero1', 0, PDO::PARAM_INT); 502 $q->bindValue(':zero2', 0, PDO::PARAM_INT); 503 $q->execute(); 504 $q = NULL; 505 } 511 506 } /* constructor */ 512 507 trunk/db/mysql.sql
r415 r419 164 164 CREATE INDEX idx_messagesender_messagetime ON %prefix%messages (messagesender ASC, messagetime DESC); 165 165 CREATE INDEX idx_messagereceipient_messagetime ON %prefix%messages (messagereceipient ASC, messagetime DESC); 166 CREATE INDEX idx_messages_receipient_flag_time ON %prefix%messages (messagereceipient ASC, messagereceipientflag DESC, messagetime DESC); 167 CREATE INDEX idx_messages_sender_flag_time ON %prefix%messages (messagesender ASC, messagesenderflag DESC, messagetime DESC); 166 168 CREATE INDEX idx_moderators_forum ON %prefix%moderators (forum ASC); 167 169 CREATE INDEX idx_moderators_member ON %prefix%moderators (member ASC); trunk/db/postgresql.sql
r415 r419 164 164 CREATE INDEX idx_messagesender_messagetime ON %prefix%messages (messagesender ASC, messagetime DESC); 165 165 CREATE INDEX idx_messagereceipient_messagetime ON %prefix%messages (messagereceipient ASC, messagetime DESC); 166 CREATE INDEX idx_messages_receipient_flag_time ON %prefix%messages (messagereceipient ASC, messagereceipientflag DESC, messagetime DESC); 167 CREATE INDEX idx_messages_sender_flag_time ON %prefix%messages (messagesender ASC, messagesenderflag DESC, messagetime DESC); 166 168 CREATE INDEX idx_moderators_forum ON %prefix%moderators (forum ASC); 167 169 CREATE INDEX idx_moderators_member ON %prefix%moderators (member ASC); trunk/db/sqlite.sql
r415 r419 164 164 CREATE INDEX idx_messagesender_messagetime ON %prefix%messages (messagesender ASC, messagetime DESC); 165 165 CREATE INDEX idx_messagereceipient_messagetime ON %prefix%messages (messagereceipient ASC, messagetime DESC); 166 CREATE INDEX idx_messages_receipient_flag_time ON %prefix%messages (messagereceipient ASC, messagereceipientflag DESC, messagetime DESC); 167 CREATE INDEX idx_messages_sender_flag_time ON %prefix%messages (messagesender ASC, messagesenderflag DESC, messagetime DESC); 166 168 CREATE INDEX idx_moderators_forum ON %prefix%moderators (forum ASC); 167 169 CREATE INDEX idx_moderators_member ON %prefix%moderators (member ASC);
