Issues (1223)

classes/admin/class-settings.php (17 issues)

1
<?php
2
/**
3
 * Contains the settings class for LSX
4
 *
5
 * @package lsx-team
6
 */
7
8
namespace lsx\team\classes\admin;
9
10
class Settings {
0 ignored issues
show
Coding Style Documentation introduced by
Missing doc comment for class Settings
Loading history...
11
12
	/**
13
	 * Holds class instance
14
	 *
15
	 * @since 1.0.0
16
	 *
17
	 * @var      object \lsx_team\classes\admin\Settings()
18
	 */
19
	protected static $instance = null;
20
21
	/**
22
	 * Option key, and option page slug
23
	 *
24
	 * @var string
25
	 */
26
	protected $screen_id = 'lsx_team_settings';
27
28
	/**
29
	 * Contructor
30
	 */
31
	public function __construct() {
0 ignored issues
show
Expected 2 blank lines before function; 1 found
Loading history...
32
		add_action( 'cmb2_admin_init', array( $this, 'register_settings_page' ) );
33
		add_action( 'lsx_team_settings_page', array( $this, 'general_settings' ), 1, 1 );
34
		add_action( 'lsx_team_settings_page', array( $this, 'global_defaults' ), 3, 1 );
35
	}
0 ignored issues
show
Expected 2 blank lines after function; 1 found
Loading history...
Expected 1 blank line before closing function brace; 0 found
Loading history...
36
37
	/**
38
	 * Return an instance of this class.
39
	 *
40
	 * @since 1.0.0
41
	 *
42
	 * @return    object Settings()    A single instance of this class.
43
	 */
44
	public static function get_instance() {
45
		// If the single instance hasn't been set, set it now.
46
		if ( null === self::$instance ) {
0 ignored issues
show
Expected 0 spaces after opening bracket; 1 found
Loading history...
Expected 0 spaces before closing bracket; 1 found
Loading history...
47
			self::$instance = new self();
48
		}
0 ignored issues
show
No blank line found after control structure
Loading history...
49
		return self::$instance;
50
	}
0 ignored issues
show
Expected 2 blank lines after function; 1 found
Loading history...
Expected 1 blank line before closing function brace; 0 found
Loading history...
51
52
	/**
53
	 * Hook in and register a submenu options page for the Page post-type menu.
54
	 */
55
	public function register_settings_page() {
56
		$cmb = new_cmb2_box(
57
			array(
58
				'id'           => $this->screen_id,
59
				'title'        => esc_html__( 'Settings', 'lsx-team' ),
60
				'object_types' => array( 'options-page' ),
61
				'option_key'   => 'lsx_team_options', // The option key and admin menu page slug.
62
				'parent_slug'  => 'edit.php?post_type=team', // Make options page a submenu item of the themes menu.
63
				'capability'   => 'manage_options', // Cap required to view options-page.
64
			)
65
		);
66
		do_action( 'lsx_team_settings_page', $cmb );
67
	}
0 ignored issues
show
Expected 2 blank lines after function; 1 found
Loading history...
Expected 1 blank line before closing function brace; 0 found
Loading history...
68
69
	/**
70
	 * Registers the general settings.
71
	 *
72
	 * @param object $cmb new_cmb2_box().
73
	 * @return void
74
	 */
75
	public function general_settings( $cmb ) {
76
		$cmb->add_field(
77
			array(
78
				'id'      => 'settings_general_title',
79
				'type'    => 'title',
80
				'name'    => __( 'General', 'lsx-team' ),
81
				'default' => __( 'General', 'lsx-team' ),
82
			)
83
		);
84
		$cmb->add_field(
85
			array(
86
				'name'        => __( 'Disable Single Posts', 'lsx-team' ),
87
				'id'          => 'team_disable_single',
88
				'type'        => 'checkbox',
89
				'value'       => 1,
90
				'default'     => 0,
91
				'description' => __( 'Disable Single Posts.', 'lsx-health-plan' ),
92
			)
93
		);
94
95
		$cmb->add_field(
96
			array(
97
				'name'        => __( 'Group By Role', 'lsx-team' ),
98
				'id'          => 'group_by_role',
99
				'type'        => 'checkbox',
100
				'value'       => 1,
101
				'default'     => 0,
102
				'description' => __( 'This setting creates Role sub-headings on the Team Member archive.', 'lsx-health-plan' ),
103
			)
104
		);
105
		$cmb->add_field( array(
0 ignored issues
show
The opening parenthesis of a multi-line function call should be the last content on the line.
Loading history...
106
			'name'    => 'Placeholder',
107
			'desc'    => __( 'This image displays on the archive, search results and team members single if no featured image is set.', 'lsx-health-plan' ),
108
			'id'      => 'team_placeholder',
109
			'type'    => 'file',
110
			'options' => array(
111
				'url' => false, // Hide the text input for the url.
112
			),
113
			'text'    => array(
114
				'add_upload_file_text' => 'Choose Image',
115
			),
116
		) );
0 ignored issues
show
For multi-line function calls, the closing parenthesis should be on a new line.

If a function call spawns multiple lines, the coding standard suggests to move the closing parenthesis to a new line:

someFunctionCall(
    $firstArgument,
    $secondArgument,
    $thirdArgument
); // Closing parenthesis on a new line.
Loading history...
117
		$cmb->add_field(
118
			array(
119
				'id'   => 'settings_general_closing',
120
				'type' => 'tab_closing',
121
			)
122
		);
123
	}
0 ignored issues
show
Expected 2 blank lines after function; 1 found
Loading history...
Expected 1 blank line before closing function brace; 0 found
Loading history...
124
125
	/**
126
	 * Registers the global default settings.
127
	 *
128
	 * @param object $cmb new_cmb2_box().
129
	 * @return void
130
	 */
131
	public function global_defaults( $cmb ) {
132
		$cmb->add_field(
133
			array(
134
				'id'      => 'global_defaults_title',
135
				'type'    => 'title',
136
				'name'    => __( 'Careers CTA', 'lsx-team' ),
137
				'default' => __( 'Careers CTA', 'lsx-team' ),
138
			)
139
		);
140
141
		$cmb->add_field(
142
			array(
143
				'name'        => __( 'Enable careers CTA', 'lsx-team' ),
144
				'id'          => 'team_careers_cta_enable',
145
				'type'        => 'checkbox',
146
				'value'       => 1,
147
				'default'     => 0,
148
				'description' => __( 'Displays careers CTA mystery man on team archive.', 'lsx-health-plan' ),
149
			)
150
		);
151
152
		$cmb->add_field(
153
			array(
154
				'name' => __( 'Title', 'lsx-team' ),
155
				'id'   => 'team_careers_cta_title',
156
				'type' => 'text',
157
			)
158
		);
159
160
		$cmb->add_field(
161
			array(
162
				'name' => __( 'Tagline', 'lsx-team' ),
163
				'id'   => 'team_careers_cta_tagline',
164
				'type' => 'text',
165
			)
166
		);
167
168
		$cmb->add_field(
169
			array(
170
				'name' => __( 'Link Text', 'lsx-team' ),
171
				'id'   => 'team_careers_cta_link_text',
172
				'type' => 'text',
173
			)
174
		);
175
176
		$cmb->add_field(
177
			array(
178
				'name' => __( 'Careers page link', 'lsx-team' ),
179
				'id'   => 'team_careers_cta_link',
180
				'type' => 'text',
181
			)
182
		);
183
184
		$cmb->add_field(
185
			array(
186
				'id'   => 'settings_global_defaults_closing',
187
				'type' => 'tab_closing',
188
			)
189
		);
190
	}
0 ignored issues
show
Expected 2 blank lines after function; 1 found
Loading history...
Expected 1 blank line before closing function brace; 0 found
Loading history...
191
192
}
193