/** * */ public function mailAndDeleteMessages($messageIDs) { global $db; // get valid messages $IDs = implode($messageIDs, ", "); $sql = $db->prepare("SELECT m.recipientID, m.senderID, p.name, m.messageSubject, m.messageText, DATE_FORMAT(m.messageTime, '%d.%m.%Y %H:%i:%s') AS messageTime\n FROM " . MESSAGE_TABLE . " m\n LEFT JOIN " . PLAYER_TABLE . " p ON\n IF (m.recipientID = :playerID, m.senderID = p.playerID, m.recipientID = p.playerID)\n WHERE messageID IN (" . $IDs . ") AND\n IF (m.recipientID = :playerID, m.recipientDeleted = 0 AND m.recipientID = :playerID, m.senderDeleted = 0 AND m.senderID = :playerID)"); $sql->bindValue('playerID', $_SESSION['player']->playerID, PDO::PARAM_INT); $sql->execute(); if ($sql->rowCount() == 0) { return 0; } $exporter = new MessageExporter(); while ($record = $sql->fetch(PDO::FETCH_ASSOC)) { $exporter->add(new Message($record)); } $sql->closeCursor(); $exporter->send($_SESSION['player']->email2); return $this->deleteMessages($messageIDs); }
/** * */ function messages_mailAndDeleteMessages($messageIDs) { global $db, $params; // get valid messages $IDs = implode($messageIDs, ", "); $sql = 'SELECT m.recipientID, m.senderID, p.name, m.messageSubject, m.messageText, ' . 'DATE_FORMAT(m.messageTime, "%d.%m.%Y %H:%i:%s") AS messageTime ' . 'FROM `Message` m ' . 'LEFT JOIN Player p ON ' . 'IF (m.recipientID = ' . $params->SESSION->player->playerID . ', m.senderID = p.playerID, m.recipientID = p.playerID) ' . 'WHERE messageID IN (' . $IDs . ') AND ' . 'IF (recipientDeleted = ' . $params->SESSION->player->playerID . ', recipientDeleted = 0, senderDeleted = 0)'; $dbresult = $db->query($sql); if (!$dbresult || $dbresult->isEmpty()) { return 0; } $exporter = new MessageExporter(); while ($record = $dbresult->nextRow(MYSQL_ASSOC)) { $exporter->add(new Message($record)); } $exporter->send($params->SESSION->player->email2); return messages_deleteMessages($messageIDs); }