[pLog-svn] r5615 - plog/trunk/class/dao
mark at devel.lifetype.net
mark at devel.lifetype.net
Thu Jul 5 05:43:42 EDT 2007
Author: mark
Date: 2007-07-05 05:43:41 -0400 (Thu, 05 Jul 2007)
New Revision: 5615
Modified:
plog/trunk/class/dao/daocacheconstants.properties.php
plog/trunk/class/dao/privatemessages.php
Log:
1. Add delete related method to private messages
2. Add private message cache constant to dao/daocacheconstants.properties.php
Modified: plog/trunk/class/dao/daocacheconstants.properties.php
===================================================================
--- plog/trunk/class/dao/daocacheconstants.properties.php 2007-07-05 07:46:04 UTC (rev 5614)
+++ plog/trunk/class/dao/daocacheconstants.properties.php 2007-07-05 09:43:41 UTC (rev 5615)
@@ -124,4 +124,11 @@
* friends
*/
define( "CACHE_FRIENDS", "friends" );
+
+ /**
+ * private messages
+ */
+ define( "CACHE_PRIVATE_MESSAGES", "cache_private_messages" );
+ define( "CACHE_PRIVATE_MESSAGES_BY_RECEIVER_ID", "cache_private_messages_by_receiver_id" );
+ define( "CACHE_PRIVATE_MESSAGES_BY_SENDER_ID", "cache_private_messages_by_sender_id" );
?>
\ No newline at end of file
Modified: plog/trunk/class/dao/privatemessages.php
===================================================================
--- plog/trunk/class/dao/privatemessages.php 2007-07-05 07:46:04 UTC (rev 5614)
+++ plog/trunk/class/dao/privatemessages.php 2007-07-05 09:43:41 UTC (rev 5615)
@@ -187,6 +187,70 @@
return false;
}
+ /**
+ * Removes a private message object from the database.
+ *
+ * @param messageId The private message identifier.
+ * @param receiverId The receiver identifier.
+ * @return True if successful or false otherwise.
+ */
+ function deletePrivateMessage( $messageId, $receiverId )
+ {
+ $privateMessage = $this->getPrivateMessage( $$messageId, $receiverId );
+ if( $privateMessage ) {
+ $this->delete( "id", $$messageId );
+ $this->_cache->removeData( $privateMessage->getId(), CACHE_PRIVATE_MESSAGES );
+ $this->_cache->removeData( $privateMessage->getReceiverId(), CACHE_PRIVATE_MESSAGES_BY_RECEIVER_ID );
+ $this->_cache->removeData( $privateMessage->getSenderId(), CACHE_PRIVATE_MESSAGES_BY_SENDER_ID );
+
+ // update corresponding counters
+ $receiver = $privateMessage->getReceiverInfo();
+ $receiver->setNumPrivateMessages( $receiver->geNumPrivateMessages() - 1 );
+ if( $privateMessage->getStatus() == PRIVATE_MESSAGE_UNREAD )
+ {
+ $receiver->setNumUnreadPrivateMessages( $receiver->getNumUnreadPrivateMessages() - 1 );
+ lt_include( PLOG_CLASS_PATH."class/dao/users.class.php" );
+ $users = new Users();
+ $users->updateUser( $receiver );
+ }
+ lt_include( PLOG_CLASS_PATH."class/dao/users.class.php" );
+ $users = new Users();
+ $users->updateUser( $receiver );
+
+ return true;
+ }
+ else
+ return false;
+ }
+
+ /**
+ * Removes all the private messages from the given receiver id
+ *
+ * @param receiverId The receiver identifier
+ */
+ function deletePrivateMessagesByReceiverId( $receiverId )
+ {
+ if( $this->delete( "receiver_id", $receiverId )) {
+ return( $this->_cache->removeData( $receiverId, CACHE_PRIVATE_MESSAGES_BY_RECEIVER_ID ));
+ }
+ else
+ return false;
+ }
+
+ /**
+ * Removes all the private messages from the given sender id
+ *
+ * @param senderId The sender identifier
+ */
+ function deletePrivateMessagesBySenderId( $senderId )
+ {
+ if( $this->delete( "sender_id", $senderId )) {
+ return( $this->_cache->removeData( $senderId, CACHE_PRIVATE_MESSAGES_BY_SENDER_ID ));
+ }
+ else
+ return false;
+ }
+
/**
* @see Model::getSearchConditions
*/
More information about the pLog-svn
mailing list