/** * 削除メッセージ操作 * * @return boolean true or false * @access public */ function deleteMessage() { $receiver_id = $this->_request->getParameter("receiver_id"); if (!is_array($receiver_id)) { $receivers = explode(" ", $receiver_id); } else { $receivers = $receiver_id; } if (!is_array($receivers)) { return false; } $dropped_messages = array(); foreach ($receivers as $receiver) { $message = $this->_pmView->getMessage($receiver); if ($message["delete_state"] == PM_MESSAGE_STATE_TRASH) { $delete_state = PM_MESSAGE_STATE_DELETE; $message_id = $message["message_id"]; // メッセージ削除処理 $deleteParams = array("receiver_id" => $receiver); // タグ設定情報削除 if (!$this->_db->deleteExecute("pm_message_tag_link", $deleteParams)) { $this->_db->addError(); } // 受信人メッセージ情報削除 if (!$this->_db->deleteExecute("pm_message_receiver", $deleteParams)) { $this->_db->addError(); } if ($this->_pmView->isDropedMessage($message_id, false)) { $dropped_messages[] = $message_id; } } else { $delete_state = PM_MESSAGE_STATE_TRASH; // 更新受信人メッセージ情報の受信人メッセージ状態 $updateParams = array("receiver_id" => $receiver, "delete_state" => $delete_state); if (!$this->_db->updateExecute("pm_message_receiver", $updateParams, "receiver_id", true)) { return false; } } } if (sizeof($dropped_messages) > 0) { $pm_delete_upload_ids = array(); foreach ($dropped_messages as $dropped_message_id) { $deleteParams = array("message_id" => $dropped_message_id); // メッセージ情報削除 if (!$this->_db->deleteExecute("pm_message", $deleteParams)) { $this->_db->addError(); } // Upload情報削除 $getdata =& $this->_container->getComponent("GetData"); $modules = $getdata->getParameter("modules"); $module_id = $modules["pm"]["module_id"]; $upload_id = $this->_pmView->getUploadId($module_id, $dropped_message_id); if ($upload_id != false) { $pm_delete_upload_ids[] = $upload_id; } } if (sizeof($pm_delete_upload_ids) > 0) { $this->_session->setParameter("pm_delete_upload_ids", $pm_delete_upload_ids); } } return true; }