From 36a4efb0d72f69a25a14d93c05fc587739915273 Mon Sep 17 00:00:00 2001 From: uckelman Date: Tue, 13 Apr 2010 22:04:55 +0000 Subject: Added getTopicId(). git-svn-id: https://vassalengine.svn.sourceforge.net/svnroot/vassalengine/site-src/trunk@6710 67b53d14-2c14-4ace-a08f-0dab2b34000c --- src/PhpBB3.php | 14 +++++++++++++- test/PhpBB3Test.php | 17 +++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/PhpBB3.php b/src/PhpBB3.php index ca75c24..3c6a508 100644 --- a/src/PhpBB3.php +++ b/src/PhpBB3.php @@ -44,13 +44,25 @@ class PhpBB3 { return $names[$id]; } + public function getTopicId($postId) { + throw_if_null($post_id); + + global $db; + + $sql = 'SELECT topic_id FROM ' . POSTS_TABLE . ' ' . + 'WHERE post_id = ' . $post_id; + + $row = $this->get_exactly_one_row($sql); + return $row ? $row['topic_id'] : false; + } + public function getTopicAndForumIds($post_id) { throw_if_null($post_id); global $db; $sql = 'SELECT topic_id, forum_id FROM ' . POSTS_TABLE . ' ' . - 'WHERE post_id = "' . $db->sql_escape($post_id) . '"'; + 'WHERE post_id = ' . $post_id; $row = $this->get_exactly_one_row($sql); return $row; diff --git a/test/PhpBB3Test.php b/test/PhpBB3Test.php index ee9246a..d43b386 100644 --- a/test/PhpBB3Test.php +++ b/test/PhpBB3Test.php @@ -66,6 +66,23 @@ EOF; ); } + /** + * @dataProvider providerGetTopicId + */ + public function testGetTopicId($post_id, $expected, $ex) { + if ($ex) $this->setExpectedException($ex); + $run = 'getTopicId(' . $post_id . ')'; + $this->assertEquals($expected, $this->exec_kludge($run)); + } + + public function providerGetTopicId() { + return array( + array(null, null, 'Exception'), + array('bogus', false, null), + array(2, 2, null) + ); + } + /** * @dataProvider providerGetTopicAndForumIds */ -- cgit v1.2.3