Completed
Push — master ( 33cc2d...53fd1c )
by Marc
22s queued 15s
created

PhpbbHandling   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 57
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 1
dl 0
loc 57
c 0
b 0
f 0
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A bbcodeStripping() 0 17 1
A getTopicsFromForum() 0 15 1
1
<?php
2
/**
3
 *
4
 * @copyright (c) 2013 phpBB Group
5
 * @license http://opensource.org/licenses/gpl-3.0.php GNU General Public License v3
6
 * @author MichaelC
7
 *
8
 */
9
10
namespace AppBundle\Wrappers;
11
12
class PhpbbHandling
13
{
14
	/**
15
	 * Strip bbcodes from a post content
16
	 *
17
	 * @param  string $text The raw content from the database to strip bbcodes from
18
	 * @param  string $uid  The $uid used in encoding/decoding the bbcode
19
	 * @return string $text The post with bbcodes stripped
20
	 * @access public
21
	 * @static
22
	 */
23
	public static function bbcodeStripping($text, $uid = '[0-9a-z]{5,}')
24
	{
25
		$text = preg_replace("#\[\/?[a-z0-9\*\+\-]+(?:=(?:&quot;.*&quot;|[^\]]*))?(?::[a-z])?(\:$uid)\]#", ' ', $text);
26
		$match = array(
27
			'#<!\-\- e \-\-><a href="mailto:(.*?)">.*?</a><!\-\- e \-\->#',
28
			'#<!\-\- l \-\-><a (?:class="[\w-]+" )?href="(.*?)(?:(&amp;|\?)sid=[0-9a-f]{32})?">.*?</a><!\-\- l \-\->#',
29
			'#<!\-\- ([mw]) \-\-><a (?:class="[\w-]+" )?href="(.*?)">.*?</a><!\-\- \1 \-\->#',
30
			'#<!\-\- s(.*?) \-\-><img src="\{SMILIES_PATH\}\/.*? \/><!\-\- s\1 \-\->#',
31
			'#<!\-\- .*? \-\->#s',
32
			'#<.*?>#s',
33
		);
34
		$replace = array('\1', '\1', '\2', '\1', '', '');
35
36
		$text = preg_replace($match, $replace, $text);
37
38
		return $text;
39
	}
40
41
	/**
42
	 * Get the topic details from the forums table & the first post
43
	 *
44
	 * @param \Doctrine\DBAL\Connection	  $phpBBConnection	DBAL connection to a phpBB database
0 ignored issues
show
Documentation introduced by
There is no parameter named $phpBBConnection. Did you maybe mean $phpbbConnection?

This check looks for PHPDoc comments describing methods or function parameters that do not exist on the corresponding method or function. It has, however, found a similar but not annotated parameter which might be a good fit.

Consider the following example. The parameter $ireland is not defined by the method finale(...).

/**
 * @param array $germany
 * @param array $ireland
 */
function finale($germany, $island) {
    return "2:1";
}

The most likely cause is that the parameter was changed, but the annotation was not.

Loading history...
45
	 *															  (Doctrine\DBAL\Connection)
46
	 * @param integer $forum				ID for the forum to get topics from
47
	 * @param integer $retrieve_limit	   Maxmium number of topics to retrieved
48
	 * @param string  $database_prefix	  The prefix of the tables in the database (include underscore)
49
	 * @return array  $topics			   The topics from that forum
50
	 * @access public
51
	 * @static
52
	 */
53
	public static function getTopicsFromForum(\Doctrine\DBAL\Connection $phpbbConnection, $forum, $retrieve_limit, $database_prefix = 'phpbb_')
54
	{
55
		$sql = 'SELECT t.*, p.post_text, p.bbcode_uid
56
			FROM ' . $database_prefix . 'topics t
57
			LEFT JOIN ' . $database_prefix . 'posts p
58
				ON t.topic_first_post_id = p.post_id
59
			WHERE t.forum_id IN (' . $forum . ', 0)
60
				AND t.topic_visibility = 1
61
			ORDER BY topic_time DESC
62
			LIMIT 0,' . $retrieve_limit;
63
64
		$topics = $phpbbConnection->fetchAll($sql);
65
66
		return $topics;
67
	}
68
}
69