Completed
Pull Request — master (#33)
by Matt
07:11
created

acp_controller::display_settings()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 17
Code Lines 14

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 16
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 1
Metric Value
dl 0
loc 17
ccs 16
cts 16
cp 1
rs 9.4285
c 1
b 0
f 1
cc 1
eloc 14
nc 1
nop 0
crap 1
1
<?php
2
/**
3
*
4
* Topic Preview
5
*
6
* @copyright (c) 2013, 2016 Matt Friedman
7
* @license GNU General Public License, version 2 (GPL-2.0)
8
*
9
*/
10
11
namespace vse\topicpreview\controller;
12
13
use phpbb\request\request;
14
use phpbb\template\template;
15
use phpbb\user;
16
use vse\topicpreview\core\settings;
17
18
/**
19
 * Class acp_controller
20
 *
21
 * @package vse\topicpreview\controller
22
 */
23
class acp_controller implements acp_controller_interface
24
{
25
	/** @var request */
26
	protected $request;
27
28
	/** @var settings */
29
	protected $settings;
30
31
	/** @var template */
32
	protected $template;
33
34
	/** @var user */
35
	protected $user;
36
37
	/** @var string */
38
	protected $u_action;
39
40
	/**
41
	 * Constructor
42
	 *
43
	 * @param request  $request
44
	 * @param settings $settings
45
	 * @param template $template
46
	 * @param user     $user
47
	 */
48 3
	public function __construct(request $request, settings $settings, template $template, user $user)
49
	{
50 3
		$this->request	= $request;
51 3
		$this->settings = $settings;
52 3
		$this->template	= $template;
53 3
		$this->user		= $user;
54 3
	}
55
56
	/**
57
	 * @inheritdoc
58
	 */
59 3
	public function handle()
60
	{
61 3
		$this->user->add_lang_ext('vse/topicpreview', 'topic_preview_acp');
62
63 3
		$form_key = 'acp_topic_preview';
64 3
		add_form_key($form_key);
65
66 3
		if ($this->request->is_set_post('submit'))
67 3
		{
68 2
			if (!check_form_key($form_key))
69 2
			{
70 1
				trigger_error($this->user->lang('FORM_INVALID') . adm_back_link($this->u_action), E_USER_WARNING);
71
			}
72
73 1
			$this->settings->set_settings();
74
75 1
			trigger_error($this->user->lang('CONFIG_UPDATED') . adm_back_link($this->u_action));
76
		}
77
78 1
		$this->template->assign_vars($this->settings->display_settings($this->u_action));
79 1
	}
80
81
	/**
82
	 * @inheritdoc
83
	 */
84 2
	public function set_u_action($u_action)
85 1
	{
86 2
		$this->u_action = $u_action;
87 2
		return $this;
88
	}
89
}
90