Completed
Push — master ( 8affd2...f42d92 )
by Matt
07:11
created

acp_controller::set_u_action()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 5
ccs 5
cts 5
cp 1
rs 9.4285
cc 1
eloc 3
nc 1
nop 1
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
class acp_controller implements acp_controller_interface
19
{
20
	/** @var request */
21
	protected $request;
22
23
	/** @var settings */
24
	protected $settings;
25
26
	/** @var template */
27
	protected $template;
28
29
	/** @var user */
30
	protected $user;
31
32
	/** @var string */
33
	protected $u_action;
34
35
	/**
36
	 * Constructor
37
	 *
38
	 * @param request  $request
39
	 * @param settings $settings
40
	 * @param template $template
41
	 * @param user     $user
42
	 */
43 3
	public function __construct(request $request, settings $settings, template $template, user $user)
44
	{
45 3
		$this->request = $request;
46 3
		$this->settings = $settings;
47 3
		$this->template = $template;
48 3
		$this->user = $user;
49 3
	}
50
51
	/**
52
	 * @inheritdoc
53
	 */
54 3
	public function handle()
55
	{
56 3
		$this->user->add_lang_ext('vse/topicpreview', 'topic_preview_acp');
57
58 3
		$form_key = 'acp_topic_preview';
59 3
		add_form_key($form_key);
60
61 3
		if ($this->request->is_set_post('submit'))
62 3
		{
63 2
			if (!check_form_key($form_key))
64 2
			{
65 1
				trigger_error($this->user->lang('FORM_INVALID') . adm_back_link($this->u_action), E_USER_WARNING);
66
			}
67
68 1
			$this->settings->set_settings();
69
70 1
			trigger_error($this->user->lang('CONFIG_UPDATED') . adm_back_link($this->u_action));
71
		}
72
73 1
		$this->template->assign_vars($this->settings->display_settings($this->u_action));
74 1
	}
75
76
	/**
77
	 * @inheritdoc
78
	 */
79 2
	public function set_u_action($u_action)
80 1
	{
81 2
		$this->u_action = $u_action;
82 2
		return $this;
83 1
	}
84
}
85