Passed
Push — master ( 903e32...f43b43 )
by Warwick
07:01
created

lsx_health_plan_my_profile_tabs()   B

Complexity

Conditions 7
Paths 6

Size

Total Lines 25
Code Lines 24

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 7
eloc 24
c 1
b 0
f 0
nc 6
nop 0
dl 0
loc 25
rs 8.6026
1
<?php
2
/**
3
 * LSX Health Plan Template Tags.
4
 *
5
 * @package lsx-health-plan
6
 */
7
8
/**
9
 * Outputs the workout box on the single plan page.
10
*
0 ignored issues
show
Coding Style introduced by
Expected 1 space(s) before asterisk; 0 found
Loading history...
11
* @return void
0 ignored issues
show
Coding Style introduced by
Expected 1 space(s) before asterisk; 0 found
Loading history...
12
*/
0 ignored issues
show
Coding Style introduced by
Expected 1 space(s) before asterisk; 0 found
Loading history...
13
function lsx_health_plan_workout_box() {
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines before function; 1 found
Loading history...
14
	if ( ! post_type_exists( 'workout' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
15
		return;
16
	}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
17
	$intro_text = \lsx_health_plan\functions\get_option( 'workout_intro', false );
18
	?>
19
	<div class="workout-instructions">
20
		<div class="row">
21
			<div class="col-md-12">
22
			<?php
23
			if ( false !== $intro_text ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
24
				?>
25
				<div class="excerpt">
26
					<p><?php echo wp_kses_post( wpautop( $intro_text ) ); ?></p>
0 ignored issues
show
Bug introduced by
It seems like $intro_text can also be of type array; however, parameter $pee of wpautop() does only seem to accept string, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

26
					<p><?php echo wp_kses_post( wpautop( /** @scrutinizer ignore-type */ $intro_text ) ); ?></p>
Loading history...
27
				</div>
28
				<?php
29
			} else {
30
				?>
31
				<div class="content-intro">
32
					<h3><?php esc_html_e( "Don't forget your warm up!", 'lsx-health-plan' ); ?></h3>
33
					<p><?php esc_html_e( 'Be sure to do the warm-up before every workout session.', 'lsx-health-plan' ); ?></p>
34
				</div>
35
				<?php
36
			} ?>
0 ignored issues
show
Coding Style introduced by
Closing PHP tag must be on a line by itself
Loading history...
37
			</div>
38
		</div>
39
	</div>
40
<?php
41
}
0 ignored issues
show
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
42
43
/**
44
 * Outputs the meal plan box on the single plan page.
45
*
0 ignored issues
show
Coding Style introduced by
Expected 1 space(s) before asterisk; 0 found
Loading history...
46
* @return void
0 ignored issues
show
Coding Style introduced by
Expected 1 space(s) before asterisk; 0 found
Loading history...
47
*/
0 ignored issues
show
Coding Style introduced by
Expected 1 space(s) before asterisk; 0 found
Loading history...
48
function lsx_health_plan_meal_box() {
49
	if ( ! post_type_exists( 'meal' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
50
		return;
51
	}
52
	?>
53
	<div class="col-md-4" >
54
		<div class="lsx-health-plan-box">
55
			<h3 class="title meal-plan-title title-lined"><?php esc_html_e( 'Your Meal Plan', 'lsx-health-plan' ); ?><?php lsx_get_svg_icon( 'meal.svg' ); ?></h3>
56
			<div class="spacer"></div>
57
			<?php
58
			$intro_text = \lsx_health_plan\functions\get_option( 'meal_plan_intro', false );
59
			if ( false !== $intro_text ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
60
				?>
61
				<div class="excerpt">
62
					<p><?php echo wp_kses_post( $intro_text ); ?></p>
0 ignored issues
show
Bug introduced by
It seems like $intro_text can also be of type array; however, parameter $data of wp_kses_post() does only seem to accept string, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

62
					<p><?php echo wp_kses_post( /** @scrutinizer ignore-type */ $intro_text ); ?></p>
Loading history...
63
				</div>
64
				<?php
65
			}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
66
			$meal = \lsx_health_plan\functions\get_option( 'endpoint_meal', false );
67
			if ( false === $meal ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
68
				$meal = 'meal';
69
			}
70
			?>
71
			<a href="<?php the_permalink(); ?><?php echo esc_attr( $meal ); ?>/" class="btn"><?php esc_html_e( 'View your meal plan', 'lsx-health-plan' ); ?></a>
72
		</div>
73
	</div>
74
<?php
75
}
0 ignored issues
show
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
76
77
/**
78
 * Outputs the recipe box on the single plan page.
79
*
0 ignored issues
show
Coding Style introduced by
Expected 1 space(s) before asterisk; 0 found
Loading history...
80
* @return void
0 ignored issues
show
Coding Style introduced by
Expected 1 space(s) before asterisk; 0 found
Loading history...
81
*/
0 ignored issues
show
Coding Style introduced by
Expected 1 space(s) before asterisk; 0 found
Loading history...
82
function lsx_health_plan_recipe_box() {
83
	if ( ! post_type_exists( 'recipe' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
84
		return;
85
	}
86
	?>
87
	<div class="col-md-4" >
88
		<div class="lsx-health-plan-box">
89
			<h3 class="title recipes-title title-lined"><?php esc_html_e( 'Recipes', 'lsx-health-plan' ); ?><?php lsx_get_svg_icon( 'recipes.svg' ); ?></h3>
90
			<div class="spacer"></div>
91
			<?php
92
			$intro_text = \lsx_health_plan\functions\get_option( 'recipes_intro', false );
93
			if ( false !== $intro_text ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
94
				?>
95
				<div class="excerpt">
96
					<p><?php echo wp_kses_post( $intro_text ); ?></p>
0 ignored issues
show
Bug introduced by
It seems like $intro_text can also be of type array; however, parameter $data of wp_kses_post() does only seem to accept string, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

96
					<p><?php echo wp_kses_post( /** @scrutinizer ignore-type */ $intro_text ); ?></p>
Loading history...
97
				</div>
98
				<?php
99
			}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
100
			$recipes = \lsx_health_plan\functions\get_option( 'endpoint_recipe', false );
101
			if ( false === $recipes ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
102
				$recipes = 'recipes';
103
			}
104
			?>
105
			<a href="<?php the_permalink(); ?><?php echo esc_attr( $recipes ); ?>/" class="btn"><?php esc_html_e( 'View all recipes', 'lsx-health-plan' ); ?></a>
106
		</div>
107
	</div>
108
<?php
109
}
0 ignored issues
show
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
110
111
/**
112
 * Outputs the downloads box on the single plan page.
113
*
0 ignored issues
show
Coding Style introduced by
Expected 1 space(s) before asterisk; 0 found
Loading history...
114
* @return void
0 ignored issues
show
Coding Style introduced by
Expected 1 space(s) before asterisk; 0 found
Loading history...
115
*/
0 ignored issues
show
Coding Style introduced by
Expected 1 space(s) before asterisk; 0 found
Loading history...
116
function lsx_health_plan_downloads_box() {
117
	global $current_user;
118
	?>
119
	<div class="col-md-4 day-download-box" >
120
		<div class="lsx-health-plan-box">
121
			<h3 class="title downloads-title title-lined"><?php esc_html_e( 'Downloads', 'lsx-health-plan' ); ?><?php lsx_get_svg_icon( 'download.svg' ); ?></h3>
122
			<div class="spacer"></div>
123
			<div class="download-list">
124
				<ul>
125
					<?php
126
					$downloads = \lsx_health_plan\functions\get_downloads();
127
					if ( ! empty( $downloads ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
128
						foreach ( $downloads as $download ) {
0 ignored issues
show
Bug introduced by
The expression $downloads of type void is not traversable.
Loading history...
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
129
							echo wp_kses_post( '<li><a href=""><i class="fa fa-file-pdf"></i>' . do_shortcode( '[download id="' . $download . '"]' ) . '</a></li>' );
130
						}
131
					}
132
					?>
133
				</ul>
134
			</div>
135
		</div>
136
	</div>
137
<?php
138
}
0 ignored issues
show
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
139
140
/**
141
 * outputs the dynamic classes for the nav tabs.
0 ignored issues
show
Coding Style introduced by
Doc comment short description must start with a capital letter
Loading history...
142
 *
143
 * @param string $tab
0 ignored issues
show
Coding Style Documentation introduced by
Missing parameter comment
Loading history...
144
 * @return void
145
 */
146
function lsx_health_plan_nav_class( $tab = '' ) {
147
	$nav_classes = array();
148
	if ( function_exists( 'is_wc_endpoint_url' ) && 'edit-account' === $tab && is_wc_endpoint_url( 'edit-account' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
149
		$nav_classes[] = 'active';
150
	} elseif ( lsx_health_plan_is_current_tab( $tab ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
151
		$nav_classes[] = 'active';
152
	}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
153
	if ( ! empty( $nav_classes ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
154
		echo wp_kses_post( implode( ' ', $nav_classes ) );
155
	}
156
}
0 ignored issues
show
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
157
158
/**
159
 * Outputs the my profile tabs
160
 *
161
 * @return void
162
 */
163
function lsx_health_plan_my_profile_tabs() {
164
	?>
165
	<div id="account-nav">
166
		<ul class="nav nav-pills">
167
			<li class="
168
			<?php
169
			if ( ( function_exists( 'is_wc_endpoint_url' ) && ! is_wc_endpoint_url( 'edit-account' ) ) || ! function_exists( 'is_wc_endpoint_url' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
170
				echo esc_attr( 'active' );
171
			}
172
			?>
173
			"><a class="my-plan-tab" href="<?php the_permalink(); ?>"><?php esc_html_e( 'My Plans', 'lsx-health-plan' ); ?></a></li>
174
			<?php
175
			if ( function_exists( 'WC' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
176
				?>
177
				<li class="
178
				<?php
179
				if ( function_exists( 'is_wc_endpoint_url' ) && is_wc_endpoint_url( 'edit-account' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
180
					echo esc_attr( 'active' );
181
				}
182
				?>
183
				"><a class="account-details-tab" href="<?php the_permalink(); ?>edit-account/"><?php esc_html_e( 'Account Details', 'lsx-health-plan' ); ?></a></li>
184
				<?php
185
			}
186
			?>
187
			<li class=""><a class="logout-tab" href="<?php echo esc_url( wp_logout_url( get_permalink() ) ); ?>"><?php esc_html_e( 'Logout', 'lsx-health-plan' ); ?></a></li>
0 ignored issues
show
Bug introduced by
It seems like get_permalink() can also be of type false; however, parameter $redirect of wp_logout_url() does only seem to accept string, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

187
			<li class=""><a class="logout-tab" href="<?php echo esc_url( wp_logout_url( /** @scrutinizer ignore-type */ get_permalink() ) ); ?>"><?php esc_html_e( 'Logout', 'lsx-health-plan' ); ?></a></li>
Loading history...
188
		</ul>
189
	</div>
190
	<?php
191
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
192
193
/**
194
 * Outputs the my profile box
195
 *
196
 * @return void
197
 */
198
function lsx_health_plan_my_profile_box() {
199
	?>
200
	<div class="lsx-health-plan my-profile-block wp-block-cover alignfull">
201
		<div class="wp-block-cover__inner-container">
202
			<h2><?php esc_html_e( 'My Dashboard', 'lsx-health-plan' ); ?></h2>
203
			<section id="dashboard-card">
204
				<div class="profile-navigation">
205
					<div class="profile-photo">
206
					<?php
207
						global $current_user;
208
						get_current_user();
209
						echo get_avatar( $current_user->ID, 240 );
0 ignored issues
show
Bug introduced by
Are you sure get_avatar($current_user->ID, 240) of type false|string can be used in echo? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

209
						echo /** @scrutinizer ignore-type */ get_avatar( $current_user->ID, 240 );
Loading history...
210
						?>
211
					</div>
212
				</div>
213
				<div class="profile-details">
214
					<h1 class="title-lined has-text-color"><?php echo esc_html( $current_user->display_name ); ?></h1>
215
					<?php
216
					$disable_stats = \lsx_health_plan\functions\get_option( 'disable_all_stats', false );
217
					if ( 'on' !== $disable_stats && function_exists( 'WC' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
Coding Style introduced by
Blank line found at start of control structure
Loading history...
218
219
						$is_weight_disabled = \lsx_health_plan\functions\get_option( 'disable_weight_checkbox', false );
220
						$is_height_disabled = \lsx_health_plan\functions\get_option( 'disable_height_checkbox', false );
221
						$is_waist_disabled  = \lsx_health_plan\functions\get_option( 'disable_waist_checkbox', false );
222
						$is_bmi_disabled    = \lsx_health_plan\functions\get_option( 'disable_bmi_checkbox', false );
223
224
						$weight = get_user_meta( get_current_user_id(), 'weight', true );
225
						$waist  = get_user_meta( get_current_user_id(), 'waist', true );
226
						$height = get_user_meta( get_current_user_id(), 'height', true );
227
228
						$height_m = 0;
229
						if ( is_numeric( $height ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
230
							$height_m = $height / 100;
231
						}
232
233
						if ( 1 < $weight && 1 < $height_m ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
234
							$bmi = $weight / ( $height_m * $height_m );
235
							$bmi = number_format( $bmi, 1 );
236
						} else {
237
							$bmi = __( 'Add more data', 'lsx-health-plan' );
238
						}
239
240
						?>
241
242
						<div>
243
							<?php if ( 'on' !== $is_weight_disabled ) { ?>
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
244
								<span><strong><?php esc_html_e( 'Weight:', 'lsx-health-plan' ); ?></strong>
245
								<?php
246
								if ( '' !== $weight ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
247
									echo wp_kses_post( $weight . ' kg' );
248
								} else {
249
									echo '/';
250
								}
251
								?>
252
								</span>
253
							<?php }
0 ignored issues
show
Coding Style introduced by
Opening PHP tag must be on a line by itself
Loading history...
Coding Style introduced by
No blank line found after control structure
Loading history...
254
							if ( 'on' !== $is_waist_disabled ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
255
								?>
256
								<span><strong><?php esc_html_e( 'Waist:', 'lsx-health-plan' ); ?></strong>
257
								<?php
258
								if ( '' !== $waist ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
259
									echo wp_kses_post( $waist . ' cm' );
260
								} else {
261
									echo '/';
262
								}
263
								?>
264
								</span>
265
							<?php }
0 ignored issues
show
Coding Style introduced by
Opening PHP tag must be on a line by itself
Loading history...
Coding Style introduced by
No blank line found after control structure
Loading history...
266
							if ( 'on' !== $is_bmi_disabled ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
267
								?>
268
								<span><strong><?php esc_html_e( 'BMI:', 'lsx-health-plan' ); ?></strong>
269
								<?php
270
								if ( '' !== $bmi ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
271
									echo wp_kses_post( $bmi );
272
								} else {
273
									echo '/';
274
								}
275
								?>
276
								</span>
277
							<?php } ?>
278
						</div>
279
					<?php
280
					}
281
282
					// Only display the edit account link if woocommerce is active.
283
					if ( function_exists( 'WC' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
284
						?>
285
						<div class="edit-profile">
286
							<?php
287
							if ( function_exists( 'wc_get_page_id' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
288
								$url_id = wc_get_page_id( 'myaccount' );
289
							} else {
290
								$url_id = '';
291
							}
292
							?>
293
							<a href="<?php echo esc_url( get_permalink( $url_id ) ); ?>edit-account/"><?php esc_html_e( 'Edit', 'lsx-health-plan' ); ?></a>
0 ignored issues
show
Bug introduced by
It seems like get_permalink($url_id) can also be of type false; however, parameter $url of esc_url() does only seem to accept string, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

293
							<a href="<?php echo esc_url( /** @scrutinizer ignore-type */ get_permalink( $url_id ) ); ?>edit-account/"><?php esc_html_e( 'Edit', 'lsx-health-plan' ); ?></a>
Loading history...
294
						</div>
295
						<?php
296
					}
297
					?>
298
				</div>
299
			</section>
300
		</div>
301
	</div>
302
	<?php
303
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
304
305
/**
306
 * Outputs the my profile list of plans box
307
 *
308
 * @return void
309
 */
310
function lsx_health_plan_all_plans_block() {
311
	global $post, $product;
312
313
	$args = array(
314
		'orderby'        => 'menu_order',
0 ignored issues
show
introduced by
Array double arrow not aligned correctly; expected 5 space(s) between "'orderby'" and double arrow, but found 8.
Loading history...
315
		'order'          => 'ASC',
0 ignored issues
show
introduced by
Array double arrow not aligned correctly; expected 7 space(s) between "'order'" and double arrow, but found 10.
Loading history...
316
		'post_type'      => 'plan',
0 ignored issues
show
introduced by
Array double arrow not aligned correctly; expected 3 space(s) between "'post_type'" and double arrow, but found 6.
Loading history...
317
		'nopagin'        => true,
0 ignored issues
show
introduced by
Array double arrow not aligned correctly; expected 5 space(s) between "'nopagin'" and double arrow, but found 8.
Loading history...
318
		'post_parent'    => 0,
0 ignored issues
show
introduced by
Array double arrow not aligned correctly; expected 1 space(s) between "'post_parent'" and double arrow, but found 4.
Loading history...
319
	);
320
321
	if ( function_exists( '\lsx_health_plan\functions\woocommerce\get_membership_products' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
322
		$product_ids = \lsx_health_plan\functions\woocommerce\get_membership_products();
323
		if ( ! empty( $product_ids ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
324
			$args['meta_query'] = array(
0 ignored issues
show
introduced by
Detected usage of meta_query, possible slow query.
Loading history...
325
				'relation' => 'OR',
326
				array(
327
					'key'     => '_plan_product_id',
328
					'value'   => $product_ids,
329
					'compare' => 'IN',
330
				),
331
				array(
332
					'key'     => '_plan_product_id',
333
					'compare' => 'NOT EXISTS',
334
				),
335
			);
336
		}
337
	}
338
339
	$the_query = new WP_Query( $args );
340
	?>
341
	<div class="all-plans-block plan-grid block-all-plans-block">
342
		<div class="row">
343
			<?php
344
			if ( $the_query->have_posts() ) :
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
345
				while ( $the_query->have_posts() ) :
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
346
					$the_query->the_post();
347
					lsx_entry_before();
348
					$completed_class = '';
349
					$linked_product  = false;
350
					$restricted      = false;
351
					$product         = null;
352
					if ( function_exists( 'lsx_health_plan\functions\woocommerce\plan_has_products' ) && \lsx_health_plan\functions\woocommerce\plan_has_products() ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
353
						$products       = \lsx_health_plan\functions\woocommerce\get_plan_products();
354
						$linked_product = wc_get_product( $products[0] );
0 ignored issues
show
Bug introduced by
The function wc_get_product was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

354
						$linked_product = /** @scrutinizer ignore-call */ wc_get_product( $products[0] );
Loading history...
355
						$product        = $linked_product;
356
					}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
357
					if ( function_exists( 'wc_memberships_is_post_content_restricted' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
358
						$restricted = wc_memberships_is_post_content_restricted( get_the_ID() ) && ! current_user_can( 'wc_memberships_view_restricted_post_content', get_the_ID() );
359
					}
360
361
					if ( lsx_health_plan_is_plan_complete() ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
362
						$completed_class = 'completed';
363
					}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
364
					$round_progress     = '';
365
					$completed_progress = '100';
366
					if ( false === $restricted ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
367
						$round_progress = round( \lsx_health_plan\functions\get_progress( get_the_ID() ), 0 );
0 ignored issues
show
Bug introduced by
It seems like get_the_ID() can also be of type false; however, parameter $plan_id of lsx_health_plan\functions\get_progress() does only seem to accept integer, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

367
						$round_progress = round( \lsx_health_plan\functions\get_progress( /** @scrutinizer ignore-type */ get_the_ID() ), 0 );
Loading history...
368
					}
369
					?>
370
					<div class="col-xs-12 col-sm-6 col-md-4">
371
						<article class="lsx-slot lsx-hp-shadow <?php echo esc_html( 'progress-') . $round_progress; ?>">
0 ignored issues
show
Coding Style introduced by
Expected 1 spaces before closing parenthesis; 0 found
Loading history...
introduced by
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$round_progress'.
Loading history...
372
							<div class="plan-feature-img">
373
								<?php if ( (int)$completed_progress === (int)$round_progress ) { ?>
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 1 space(s) after cast statement; 0 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
374
									<span class="featured-plan"><?php lsx_get_svg_icon( 'icon-completed.svg' ); ?></span>
375
								<?php } ?>
376
								<a href="<?php echo esc_url( get_permalink() ); ?>">
0 ignored issues
show
Bug introduced by
It seems like get_permalink() can also be of type false; however, parameter $url of esc_url() does only seem to accept string, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

376
								<a href="<?php echo esc_url( /** @scrutinizer ignore-type */ get_permalink() ); ?>">
Loading history...
377
								<?php
378
								$featured_image = get_the_post_thumbnail();
379
								if ( ! empty( $featured_image ) && '' !== $featured_image ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
380
									the_post_thumbnail( 'lsx-thumbnail', array(
0 ignored issues
show
Coding Style introduced by
The opening parenthesis of a multi-line function call should be the last content on the line.
Loading history...
Coding Style introduced by
For multi-line function calls, each argument should be on a separate line.

For a function calls that spawns multiple lines, the coding style suggests to split arguments to separate lines like this:

someFunctionCall(
    $firstArgument,
    $secondArgument,
    $thirdArgument
);
Loading history...
381
										'class' => 'aligncenter',
382
									) );
0 ignored issues
show
Coding Style introduced by
For multi-line function calls, the closing parenthesis should be on a new line.

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

someFunctionCall(
    $firstArgument,
    $secondArgument,
    $thirdArgument
); // Closing parenthesis on a new line.
Loading history...
383
								} else {
384
									?>
385
									<img loading="lazy"  class="placeholder" src="<?php echo esc_attr( plugin_dir_url( __FILE__ ) . '../assets/images/placeholder.jpg' ); ?>">
386
									<?php
387
								}
388
								?>
389
								</a>
390
							</div>
391
							<div class="content-box plan-content-box">
392
								<h3 class="plan id-<?php the_ID(); ?> <?php echo esc_attr( $completed_class ); ?>"><a href="<?php echo esc_url( get_permalink() ); ?>"><?php the_title(); ?></a></h3>
393
								<?php
394
									echo wp_kses_post( \lsx_health_plan\functions\hp_get_plan_type_meta( $post ) );
0 ignored issues
show
Bug introduced by
hp_get_plan_type_meta($post) of type void is incompatible with the type string expected by parameter $data of wp_kses_post(). ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

394
									echo wp_kses_post( /** @scrutinizer ignore-type */ \lsx_health_plan\functions\hp_get_plan_type_meta( $post ) );
Loading history...
395
								?>
396
								<?php
397
								if ( false !== $linked_product && false !== $restricted ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
398
									echo wp_kses_post( $linked_product->get_price_html() );
399
								}
400
								?>
401
								<div class="excerpt">
402
									<?php
403
									if ( ! has_excerpt() ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
404
										$content = wp_trim_words( get_the_content(), 20 );
405
										$content = '<p>' . $content . '</pre>';
406
									} else {
407
										$content = apply_filters( 'the_excerpt', get_the_excerpt() );
408
									}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
409
									echo wp_kses_post( $content );
410
									?>
411
								</div>
412
								<?php
413
								if ( false === $restricted ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
414
									echo wp_kses_post( '<span class="progress"><progress class="bar" value="' . \lsx_health_plan\functions\get_progress( get_the_ID() ) . '" max="100"> ' . \lsx_health_plan\functions\get_progress( get_the_ID() ) . '% </progress><span>' . $round_progress . '%</span></span>' );
415
								}
416
								?>
417
							</div>
418
						</article>
419
					</div>
420
				<?php endwhile; ?>
421
			<?php endif; ?>
422
		</div>
423
		<?php wp_reset_postdata(); ?>
424
	</div>
425
426
<?php
427
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
428
429
/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$args" missing
Loading history...
430
 * Outputs the my profile day view box
431
 *
432
 * @return void
433
 */
434
function lsx_health_plan_day_plan_block( $args = array() ) {
435
	$defaults = array(
436
		'plan' => '',
437
	);
438
	$args     = wp_parse_args( $args, $defaults );
439
440
	if ( isset( $args['plan'] ) && '' !== $args['plan'] && \lsx_health_plan\functions\plan\has_sections( $args['plan'] ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
441
		$sections = \lsx_health_plan\functions\plan\get_sections();
442
		?>
443
		<div class="daily-plan-block day-grid">
444
			<?php
445
			foreach ( $sections as $section_key => $section_values ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
446
				$defaults    = array(
0 ignored issues
show
Coding Style introduced by
Equals sign not aligned with surrounding assignments; expected 5 spaces but found 4 spaces

This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line.

To visualize

$a = "a";
$ab = "ab";
$abc = "abc";

will produce issues in the first and second line, while this second example

$a   = "a";
$ab  = "ab";
$abc = "abc";

will produce no issues.

Loading history...
447
					'title' => __( 'Day', 'lsx-health-plan' ) . ' ' . ( $section_key + 1 ),
448
				);
449
				$section_args = wp_parse_args( $section_values, $defaults );
450
451
				$completed_class = '';
452
				if ( lsx_health_plan_is_day_complete() ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
453
					$completed_class = 'completed';
454
				}
455
				?>
456
				<a href="<?php echo esc_attr( \lsx_health_plan\functions\plan\get_permalink( $args['plan'], $section_args['title'] ) ); ?>" class="day id-<?php echo esc_attr( $section_key + 1 ); ?> <?php echo esc_attr( $completed_class ); ?>">
0 ignored issues
show
Bug introduced by
get_permalink($args['pla...$section_args['title']) of type array is incompatible with the type string expected by parameter $text of esc_attr(). ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

456
				<a href="<?php echo esc_attr( /** @scrutinizer ignore-type */ \lsx_health_plan\functions\plan\get_permalink( $args['plan'], $section_args['title'] ) ); ?>" class="day id-<?php echo esc_attr( $section_key + 1 ); ?> <?php echo esc_attr( $completed_class ); ?>">
Loading history...
457
					<div class="plan-content"><?php echo esc_attr( $section_args['title'] ); ?></div>
458
				</a>
459
				<?php
460
			}
461
			?>
462
		</div>
463
		<?php
464
	}
465
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
466
467
/**
468
 * Outputs the my profile week view box
469
 *
470
 * @param  array $args An array of arguments.
471
 * @return void
472
 */
473
function lsx_health_plan_week_plan_block( $args = array() ) {
474
	$defaults = array(
475
		'show_downloads' => false,
476
		'plan'           => '',
477
	);
478
	$args     = wp_parse_args( $args, $defaults );
479
480
	if ( isset( $args['plan'] ) && '' !== $args['plan'] && \lsx_health_plan\functions\plan\has_sections( $args['plan'] ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
481
		$groups = \lsx_health_plan\functions\plan\get_sections( true );
482
483
		if ( ! empty( $groups ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
484
			$counter    = 1;
485
			$group_open = false;
486
487
			foreach ( $groups as $group_key => $sections ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
488
				$collapse_class = '';
489
				$group_title    = \lsx_health_plan\functions\plan\get_group_title( $sections );
490
491
				// Determine if the current week is complete.
492
				$day_ids = wp_list_pluck( $sections, 'title' );
493
				if ( false === $group_open ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
494
					if ( 1 === $counter && ! \lsx_health_plan\functions\is_week_complete( false, $day_ids, $group_title ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
495
						$collapse_class = 'in';
496
						$group_open   = true;
0 ignored issues
show
Coding Style introduced by
Equals sign not aligned with surrounding assignments; expected 5 spaces but found 3 spaces

This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line.

To visualize

$a = "a";
$ab = "ab";
$abc = "abc";

will produce issues in the first and second line, while this second example

$a   = "a";
$ab  = "ab";
$abc = "abc";

will produce no issues.

Loading history...
497
					} elseif ( ! \lsx_health_plan\functions\is_week_complete( false, $day_ids, $group_title ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
498
						$collapse_class = 'in';
499
						$group_open   = true;
0 ignored issues
show
Coding Style introduced by
Equals sign not aligned with surrounding assignments; expected 5 spaces but found 3 spaces

This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line.

To visualize

$a = "a";
$ab = "ab";
$abc = "abc";

will produce issues in the first and second line, while this second example

$a   = "a";
$ab  = "ab";
$abc = "abc";

will produce no issues.

Loading history...
500
					}
501
				}
502
503
				// Determine if there are any weekly downloads.
504
				$week_downloads_view = '';
505
				if ( isset( $args['show_downloads'] ) && false !== $args['show_downloads'] ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
506
					$weekly_downloads = \lsx_health_plan\functions\get_weekly_downloads( $group_key );
507
					if ( ! empty( $weekly_downloads ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
508
						$week_downloads_view = 'week-downloads-view-on';
509
					}
510
				}
511
				?>
512
				<div class="daily-plan-block week-grid">
513
					<a href="#group-<?php echo esc_attr( $group_key ); ?>" data-toggle="collapse" class="week-title"><?php echo esc_attr( $group_title ); ?></a>
0 ignored issues
show
Bug introduced by
$group_title of type array is incompatible with the type string expected by parameter $text of esc_attr(). ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

513
					<a href="#group-<?php echo esc_attr( $group_key ); ?>" data-toggle="collapse" class="week-title"><?php echo esc_attr( /** @scrutinizer ignore-type */ $group_title ); ?></a>
Loading history...
514
					<div id="group-<?php echo esc_attr( $group_key ); ?>" class="week-row collapse <?php echo esc_attr( $collapse_class ); ?>">
515
						<div class="week-row-inner <?php echo esc_html( $week_downloads_view ); ?>">
516
							<div class="week-meals-recipes-box">
517
518
								<?php if ( ! empty( $week_downloads_view ) ) { ?>
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
519
									<h3 class="title"><?php lsx_get_svg_icon( 'daily-plan.svg' ); ?><?php echo esc_html_e( 'Plan', 'lsx-health-plan' ); ?></h3>
520
								<?php } ?>
521
522
								<div class="week-meals-recipes-box-inner">
523
								<?php
524
525
								foreach ( $sections as $section_key => $section_values ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
Coding Style introduced by
Blank line found at start of control structure
Loading history...
526
527
									$defaults    = array(
0 ignored issues
show
Coding Style introduced by
Equals sign not aligned with surrounding assignments; expected 5 spaces but found 4 spaces

This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line.

To visualize

$a = "a";
$ab = "ab";
$abc = "abc";

will produce issues in the first and second line, while this second example

$a   = "a";
$ab  = "ab";
$abc = "abc";

will produce no issues.

Loading history...
528
										'title' => __( 'Day', 'lsx-health-plan' ) . ' ' . ( $section_key + 1 ),
529
									);
530
									$section_args = wp_parse_args( $section_values, $defaults );
531
532
									$completed_class = '';
533
									if ( lsx_health_plan_is_day_complete( $args['plan'], $section_args['title'] ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
534
										$completed_class = 'completed';
535
									}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
536
									if ( $section_args['rest_day_enabled'] && ! $section_args['connected_meals'] ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
537
										?>
538
										<span class="day id-<?php echo esc_attr( $section_key + 1 ); ?> <?php echo esc_attr( $completed_class ); ?>">
539
											<div class="plan-content"><?php echo esc_attr( $section_args['title'] ); ?></div>
540
										</span>
541
										<?php
542
									} else {
543
										?>
544
										<a href="<?php echo esc_attr( \lsx_health_plan\functions\plan\get_permalink( $args['plan'], $section_args['title'] ) ); ?>" class="day id-<?php echo esc_attr( $section_key + 1 ); ?> <?php echo esc_attr( $completed_class ); ?>">
545
											<div class="plan-content"><?php echo esc_attr( $section_args['title'] ); ?></div>
546
										</a>
547
										<?php
548
									}
549
								}
550
								?>
551
								</div>
552
							</div>
553
							<?php
554
							if ( ! empty( $week_downloads_view ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
555
								lsx_health_plan_weekly_downloads( $weekly_downloads );
556
							}
557
							?>
558
						</div>
559
					</div>
560
				</div>
561
				<?php
562
			}
563
		}
564
	}
565
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
566
567
/**
568
 * Outputs the weekly downloads box.
569
 *
570
 * @param array $weekly_downloads An array of the download ids.
571
 * @return void
572
 */
573
function lsx_health_plan_weekly_downloads( $weekly_downloads = array() ) {
574
	if ( ! empty( $weekly_downloads ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
575
		?>
576
		<div class="week-download-box">
577
			<h3 class="title"><?php lsx_get_svg_icon( 'download.svg' ); ?><?php echo esc_html_e( 'Downloads', 'lsx-health-plan' ); ?></h3>
578
			<ul class="week-download-box-list">
579
				<?php
580
				foreach ( $weekly_downloads as $weekly_download ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
581
					?>
582
					<li><?php echo wp_kses_post( do_shortcode( '[download id="' . $weekly_download . '"]' ) ); ?></li>
583
					<?php
584
				}
585
				?>
586
			</ul>
587
		</div>
588
		<?php
589
	}
590
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
591
592
/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$args" missing
Loading history...
593
 * Outputs the featured items of any type shortcode (intended for exercises)
594
 *
595
 * @return void
596
 */
597
function lsx_health_plan_items( $args = array() ) {
598
	global $shortcode_args;
599
	$shortcode_args = $args;
600
	include LSX_HEALTH_PLAN_PATH . '/templates/partials/shortcode-loop.php';
601
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
602
603
/**
604
 * Outputs the featured video shortcode
605
 *
606
 * @return void
607
 */
608
function lsx_health_plan_featured_video_block() {
609
	if ( ! post_type_exists( 'video' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
610
		return;
611
	}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
612
	include LSX_HEALTH_PLAN_PATH . '/templates/featured-videos.php';
613
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
614
615
/**
616
 * Outputs the featured recipes shortcode
617
 *
618
 * @return void
619
 */
620
function lsx_health_plan_featured_recipes_block() {
621
	if ( ! post_type_exists( 'recipe' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
622
		return;
623
	}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
624
	include LSX_HEALTH_PLAN_PATH . '/templates/featured-recipes.php';
625
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
626
627
/**
628
 * Outputs the featured tips shortcode
629
 *
630
 * @return void
631
 */
632
function lsx_health_plan_featured_tips_block() {
633
	include LSX_HEALTH_PLAN_PATH . '/templates/featured-tips.php';
634
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
635
636
/**
637
 * Outputs the Health Plan Buttons
638
 *
639
 * @param string $button
0 ignored issues
show
Coding Style Documentation introduced by
Missing parameter comment
Loading history...
Coding Style introduced by
Superfluous parameter comment
Loading history...
640
 * @return void
641
 */
642
function lsx_health_plan_day_button() {
643
	if ( lsx_health_plan_is_day_complete() ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
644
		lsx_health_plan_unlock_button();
645
	} else {
646
		lsx_health_plan_complete_button();
647
	}
648
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
649
650
/**
651
 * Outputs the health plan complete button.
652
 *
653
 * @return void
654
 */
655
function lsx_health_plan_complete_button() {
656
	?>
657
	<div class="single-plan-inner-buttons">
658
		<form action="<?php the_permalink(); ?>" method="post" class="form-complete-day complete-plan-btn">
659
			<?php wp_nonce_field( 'complete', 'lsx-health-plan-actions' ); ?>
660
			<input type="hidden" name="lsx-health-plan-id" value="<?php echo esc_attr( \lsx_health_plan\functions\plan\generate_section_id() ); ?>" />
661
			<button class="btn cta-btn" type="submit"><?php esc_html_e( 'Complete Day', 'lsx-health-plan' ); ?></button>
662
		</form>
663
		<?php lsx_health_plan_back_to_plan_button(); ?>
664
	</div>
665
	<?php
666
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
667
668
/**
669
 * Outputs the health plan unlock button.
670
 *
671
 * @return void
672
 */
673
function lsx_health_plan_unlock_button() {
674
	?>
675
	<div class="single-plan-inner-buttons">
676
		<form action="<?php the_permalink(); ?>" method="post" class="form-complete-day complete-plan-btn">
677
			<?php wp_nonce_field( 'unlock', 'lsx-health-plan-actions' ); ?>
678
			<input type="hidden" name="lsx-health-plan-id" value="<?php echo esc_attr( \lsx_health_plan\functions\plan\generate_section_id() ); ?>" />
679
			<button class="btn secondary-btn" type="submit"><?php esc_html_e( 'Im not done!', 'lsx-health-plan' ); ?></button>
680
		</form>
681
		<?php lsx_health_plan_back_to_plan_button(); ?>
682
	</div>
683
	<?php
684
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
685
686
/**
687
 * Outputs the Single Plan Endpoint Tabs
688
 *
689
 * @param string $button
0 ignored issues
show
Coding Style Documentation introduced by
Missing parameter comment
Loading history...
Coding Style introduced by
Superfluous parameter comment
Loading history...
690
 * @return void
691
 */
692
function lsx_health_plan_single_nav() {
693
	$tab_template_path = apply_filters( 'lsx_health_plan_single_nav_path', LSX_HEALTH_PLAN_PATH . '/templates/single-plan-tabs.php' );
694
	if ( '' !== $tab_template_path ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
695
		require $tab_template_path;
696
	}
697
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
698
699
/**
700
 * Outputs the Single Plan Tab based on the endpoint
701
 *
702
 * @param string $button
0 ignored issues
show
Coding Style Documentation introduced by
Missing parameter comment
Loading history...
Coding Style introduced by
Superfluous parameter comment
Loading history...
703
 * @return void
704
 */
705
function lsx_health_plan_single_tabs() {
706
	$endpoint = get_query_var( 'endpoint' );
707
	switch ( $endpoint ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
708
		case 'meal':
709
			$tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-meal.php';
710
			break;
711
712
		case 'recipes':
713
			$tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-recipes.php';
714
			break;
715
716
		case 'workout':
717
			$tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-workout.php';
718
			break;
719
720
		case 'warm-up':
721
			$tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-warm-up.php';
722
			break;
723
724
		default:
725
			$tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-plan.php';
726
			break;
727
	}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
728
	$tab_template_path = apply_filters( 'lsx_health_plan_single_tab_path', $tab_template_path );
729
	if ( '' !== $tab_template_path ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
730
		include $tab_template_path;
731
	}
732
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
733
734
/**
735
 * Outputs the recipe info on a table.
736
 *
737
 * @return void
738
 */
739
function lsx_health_plan_recipe_data() {
740
	include LSX_HEALTH_PLAN_PATH . '/templates/table-recipe-data.php';
741
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
742
743
/**
744
 * Outputs the recipe type.
745
 *
746
 * @return recipe_type
0 ignored issues
show
Bug introduced by
The type recipe_type was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
747
 */
748
function lsx_health_plan_recipe_type() {
749
	$term_obj_list = get_the_terms( get_the_ID(), 'recipe-type' );
0 ignored issues
show
Bug introduced by
It seems like get_the_ID() can also be of type false; however, parameter $post of get_the_terms() does only seem to accept WP_Post|integer, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

749
	$term_obj_list = get_the_terms( /** @scrutinizer ignore-type */ get_the_ID(), 'recipe-type' );
Loading history...
750
	$recipe_type   = $term_obj_list[0]->name;
751
	if ( ! empty( $recipe_type ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
752
		return $recipe_type;
753
	}
754
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
755
756
/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$echo" missing
Loading history...
757
 * Outputs the modal button and registers the video modal to show.
758
 *
759
 * @param int $m
0 ignored issues
show
Coding Style Documentation introduced by
Missing parameter comment
Loading history...
Coding Style introduced by
Expected 3 spaces after parameter type; 1 found
Loading history...
760
 * @param array $group
0 ignored issues
show
Coding Style Documentation introduced by
Missing parameter comment
Loading history...
761
 * @return void
0 ignored issues
show
Coding Style introduced by
Function return type is void, but function contains return statement
Loading history...
762
 */
763
function lsx_health_plan_workout_video_play_button( $m, $group, $echo = true ) {
764
	$workout_video = '';
765
	$giphy         = '';
766
	$youtube       = '';
767
	if ( isset( $group['connected_videos'] ) && '' !== $group['connected_videos'] ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
768
		$workout_video = esc_html( $group['connected_videos'] );
769
		$giphy         = get_post_meta( $workout_video, 'video_giphy_source', true );
0 ignored issues
show
Bug introduced by
$workout_video of type string is incompatible with the type integer expected by parameter $post_id of get_post_meta(). ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

769
		$giphy         = get_post_meta( /** @scrutinizer ignore-type */ $workout_video, 'video_giphy_source', true );
Loading history...
770
		$youtube       = esc_url( get_post_meta( $workout_video, 'video_youtube_source', 1 ) );
771
		$content       = get_post_field( 'post_content', $workout_video );
0 ignored issues
show
Bug introduced by
$workout_video of type string is incompatible with the type WP_Post|integer expected by parameter $post of get_post_field(). ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

771
		$content       = get_post_field( 'post_content', /** @scrutinizer ignore-type */ $workout_video );
Loading history...
772
		$play_button   = '<button data-toggle="modal" data-target="#workout-video-modal-' . $m . '"><span class="fa fa-play-circle"></span></button>';
773
774
		$modal_body = '';
775
		if ( ! empty( $giphy ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
776
			$giphy      = \lsx_health_plan\functions\get_video_url( $giphy );
777
			$modal_body = $giphy; // WPCS: XSS OK.
778
		} elseif ( ! empty( $youtube ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
779
			$modal_body = wp_oembed_get( $youtube, array( // WPCS: XSS OK.
0 ignored issues
show
Coding Style introduced by
The opening parenthesis of a multi-line function call should be the last content on the line.
Loading history...
Coding Style introduced by
For multi-line function calls, each argument should be on a separate line.

For a function calls that spawns multiple lines, the coding style suggests to split arguments to separate lines like this:

someFunctionCall(
    $firstArgument,
    $secondArgument,
    $thirdArgument
);
Loading history...
780
				'width' => 480,
781
			) );
0 ignored issues
show
Coding Style introduced by
For multi-line function calls, the closing parenthesis should be on a new line.

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

someFunctionCall(
    $firstArgument,
    $secondArgument,
    $thirdArgument
); // Closing parenthesis on a new line.
Loading history...
782
		}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
783
		$modal_body .= '<h5 class="modal-title title-lined">' . $group['name'] . '</h5>';
784
		$modal_body .= $content;
785
		\lsx_health_plan\functions\register_modal( 'workout-video-modal-' . $m, '', $modal_body );
786
787
		if ( true === $echo ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
788
			echo wp_kses_post( $play_button );
789
		} else {
790
			return $play_button;
791
		}
792
	}
793
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
794
795
/**
796
 * Outputs the recipe description if it is included.
797
 *
798
 * @return void
799
 */
800
function lsx_health_plan_recipe_archive_description() {
801
	$description = '';
802
	if ( is_post_type_archive( 'recipe' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
803
		$description = \lsx_health_plan\functions\get_option( 'recipe_archive_description', '' );
804
	} elseif ( is_post_type_archive( 'exercise' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
805
		$description = \lsx_health_plan\functions\get_option( 'exercise_archive_description', '' );
806
	} elseif ( is_tax() ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
807
		$description = get_the_archive_description();
808
	}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
809
	if ( '' !== $description ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
810
		?>
811
		<div class="lsx-hp-archive-description row">
812
			<div class="col-xs-12 description-wrapper"><?php echo wp_kses_post( wpautop( $description ) ); ?></div>
813
		</div>
814
		<?php
815
	}
816
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
817
818
/**
819
 * Outputs the Single Plan Workout main content.
820
 *
821
 * @return void
0 ignored issues
show
Coding Style introduced by
Function return type is void, but function contains return statement
Loading history...
822
 */
823
function lsx_health_plan_workout_main_content() {
824
	// Getting translated endpoint.
825
	$workout = \lsx_health_plan\functions\get_option( 'endpoint_workout', 'workout' );
826
827
	$connected_members = get_post_meta( get_the_ID(), ( $workout . '_connected_team_member' ), true );
0 ignored issues
show
Bug introduced by
Are you sure $workout of type array|mixed can be used in concatenation? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

827
	$connected_members = get_post_meta( get_the_ID(), ( /** @scrutinizer ignore-type */ $workout . '_connected_team_member' ), true );
Loading history...
Bug introduced by
It seems like get_the_ID() can also be of type false; however, parameter $post_id of get_post_meta() does only seem to accept integer, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

827
	$connected_members = get_post_meta( /** @scrutinizer ignore-type */ get_the_ID(), ( $workout . '_connected_team_member' ), true );
Loading history...
828
	$small_description = get_post_meta( get_the_ID(), ( $workout . '_short_description' ), true );
829
830
	$content = '';
831
	if ( $small_description || $connected_members || lsx_health_plan_has_tips() ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
832
		$content .= '<div class="short-desc set-box set content-box entry-content">';
833
		$content .= '<div class="the-content">';
834
		$content .= lsx_hp_member_connected( $connected_members, $workout );
835
		$content .= '<span>' . $small_description . '</span>';
836
		$content .= '</div>';
837
		$content .= do_shortcode( '[lsx_health_plan_featured_tips_block]' );
838
		$content .= '</div>';
839
	}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
840
	return $content;
841
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
842
843
/**
844
 * Outputs the Single Plan Workout main content.
845
 *
846
 * @return void
0 ignored issues
show
Coding Style introduced by
Function return type is void, but function contains return statement
Loading history...
847
 */
848
function lsx_health_plan_meal_main_content() {
849
	// Getting translated endpoint.
850
	$meal = \lsx_health_plan\functions\get_option( 'endpoint_meal', 'meal' );
851
852
	$connected_members = get_post_meta( get_the_ID(), ( $meal . '_connected_team_member' ), true );
0 ignored issues
show
Bug introduced by
Are you sure $meal of type array|mixed can be used in concatenation? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

852
	$connected_members = get_post_meta( get_the_ID(), ( /** @scrutinizer ignore-type */ $meal . '_connected_team_member' ), true );
Loading history...
Bug introduced by
It seems like get_the_ID() can also be of type false; however, parameter $post_id of get_post_meta() does only seem to accept integer, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

852
	$connected_members = get_post_meta( /** @scrutinizer ignore-type */ get_the_ID(), ( $meal . '_connected_team_member' ), true );
Loading history...
853
	$small_description = get_post_meta( get_the_ID(), ( $meal . '_short_description' ), true );
854
855
	$content_meal = '';
856
	if ( $small_description || $connected_members || lsx_health_plan_has_tips() ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
857
		$content_meal .= '<div class="set-box set content-box entry-content">';
858
		$content_meal .= '<div class="the-content">';
859
		$content_meal .= lsx_hp_member_connected( $connected_members, $meal );
860
		$content_meal .= '<span>' . $small_description . '</span>';
861
		$content_meal .= '</div>';
862
		$content_meal .= do_shortcode( '[lsx_health_plan_featured_tips_block]' );
863
		$content_meal .= '</div>';
864
	}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
865
	return $content_meal;
866
}
0 ignored issues
show
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
867
868
869
/**
870
 * Outputs the Single Plan Workout Tab based on the layout selected.
871
 *
872
 * @param  string $index
0 ignored issues
show
Coding Style Documentation introduced by
Missing parameter comment
Loading history...
873
 * @return void
874
 */
875
function lsx_health_plan_workout_tab_content( $index = 1 ) {
876
	global $group_name,$shortcode_args;
877
	$group_name = 'workout_section_' . $index;
878
	if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
879
		$layout = strtolower( \lsx_health_plan\functions\get_option( 'workout_tab_layout', 'table' ) );
0 ignored issues
show
Bug introduced by
It seems like get_option('workout_tab_layout', 'table') can also be of type array; however, parameter $str of strtolower() does only seem to accept string, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

879
		$layout = strtolower( /** @scrutinizer ignore-type */ \lsx_health_plan\functions\get_option( 'workout_tab_layout', 'table' ) );
Loading history...
880
881
		// Check for shortcode overrides.
882
		if ( null !== $shortcode_args && isset( $shortcode_args['layout'] ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
883
			$layout = $shortcode_args['layout'];
884
		}
885
	} else {
886
		$layout = 'table';
887
	}
888
889
	switch ( $layout ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
890
		case 'list':
891
			$tab_template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-list.php';
892
			break;
893
894
		case 'grid':
895
			$tab_template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-grid.php';
896
			break;
897
898
		case 'table':
899
			$tab_template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-table.php';
900
			break;
901
	}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
902
	$tab_template_path = apply_filters( 'lsx_health_plan_workout_tab_content_path', $tab_template_path );
903
	if ( '' !== $tab_template_path ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
904
		include $tab_template_path;
905
	}
906
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
907
908
/**
909
 * This will detect and include the Workout sets loop.
910
 *
911
 * @return void
912
 */
913
function lsx_health_plan_workout_sets() {
914
	if ( is_singular( 'workout' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
915
		global $connected_workouts;
916
		$connected_workouts = array( get_the_ID() );
917
	}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
918
	if ( is_singular( 'plan' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
Coding Style introduced by
Blank line found at start of control structure
Loading history...
919
920
		global $connected_workouts;
921
922
		$section_key  = get_query_var( 'section' );
0 ignored issues
show
Coding Style introduced by
Equals sign not aligned correctly; expected 1 space but found 2 spaces

This check looks for improperly formatted assignments.

Every assignment must have exactly one space before and one space after the equals operator.

To illustrate:

$a = "a";
$ab = "ab";
$abc = "abc";

will have no issues, while

$a   = "a";
$ab  = "ab";
$abc = "abc";

will report issues in lines 1 and 2.

Loading history...
923
		if ( '' !== $section && \lsx_health_plan\functions\plan\has_sections() ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
924
			$section_info = \lsx_health_plan\functions\plan\get_section_info( $section_key );
925
			if ( isset( $section_info['connected_workouts'] ) && '' !== $section_info['connected_workouts'] ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
Coding Style introduced by
Blank line found at start of control structure
Loading history...
926
927
				$connected_workouts = \lsx_health_plan\functions\prep_array( $section_info['connected_workouts'] );
928
			}
929
		}
930
	}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
931
	$template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-sets.php';
932
	$template_path = apply_filters( 'lsx_health_plan_workout_set_template_path', $template_path );
933
	if ( '' !== $template_path && ! empty( $template_path ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
934
		include $template_path;
935
	}
936
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
937
938
/**
939
 * This will detect and include the Warmup sets loop.
940
 *
941
 * @param [type] $connected_workouts
0 ignored issues
show
Documentation Bug introduced by
The doc comment [type] at position 0 could not be parsed: Unknown type name '[' at position 0 in [type].
Loading history...
Coding Style Documentation introduced by
Missing parameter comment
Loading history...
942
 * @return void
943
 */
944
function lsx_health_plan_warmup_sets( $connected_workouts ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 blank lines after opening function brace; 1 found
Loading history...
945
	
946
	$template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-sets.php';
947
	$template_path = apply_filters( 'lsx_health_plan_workout_set_template_path', $template_path );
948
	if ( '' !== $template_path && ! empty( $template_path ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
949
		include $template_path;
950
	}
951
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
952
953
/**
954
 * Outputs the recipes connected to the meal plan.
955
 *
956
 * @param array $args
0 ignored issues
show
Coding Style Documentation introduced by
Missing parameter comment
Loading history...
957
 * @return void
958
 */
959
function lsx_hp_meal_plan_recipes( $args = array() ) {
960
	$defaults = array(
961
		'meal_id'   => false,
962
		'meal_time' => '',
963
		'modal'     => true,
964
	);
965
	$args     = wp_parse_args( $args, $defaults );
966
	// Looking for recipes.
967
	$connected_recipes = get_post_meta( $args['meal_id'], $args['meal_time'] . '_recipes', true );
968
	if ( ! empty( $connected_recipes ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
969
		$query_args    = array(
0 ignored issues
show
Coding Style introduced by
Equals sign not aligned with surrounding assignments; expected 1 space but found 4 spaces

This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line.

To visualize

$a = "a";
$ab = "ab";
$abc = "abc";

will produce issues in the first and second line, while this second example

$a   = "a";
$ab  = "ab";
$abc = "abc";

will produce no issues.

Loading history...
970
			'orderby'   => 'date',
971
			'order'     => 'DESC',
972
			'post_type' => 'recipe',
973
			'post__in'  => $connected_recipes,
974
		);
975
		$recipes = new WP_Query( $query_args );
0 ignored issues
show
Coding Style introduced by
Equals sign not aligned with surrounding assignments; expected 4 spaces but found 1 space

This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line.

To visualize

$a = "a";
$ab = "ab";
$abc = "abc";

will produce issues in the first and second line, while this second example

$a   = "a";
$ab  = "ab";
$abc = "abc";

will produce no issues.

Loading history...
976
		?>
977
		<div class="recipes">
978
			<div class="row eating-row">
979
			<?php
980
			if ( $recipes->have_posts() ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
981
				while ( $recipes->have_posts() ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
982
					$recipes->the_post();
983
					if ( false !== $args['modal'] ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
984
						\lsx_health_plan\functions\recipes\register_recipe_modal();
985
					}
986
					?>
987
					<div class="recipe-column">
988
						<a data-toggle="modal" data-target="#recipe-modal-<?php echo esc_attr( get_the_ID() ); ?>" href="#recipe-modal-<?php echo esc_attr( get_the_ID() ); ?>" class="recipe-box box-shadow">
0 ignored issues
show
Bug introduced by
It seems like get_the_ID() can also be of type false; however, parameter $text of esc_attr() does only seem to accept string, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

988
						<a data-toggle="modal" data-target="#recipe-modal-<?php echo esc_attr( /** @scrutinizer ignore-type */ get_the_ID() ); ?>" href="#recipe-modal-<?php echo esc_attr( get_the_ID() ); ?>" class="recipe-box box-shadow">
Loading history...
989
							<div class="recipe-feature-img">
990
								<?php
991
								$featured_image = get_the_post_thumbnail();
992
								if ( ! empty( $featured_image ) && '' !== $featured_image ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
993
									the_post_thumbnail( 'lsx-thumbnail-square', array(
0 ignored issues
show
Coding Style introduced by
The opening parenthesis of a multi-line function call should be the last content on the line.
Loading history...
Coding Style introduced by
For multi-line function calls, each argument should be on a separate line.

For a function calls that spawns multiple lines, the coding style suggests to split arguments to separate lines like this:

someFunctionCall(
    $firstArgument,
    $secondArgument,
    $thirdArgument
);
Loading history...
994
										'class' => 'aligncenter',
995
									) );
0 ignored issues
show
Coding Style introduced by
For multi-line function calls, the closing parenthesis should be on a new line.

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

someFunctionCall(
    $firstArgument,
    $secondArgument,
    $thirdArgument
); // Closing parenthesis on a new line.
Loading history...
996
								} else {
997
									?>
998
									<img loading="lazy" class="placeholder" src="<?php echo esc_attr( plugin_dir_url( __DIR__ ) . 'assets/images/placeholder.jpg' ); ?>">
999
									<?php
1000
								}
1001
								?>
1002
							</div>
1003
							<div class="recipe-content">
1004
								<h3 class="recipe-title"><?php the_title(); ?></h3>
1005
								<?php lsx_health_plan_recipe_data(); ?>
1006
							</div>
1007
						</a>
1008
					</div>
1009
				<?php
1010
				}
1011
			}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
1012
			wp_reset_postdata();
1013
			?>
1014
			</div>
1015
		</div>
1016
		<?php
1017
0 ignored issues
show
Coding Style introduced by
Blank line found at end of control structure
Loading history...
1018
	}
1019
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
1020
1021
/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$args" missing
Loading history...
1022
 * Output the connected.
1023
 */
1024
function lsx_hp_recipe_plan_meta( $args = array() ) {
1025
	$defaults = array();
0 ignored issues
show
Coding Style introduced by
Equals sign not aligned with surrounding assignments; expected 8 spaces but found 1 space

This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line.

To visualize

$a = "a";
$ab = "ab";
$abc = "abc";

will produce issues in the first and second line, while this second example

$a   = "a";
$ab  = "ab";
$abc = "abc";

will produce no issues.

Loading history...
1026
	$top_level_plans = array();
1027
	// Get meals this exercise is connected to.
1028
	$plans = get_post_meta( get_the_ID(), 'connected_plans', true );
0 ignored issues
show
Bug introduced by
It seems like get_the_ID() can also be of type false; however, parameter $post_id of get_post_meta() does only seem to accept integer, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

1028
	$plans = get_post_meta( /** @scrutinizer ignore-type */ get_the_ID(), 'connected_plans', true );
Loading history...
1029
	if ( ! empty( $plans ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1030
		$plan       = end( $plans );
0 ignored issues
show
Bug introduced by
It seems like $plans can also be of type string; however, parameter $array of end() does only seem to accept array, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

1030
		$plan       = end( /** @scrutinizer ignore-type */ $plans );
Loading history...
1031
		$has_parent = wp_get_post_parent_id( $plan );
1032
		if ( 0 === $has_parent ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1033
			$top_level_plans[] = $plan;
1034
		} elseif ( false !== $top_level_plans ) {
0 ignored issues
show
introduced by
The condition false !== $top_level_plans is always true.
Loading history...
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1035
			$top_level_plans[] = $has_parent;
1036
		}
1037
	}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
1038
	if ( ! empty( $top_level_plans ) && ( '' !== $top_level_plans ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1039
		$top_level_plans = array_unique( $top_level_plans );
1040
		$top_level_plan  = end( $top_level_plans );
1041
		?>
1042
			<span class="recipe-type recipe-parent"><?php echo esc_html( get_the_title( $top_level_plan ) ); ?></span>
1043
		<?php
1044
	}
1045
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
1046
1047
/**
1048
 * Output the connected.
1049
 */
1050
function lsx_hp_exercise_plan_meta() {
0 ignored issues
show
Coding Style introduced by
Expected 0 blank lines after opening function brace; 1 found
Loading history...
1051
1052
	$top_level_plans = array();
1053
1054
	// Get workouts this exercise is connected to.
1055
	$workouts = get_post_meta( get_the_ID(), 'connected_workouts', true );
0 ignored issues
show
Bug introduced by
It seems like get_the_ID() can also be of type false; however, parameter $post_id of get_post_meta() does only seem to accept integer, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

1055
	$workouts = get_post_meta( /** @scrutinizer ignore-type */ get_the_ID(), 'connected_workouts', true );
Loading history...
1056
1057
	if ( '' !== $workouts && ! is_array( $workouts ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1058
		$workouts = array( $workouts );
1059
	}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
1060
	if ( ! empty( $workouts ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1061
		foreach ( $workouts as $workout ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1062
			// Get the plans this workout is connected to.
1063
			$plans = get_post_meta( $workout, 'connected_plans', true );
1064
1065
			if ( '' !== $plans && ! is_array( $plans ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1066
				$plans = array( $plans );
1067
			}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
1068
			if ( ! empty( $plans ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1069
				foreach ( $plans as $plan ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1070
					$has_parent = wp_get_post_parent_id( $plan );
1071
					if ( 0 === $has_parent ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1072
						$top_level_plans = $plan;
1073
					} else {
1074
						$top_level_plans = $has_parent;
1075
					}
1076
				}
1077
			}
1078
		}
1079
	}
1080
1081
	if ( ! empty( $top_level_plans ) && ( '' !== $top_level_plans ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1082
		$top_level_plans = array_unique( $top_level_plans );
1083
		$top_level_plan  = end( $top_level_plans );
1084
		?>
1085
			<span class="recipe-type recipe-parent"><?php echo esc_html( get_the_title( $top_level_plan ) ); ?></span>
1086
		<?php
1087
	}
1088
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
1089
1090
/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$post_type_text" missing
Loading history...
1091
 * Template for related content box for all singles.
1092
 *
1093
 * @param [type] $related_content
0 ignored issues
show
Documentation Bug introduced by
The doc comment [type] at position 0 could not be parsed: Unknown type name '[' at position 0 in [type].
Loading history...
Coding Style Documentation introduced by
Missing parameter comment
Loading history...
1094
 * @return void
1095
 */
1096
function lsx_hp_single_related( $related_content, $post_type_text ) {
1097
	?>
1098
	<section id="lsx-hp-related">
1099
		<div class="row lsx-related-posts lsx-related-posts-title">
1100
			<div class="col-xs-12">
1101
				<h2 class="lsx-related-posts-headline"><?php echo esc_html( $post_type_text ); ?></h2>
1102
			</div>
1103
		</div>
1104
		<div class="row lsx-related-posts lsx-related-posts-content">
1105
			<div class="col-xs-12">
1106
				<div class="lsx-related-posts-wrapper">
1107
					<?php
1108
					$i = 0;
1109
					foreach ( $related_content as $article ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1110
						$post_title      = get_the_title( $article );
1111
						$post_categories = wp_get_post_categories( $article );
1112
						$post_link       = get_permalink( $article );
1113
1114
						$cats = array();
1115
						?>
1116
						<article id="post-<?php echo esc_html( $article ); ?>" class="lsx-slot post">
1117
							<div class="entry-layout lsx-hp-shadow">
1118
								<div class="entry-layout-content">
1119
									<header class="entry-header">
1120
										<div class="entry-image">
1121
											<a href="<?php echo esc_url( $post_link ); ?>" class="thumbnail">
0 ignored issues
show
Bug introduced by
It seems like $post_link can also be of type false; however, parameter $url of esc_url() does only seem to accept string, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

1121
											<a href="<?php echo esc_url( /** @scrutinizer ignore-type */ $post_link ); ?>" class="thumbnail">
Loading history...
1122
											<?php
1123
											$featured_image = get_the_post_thumbnail( $article, 'lsx-thumbnail-wide' );
1124
											if ( ! empty( $featured_image ) && '' !== $featured_image ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1125
												echo wp_kses_post( $featured_image );
1126
											} else {
1127
												?>
1128
												<img loading="lazy" class="placeholder" src="<?php echo esc_attr( plugin_dir_url( __FILE__ ) . '../assets/images/placeholder.jpg' ); ?>">
1129
												<?php
1130
											}
1131
											?>
1132
											</a>
1133
										</div>
1134
										<div class="entry-meta">
1135
										<?php
1136
										foreach ( $post_categories as $c ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1137
											$cat = get_category( $c );
1138
											/* Translators: %s: category name */
1139
											$cats[] = '<a href="' . esc_url( get_category_link( $cat->term_id ) ) . '" title="' . sprintf( esc_html__( 'Posts in %s', 'lsx-blog-customizer' ), $cat->name ) . '">' . $cat->name . '</a>';
0 ignored issues
show
Bug introduced by
The property term_id does not seem to exist on WP_Error.
Loading history...
Bug introduced by
The property name does not seem to exist on WP_Error.
Loading history...
1140
										}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
1141
										if ( ! empty( $cats ) ) { ?>
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
Coding Style introduced by
Closing PHP tag must be on a line by itself
Loading history...
1142
											<div class="post-categories"><span></span><?php echo wp_kses_post( implode( ', ', $cats ) ); ?></div>
1143
										<?php } ?>
1144
										</div>
1145
										<h2 class="entry-title">
1146
											<a href="<?php echo esc_url( $post_link ); ?>">
1147
												<?php echo esc_html( $post_title ); ?>
1148
											</a>
1149
										</h2>
1150
									</header>
1151
								</div>
1152
							</div>
1153
						</article>
1154
1155
					<?php
1156
					if (++$i === 3) break;
0 ignored issues
show
introduced by
Use Yoda Condition checks, you must.
Loading history...
1157
					} ?>
0 ignored issues
show
Coding Style introduced by
Closing PHP tag must be on a line by itself
Loading history...
1158
				</div>
1159
			</div>
1160
		</div>
1161
	</section>
1162
	<?php
1163
}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
1164
1165
/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$post_type" missing
Loading history...
1166
 * Template for connected members.
1167
 *
1168
 * @param [type] $connected_members
0 ignored issues
show
Documentation Bug introduced by
The doc comment [type] at position 0 could not be parsed: Unknown type name '[' at position 0 in [type].
Loading history...
Coding Style Documentation introduced by
Missing parameter comment
Loading history...
1169
 * @return void
0 ignored issues
show
Coding Style introduced by
Function return type is void, but function contains return statement
Loading history...
1170
 */
1171
function lsx_hp_member_connected( $connected_members, $post_type ) {
1172
	if ( ! empty( $connected_members ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1173
		$content = '<div id="hp-connected-members" class="hp-connected-members connected-' . $post_type . '">';
1174
		foreach ( $connected_members as $member ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1175
			$post_link   = get_permalink( $member );
1176
			$member_name = get_the_title( $member );
1177
			$member_name = '<span class="lsx-team-name">' . $member_name . '</span>';
1178
1179
			$member_link = '<a href="' . $post_link . '" >' . $member_name . '</a>';
0 ignored issues
show
Bug introduced by
Are you sure $post_link of type false|string can be used in concatenation? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

1179
			$member_link = '<a href="' . /** @scrutinizer ignore-type */ $post_link . '" >' . $member_name . '</a>';
Loading history...
1180
1181
			$roles = '';
1182
			$terms = get_the_terms( $member, 'team_role' );
1183
1184
			if ( $terms && ! is_wp_error( $terms ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1185
				$roles = array();
1186
1187
				foreach ( $terms as $term ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1188
					$roles[] = $term->name;
1189
				}
1190
1191
				$roles = join( ', ', $roles );
1192
			}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
1193
			$member_roles = '' !== $roles ? "<small class='lsx-team-roles'>$roles</small>" : '';
1194
1195
			$content .= '<p>' . $member_roles . ': ' . $member_link . '</p>';
1196
		}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
1197
		$content .= '</div>';
1198
		return $content;
1199
	}
1200
}
0 ignored issues
show
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
1201