From 07ad87efa0f7f5ff0e503efb16c26314ffb1d31f Mon Sep 17 00:00:00 2001 From: uckelman Date: Fri, 30 Apr 2010 16:41:26 +0000 Subject: Refactored message registration. git-svn-id: https://vassalengine.svn.sourceforge.net/svnroot/vassalengine/site-src/trunk@6783 67b53d14-2c14-4ace-a08f-0dab2b34000c --- src/Bridge.php | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) (limited to 'src/Bridge.php') diff --git a/src/Bridge.php b/src/Bridge.php index 7f8996c..719e91c 100644 --- a/src/Bridge.php +++ b/src/Bridge.php @@ -88,43 +88,41 @@ class Bridge { return $this->db->lastInsertId(); } - public function registerMessage($postId, $messageId, $inReplyTo) { + public function registerByEditId($editId, $messageId, $inReplyTo) { throw_if_null($messageId); - $sql = 'INSERT IGNORE INTO posts ' . - '(post_id, message_id, in_reply_to) ' . - 'VALUES (' . ($postId === null ? 'NULL' : $postId) . ', ' - . $this->db->quote($messageId) . ', ' - . $this->quote($inReplyTo) . ')'; + $sql = 'UPDATE posts SET ' . + 'message_id = ' . $this->db->quote($messageId) . ', ' . + 'in_reply_to = ' . $this->quote($inReplyTo) . ') ' . + 'WHERE edit_id = ' . $editId; $count = $this->db->exec($sql); return $count == 1; } - public function unregisterMessage($messageId) { + public function registerByMessageId($messageId, $inReplyTo) { throw_if_null($messageId); - $sql = 'DELETE FROM posts WHERE message_id = ' . - $this->db->quote($messageId); + $sql = 'INSERT IGNORE INTO posts ' . + '(message_id, in_reply_to) ' . + 'VALUES (' . + $this->db->quote($messageId) . ', ' . + $this->quote($inReplyTo) . + ')' $count = $this->db->exec($sql); - - if ($count != 1) { - throw new Exception('Failed to delete message id: ' . $messageId); - } + return $count == 1 ? $this->db->lastInsertId() : false; } - public function unregisterPost($postId) { - throw_if_null($postId); + public function unregisterMessage($editId) { + throw_if_null($messageId); -# FIXME: this might need adjusting now that there can be more than one -# message id per post id. - $sql = 'DELETE FROM posts WHERE post_id = ' . $postId; + $sql = 'DELETE FROM posts WHERE edit_id = ' . $editId; $count = $this->db->exec($sql); if ($count != 1) { - throw new Exception('Failed to delete post id: ' . $postId); + throw new Exception('Failed to delete edit id: ' . $editId); } } -- cgit v1.2.3