[xoops-cvslog 6580] CVS update: xoops2jp/html/modules/pm/actions

Back to archive index

NobuNobu nobun****@users*****
2007年 4月 30日 (月) 16:36:25 JST


Index: xoops2jp/html/modules/pm/actions/DefaultAction.class.php
diff -u /dev/null xoops2jp/html/modules/pm/actions/DefaultAction.class.php:1.1.4.1
--- /dev/null	Mon Apr 30 16:36:25 2007
+++ xoops2jp/html/modules/pm/actions/DefaultAction.class.php	Mon Apr 30 16:36:25 2007
@@ -0,0 +1,61 @@
+<?php
+/**
+ * @package pm
+ * @version $Id: DefaultAction.class.php,v 1.1.4.1 2007/04/30 07:36:25 nobunobu Exp $
+ */
+
+if (!defined('XOOPS_ROOT_PATH')) exit();
+
+require_once XOOPS_ROOT_PATH . "/core/XCube_PageNavigator.class.php";
+require_once XOOPS_MODULE_PATH . "/pm/forms/PmDeleteForm.class.php";
+
+/**
+ * [Notice]
+ * This class has been checked in Alpha4. But, this class doesn't go along the
+ * latest cubson style. And some problems (using core handler, naming rule and
+ * etc) are there. Pm module is one of the most old code in Legacy.
+ * 
+ * [ToDo]
+ * This class should use Action_FilterForm as well as other latest modules.
+ */
+class Pm_DefaultAction extends Pm_AbstractAction
+{
+	var $mActionForm = null;
+	
+	var $mPmObjects = array();
+	
+	var $mPageNavi = null;
+	
+	function prepare(&$controller, &$xoopsUser, &$moduleConfig)
+	{
+		$this->mActionForm =& new Pm_PmDeleteForm();
+		$this->mActionForm->prepare();
+	}
+	
+	function getDefaultView(&$controller, &$xoopsUser)
+	{
+		$pmHandler =& xoops_gethandler('privmessage');
+		$total = $pmHandler->getCountByFromUid($xoopsUser->uid());
+
+		$this->mPageNavi =& new XCube_PageNavigator(XOOPS_URL . "./viewpmsg.php", XCUBE_PAGENAVI_START);
+		$this->mPageNavi->setTotalItems($total);
+		$this->mPageNavi->fetch();
+
+		$this->mPmObjects =& $pmHandler->getObjectsByFromUid($xoopsUser->uid(), $this->mPageNavi->getStart());
+
+		return PM_FRAME_VIEW_INDEX;
+	}
+
+	function executeViewIndex(&$controller, &$xoopsUser, &$render)
+	{
+		$render->setTemplateName("viewpmsg.html");
+		$render->setAttribute("pmObjects", $this->mPmObjects);
+		$render->setAttribute("total_messages", count($this->mPmObjects));
+		$render->setAttribute("currentUser", $xoopsUser);
+		$render->setAttribute("anonymous", $controller->mRoot->mContext->getXoopsConfig('anonymous'));
+		$render->setAttribute("pageNavi", $this->mPageNavi);
+		$render->setAttribute("actionForm", $this->mActionForm);
+	}
+}
+
+?>
\ No newline at end of file
Index: xoops2jp/html/modules/pm/actions/DeleteAction.class.php
diff -u /dev/null xoops2jp/html/modules/pm/actions/DeleteAction.class.php:1.1.4.1
--- /dev/null	Mon Apr 30 16:36:25 2007
+++ xoops2jp/html/modules/pm/actions/DeleteAction.class.php	Mon Apr 30 16:36:25 2007
@@ -0,0 +1,62 @@
+<?php
+/**
+ * @package pm
+ * @version $Id: DeleteAction.class.php,v 1.1.4.1 2007/04/30 07:36:25 nobunobu Exp $
+ */
+
+if (!defined('XOOPS_ROOT_PATH')) exit();
+
+require_once XOOPS_MODULE_PATH . "/pm/forms/PmDeleteForm.class.php";
+
+class Pm_DeleteAction extends Pm_AbstractAction
+{
+	var $mActionForm = null;
+	
+	function prepare(&$controller, &$xoopsUser, &$moduleConfig)
+	{
+		$this->mActionForm =& new Pm_PmDeleteForm();
+		$this->mActionForm->prepare();
+	}
+	
+	function execute(&$controller, &$xoopsUser)
+	{
+		//
+		// Fetch request and validate.
+		//
+		$this->mActionForm->fetch();
+		$this->mActionForm->validate();
+
+		//
+		// If error, go to re-input.
+		//
+		if($this->mActionForm->hasError()) {
+			return PM_FRAME_VIEW_ERROR;
+		}
+
+		//
+		// Delete PM
+		//
+		$handler =& xoops_gethandler('privmessage');
+		foreach ($this->mActionForm->getVar('msg_id') as $msg_id) {
+			$pm =& $handler->get($msg_id);
+			if (is_object($pm) && ($pm->get('to_userid') == $xoopsUser->get('uid'))) {
+				$handler->delete($pm);
+			}
+			unset($pm);
+		}
+
+		return PM_FRAME_VIEW_SUCCESS;
+	}
+
+	function executeViewSuccess(&$controller, &$xoopsUser, &$render)
+	{
+		$controller->executeRedirect(XOOPS_URL . "/viewpmsg.php", 1, _MD_PM_MESSAGE_DELETED);
+	}
+
+	function executeViewError(&$controller, &$xoopsUser, &$render)
+	{
+		$controller->executeRedirect(XOOPS_URL . "/viewpmsg.php", 1, _MD_PM_ERROR_ACCESS);
+	}
+}
+
+?>
Index: xoops2jp/html/modules/pm/actions/DeleteOneAction.class.php
diff -u /dev/null xoops2jp/html/modules/pm/actions/DeleteOneAction.class.php:1.1.4.1
--- /dev/null	Mon Apr 30 16:36:25 2007
+++ xoops2jp/html/modules/pm/actions/DeleteOneAction.class.php	Mon Apr 30 16:36:25 2007
@@ -0,0 +1,74 @@
+<?php
+/**
+ * @package pm
+ * @version $Id: DeleteOneAction.class.php,v 1.1.4.1 2007/04/30 07:36:25 nobunobu Exp $
+ */
+
+if (!defined('XOOPS_ROOT_PATH')) exit();
+
+require_once XOOPS_MODULE_PATH . "/pm/class/AbstractDeleteAction.class.php";
+require_once XOOPS_MODULE_PATH . "/pm/forms/DeleteOneForm.class.php";
+
+class Pm_DeleteOneAction extends Pm_AbstractDeleteAction
+{
+	function _getId()
+	{
+		return xoops_getrequest('msg_id');
+	}
+	
+	function &_getHandler()
+	{
+		$handler =& xoops_gethandler('privmessage');
+		return $handler;
+	}
+
+	function _setupActionForm()
+	{
+		$this->mActionForm =& new Pm_DeleteOneForm();
+		$this->mActionForm->prepare();
+	}
+	
+	function hasPermission(&$controller, &$xoopsUser, $moduleConfig)
+	{
+		if (parent::hasPermission($controller, $xoopsUser, $moduleConfig)) {
+			return $xoopsUser->get('uid') == $this->mObject->get('to_userid');
+		}
+		else {
+			return false;
+		}
+	}
+	
+	function executeViewInput(&$controller, &$xoopsUser, &$render)
+	{
+		$render->setTemplateName("pm_delete_one.html");
+		$render->setAttribute('actionForm', $this->mActionForm);
+		$render->setAttribute('object', $this->mObject);
+		
+		$sendUser =& $this->mObject->getFromUser();
+		if (is_object($sendUser) && $sendUser->isActive()) {
+			$render->setAttribute("sendUser", $sendUser);
+		}
+	}
+
+	function executeViewSuccess(&$controller, &$xoopsUser, &$render)
+	{
+		$controller->executeForward(XOOPS_URL . "/viewpmsg.php");
+	}
+
+	function executeViewError(&$controller, &$xoopsUser, &$render)
+	{
+		$controller->executeRedirect(XOOPS_URL . "/viewpmsg.php", 1, _MD_PM_ERROR_ACCESS);
+	}
+
+	function executeViewCancel(&$controller, &$xoopsUser, &$render)
+	{
+		if (is_object($this->mObject)) {
+			$controller->executeForward(XOOPS_URL . "/readpmsg.php?msg_id=" . $this->mObject->get('msg_id'));
+		}
+		else {
+			$controller->executeForward(XOOPS_URL . "/viewpmsg.php");
+		}
+	}
+}
+
+?>
Index: xoops2jp/html/modules/pm/actions/PmliteAction.class.php
diff -u /dev/null xoops2jp/html/modules/pm/actions/PmliteAction.class.php:1.1.4.1
--- /dev/null	Mon Apr 30 16:36:25 2007
+++ xoops2jp/html/modules/pm/actions/PmliteAction.class.php	Mon Apr 30 16:36:25 2007
@@ -0,0 +1,93 @@
+<?php
+/**
+ * @package pm
+ * @version $Id: PmliteAction.class.php,v 1.1.4.1 2007/04/30 07:36:25 nobunobu Exp $
+ */
+
+if (!defined('XOOPS_ROOT_PATH')) exit();
+
+require_once XOOPS_MODULE_PATH . "/pm/class/AbstractEditAction.class.php";
+require_once XOOPS_MODULE_PATH . "/pm/forms/PmliteEditForm.class.php";
+
+class Pm_PmliteAction extends Pm_AbstractEditAction
+{
+	var $_mSendType = 0;
+	
+	function prepare(&$controller, &$xoopsUser, &$moduleConfig)
+	{
+		$this->_mSendType = $moduleConfig['send_type'];
+		parent::prepare($controller, $xoopsUser, $moduleConfig);
+		
+		if (is_object($xoopsUser)) {
+			$this->mObject->set('from_userid', $xoopsUser->get('uid'));
+		}
+	}
+	
+	function _getId()
+	{
+		return 0;
+	}
+
+	function &_getHandler()
+	{
+		$handler =& xoops_getmodulehandler('priv_msgs', 'pm');
+		return $handler;
+	}
+
+	function _setupActionForm()
+	{
+		//
+		// Create action form object by reply mode? or not?
+		//
+		$this->mActionForm = $this->_mSendType == 0 ? new Pm_PmliteComboEditForm() : new Pm_PmliteDirectEditForm();
+		if (isset($_GET['reply']) && $_GET['reply'] == 1) {
+			$this->mActionForm->changeStateReply();
+		}
+
+		$this->mActionForm->prepare();
+	}
+
+	function _setupObject()
+	{
+		$this->mObjectHandler =& $this->_getHandler();
+		$this->mObject =& $this->mObjectHandler->create();
+	}
+
+	function getDefaultView(&$controller,&$xoopsUser)
+	{
+		//
+		// Fetch request only (no validate).
+		//
+		$this->mActionForm->fetch();
+
+		return PM_FRAME_VIEW_INPUT;
+	}
+	
+	function executeViewInput(&$controller, &$xoopsUser, &$render)
+	{
+		$render->setTemplateName("pmlite.html");
+		$render->setAttribute("actionForm", $this->mActionForm);
+		$render->setAttribute("send_type", $this->_mSendType);
+
+		//
+		// If the request doesn't have uid, list up users to template.
+		//
+		if ($this->_mSendType == 0 && $this->mActionForm->getVar('to_userid') == 0) {
+			$handler =& xoops_gethandler('user');
+			$userObjectArr =& $handler->getObjectsByLevel(0);
+			$render->setAttribute("userList", $userObjectArr);
+		}
+	}
+
+	function executeViewSuccess(&$controller, &$xoopsUser, &$render)
+	{
+		$render->setTemplateName("pm_pmlite_success.html");
+	}
+
+	function executeViewError(&$controller, &$xoopsUser, &$render)
+	{
+		$controller->executeRedirect("pmlite.php", 3, _MD_PM_ERROR_MESSAGE_SEND);
+	}
+}
+
+?>
Index: xoops2jp/html/modules/pm/actions/ReadAction.class.php
diff -u /dev/null xoops2jp/html/modules/pm/actions/ReadAction.class.php:1.1.4.1
--- /dev/null	Mon Apr 30 16:36:25 2007
+++ xoops2jp/html/modules/pm/actions/ReadAction.class.php	Mon Apr 30 16:36:25 2007
@@ -0,0 +1,138 @@
+<?php
+/**
+ * @package pm
+ * @version $Id: ReadAction.class.php,v 1.1.4.1 2007/04/30 07:36:25 nobunobu Exp $
+ */
+
+if (!defined('XOOPS_ROOT_PATH')) exit();
+
+/**
+ * [Notice]
+ * This class has been checked in Alpha4. But, this class doesn't go along the
+ * latest cubson style. And some problems (using core handler, naming rule and
+ * etc) are there. Pm module is one of the most old code in Legacy.
+ */
+class Pm_ReadAction extends Pm_AbstractAction
+{
+	/**
+	 * A instance of the current private-message.
+	 * 
+	 * @var XoopsPrivmessage
+	 */
+	var $mPrivMessage = null;
+	
+	/**
+	 * A instance of the user that has sent the current private-message.
+	 * 
+	 * @var XoopsUser
+	 */
+	var $mSendUser = null;
+
+	/**
+	 * A instance of previous private-message form the current private-message.
+	 * 
+	 * @var XoopsPrivmessage
+	 */
+	var $mPreviousMessage = null;
+	
+	/**
+	 * A instance of next private-message form the current private-message.
+	 * 
+	 * @var XoopsPrivmessage
+	 */
+	var $mNextMessage = null;
+	
+	function getDefaultView(&$controller,&$xoopsUser)
+	{
+		//
+		// Request Check without ActionForm
+		//
+		$msg_id = intval(xoops_getrequest('msg_id'));
+
+		//
+		// Load private message object
+		//
+		$pmHandler =& xoops_gethandler('privmessage');
+		$this->mPrivMessage =& $pmHandler->get($msg_id);
+
+		if (!is_object($this->mPrivMessage)) {
+			return PM_FRAME_VIEW_ERROR;
+		}
+
+		//
+		// Check read permission and the sender.
+		//
+		if ($this->mPrivMessage->getVar('to_userid') != $xoopsUser->getVar('uid')) {
+			return PM_FRAME_VIEW_ERROR;
+		}
+
+		$this->mSendUser =& $this->mPrivMessage->getFromUser();
+		if (!is_object($this->mSendUser)) {
+			return PM_FRAME_VIEW_ERROR;
+		}
+
+		//
+		// Get previous and next message
+		//
+		$criteria =& new CriteriaCompo();
+		$criteria->add(new Criteria('msg_id', $this->mPrivMessage->getVar('msg_id'), "<"));
+		$criteria->add(new Criteria('to_userid', $xoopsUser->get('uid')));
+		$criteria->setLimit(1);
+		$criteria->setSort('msg_time');
+		$criteria->setOrder('DESC');
+		$t_objArr =& $pmHandler->getObjects($criteria);
+		if (count($t_objArr) > 0 && is_object($t_objArr[0])) {
+			$this->mPreviousMessage =& $t_objArr[0];
+		}
+		unset($t_objArr);
+		unset($criteria);
+
+		$criteria =& new CriteriaCompo();
+		$criteria->add(new Criteria('msg_id', $this->mPrivMessage->getVar('msg_id'), ">"));
+		$criteria->add(new Criteria('to_userid', $xoopsUser->get('uid')));
+		$criteria->setLimit(1);
+		$criteria->setSort('msg_time');
+		$t_objArr =& $pmHandler->getObjects($criteria);
+		if (count($t_objArr) > 0 && is_object($t_objArr[0])) {
+			$this->mNextMessage =& $t_objArr[0];
+		}
+
+		//
+		// If this message is unread, Raise read flag.
+		//
+		if (!$this->mPrivMessage->isRead()) {
+			$pmHandler->setRead($this->mPrivMessage);
+		}
+
+		return PM_FRAME_VIEW_INDEX;
+	}
+	
+	/**
+	 * When a user click 'delete' button, this member function is called by
+	 * POST request. Forward delete one action.
+	 */
+	function execute(&$controller, &$xoopsUser)
+	{
+		$controller->executeForward(XOOPS_URL . "/readpmsg.php?action=DeleteOne&msg_id=" . xoops_getrequest('msg_id'));
+	}
+
+	function executeViewError(&$controller, &$xoopsUser, &$render)
+	{
+		$controller->executeRedirect(XOOPS_URL . "/viewpmsg.php", 1, _MD_PM_ERROR_ACCESS);
+	}
+
+	function executeViewIndex(&$controller, &$xoopsUser, &$render)
+	{
+		$render->setTemplateName("readpmsg.html");
+		$render->setAttribute("thisUser", $xoopsUser);
+		if ($this->mSendUser->isActive()) {
+			$render->setAttribute("sendUser", $this->mSendUser);
+		}
+		$render->setAttribute("privMessage", $this->mPrivMessage);
+		$render->setAttribute("previousMessage", $this->mPreviousMessage);
+		$render->setAttribute("nextMessage", $this->mNextMessage);
+		$render->setAttribute("anonymous", $controller->mRoot->mContext->getXoopsConfig('anonymous'));
+	}
+}
+
+?>
\ No newline at end of file
Index: xoops2jp/html/modules/pm/actions/index.html
diff -u /dev/null xoops2jp/html/modules/pm/actions/index.html:1.1.4.1
--- /dev/null	Mon Apr 30 16:36:25 2007
+++ xoops2jp/html/modules/pm/actions/index.html	Mon Apr 30 16:36:25 2007
@@ -0,0 +1 @@
+ <script>history.go(-1);</script>
\ No newline at end of file


xoops-cvslog メーリングリストの案内
Back to archive index