Completed
Push — master ( fc784d...7c0139 )
by Daniel
09:49
created

manager::reset()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 5
ccs 4
cts 4
cp 1
rs 9.4285
cc 1
eloc 3
nc 1
nop 0
crap 1
1
<?php
2
/**
3
 *
4
 * @package sitemaker
5
 * @copyright (c) 2013 Daniel A. (blitze)
6
 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
7
 *
8
 */
9
10
namespace blitze\sitemaker\services\forum;
11
12
class manager
13
{
14
	/** @var \phpbb\auth\auth */
15
	protected $auth;
16
17
	/** @var \phpbb\cache\driver\driver_interface */
18
	protected $cache;
19
20
	/** @var \phpbb\config\config */
21
	protected $config;
22
23
	/** @var \phpbb\db\driver\driver_interface */
24
	protected $db;
25
26
	/** @var \phpbb\user */
27
	protected $user;
28
29
	/** @var \acp_forums */
30
	protected $forum;
31
32
	/** @var string */
33
	protected $phpbb_root_path;
34
35
	/** @var string */
36
	protected $php_ext;
37
38
	/**
39
	 * Constructor
40
	 *
41
	 * @param \phpbb\auth\auth						$auth				Auth object
42
	 * @param \phpbb\cache\driver\driver_interface	$cache				Cache driver interface
43
	 * @param \phpbb\config\config					$config				Config object
44
	 * @param \phpbb\db\driver\driver_interface		$db					Database object
45
	 * @param \phpbb\user							$user				User object
46
	 * @param string								$phpbb_root_path	Path to the phpbb includes directory.
47
	 * @param string								$php_ext			php file extension
48
	 */
49 2
	public function __construct(\phpbb\auth\auth $auth, \phpbb\cache\driver\driver_interface $cache, \phpbb\config\config $config, \phpbb\db\driver\driver_interface $db, \phpbb\user $user, $phpbb_root_path, $php_ext)
50
	{
51 2
		$this->auth = $auth;
52 2
		$this->cache = $cache;
53 2
		$this->config = $config;
54 2
		$this->db = $db;
55 2
		$this->user = $user;
56 2
		$this->phpbb_root_path = $phpbb_root_path;
57 2
		$this->php_ext = $php_ext;
58 2
	}
59
60
	/**
61
	 * @return void
62
	 */
63 2
	protected function init()
64
	{
65 2
		if (!class_exists('acp_forums'))
66 2
		{
67 1
			include($this->phpbb_root_path . 'includes/acp/acp_forums.' . $this->php_ext);
68 1
		}
69
70 2
		$this->user->add_lang('acp/forums');
71 2
	}
72
73
	/**
74
	 * @param array $forum_data
75
	 * @param int $forum_perm_from
76
	 * @return array
77
	 */
78 1
	public function add(array &$forum_data, $forum_perm_from = 0)
79
	{
80 1
		$this->init();
81 1
		$errors = admin::save($forum_data);
82
83 1
		if (!sizeof($errors))
84 1
		{
85 1
			$forum_data['forum_id'] = (int) $forum_data['forum_id'];
86
87
			// Copy permissions?
88 1
			if ($forum_perm_from && $forum_perm_from != $forum_data['forum_id'])
89 1
			{
90 1
				copy_forum_permissions($forum_perm_from, array($forum_data['forum_id']), false, false);
91 1
				phpbb_cache_moderators($this->db, $this->cache, $this->auth);
92 1
			}
93
94 1
			$this->reset();
95 1
		}
96
97 1
		return $errors;
98
	}
99
100
	/**
101
	 * @param int $forum_id
102
	 * @param string $action_posts
103
	 * @param string $action_subforums
104
	 * @param int $posts_to_id
105
	 * @param int $subforums_to_id
106
	 */
107 1
	public function remove($forum_id, $action_posts = 'delete', $action_subforums = 'delete', $posts_to_id = 0, $subforums_to_id = 0)
108
	{
109 1
		$this->init();
110 1
		$errors = admin::remove($forum_id, $action_posts, $action_subforums, $posts_to_id, $subforums_to_id);
0 ignored issues
show
Bug introduced by
Are you sure the assignment to $errors is correct as \blitze\sitemaker\servic...o_id, $subforums_to_id) (which targets blitze\sitemaker\services\forum\admin::remove()) seems to always return null.

This check looks for function or method calls that always return null and whose return value is assigned to a variable.

class A
{
    function getObject()
    {
        return null;
    }

}

$a = new A();
$object = $a->getObject();

The method getObject() can return nothing but null, so it makes no sense to assign that value to a variable.

The reason is most likely that a function or method is imcomplete or has been reduced for debug purposes.

Loading history...
111
112 1
		if (!sizeof($errors))
113 1
		{
114 1
			$this->reset();
115 1
		}
116 1
	}
117
118
	/**
119
	 * @return void
120
	 */
121 2
	protected function reset()
122
	{
123 2
		$this->auth->acl_clear_prefetch();
124 2
		$this->cache->destroy('sql', FORUMS_TABLE);
125 2
	}
126
}
127