Passed
Push — add/multiplan ( 983152...5634c9 )
by
unknown
03:20
created
classes/admin/class-settings.php 2 patches
Spacing   +134 added lines, -134 removed lines patch added patch discarded remove patch
@@ -54,16 +54,16 @@  discard block
 block discarded – undo
54 54
 	 */
55 55
 	public function __construct() {
56 56
 		$this->load_classes();
57
-		add_action( 'cmb2_admin_init', array( $this, 'register_settings_page' ) );
58
-		add_action( 'lsx_hp_settings_page', array( $this, 'generate_tabs' ), 1, 1 );
59
-
60
-		add_action( 'lsx_hp_settings_page_general_top', array( $this, 'general_settings' ), 1, 1 );
61
-		add_action( 'lsx_hp_settings_page', array( $this, 'global_defaults' ), 3, 1 );
62
-		add_action( 'lsx_hp_settings_page', array( $this, 'global_downloads' ), 5, 1 );
63
-		add_action( 'lsx_hp_settings_page', array( $this, 'stat_disable' ), 6, 1 );
64
-		add_action( 'lsx_hp_settings_page', array( $this, 'endpoint_translations' ), 7, 1 );
65
-		add_action( 'lsx_hp_settings_page', array( $this, 'exercise_translations' ), 7, 1 );
66
-		add_action( 'lsx_hp_settings_page', array( $this, 'post_type_toggles' ), 9, 1 );
57
+		add_action('cmb2_admin_init', array($this, 'register_settings_page'));
58
+		add_action('lsx_hp_settings_page', array($this, 'generate_tabs'), 1, 1);
59
+
60
+		add_action('lsx_hp_settings_page_general_top', array($this, 'general_settings'), 1, 1);
61
+		add_action('lsx_hp_settings_page', array($this, 'global_defaults'), 3, 1);
62
+		add_action('lsx_hp_settings_page', array($this, 'global_downloads'), 5, 1);
63
+		add_action('lsx_hp_settings_page', array($this, 'stat_disable'), 6, 1);
64
+		add_action('lsx_hp_settings_page', array($this, 'endpoint_translations'), 7, 1);
65
+		add_action('lsx_hp_settings_page', array($this, 'exercise_translations'), 7, 1);
66
+		add_action('lsx_hp_settings_page', array($this, 'post_type_toggles'), 9, 1);
67 67
 	}
68 68
 
69 69
 	/**
@@ -75,7 +75,7 @@  discard block
 block discarded – undo
75 75
 	 */
