From 1d718ace9e7c9e65fedca5dc3f7396d41ea44005 Mon Sep 17 00:00:00 2001 From: uckelman Date: Fri, 30 Apr 2010 17:26:15 +0000 Subject: Added removePost() for post deletion. git-svn-id: https://vassalengine.svn.sourceforge.net/svnroot/vassalengine/site-src/trunk@6790 67b53d14-2c14-4ace-a08f-0dab2b34000c --- src/Bridge.php | 12 ++++++++++++ src/F2M.php | 2 +- test/BridgeTest.php | 17 +++++++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/Bridge.php b/src/Bridge.php index d9f0dec..b137b51 100644 --- a/src/Bridge.php +++ b/src/Bridge.php @@ -126,6 +126,18 @@ class Bridge { } } + public function removePost($postId) { + throw_if_null($postId); + + $sql = 'DELETE FROM posts WHERE post_id = ' . $postId; + + $count = $this->db->exec($sql); + + if ($count < 1) { + throw new Exception('Failed to delete post id: ' . $postId); + } + } + protected function get_exactly_one_row($sql) { $result = $this->db->query($sql); diff --git a/src/F2M.php b/src/F2M.php index 68d2a12..079c999 100644 --- a/src/F2M.php +++ b/src/F2M.php @@ -202,7 +202,7 @@ function remove_post($postId) { require_once(__DIR__ . '/Bridge.php'); $bridge = new Bridge(); - $bridge->unregisterPost($postId); + $bridge->removePost($postId); } function build_text_part($mime, $text) { diff --git a/test/BridgeTest.php b/test/BridgeTest.php index c078aaa..8688af3 100644 --- a/test/BridgeTest.php +++ b/test/BridgeTest.php @@ -205,6 +205,23 @@ class BridgeTest extends PHPUnit_Framework_TestCase { ); } + /** + * @dataProvider providerRemovePost + */ + public function testRemovePost($postId, $ex) { + if ($ex) $this->setExpectedException($ex); + $bridge = new Bridge($this->db); + $bridge->removePost($postId); + } + + public function providerRemovePost() { + return array( + array(null, 'Exception'), + array(1, null), + array(2, 'Exception') + ); + } + /** * @dataProvider providerGetDefaultForumId */ -- cgit v1.2.3