[pLog-svn] r5646 - in plog/trunk: class/action/admin class/controller class/dao templates/admin
mark at devel.lifetype.net
mark at devel.lifetype.net
Thu Jul 12 00:35:19 EDT 2007
Author: mark
Date: 2007-07-12 00:35:18 -0400 (Thu, 12 Jul 2007)
New Revision: 5646
Added:
plog/trunk/class/action/admin/admindeleteinboxprivatemessageaction.class.php
plog/trunk/class/action/admin/admindeleteoutboxprivatemessageaction.class.php
Modified:
plog/trunk/class/controller/admincontrollermap.properties.php
plog/trunk/class/dao/privatemessages.class.php
plog/trunk/templates/admin/editinboxprivatemessages.template
plog/trunk/templates/admin/editoutboxprivatemessages.template
Log:
Private Message Admin UI 100% complete.
Added: plog/trunk/class/action/admin/admindeleteinboxprivatemessageaction.class.php
===================================================================
--- plog/trunk/class/action/admin/admindeleteinboxprivatemessageaction.class.php (rev 0)
+++ plog/trunk/class/action/admin/admindeleteinboxprivatemessageaction.class.php 2007-07-12 04:35:18 UTC (rev 5646)
@@ -0,0 +1,107 @@
+<?php
+ lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
+ lt_include( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
+ lt_include( PLOG_CLASS_PATH."class/data/validator/arrayvalidator.class.php" );
+ lt_include( PLOG_CLASS_PATH."class/view/admin/admininboxprivatemessageslistview.class.php" );
+
+ /**
+ * \ingroup Action
+ * @private
+ *
+ * Deletes an private messages from the database
+ */
+ class AdminDeleteInboxPrivateMessageAction extends AdminAction
+ {
+
+ var $_messageId;
+ var $_messageIds;
+
+ /**
+ * Constructor. If nothing else, it also has to call the constructor of the parent
+ * class, BlogAction with the same parameters
+ */
+ function AdminDeleteInboxPrivateMessageAction( $actionInfo, $request )
+ {
+ $this->AdminAction( $actionInfo, $request );
+ $this->_mode = $actionInfo->getActionParamValue();
+
+ // get the array that contains the private messages we'd like to delete
+ if( $this->_mode == "deleteInboxPrivateMessage" )
+ $this->registerFieldValidator( "messageId", new IntegerValidator());
+ else
+ $this->registerFieldValidator( "messageIds", new ArrayValidator());
+
+ $view = new AdminInboxPrivateMessagesListView( $this->_blogInfo );
+ $view->setErrorMessage( $this->_locale->tr("error_incorrect_private_message_id"));
+ $this->setValidationErrorView( $view );
+ }
+
+ /**
+ * @private
+ * removes private messages from the database
+ */
+ function _deleteInboxPrivateMessages()
+ {
+ lt_include( PLOG_CLASS_PATH."class/dao/privatemessages.class.php" );
+ $privateMessages = new PrivateMessages();
+
+ $errorMessage = "";
+ $successMessage = "";
+ $totalOk = 0;
+
+ foreach( $this->_messageIds as $messageId ) {
+ // get the privatemessage
+ $privateMessage = $privateMessages->getPrivateMessageByReceiverId( $messageId, $this->_userInfo->getId() );
+
+ if( $privateMessage ) {
+ // fire the pre-event
+ $this->notifyEvent( EVENT_PRE_DELETE_PRIVATE_MESSAGE, Array( "privatemessage" => &$privateMessage ));
+ if( !$privateMessages->deletePrivateMessage( $messageId, $this->_userInfo->getId() ) )
+ $errorMessage .= $this->_locale->pr("error_deleting_private_message")."<br/>";
+ else {
+ if( $totalOk < 2 )
+ $successMessage .= $this->_locale->pr("private_message_deleted_ok", $privateMessage->getSubject())."<br/>";
+ else
+ $successMessage = $this->_locale->pr( "private_messages_deleted_ok", $totalOk );
+ // fire the pre-event
+ $this->notifyEvent( EVENT_POST_DELETE_PRIVATE_MESSAGE, Array( "privatemessage" => &$privateMessage ));
+ }
+ }
+ else {
+ $errorMessage .= $this->_locale->pr("error_deleting_private_message2", $messageId)."<br/>";
+ }
+ }
+
+ // prepare the view and all the information it needs to know
+ $this->_view = new AdminInboxPrivateMessagesListView( $this->_blogInfo );
+ if( $errorMessage != "" )
+ $this->_view->setErrorMessage( $errorMessage );
+ if( $successMessage != "" ) {
+ // and clear the cache to avoid outdated information
+ CacheControl::resetBlogCache( $this->_blogInfo->getId(), false );
+ $this->_view->setSuccessMessage( $successMessage );
+ }
+
+ $this->setCommonData();
+
+ return true;
+ }
+
+ /**
+ * Carries out the specified action
+ */
+ function perform()
+ {
+ // prepare the parameters.. If there's only one private message id, then add it to
+ // an array.
+ if( $this->_mode == "deleteInboxPrivateMessage" ) {
+ $this->_messageIds = Array();
+ $this->_messageIds[] = $this->_request->getValue( "messageId" );
+ }
+ else
+ $this->_messageIds = $this->_request->getValue( "messageIds" );
+
+ return $this->_deleteInboxPrivateMessages();
+ }
+ }
+?>
Added: plog/trunk/class/action/admin/admindeleteoutboxprivatemessageaction.class.php
===================================================================
--- plog/trunk/class/action/admin/admindeleteoutboxprivatemessageaction.class.php (rev 0)
+++ plog/trunk/class/action/admin/admindeleteoutboxprivatemessageaction.class.php 2007-07-12 04:35:18 UTC (rev 5646)
@@ -0,0 +1,107 @@
+<?php
+ lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
+ lt_include( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
+ lt_include( PLOG_CLASS_PATH."class/data/validator/arrayvalidator.class.php" );
+ lt_include( PLOG_CLASS_PATH."class/view/admin/adminoutboxprivatemessageslistview.class.php" );
+
+ /**
+ * \ingroup Action
+ * @private
+ *
+ * Deletes an private messages from the database
+ */
+ class AdminDeleteOutboxPrivateMessageAction extends AdminAction
+ {
+
+ var $_messageId;
+ var $_messageIds;
+
+ /**
+ * Constructor. If nothing else, it also has to call the constructor of the parent
+ * class, BlogAction with the same parameters
+ */
+ function AdminDeleteOutboxPrivateMessageAction( $actionInfo, $request )
+ {
+ $this->AdminAction( $actionInfo, $request );
+ $this->_mode = $actionInfo->getActionParamValue();
+
+ // get the array that contains the private messages we'd like to delete
+ if( $this->_mode == "deleteOutboxPrivateMessage" )
+ $this->registerFieldValidator( "messageId", new IntegerValidator());
+ else
+ $this->registerFieldValidator( "messageIds", new ArrayValidator());
+
+ $view = new AdminOutboxPrivateMessagesListView( $this->_blogInfo );
+ $view->setErrorMessage( $this->_locale->tr("error_incorrect_private_message_id"));
+ $this->setValidationErrorView( $view );
+ }
+
+ /**
+ * @private
+ * removes private messages from the database
+ */
+ function _deleteOutboxPrivateMessages()
+ {
+ lt_include( PLOG_CLASS_PATH."class/dao/privatemessages.class.php" );
+ $privateMessages = new PrivateMessages();
+
+ $errorMessage = "";
+ $successMessage = "";
+ $totalOk = 0;
+
+ foreach( $this->_messageIds as $messageId ) {
+ // get the privatemessage
+ $privateMessage = $privateMessages->getPrivateMessageBySenderId( $messageId, $this->_userInfo->getId() );
+
+ if( $privateMessage ) {
+ // fire the pre-event
+ $this->notifyEvent( EVENT_PRE_DELETE_PRIVATE_MESSAGE, Array( "privatemessage" => &$privateMessage ));
+ if( !$privateMessages->deletePrivateMessage( $messageId, $this->_userInfo->getId() ) )
+ $errorMessage .= $this->_locale->pr("error_deleting_private_message")."<br/>";
+ else {
+ if( $totalOk < 2 )
+ $successMessage .= $this->_locale->pr("private_message_deleted_ok", $privateMessage->getSubject())."<br/>";
+ else
+ $successMessage = $this->_locale->pr( "private_messages_deleted_ok", $totalOk );
+ // fire the pre-event
+ $this->notifyEvent( EVENT_POST_DELETE_PRIVATE_MESSAGE, Array( "privatemessage" => &$privateMessage ));
+ }
+ }
+ else {
+ $errorMessage .= $this->_locale->pr("error_deleting_private_message2", $messageId)."<br/>";
+ }
+ }
+
+ // prepare the view and all the information it needs to know
+ $this->_view = new AdminOutboxPrivateMessagesListView( $this->_blogInfo );
+ if( $errorMessage != "" )
+ $this->_view->setErrorMessage( $errorMessage );
+ if( $successMessage != "" ) {
+ // and clear the cache to avoid outdated information
+ CacheControl::resetBlogCache( $this->_blogInfo->getId(), false );
+ $this->_view->setSuccessMessage( $successMessage );
+ }
+
+ $this->setCommonData();
+
+ return true;
+ }
+
+ /**
+ * Carries out the specified action
+ */
+ function perform()
+ {
+ // prepare the parameters.. If there's only one private message id, then add it to
+ // an array.
+ if( $this->_mode == "deleteOutboxPrivateMessage" ) {
+ $this->_messageIds = Array();
+ $this->_messageIds[] = $this->_request->getValue( "messageId" );
+ }
+ else
+ $this->_messageIds = $this->_request->getValue( "messageIds" );
+
+ return $this->_deleteOutboxPrivateMessages();
+ }
+ }
+?>
Modified: plog/trunk/class/controller/admincontrollermap.properties.php
===================================================================
--- plog/trunk/class/controller/admincontrollermap.properties.php 2007-07-11 16:51:55 UTC (rev 5645)
+++ plog/trunk/class/controller/admincontrollermap.properties.php 2007-07-12 04:35:18 UTC (rev 5646)
@@ -357,6 +357,8 @@
$actions["readOutboxPrivateMessage"] = "AdminReadOutboxPrivateMessageAction";
$actions["replyPrivateMessage"] = "AdminReplyPrivateMessageAction";
$actions["sendReplyPrivateMessage"] = "AdminSendReplyPrivateMessageAction";
- $actions["deletePrivateMessages"] = "AdminDeletePrivateMessageAction";
- $actions["deletePrivateMessage"] = "AdminDeletePrivateMessageAction";
+ $actions["deleteInboxPrivateMessages"] = "AdminDeleteInboxPrivateMessageAction";
+ $actions["deleteInboxPrivateMessage"] = "AdminDeleteInboxPrivateMessageAction";
+ $actions["deleteOutboxPrivateMessages"] = "AdminDeleteOutboxPrivateMessageAction";
+ $actions["deleteOutboxPrivateMessage"] = "AdminDeleteOutboxPrivateMessageAction";
?>
\ No newline at end of file
Modified: plog/trunk/class/dao/privatemessages.class.php
===================================================================
--- plog/trunk/class/dao/privatemessages.class.php 2007-07-11 16:51:55 UTC (rev 5645)
+++ plog/trunk/class/dao/privatemessages.class.php 2007-07-12 04:35:18 UTC (rev 5646)
@@ -203,16 +203,16 @@
*/
function deletePrivateMessage( $messageId, $receiverId )
{
- $privateMessage = $this->getPrivateMessage( $$messageId, $receiverId );
+ $privateMessage = $this->getPrivateMessage( $messageId, $receiverId );
if( $privateMessage ) {
- $this->delete( "id", $$messageId );
+ $this->delete( "id", $messageId );
$this->_cache->removeData( $privateMessage->getId(), CACHE_PRIVATE_MESSAGES );
$this->_cache->removeData( $privateMessage->getBoxId(), CACHE_PRIVATE_MESSAGES_BY_BOX_ID );
// update corresponding counters
- $box = $privateMessage->getReceiverInfo();
- $box->setNumPrivateMessages( $box->geNumPrivateMessages() - 1 );
- if( $privateMessage->getStatus() == PRIVATE_MESSAGE_UNREAD )
+ $box = $privateMessage->getBox();
+ $box->setNumPrivateMessages( $box->getNumPrivateMessages() - 1 );
+ if( $privateMessage->getReceiverReadStatus() == PRIVATE_MESSAGE_RECEIVER_UNREAD )
{
$box->setNumUnreadPrivateMessages( $box->getNumUnreadPrivateMessages() - 1 );
}
Modified: plog/trunk/templates/admin/editinboxprivatemessages.template
===================================================================
--- plog/trunk/templates/admin/editinboxprivatemessages.template 2007-07-11 16:51:55 UTC (rev 5645)
+++ plog/trunk/templates/admin/editinboxprivatemessages.template 2007-07-12 04:35:18 UTC (rev 5646)
@@ -79,7 +79,7 @@
<a href="?op=readInboxPrivateMessage&messageId={$privatemessage->getId()}" title="{$locale->tr("read")}">
<img src="imgs/admin/icon_edit-16.png" alt="{$locale->tr("read")}" />
</a>
- <a href="?op=deletePrivateMessage&messageId={$privatemessage->getId()}" title="{$locale->tr("delete")}">
+ <a href="?op=deleteInboxPrivateMessage&messageId={$privatemessage->getId()}" title="{$locale->tr("delete")}">
<img src="imgs/admin/icon_delete-16.png" alt="{$locale->tr("delete")}" />
</a>
<a href="?op=replyPrivateMessage&messageId={$privatemessage->getId()}" title="{$locale->tr("reply")}">
@@ -93,7 +93,7 @@
</div>
<div id="list_action_bar">
{adminpager style=list}
- <input type="hidden" name="op" value="deletePrivateMessages"/>
+ <input type="hidden" name="op" value="deleteInboxPrivateMessages"/>
<input type="submit" name="Delete selected" value="{$locale->tr("delete")}"/>
</div>
</form>
Modified: plog/trunk/templates/admin/editoutboxprivatemessages.template
===================================================================
--- plog/trunk/templates/admin/editoutboxprivatemessages.template 2007-07-11 16:51:55 UTC (rev 5645)
+++ plog/trunk/templates/admin/editoutboxprivatemessages.template 2007-07-12 04:35:18 UTC (rev 5646)
@@ -66,7 +66,7 @@
<a href="?op=readOutboxPrivateMessage;messageId={$privatemessage->getId()}" title="{$locale->tr("read")}">
<img src="imgs/admin/icon_edit-16.png" alt="{$locale->tr("read")}" />
</a>
- <a href="?op=deletePrivateMessage&messageId={$privatemessage->getId()}" title="{$locale->tr("delete")}">
+ <a href="?op=deleteOutboxPrivateMessage&messageId={$privatemessage->getId()}" title="{$locale->tr("delete")}">
<img src="imgs/admin/icon_delete-16.png" alt="{$locale->tr("delete")}" />
</a>
</td>
@@ -77,7 +77,7 @@
</div>
<div id="list_action_bar">
{adminpager style=list}
- <input type="hidden" name="op" value="deletePrivateMessages"/>
+ <input type="hidden" name="op" value="deleteOutboxPrivateMessages"/>
<input type="submit" name="Delete selected" value="{$locale->tr("delete")}"/>
</div>
</form>
More information about the pLog-svn
mailing list