76 76
 	public static function get_instance() {
77 77
 		// If the single instance hasn't been set, set it now.
78
-		if ( null === self::$instance ) {
78
+		if (null === self::$instance) {
79 79
 			self::$instance = new self();
80 80
 		}
81 81
 		return self::$instance;
@@ -95,7 +95,7 @@  discard block
 block discarded – undo
95 95
 			//'tip',
96 96
 		);
97 97
 
98
-		foreach ( $this->post_types as $post_type ) {
98
+		foreach ($this->post_types as $post_type) {
99 99
 			$this->$post_type = require_once LSX_HEALTH_PLAN_PATH . 'classes/admin/settings/class-' . $post_type . '.php';
100 100
 		}
101 101
 	}
@@ -107,124 +107,124 @@  discard block
 block discarded – undo
107 107
 	 */
108 108
 	public function set_vars() {
109 109
 
110
-		$this->default_types  = array(
110
+		$this->default_types = array(
111 111
 			'page' => array(
112
-				'title'       => __( 'Warm Up', 'lsx-health-plan' ),
113
-				'description' => __( 'Set a default warm up routine.', 'lsx-health-plan' ),
112
+				'title'       => __('Warm Up', 'lsx-health-plan'),
113
+				'description' => __('Set a default warm up routine.', 'lsx-health-plan'),
114 114
 				'limit'       => 1,
115 115
 				'id'          => 'plan_warmup',
116 116
 			),
117 117
 		);
118 118
 		$this->download_types = array(
119 119
 			'page' => array(
120
-				'title'       => __( 'Warm Up', 'lsx-health-plan' ),
121
-				'description' => __( 'Set a default warm up routine.', 'lsx-health-plan' ),
120
+				'title'       => __('Warm Up', 'lsx-health-plan'),
121
+				'description' => __('Set a default warm up routine.', 'lsx-health-plan'),
122 122
 				'limit'       => 1,
123 123
 			),
124 124
 		);
125
-		$this->endpoints      = array(
125
+		$this->endpoints = array(
126 126
 			'endpoint_warm_up' => array(
127
-				'title'       => __( 'Warm Up Endpoint', 'lsx-health-plan' ),
127
+				'title'       => __('Warm Up Endpoint', 'lsx-health-plan'),
128 128
 				'default'     => 'warm-up',
129 129
 			),
130 130
 		);
131 131
 
132
-		if ( post_type_exists( 'meal' ) ) {
133
-			$this->download_types['meal']     = array(
134
-				'title'       => __( 'Meal Plan', 'lsx-health-plan' ),
135
-				'description' => __( 'Set a default meal plan.', 'lsx-health-plan' ),
132
+		if (post_type_exists('meal')) {
133
+			$this->download_types['meal'] = array(
134
+				'title'       => __('Meal Plan', 'lsx-health-plan'),
135
+				'description' => __('Set a default meal plan.', 'lsx-health-plan'),
136 136
 			);
137
-			$this->default_types['meal']      = array(
138
-				'title'       => __( 'Meal Plan', 'lsx-health-plan' ),
139
-				'description' => __( 'Set a default meal plan.', 'lsx-health-plan' ),
137
+			$this->default_types['meal'] = array(
138
+				'title'       => __('Meal Plan', 'lsx-health-plan'),
139
+				'description' => __('Set a default meal plan.', 'lsx-health-plan'),
140 140
 				'id'          => 'connected_meals',
141 141
 			);
142 142
 			$this->endpoints['endpoint_meal'] = array(
143
-				'title'       => __( 'Meal Endpoint', 'lsx-health-plan' ),
143
+				'title'       => __('Meal Endpoint', 'lsx-health-plan'),
144 144
 				'default'     => 'meal',
145
-				'description' => __( 'Define the tab slug which shows on the single plan page.', 'lsx-health-plan' ),
145
+				'description' => __('Define the tab slug which shows on the single plan page.', 'lsx-health-plan'),
146 146
 			);
147 147
 			$this->endpoints['endpoint_meal_archive'] = array(
148
-				'title'   => __( 'Meals Archive Endpoint', 'lsx-health-plan' ),
148
+				'title'   => __('Meals Archive Endpoint', 'lsx-health-plan'),
149 149
 				'default' => 'meals',
150 150
 			);
151 151
 			$this->endpoints['meal_single_slug'] = array(
152
-				'title'   => __( 'Single Meal Slug', 'lsx-health-plan' ),
152
+				'title'   => __('Single Meal Slug', 'lsx-health-plan'),
153 153
 				'default' => 'meal',
154 154
 			);
155 155
 		}
156
-		if ( post_type_exists( 'recipe' ) ) {
156
+		if (post_type_exists('recipe')) {
157 157
 			$this->download_types['recipe'] = array(
158
-				'title'       => __( 'Recipe', 'lsx-health-plan' ),
159
-				'description' => __( 'Set a default recipe.', 'lsx-health-plan' ),
158
+				'title'       => __('Recipe', 'lsx-health-plan'),
159
+				'description' => __('Set a default recipe.', 'lsx-health-plan'),
160 160
 			);
161 161
 			$this->default_types['recipe'] = array(
162
-				'title'       => __( 'Recipe', 'lsx-health-plan' ),
163
-				'description' => __( 'Set a default recipe.', 'lsx-health-plan' ),
162
+				'title'       => __('Recipe', 'lsx-health-plan'),
163
+				'description' => __('Set a default recipe.', 'lsx-health-plan'),
164 164
 				'id'          => 'connected_recipes',
165 165
 			);
166 166
 			$this->endpoints['endpoint_recipe'] = array(
167
-				'title'   => __( 'Recipes Endpoint', 'lsx-health-plan' ),
167
+				'title'   => __('Recipes Endpoint', 'lsx-health-plan'),
168 168
 				'default' => 'recipe',
169 169
 			);
170 170
 		}
171
-		if ( post_type_exists( 'workout' ) ) {
171
+		if (post_type_exists('workout')) {
172 172
 			$this->download_types['workout'] = array(
173
-				'title'       => __( 'Workout', 'lsx-health-plan' ),
174
-				'description' => __( 'Set a default workout routine PDF.', 'lsx-health-plan' ),
173
+				'title'       => __('Workout', 'lsx-health-plan'),
174
+				'description' => __('Set a default workout routine PDF.', 'lsx-health-plan'),
175 175
 			);
176 176
 			$this->default_types['workout'] = array(
177
-				'title'       => __( 'Workout', 'lsx-health-plan' ),
178
-				'description' => __( 'Set a default workout routine.', 'lsx-health-plan' ),
177
+				'title'       => __('Workout', 'lsx-health-plan'),
178
+				'description' => __('Set a default workout routine.', 'lsx-health-plan'),
179 179
 				'id'          => 'connected_workouts',
180 180
 			);
181 181
 			$this->endpoints['endpoint_workout_archive'] = array(
182
-				'title'   => __( 'Workouts Archive Endpoint', 'lsx-health-plan' ),
182
+				'title'   => __('Workouts Archive Endpoint', 'lsx-health-plan'),
183 183
 				'default' => '',
184 184
 			);
185 185
 			$this->endpoints['endpoint_workout'] = array(
186
-				'title'   => __( 'Single Workout Endpoint', 'lsx-health-plan' ),
186
+				'title'   => __('Single Workout Endpoint', 'lsx-health-plan'),
187 187
 				'default' => 'workout',
188 188
 			);
189 189
 		}
190 190
 
191 191
 		$this->endpoints['login_slug'] = array(
192
-			'title'   => __( 'Login Slug', 'lsx-health-plan' ),
192
+			'title'   => __('Login Slug', 'lsx-health-plan'),
193 193
 			'default' => 'login',
194 194
 		);
195 195
 		$this->endpoints['my_plan_slug'] = array(
196
-			'title'   => __( 'My Plan Slug', 'lsx-health-plan' ),
196
+			'title'   => __('My Plan Slug', 'lsx-health-plan'),
197 197
 			'default' => 'my-plan',
198 198
 		);
199 199
 		$this->endpoints['plan_single_slug'] = array(
200
-			'title'   => __( 'Single Plan Slug', 'lsx-health-plan' ),
200
+			'title'   => __('Single Plan Slug', 'lsx-health-plan'),
201 201
 			'default' => 'plan',
202 202
 		);
203 203
 		$this->endpoints['endpoint_plan_archive'] = array(
204
-			'title'   => __( 'Plans Archive Endpoint', 'lsx-health-plan' ),
204
+			'title'   => __('Plans Archive Endpoint', 'lsx-health-plan'),
205 205
 			'default' => 'plans',
206 206
 		);
207 207
 
208
-		if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
208
+		if (false !== \lsx_health_plan\functions\get_option('exercise_enabled', false)) {
209 209
 			$this->endpoints['exercise'] = array(
210 210
 				'exercise_single' => array(
211
-					'title'   => __( 'Single Exercise Slug', 'lsx-health-plan' ),
211
+					'title'   => __('Single Exercise Slug', 'lsx-health-plan'),
212 212
 					'default' => 'exercise',
213 213
 				),
214 214
 				'exercise_archive' => array(
215
-					'title'   => __( 'Archive Exercise Slug', 'lsx-health-plan' ),
215
+					'title'   => __('Archive Exercise Slug', 'lsx-health-plan'),
216 216
 					'default' => 'exercises',
217 217
 				),
218 218
 				'exercise_type' => array(
219
-					'title'   => __( 'Exercise Type Slug', 'lsx-health-plan' ),
219
+					'title'   => __('Exercise Type Slug', 'lsx-health-plan'),
220 220
 					'default' => 'exercise-type',
221 221
 				),
222 222
 				'exercise_equipment' => array(
223
-					'title'   => __( 'Equipment Slug', 'lsx-health-plan' ),
223
+					'title'   => __('Equipment Slug', 'lsx-health-plan'),
224 224
 					'default' => 'equipment',
225 225
 				),
226 226
 				'exercise_musclegroup' => array(
227
-					'title'   => __( 'Muscle Group Slug', 'lsx-health-plan' ),
227
+					'title'   => __('Muscle Group Slug', 'lsx-health-plan'),
228 228
 					'default' => 'muscle-group',
229 229
 				),
230 230
 			);
@@ -239,14 +239,14 @@  discard block
 block discarded – undo
239 239
 		$cmb = new_cmb2_box(
240 240
 			array(
241 241
 				'id'           => $this->screen_id,
242
-				'title'        => esc_html__( 'Settings', 'lsx-health-plan' ),
243
-				'object_types' => array( 'options-page' ),
242
+				'title'        => esc_html__('Settings', 'lsx-health-plan'),
243
+				'object_types' => array('options-page'),
244 244
 				'option_key'   => 'lsx_health_plan_options', // The option key and admin menu page slug.
245 245
 				'parent_slug'  => 'edit.php?post_type=plan', // Make options page a submenu item of the themes menu.
246 246
 				'capability'   => 'manage_options', // Cap required to view options-page.
247 247
 			)
248 248
 		);
249
-		do_action( 'lsx_hp_settings_page', $cmb );
249
+		do_action('lsx_hp_settings_page', $cmb);
250 250
 	}
251 251
 
252 252
 	/**
@@ -255,17 +255,17 @@  discard block
 block discarded – undo
255 255
 	 * @param object $cmb new_cmb2_box().
256 256
 	 * @return void
257 257
 	 */
258
-	public function general_settings( $cmb ) {
258
+	public function general_settings($cmb) {
259 259
 		$cmb->add_field(
260 260
 			array(
261
-				'name'       => __( 'Membership Product', 'lsx-health-plan' ),
261
+				'name'       => __('Membership Product', 'lsx-health-plan'),
262 262
 				'id'         => 'membership_product',
263 263
 				'type'       => 'post_search_ajax',
264 264
 				'limit'      => 1,
265 265
 				'sortable'   => false,
266 266
 				'query_args' => array(
267
-					'post_type'      => array( 'product' ),
268
-					'post_status'    => array( 'publish' ),
267
+					'post_type'      => array('product'),
268
+					'post_status'    => array('publish'),
269 269
 					'posts_per_page' => -1,
270 270
 				),
271 271
 			)
@@ -273,43 +273,43 @@  discard block
 block discarded – undo
273 273
 
274 274
 		$cmb->add_field(
275 275
 			array(
276
-				'name'    => __( 'Your Warm-up Intro', 'lsx-health-plan' ),
276
+				'name'    => __('Your Warm-up Intro', 'lsx-health-plan'),
277 277
 				'id'      => 'warmup_intro',
278 278
 				'type'    => 'textarea_small',
279 279
 				'value'   => '',
280
-				'default' => __( "Don't forget your warm-up! It's a vital part of your daily workout routine.", 'lsx-health-plan' ),
280
+				'default' => __("Don't forget your warm-up! It's a vital part of your daily workout routine.", 'lsx-health-plan'),
281 281
 			)
282 282
 		);
283
-		if ( post_type_exists( 'workout' ) ) {
283
+		if (post_type_exists('workout')) {
284 284
 			$cmb->add_field(
285 285
 				array(
286
-					'name'    => __( 'Your Workout Intro', 'lsx-health-plan' ),
286
+					'name'    => __('Your Workout Intro', 'lsx-health-plan'),
287 287
 					'id'      => 'workout_intro',
288 288
 					'type'    => 'textarea_small',
289 289
 					'value'   => '',
290
-					'default' => __( "Let's do this! Smash your daily workout and reach your fitness goals.", 'lsx-health-plan' ),
290
+					'default' => __("Let's do this! Smash your daily workout and reach your fitness goals.", 'lsx-health-plan'),
291 291
 				)
292 292
 			);
293 293
 		}
294
-		if ( post_type_exists( 'meal' ) ) {
294
+		if (post_type_exists('meal')) {
295 295
 			$cmb->add_field(
296 296
 				array(
297
-					'name'    => __( 'Your Meal Plan Intro', 'lsx-health-plan' ),
297
+					'name'    => __('Your Meal Plan Intro', 'lsx-health-plan'),
298 298
 					'id'      => 'meal_plan_intro',
299 299
 					'type'    => 'textarea_small',
300 300
 					'value'   => '',
301
-					'default' => __( 'Get the right mix of nutrients to keep muscles strong & healthy.', 'lsx-health-plan' ),
301
+					'default' => __('Get the right mix of nutrients to keep muscles strong & healthy.', 'lsx-health-plan'),
302 302
 				)
303 303
 			);
304 304
 		}
305
-		if ( post_type_exists( 'recipe' ) ) {
305
+		if (post_type_exists('recipe')) {
306 306
 			$cmb->add_field(
307 307
 				array(
308
-					'name'    => __( 'Recipes Intro', 'lsx-health-plan' ),
308
+					'name'    => __('Recipes Intro', 'lsx-health-plan'),
309 309
 					'id'      => 'recipes_intro',
310 310
 					'type'    => 'textarea_small',
311 311
 					'value'   => '',
312
-					'default' => __( "Let's get cooking! Delicious and easy to follow recipes.", 'lsx-health-plan' ),
312
+					'default' => __("Let's get cooking! Delicious and easy to follow recipes.", 'lsx-health-plan'),
313 313
 				)
314 314
 			);
315 315
 		}
@@ -321,27 +321,27 @@  discard block
 block discarded – undo
321 321
 	 * @param object $cmb new_cmb2_box().
322 322
 	 * @return void
323 323
 	 */
324
-	public function global_defaults( $cmb ) {
324
+	public function global_defaults($cmb) {
325 325
 		$cmb->add_field(
326 326
 			array(
327 327
 				'id'      => 'global_defaults_title',
328 328
 				'type'    => 'title',
329
-				'name'    => __( 'Global Defaults', 'lsx-health-plan' ),
330
-				'default' => __( 'Global Defaults', 'lsx-health-plan' ),
331
-				'description' => __( 'If you have not connected a specific post to your day plan, set a default option below.', 'lsx-health-plan' ),
329
+				'name'    => __('Global Defaults', 'lsx-health-plan'),
330
+				'default' => __('Global Defaults', 'lsx-health-plan'),
331
+				'description' => __('If you have not connected a specific post to your day plan, set a default option below.', 'lsx-health-plan'),
332 332
 			)
333 333
 		);
334 334
 
335
-		foreach ( $this->default_types as $type => $default_type ) {
335
+		foreach ($this->default_types as $type => $default_type) {
336 336
 			$limit    = 5;
337 337
 			$sortable = false;
338
-			if ( isset( $default_type['limit'] ) ) {
338
+			if (isset($default_type['limit'])) {
339 339
 				$limit    = $default_type['limit'];
340 340
 				$sortable = true;
341 341
 			}
342 342
 
343
-			if ( 'page' === $type && false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
344
-				$type = array( 'page', 'workout' );
343
+			if ('page' === $type && false !== \lsx_health_plan\functions\get_option('exercise_enabled', false)) {
344
+				$type = array('page', 'workout');
345 345
 			}
346 346
 
347 347
 			$cmb->add_field(
@@ -354,7 +354,7 @@  discard block
 block discarded – undo
354 354
 					'sortable'   => $sortable,
355 355
 					'query_args' => array(
356 356
 						'post_type'      => $type,
357
-						'post_status'    => array( 'publish' ),
357
+						'post_status'    => array('publish'),
358 358
 						'posts_per_page' => -1,
359 359
 					),
360 360
 				)
@@ -375,21 +375,21 @@  discard block
 block discarded – undo
375 375
 	 * @param object $cmb new_cmb2_box().
376 376
 	 * @return void
377 377
 	 */
378
-	public function global_downloads( $cmb ) {
378
+	public function global_downloads($cmb) {
379 379
 		$cmb->add_field(
380 380
 			array(
381 381
 				'id'          => 'global_downloads_title',
382 382
 				'type'        => 'title',
383
-				'name'        => __( 'Global Downloads', 'lsx-health-plan' ),
384
-				'default'     => __( 'Global Downloads', 'lsx-health-plan' ),
385
-				'description' => __( 'If you have not connected a specific download file to your plans, set a default option below', 'lsx-health-plan' ),
383
+				'name'        => __('Global Downloads', 'lsx-health-plan'),
384
+				'default'     => __('Global Downloads', 'lsx-health-plan'),
385
+				'description' => __('If you have not connected a specific download file to your plans, set a default option below', 'lsx-health-plan'),
386 386
 			)
387 387
 		);
388 388
 
389
-		foreach ( $this->download_types as $type => $download_type ) {
389
+		foreach ($this->download_types as $type => $download_type) {
390 390
 			$limit    = 5;
391 391
 			$sortable = false;
392
-			if ( isset( $download_type['limit'] ) ) {
392
+			if (isset($download_type['limit'])) {
393 393
 				$limit    = $download_type['limit'];
394 394
 				$sortable = true;
395 395
 			}
@@ -402,8 +402,8 @@  discard block
 block discarded – undo
402 402
 					'limit'      => $limit,
403 403
 					'sortable'   => $sortable,
404 404
 					'query_args' => array(
405
-						'post_type'      => array( 'dlm_download' ),
406
-						'post_status'    => array( 'publish' ),
405
+						'post_type'      => array('dlm_download'),
406
+						'post_status'    => array('publish'),
407 407
 						'posts_per_page' => -1,
408 408
 					),
409 409
 				)
@@ -423,17 +423,17 @@  discard block
 block discarded – undo
423 423
 	 * @param object $cmb new_cmb2_box().
424 424
 	 * @return void
425 425
 	 */
426
-	public function endpoint_translations( $cmb ) {
426
+	public function endpoint_translations($cmb) {
427 427
 		$cmb->add_field(
428 428
 			array(
429 429
 				'id'          => 'endpoints_title',
430 430
 				'type'        => 'title',
431
-				'name'        => __( 'Set Endpoint Translations', 'lsx-health-plan' ),
432
-				'default'     => __( 'Set Endpoint Translations', 'lsx-health-plan' ),
431
+				'name'        => __('Set Endpoint Translations', 'lsx-health-plan'),
432
+				'default'     => __('Set Endpoint Translations', 'lsx-health-plan'),
433 433
 			)
434 434
 		);
435
-		foreach ( $this->endpoints as $slug => $endpoint_vars ) {
436
-			if ( 'exercise' === $slug ) {
435
+		foreach ($this->endpoints as $slug => $endpoint_vars) {
436
+			if ('exercise' === $slug) {
437 437
 				continue;
438 438
 			}
439 439
 
@@ -462,19 +462,19 @@  discard block
 block discarded – undo
462 462
 	 * @param object $cmb new_cmb2_box().
463 463
 	 * @return void
464 464
 	 */
465
-	public function exercise_translations( $cmb ) {
466
-		if ( isset( $this->endpoints['exercise'] ) && '' !== $this->endpoints['exercise'] && ! empty( $this->endpoints['exercise'] ) ) {
465
+	public function exercise_translations($cmb) {
466
+		if (isset($this->endpoints['exercise']) && '' !== $this->endpoints['exercise'] && ! empty($this->endpoints['exercise'])) {
467 467
 			$cmb->add_field(
468 468
 				array(
469 469
 					'id'          => 'exercise_endpoints_title',
470 470
 					'type'        => 'title',
471
-					'name'        => __( 'Set Exercise Translations', 'lsx-health-plan' ),
472
-					'default'     => __( 'Set Exercise Translations', 'lsx-health-plan' ),
473
-					'description' => __( 'Change the exercise endpoints.', 'lsx-health-plan' ),
471
+					'name'        => __('Set Exercise Translations', 'lsx-health-plan'),
472
+					'default'     => __('Set Exercise Translations', 'lsx-health-plan'),
473
+					'description' => __('Change the exercise endpoints.', 'lsx-health-plan'),
474 474
 				)
475 475
 			);
476 476
 
477
-			foreach ( $this->endpoints['exercise'] as $slug => $endpoint_vars ) {
477
+			foreach ($this->endpoints['exercise'] as $slug => $endpoint_vars) {
478 478
 				$cmb->add_field(
479 479
 					array(
480 480
 						'name'    => $endpoint_vars['title'],
@@ -502,27 +502,27 @@  discard block
 block discarded – undo
502 502
 	 * @param object $cmb new_cmb2_box().
503 503
 	 * @return void
504 504
 	 */
505
-	public function post_type_toggles( $cmb ) {
506
-		$post_types = apply_filters( 'lsx_health_plan_post_types', isset( $this->post_types ) );
505
+	public function post_type_toggles($cmb) {
506
+		$post_types = apply_filters('lsx_health_plan_post_types', isset($this->post_types));
507 507
 
508 508
 		$cmb->add_field(
509 509
 			array(
510 510
 				'id'          => 'post_type_toggles_title',
511 511
 				'type'        => 'title',
512
-				'name'        => __( 'Disable Post Types', 'lsx-health-plan' ),
513
-				'default'     => __( 'Disable Post Types', 'lsx-health-plan' ),
514
-				'description' => __( 'Disable post types if you are wanting a minimal site.', 'lsx-health-plan' ),
512
+				'name'        => __('Disable Post Types', 'lsx-health-plan'),
513
+				'default'     => __('Disable Post Types', 'lsx-health-plan'),
514
+				'description' => __('Disable post types if you are wanting a minimal site.', 'lsx-health-plan'),
515 515
 			)
516 516
 		);
517 517
 
518
-		foreach ( $post_types as $post_type ) {
519
-			if ( 'plan' === $post_type || 'exercise' === $post_type || ( 'video' === $post_type && false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) ) {
518
+		foreach ($post_types as $post_type) {
519
+			if ('plan' === $post_type || 'exercise' === $post_type || ('video' === $post_type && false !== \lsx_health_plan\functions\get_option('exercise_enabled', false))) {
520 520
 				continue;
521 521
 			}
522 522
 
523 523
 			$cmb->add_field(
524 524
 				array(
525
-					'name'    => ucwords( $post_type ),
525
+					'name'    => ucwords($post_type),
526 526
 					'id'      => $post_type . '_disabled',
527 527
 					'type'    => 'checkbox',
528 528
 					'value'   => 1,
@@ -542,19 +542,19 @@  discard block
 block discarded – undo
542 542
 			array(
543 543
 				'id'          => 'post_type_toggles_enable_title',
544 544
 				'type'        => 'title',
545
-				'name'        => __( 'Enable Post Types', 'lsx-health-plan' ),
546
-				'default'     => __( 'Enable Post Types', 'lsx-health-plan' ),
547
-				'description' => __( 'Enable new functionality like the "exercise" post type.', 'lsx-health-plan' ),
545
+				'name'        => __('Enable Post Types', 'lsx-health-plan'),
546
+				'default'     => __('Enable Post Types', 'lsx-health-plan'),
547
+				'description' => __('Enable new functionality like the "exercise" post type.', 'lsx-health-plan'),
548 548
 			)
549 549
 		);
550 550
 		$cmb->add_field(
551 551
 			array(
552
-				'name'        => __( 'Exercises', 'lsx-health-plan' ),
552
+				'name'        => __('Exercises', 'lsx-health-plan'),
553 553
 				'id'          => 'exercise_enabled',
554 554
 				'type'        => 'checkbox',
555 555
 				'value'       => 1,
556 556
 				'default'     => 0,
557
-				'description' => __( 'Enabling the exercise post type will automatically replace the Video post type.', 'lsx-health-plan' ),
557
+				'description' => __('Enabling the exercise post type will automatically replace the Video post type.', 'lsx-health-plan'),
558 558
 			)
559 559
 		);
560 560
 		$cmb->add_field(
@@ -571,18 +571,18 @@  discard block
 block discarded – undo
571 571
 	 * @return void
572 572
 	 */
573 573
 
574
-	public function stat_disable( $cmb ) {
574
+	public function stat_disable($cmb) {
575 575
 		$cmb->add_field(
576 576
 			array(
577 577
 				'id'      => 'stat_disable_title',
578 578
 				'type'    => 'title',
579
-				'name'    => __( 'Disable Profile Stats', 'lsx-health-plan' ),
580
-				'default' => __( 'Disable Profile Stats', 'lsx-health-plan' ),
579
+				'name'    => __('Disable Profile Stats', 'lsx-health-plan'),
580
+				'default' => __('Disable Profile Stats', 'lsx-health-plan'),
581 581
 			)
582 582
 		);
583 583
 		$cmb->add_field(
584 584
 			array(
585
-				'name'    => __( 'Disable All Stats', 'lsx-health-plan' ),
585
+				'name'    => __('Disable All Stats', 'lsx-health-plan'),
586 586
 				'desc'    => 'Disable All Stats',
587 587
 				'id'      => 'disable_all_stats',
588 588
 				'type'    => 'checkbox',
@@ -592,7 +592,7 @@  discard block
 block discarded – undo
592 592
 		);
593 593
 		$cmb->add_field(
594 594
 			array(
595
-				'name'    => __( 'Disable Weight', 'lsx-health-plan' ),
595
+				'name'    => __('Disable Weight', 'lsx-health-plan'),
596 596
 				'id'      => 'disable_weight_checkbox',
597 597
 				'type'    => 'checkbox',
598 598
 				'value'   => 1,
@@ -601,7 +601,7 @@  discard block
 block discarded – undo
601 601
 		);
602 602
 		$cmb->add_field(
603 603
 			array(
604
-				'name'    => __( 'Disable Height', 'lsx-health-plan' ),
604
+				'name'    => __('Disable Height', 'lsx-health-plan'),
605 605
 				'id'      => 'disable_height_checkbox',
606 606
 				'type'    => 'checkbox',
607 607
 				'value'   => 1,
@@ -610,7 +610,7 @@  discard block
 block discarded – undo
610 610
 		);
611 611
 		$cmb->add_field(
612 612
 			array(
613
-				'name'    => __( 'Disable Waist', 'lsx-health-plan' ),
613
+				'name'    => __('Disable Waist', 'lsx-health-plan'),
614 614
 				'id'      => 'disable_waist_checkbox',
615 615
 				'type'    => 'checkbox',
616 616
 				'value'   => 1,
@@ -619,7 +619,7 @@  discard block
 block discarded – undo
619 619
 		);
620 620
 		$cmb->add_field(
621 621
 			array(
622
-				'name'    => __( 'Disable BMI', 'lsx-health-plan' ),
622
+				'name'    => __('Disable BMI', 'lsx-health-plan'),
623 623
 				'id'      => 'disable_bmi_checkbox',
624 624
 				'type'    => 'checkbox',
625 625
 				'value'   => 1,
@@ -641,10 +641,10 @@  discard block
 block discarded – undo
641 641
 	 * @param string $section either engine,archive or single.
642 642
 	 * @return void
643 643
 	 */
644
-	public function generate_tabs( $cmb ) {
644
+	public function generate_tabs($cmb) {
645 645
 		$tabs = $this->get_settings_tabs();
646 646
 
647
-		foreach ( $tabs as $tab_key => $tab ) {
647
+		foreach ($tabs as $tab_key => $tab) {
648 648
 			$cmb->add_field(
649 649
 				array(
650 650
 					'id'          => 'settings_' . $tab_key . '_title',
@@ -654,11 +654,11 @@  discard block
 block discarded – undo
654 654
 					'description' => $tab['desc'],
655 655
 				)
656 656
 			);
657
-			do_action( 'lsx_hp_settings_page_' . $tab_key . '_top', $cmb );
657
+			do_action('lsx_hp_settings_page_' . $tab_key . '_top', $cmb);
658 658
 
659
-			do_action( 'lsx_hp_settings_page_' . $tab_key . '_middle', $cmb );
659
+			do_action('lsx_hp_settings_page_' . $tab_key . '_middle', $cmb);
660 660
 
661
-			do_action( 'lsx_hp_settings_page_' . $tab_key . '_bottom', $cmb );
661
+			do_action('lsx_hp_settings_page_' . $tab_key . '_bottom', $cmb);
662 662
 
663 663
 			$cmb->add_field(
664 664
 				array(
@@ -678,26 +678,26 @@  discard block
 block discarded – undo
678 678
 	public function get_settings_tabs() {
679 679
 		$tabs = array(
680 680
 			'general' => array(
681
-				'title' => __( 'General', 'lsx-health-plan' ),
682
-				'desc'  => __( 'Control the sitewide settings for the LSX HP site.', 'lsx-health-plan' ),
681
+				'title' => __('General', 'lsx-health-plan'),
682
+				'desc'  => __('Control the sitewide settings for the LSX HP site.', 'lsx-health-plan'),
683 683
 			),
684 684
 		);
685 685
 
686
-		foreach ( $this->post_types as $post_type ) {
687
-			switch ( $post_type ) {
686
+		foreach ($this->post_types as $post_type) {
687
+			switch ($post_type) {
688 688
 				default:
689 689
 					//if ( ! in_array( $post_type, \lsx\search\includes\get_restricted_post_types() ) ) {
690
-						$temp_post_type = get_post_type_object( $post_type );
691
-						if ( ! is_wp_error( $temp_post_type ) ) {
692
-							$page_url    = get_post_type_archive_link( $temp_post_type->name );
690
+						$temp_post_type = get_post_type_object($post_type);
691
+						if ( ! is_wp_error($temp_post_type)) {
692
+							$page_url    = get_post_type_archive_link($temp_post_type->name);
693 693
 							$description = sprintf(
694 694
 								/* translators: %s: The subscription info */
695
-								__( 'Control the settings for your <a target="_blank" href="%1$s">%2$s</a> archive.', 'lsx-search' ),
695
+								__('Control the settings for your <a target="_blank" href="%1$s">%2$s</a> archive.', 'lsx-search'),
696 696
 								$page_url,
697 697
 								$temp_post_type->label
698 698
 							);
699 699
 
700
-							$tabs[ $post_type ] = array(
700
+							$tabs[$post_type] = array(
701 701
 								'title' => $temp_post_type->label,
702 702
 								'desc'  => $description,
703 703
 							);
Please login to merge, or discard this patch.
Indentation   +696 added lines, -696 removed lines patch added patch discarded remove patch
@@ -12,700 +12,700 @@
 block discarded – undo
12 12
  */
13 13
 class Settings {
14 14
 
15
-	/**
16
-	 * Holds class instance
17
-	 *
18
-	 * @since 1.0.0
19
-	 *
20
-	 * @var      object \lsx_health_plan\classes\admin\Settings()
21
-	 */
22
-	protected static $instance = null;
23
-
24
-	/**
25
-	 * Option key, and option page slug
26
-	 *
27
-	 * @var string
28
-	 */
29
-	protected $screen_id = 'lsx_health_plan_settings';
30
-
31
-	/**
32
-	 * An array of the post types for the Global Downloads field.
33
-	 *
34
-	 * @var array
35
-	 */
36
-	public $download_types = array();
37
-
38
-	/**
39
-	 * An array of the post types for the Global Defaults field.
40
-	 *
41
-	 * @var array
42
-	 */
43
-	public $default_types = array();
44
-
45
-	/**
46
-	 * An array of the endpoints for the Endpoint Translation field.
47
-	 *
48
-	 * @var array
49
-	 */
50
-	public $endpoints = array();
51
-
52
-	/**
53
-	 * Constructor
54
-	 */
55
-	public function __construct() {
56
-		$this->load_classes();
57
-		add_action( 'cmb2_admin_init', array( $this, 'register_settings_page' ) );
58
-		add_action( 'lsx_hp_settings_page', array( $this, 'generate_tabs' ), 1, 1 );
59
-
60
-		add_action( 'lsx_hp_settings_page_general_top', array( $this, 'general_settings' ), 1, 1 );
61
-		add_action( 'lsx_hp_settings_page', array( $this, 'global_defaults' ), 3, 1 );
62
-		add_action( 'lsx_hp_settings_page', array( $this, 'global_downloads' ), 5, 1 );
63
-		add_action( 'lsx_hp_settings_page', array( $this, 'stat_disable' ), 6, 1 );
64
-		add_action( 'lsx_hp_settings_page', array( $this, 'endpoint_translations' ), 7, 1 );
65
-		add_action( 'lsx_hp_settings_page', array( $this, 'exercise_translations' ), 7, 1 );
66
-		add_action( 'lsx_hp_settings_page', array( $this, 'post_type_toggles' ), 9, 1 );
67
-	}
68
-
69
-	/**
70
-	 * Return an instance of this class.
71
-	 *
72
-	 * @since 1.0.0
73
-	 *
74
-	 * @return    object \lsx_health_plan\classes\admin\Settings()    A single instance of this class.
75
-	 */
76
-	public static function get_instance() {
77
-		// If the single instance hasn't been set, set it now.
78
-		if ( null === self::$instance ) {
79
-			self::$instance = new self();
80
-		}
81
-		return self::$instance;
82
-	}
83
-
84
-	/**
85
-	 * Loads the variable classes and the static classes.
86
-	 */
87
-	private function load_classes() {
88
-
89
-		$this->post_types = array(
90
-			'plan',
91
-			'workout',
92
-			'exercise',
93
-			//'meal',
94
-			'recipe',
95
-			//'tip',
96
-		);
97
-
98
-		foreach ( $this->post_types as $post_type ) {
99
-			$this->$post_type = require_once LSX_HEALTH_PLAN_PATH . 'classes/admin/settings/class-' . $post_type . '.php';
100
-		}
101
-	}
102
-
103
-	/**
104
-	 * Sets the variables needed for the fields.
105
-	 *
106
-	 * @return void
107
-	 */
108
-	public function set_vars() {
109
-
110
-		$this->default_types  = array(
111
-			'page' => array(
112
-				'title'       => __( 'Warm Up', 'lsx-health-plan' ),
113
-				'description' => __( 'Set a default warm up routine.', 'lsx-health-plan' ),
114
-				'limit'       => 1,
115
-				'id'          => 'plan_warmup',
116
-			),
117
-		);
118
-		$this->download_types = array(
119
-			'page' => array(
120
-				'title'       => __( 'Warm Up', 'lsx-health-plan' ),
121
-				'description' => __( 'Set a default warm up routine.', 'lsx-health-plan' ),
122
-				'limit'       => 1,
123
-			),
124
-		);
125
-		$this->endpoints      = array(
126
-			'endpoint_warm_up' => array(
127
-				'title'       => __( 'Warm Up Endpoint', 'lsx-health-plan' ),
128
-				'default'     => 'warm-up',
129
-			),
130
-		);
131
-
132
-		if ( post_type_exists( 'meal' ) ) {
133
-			$this->download_types['meal']     = array(
134
-				'title'       => __( 'Meal Plan', 'lsx-health-plan' ),
135
-				'description' => __( 'Set a default meal plan.', 'lsx-health-plan' ),
136
-			);
137
-			$this->default_types['meal']      = array(
138
-				'title'       => __( 'Meal Plan', 'lsx-health-plan' ),
139
-				'description' => __( 'Set a default meal plan.', 'lsx-health-plan' ),
140
-				'id'          => 'connected_meals',
141
-			);
142
-			$this->endpoints['endpoint_meal'] = array(
143
-				'title'       => __( 'Meal Endpoint', 'lsx-health-plan' ),
144
-				'default'     => 'meal',
145
-				'description' => __( 'Define the tab slug which shows on the single plan page.', 'lsx-health-plan' ),
146
-			);
147
-			$this->endpoints['endpoint_meal_archive'] = array(
148
-				'title'   => __( 'Meals Archive Endpoint', 'lsx-health-plan' ),
149
-				'default' => 'meals',
150
-			);
151
-			$this->endpoints['meal_single_slug'] = array(
152
-				'title'   => __( 'Single Meal Slug', 'lsx-health-plan' ),
153
-				'default' => 'meal',
154
-			);
155
-		}
156
-		if ( post_type_exists( 'recipe' ) ) {
157
-			$this->download_types['recipe'] = array(
158
-				'title'       => __( 'Recipe', 'lsx-health-plan' ),
159
-				'description' => __( 'Set a default recipe.', 'lsx-health-plan' ),
160
-			);
161
-			$this->default_types['recipe'] = array(
162
-				'title'       => __( 'Recipe', 'lsx-health-plan' ),
163
-				'description' => __( 'Set a default recipe.', 'lsx-health-plan' ),
164
-				'id'          => 'connected_recipes',
165
-			);
166
-			$this->endpoints['endpoint_recipe'] = array(
167
-				'title'   => __( 'Recipes Endpoint', 'lsx-health-plan' ),
168
-				'default' => 'recipe',
169
-			);
170
-		}
171
-		if ( post_type_exists( 'workout' ) ) {
172
-			$this->download_types['workout'] = array(
173
-				'title'       => __( 'Workout', 'lsx-health-plan' ),
174
-				'description' => __( 'Set a default workout routine PDF.', 'lsx-health-plan' ),
175
-			);
176
-			$this->default_types['workout'] = array(
177
-				'title'       => __( 'Workout', 'lsx-health-plan' ),
178
-				'description' => __( 'Set a default workout routine.', 'lsx-health-plan' ),
179
-				'id'          => 'connected_workouts',
180
-			);
181
-			$this->endpoints['endpoint_workout_archive'] = array(
182
-				'title'   => __( 'Workouts Archive Endpoint', 'lsx-health-plan' ),
183
-				'default' => '',
184
-			);
185
-			$this->endpoints['endpoint_workout'] = array(
186
-				'title'   => __( 'Single Workout Endpoint', 'lsx-health-plan' ),
187
-				'default' => 'workout',
188
-			);
189
-		}
190
-
191
-		$this->endpoints['login_slug'] = array(
192
-			'title'   => __( 'Login Slug', 'lsx-health-plan' ),
193
-			'default' => 'login',
194
-		);
195
-		$this->endpoints['my_plan_slug'] = array(
196
-			'title'   => __( 'My Plan Slug', 'lsx-health-plan' ),
197
-			'default' => 'my-plan',
198
-		);
199
-		$this->endpoints['plan_single_slug'] = array(
200
-			'title'   => __( 'Single Plan Slug', 'lsx-health-plan' ),
201
-			'default' => 'plan',
202
-		);
203
-		$this->endpoints['endpoint_plan_archive'] = array(
204
-			'title'   => __( 'Plans Archive Endpoint', 'lsx-health-plan' ),
205
-			'default' => 'plans',
206
-		);
207
-
208
-		if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
209
-			$this->endpoints['exercise'] = array(
210
-				'exercise_single' => array(
211
-					'title'   => __( 'Single Exercise Slug', 'lsx-health-plan' ),
212
-					'default' => 'exercise',
213
-				),
214
-				'exercise_archive' => array(
215
-					'title'   => __( 'Archive Exercise Slug', 'lsx-health-plan' ),
216
-					'default' => 'exercises',
217
-				),
218
-				'exercise_type' => array(
219
-					'title'   => __( 'Exercise Type Slug', 'lsx-health-plan' ),
220
-					'default' => 'exercise-type',
221
-				),
222
-				'exercise_equipment' => array(
223
-					'title'   => __( 'Equipment Slug', 'lsx-health-plan' ),
224
-					'default' => 'equipment',
225
-				),
226
-				'exercise_musclegroup' => array(
227
-					'title'   => __( 'Muscle Group Slug', 'lsx-health-plan' ),
228
-					'default' => 'muscle-group',
229
-				),
230
-			);
231
-		}
232
-	}
233
-
234
-	/**
235
-	 * Hook in and register a submenu options page for the Page post-type menu.
236
-	 */
237
-	public function register_settings_page() {
238
-		$this->set_vars();
239
-		$cmb = new_cmb2_box(
240
-			array(
241
-				'id'           => $this->screen_id,
242
-				'title'        => esc_html__( 'Settings', 'lsx-health-plan' ),
243
-				'object_types' => array( 'options-page' ),
244
-				'option_key'   => 'lsx_health_plan_options', // The option key and admin menu page slug.
245
-				'parent_slug'  => 'edit.php?post_type=plan', // Make options page a submenu item of the themes menu.
246
-				'capability'   => 'manage_options', // Cap required to view options-page.
247
-			)
248
-		);
249
-		do_action( 'lsx_hp_settings_page', $cmb );
250
-	}
251
-
252
-	/**
253
-	 * Registers the general settings.
254
-	 *
255
-	 * @param object $cmb new_cmb2_box().
256
-	 * @return void
257
-	 */
258
-	public function general_settings( $cmb ) {
259
-		$cmb->add_field(
260
-			array(
261
-				'name'       => __( 'Membership Product', 'lsx-health-plan' ),
262
-				'id'         => 'membership_product',
263
-				'type'       => 'post_search_ajax',
264
-				'limit'      => 1,
265
-				'sortable'   => false,
266
-				'query_args' => array(
267
-					'post_type'      => array( 'product' ),
268
-					'post_status'    => array( 'publish' ),
269
-					'posts_per_page' => -1,
270
-				),
271
-			)
272
-		);
273
-
274
-		$cmb->add_field(
275
-			array(
276
-				'name'    => __( 'Your Warm-up Intro', 'lsx-health-plan' ),
277
-				'id'      => 'warmup_intro',
278
-				'type'    => 'textarea_small',
279
-				'value'   => '',
280
-				'default' => __( "Don't forget your warm-up! It's a vital part of your daily workout routine.", 'lsx-health-plan' ),
281
-			)
282
-		);
283
-		if ( post_type_exists( 'workout' ) ) {
284
-			$cmb->add_field(
285
-				array(
286
-					'name'    => __( 'Your Workout Intro', 'lsx-health-plan' ),
287
-					'id'      => 'workout_intro',
288
-					'type'    => 'textarea_small',
289
-					'value'   => '',
290
-					'default' => __( "Let's do this! Smash your daily workout and reach your fitness goals.", 'lsx-health-plan' ),
291
-				)
292
-			);
293
-		}
294
-		if ( post_type_exists( 'meal' ) ) {
295
-			$cmb->add_field(
296
-				array(
297
-					'name'    => __( 'Your Meal Plan Intro', 'lsx-health-plan' ),
298
-					'id'      => 'meal_plan_intro',
299
-					'type'    => 'textarea_small',
300
-					'value'   => '',
301
-					'default' => __( 'Get the right mix of nutrients to keep muscles strong & healthy.', 'lsx-health-plan' ),
302
-				)
303
-			);
304
-		}
305
-		if ( post_type_exists( 'recipe' ) ) {
306
-			$cmb->add_field(
307
-				array(
308
-					'name'    => __( 'Recipes Intro', 'lsx-health-plan' ),
309
-					'id'      => 'recipes_intro',
310
-					'type'    => 'textarea_small',
311
-					'value'   => '',
312
-					'default' => __( "Let's get cooking! Delicious and easy to follow recipes.", 'lsx-health-plan' ),
313
-				)
314
-			);
315
-		}
316
-	}
317
-
318
-	/**
319
-	 * Registers the global default settings.
320
-	 *
321
-	 * @param object $cmb new_cmb2_box().
322
-	 * @return void
323
-	 */
324
-	public function global_defaults( $cmb ) {
325
-		$cmb->add_field(
326
-			array(
327
-				'id'      => 'global_defaults_title',
328
-				'type'    => 'title',
329
-				'name'    => __( 'Global Defaults', 'lsx-health-plan' ),
330
-				'default' => __( 'Global Defaults', 'lsx-health-plan' ),
331
-				'description' => __( 'If you have not connected a specific post to your day plan, set a default option below.', 'lsx-health-plan' ),
332
-			)
333
-		);
334
-
335
-		foreach ( $this->default_types as $type => $default_type ) {
336
-			$limit    = 5;
337
-			$sortable = false;
338
-			if ( isset( $default_type['limit'] ) ) {
339
-				$limit    = $default_type['limit'];
340
-				$sortable = true;
341
-			}
342
-
343
-			if ( 'page' === $type && false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
344
-				$type = array( 'page', 'workout' );
345
-			}
346
-
347
-			$cmb->add_field(
348
-				array(
349
-					'name'       => $default_type['title'],
350
-					'desc'       => $default_type['description'],
351
-					'id'         => $default_type['id'],
352
-					'type'       => 'post_search_ajax',
353
-					'limit'      => $limit,
354
-					'sortable'   => $sortable,
355
-					'query_args' => array(
356
-						'post_type'      => $type,
357
-						'post_status'    => array( 'publish' ),
358
-						'posts_per_page' => -1,
359
-					),
360
-				)
361
-			);
362
-		}
363
-
364
-		$cmb->add_field(
365
-			array(
366
-				'id'   => 'settings_global_defaults_closing',
367
-				'type' => 'tab_closing',
368
-			)
369
-		);
370
-	}
371
-
372
-	/**
373
-	 * Registers the global dowloads settings
374
-	 *
375
-	 * @param object $cmb new_cmb2_box().
376
-	 * @return void
377
-	 */
378
-	public function global_downloads( $cmb ) {
379
-		$cmb->add_field(
380
-			array(
381
-				'id'          => 'global_downloads_title',
382
-				'type'        => 'title',
383
-				'name'        => __( 'Global Downloads', 'lsx-health-plan' ),
384
-				'default'     => __( 'Global Downloads', 'lsx-health-plan' ),
385
-				'description' => __( 'If you have not connected a specific download file to your plans, set a default option below', 'lsx-health-plan' ),
386
-			)
387
-		);
388
-
389
-		foreach ( $this->download_types as $type => $download_type ) {
390
-			$limit    = 5;
391
-			$sortable = false;
392
-			if ( isset( $download_type['limit'] ) ) {
393
-				$limit    = $download_type['limit'];
394
-				$sortable = true;
395
-			}
396
-
397
-			$cmb->add_field(
398
-				array(
399
-					'name'       => $download_type['title'],
400
-					'id'         => 'download_' . $type,
401
-					'type'       => 'post_search_ajax',
402
-					'limit'      => $limit,
403
-					'sortable'   => $sortable,
404
-					'query_args' => array(
405
-						'post_type'      => array( 'dlm_download' ),
406
-						'post_status'    => array( 'publish' ),
407
-						'posts_per_page' => -1,
408
-					),
409
-				)
410
-			);
411
-		}
412
-		$cmb->add_field(
413
-			array(
414
-				'id'   => 'settings_global_downloads_closing',
415
-				'type' => 'tab_closing',
416
-			)
417
-		);
418
-	}
419
-
420
-	/**
421
-	 * Registers the endpoint translation settings.
422
-	 *
423
-	 * @param object $cmb new_cmb2_box().
424
-	 * @return void
425
-	 */
426
-	public function endpoint_translations( $cmb ) {
427
-		$cmb->add_field(
428
-			array(
429
-				'id'          => 'endpoints_title',
430
-				'type'        => 'title',
431
-				'name'        => __( 'Set Endpoint Translations', 'lsx-health-plan' ),
432
-				'default'     => __( 'Set Endpoint Translations', 'lsx-health-plan' ),
433
-			)
434
-		);
435
-		foreach ( $this->endpoints as $slug => $endpoint_vars ) {
436
-			if ( 'exercise' === $slug ) {
437
-				continue;
438
-			}
439
-
440
-			$cmb->add_field(
441
-				array(
442
-					'name'    => $endpoint_vars['title'],
443
-					'id'      => $slug,
444
-					'type'    => 'input',
445
-					'value'   => '',
446
-					'default' => $endpoint_vars['default'],
447
-				)
448
-			);
449
-		}
450
-		$cmb->add_field(
451
-			array(
452
-				'id'            => 'settings_endpoints_closing',
453
-				'type'          => 'tab_closing',
454
-				'before_row'    => '<p style="margin-top:20px; font-style: italic;">Endpoint is a web address (URL) at which the user can gain access to it. You need to resave your permalinks after changing the endpoint settings.</p>',
455
-			)
456
-		);
457
-	}
458
-
459
-	/**
460
-	 * Registers the endpoint translation settings.
461
-	 *
462
-	 * @param object $cmb new_cmb2_box().
463
-	 * @return void
464
-	 */
465
-	public function exercise_translations( $cmb ) {
466
-		if ( isset( $this->endpoints['exercise'] ) && '' !== $this->endpoints['exercise'] && ! empty( $this->endpoints['exercise'] ) ) {
467
-			$cmb->add_field(
468
-				array(
469
-					'id'          => 'exercise_endpoints_title',
470
-					'type'        => 'title',
471
-					'name'        => __( 'Set Exercise Translations', 'lsx-health-plan' ),
472
-					'default'     => __( 'Set Exercise Translations', 'lsx-health-plan' ),
473
-					'description' => __( 'Change the exercise endpoints.', 'lsx-health-plan' ),
474
-				)
475
-			);
476
-
477
-			foreach ( $this->endpoints['exercise'] as $slug => $endpoint_vars ) {
478
-				$cmb->add_field(
479
-					array(
480
-						'name'    => $endpoint_vars['title'],
481
-						'id'      => 'endpoint_' . $slug,
482
-						'type'    => 'input',
483
-						'value'   => '',
484
-						'default' => $endpoint_vars['default'],
485
-					)
486
-				);
487
-			}
488
-
489
-			$cmb->add_field(
490
-				array(
491
-					'id'            => 'settings_exercise_endpoints_closing',
492
-					'type'          => 'tab_closing',
493
-					'before_row'    => '<p style="margin-top:20px; font-style: italic;">If you need to translate the exercise URL endpoints, do so below.</p>',
494
-				)
495
-			);
496
-		}
497
-	}
498
-
499
-	/**
500
-	 * Registers the post type toggle settings
501
-	 *
502
-	 * @param object $cmb new_cmb2_box().
503
-	 * @return void
504
-	 */
505
-	public function post_type_toggles( $cmb ) {
506
-		$post_types = apply_filters( 'lsx_health_plan_post_types', isset( $this->post_types ) );
507
-
508
-		$cmb->add_field(
509
-			array(
510
-				'id'          => 'post_type_toggles_title',
511
-				'type'        => 'title',
512
-				'name'        => __( 'Disable Post Types', 'lsx-health-plan' ),
513
-				'default'     => __( 'Disable Post Types', 'lsx-health-plan' ),
514
-				'description' => __( 'Disable post types if you are wanting a minimal site.', 'lsx-health-plan' ),
515
-			)
516
-		);
517
-
518
-		foreach ( $post_types as $post_type ) {
519
-			if ( 'plan' === $post_type || 'exercise' === $post_type || ( 'video' === $post_type && false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) ) {
520
-				continue;
521
-			}
522
-
523
-			$cmb->add_field(
524
-				array(
525
-					'name'    => ucwords( $post_type ),
526
-					'id'      => $post_type . '_disabled',
527
-					'type'    => 'checkbox',
528
-					'value'   => 1,
529
-					'default' => 0,
530
-				)
531
-			);
532
-		}
533
-
534
-		$cmb->add_field(
535
-			array(
536
-				'id'   => 'settings_post_type_toggles_closing',
537
-				'type' => 'tab_closing',
538
-			)
539
-		);
540
-
541
-		$cmb->add_field(
542
-			array(
543
-				'id'          => 'post_type_toggles_enable_title',
544
-				'type'        => 'title',
545
-				'name'        => __( 'Enable Post Types', 'lsx-health-plan' ),
546
-				'default'     => __( 'Enable Post Types', 'lsx-health-plan' ),
547
-				'description' => __( 'Enable new functionality like the "exercise" post type.', 'lsx-health-plan' ),
548
-			)
549
-		);
550
-		$cmb->add_field(
551
-			array(
552
-				'name'        => __( 'Exercises', 'lsx-health-plan' ),
553
-				'id'          => 'exercise_enabled',
554
-				'type'        => 'checkbox',
555
-				'value'       => 1,
556
-				'default'     => 0,
557
-				'description' => __( 'Enabling the exercise post type will automatically replace the Video post type.', 'lsx-health-plan' ),
558
-			)
559
-		);
560
-		$cmb->add_field(
561
-			array(
562
-				'id'   => 'settings_post_type_toggles_enable_closing',
563
-				'type' => 'tab_closing',
564
-			)
565
-		);
566
-	}
567
-	/**
568
-	 * Registers the Profile Stat Toggle settings
569
-	 *
570
-	 * @param object $cmb new_cmb2_box().
571
-	 * @return void
572
-	 */
573
-
574
-	public function stat_disable( $cmb ) {
575
-		$cmb->add_field(
576
-			array(
577
-				'id'      => 'stat_disable_title',
578
-				'type'    => 'title',
579
-				'name'    => __( 'Disable Profile Stats', 'lsx-health-plan' ),
580
-				'default' => __( 'Disable Profile Stats', 'lsx-health-plan' ),
581
-			)
582
-		);
583
-		$cmb->add_field(
584
-			array(
585
-				'name'    => __( 'Disable All Stats', 'lsx-health-plan' ),
586
-				'desc'    => 'Disable All Stats',
587
-				'id'      => 'disable_all_stats',
588
-				'type'    => 'checkbox',
589
-				'value'   => 1,
590
-				'default' => 0,
591
-			)
592
-		);
593
-		$cmb->add_field(
594
-			array(
595
-				'name'    => __( 'Disable Weight', 'lsx-health-plan' ),
596
-				'id'      => 'disable_weight_checkbox',
597
-				'type'    => 'checkbox',
598
-				'value'   => 1,
599
-				'default' => 0,
600
-			)
601
-		);
602
-		$cmb->add_field(
603
-			array(
604
-				'name'    => __( 'Disable Height', 'lsx-health-plan' ),
605
-				'id'      => 'disable_height_checkbox',
606
-				'type'    => 'checkbox',
607
-				'value'   => 1,
608
-				'default' => 0,
609
-			)
610
-		);
611
-		$cmb->add_field(
612
-			array(
613
-				'name'    => __( 'Disable Waist', 'lsx-health-plan' ),
614
-				'id'      => 'disable_waist_checkbox',
615
-				'type'    => 'checkbox',
616
-				'value'   => 1,
617
-				'default' => 0,
618
-			)
619
-		);
620
-		$cmb->add_field(
621
-			array(
622
-				'name'    => __( 'Disable BMI', 'lsx-health-plan' ),
623
-				'id'      => 'disable_bmi_checkbox',
624
-				'type'    => 'checkbox',
625
-				'value'   => 1,
626
-				'default' => 0,
627
-			)
628
-		);
629
-		$cmb->add_field(
630
-			array(
631
-				'id'   => 'settings_stat_disable_closing',
632
-				'type' => 'tab_closing',
633
-			)
634
-		);
635
-	}
636
-
637
-	/**
638
-	 * Enable Business Directory Search settings only if LSX Search plugin is enabled.
639
-	 *
640
-	 * @param object $cmb The CMB2() class.
641
-	 * @param string $section either engine,archive or single.
642
-	 * @return void
643
-	 */
644
-	public function generate_tabs( $cmb ) {
645
-		$tabs = $this->get_settings_tabs();
646
-
647
-		foreach ( $tabs as $tab_key => $tab ) {
648
-			$cmb->add_field(
649
-				array(
650
-					'id'          => 'settings_' . $tab_key . '_title',
651
-					'type'        => 'title',
652
-					'name'        => $tab['title'],
653
-					'default'     => $tab['title'],
654
-					'description' => $tab['desc'],
655
-				)
656
-			);
657
-			do_action( 'lsx_hp_settings_page_' . $tab_key . '_top', $cmb );
658
-
659
-			do_action( 'lsx_hp_settings_page_' . $tab_key . '_middle', $cmb );
660
-
661
-			do_action( 'lsx_hp_settings_page_' . $tab_key . '_bottom', $cmb );
662
-
663
-			$cmb->add_field(
664
-				array(
665
-					'id'   => 'settings_' . $tab_key . '_closing',
666
-					'type' => 'tab_closing',
667
-				)
668
-			);
669
-		}
670
-	}
671
-
672
-
673
-	/**
674
-	 * Returns the tabs and their descriptions.
675
-	 *
676
-	 * @return array
677
-	 */
678
-	public function get_settings_tabs() {
679
-		$tabs = array(
680
-			'general' => array(
681
-				'title' => __( 'General', 'lsx-health-plan' ),
682
-				'desc'  => __( 'Control the sitewide settings for the LSX HP site.', 'lsx-health-plan' ),
683
-			),
684
-		);
685
-
686
-		foreach ( $this->post_types as $post_type ) {
687
-			switch ( $post_type ) {
688
-				default:
689
-					//if ( ! in_array( $post_type, \lsx\search\includes\get_restricted_post_types() ) ) {
690
-						$temp_post_type = get_post_type_object( $post_type );
691
-						if ( ! is_wp_error( $temp_post_type ) ) {
692
-							$page_url    = get_post_type_archive_link( $temp_post_type->name );
693
-							$description = sprintf(
694
-								/* translators: %s: The subscription info */
695
-								__( 'Control the settings for your <a target="_blank" href="%1$s">%2$s</a> archive.', 'lsx-search' ),
696
-								$page_url,
697
-								$temp_post_type->label
698
-							);
699
-
700
-							$tabs[ $post_type ] = array(
701
-								'title' => $temp_post_type->label,
702
-								'desc'  => $description,
703
-							);
704
-						}
705
-					//}
706
-					break;
707
-			}
708
-		}
709
-		return $tabs;
710
-	}
15
+     /**
16
+      * Holds class instance
17
+      *
18
+      * @since 1.0.0
19
+      *
20
+      * @var      object \lsx_health_plan\classes\admin\Settings()
21
+      */
22
+     protected static $instance = null;
23
+
24
+     /**
25
+      * Option key, and option page slug
26
+      *
27
+      * @var string
28
+      */
29
+     protected $screen_id = 'lsx_health_plan_settings';
30
+
31
+     /**
32
+      * An array of the post types for the Global Downloads field.
33
+      *
34
+      * @var array
35
+      */
36
+     public $download_types = array();
37
+
38
+     /**
39
+      * An array of the post types for the Global Defaults field.
40
+      *
41
+      * @var array
42
+      */
43
+     public $default_types = array();
44
+
45
+     /**
46
+      * An array of the endpoints for the Endpoint Translation field.
47
+      *
48
+      * @var array
49
+      */
50
+     public $endpoints = array();
51
+
52
+     /**
53
+      * Constructor
54
+      */
55
+     public function __construct() {
56
+          $this->load_classes();
57
+          add_action( 'cmb2_admin_init', array( $this, 'register_settings_page' ) );
58
+          add_action( 'lsx_hp_settings_page', array( $this, 'generate_tabs' ), 1, 1 );
59
+
60
+          add_action( 'lsx_hp_settings_page_general_top', array( $this, 'general_settings' ), 1, 1 );
61
+          add_action( 'lsx_hp_settings_page', array( $this, 'global_defaults' ), 3, 1 );
62
+          add_action( 'lsx_hp_settings_page', array( $this, 'global_downloads' ), 5, 1 );
63
+          add_action( 'lsx_hp_settings_page', array( $this, 'stat_disable' ), 6, 1 );
64
+          add_action( 'lsx_hp_settings_page', array( $this, 'endpoint_translations' ), 7, 1 );
65
+          add_action( 'lsx_hp_settings_page', array( $this, 'exercise_translations' ), 7, 1 );
66
+          add_action( 'lsx_hp_settings_page', array( $this, 'post_type_toggles' ), 9, 1 );
67
+     }
68
+
69
+     /**
70
+      * Return an instance of this class.
71
+      *
72
+      * @since 1.0.0
73
+      *
74
+      * @return    object \lsx_health_plan\classes\admin\Settings()    A single instance of this class.
75
+      */
76
+     public static function get_instance() {
77
+          // If the single instance hasn't been set, set it now.
78
+          if ( null === self::$instance ) {
79
+               self::$instance = new self();
80
+          }
81
+          return self::$instance;
82
+     }
83
+
84
+     /**
85
+      * Loads the variable classes and the static classes.
86
+      */
87
+     private function load_classes() {
88
+
89
+          $this->post_types = array(
90
+               'plan',
91
+               'workout',
92
+               'exercise',
93
+               //'meal',
94
+               'recipe',
95
+               //'tip',
96
+          );
97
+
98
+          foreach ( $this->post_types as $post_type ) {
99
+               $this->$post_type = require_once LSX_HEALTH_PLAN_PATH . 'classes/admin/settings/class-' . $post_type . '.php';
100
+          }
101
+     }
102
+
103
+     /**
104
+      * Sets the variables needed for the fields.
105
+      *
106
+      * @return void
107
+      */
108
+     public function set_vars() {
109
+
110
+          $this->default_types  = array(
111
+               'page' => array(
112
+                    'title'       => __( 'Warm Up', 'lsx-health-plan' ),
113
+                    'description' => __( 'Set a default warm up routine.', 'lsx-health-plan' ),
114
+                    'limit'       => 1,
115
+                    'id'          => 'plan_warmup',
116
+               ),
117
+          );
118
+          $this->download_types = array(
119
+               'page' => array(
120
+                    'title'       => __( 'Warm Up', 'lsx-health-plan' ),
121
+                    'description' => __( 'Set a default warm up routine.', 'lsx-health-plan' ),
122
+                    'limit'       => 1,
123
+               ),
124
+          );
125
+          $this->endpoints      = array(
126
+               'endpoint_warm_up' => array(
127
+                    'title'       => __( 'Warm Up Endpoint', 'lsx-health-plan' ),
128
+                    'default'     => 'warm-up',
129
+               ),
130
+          );
131
+
132
+          if ( post_type_exists( 'meal' ) ) {
133
+               $this->download_types['meal']     = array(
134
+                    'title'       => __( 'Meal Plan', 'lsx-health-plan' ),
135
+                    'description' => __( 'Set a default meal plan.', 'lsx-health-plan' ),
136
+               );
137
+               $this->default_types['meal']      = array(
138
+                    'title'       => __( 'Meal Plan', 'lsx-health-plan' ),
139
+                    'description' => __( 'Set a default meal plan.', 'lsx-health-plan' ),
140
+                    'id'          => 'connected_meals',
141
+               );
142
+               $this->endpoints['endpoint_meal'] = array(
143
+                    'title'       => __( 'Meal Endpoint', 'lsx-health-plan' ),
144
+                    'default'     => 'meal',
145
+                    'description' => __( 'Define the tab slug which shows on the single plan page.', 'lsx-health-plan' ),
146
+               );
147
+               $this->endpoints['endpoint_meal_archive'] = array(
148
+                    'title'   => __( 'Meals Archive Endpoint', 'lsx-health-plan' ),
149
+                    'default' => 'meals',
150
+               );
151
+               $this->endpoints['meal_single_slug'] = array(
152
+                    'title'   => __( 'Single Meal Slug', 'lsx-health-plan' ),
153
+                    'default' => 'meal',
154
+               );
155
+          }
156
+          if ( post_type_exists( 'recipe' ) ) {
157
+               $this->download_types['recipe'] = array(
158
+                    'title'       => __( 'Recipe', 'lsx-health-plan' ),
159
+                    'description' => __( 'Set a default recipe.', 'lsx-health-plan' ),
160
+               );
161
+               $this->default_types['recipe'] = array(
162
+                    'title'       => __( 'Recipe', 'lsx-health-plan' ),
163
+                    'description' => __( 'Set a default recipe.', 'lsx-health-plan' ),
164
+                    'id'          => 'connected_recipes',
165
+               );
166
+               $this->endpoints['endpoint_recipe'] = array(
167
+                    'title'   => __( 'Recipes Endpoint', 'lsx-health-plan' ),
168
+                    'default' => 'recipe',
169
+               );
170
+          }
171
+          if ( post_type_exists( 'workout' ) ) {
172
+               $this->download_types['workout'] = array(
173
+                    'title'       => __( 'Workout', 'lsx-health-plan' ),
174
+                    'description' => __( 'Set a default workout routine PDF.', 'lsx-health-plan' ),
175
+               );
176
+               $this->default_types['workout'] = array(
177
+                    'title'       => __( 'Workout', 'lsx-health-plan' ),
178
+                    'description' => __( 'Set a default workout routine.', 'lsx-health-plan' ),
179
+                    'id'          => 'connected_workouts',
180
+               );
181
+               $this->endpoints['endpoint_workout_archive'] = array(
182
+                    'title'   => __( 'Workouts Archive Endpoint', 'lsx-health-plan' ),
183
+                    'default' => '',
184
+               );
185
+               $this->endpoints['endpoint_workout'] = array(
186
+                    'title'   => __( 'Single Workout Endpoint', 'lsx-health-plan' ),
187
+                    'default' => 'workout',
188
+               );
189
+          }
190
+
191
+          $this->endpoints['login_slug'] = array(
192
+               'title'   => __( 'Login Slug', 'lsx-health-plan' ),
193
+               'default' => 'login',
194
+          );
195
+          $this->endpoints['my_plan_slug'] = array(
196
+               'title'   => __( 'My Plan Slug', 'lsx-health-plan' ),
197
+               'default' => 'my-plan',
198
+          );
199
+          $this->endpoints['plan_single_slug'] = array(
200
+               'title'   => __( 'Single Plan Slug', 'lsx-health-plan' ),
201
+               'default' => 'plan',
202
+          );
203
+          $this->endpoints['endpoint_plan_archive'] = array(
204
+               'title'   => __( 'Plans Archive Endpoint', 'lsx-health-plan' ),
205
+               'default' => 'plans',
206
+          );
207
+
208
+          if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
209
+               $this->endpoints['exercise'] = array(
210
+                    'exercise_single' => array(
211
+                         'title'   => __( 'Single Exercise Slug', 'lsx-health-plan' ),
212
+                         'default' => 'exercise',
213
+                    ),
214
+                    'exercise_archive' => array(
215
+                         'title'   => __( 'Archive Exercise Slug', 'lsx-health-plan' ),
216
+                         'default' => 'exercises',
217
+                    ),
218
+                    'exercise_type' => array(
219
+                         'title'   => __( 'Exercise Type Slug', 'lsx-health-plan' ),
220
+                         'default' => 'exercise-type',
221
+                    ),
222
+                    'exercise_equipment' => array(
223
+                         'title'   => __( 'Equipment Slug', 'lsx-health-plan' ),
224
+                         'default' => 'equipment',
225
+                    ),
226
+                    'exercise_musclegroup' => array(
227
+                         'title'   => __( 'Muscle Group Slug', 'lsx-health-plan' ),
228
+                         'default' => 'muscle-group',
229
+                    ),
230
+               );
231
+          }
232
+     }
233
+
234
+     /**
235
+      * Hook in and register a submenu options page for the Page post-type menu.
236
+      */
237
+     public function register_settings_page() {
238
+          $this->set_vars();
239
+          $cmb = new_cmb2_box(
240
+               array(
241
+                    'id'           => $this->screen_id,
242
+                    'title'        => esc_html__( 'Settings', 'lsx-health-plan' ),
243
+                    'object_types' => array( 'options-page' ),
244
+                    'option_key'   => 'lsx_health_plan_options', // The option key and admin menu page slug.
245
+                    'parent_slug'  => 'edit.php?post_type=plan', // Make options page a submenu item of the themes menu.
246
+                    'capability'   => 'manage_options', // Cap required to view options-page.
247
+               )
248
+          );
249
+          do_action( 'lsx_hp_settings_page', $cmb );
250
+     }
251
+
252
+     /**
253
+      * Registers the general settings.
254
+      *
255
+      * @param object $cmb new_cmb2_box().
256
+      * @return void
257
+      */
258
+     public function general_settings( $cmb ) {
259
+          $cmb->add_field(
260
+               array(
261
+                    'name'       => __( 'Membership Product', 'lsx-health-plan' ),
262
+                    'id'         => 'membership_product',
263
+                    'type'       => 'post_search_ajax',
264
+                    'limit'      => 1,
265
+                    'sortable'   => false,
266
+                    'query_args' => array(
267
+                         'post_type'      => array( 'product' ),
268
+                         'post_status'    => array( 'publish' ),
269
+                         'posts_per_page' => -1,
270
+                    ),
271
+               )
272
+          );
273
+
274
+          $cmb->add_field(
275
+               array(
276
+                    'name'    => __( 'Your Warm-up Intro', 'lsx-health-plan' ),
277
+                    'id'      => 'warmup_intro',
278
+                    'type'    => 'textarea_small',
279
+                    'value'   => '',
280
+                    'default' => __( "Don't forget your warm-up! It's a vital part of your daily workout routine.", 'lsx-health-plan' ),
281
+               )
282
+          );
283
+          if ( post_type_exists( 'workout' ) ) {
284
+               $cmb->add_field(
285
+                    array(
286
+                         'name'    => __( 'Your Workout Intro', 'lsx-health-plan' ),
287
+                         'id'      => 'workout_intro',
288
+                         'type'    => 'textarea_small',
289
+                         'value'   => '',
290
+                         'default' => __( "Let's do this! Smash your daily workout and reach your fitness goals.", 'lsx-health-plan' ),
291
+                    )
292
+               );
293
+          }
294
+          if ( post_type_exists( 'meal' ) ) {
295
+               $cmb->add_field(
296
+                    array(
297
+                         'name'    => __( 'Your Meal Plan Intro', 'lsx-health-plan' ),
298
+                         'id'      => 'meal_plan_intro',
299
+                         'type'    => 'textarea_small',
300
+                         'value'   => '',
301
+                         'default' => __( 'Get the right mix of nutrients to keep muscles strong & healthy.', 'lsx-health-plan' ),
302
+                    )
303
+               );
304
+          }
305
+          if ( post_type_exists( 'recipe' ) ) {
306
+               $cmb->add_field(
307
+                    array(
308
+                         'name'    => __( 'Recipes Intro', 'lsx-health-plan' ),
309
+                         'id'      => 'recipes_intro',
310
+                         'type'    => 'textarea_small',
311
+                         'value'   => '',
312
+                         'default' => __( "Let's get cooking! Delicious and easy to follow recipes.", 'lsx-health-plan' ),
313
+                    )
314
+               );
315
+          }
316
+     }
317
+
318
+     /**
319
+      * Registers the global default settings.
320
+      *
321
+      * @param object $cmb new_cmb2_box().
322
+      * @return void
323
+      */
324
+     public function global_defaults( $cmb ) {
325
+          $cmb->add_field(
326
+               array(
327
+                    'id'      => 'global_defaults_title',
328
+                    'type'    => 'title',
329
+                    'name'    => __( 'Global Defaults', 'lsx-health-plan' ),
330
+                    'default' => __( 'Global Defaults', 'lsx-health-plan' ),
331
+                    'description' => __( 'If you have not connected a specific post to your day plan, set a default option below.', 'lsx-health-plan' ),
332
+               )
333
+          );
334
+
335
+          foreach ( $this->default_types as $type => $default_type ) {
336
+               $limit    = 5;
337
+               $sortable = false;
338
+               if ( isset( $default_type['limit'] ) ) {
339
+                    $limit    = $default_type['limit'];
340
+                    $sortable = true;
341
+               }
342
+
343
+               if ( 'page' === $type && false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
344
+                    $type = array( 'page', 'workout' );
345
+               }
346
+
347
+               $cmb->add_field(
348
+                    array(
349
+                         'name'       => $default_type['title'],
350
+                         'desc'       => $default_type['description'],
351
+                         'id'         => $default_type['id'],
352
+                         'type'       => 'post_search_ajax',
353
+                         'limit'      => $limit,
354
+                         'sortable'   => $sortable,
355
+                         'query_args' => array(
356
+                              'post_type'      => $type,
357
+                              'post_status'    => array( 'publish' ),
358
+                              'posts_per_page' => -1,
359
+                         ),
360
+                    )
361
+               );
362
+          }
363
+
364
+          $cmb->add_field(
365
+               array(
366
+                    'id'   => 'settings_global_defaults_closing',
367
+                    'type' => 'tab_closing',
368
+               )
369
+          );
370
+     }
371
+
372
+     /**
373
+      * Registers the global dowloads settings
374
+      *
375
+      * @param object $cmb new_cmb2_box().
376
+      * @return void
377
+      */
378
+     public function global_downloads( $cmb ) {
379
+          $cmb->add_field(
380
+               array(
381
+                    'id'          => 'global_downloads_title',
382
+                    'type'        => 'title',
383
+                    'name'        => __( 'Global Downloads', 'lsx-health-plan' ),
384
+                    'default'     => __( 'Global Downloads', 'lsx-health-plan' ),
385
+                    'description' => __( 'If you have not connected a specific download file to your plans, set a default option below', 'lsx-health-plan' ),
386
+               )
387
+          );
388
+
389
+          foreach ( $this->download_types as $type => $download_type ) {
390
+               $limit    = 5;
391
+               $sortable = false;
392
+               if ( isset( $download_type['limit'] ) ) {
393
+                    $limit    = $download_type['limit'];
394
+                    $sortable = true;
395
+               }
396
+
397
+               $cmb->add_field(
398
+                    array(
399
+                         'name'       => $download_type['title'],
400
+                         'id'         => 'download_' . $type,
401
+                         'type'       => 'post_search_ajax',
402
+                         'limit'      => $limit,
403
+                         'sortable'   => $sortable,
404
+                         'query_args' => array(
405
+                              'post_type'      => array( 'dlm_download' ),
406
+                              'post_status'    => array( 'publish' ),
407
+                              'posts_per_page' => -1,
408
+                         ),
409
+                    )
410
+               );
411
+          }
412
+          $cmb->add_field(
413
+               array(
414
+                    'id'   => 'settings_global_downloads_closing',
415
+                    'type' => 'tab_closing',
416
+               )
417
+          );
418
+     }
419
+
420
+     /**
421
+      * Registers the endpoint translation settings.
422
+      *
423
+      * @param object $cmb new_cmb2_box().
424
+      * @return void
425
+      */
426
+     public function endpoint_translations( $cmb ) {
427
+          $cmb->add_field(
428
+               array(
429
+                    'id'          => 'endpoints_title',
430
+                    'type'        => 'title',
431
+                    'name'        => __( 'Set Endpoint Translations', 'lsx-health-plan' ),
432
+                    'default'     => __( 'Set Endpoint Translations', 'lsx-health-plan' ),
433
+               )
434
+          );
435
+          foreach ( $this->endpoints as $slug => $endpoint_vars ) {
436
+               if ( 'exercise' === $slug ) {
437
+                    continue;
438
+               }
439
+
440
+               $cmb->add_field(
441
+                    array(
442
+                         'name'    => $endpoint_vars['title'],
443
+                         'id'      => $slug,
444
+                         'type'    => 'input',
445
+                         'value'   => '',
446
+                         'default' => $endpoint_vars['default'],
447
+                    )
448
+               );
449
+          }
450
+          $cmb->add_field(
451
+               array(
452
+                    'id'            => 'settings_endpoints_closing',
453
+                    'type'          => 'tab_closing',
454
+                    'before_row'    => '<p style="margin-top:20px; font-style: italic;">Endpoint is a web address (URL) at which the user can gain access to it. You need to resave your permalinks after changing the endpoint settings.</p>',
455
+               )
456
+          );
457
+     }
458
+
459
+     /**
460
+      * Registers the endpoint translation settings.
461
+      *
462
+      * @param object $cmb new_cmb2_box().
463
+      * @return void
464
+      */
465
+     public function exercise_translations( $cmb ) {
466
+          if ( isset( $this->endpoints['exercise'] ) && '' !== $this->endpoints['exercise'] && ! empty( $this->endpoints['exercise'] ) ) {
467
+               $cmb->add_field(
468
+                    array(
469
+                         'id'          => 'exercise_endpoints_title',
470
+                         'type'        => 'title',
471
+                         'name'        => __( 'Set Exercise Translations', 'lsx-health-plan' ),
472
+                         'default'     => __( 'Set Exercise Translations', 'lsx-health-plan' ),
473
+                         'description' => __( 'Change the exercise endpoints.', 'lsx-health-plan' ),
474
+                    )
475
+               );
476
+
477
+               foreach ( $this->endpoints['exercise'] as $slug => $endpoint_vars ) {
478
+                    $cmb->add_field(
479
+                         array(
480
+                              'name'    => $endpoint_vars['title'],
481
+                              'id'      => 'endpoint_' . $slug,
482
+                              'type'    => 'input',
483
+                              'value'   => '',
484
+                              'default' => $endpoint_vars['default'],
485
+                         )
486
+                    );
487
+               }
488
+
489
+               $cmb->add_field(
490
+                    array(
491
+                         'id'            => 'settings_exercise_endpoints_closing',
492
+                         'type'          => 'tab_closing',
493
+                         'before_row'    => '<p style="margin-top:20px; font-style: italic;">If you need to translate the exercise URL endpoints, do so below.</p>',
494
+                    )
495
+               );
496
+          }
497
+     }
498
+
499
+     /**
500
+      * Registers the post type toggle settings
501
+      *
502
+      * @param object $cmb new_cmb2_box().
503
+      * @return void
504
+      */
505
+     public function post_type_toggles( $cmb ) {
506
+          $post_types = apply_filters( 'lsx_health_plan_post_types', isset( $this->post_types ) );
507
+
508
+          $cmb->add_field(
509
+               array(
510
+                    'id'          => 'post_type_toggles_title',
511
+                    'type'        => 'title',
512
+                    'name'        => __( 'Disable Post Types', 'lsx-health-plan' ),
513
+                    'default'     => __( 'Disable Post Types', 'lsx-health-plan' ),
514
+                    'description' => __( 'Disable post types if you are wanting a minimal site.', 'lsx-health-plan' ),
515
+               )
516
+          );
517
+
518
+          foreach ( $post_types as $post_type ) {
519
+               if ( 'plan' === $post_type || 'exercise' === $post_type || ( 'video' === $post_type && false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) ) {
520
+                    continue;
521
+               }
522
+
523
+               $cmb->add_field(
524
+                    array(
525
+                         'name'    => ucwords( $post_type ),
526
+                         'id'      => $post_type . '_disabled',
527
+                         'type'    => 'checkbox',
528
+                         'value'   => 1,
529
+                         'default' => 0,
530
+                    )
531
+               );
532
+          }
533
+
534
+          $cmb->add_field(
535
+               array(
536
+                    'id'   => 'settings_post_type_toggles_closing',
537
+                    'type' => 'tab_closing',
538
+               )
539
+          );
540
+
541
+          $cmb->add_field(
542
+               array(
543
+                    'id'          => 'post_type_toggles_enable_title',
544
+                    'type'        => 'title',
545
+                    'name'        => __( 'Enable Post Types', 'lsx-health-plan' ),
546
+                    'default'     => __( 'Enable Post Types', 'lsx-health-plan' ),
547
+                    'description' => __( 'Enable new functionality like the "exercise" post type.', 'lsx-health-plan' ),
548
+               )
549
+          );
550
+          $cmb->add_field(
551
+               array(
552
+                    'name'        => __( 'Exercises', 'lsx-health-plan' ),
553
+                    'id'          => 'exercise_enabled',
554
+                    'type'        => 'checkbox',
555
+                    'value'       => 1,
556
+                    'default'     => 0,
557
+                    'description' => __( 'Enabling the exercise post type will automatically replace the Video post type.', 'lsx-health-plan' ),
558
+               )
559
+          );
560
+          $cmb->add_field(
561
+               array(
562
+                    'id'   => 'settings_post_type_toggles_enable_closing',
563
+                    'type' => 'tab_closing',
564
+               )
565
+          );
566
+     }
567
+     /**
568
+      * Registers the Profile Stat Toggle settings
569
+      *
570
+      * @param object $cmb new_cmb2_box().
571
+      * @return void
572
+      */
573
+
574
+     public function stat_disable( $cmb ) {
575
+          $cmb->add_field(
576
+               array(
577
+                    'id'      => 'stat_disable_title',
578
+                    'type'    => 'title',
579
+                    'name'    => __( 'Disable Profile Stats', 'lsx-health-plan' ),
580
+                    'default' => __( 'Disable Profile Stats', 'lsx-health-plan' ),
581
+               )
582
+          );
583
+          $cmb->add_field(
584
+               array(
585
+                    'name'    => __( 'Disable All Stats', 'lsx-health-plan' ),
586
+                    'desc'    => 'Disable All Stats',
587
+                    'id'      => 'disable_all_stats',
588
+                    'type'    => 'checkbox',
589
+                    'value'   => 1,
590
+                    'default' => 0,
591
+               )
592
+          );
593
+          $cmb->add_field(
594
+               array(
595
+                    'name'    => __( 'Disable Weight', 'lsx-health-plan' ),
596
+                    'id'      => 'disable_weight_checkbox',
597
+                    'type'    => 'checkbox',
598
+                    'value'   => 1,
599
+                    'default' => 0,
600
+               )
601
+          );
602
+          $cmb->add_field(
603
+               array(
604
+                    'name'    => __( 'Disable Height', 'lsx-health-plan' ),
605
+                    'id'      => 'disable_height_checkbox',
606
+                    'type'    => 'checkbox',
607
+                    'value'   => 1,
608
+                    'default' => 0,
609
+               )
610
+          );
611
+          $cmb->add_field(
612
+               array(
613
+                    'name'    => __( 'Disable Waist', 'lsx-health-plan' ),
614
+                    'id'      => 'disable_waist_checkbox',
615
+                    'type'    => 'checkbox',
616
+                    'value'   => 1,
617
+                    'default' => 0,
618
+               )
619
+          );
620
+          $cmb->add_field(
621
+               array(
622
+                    'name'    => __( 'Disable BMI', 'lsx-health-plan' ),
623
+                    'id'      => 'disable_bmi_checkbox',
624
+                    'type'    => 'checkbox',
625
+                    'value'   => 1,
626
+                    'default' => 0,
627
+               )
628
+          );
629
+          $cmb->add_field(
630
+               array(
631
+                    'id'   => 'settings_stat_disable_closing',
632
+                    'type' => 'tab_closing',
633
+               )
634
+          );
635
+     }
636
+
637
+     /**
638
+      * Enable Business Directory Search settings only if LSX Search plugin is enabled.
639
+      *
640
+      * @param object $cmb The CMB2() class.
641
+      * @param string $section either engine,archive or single.
642
+      * @return void
643
+      */
644
+     public function generate_tabs( $cmb ) {
645
+          $tabs = $this->get_settings_tabs();
646
+
647
+          foreach ( $tabs as $tab_key => $tab ) {
648
+               $cmb->add_field(
649
+                    array(
650
+                         'id'          => 'settings_' . $tab_key . '_title',
651
+                         'type'        => 'title',
652
+                         'name'        => $tab['title'],
653
+                         'default'     => $tab['title'],
654
+                         'description' => $tab['desc'],
655
+                    )
656
+               );
657
+               do_action( 'lsx_hp_settings_page_' . $tab_key . '_top', $cmb );
658
+
659
+               do_action( 'lsx_hp_settings_page_' . $tab_key . '_middle', $cmb );
660
+
661
+               do_action( 'lsx_hp_settings_page_' . $tab_key . '_bottom', $cmb );
662
+
663
+               $cmb->add_field(
664
+                    array(
665
+                         'id'   => 'settings_' . $tab_key . '_closing',
666
+                         'type' => 'tab_closing',
667
+                    )
668
+               );
669
+          }
670
+     }
671
+
672
+
673
+     /**
674
+      * Returns the tabs and their descriptions.
675
+      *
676
+      * @return array
677
+      */
678
+     public function get_settings_tabs() {
679
+          $tabs = array(
680
+               'general' => array(
681
+                    'title' => __( 'General', 'lsx-health-plan' ),
682
+                    'desc'  => __( 'Control the sitewide settings for the LSX HP site.', 'lsx-health-plan' ),
683
+               ),
684
+          );
685
+
686
+          foreach ( $this->post_types as $post_type ) {
687
+               switch ( $post_type ) {
688
+                    default:
689
+                         //if ( ! in_array( $post_type, \lsx\search\includes\get_restricted_post_types() ) ) {
690
+                              $temp_post_type = get_post_type_object( $post_type );
691
+                              if ( ! is_wp_error( $temp_post_type ) ) {
692
+                                   $page_url    = get_post_type_archive_link( $temp_post_type->name );
693
+                                   $description = sprintf(
694
+                                        /* translators: %s: The subscription info */
695
+                                        __( 'Control the settings for your <a target="_blank" href="%1$s">%2$s</a> archive.', 'lsx-search' ),
696
+                                        $page_url,
697
+                                        $temp_post_type->label
698
+                                   );
699
+
700
+                                   $tabs[ $post_type ] = array(
701
+                                        'title' => $temp_post_type->label,
702
+                                        'desc'  => $description,
703
+                                   );
704
+                              }
705
+                         //}
706
+                         break;
707
+               }
708
+          }
709
+          return $tabs;
710
+     }
711 711
 }
Please login to merge, or discard this patch.
classes/post-types/class-tip.php 2 patches
Indentation   +141 added lines, -141 removed lines patch added patch discarded remove patch
@@ -14,152 +14,152 @@
 block discarded – undo
14 14
  */
15 15
 class Tip {
16 16
 
17
-	/**
18
-	 * Holds class instance
19
-	 *
20
-	 * @since 1.0.0
21
-	 *
22
-	 * @var      object \lsx_health_plan\classes\Tip()
23
-	 */
24
-	protected static $instance = null;
17
+     /**
18
+      * Holds class instance
19
+      *
20
+      * @since 1.0.0
21
+      *
22
+      * @var      object \lsx_health_plan\classes\Tip()
23
+      */
24
+     protected static $instance = null;
25 25
 
26
-	/**
27
-	 * Holds post_type slug used as an index
28
-	 *
29
-	 * @since 1.0.0
30
-	 *
31
-	 * @var      string
32
-	 */
33
-	public $slug = 'tip';
26
+     /**
27
+      * Holds post_type slug used as an index
28
+      *
29
+      * @since 1.0.0
30
+      *
31
+      * @var      string
32
+      */
33
+     public $slug = 'tip';
34 34
 
35
-	/**
36
-	 * Constructor
37
-	 */
38
-	public function __construct() {
39
-		$this->default_types = array(
40
-			\lsx_health_plan\functions\get_option( 'endpoint_meal', 'meal' ),
41
-			\lsx_health_plan\functions\get_option( 'endpoint_exercise_single', 'exercise' ),
42
-			\lsx_health_plan\functions\get_option( 'endpoint_recipe_single', 'recipe' ),
43
-			\lsx_health_plan\functions\get_option( 'endpoint_workout', 'workout' ),
44
-			\lsx_health_plan\functions\get_option( 'endpoint_plan', 'plan' ),
45
-		);
46
-		add_action( 'init', array( $this, 'register_post_type' ) );
47
-		add_action( 'admin_menu', array( $this, 'register_menus' ) );
48
-		add_filter( 'lsx_health_plan_connections', array( $this, 'enable_connections' ), 10, 1 );
49
-		add_action( 'cmb2_admin_init', array( $this, 'tips_connections' ), 15 );
50
-	}
35
+     /**
36
+      * Constructor
37
+      */
38
+     public function __construct() {
39
+          $this->default_types = array(
40
+               \lsx_health_plan\functions\get_option( 'endpoint_meal', 'meal' ),
41
+               \lsx_health_plan\functions\get_option( 'endpoint_exercise_single', 'exercise' ),
42
+               \lsx_health_plan\functions\get_option( 'endpoint_recipe_single', 'recipe' ),
43
+               \lsx_health_plan\functions\get_option( 'endpoint_workout', 'workout' ),
44
+               \lsx_health_plan\functions\get_option( 'endpoint_plan', 'plan' ),
45
+          );
46
+          add_action( 'init', array( $this, 'register_post_type' ) );
47
+          add_action( 'admin_menu', array( $this, 'register_menus' ) );
48
+          add_filter( 'lsx_health_plan_connections', array( $this, 'enable_connections' ), 10, 1 );
49
+          add_action( 'cmb2_admin_init', array( $this, 'tips_connections' ), 15 );
50
+     }
51 51
 
52
-	/**
53
-	 * Return an instance of this class.
54
-	 *
55
-	 * @since 1.0.0
56
-	 *
57
-	 * @return    object \lsx_health_plan\classes\Tip()    A single instance of this class.
58
-	 */
59
-	public static function get_instance() {
60
-		// If the single instance hasn't been set, set it now.
61
-		if ( null === self::$instance ) {
62
-			self::$instance = new self();
63
-		}
64
-		return self::$instance;
65
-	}
66
-	/**
67
-	 * Register the post type.
68
-	 */
69
-	public function register_post_type() {
70
-		$labels = array(
71
-			'name'               => esc_html__( 'Tips', 'lsx-health-plan' ),
72
-			'singular_name'      => esc_html__( 'Tip', 'lsx-health-plan' ),
73
-			'add_new'            => esc_html_x( 'Add New', 'post type general name', 'lsx-health-plan' ),
74
-			'add_new_item'       => esc_html__( 'Add New', 'lsx-health-plan' ),
75
-			'edit_item'          => esc_html__( 'Edit', 'lsx-health-plan' ),
76
-			'new_item'           => esc_html__( 'New', 'lsx-health-plan' ),
77
-			'all_items'          => esc_html__( 'All Tips', 'lsx-health-plan' ),
78
-			'view_item'          => esc_html__( 'View', 'lsx-health-plan' ),
79
-			'search_items'       => esc_html__( 'Search', 'lsx-health-plan' ),
80
-			'not_found'          => esc_html__( 'None found', 'lsx-health-plan' ),
81
-			'not_found_in_trash' => esc_html__( 'None found in Trash', 'lsx-health-plan' ),
82
-			'parent_item_colon'  => '',
83
-			'menu_name'          => esc_html__( 'Tips', 'lsx-health-plan' ),
84
-		);
85
-		$args   = array(
86
-			'labels'             => $labels,
87
-			'public'             => true,
88
-			'publicly_queryable' => false,
89
-			'show_ui'            => true,
90
-			'show_in_menu'       => false,
91
-			'show_in_rest'       => true,
92
-			'menu_icon'          => 'dashicons-admin-post',
93
-			'query_var'          => true,
94
-			'rewrite'            => false,
95
-			'capability_type'    => 'post',
96
-			'has_archive'        => false,
97
-			'hierarchical'       => false,
98
-			'menu_position'      => null,
99
-			'supports'           => array(
100
-				'title',
101
-				'editor',
102
-				'thumbnail',
103
-				'custom-fields',
104
-			),
105
-		);
106
-		register_post_type( 'tip', $args );
107
-	}
52
+     /**
53
+      * Return an instance of this class.
54
+      *
55
+      * @since 1.0.0
56
+      *
57
+      * @return    object \lsx_health_plan\classes\Tip()    A single instance of this class.
58
+      */
59
+     public static function get_instance() {
60
+          // If the single instance hasn't been set, set it now.
61
+          if ( null === self::$instance ) {
62
+               self::$instance = new self();
63
+          }
64
+          return self::$instance;
65
+     }
66
+     /**
67
+      * Register the post type.
68
+      */
69
+     public function register_post_type() {
70
+          $labels = array(
71
+               'name'               => esc_html__( 'Tips', 'lsx-health-plan' ),
72
+               'singular_name'      => esc_html__( 'Tip', 'lsx-health-plan' ),
73
+               'add_new'            => esc_html_x( 'Add New', 'post type general name', 'lsx-health-plan' ),
74
+               'add_new_item'       => esc_html__( 'Add New', 'lsx-health-plan' ),
75
+               'edit_item'          => esc_html__( 'Edit', 'lsx-health-plan' ),
76
+               'new_item'           => esc_html__( 'New', 'lsx-health-plan' ),
77
+               'all_items'          => esc_html__( 'All Tips', 'lsx-health-plan' ),
78
+               'view_item'          => esc_html__( 'View', 'lsx-health-plan' ),
79
+               'search_items'       => esc_html__( 'Search', 'lsx-health-plan' ),
80
+               'not_found'          => esc_html__( 'None found', 'lsx-health-plan' ),
81
+               'not_found_in_trash' => esc_html__( 'None found in Trash', 'lsx-health-plan' ),
82
+               'parent_item_colon'  => '',
83
+               'menu_name'          => esc_html__( 'Tips', 'lsx-health-plan' ),
84
+          );
85
+          $args   = array(
86
+               'labels'             => $labels,
87
+               'public'             => true,
88
+               'publicly_queryable' => false,
89
+               'show_ui'            => true,
90
+               'show_in_menu'       => false,
91
+               'show_in_rest'       => true,
92
+               'menu_icon'          => 'dashicons-admin-post',
93
+               'query_var'          => true,
94
+               'rewrite'            => false,
95
+               'capability_type'    => 'post',
96
+               'has_archive'        => false,
97
+               'hierarchical'       => false,
98
+               'menu_position'      => null,
99
+               'supports'           => array(
100
+                    'title',
101
+                    'editor',
102
+                    'thumbnail',
103
+                    'custom-fields',
104
+               ),
105
+          );
106
+          register_post_type( 'tip', $args );
107
+     }
108 108
 
109
-	/**
110
-	 * Registers the Recipes under the Meals Post type menu.
111
-	 *
112
-	 * @return void
113
-	 */
114
-	public function register_menus() {
115
-		add_submenu_page( 'edit.php?post_type=plan', esc_html__( 'Tips', 'lsx-health-plan' ), esc_html__( 'Tips', 'lsx-health-plan' ), 'edit_posts', 'edit.php?post_type=tip' );
116
-	}
109
+     /**
110
+      * Registers the Recipes under the Meals Post type menu.
111
+      *
112
+      * @return void
113
+      */
114
+     public function register_menus() {
115
+          add_submenu_page( 'edit.php?post_type=plan', esc_html__( 'Tips', 'lsx-health-plan' ), esc_html__( 'Tips', 'lsx-health-plan' ), 'edit_posts', 'edit.php?post_type=tip' );
116
+     }
117 117
 
118
-	/**
119
-	 * Enables the Bi Directional relationships
120
-	 *
121
-	 * @param array $connections
122
-	 * @return void
123
-	 */
124
-	public function enable_connections( $connections = array() ) {
125
-		$connections['tip']['connected_plans']      = 'plan_connected_tips';
126
-		$connections['plan']['plan_connected_tips'] = 'connected_plans';
127
-		return $connections;
128
-	}
118
+     /**
119
+      * Enables the Bi Directional relationships
120
+      *
121
+      * @param array $connections
122
+      * @return void
123
+      */
124
+     public function enable_connections( $connections = array() ) {
125
+          $connections['tip']['connected_plans']      = 'plan_connected_tips';
126
+          $connections['plan']['plan_connected_tips'] = 'connected_plans';
127
+          return $connections;
128
+     }
129 129
 
130
-	/**
131
-	 * Registers the workout connections on the plan post type.
132
-	 *
133
-	 * @return void
134
-	 */
135
-	public function tips_connections() {
136
-		foreach ( $this->default_types as $type => $default_type ) {
137
-			$cmb = new_cmb2_box(
138
-				array(
139
-					'id'           => $default_type . '_tips_connections_metabox',
140
-					'title'        => __( 'Related Tips', 'lsx-health-plan' ),
141
-					'object_types' => array( $default_type ), // Post types.
142
-					'context'      => 'normal',
143
-					'priority'     => 'high',
144
-					'show_names'   => false,
145
-				)
146
-			);
147
-			$cmb->add_field(
148
-				array(
149
-					'name'       => __( 'Tips', 'lsx-health-plan' ),
150
-					'id'         => $default_type . '_connected_tips',
151
-					'desc'       => __( 'Connect the tips that apply to this', 'lsx-health-plan' ) . $default_type,
152
-					'type'       => 'post_search_ajax',
153
-					'limit'      => 15,
154
-					'sortable'   => true,
155
-					'query_args' => array(
156
-						'post_type'      => array( 'tip' ),
157
-						'post_status'    => array( 'publish' ),
158
-						'posts_per_page' => -1,
159
-					),
160
-				)
161
-			);
162
-		}
163
-	}
130
+     /**
131
+      * Registers the workout connections on the plan post type.
132
+      *
133
+      * @return void
134
+      */
135
+     public function tips_connections() {
136
+          foreach ( $this->default_types as $type => $default_type ) {
137
+               $cmb = new_cmb2_box(
138
+                    array(
139
+                         'id'           => $default_type . '_tips_connections_metabox',
140
+                         'title'        => __( 'Related Tips', 'lsx-health-plan' ),
141
+                         'object_types' => array( $default_type ), // Post types.
142
+                         'context'      => 'normal',
143
+                         'priority'     => 'high',
144
+                         'show_names'   => false,
145
+                    )
146
+               );
147
+               $cmb->add_field(
148
+                    array(
149
+                         'name'       => __( 'Tips', 'lsx-health-plan' ),
150
+                         'id'         => $default_type . '_connected_tips',
151
+                         'desc'       => __( 'Connect the tips that apply to this', 'lsx-health-plan' ) . $default_type,
152
+                         'type'       => 'post_search_ajax',
153
+                         'limit'      => 15,
154
+                         'sortable'   => true,
155
+                         'query_args' => array(
156
+                              'post_type'      => array( 'tip' ),
157
+                              'post_status'    => array( 'publish' ),
158
+                              'posts_per_page' => -1,
159
+                         ),
160
+                    )
161
+               );
162
+          }
163
+     }
164 164
 
165 165
 }
Please login to merge, or discard this patch.
Spacing   +33 added lines, -33 removed lines patch added patch discarded remove patch
@@ -37,16 +37,16 @@  discard block
 block discarded – undo
37 37
 	 */
38 38
 	public function __construct() {
39 39
 		$this->default_types = array(
40
-			\lsx_health_plan\functions\get_option( 'endpoint_meal', 'meal' ),
41
-			\lsx_health_plan\functions\get_option( 'endpoint_exercise_single', 'exercise' ),
42
-			\lsx_health_plan\functions\get_option( 'endpoint_recipe_single', 'recipe' ),
43
-			\lsx_health_plan\functions\get_option( 'endpoint_workout', 'workout' ),
44
-			\lsx_health_plan\functions\get_option( 'endpoint_plan', 'plan' ),
40
+			\lsx_health_plan\functions\get_option('endpoint_meal', 'meal'),
41
+			\lsx_health_plan\functions\get_option('endpoint_exercise_single', 'exercise'),
42
+			\lsx_health_plan\functions\get_option('endpoint_recipe_single', 'recipe'),
43
+			\lsx_health_plan\functions\get_option('endpoint_workout', 'workout'),
44
+			\lsx_health_plan\functions\get_option('endpoint_plan', 'plan'),
45 45
 		);
46
-		add_action( 'init', array( $this, 'register_post_type' ) );
47
-		add_action( 'admin_menu', array( $this, 'register_menus' ) );
48
-		add_filter( 'lsx_health_plan_connections', array( $this, 'enable_connections' ), 10, 1 );
49
-		add_action( 'cmb2_admin_init', array( $this, 'tips_connections' ), 15 );
46
+		add_action('init', array($this, 'register_post_type'));
47
+		add_action('admin_menu', array($this, 'register_menus'));
48
+		add_filter('lsx_health_plan_connections', array($this, 'enable_connections'), 10, 1);
49
+		add_action('cmb2_admin_init', array($this, 'tips_connections'), 15);
50 50
 	}
51 51
 
52 52
 	/**
@@ -58,7 +58,7 @@  discard block
 block discarded – undo
58 58
 	 */
59 59
 	public static function get_instance() {
60 60
 		// If the single instance hasn't been set, set it now.
61
-		if ( null === self::$instance ) {
61
+		if (null === self::$instance) {
62 62
 			self::$instance = new self();
63 63
 		}
64 64
 		return self::$instance;
@@ -68,21 +68,21 @@  discard block
 block discarded – undo
68 68
 	 */
69 69
 	public function register_post_type() {
70 70
 		$labels = array(
71
-			'name'               => esc_html__( 'Tips', 'lsx-health-plan' ),
72
-			'singular_name'      => esc_html__( 'Tip', 'lsx-health-plan' ),
73
-			'add_new'            => esc_html_x( 'Add New', 'post type general name', 'lsx-health-plan' ),
74
-			'add_new_item'       => esc_html__( 'Add New', 'lsx-health-plan' ),
75
-			'edit_item'          => esc_html__( 'Edit', 'lsx-health-plan' ),
76
-			'new_item'           => esc_html__( 'New', 'lsx-health-plan' ),
77
-			'all_items'          => esc_html__( 'All Tips', 'lsx-health-plan' ),
78
-			'view_item'          => esc_html__( 'View', 'lsx-health-plan' ),
79
-			'search_items'       => esc_html__( 'Search', 'lsx-health-plan' ),
80
-			'not_found'          => esc_html__( 'None found', 'lsx-health-plan' ),
81
-			'not_found_in_trash' => esc_html__( 'None found in Trash', 'lsx-health-plan' ),
71
+			'name'               => esc_html__('Tips', 'lsx-health-plan'),
72
+			'singular_name'      => esc_html__('Tip', 'lsx-health-plan'),
73
+			'add_new'            => esc_html_x('Add New', 'post type general name', 'lsx-health-plan'),
74
+			'add_new_item'       => esc_html__('Add New', 'lsx-health-plan'),
75
+			'edit_item'          => esc_html__('Edit', 'lsx-health-plan'),
76
+			'new_item'           => esc_html__('New', 'lsx-health-plan'),
77
+			'all_items'          => esc_html__('All Tips', 'lsx-health-plan'),
78
+			'view_item'          => esc_html__('View', 'lsx-health-plan'),
79
+			'search_items'       => esc_html__('Search', 'lsx-health-plan'),
80
+			'not_found'          => esc_html__('None found', 'lsx-health-plan'),
81
+			'not_found_in_trash' => esc_html__('None found in Trash', 'lsx-health-plan'),
82 82
 			'parent_item_colon'  => '',
83
-			'menu_name'          => esc_html__( 'Tips', 'lsx-health-plan' ),
83
+			'menu_name'          => esc_html__('Tips', 'lsx-health-plan'),
84 84
 		);
85
-		$args   = array(
85
+		$args = array(
86 86
 			'labels'             => $labels,
87 87
 			'public'             => true,
88 88
 			'publicly_queryable' => false,
@@ -103,7 +103,7 @@  discard block
 block discarded – undo
103 103
 				'custom-fields',
104 104
 			),
105 105
 		);
106
-		register_post_type( 'tip', $args );
106
+		register_post_type('tip', $args);
107 107
 	}
108 108
 
109 109
 	/**
@@ -112,7 +112,7 @@  discard block
 block discarded – undo
112 112
 	 * @return void
113 113
 	 */
114 114
 	public function register_menus() {
115
-		add_submenu_page( 'edit.php?post_type=plan', esc_html__( 'Tips', 'lsx-health-plan' ), esc_html__( 'Tips', 'lsx-health-plan' ), 'edit_posts', 'edit.php?post_type=tip' );
115
+		add_submenu_page('edit.php?post_type=plan', esc_html__('Tips', 'lsx-health-plan'), esc_html__('Tips', 'lsx-health-plan'), 'edit_posts', 'edit.php?post_type=tip');
116 116
 	}
117 117
 
118 118
 	/**
@@ -121,7 +121,7 @@  discard block
 block discarded – undo
121 121
 	 * @param array $connections
122 122
 	 * @return void
123 123
 	 */
124
-	public function enable_connections( $connections = array() ) {
124
+	public function enable_connections($connections = array()) {
125 125
 		$connections['tip']['connected_plans']      = 'plan_connected_tips';
126 126
 		$connections['plan']['plan_connected_tips'] = 'connected_plans';
127 127
 		return $connections;
@@ -133,12 +133,12 @@  discard block
 block discarded – undo
133 133
 	 * @return void
134 134
 	 */
135 135
 	public function tips_connections() {
136
-		foreach ( $this->default_types as $type => $default_type ) {
136
+		foreach ($this->default_types as $type => $default_type) {
137 137
 			$cmb = new_cmb2_box(
138 138
 				array(
139 139
 					'id'           => $default_type . '_tips_connections_metabox',
140
-					'title'        => __( 'Related Tips', 'lsx-health-plan' ),
141
-					'object_types' => array( $default_type ), // Post types.
140
+					'title'        => __('Related Tips', 'lsx-health-plan'),
141
+					'object_types' => array($default_type), // Post types.
142 142
 					'context'      => 'normal',
143 143
 					'priority'     => 'high',
144 144
 					'show_names'   => false,
@@ -146,15 +146,15 @@  discard block
 block discarded – undo
146 146
 			);
147 147
 			$cmb->add_field(
148 148
 				array(
149
-					'name'       => __( 'Tips', 'lsx-health-plan' ),
149
+					'name'       => __('Tips', 'lsx-health-plan'),
150 150
 					'id'         => $default_type . '_connected_tips',
151
-					'desc'       => __( 'Connect the tips that apply to this', 'lsx-health-plan' ) . $default_type,
151
+					'desc'       => __('Connect the tips that apply to this', 'lsx-health-plan') . $default_type,
152 152
 					'type'       => 'post_search_ajax',
153 153
 					'limit'      => 15,
154 154
 					'sortable'   => true,
155 155
 					'query_args' => array(
156
-						'post_type'      => array( 'tip' ),
157
-						'post_status'    => array( 'publish' ),
156
+						'post_type'      => array('tip'),
157
+						'post_status'    => array('publish'),
158 158
 						'posts_per_page' => -1,
159 159
 					),
160 160
 				)
Please login to merge, or discard this patch.
includes/functions.php 2 patches
Indentation   +272 added lines, -272 removed lines patch added patch discarded remove patch
@@ -17,27 +17,27 @@  discard block
 block discarded – undo
17 17
  * @return boolean
18 18
  */
19 19
 function has_attached_post( $post_id = '', $meta_key = '', $single = true ) {
20
-	$has_post = false;
21
-	if ( '' === $post_id ) {
22
-		$post_id = get_the_ID();
23
-	}
24
-	$items = get_post_meta( $post_id, $meta_key, $single );
25
-	if ( '' !== $items && false !== $items && 0 !== $items ) {
26
-		if ( ! is_array( $items ) ) {
27
-			$items = array( $items );
28
-		}
29
-		$items = check_posts_exist( $items );
30
-		if ( ! empty( $items ) ) {
31
-			$has_post = true;
32
-		}
33
-	} else {
34
-		// Check for defaults.
35
-		$options = get_option( 'all' );
36
-		if ( isset( $options[ $meta_key ] ) && '' !== $options[ $meta_key ] && ! empty( $options[ $meta_key ] ) ) {
37
-			$has_post = true;
38
-		}
39
-	}
40
-	return $has_post;
20
+     $has_post = false;
21
+     if ( '' === $post_id ) {
22
+          $post_id = get_the_ID();
23
+     }
24
+     $items = get_post_meta( $post_id, $meta_key, $single );
25
+     if ( '' !== $items && false !== $items && 0 !== $items ) {
26
+          if ( ! is_array( $items ) ) {
27
+               $items = array( $items );
28
+          }
29
+          $items = check_posts_exist( $items );
30
+          if ( ! empty( $items ) ) {
31
+               $has_post = true;
32
+          }
33
+     } else {
34
+          // Check for defaults.
35
+          $options = get_option( 'all' );
36
+          if ( isset( $options[ $meta_key ] ) && '' !== $options[ $meta_key ] && ! empty( $options[ $meta_key ] ) ) {
37
+               $has_post = true;
38
+          }
39
+     }
40
+     return $has_post;
41 41
 }
42 42
 
43 43
 /**
@@ -48,18 +48,18 @@  discard block
 block discarded – undo
48 48
  * @return mixed           Option value
49 49
  */
50 50
 function get_option( $key = '', $default = false ) {
51
-	if ( function_exists( 'cmb2_get_option' ) ) {
52
-		return cmb2_get_option( 'lsx_health_plan_options', $key, $default );
53
-	}
54
-	// Fallback to get_option if CMB2 is not loaded yet.
55
-	$opts = \get_option( 'lsx_health_plan_options', $default );
56
-	$val  = $default;
57
-	if ( 'all' === $key ) {
58
-		$val = $opts;
59
-	} elseif ( is_array( $opts ) && array_key_exists( $key, $opts ) && false !== $opts[ $key ] ) {
60
-		$val = $opts[ $key ];
61
-	}
62
-	return $val;
51
+     if ( function_exists( 'cmb2_get_option' ) ) {
52
+          return cmb2_get_option( 'lsx_health_plan_options', $key, $default );
53
+     }
54
+     // Fallback to get_option if CMB2 is not loaded yet.
55
+     $opts = \get_option( 'lsx_health_plan_options', $default );
56
+     $val  = $default;
57
+     if ( 'all' === $key ) {
58
+          $val = $opts;
59
+     } elseif ( is_array( $opts ) && array_key_exists( $key, $opts ) && false !== $opts[ $key ] ) {
60
+          $val = $opts[ $key ];
61
+     }
62
+     return $val;
63 63
 }
64 64
 
65 65
 /**
@@ -70,54 +70,54 @@  discard block
 block discarded – undo
70 70
  * @return mixed           Option value
71 71
  */
72 72
 function get_downloads( $type = 'all', $post_id = '' ) {
73
-	$lsx_health_plan = \lsx_health_plan();
74
-	$post_types      = $lsx_health_plan->get_post_types();
75
-	if ( '' === $post_id ) {
76
-		$post_id = get_the_ID();
77
-	}
78
-	$downloads = array();
79
-	$options   = get_option( 'all' );
80
-
81
-	foreach ( $post_types as $post_type ) {
82
-		if ( 'all' === $type || in_array( $type, $post_types, true ) ) {
83
-
84
-			// Get the default downloads for this post type.
85
-			$default_downloads = array();
86
-			$new_downloads     = array();
87
-			if ( isset( $options[ 'download_' . $post_type ] ) ) {
88
-				if ( is_array( $options[ 'download_' . $post_type ] ) ) {
89
-					$default_downloads = $options[ 'download_' . $post_type ];
90
-				} else {
91
-					$default_downloads[] = $options[ 'download_' . $post_type ];
92
-				}
93
-			}
94
-
95
-			if ( 'page' === $post_type ) {
96
-				$key = 'plan_warmup';
97
-			} else {
98
-				$key = 'connected_' . $post_type . 's';
99
-			}
100
-
101
-			$connected_items = get_post_meta( $post_id, $key, true );
102
-			if ( ! empty( $connected_items ) ) {
103
-				foreach ( $connected_items as $connected_item ) {
104
-					$current_downloads = get_post_meta( $connected_item, 'connected_downloads', true );
105
-					if ( false !== $current_downloads && ! empty( $current_downloads ) ) {
106
-						$new_downloads = array_merge( $new_downloads, $current_downloads );
107
-					}
108
-				}
109
-			}
110
-
111
-			if ( ! empty( $new_downloads ) ) {
112
-				$downloads = array_merge( $downloads, $new_downloads );
113
-			} elseif ( ! empty( $default_downloads ) ) {
114
-				$downloads = array_merge( $downloads, $default_downloads );
115
-			}
116
-			$downloads = array_unique( $downloads );
117
-		}
118
-	}
119
-	$downloads = check_posts_exist( $downloads );
120
-	return $downloads;
73
+     $lsx_health_plan = \lsx_health_plan();
74
+     $post_types      = $lsx_health_plan->get_post_types();
75
+     if ( '' === $post_id ) {
76
+          $post_id = get_the_ID();
77
+     }
78
+     $downloads = array();
79
+     $options   = get_option( 'all' );
80
+
81
+     foreach ( $post_types as $post_type ) {
82
+          if ( 'all' === $type || in_array( $type, $post_types, true ) ) {
83
+
84
+               // Get the default downloads for this post type.
85
+               $default_downloads = array();
86
+               $new_downloads     = array();
87
+               if ( isset( $options[ 'download_' . $post_type ] ) ) {
88
+                    if ( is_array( $options[ 'download_' . $post_type ] ) ) {
89
+                         $default_downloads = $options[ 'download_' . $post_type ];
90
+                    } else {
91
+                         $default_downloads[] = $options[ 'download_' . $post_type ];
92
+                    }
93
+               }
94
+
95
+               if ( 'page' === $post_type ) {
96
+                    $key = 'plan_warmup';
97
+               } else {
98
+                    $key = 'connected_' . $post_type . 's';
99
+               }
100
+
101
+               $connected_items = get_post_meta( $post_id, $key, true );
102
+               if ( ! empty( $connected_items ) ) {
103
+                    foreach ( $connected_items as $connected_item ) {
104
+                         $current_downloads = get_post_meta( $connected_item, 'connected_downloads', true );
105
+                         if ( false !== $current_downloads && ! empty( $current_downloads ) ) {
106
+                              $new_downloads = array_merge( $new_downloads, $current_downloads );
107
+                         }
108
+                    }
109
+               }
110
+
111
+               if ( ! empty( $new_downloads ) ) {
112
+                    $downloads = array_merge( $downloads, $new_downloads );
113
+               } elseif ( ! empty( $default_downloads ) ) {
114
+                    $downloads = array_merge( $downloads, $default_downloads );
115
+               }
116
+               $downloads = array_unique( $downloads );
117
+          }
118
+     }
119
+     $downloads = check_posts_exist( $downloads );
120
+     return $downloads;
121 121
 }
122 122
 
123 123
 /**
@@ -127,35 +127,35 @@  discard block
 block discarded – undo
127 127
  * @return array           an array of the downloads or empty.
128 128
  */
129 129
 function get_weekly_downloads( $week = '' ) {
130
-	$downloads = array();
131
-	if ( '' !== $week ) {
132
-		$saved_downloads = get_transient( 'lsx_hp_weekly_downloads_' . $week );
133
-		if ( false !== $saved_downloads && ! empty( $saved_downloads ) ) {
134
-			$downloads = $saved_downloads;
135
-		} else {
136
-			$args = array(
137
-				'orderby'        => 'title',
138
-				'order'          => 'ASC',
139
-				'post_type'      => 'dlm_download',
140
-				'posts_per_page' => -1,
141
-				'nopagin'        => true,
142
-				'fields'         => 'ids',
143
-				'tax_query'      => array(
144
-					array(
145
-						'taxonomy' => 'dlm_download_category',
146
-						'field'    => 'slug',
147
-						'terms'    => array( $week ),
148
-					),
149
-				),
150
-			);
151
-			$download_query = new \WP_Query( $args );
152
-			if ( $download_query->have_posts() ) {
153
-				$downloads = $download_query->posts;
154
-			}
155
-		}
156
-	}
157
-	$downloads = check_posts_exist( $downloads );
158
-	return $downloads;
130
+     $downloads = array();
131
+     if ( '' !== $week ) {
132
+          $saved_downloads = get_transient( 'lsx_hp_weekly_downloads_' . $week );
133
+          if ( false !== $saved_downloads && ! empty( $saved_downloads ) ) {
134
+               $downloads = $saved_downloads;
135
+          } else {
136
+               $args = array(
137
+                    'orderby'        => 'title',
138
+                    'order'          => 'ASC',
139
+                    'post_type'      => 'dlm_download',
140
+                    'posts_per_page' => -1,
141
+                    'nopagin'        => true,
142
+                    'fields'         => 'ids',
143
+                    'tax_query'      => array(
144
+                         array(
145
+                              'taxonomy' => 'dlm_download_category',
146
+                              'field'    => 'slug',
147
+                              'terms'    => array( $week ),
148
+                         ),
149
+                    ),
150
+               );
151
+               $download_query = new \WP_Query( $args );
152
+               if ( $download_query->have_posts() ) {
153
+                    $downloads = $download_query->posts;
154
+               }
155
+          }
156
+     }
157
+     $downloads = check_posts_exist( $downloads );
158
+     return $downloads;
159 159
 }
160 160
 
161 161
 /**
@@ -165,22 +165,22 @@  discard block
 block discarded – undo
165 165
  * @return void
166 166
  */
167 167
 function check_posts_exist( $post_ids = array() ) {
168
-	$new_ids = array();
169
-	global $wpdb;
170
-	if ( is_array( $post_ids ) && ! empty( $post_ids ) ) {
171
-		$post_ids = "'" . implode( "','", $post_ids ) . "'";
172
-		$query    = "
168
+     $new_ids = array();
169
+     global $wpdb;
170
+     if ( is_array( $post_ids ) && ! empty( $post_ids ) ) {
171
+          $post_ids = "'" . implode( "','", $post_ids ) . "'";
172
+          $query    = "
173 173
 			SELECT `ID` 
174 174
 			FROM `{$wpdb->posts}`
175 175
 			WHERE `ID` IN ({$post_ids})
176 176
 			AND `post_status` != 'trash'
177 177
 		";
178
-		$results = $wpdb->get_results( $query ); // WPCS: unprepared SQL
179
-		if ( ! empty( $results ) ) {
180
-			$new_ids = wp_list_pluck( $results, 'ID' );
181
-		}
182
-	}
183
-	return $new_ids;
178
+          $results = $wpdb->get_results( $query ); // WPCS: unprepared SQL
179
+          if ( ! empty( $results ) ) {
180
+               $new_ids = wp_list_pluck( $results, 'ID' );
181
+          }
182
+     }
183
+     return $new_ids;
184 184
 }
185 185
 
186 186
 /**
@@ -192,13 +192,13 @@  discard block
 block discarded – undo
192 192
  * @return void
193 193
  */
194 194
 function register_modal( $id = '', $title = '', $body = '' ) {
195
-	lsx_health_plan()->frontend->modals->register_modal(
196
-		array(
197
-			'title' => $title,
198
-			'body'  => $body,
199
-		),
200
-		$id
201
-	);
195
+     lsx_health_plan()->frontend->modals->register_modal(
196
+          array(
197
+               'title' => $title,
198
+               'body'  => $body,
199
+          ),
200
+          $id
201
+     );
202 202
 }
203 203
 
204 204
 /**
@@ -208,13 +208,13 @@  discard block
 block discarded – undo
208 208
  * @return void
209 209
  */
210 210
 function output_modal( $args = array() ) {
211
-	$defaults = array(
212
-		'id'    => '',
213
-		'title' => '',
214
-		'body'  => '',
215
-	);
216
-	$args     = wp_parse_args( $args, $defaults );
217
-	?>
211
+     $defaults = array(
212
+          'id'    => '',
213
+          'title' => '',
214
+          'body'  => '',
215
+     );
216
+     $args     = wp_parse_args( $args, $defaults );
217
+     ?>
218 218
 	<!-- Modal -->
219 219
 	<div class="modal fade lsx-health-plan-modal" id="<?php echo esc_html( $args['id'] ); ?>" tabindex="-1" role="dialog" aria-labelledby="<?php echo esc_html( $args['id'] ); ?>"  aria-hidden="true">
220 220
 		<div class="modal-dialog" role="document">
@@ -222,36 +222,36 @@  discard block
 block discarded – undo
222 222
 			<button type="button" class="close" data-dismiss="modal">&times;</button>			
223 223
 				<div class="modal-header">
224 224
 					<?php
225
-					if ( '' !== $args['title'] ) {
226
-						echo wp_kses_post( '<h2>' . $args['title'] . '</h2>' );
227
-					}
228
-					?>
225
+                         if ( '' !== $args['title'] ) {
226
+                              echo wp_kses_post( '<h2>' . $args['title'] . '</h2>' );
227
+                         }
228
+                         ?>
229 229
 				</div>
230 230
 				<div class="modal-body">
231 231
 				<?php
232
-				if ( '' !== $args['body'] ) {
233
-					$allowed_html = array(
234
-						'iframe' => array(
235
-							'data-src'        => array(),
236
-							'src'             => array(),
237
-							'width'           => array(),
238
-							'height'          => array(),
239
-							'frameBorder'     => array( '0' ),
240
-							'class'           => array(),
241
-							'allowFullScreen' => array(),
242
-							'style'           => array(),
243
-						),
244
-						'h5'     => array(
245
-							'class' => array(),
246
-						),
247
-					);
248
-					if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
249
-						echo wp_kses_post( $args['body'] );
250
-					} else {
251
-						echo wp_kses( $args['body'], $allowed_html );
252
-					}
253
-				}
254
-				?>
232
+                    if ( '' !== $args['body'] ) {
233
+                         $allowed_html = array(
234
+                              'iframe' => array(
235
+                                   'data-src'        => array(),
236
+                                   'src'             => array(),
237
+                                   'width'           => array(),
238
+                                   'height'          => array(),
239
+                                   'frameBorder'     => array( '0' ),
240
+                                   'class'           => array(),
241
+                                   'allowFullScreen' => array(),
242
+                                   'style'           => array(),
243
+                              ),
244
+                              'h5'     => array(
245
+                                   'class' => array(),
246
+                              ),
247
+                         );
248
+                         if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
249
+                              echo wp_kses_post( $args['body'] );
250
+                         } else {
251
+                              echo wp_kses( $args['body'], $allowed_html );
252
+                         }
253
+                    }
254
+                    ?>
255 255
 				</div>
256 256
 			</div>
257 257
 		</div>
@@ -267,18 +267,18 @@  discard block
 block discarded – undo
267 267
  * @return void
268 268
  */
269 269
 function get_video_url( $embed ) {
270
-	$url = '';
271
-	if ( false !== stripos( $embed, '<iframe' ) ) {
272
-		preg_match( '/src="([^"]+)"/', $embed, $match );
273
-		if ( is_array( $match ) && isset( $match[1] ) ) {
274
-			$url = '<iframe data-src="' . $match[1] . '" style="border: 0;" frameBorder="0" class="giphy-embed" allowFullScreen height="300" width="100%"></iframe>';
275
-		} else {
276
-			$url = $embed;
277
-		}
278
-	} else {
279
-		$url = $embed;
280
-	}
281
-	return $url;
270
+     $url = '';
271
+     if ( false !== stripos( $embed, '<iframe' ) ) {
272
+          preg_match( '/src="([^"]+)"/', $embed, $match );
273
+          if ( is_array( $match ) && isset( $match[1] ) ) {
274
+               $url = '<iframe data-src="' . $match[1] . '" style="border: 0;" frameBorder="0" class="giphy-embed" allowFullScreen height="300" width="100%"></iframe>';
275
+          } else {
276
+               $url = $embed;
277
+          }
278
+     } else {
279
+          $url = $embed;
280
+     }
281
+     return $url;
282 282
 }
283 283
 
284 284
 /**
@@ -289,18 +289,18 @@  discard block
 block discarded – undo
289 289
  * @return boolean
290 290
  */
291 291
 function is_week_complete( $term_id = false, $section_keys = array(), $group_title = '' ) {
292
-	$return = false;
293
-	if ( ! empty( $section_keys ) ) {
294
-		$group_count = count( $section_keys );
295
-		foreach ( $section_keys as &$pid ) {
296
-			$pid = 'day_' . \lsx_health_plan\functions\plan\generate_section_id( $pid ) . '_complete';
297
-		}
298
-		$days_complete = get_meta_amounts( $section_keys );
299
-		if ( (int) $group_count === (int) $days_complete ) {
300
-			$return = true;
301
-		}
302
-	}
303
-	return $return;
292
+     $return = false;
293
+     if ( ! empty( $section_keys ) ) {
294
+          $group_count = count( $section_keys );
295
+          foreach ( $section_keys as &$pid ) {
296
+               $pid = 'day_' . \lsx_health_plan\functions\plan\generate_section_id( $pid ) . '_complete';
297
+          }
298
+          $days_complete = get_meta_amounts( $section_keys );
299
+          if ( (int) $group_count === (int) $days_complete ) {
300
+               $return = true;
301
+          }
302
+     }
303
+     return $return;
304 304
 }
305 305
 
306 306
 /**
@@ -311,23 +311,23 @@  discard block
 block discarded – undo
311 311
  * @return void
312 312
  */
313 313
 function get_meta_amounts( $post_ids = array() ) {
314
-	global $wpdb;
315
-	$amount       = 0;
316
-	$current_user = wp_get_current_user();
317
-	if ( false !== $current_user && ! empty( $post_ids ) ) {
318
-		$post_ids = "'" . implode( "','", $post_ids ) . "'";
319
-		$query    = "
314
+     global $wpdb;
315
+     $amount       = 0;
316
+     $current_user = wp_get_current_user();
317
+     if ( false !== $current_user && ! empty( $post_ids ) ) {
318
+          $post_ids = "'" . implode( "','", $post_ids ) . "'";
319
+          $query    = "
320 320
 			SELECT COUNT(`meta_value`) 
321 321
 			FROM `{$wpdb->usermeta}`
322 322
 			WHERE `meta_key` IN ({$post_ids})
323 323
 			AND `user_id` = '{$current_user->ID}'
324 324
 		";
325
-		$results  = $wpdb->get_var( $query ); // WPCS: unprepared SQL
326
-		if ( ! empty( $results ) ) {
327
-			$amount = $results;
328
-		}
329
-	}
330
-	return $amount;
325
+          $results  = $wpdb->get_var( $query ); // WPCS: unprepared SQL
326
+          if ( ! empty( $results ) ) {
327
+               $amount = $results;
328
+          }
329
+     }
330
+     return $amount;
331 331
 }
332 332
 
333 333
 /**
@@ -337,39 +337,39 @@  discard block
 block discarded – undo
337 337
  * @return void
338 338
  */
339 339
 function hp_get_plan_type_meta( $post ) {
340
-	$plan_meta = '';
340
+     $plan_meta = '';
341 341
 
342
-	$term_obj_list = get_the_terms( $post->ID, 'plan-type' );
343
-	if ( false !== $term_obj_list ) {
344
-		$terms_string  = join( ' & ', wp_list_pluck( $term_obj_list, 'name' ) );
345
-		$terms_ids     = wp_list_pluck( $term_obj_list, 'term_id' );
342
+     $term_obj_list = get_the_terms( $post->ID, 'plan-type' );
343
+     if ( false !== $term_obj_list ) {
344
+          $terms_string  = join( ' & ', wp_list_pluck( $term_obj_list, 'name' ) );
345
+          $terms_ids     = wp_list_pluck( $term_obj_list, 'term_id' );
346 346
 
347
-		foreach ( $terms_ids as $terms_id ) {
348
-			$term_thumbnail_id = get_term_meta( $terms_id, 'thumbnail', true );
349
-			$img               = wp_get_attachment_image_src( $term_thumbnail_id, 'thumbnail' );
350
-			if ( ! empty( $img ) ) {
351
-				$image_url         = $img[0];
352
-				$img               = '<img loading="lazy" alt="thumbnail" style="width:24px; height: auto;" class="attachment-responsive wp-post-image lsx-responsive" src="' . esc_url( $image_url ) . '" />';
353
-			}
347
+          foreach ( $terms_ids as $terms_id ) {
348
+               $term_thumbnail_id = get_term_meta( $terms_id, 'thumbnail', true );
349
+               $img               = wp_get_attachment_image_src( $term_thumbnail_id, 'thumbnail' );
350
+               if ( ! empty( $img ) ) {
351
+                    $image_url         = $img[0];
352
+                    $img               = '<img loading="lazy" alt="thumbnail" style="width:24px; height: auto;" class="attachment-responsive wp-post-image lsx-responsive" src="' . esc_url( $image_url ) . '" />';
353
+               }
354 354
 
355
-			$plan_meta .= $img;
356
-		}
355
+               $plan_meta .= $img;
356
+          }
357 357
 
358
-		$plan_meta = '<div class="plan-meta">' . $plan_meta . '<span>' . $terms_string . '</span></div>';
359
-	}
358
+          $plan_meta = '<div class="plan-meta">' . $plan_meta . '<span>' . $terms_string . '</span></div>';
359
+     }
360 360
 
361
-	return $plan_meta;
361
+     return $plan_meta;
362 362
 }
363 363
 
364 364
 /**
365 365
  * Limit media library access
366 366
  */
367 367
 function set_only_author( $wp_query ) {
368
-	global $current_user;
369
-	if ( is_admin() && ! current_user_can( 'edit_others_posts' ) ) {
370
-		$wp_query->set( 'administrator', $current_user->ID );
371
-		add_filter( 'views_upload', 'fix_media_counts' );
372
-	}
368
+     global $current_user;
369
+     if ( is_admin() && ! current_user_can( 'edit_others_posts' ) ) {
370
+          $wp_query->set( 'administrator', $current_user->ID );
371
+          add_filter( 'views_upload', 'fix_media_counts' );
372
+     }
373 373
 }
374 374
 add_action( 'pre_get_posts', '\lsx_health_plan\functions\set_only_author' );
375 375
 
@@ -380,12 +380,12 @@  discard block
 block discarded – undo
380 380
  * @return void
381 381
  */
382 382
 function hp_excerpt( $post_id ) {
383
-	if ( ! has_excerpt( $post_id ) ) {
384
-		$content = wp_trim_words( get_post_field( 'post_content', $post_id ), 10 );
385
-	} else {
386
-		$content = get_the_excerpt( $post_id );
387
-	}
388
-	return $content;
383
+     if ( ! has_excerpt( $post_id ) ) {
384
+          $content = wp_trim_words( get_post_field( 'post_content', $post_id ), 10 );
385
+     } else {
386
+          $content = get_the_excerpt( $post_id );
387
+     }
388
+     return $content;
389 389
 }
390 390
 
391 391
 /**
@@ -395,8 +395,8 @@  discard block
 block discarded – undo
395 395
  * @return void
396 396
  */
397 397
 function column_class( $columns = '3' ) {
398
-	$cols .= '5' === $columns ? '15' : 12 / $columns;
399
-	return $cols;
398
+     $cols .= '5' === $columns ? '15' : 12 / $columns;
399
+     return $cols;
400 400
 }
401 401
 
402 402
 /**
@@ -406,22 +406,22 @@  discard block
 block discarded – undo
406 406
  * @return void
407 407
  */
408 408
 function get_exercises_by_workout( $workout = '' ) {
409
-	$exercises = array();
410
-	$i               = 1;
411
-	$section_counter = 6;
412
-	while ( $i <= $section_counter ) {
413
-		$group_name = 'workout_section_' . $i;
414
-		$groups     = get_post_meta( $workout, $group_name, true );
415
-		if ( ! empty( $groups ) ) {
416
-			foreach ( $groups as $group ) {
417
-				if ( isset( $group['connected_exercises'] ) ) {
418
-					$exercises[] = $group['connected_exercises'];
419
-				}
420
-			}
421
-		}
422
-		$i++;
423
-	}
424
-	return $exercises;
409
+     $exercises = array();
410
+     $i               = 1;
411
+     $section_counter = 6;
412
+     while ( $i <= $section_counter ) {
413
+          $group_name = 'workout_section_' . $i;
414
+          $groups     = get_post_meta( $workout, $group_name, true );
415
+          if ( ! empty( $groups ) ) {
416
+               foreach ( $groups as $group ) {
417
+                    if ( isset( $group['connected_exercises'] ) ) {
418
+                         $exercises[] = $group['connected_exercises'];
419
+                    }
420
+               }
421
+          }
422
+          $i++;
423
+     }
424
+     return $exercises;
425 425
 }
426 426
 
427 427
 
@@ -432,20 +432,20 @@  discard block
 block discarded – undo
432 432
  * @return int
433 433
  */
434 434
 function get_progress( $plan_id = false ) {
435
-	$progress = 0;
436
-	$complete = array();
437
-	$count    = 0;
438
-	if ( false !== $plan_id &&  \lsx_health_plan\functions\plan\has_sections( $plan_id ) ) {
439
-		$sections = \lsx_health_plan\functions\plan\get_sections( $plan_id );
440
-		$all_count = count( $sections );
441
-		foreach ( $sections as $section_key => $section_values ) {
442
-			if ( lsx_health_plan_is_day_complete( $plan_id, $section_values['title'] ) ) {
443
-				$complete[] = true;
444
-			}
445
-		}
446
-		$progress = (int) count( $complete ) / (int) $all_count * 100;
447
-	}
448
-	return $progress;
435
+     $progress = 0;
436
+     $complete = array();
437
+     $count    = 0;
438
+     if ( false !== $plan_id &&  \lsx_health_plan\functions\plan\has_sections( $plan_id ) ) {
439
+          $sections = \lsx_health_plan\functions\plan\get_sections( $plan_id );
440
+          $all_count = count( $sections );
441
+          foreach ( $sections as $section_key => $section_values ) {
442
+               if ( lsx_health_plan_is_day_complete( $plan_id, $section_values['title'] ) ) {
443
+                    $complete[] = true;
444
+               }
445
+          }
446
+          $progress = (int) count( $complete ) / (int) $all_count * 100;
447
+     }
448
+     return $progress;
449 449
 }
450 450
 
451 451
 
@@ -457,18 +457,18 @@  discard block
 block discarded – undo
457 457
  */
458 458
 function hp_back_archive_link() {
459 459
 
460
-	$post_type = 'exercise';
461
-	if ( is_tax( 'recipe-cuisine' ) || is_tax( 'recipe-type' ) ) {
462
-		$post_type = 'recipe';
463
-	}
460
+     $post_type = 'exercise';
461
+     if ( is_tax( 'recipe-cuisine' ) || is_tax( 'recipe-type' ) ) {
462
+          $post_type = 'recipe';
463
+     }
464 464
 
465
-	if ( is_tax() ) {
466
-		?>
465
+     if ( is_tax() ) {
466
+          ?>
467 467
 		<div class="archive-category-title hp-archive-category-title">
468 468
 			<a class="back-to-blog" href="<?php echo ( esc_url( get_post_type_archive_link( $post_type ) ) ); ?>"><?php echo esc_html__( 'Back To ', 'lsx' ) . esc_html( $post_type ) . 's'; ?></a>
469 469
 		</div>
470 470
 		<?php
471
-	}
471
+     }
472 472
 }
473 473
 add_action( 'lsx_content_wrap_before', '\lsx_health_plan\functions\hp_back_archive_link', 20 );
474 474
 
@@ -479,11 +479,11 @@  discard block
 block discarded – undo
479 479
  * @return array
480 480
  */
481 481
 function prep_array( $item ) {
482
-	if ( ! is_array( $item ) ) {
483
-		$item = explode( ',', $item );
484
-		if ( ! is_array( $item ) ) {
485
-			$item = array( $item );
486
-		}
487
-	}
488
-	return $item;
482
+     if ( ! is_array( $item ) ) {
483
+          $item = explode( ',', $item );
484
+          if ( ! is_array( $item ) ) {
485
+               $item = array( $item );
486
+          }
487
+     }
488
+     return $item;
489 489
 }
Please login to merge, or discard this patch.
Spacing   +122 added lines, -122 removed lines patch added patch discarded remove patch
@@ -16,24 +16,24 @@  discard block
 block discarded – undo
16 16
  * @param boolean $single
17 17
  * @return boolean
18 18
  */
19
-function has_attached_post( $post_id = '', $meta_key = '', $single = true ) {
19
+function has_attached_post($post_id = '', $meta_key = '', $single = true) {
20 20
 	$has_post = false;
21
-	if ( '' === $post_id ) {
21
+	if ('' === $post_id) {
22 22
 		$post_id = get_the_ID();
23 23
 	}
24
-	$items = get_post_meta( $post_id, $meta_key, $single );
25
-	if ( '' !== $items && false !== $items && 0 !== $items ) {
26
-		if ( ! is_array( $items ) ) {
27
-			$items = array( $items );
24
+	$items = get_post_meta($post_id, $meta_key, $single);
25
+	if ('' !== $items && false !== $items && 0 !== $items) {
26
+		if ( ! is_array($items)) {
27
+			$items = array($items);
28 28
 		}
29
-		$items = check_posts_exist( $items );
30
-		if ( ! empty( $items ) ) {
29
+		$items = check_posts_exist($items);
30
+		if ( ! empty($items)) {
31 31
 			$has_post = true;
32 32
 		}
33 33
 	} else {
34 34
 		// Check for defaults.
35
-		$options = get_option( 'all' );
36
-		if ( isset( $options[ $meta_key ] ) && '' !== $options[ $meta_key ] && ! empty( $options[ $meta_key ] ) ) {
35
+		$options = get_option('all');
36
+		if (isset($options[$meta_key]) && '' !== $options[$meta_key] && ! empty($options[$meta_key])) {
37 37
 			$has_post = true;
38 38
 		}
39 39
 	}
@@ -47,17 +47,17 @@  discard block
 block discarded – undo
47 47
  * @param  mixed  $default Optional default value
48 48
  * @return mixed           Option value
49 49
  */
50
-function get_option( $key = '', $default = false ) {
51
-	if ( function_exists( 'cmb2_get_option' ) ) {
52
-		return cmb2_get_option( 'lsx_health_plan_options', $key, $default );
50
+function get_option($key = '', $default = false) {
51
+	if (function_exists('cmb2_get_option')) {
52
+		return cmb2_get_option('lsx_health_plan_options', $key, $default);
53 53
 	}
54 54
 	// Fallback to get_option if CMB2 is not loaded yet.
55
-	$opts = \get_option( 'lsx_health_plan_options', $default );
55
+	$opts = \get_option('lsx_health_plan_options', $default);
56 56
 	$val  = $default;
57
-	if ( 'all' === $key ) {
57
+	if ('all' === $key) {
58 58
 		$val = $opts;
59
-	} elseif ( is_array( $opts ) && array_key_exists( $key, $opts ) && false !== $opts[ $key ] ) {
60
-		$val = $opts[ $key ];
59
+	} elseif (is_array($opts) && array_key_exists($key, $opts) && false !== $opts[$key]) {
60
+		$val = $opts[$key];
61 61
 	}
62 62
 	return $val;
63 63
 }
@@ -69,54 +69,54 @@  discard block
 block discarded – undo
69 69
  * @param  mixed  $default Optional default value
70 70
  * @return mixed           Option value
71 71
  */
72
-function get_downloads( $type = 'all', $post_id = '' ) {
72
+function get_downloads($type = 'all', $post_id = '') {
73 73
 	$lsx_health_plan = \lsx_health_plan();
74 74
 	$post_types      = $lsx_health_plan->get_post_types();
75
-	if ( '' === $post_id ) {
75
+	if ('' === $post_id) {
76 76
 		$post_id = get_the_ID();
77 77
 	}
78 78
 	$downloads = array();
79
-	$options   = get_option( 'all' );
79
+	$options   = get_option('all');
80 80
 
81
-	foreach ( $post_types as $post_type ) {
82
-		if ( 'all' === $type || in_array( $type, $post_types, true ) ) {
81
+	foreach ($post_types as $post_type) {
82
+		if ('all' === $type || in_array($type, $post_types, true)) {
83 83
 
84 84
 			// Get the default downloads for this post type.
85 85
 			$default_downloads = array();
86 86
 			$new_downloads     = array();
87
-			if ( isset( $options[ 'download_' . $post_type ] ) ) {
88
-				if ( is_array( $options[ 'download_' . $post_type ] ) ) {
89
-					$default_downloads = $options[ 'download_' . $post_type ];
87
+			if (isset($options['download_' . $post_type])) {
88
+				if (is_array($options['download_' . $post_type])) {
89
+					$default_downloads = $options['download_' . $post_type];
90 90
 				} else {
91
-					$default_downloads[] = $options[ 'download_' . $post_type ];
91
+					$default_downloads[] = $options['download_' . $post_type];
92 92
 				}
93 93
 			}
94 94
 
95
-			if ( 'page' === $post_type ) {
95
+			if ('page' === $post_type) {
96 96
 				$key = 'plan_warmup';
97 97
 			} else {
98 98
 				$key = 'connected_' . $post_type . 's';
99 99
 			}
100 100
 
101
-			$connected_items = get_post_meta( $post_id, $key, true );
102
-			if ( ! empty( $connected_items ) ) {
103
-				foreach ( $connected_items as $connected_item ) {
104
-					$current_downloads = get_post_meta( $connected_item, 'connected_downloads', true );
105
-					if ( false !== $current_downloads && ! empty( $current_downloads ) ) {
106
-						$new_downloads = array_merge( $new_downloads, $current_downloads );
101
+			$connected_items = get_post_meta($post_id, $key, true);
102
+			if ( ! empty($connected_items)) {
103
+				foreach ($connected_items as $connected_item) {
104
+					$current_downloads = get_post_meta($connected_item, 'connected_downloads', true);
105
+					if (false !== $current_downloads && ! empty($current_downloads)) {
106
+						$new_downloads = array_merge($new_downloads, $current_downloads);
107 107
 					}
108 108
 				}
109 109
 			}
110 110
 
111
-			if ( ! empty( $new_downloads ) ) {
112
-				$downloads = array_merge( $downloads, $new_downloads );
113
-			} elseif ( ! empty( $default_downloads ) ) {
114
-				$downloads = array_merge( $downloads, $default_downloads );
111
+			if ( ! empty($new_downloads)) {
112
+				$downloads = array_merge($downloads, $new_downloads);
113
+			} elseif ( ! empty($default_downloads)) {
114
+				$downloads = array_merge($downloads, $default_downloads);
115 115
 			}
116
-			$downloads = array_unique( $downloads );
116
+			$downloads = array_unique($downloads);
117 117
 		}
118 118
 	}
119
-	$downloads = check_posts_exist( $downloads );
119
+	$downloads = check_posts_exist($downloads);
120 120
 	return $downloads;
121 121
 }
122 122
 
@@ -126,11 +126,11 @@  discard block
 block discarded – undo
126 126
  * @param  string $week    Week name 'week-1'.
127 127
  * @return array           an array of the downloads or empty.
128 128
  */
129
-function get_weekly_downloads( $week = '' ) {
129
+function get_weekly_downloads($week = '') {
130 130
 	$downloads = array();
131
-	if ( '' !== $week ) {
132
-		$saved_downloads = get_transient( 'lsx_hp_weekly_downloads_' . $week );
133
-		if ( false !== $saved_downloads && ! empty( $saved_downloads ) ) {
131
+	if ('' !== $week) {
132
+		$saved_downloads = get_transient('lsx_hp_weekly_downloads_' . $week);
133
+		if (false !== $saved_downloads && ! empty($saved_downloads)) {
134 134
 			$downloads = $saved_downloads;
135 135
 		} else {
136 136
 			$args = array(
@@ -144,17 +144,17 @@  discard block
 block discarded – undo
144 144
 					array(
145 145
 						'taxonomy' => 'dlm_download_category',
146 146
 						'field'    => 'slug',
147
-						'terms'    => array( $week ),
147
+						'terms'    => array($week),
148 148
 					),
149 149
 				),
150 150
 			);
151
-			$download_query = new \WP_Query( $args );
152
-			if ( $download_query->have_posts() ) {
151
+			$download_query = new \WP_Query($args);
152
+			if ($download_query->have_posts()) {
153 153
 				$downloads = $download_query->posts;
154 154
 			}
155 155
 		}
156 156
 	}
157
-	$downloads = check_posts_exist( $downloads );
157
+	$downloads = check_posts_exist($downloads);
158 158
 	return $downloads;
159 159
 }
160 160
 
@@ -164,20 +164,20 @@  discard block
 block discarded – undo
164 164
  * @param array $post_ids
165 165
  * @return void
166 166
  */
167
-function check_posts_exist( $post_ids = array() ) {
167
+function check_posts_exist($post_ids = array()) {
168 168
 	$new_ids = array();
169 169
 	global $wpdb;
170
-	if ( is_array( $post_ids ) && ! empty( $post_ids ) ) {
171
-		$post_ids = "'" . implode( "','", $post_ids ) . "'";
170
+	if (is_array($post_ids) && ! empty($post_ids)) {
171
+		$post_ids = "'" . implode("','", $post_ids) . "'";
172 172
 		$query    = "
173 173
 			SELECT `ID` 
174 174
 			FROM `{$wpdb->posts}`
175 175
 			WHERE `ID` IN ({$post_ids})
176 176
 			AND `post_status` != 'trash'
177 177
 		";
178
-		$results = $wpdb->get_results( $query ); // WPCS: unprepared SQL
179
-		if ( ! empty( $results ) ) {
180
-			$new_ids = wp_list_pluck( $results, 'ID' );
178
+		$results = $wpdb->get_results($query); // WPCS: unprepared SQL
179
+		if ( ! empty($results)) {
180
+			$new_ids = wp_list_pluck($results, 'ID');
181 181
 		}
182 182
 	}
183 183
 	return $new_ids;
@@ -191,7 +191,7 @@  discard block
 block discarded – undo
191 191
  * @param string $body
192 192
  * @return void
193 193
  */
194
-function register_modal( $id = '', $title = '', $body = '' ) {
194
+function register_modal($id = '', $title = '', $body = '') {
195 195
 	lsx_health_plan()->frontend->modals->register_modal(
196 196
 		array(
197 197
 			'title' => $title,
@@ -207,36 +207,36 @@  discard block
 block discarded – undo
207 207
  * @param array $args
208 208
  * @return void
209 209
  */
210
-function output_modal( $args = array() ) {
210
+function output_modal($args = array()) {
211 211
 	$defaults = array(
212 212
 		'id'    => '',
213 213
 		'title' => '',
214 214
 		'body'  => '',
215 215
 	);
216
-	$args     = wp_parse_args( $args, $defaults );
216
+	$args = wp_parse_args($args, $defaults);
217 217
 	?>
218 218
 	<!-- Modal -->
219
-	<div class="modal fade lsx-health-plan-modal" id="<?php echo esc_html( $args['id'] ); ?>" tabindex="-1" role="dialog" aria-labelledby="<?php echo esc_html( $args['id'] ); ?>"  aria-hidden="true">
219
+	<div class="modal fade lsx-health-plan-modal" id="<?php echo esc_html($args['id']); ?>" tabindex="-1" role="dialog" aria-labelledby="<?php echo esc_html($args['id']); ?>"  aria-hidden="true">
220 220
 		<div class="modal-dialog" role="document">
221 221
 			<div class="modal-content">
222 222
 			<button type="button" class="close" data-dismiss="modal">&times;</button>			
223 223
 				<div class="modal-header">
224 224
 					<?php
225
-					if ( '' !== $args['title'] ) {
226
-						echo wp_kses_post( '<h2>' . $args['title'] . '</h2>' );
225
+					if ('' !== $args['title']) {
226
+						echo wp_kses_post('<h2>' . $args['title'] . '</h2>');
227 227
 					}
228 228
 					?>
229 229
 				</div>
230 230
 				<div class="modal-body">
231 231
 				<?php
232
-				if ( '' !== $args['body'] ) {
232
+				if ('' !== $args['body']) {
233 233
 					$allowed_html = array(
234 234
 						'iframe' => array(
235 235
 							'data-src'        => array(),
236 236
 							'src'             => array(),
237 237
 							'width'           => array(),
238 238
 							'height'          => array(),
239
-							'frameBorder'     => array( '0' ),
239
+							'frameBorder'     => array('0'),
240 240
 							'class'           => array(),
241 241
 							'allowFullScreen' => array(),
242 242
 							'style'           => array(),
@@ -245,10 +245,10 @@  discard block
 block discarded – undo
245 245
 							'class' => array(),
246 246
 						),
247 247
 					);
248
-					if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
249
-						echo wp_kses_post( $args['body'] );
248
+					if (false !== \lsx_health_plan\functions\get_option('exercise_enabled', false)) {
249
+						echo wp_kses_post($args['body']);
250 250
 					} else {
251
-						echo wp_kses( $args['body'], $allowed_html );
251
+						echo wp_kses($args['body'], $allowed_html);
252 252
 					}
253 253
 				}
254 254
 				?>
@@ -266,11 +266,11 @@  discard block
 block discarded – undo
266 266
  * @param [type] $embed
267 267
  * @return void
268 268
  */
269
-function get_video_url( $embed ) {
269
+function get_video_url($embed) {
270 270
 	$url = '';
271
-	if ( false !== stripos( $embed, '<iframe' ) ) {
272
-		preg_match( '/src="([^"]+)"/', $embed, $match );
273
-		if ( is_array( $match ) && isset( $match[1] ) ) {
271
+	if (false !== stripos($embed, '<iframe')) {
272
+		preg_match('/src="([^"]+)"/', $embed, $match);
273
+		if (is_array($match) && isset($match[1])) {
274 274
 			$url = '<iframe data-src="' . $match[1] . '" style="border: 0;" frameBorder="0" class="giphy-embed" allowFullScreen height="300" width="100%"></iframe>';
275 275
 		} else {
276 276
 			$url = $embed;
@@ -288,15 +288,15 @@  discard block
 block discarded – undo
288 288
  * @param array $post_ids
289 289
  * @return boolean
290 290
  */
291
-function is_week_complete( $term_id = false, $section_keys = array(), $group_title = '' ) {
291
+function is_week_complete($term_id = false, $section_keys = array(), $group_title = '') {
292 292
 	$return = false;
293
-	if ( ! empty( $section_keys ) ) {
294
-		$group_count = count( $section_keys );
295
-		foreach ( $section_keys as &$pid ) {
296
-			$pid = 'day_' . \lsx_health_plan\functions\plan\generate_section_id( $pid ) . '_complete';
293
+	if ( ! empty($section_keys)) {
294
+		$group_count = count($section_keys);
295
+		foreach ($section_keys as &$pid) {
296
+			$pid = 'day_' . \lsx_health_plan\functions\plan\generate_section_id($pid) . '_complete';
297 297
 		}
298
-		$days_complete = get_meta_amounts( $section_keys );
299
-		if ( (int) $group_count === (int) $days_complete ) {
298
+		$days_complete = get_meta_amounts($section_keys);
299
+		if ((int) $group_count === (int) $days_complete) {
300 300
 			$return = true;
301 301
 		}
302 302
 	}
@@ -310,20 +310,20 @@  discard block
 block discarded – undo
310 310
  * @param string $key
311 311
  * @return void
312 312
  */
313
-function get_meta_amounts( $post_ids = array() ) {
313
+function get_meta_amounts($post_ids = array()) {
314 314
 	global $wpdb;
315 315
 	$amount       = 0;
316 316
 	$current_user = wp_get_current_user();
317
-	if ( false !== $current_user && ! empty( $post_ids ) ) {
318
-		$post_ids = "'" . implode( "','", $post_ids ) . "'";
317
+	if (false !== $current_user && ! empty($post_ids)) {
318
+		$post_ids = "'" . implode("','", $post_ids) . "'";
319 319
 		$query    = "
320 320
 			SELECT COUNT(`meta_value`) 
321 321
 			FROM `{$wpdb->usermeta}`
322 322
 			WHERE `meta_key` IN ({$post_ids})
323 323
 			AND `user_id` = '{$current_user->ID}'
324 324
 		";
325
-		$results  = $wpdb->get_var( $query ); // WPCS: unprepared SQL
326
-		if ( ! empty( $results ) ) {
325
+		$results = $wpdb->get_var($query); // WPCS: unprepared SQL
326
+		if ( ! empty($results)) {
327 327
 			$amount = $results;
328 328
 		}
329 329
 	}
@@ -336,20 +336,20 @@  discard block
 block discarded – undo
336 336
  * @param [type] $post
337 337
  * @return void
338 338
  */
339
-function hp_get_plan_type_meta( $post ) {
339
+function hp_get_plan_type_meta($post) {
340 340
 	$plan_meta = '';
341 341
 
342
-	$term_obj_list = get_the_terms( $post->ID, 'plan-type' );
343
-	if ( false !== $term_obj_list ) {
344
-		$terms_string  = join( ' & ', wp_list_pluck( $term_obj_list, 'name' ) );
345
-		$terms_ids     = wp_list_pluck( $term_obj_list, 'term_id' );
342
+	$term_obj_list = get_the_terms($post->ID, 'plan-type');
343
+	if (false !== $term_obj_list) {
344
+		$terms_string  = join(' & ', wp_list_pluck($term_obj_list, 'name'));
345
+		$terms_ids     = wp_list_pluck($term_obj_list, 'term_id');
346 346
 
347
-		foreach ( $terms_ids as $terms_id ) {
348
-			$term_thumbnail_id = get_term_meta( $terms_id, 'thumbnail', true );
349
-			$img               = wp_get_attachment_image_src( $term_thumbnail_id, 'thumbnail' );
350
-			if ( ! empty( $img ) ) {
347
+		foreach ($terms_ids as $terms_id) {
348
+			$term_thumbnail_id = get_term_meta($terms_id, 'thumbnail', true);
349
+			$img               = wp_get_attachment_image_src($term_thumbnail_id, 'thumbnail');
350
+			if ( ! empty($img)) {
351 351
 				$image_url         = $img[0];
352
-				$img               = '<img loading="lazy" alt="thumbnail" style="width:24px; height: auto;" class="attachment-responsive wp-post-image lsx-responsive" src="' . esc_url( $image_url ) . '" />';
352
+				$img               = '<img loading="lazy" alt="thumbnail" style="width:24px; height: auto;" class="attachment-responsive wp-post-image lsx-responsive" src="' . esc_url($image_url) . '" />';
353 353
 			}
354 354
 
355 355
 			$plan_meta .= $img;
@@ -364,14 +364,14 @@  discard block
 block discarded – undo
364 364
 /**
365 365
  * Limit media library access
366 366
  */
367
-function set_only_author( $wp_query ) {
367
+function set_only_author($wp_query) {
368 368
 	global $current_user;
369
-	if ( is_admin() && ! current_user_can( 'edit_others_posts' ) ) {
370
-		$wp_query->set( 'administrator', $current_user->ID );
371
-		add_filter( 'views_upload', 'fix_media_counts' );
369
+	if (is_admin() && ! current_user_can('edit_others_posts')) {
370
+		$wp_query->set('administrator', $current_user->ID);
371
+		add_filter('views_upload', 'fix_media_counts');
372 372
 	}
373 373
 }
374
-add_action( 'pre_get_posts', '\lsx_health_plan\functions\set_only_author' );
374
+add_action('pre_get_posts', '\lsx_health_plan\functions\set_only_author');
375 375
 
376 376
 /**
377 377
  * Outputs an excerpt even if there is not excerpt.
@@ -379,11 +379,11 @@  discard block
 block discarded – undo
379 379
  * @param [type] $post_id
380 380
  * @return void
381 381
  */
382
-function hp_excerpt( $post_id ) {
383
-	if ( ! has_excerpt( $post_id ) ) {
384
-		$content = wp_trim_words( get_post_field( 'post_content', $post_id ), 10 );
382
+function hp_excerpt($post_id) {
383
+	if ( ! has_excerpt($post_id)) {
384
+		$content = wp_trim_words(get_post_field('post_content', $post_id), 10);
385 385
 	} else {
386
-		$content = get_the_excerpt( $post_id );
386
+		$content = get_the_excerpt($post_id);
387 387
 	}
388 388
 	return $content;
389 389
 }
@@ -394,7 +394,7 @@  discard block
 block discarded – undo
394 394
  * @param string $columns
395 395
  * @return void
396 396
  */
397
-function column_class( $columns = '3' ) {
397
+function column_class($columns = '3') {
398 398
 	$cols .= '5' === $columns ? '15' : 12 / $columns;
399 399
 	return $cols;
400 400
 }
@@ -405,16 +405,16 @@  discard block
 block discarded – undo
405 405
  * @param string $workout
406 406
  * @return void
407 407
  */
408
-function get_exercises_by_workout( $workout = '' ) {
408
+function get_exercises_by_workout($workout = '') {
409 409
 	$exercises = array();
410 410
 	$i               = 1;
411 411
 	$section_counter = 6;
412
-	while ( $i <= $section_counter ) {
412
+	while ($i <= $section_counter) {
413 413
 		$group_name = 'workout_section_' . $i;
414
-		$groups     = get_post_meta( $workout, $group_name, true );
415
-		if ( ! empty( $groups ) ) {
416
-			foreach ( $groups as $group ) {
417
-				if ( isset( $group['connected_exercises'] ) ) {
414
+		$groups     = get_post_meta($workout, $group_name, true);
415
+		if ( ! empty($groups)) {
416
+			foreach ($groups as $group) {
417
+				if (isset($group['connected_exercises'])) {
418 418
 					$exercises[] = $group['connected_exercises'];
419 419
 				}
420 420
 			}
@@ -431,19 +431,19 @@  discard block
 block discarded – undo
431 431
  * @param  int $plan_id
432 432
  * @return int
433 433
  */
434
-function get_progress( $plan_id = false ) {
434
+function get_progress($plan_id = false) {
435 435
 	$progress = 0;
436 436
 	$complete = array();
437 437
 	$count    = 0;
438
-	if ( false !== $plan_id &&  \lsx_health_plan\functions\plan\has_sections( $plan_id ) ) {
439
-		$sections = \lsx_health_plan\functions\plan\get_sections( $plan_id );
440
-		$all_count = count( $sections );
441
-		foreach ( $sections as $section_key => $section_values ) {
442
-			if ( lsx_health_plan_is_day_complete( $plan_id, $section_values['title'] ) ) {
438
+	if (false !== $plan_id && \lsx_health_plan\functions\plan\has_sections($plan_id)) {
439
+		$sections = \lsx_health_plan\functions\plan\get_sections($plan_id);
440
+		$all_count = count($sections);
441
+		foreach ($sections as $section_key => $section_values) {
442
+			if (lsx_health_plan_is_day_complete($plan_id, $section_values['title'])) {
443 443
 				$complete[] = true;
444 444
 			}
445 445
 		}
446
-		$progress = (int) count( $complete ) / (int) $all_count * 100;
446
+		$progress = (int) count($complete) / (int) $all_count * 100;
447 447
 	}
448 448
 	return $progress;
449 449
 }
@@ -458,19 +458,19 @@  discard block
 block discarded – undo
458 458
 function hp_back_archive_link() {
459 459
 
460 460
 	$post_type = 'exercise';
461
-	if ( is_tax( 'recipe-cuisine' ) || is_tax( 'recipe-type' ) ) {
461
+	if (is_tax('recipe-cuisine') || is_tax('recipe-type')) {
462 462
 		$post_type = 'recipe';
463 463
 	}
464 464
 
465
-	if ( is_tax() ) {
465
+	if (is_tax()) {
466 466
 		?>
467 467
 		<div class="archive-category-title hp-archive-category-title">
468
-			<a class="back-to-blog" href="<?php echo ( esc_url( get_post_type_archive_link( $post_type ) ) ); ?>"><?php echo esc_html__( 'Back To ', 'lsx' ) . esc_html( $post_type ) . 's'; ?></a>
468
+			<a class="back-to-blog" href="<?php echo (esc_url(get_post_type_archive_link($post_type))); ?>"><?php echo esc_html__('Back To ', 'lsx') . esc_html($post_type) . 's'; ?></a>
469 469
 		</div>
470 470
 		<?php
471 471
 	}
472 472
 }
473
-add_action( 'lsx_content_wrap_before', '\lsx_health_plan\functions\hp_back_archive_link', 20 );
473
+add_action('lsx_content_wrap_before', '\lsx_health_plan\functions\hp_back_archive_link', 20);
474 474
 
475 475
 /**
476 476
  * Returns an array.
@@ -478,11 +478,11 @@  discard block
 block discarded – undo
478 478
  * @param  mixed $item
479 479
  * @return array
480 480
  */
481
-function prep_array( $item ) {
482
-	if ( ! is_array( $item ) ) {
483
-		$item = explode( ',', $item );
484
-		if ( ! is_array( $item ) ) {
485
-			$item = array( $item );
481
+function prep_array($item) {
482
+	if ( ! is_array($item)) {
483
+		$item = explode(',', $item);
484
+		if ( ! is_array($item)) {
485
+			$item = array($item);
486 486
 		}
487 487
 	}
488 488
 	return $item;
Please login to merge, or discard this patch.