Passed
Push — add/multiplan ( 0b796a...90de42 )
by Ashley
08:47
created
templates/partials/workout-grid.php 1 patch
Indentation   +128 added lines, -128 removed lines patch added patch discarded remove patch
@@ -8,7 +8,7 @@  discard block
 block discarded – undo
8 8
 global $group_name,$shortcode_args;
9 9
 $groups = get_post_meta( get_the_ID(), $group_name, true );
10 10
 if ( is_singular( 'workout' ) ) {
11
-	$groups = get_post_meta( get_queried_object_id(), $group_name, true );
11
+     $groups = get_post_meta( get_queried_object_id(), $group_name, true );
12 12
 }
13 13
 
14 14
 $link_setting          = \lsx_health_plan\functions\get_option( 'workout_tab_link', 'single' );
@@ -18,167 +18,167 @@  discard block
 block discarded – undo
18 18
 
19 19
 // Check for shortcode overrides.
20 20
 if ( null !== $shortcode_args ) {
21
-	if ( isset( $shortcode_args['link'] ) ) {
22
-		$link_setting = $shortcode_args['link'];
23
-	}
24
-	if ( isset( $shortcode_args['description'] ) ) {
25
-		$content_setting = $shortcode_args['description'];
26
-	}
27
-	if ( isset( $shortcode_args['columns'] ) ) {
28
-		$column_setting = $shortcode_args['columns'];
29
-		$column_setting = \lsx_health_plan\functions\column_class( $column_setting );
30
-	}
31
-	if ( isset( $shortcode_args['modal_content'] ) ) {
32
-		$modal_content_setting = $shortcode_args['modal_content'];
33
-	}
21
+     if ( isset( $shortcode_args['link'] ) ) {
22
+          $link_setting = $shortcode_args['link'];
23
+     }
24
+     if ( isset( $shortcode_args['description'] ) ) {
25
+          $content_setting = $shortcode_args['description'];
26
+     }
27
+     if ( isset( $shortcode_args['columns'] ) ) {
28
+          $column_setting = $shortcode_args['columns'];
29
+          $column_setting = \lsx_health_plan\functions\column_class( $column_setting );
30
+     }
31
+     if ( isset( $shortcode_args['modal_content'] ) ) {
32
+          $modal_content_setting = $shortcode_args['modal_content'];
33
+     }
34 34
 }
35 35
 
36 36
 $modal_args = array(
37
-	'modal_content' => $modal_content_setting,
37
+     'modal_content' => $modal_content_setting,
38 38
 );
39 39
 
40 40
 $counter = 1;
41 41
 
42 42
 if ( ! empty( $groups ) ) {
43
-	?>
43
+     ?>
44 44
 	<div class="set-grid">
45 45
 		<div class="workout-grid row">
46 46
 			<?php
47
-			foreach ( $groups as $group ) {
48
-				$connected_exercise = false;
49
-				if ( isset( $group['connected_exercises'] ) && '' !== $group['connected_exercises'] ) {
50
-					$connected_exercise = true;
51
-				}
52
-
53
-				if ( ! $connected_exercise ) {
54
-					$group['connected_exercises'] = '';
55
-				}
56
-
57
-				if ( ( $connected_exercise ) || ( ( ! $connected_exercise ) && '' !== $group['alt_title'] && isset( $group['alt_title'] ) ) ) {
58
-
59
-					$alt_title = '';
60
-					if ( isset( $group['alt_title'] ) && '' !== $group['alt_title'] ) {
61
-						$alt_title = '<span class="alt-title">' . esc_html( $group['alt_title'] ) . '</span>';
62
-					}
63
-
64
-					$alt_description = '';
65
-					if ( isset( $group['alt_description'] ) && '' !== $group['alt_description'] ) {
66
-						$alt_description = '<span class="alt-description">' . esc_html( $group['alt_description'] ) . '</span>';
67
-					}
68
-
69
-					$alt_image = '';
70
-					if ( isset( $group['exercise_alt_thumbnail'] ) && '' !== $group['exercise_alt_thumbnail'] ) {
71
-						$alt_image = $group['exercise_alt_thumbnail'];
72
-					}
73
-
74
-					$reps = '';
75
-					if ( isset( $group['reps'] ) && '' !== $group['reps'] ) {
76
-						$reps = '<span class="reps">' . esc_html( $group['reps'] ) . '</span>';
77
-					}
78
-					$class_excerpt = 'no-excerpt';
79
-					if ( 'excerpt' === $content_setting ) {
80
-						$class_excerpt = 'has-excerpt';
81
-					}
82
-					// Setup our link and content.
83
-					switch ( $link_setting ) {
84
-						case 'single':
85
-							$link_html  = '<a href="' . get_permalink( $group['connected_exercises'] ) . '">';
86
-							$link_close = '</a>';
87
-							break;
88
-
89
-						case 'modal':
90
-							if ( ( '' !== $alt_title ) || ( '' !== $alt_description ) || ( '' !== $alt_image ) ) {
91
-								$link_html  = '<a class="alt-modal" data-toggle="modal" href="#workout-alt-exercise-modal-' . $group['connected_exercises'] . '">';
92
-								$link_close = '</a>';
93
-								// We call the button to register the alt modal, but we do not output it.
94
-								lsx_health_plan_workout_exercise_alt_button( $group['connected_exercises'], $group, false, $modal_args, $alt_title, $alt_description, $alt_image );
95
-							} else {
96
-								$link_html  = '<a data-toggle="modal" href="#workout-exercise-modal-' . $group['connected_exercises'] . '">';
97
-								$link_close = '</a>';
98
-								// We call the button to register the modal, but we do not output it.
99
-								lsx_health_plan_workout_exercise_button( $group['connected_exercises'], $group, false, $modal_args );
100
-							}
101
-
102
-							break;
103
-
104
-						case 'none':
105
-						default:
106
-							$link_html  = '';
107
-							$link_close = '';
108
-							break;
109
-					}
110
-					?>
47
+               foreach ( $groups as $group ) {
48
+                    $connected_exercise = false;
49
+                    if ( isset( $group['connected_exercises'] ) && '' !== $group['connected_exercises'] ) {
50
+                         $connected_exercise = true;
51
+                    }
52
+
53
+                    if ( ! $connected_exercise ) {
54
+                         $group['connected_exercises'] = '';
55
+                    }
56
+
57
+                    if ( ( $connected_exercise ) || ( ( ! $connected_exercise ) && '' !== $group['alt_title'] && isset( $group['alt_title'] ) ) ) {
58
+
59
+                         $alt_title = '';
60
+                         if ( isset( $group['alt_title'] ) && '' !== $group['alt_title'] ) {
61
+                              $alt_title = '<span class="alt-title">' . esc_html( $group['alt_title'] ) . '</span>';
62
+                         }
63
+
64
+                         $alt_description = '';
65
+                         if ( isset( $group['alt_description'] ) && '' !== $group['alt_description'] ) {
66
+                              $alt_description = '<span class="alt-description">' . esc_html( $group['alt_description'] ) . '</span>';
67
+                         }
68
+
69
+                         $alt_image = '';
70
+                         if ( isset( $group['exercise_alt_thumbnail'] ) && '' !== $group['exercise_alt_thumbnail'] ) {
71
+                              $alt_image = $group['exercise_alt_thumbnail'];
72
+                         }
73
+
74
+                         $reps = '';
75
+                         if ( isset( $group['reps'] ) && '' !== $group['reps'] ) {
76
+                              $reps = '<span class="reps">' . esc_html( $group['reps'] ) . '</span>';
77
+                         }
78
+                         $class_excerpt = 'no-excerpt';
79
+                         if ( 'excerpt' === $content_setting ) {
80
+                              $class_excerpt = 'has-excerpt';
81
+                         }
82
+                         // Setup our link and content.
83
+                         switch ( $link_setting ) {
84
+                              case 'single':
85
+                                   $link_html  = '<a href="' . get_permalink( $group['connected_exercises'] ) . '">';
86
+                                   $link_close = '</a>';
87
+                                   break;
88
+
89
+                              case 'modal':
90
+                                   if ( ( '' !== $alt_title ) || ( '' !== $alt_description ) || ( '' !== $alt_image ) ) {
91
+                                        $link_html  = '<a class="alt-modal" data-toggle="modal" href="#workout-alt-exercise-modal-' . $group['connected_exercises'] . '">';
92
+                                        $link_close = '</a>';
93
+                                        // We call the button to register the alt modal, but we do not output it.
94
+                                        lsx_health_plan_workout_exercise_alt_button( $group['connected_exercises'], $group, false, $modal_args, $alt_title, $alt_description, $alt_image );
95
+                                   } else {
96
+                                        $link_html  = '<a data-toggle="modal" href="#workout-exercise-modal-' . $group['connected_exercises'] . '">';
97
+                                        $link_close = '</a>';
98
+                                        // We call the button to register the modal, but we do not output it.
99
+                                        lsx_health_plan_workout_exercise_button( $group['connected_exercises'], $group, false, $modal_args );
100
+                                   }
101
+
102
+                                   break;
103
+
104
+                              case 'none':
105
+                              default:
106
+                                   $link_html  = '';
107
+                                   $link_close = '';
108
+                                   break;
109
+                         }
110
+                         ?>
111 111
 					<div class="col-xs-12 col-sm-6 col-md-<?php echo esc_attr( $column_setting ); ?>">
112 112
 						<article class="lsx-slot box-shadow">
113 113
 							<div class="exercise-feature-img">
114 114
 								<span class="exercise-counter"><?php echo esc_html( $counter ); ?>.</span>
115 115
 								<?php echo wp_kses_post( $link_html ); ?>
116 116
 									<?php
117
-									$thumbnail_args = array(
118
-										'class' => 'aligncenter',
119
-									);
120
-									$featured_image = get_the_post_thumbnail( $group['connected_exercises'], 'medium', $thumbnail_args );
121
-									if ( $alt_image ) {
122
-										$featured_image = '<img alt="thumbnail" loading="lazy" class="aligncenter wp-post-image" src="' . $alt_image . '">';
123
-									}
124
-									if ( ! empty( $featured_image ) && '' !== $featured_image ) {
125
-										echo wp_kses_post( $featured_image );
126
-									} else {
127
-										?>
117
+                                             $thumbnail_args = array(
118
+                                                  'class' => 'aligncenter',
119
+                                             );
120
+                                             $featured_image = get_the_post_thumbnail( $group['connected_exercises'], 'medium', $thumbnail_args );
121
+                                             if ( $alt_image ) {
122
+                                                  $featured_image = '<img alt="thumbnail" loading="lazy" class="aligncenter wp-post-image" src="' . $alt_image . '">';
123
+                                             }
124
+                                             if ( ! empty( $featured_image ) && '' !== $featured_image ) {
125
+                                                  echo wp_kses_post( $featured_image );
126
+                                             } else {
127
+                                                  ?>
128 128
 										<img loading="lazy" src="<?php echo esc_attr( plugin_dir_url( __DIR__ ) . '../assets/images/placeholder.jpg' ); ?>">
129 129
 										<?php
130
-									}
131
-									?>
130
+                                             }
131
+                                             ?>
132 132
 								<?php echo wp_kses_post( $link_close ); ?>
133 133
 							</div>
134 134
 							<div class="content-box exercise-content-box white-bg">
135 135
 								<h3 class="content-box-title <?php echo esc_html( $class_excerpt ); ?>">
136 136
 									<?php echo wp_kses_post( $link_html ); ?>
137 137
 											<?php
138
-											$exercise_title = lsx_health_plan_exercise_title( '', '', false, $group['connected_exercises'] );
139
-											if ( '' !== $alt_title ) {
140
-												$exercise_title = $alt_title;
141
-											}
142
-											echo wp_kses_post( $exercise_title );
143
-											?>
138
+                                                       $exercise_title = lsx_health_plan_exercise_title( '', '', false, $group['connected_exercises'] );
139
+                                                       if ( '' !== $alt_title ) {
140
+                                                            $exercise_title = $alt_title;
141
+                                                       }
142
+                                                       echo wp_kses_post( $exercise_title );
143
+                                                       ?>
144 144
 										</a>
145 145
 									<?php echo wp_kses_post( $link_close ); ?>
146 146
 								</h3>
147 147
 								<?php
148
-								if ( '' !== $content_setting ) {
149
-									?>
148
+                                        if ( '' !== $content_setting ) {
149
+                                             ?>
150 150
 									<p class="lsx-exercises-excerpt">
151 151
 										<?php
152
-										if ( 'excerpt' === $content_setting ) {
153
-											$excerpt = \lsx_health_plan\functions\hp_excerpt( $group['connected_exercises'] );
154
-
155
-											if ( '' !== $alt_description ) {
156
-												$excerpt = $alt_description;
157
-											}
158
-											echo wp_kses_post( $excerpt );
159
-										}
160
-										if ( 'full' === $content_setting ) {
161
-											echo wp_kses_post( get_the_content( null, null, $group['connected_exercises'] ) );
162
-										}
163
-										?>
152
+                                                  if ( 'excerpt' === $content_setting ) {
153
+                                                       $excerpt = \lsx_health_plan\functions\hp_excerpt( $group['connected_exercises'] );
154
+
155
+                                                       if ( '' !== $alt_description ) {
156
+                                                            $excerpt = $alt_description;
157
+                                                       }
158
+                                                       echo wp_kses_post( $excerpt );
159
+                                                  }
160
+                                                  if ( 'full' === $content_setting ) {
161
+                                                       echo wp_kses_post( get_the_content( null, null, $group['connected_exercises'] ) );
162
+                                                  }
163
+                                                  ?>
164 164
 									</p>
165 165
 									<?php
166
-								}
167
-								?>
166
+                                        }
167
+                                        ?>
168 168
 								<?php
169
-								$repsclass = '';
170
-								if ( '' !== $reps ) {
171
-									$repsclass = 'have-reps';
172
-								}
173
-								?>
169
+                                        $repsclass = '';
170
+                                        if ( '' !== $reps ) {
171
+                                             $repsclass = 'have-reps';
172
+                                        }
173
+                                        ?>
174 174
 								<div class="reps-container <?php echo esc_html( $repsclass ); ?>">
175 175
 									<?php
176
-									if ( '' !== $reps ) {
177
-									?>
176
+                                             if ( '' !== $reps ) {
177
+                                             ?>
178 178
 										<?php echo wp_kses_post( $reps ); ?>
179 179
 									<?php
180
-									}
181
-									?>
180
+                                             }
181
+                                             ?>
182 182
 									<?php if ( ( '' !== $link_html ) && ( $connected_exercise ) ) { ?>
183 183
 										<?php echo wp_kses_post( str_replace( '<a', '<a class="btn-simple" ', $link_html ) ); ?>
184 184
 										<?php echo wp_kses_post( $link_close ); ?>
@@ -188,10 +188,10 @@  discard block
 block discarded – undo
188 188
 						</article>
189 189
 					</div>
190 190
 					<?php
191
-					$counter ++;
192
-				}
193
-			}
194
-			?>
191
+                         $counter ++;
192
+                    }
193
+               }
194
+               ?>
195 195
 		</div>
196 196
 	</div>
197 197
 	<?php
Please login to merge, or discard this patch.
templates/featured-tips.php 1 patch
Indentation   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -15,12 +15,12 @@  discard block
 block discarded – undo
15 15
 	<div class="lsx-tips-shortcode lsx-tips-slider slick-slider slick-dotted"  >
16 16
 	<?php
17 17
 
18
-	foreach ( $connected_tips as $tip ) {
19
-		$tip_link    = get_permalink( $tip );
20
-		$tip_name    = get_the_title( $tip );
21
-		$tip_content = get_post_field( 'post_content', $tip );
22
-		$icon = LSX_HEALTH_PLAN_URL . 'assets/images/tips-icon.svg';
23
-		?>
18
+     foreach ( $connected_tips as $tip ) {
19
+          $tip_link    = get_permalink( $tip );
20
+          $tip_name    = get_the_title( $tip );
21
+          $tip_content = get_post_field( 'post_content', $tip );
22
+          $icon = LSX_HEALTH_PLAN_URL . 'assets/images/tips-icon.svg';
23
+          ?>
24 24
 		<div class="content-box diet-tip-wrapper quick-tip">
25 25
 			<div class="row">
26 26
 				<div class="col-xs-2">
@@ -33,8 +33,8 @@  discard block
 block discarded – undo
33 33
 			</div>
34 34
 		</div>
35 35
 		<?php
36
-	}
37
-	?>
36
+     }
37
+     ?>
38 38
 	</div>
39 39
 </div>
40 40
 <?php
Please login to merge, or discard this patch.
classes/post-types/class-tip.php 1 patch
Indentation   +141 added lines, -141 removed lines patch added patch discarded remove patch
@@ -14,152 +14,152 @@
 block discarded – undo
14 14
  */
15 15
 class Tip {
16 16
 
17
-	/**
18
-	 * Holds class instance
19
-	 *
20
-	 * @since 1.0.0
21
-	 *
22
-	 * @var      object \lsx_health_plan\classes\Tip()
23
-	 */
24
-	protected static $instance = null;
17
+     /**
18
+      * Holds class instance
19
+      *
20
+      * @since 1.0.0
21
+      *
22
+      * @var      object \lsx_health_plan\classes\Tip()
23
+      */
24
+     protected static $instance = null;
25 25
 
26
-	/**
27
-	 * Holds post_type slug used as an index
28
-	 *
29
-	 * @since 1.0.0
30
-	 *
31
-	 * @var      string
32
-	 */
33
-	public $slug = 'tip';
26
+     /**
27
+      * Holds post_type slug used as an index
28
+      *
29
+      * @since 1.0.0
30
+      *
31
+      * @var      string
32
+      */
33
+     public $slug = 'tip';
34 34
 
35
-	/**
36
-	 * Constructor
37
-	 */
38
-	public function __construct() {
39
-		$this->default_types = array(
40
-			\lsx_health_plan\functions\get_option( 'endpoint_meal', 'meal' ),
41
-			\lsx_health_plan\functions\get_option( 'endpoint_exercise_single', 'exercise' ),
42
-			\lsx_health_plan\functions\get_option( 'endpoint_recipe_single', 'recipe' ),
43
-			\lsx_health_plan\functions\get_option( 'endpoint_workout', 'workout' ),
44
-			\lsx_health_plan\functions\get_option( 'endpoint_plan', 'plan' ),
45
-		);
46
-		add_action( 'init', array( $this, 'register_post_type' ) );
47
-		add_action( 'admin_menu', array( $this, 'register_menus' ) );
48
-		add_filter( 'lsx_health_plan_connections', array( $this, 'enable_connections' ), 10, 1 );
49
-		add_action( 'cmb2_admin_init', array( $this, 'tips_connections' ), 15 );
50
-	}
35
+     /**
36
+      * Constructor
37
+      */
38
+     public function __construct() {
39
+          $this->default_types = array(
40
+               \lsx_health_plan\functions\get_option( 'endpoint_meal', 'meal' ),
41
+               \lsx_health_plan\functions\get_option( 'endpoint_exercise_single', 'exercise' ),
42
+               \lsx_health_plan\functions\get_option( 'endpoint_recipe_single', 'recipe' ),
43
+               \lsx_health_plan\functions\get_option( 'endpoint_workout', 'workout' ),
44
+               \lsx_health_plan\functions\get_option( 'endpoint_plan', 'plan' ),
45
+          );
46
+          add_action( 'init', array( $this, 'register_post_type' ) );
47
+          add_action( 'admin_menu', array( $this, 'register_menus' ) );
48
+          add_filter( 'lsx_health_plan_connections', array( $this, 'enable_connections' ), 10, 1 );
49
+          add_action( 'cmb2_admin_init', array( $this, 'tips_connections' ), 15 );
50
+     }
51 51
 
52
-	/**
53
-	 * Return an instance of this class.
54
-	 *
55
-	 * @since 1.0.0
56
-	 *
57
-	 * @return    object \lsx_health_plan\classes\Tip()    A single instance of this class.
58
-	 */
59
-	public static function get_instance() {
60
-		// If the single instance hasn't been set, set it now.
61
-		if ( null === self::$instance ) {
62
-			self::$instance = new self();
63
-		}
64
-		return self::$instance;
65
-	}
66
-	/**
67
-	 * Register the post type.
68
-	 */
69
-	public function register_post_type() {
70
-		$labels = array(
71
-			'name'               => esc_html__( 'Tips', 'lsx-health-plan' ),
72
-			'singular_name'      => esc_html__( 'Tip', 'lsx-health-plan' ),
73
-			'add_new'            => esc_html_x( 'Add New', 'post type general name', 'lsx-health-plan' ),
74
-			'add_new_item'       => esc_html__( 'Add New', 'lsx-health-plan' ),
75
-			'edit_item'          => esc_html__( 'Edit', 'lsx-health-plan' ),
76
-			'new_item'           => esc_html__( 'New', 'lsx-health-plan' ),
77
-			'all_items'          => esc_html__( 'All Tips', 'lsx-health-plan' ),
78
-			'view_item'          => esc_html__( 'View', 'lsx-health-plan' ),
79
-			'search_items'       => esc_html__( 'Search', 'lsx-health-plan' ),
80
-			'not_found'          => esc_html__( 'None found', 'lsx-health-plan' ),
81
-			'not_found_in_trash' => esc_html__( 'None found in Trash', 'lsx-health-plan' ),
82
-			'parent_item_colon'  => '',
83
-			'menu_name'          => esc_html__( 'Tips', 'lsx-health-plan' ),
84
-		);
85
-		$args   = array(
86
-			'labels'             => $labels,
87
-			'public'             => true,
88
-			'publicly_queryable' => false,
89
-			'show_ui'            => true,
90
-			'show_in_menu'       => false,
91
-			'show_in_rest'       => true,
92
-			'menu_icon'          => 'dashicons-admin-post',
93
-			'query_var'          => true,
94
-			'rewrite'            => false,
95
-			'capability_type'    => 'post',
96
-			'has_archive'        => false,
97
-			'hierarchical'       => false,
98
-			'menu_position'      => null,
99
-			'supports'           => array(
100
-				'title',
101
-				'editor',
102
-				'thumbnail',
103
-				'custom-fields',
104
-			),
105
-		);
106
-		register_post_type( 'tip', $args );
107
-	}
52
+     /**
53
+      * Return an instance of this class.
54
+      *
55
+      * @since 1.0.0
56
+      *
57
+      * @return    object \lsx_health_plan\classes\Tip()    A single instance of this class.
58
+      */
59
+     public static function get_instance() {
60
+          // If the single instance hasn't been set, set it now.
61
+          if ( null === self::$instance ) {
62
+               self::$instance = new self();
63
+          }
64
+          return self::$instance;
65
+     }
66
+     /**
67
+      * Register the post type.
68
+      */
69
+     public function register_post_type() {
70
+          $labels = array(
71
+               'name'               => esc_html__( 'Tips', 'lsx-health-plan' ),
72
+               'singular_name'      => esc_html__( 'Tip', 'lsx-health-plan' ),
73
+               'add_new'            => esc_html_x( 'Add New', 'post type general name', 'lsx-health-plan' ),
74
+               'add_new_item'       => esc_html__( 'Add New', 'lsx-health-plan' ),
75
+               'edit_item'          => esc_html__( 'Edit', 'lsx-health-plan' ),
76
+               'new_item'           => esc_html__( 'New', 'lsx-health-plan' ),
77
+               'all_items'          => esc_html__( 'All Tips', 'lsx-health-plan' ),
78
+               'view_item'          => esc_html__( 'View', 'lsx-health-plan' ),
79
+               'search_items'       => esc_html__( 'Search', 'lsx-health-plan' ),
80
+               'not_found'          => esc_html__( 'None found', 'lsx-health-plan' ),
81
+               'not_found_in_trash' => esc_html__( 'None found in Trash', 'lsx-health-plan' ),
82
+               'parent_item_colon'  => '',
83
+               'menu_name'          => esc_html__( 'Tips', 'lsx-health-plan' ),
84
+          );
85
+          $args   = array(
86
+               'labels'             => $labels,
87
+               'public'             => true,
88
+               'publicly_queryable' => false,
89
+               'show_ui'            => true,
90
+               'show_in_menu'       => false,
91
+               'show_in_rest'       => true,
92
+               'menu_icon'          => 'dashicons-admin-post',
93
+               'query_var'          => true,
94
+               'rewrite'            => false,
95
+               'capability_type'    => 'post',
96
+               'has_archive'        => false,
97
+               'hierarchical'       => false,
98
+               'menu_position'      => null,
99
+               'supports'           => array(
100
+                    'title',
101
+                    'editor',
102
+                    'thumbnail',
103
+                    'custom-fields',
104
+               ),
105
+          );
106
+          register_post_type( 'tip', $args );
107
+     }
108 108
 
109
-	/**
110
-	 * Registers the Recipes under the Meals Post type menu.
111
-	 *
112
-	 * @return void
113
-	 */
114
-	public function register_menus() {
115
-		add_submenu_page( 'edit.php?post_type=plan', esc_html__( 'Tips', 'lsx-health-plan' ), esc_html__( 'Tips', 'lsx-health-plan' ), 'edit_posts', 'edit.php?post_type=tip' );
116
-	}
109
+     /**
110
+      * Registers the Recipes under the Meals Post type menu.
111
+      *
112
+      * @return void
113
+      */
114
+     public function register_menus() {
115
+          add_submenu_page( 'edit.php?post_type=plan', esc_html__( 'Tips', 'lsx-health-plan' ), esc_html__( 'Tips', 'lsx-health-plan' ), 'edit_posts', 'edit.php?post_type=tip' );
116
+     }
117 117
 
118
-	/**
119
-	 * Enables the Bi Directional relationships
120
-	 *
121
-	 * @param array $connections
122
-	 * @return void
123
-	 */
124
-	public function enable_connections( $connections = array() ) {
125
-		$connections['tip']['connected_plans']      = 'plan_connected_tips';
126
-		$connections['plan']['plan_connected_tips'] = 'connected_plans';
127
-		return $connections;
128
-	}
118
+     /**
119
+      * Enables the Bi Directional relationships
120
+      *
121
+      * @param array $connections
122
+      * @return void
123
+      */
124
+     public function enable_connections( $connections = array() ) {
125
+          $connections['tip']['connected_plans']      = 'plan_connected_tips';
126
+          $connections['plan']['plan_connected_tips'] = 'connected_plans';
127
+          return $connections;
128
+     }
129 129
 
130
-	/**
131
-	 * Registers the workout connections on the plan post type.
132
-	 *
133
-	 * @return void
134
-	 */
135
-	public function tips_connections() {
136
-		foreach ( $this->default_types as $type => $default_type ) {
137
-			$cmb = new_cmb2_box(
138
-				array(
139
-					'id'           => $default_type . '_tips_connections_metabox',
140
-					'title'        => __( 'Related Tips', 'lsx-health-plan' ),
141
-					'object_types' => array( $default_type ), // Post types.
142
-					'context'      => 'normal',
143
-					'priority'     => 'high',
144
-					'show_names'   => false,
145
-				)
146
-			);
147
-			$cmb->add_field(
148
-				array(
149
-					'name'       => __( 'Tips', 'lsx-health-plan' ),
150
-					'id'         => $default_type . '_connected_tips',
151
-					'desc'       => __( 'Connect the tips that apply to this', 'lsx-health-plan' ) . $default_type,
152
-					'type'       => 'post_search_ajax',
153
-					'limit'      => 15,
154
-					'sortable'   => true,
155
-					'query_args' => array(
156
-						'post_type'      => array( 'tip' ),
157
-						'post_status'    => array( 'publish' ),
158
-						'posts_per_page' => -1,
159
-					),
160
-				)
161
-			);
162
-		}
163
-	}
130
+     /**
131
+      * Registers the workout connections on the plan post type.
132
+      *
133
+      * @return void
134
+      */
135
+     public function tips_connections() {
136
+          foreach ( $this->default_types as $type => $default_type ) {
137
+               $cmb = new_cmb2_box(
138
+                    array(
139
+                         'id'           => $default_type . '_tips_connections_metabox',
140
+                         'title'        => __( 'Related Tips', 'lsx-health-plan' ),
141
+                         'object_types' => array( $default_type ), // Post types.
142
+                         'context'      => 'normal',
143
+                         'priority'     => 'high',
144
+                         'show_names'   => false,
145
+                    )
146
+               );
147
+               $cmb->add_field(
148
+                    array(
149
+                         'name'       => __( 'Tips', 'lsx-health-plan' ),
150
+                         'id'         => $default_type . '_connected_tips',
151
+                         'desc'       => __( 'Connect the tips that apply to this', 'lsx-health-plan' ) . $default_type,
152
+                         'type'       => 'post_search_ajax',
153
+                         'limit'      => 15,
154
+                         'sortable'   => true,
155
+                         'query_args' => array(
156
+                              'post_type'      => array( 'tip' ),
157
+                              'post_status'    => array( 'publish' ),
158
+                              'posts_per_page' => -1,
159
+                         ),
160
+                    )
161
+               );
162
+          }
163
+     }
164 164
 
165 165
 }
Please login to merge, or discard this patch.
classes/admin/class-settings.php 1 patch
Indentation   +696 added lines, -696 removed lines patch added patch discarded remove patch
@@ -12,700 +12,700 @@
 block discarded – undo
12 12
  */
13 13
 class Settings {
14 14
 
15
-	/**
16
-	 * Holds class instance
17
-	 *
18
-	 * @since 1.0.0
19
-	 *
20
-	 * @var      object \lsx_health_plan\classes\admin\Settings()
21
-	 */
22
-	protected static $instance = null;
23
-
24
-	/**
25
-	 * Option key, and option page slug
26
-	 *
27
-	 * @var string
28
-	 */
29
-	protected $screen_id = 'lsx_health_plan_settings';
30
-
31
-	/**
32
-	 * An array of the post types for the Global Downloads field.
33
-	 *
34
-	 * @var array
35
-	 */
36
-	public $download_types = array();
37
-
38
-	/**
39
-	 * An array of the post types for the Global Defaults field.
40
-	 *
41
-	 * @var array
42
-	 */
43
-	public $default_types = array();
44
-
45
-	/**
46
-	 * An array of the endpoints for the Endpoint Translation field.
47
-	 *
48
-	 * @var array
49
-	 */
50
-	public $endpoints = array();
51
-
52
-	/**
53
-	 * Constructor
54
-	 */
55
-	public function __construct() {
56
-		$this->load_classes();
57
-		add_action( 'cmb2_admin_init', array( $this, 'register_settings_page' ) );
58
-		add_action( 'lsx_hp_settings_page', array( $this, 'generate_tabs' ), 1, 1 );
59
-
60
-		add_action( 'lsx_hp_settings_page_general_top', array( $this, 'general_settings' ), 1, 1 );
61
-		add_action( 'lsx_hp_settings_page', array( $this, 'global_defaults' ), 3, 1 );
62
-		add_action( 'lsx_hp_settings_page', array( $this, 'global_downloads' ), 5, 1 );
63
-		add_action( 'lsx_hp_settings_page', array( $this, 'stat_disable' ), 6, 1 );
64
-		add_action( 'lsx_hp_settings_page', array( $this, 'endpoint_translations' ), 7, 1 );
65
-		add_action( 'lsx_hp_settings_page', array( $this, 'exercise_translations' ), 7, 1 );
66
-		add_action( 'lsx_hp_settings_page', array( $this, 'post_type_toggles' ), 9, 1 );
67
-	}
68
-
69
-	/**
70
-	 * Return an instance of this class.
71
-	 *
72
-	 * @since 1.0.0
73
-	 *
74
-	 * @return    object \lsx_health_plan\classes\admin\Settings()    A single instance of this class.
75
-	 */
76
-	public static function get_instance() {
77
-		// If the single instance hasn't been set, set it now.
78
-		if ( null === self::$instance ) {
79
-			self::$instance = new self();
80
-		}
81
-		return self::$instance;
82
-	}
83
-
84
-	/**
85
-	 * Loads the variable classes and the static classes.
86
-	 */
87
-	private function load_classes() {
88
-
89
-		$this->post_types = array(
90
-			'plan',
91
-			'workout',
92
-			'exercise',
93
-			//'meal',
94
-			'recipe',
95
-			//'tip',
96
-		);
97
-
98
-		foreach ( $this->post_types as $post_type ) {
99
-			$this->$post_type = require_once LSX_HEALTH_PLAN_PATH . 'classes/admin/settings/class-' . $post_type . '.php';
100
-		}
101
-	}
102
-
103
-	/**
104
-	 * Sets the variables needed for the fields.
105
-	 *
106
-	 * @return void
107
-	 */
108
-	public function set_vars() {
109
-
110
-		$this->default_types  = array(
111
-			'page' => array(
112
-				'title'       => __( 'Warm Up', 'lsx-health-plan' ),
113
-				'description' => __( 'Set a default warm up routine.', 'lsx-health-plan' ),
114
-				'limit'       => 1,
115
-				'id'          => 'plan_warmup',
116
-			),
117
-		);
118
-		$this->download_types = array(
119
-			'page' => array(
120
-				'title'       => __( 'Warm Up', 'lsx-health-plan' ),
121
-				'description' => __( 'Set a default warm up routine.', 'lsx-health-plan' ),
122
-				'limit'       => 1,
123
-			),
124
-		);
125
-		$this->endpoints      = array(
126
-			'endpoint_warm_up' => array(
127
-				'title'       => __( 'Warm Up Endpoint', 'lsx-health-plan' ),
128
-				'default'     => 'warm-up',
129
-			),
130
-		);
131
-
132
-		if ( post_type_exists( 'meal' ) ) {
133
-			$this->download_types['meal']     = array(
134
-				'title'       => __( 'Meal Plan', 'lsx-health-plan' ),
135
-				'description' => __( 'Set a default meal plan.', 'lsx-health-plan' ),
136
-			);
137
-			$this->default_types['meal']      = array(
138
-				'title'       => __( 'Meal Plan', 'lsx-health-plan' ),
139
-				'description' => __( 'Set a default meal plan.', 'lsx-health-plan' ),
140
-				'id'          => 'connected_meals',
141
-			);
142
-			$this->endpoints['endpoint_meal'] = array(
143
-				'title'       => __( 'Meal Endpoint', 'lsx-health-plan' ),
144
-				'default'     => 'meal',
145
-				'description' => __( 'Define the tab slug which shows on the single plan page.', 'lsx-health-plan' ),
146
-			);
147
-			$this->endpoints['endpoint_meal_archive'] = array(
148
-				'title'   => __( 'Meals Archive Endpoint', 'lsx-health-plan' ),
149
-				'default' => 'meals',
150
-			);
151
-			$this->endpoints['meal_single_slug'] = array(
152
-				'title'   => __( 'Single Meal Slug', 'lsx-health-plan' ),
153
-				'default' => 'meal',
154
-			);
155
-		}
156
-		if ( post_type_exists( 'recipe' ) ) {
157
-			$this->download_types['recipe'] = array(
158
-				'title'       => __( 'Recipe', 'lsx-health-plan' ),
159
-				'description' => __( 'Set a default recipe.', 'lsx-health-plan' ),
160
-			);
161
-			$this->default_types['recipe'] = array(
162
-				'title'       => __( 'Recipe', 'lsx-health-plan' ),
163
-				'description' => __( 'Set a default recipe.', 'lsx-health-plan' ),
164
-				'id'          => 'connected_recipes',
165
-			);
166
-			$this->endpoints['endpoint_recipe'] = array(
167
-				'title'   => __( 'Recipes Endpoint', 'lsx-health-plan' ),
168
-				'default' => 'recipe',
169
-			);
170
-		}
171
-		if ( post_type_exists( 'workout' ) ) {
172
-			$this->download_types['workout'] = array(
173
-				'title'       => __( 'Workout', 'lsx-health-plan' ),
174
-				'description' => __( 'Set a default workout routine PDF.', 'lsx-health-plan' ),
175
-			);
176
-			$this->default_types['workout'] = array(
177
-				'title'       => __( 'Workout', 'lsx-health-plan' ),
178
-				'description' => __( 'Set a default workout routine.', 'lsx-health-plan' ),
179
-				'id'          => 'connected_workouts',
180
-			);
181
-			$this->endpoints['endpoint_workout_archive'] = array(
182
-				'title'   => __( 'Workouts Archive Endpoint', 'lsx-health-plan' ),
183
-				'default' => '',
184
-			);
185
-			$this->endpoints['endpoint_workout'] = array(
186
-				'title'   => __( 'Single Workout Endpoint', 'lsx-health-plan' ),
187
-				'default' => 'workout',
188
-			);
189
-		}
190
-
191
-		$this->endpoints['login_slug'] = array(
192
-			'title'   => __( 'Login Slug', 'lsx-health-plan' ),
193
-			'default' => 'login',
194
-		);
195
-		$this->endpoints['my_plan_slug'] = array(
196
-			'title'   => __( 'My Plan Slug', 'lsx-health-plan' ),
197
-			'default' => 'my-plan',
198
-		);
199
-		$this->endpoints['plan_single_slug'] = array(
200
-			'title'   => __( 'Single Plan Slug', 'lsx-health-plan' ),
201
-			'default' => 'plan',
202
-		);
203
-		$this->endpoints['endpoint_plan_archive'] = array(
204
-			'title'   => __( 'Plans Archive Endpoint', 'lsx-health-plan' ),
205
-			'default' => 'plans',
206
-		);
207
-
208
-		if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
209
-			$this->endpoints['exercise'] = array(
210
-				'exercise_single' => array(
211
-					'title'   => __( 'Single Exercise Slug', 'lsx-health-plan' ),
212
-					'default' => 'exercise',
213
-				),
214
-				'exercise_archive' => array(
215
-					'title'   => __( 'Archive Exercise Slug', 'lsx-health-plan' ),
216
-					'default' => 'exercises',
217
-				),
218
-				'exercise_type' => array(
219
-					'title'   => __( 'Exercise Type Slug', 'lsx-health-plan' ),
220
-					'default' => 'exercise-type',
221
-				),
222
-				'exercise_equipment' => array(
223
-					'title'   => __( 'Equipment Slug', 'lsx-health-plan' ),
224
-					'default' => 'equipment',
225
-				),
226
-				'exercise_musclegroup' => array(
227
-					'title'   => __( 'Muscle Group Slug', 'lsx-health-plan' ),
228
-					'default' => 'muscle-group',
229
-				),
230
-			);
231
-		}
232
-	}
233
-
234
-	/**
235
-	 * Hook in and register a submenu options page for the Page post-type menu.
236
-	 */
237
-	public function register_settings_page() {
238
-		$this->set_vars();
239
-		$cmb = new_cmb2_box(
240
-			array(
241
-				'id'           => $this->screen_id,
242
-				'title'        => esc_html__( 'Settings', 'lsx-health-plan' ),
243
-				'object_types' => array( 'options-page' ),
244
-				'option_key'   => 'lsx_health_plan_options', // The option key and admin menu page slug.
245
-				'parent_slug'  => 'edit.php?post_type=plan', // Make options page a submenu item of the themes menu.
246
-				'capability'   => 'manage_options', // Cap required to view options-page.
247
-			)
248
-		);
249
-		do_action( 'lsx_hp_settings_page', $cmb );
250
-	}
251
-
252
-	/**
253
-	 * Registers the general settings.
254
-	 *
255
-	 * @param object $cmb new_cmb2_box().
256
-	 * @return void
257
-	 */
258
-	public function general_settings( $cmb ) {
259
-		$cmb->add_field(
260
-			array(
261
-				'name'       => __( 'Membership Product', 'lsx-health-plan' ),
262
-				'id'         => 'membership_product',
263
-				'type'       => 'post_search_ajax',
264
-				'limit'      => 1,
265
-				'sortable'   => false,
266
-				'query_args' => array(
267
-					'post_type'      => array( 'product' ),
268
-					'post_status'    => array( 'publish' ),
269
-					'posts_per_page' => -1,
270
-				),
271
-			)
272
-		);
273
-
274
-		$cmb->add_field(
275
-			array(
276
-				'name'    => __( 'Your Warm-up Intro', 'lsx-health-plan' ),
277
-				'id'      => 'warmup_intro',
278
-				'type'    => 'textarea_small',
279
-				'value'   => '',
280
-				'default' => __( "Don't forget your warm-up! It's a vital part of your daily workout routine.", 'lsx-health-plan' ),
281
-			)
282
-		);
283
-		if ( post_type_exists( 'workout' ) ) {
284
-			$cmb->add_field(
285
-				array(
286
-					'name'    => __( 'Your Workout Intro', 'lsx-health-plan' ),
287
-					'id'      => 'workout_intro',
288
-					'type'    => 'textarea_small',
289
-					'value'   => '',
290
-					'default' => __( "Let's do this! Smash your daily workout and reach your fitness goals.", 'lsx-health-plan' ),
291
-				)
292
-			);
293
-		}
294
-		if ( post_type_exists( 'meal' ) ) {
295
-			$cmb->add_field(
296
-				array(
297
-					'name'    => __( 'Your Meal Plan Intro', 'lsx-health-plan' ),
298
-					'id'      => 'meal_plan_intro',
299
-					'type'    => 'textarea_small',
300
-					'value'   => '',
301
-					'default' => __( 'Get the right mix of nutrients to keep muscles strong & healthy.', 'lsx-health-plan' ),
302
-				)
303
-			);
304
-		}
305
-		if ( post_type_exists( 'recipe' ) ) {
306
-			$cmb->add_field(
307
-				array(
308
-					'name'    => __( 'Recipes Intro', 'lsx-health-plan' ),
309
-					'id'      => 'recipes_intro',
310
-					'type'    => 'textarea_small',
311
-					'value'   => '',
312
-					'default' => __( "Let's get cooking! Delicious and easy to follow recipes.", 'lsx-health-plan' ),
313
-				)
314
-			);
315
-		}
316
-	}
317
-
318
-	/**
319
-	 * Registers the global default settings.
320
-	 *
321
-	 * @param object $cmb new_cmb2_box().
322
-	 * @return void
323
-	 */
324
-	public function global_defaults( $cmb ) {
325
-		$cmb->add_field(
326
-			array(
327
-				'id'      => 'global_defaults_title',
328
-				'type'    => 'title',
329
-				'name'    => __( 'Global Defaults', 'lsx-health-plan' ),
330
-				'default' => __( 'Global Defaults', 'lsx-health-plan' ),
331
-				'description' => __( 'If you have not connected a specific post to your day plan, set a default option below.', 'lsx-health-plan' ),
332
-			)
333
-		);
334
-
335
-		foreach ( $this->default_types as $type => $default_type ) {
336
-			$limit    = 5;
337
-			$sortable = false;
338
-			if ( isset( $default_type['limit'] ) ) {
339
-				$limit    = $default_type['limit'];
340
-				$sortable = true;
341
-			}
342
-
343
-			if ( 'page' === $type && false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
344
-				$type = array( 'page', 'workout' );
345
-			}
346
-
347
-			$cmb->add_field(
348
-				array(
349
-					'name'       => $default_type['title'],
350
-					'desc'       => $default_type['description'],
351
-					'id'         => $default_type['id'],
352
-					'type'       => 'post_search_ajax',
353
-					'limit'      => $limit,
354
-					'sortable'   => $sortable,
355
-					'query_args' => array(
356
-						'post_type'      => $type,
357
-						'post_status'    => array( 'publish' ),
358
-						'posts_per_page' => -1,
359
-					),
360
-				)
361
-			);
362
-		}
363
-
364
-		$cmb->add_field(
365
-			array(
366
-				'id'   => 'settings_global_defaults_closing',
367
-				'type' => 'tab_closing',
368
-			)
369
-		);
370
-	}
371
-
372
-	/**
373
-	 * Registers the global dowloads settings
374
-	 *
375
-	 * @param object $cmb new_cmb2_box().
376
-	 * @return void
377
-	 */
378
-	public function global_downloads( $cmb ) {
379
-		$cmb->add_field(
380
-			array(
381
-				'id'          => 'global_downloads_title',
382
-				'type'        => 'title',
383
-				'name'        => __( 'Global Downloads', 'lsx-health-plan' ),
384
-				'default'     => __( 'Global Downloads', 'lsx-health-plan' ),
385
-				'description' => __( 'If you have not connected a specific download file to your plans, set a default option below', 'lsx-health-plan' ),
386
-			)
387
-		);
388
-
389
-		foreach ( $this->download_types as $type => $download_type ) {
390
-			$limit    = 5;
391
-			$sortable = false;
392
-			if ( isset( $download_type['limit'] ) ) {
393
-				$limit    = $download_type['limit'];
394
-				$sortable = true;
395
-			}
396
-
397
-			$cmb->add_field(
398
-				array(
399
-					'name'       => $download_type['title'],
400
-					'id'         => 'download_' . $type,
401
-					'type'       => 'post_search_ajax',
402
-					'limit'      => $limit,
403
-					'sortable'   => $sortable,
404
-					'query_args' => array(
405
-						'post_type'      => array( 'dlm_download' ),
406
-						'post_status'    => array( 'publish' ),
407
-						'posts_per_page' => -1,
408
-					),
409
-				)
410
-			);
411
-		}
412
-		$cmb->add_field(
413
-			array(
414
-				'id'   => 'settings_global_downloads_closing',
415
-				'type' => 'tab_closing',
416
-			)
417
-		);
418
-	}
419
-
420
-	/**
421
-	 * Registers the endpoint translation settings.
422
-	 *
423
-	 * @param object $cmb new_cmb2_box().
424
-	 * @return void
425
-	 */
426
-	public function endpoint_translations( $cmb ) {
427
-		$cmb->add_field(
428
-			array(
429
-				'id'          => 'endpoints_title',
430
-				'type'        => 'title',
431
-				'name'        => __( 'Set Endpoint Translations', 'lsx-health-plan' ),
432
-				'default'     => __( 'Set Endpoint Translations', 'lsx-health-plan' ),
433
-			)
434
-		);
435
-		foreach ( $this->endpoints as $slug => $endpoint_vars ) {
436
-			if ( 'exercise' === $slug ) {
437
-				continue;
438
-			}
439
-
440
-			$cmb->add_field(
441
-				array(
442
-					'name'    => $endpoint_vars['title'],
443
-					'id'      => $slug,
444
-					'type'    => 'input',
445
-					'value'   => '',
446
-					'default' => $endpoint_vars['default'],
447
-				)
448
-			);
449
-		}
450
-		$cmb->add_field(
451
-			array(
452
-				'id'            => 'settings_endpoints_closing',
453
-				'type'          => 'tab_closing',
454
-				'before_row'    => '<p style="margin-top:20px; font-style: italic;">Endpoint is a web address (URL) at which the user can gain access to it. You need to resave your permalinks after changing the endpoint settings.</p>',
455
-			)
456
-		);
457
-	}
458
-
459
-	/**
460
-	 * Registers the endpoint translation settings.
461
-	 *
462
-	 * @param object $cmb new_cmb2_box().
463
-	 * @return void
464
-	 */
465
-	public function exercise_translations( $cmb ) {
466
-		if ( isset( $this->endpoints['exercise'] ) && '' !== $this->endpoints['exercise'] && ! empty( $this->endpoints['exercise'] ) ) {
467
-			$cmb->add_field(
468
-				array(
469
-					'id'          => 'exercise_endpoints_title',
470
-					'type'        => 'title',
471
-					'name'        => __( 'Set Exercise Translations', 'lsx-health-plan' ),
472
-					'default'     => __( 'Set Exercise Translations', 'lsx-health-plan' ),
473
-					'description' => __( 'Change the exercise endpoints.', 'lsx-health-plan' ),
474
-				)
475
-			);
476
-
477
-			foreach ( $this->endpoints['exercise'] as $slug => $endpoint_vars ) {
478
-				$cmb->add_field(
479
-					array(
480
-						'name'    => $endpoint_vars['title'],
481
-						'id'      => 'endpoint_' . $slug,
482
-						'type'    => 'input',
483
-						'value'   => '',
484
-						'default' => $endpoint_vars['default'],
485
-					)
486
-				);
487
-			}
488
-
489
-			$cmb->add_field(
490
-				array(
491
-					'id'            => 'settings_exercise_endpoints_closing',
492
-					'type'          => 'tab_closing',
493
-					'before_row'    => '<p style="margin-top:20px; font-style: italic;">If you need to translate the exercise URL endpoints, do so below.</p>',
494
-				)
495
-			);
496
-		}
497
-	}
498
-
499
-	/**
500
-	 * Registers the post type toggle settings
501
-	 *
502
-	 * @param object $cmb new_cmb2_box().
503
-	 * @return void
504
-	 */
505
-	public function post_type_toggles( $cmb ) {
506
-		$post_types = apply_filters( 'lsx_health_plan_post_types', isset( $this->post_types ) );
507
-
508
-		$cmb->add_field(
509
-			array(
510
-				'id'          => 'post_type_toggles_title',
511
-				'type'        => 'title',
512
-				'name'        => __( 'Disable Post Types', 'lsx-health-plan' ),
513
-				'default'     => __( 'Disable Post Types', 'lsx-health-plan' ),
514
-				'description' => __( 'Disable post types if you are wanting a minimal site.', 'lsx-health-plan' ),
515
-			)
516
-		);
517
-
518
-		foreach ( $post_types as $post_type ) {
519
-			if ( 'plan' === $post_type || 'exercise' === $post_type || ( 'video' === $post_type && false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) ) {
520
-				continue;
521
-			}
522
-
523
-			$cmb->add_field(
524
-				array(
525
-					'name'    => ucwords( $post_type ),
526
-					'id'      => $post_type . '_disabled',
527
-					'type'    => 'checkbox',
528
-					'value'   => 1,
529
-					'default' => 0,
530
-				)
531
-			);
532
-		}
533
-
534
-		$cmb->add_field(
535
-			array(
536
-				'id'   => 'settings_post_type_toggles_closing',
537
-				'type' => 'tab_closing',
538
-			)
539
-		);
540
-
541
-		$cmb->add_field(
542
-			array(
543
-				'id'          => 'post_type_toggles_enable_title',
544
-				'type'        => 'title',
545
-				'name'        => __( 'Enable Post Types', 'lsx-health-plan' ),
546
-				'default'     => __( 'Enable Post Types', 'lsx-health-plan' ),
547
-				'description' => __( 'Enable new functionality like the "exercise" post type.', 'lsx-health-plan' ),
548
-			)
549
-		);
550
-		$cmb->add_field(
551
-			array(
552
-				'name'        => __( 'Exercises', 'lsx-health-plan' ),
553
-				'id'          => 'exercise_enabled',
554
-				'type'        => 'checkbox',
555
-				'value'       => 1,
556
-				'default'     => 0,
557
-				'description' => __( 'Enabling the exercise post type will automatically replace the Video post type.', 'lsx-health-plan' ),
558
-			)
559
-		);
560
-		$cmb->add_field(
561
-			array(
562
-				'id'   => 'settings_post_type_toggles_enable_closing',
563
-				'type' => 'tab_closing',
564
-			)
565
-		);
566
-	}
567
-	/**
568
-	 * Registers the Profile Stat Toggle settings
569
-	 *
570
-	 * @param object $cmb new_cmb2_box().
571
-	 * @return void
572
-	 */
573
-
574
-	public function stat_disable( $cmb ) {
575
-		$cmb->add_field(
576
-			array(
577
-				'id'      => 'stat_disable_title',
578
-				'type'    => 'title',
579
-				'name'    => __( 'Disable Profile Stats', 'lsx-health-plan' ),
580
-				'default' => __( 'Disable Profile Stats', 'lsx-health-plan' ),
581
-			)
582
-		);
583
-		$cmb->add_field(
584
-			array(
585
-				'name'    => __( 'Disable All Stats', 'lsx-health-plan' ),
586
-				'desc'    => 'Disable All Stats',
587
-				'id'      => 'disable_all_stats',
588
-				'type'    => 'checkbox',
589
-				'value'   => 1,
590
-				'default' => 0,
591
-			)
592
-		);
593
-		$cmb->add_field(
594
-			array(
595
-				'name'    => __( 'Disable Weight', 'lsx-health-plan' ),
596
-				'id'      => 'disable_weight_checkbox',
597
-				'type'    => 'checkbox',
598
-				'value'   => 1,
599
-				'default' => 0,
600
-			)
601
-		);
602
-		$cmb->add_field(
603
-			array(
604
-				'name'    => __( 'Disable Height', 'lsx-health-plan' ),
605
-				'id'      => 'disable_height_checkbox',
606
-				'type'    => 'checkbox',
607
-				'value'   => 1,
608
-				'default' => 0,
609
-			)
610
-		);
611
-		$cmb->add_field(
612
-			array(
613
-				'name'    => __( 'Disable Waist', 'lsx-health-plan' ),
614
-				'id'      => 'disable_waist_checkbox',
615
-				'type'    => 'checkbox',
616
-				'value'   => 1,
617
-				'default' => 0,
618
-			)
619
-		);
620
-		$cmb->add_field(
621
-			array(
622
-				'name'    => __( 'Disable BMI', 'lsx-health-plan' ),
623
-				'id'      => 'disable_bmi_checkbox',
624
-				'type'    => 'checkbox',
625
-				'value'   => 1,
626
-				'default' => 0,
627
-			)
628
-		);
629
-		$cmb->add_field(
630
-			array(
631
-				'id'   => 'settings_stat_disable_closing',
632
-				'type' => 'tab_closing',
633
-			)
634
-		);
635
-	}
636
-
637
-	/**
638
-	 * Enable Business Directory Search settings only if LSX Search plugin is enabled.
639
-	 *
640
-	 * @param object $cmb The CMB2() class.
641
-	 * @param string $section either engine,archive or single.
642
-	 * @return void
643
-	 */
644
-	public function generate_tabs( $cmb ) {
645
-		$tabs = $this->get_settings_tabs();
646
-
647
-		foreach ( $tabs as $tab_key => $tab ) {
648
-			$cmb->add_field(
649
-				array(
650
-					'id'          => 'settings_' . $tab_key . '_title',
651
-					'type'        => 'title',
652
-					'name'        => $tab['title'],
653
-					'default'     => $tab['title'],
654
-					'description' => $tab['desc'],
655
-				)
656
-			);
657
-			do_action( 'lsx_hp_settings_page_' . $tab_key . '_top', $cmb );
658
-
659
-			do_action( 'lsx_hp_settings_page_' . $tab_key . '_middle', $cmb );
660
-
661
-			do_action( 'lsx_hp_settings_page_' . $tab_key . '_bottom', $cmb );
662
-
663
-			$cmb->add_field(
664
-				array(
665
-					'id'   => 'settings_' . $tab_key . '_closing',
666
-					'type' => 'tab_closing',
667
-				)
668
-			);
669
-		}
670
-	}
671
-
672
-
673
-	/**
674
-	 * Returns the tabs and their descriptions.
675
-	 *
676
-	 * @return array
677
-	 */
678
-	public function get_settings_tabs() {
679
-		$tabs = array(
680
-			'general' => array(
681
-				'title' => __( 'General', 'lsx-health-plan' ),
682
-				'desc'  => __( 'Control the sitewide settings for the LSX HP site.', 'lsx-health-plan' ),
683
-			),
684
-		);
685
-
686
-		foreach ( $this->post_types as $post_type ) {
687
-			switch ( $post_type ) {
688
-				default:
689
-					//if ( ! in_array( $post_type, \lsx\search\includes\get_restricted_post_types() ) ) {
690
-						$temp_post_type = get_post_type_object( $post_type );
691
-						if ( ! is_wp_error( $temp_post_type ) ) {
692
-							$page_url    = get_post_type_archive_link( $temp_post_type->name );
693
-							$description = sprintf(
694
-								/* translators: %s: The subscription info */
695
-								__( 'Control the settings for your <a target="_blank" href="%1$s">%2$s</a> archive.', 'lsx-search' ),
696
-								$page_url,
697
-								$temp_post_type->label
698
-							);
699
-
700
-							$tabs[ $post_type ] = array(
701
-								'title' => $temp_post_type->label,
702
-								'desc'  => $description,
703
-							);
704
-						}
705
-					//}
706
-					break;
707
-			}
708
-		}
709
-		return $tabs;
710
-	}
15
+     /**
16
+      * Holds class instance
17
+      *
18
+      * @since 1.0.0
19
+      *
20
+      * @var      object \lsx_health_plan\classes\admin\Settings()
21
+      */
22
+     protected static $instance = null;
23
+
24
+     /**
25
+      * Option key, and option page slug
26
+      *
27
+      * @var string
28
+      */
29
+     protected $screen_id = 'lsx_health_plan_settings';
30
+
31
+     /**
32
+      * An array of the post types for the Global Downloads field.
33
+      *
34
+      * @var array
35
+      */
36
+     public $download_types = array();
37
+
38
+     /**
39
+      * An array of the post types for the Global Defaults field.
40
+      *
41
+      * @var array
42
+      */
43
+     public $default_types = array();
44
+
45
+     /**
46
+      * An array of the endpoints for the Endpoint Translation field.
47
+      *
48
+      * @var array
49
+      */
50
+     public $endpoints = array();
51
+
52
+     /**
53
+      * Constructor
54
+      */
55
+     public function __construct() {
56
+          $this->load_classes();
57
+          add_action( 'cmb2_admin_init', array( $this, 'register_settings_page' ) );
58
+          add_action( 'lsx_hp_settings_page', array( $this, 'generate_tabs' ), 1, 1 );
59
+
60
+          add_action( 'lsx_hp_settings_page_general_top', array( $this, 'general_settings' ), 1, 1 );
61
+          add_action( 'lsx_hp_settings_page', array( $this, 'global_defaults' ), 3, 1 );
62
+          add_action( 'lsx_hp_settings_page', array( $this, 'global_downloads' ), 5, 1 );
63
+          add_action( 'lsx_hp_settings_page', array( $this, 'stat_disable' ), 6, 1 );
64
+          add_action( 'lsx_hp_settings_page', array( $this, 'endpoint_translations' ), 7, 1 );
65
+          add_action( 'lsx_hp_settings_page', array( $this, 'exercise_translations' ), 7, 1 );
66
+          add_action( 'lsx_hp_settings_page', array( $this, 'post_type_toggles' ), 9, 1 );
67
+     }
68
+
69
+     /**
70
+      * Return an instance of this class.
71
+      *
72
+      * @since 1.0.0
73
+      *
74
+      * @return    object \lsx_health_plan\classes\admin\Settings()    A single instance of this class.
75
+      */
76
+     public static function get_instance() {
77
+          // If the single instance hasn't been set, set it now.
78
+          if ( null === self::$instance ) {
79
+               self::$instance = new self();
80
+          }
81
+          return self::$instance;
82
+     }
83
+
84
+     /**
85
+      * Loads the variable classes and the static classes.
86
+      */
87
+     private function load_classes() {
88
+
89
+          $this->post_types = array(
90
+               'plan',
91
+               'workout',
92
+               'exercise',
93
+               //'meal',
94
+               'recipe',
95
+               //'tip',
96
+          );
97
+
98
+          foreach ( $this->post_types as $post_type ) {
99
+               $this->$post_type = require_once LSX_HEALTH_PLAN_PATH . 'classes/admin/settings/class-' . $post_type . '.php';
100
+          }
101
+     }
102
+
103
+     /**
104
+      * Sets the variables needed for the fields.
105
+      *
106
+      * @return void
107
+      */
108
+     public function set_vars() {
109
+
110
+          $this->default_types  = array(
111
+               'page' => array(
112
+                    'title'       => __( 'Warm Up', 'lsx-health-plan' ),
113
+                    'description' => __( 'Set a default warm up routine.', 'lsx-health-plan' ),
114
+                    'limit'       => 1,
115
+                    'id'          => 'plan_warmup',
116
+               ),
117
+          );
118
+          $this->download_types = array(
119
+               'page' => array(
120
+                    'title'       => __( 'Warm Up', 'lsx-health-plan' ),
121
+                    'description' => __( 'Set a default warm up routine.', 'lsx-health-plan' ),
122
+                    'limit'       => 1,
123
+               ),
124
+          );
125
+          $this->endpoints      = array(
126
+               'endpoint_warm_up' => array(
127
+                    'title'       => __( 'Warm Up Endpoint', 'lsx-health-plan' ),
128
+                    'default'     => 'warm-up',
129
+               ),
130
+          );
131
+
132
+          if ( post_type_exists( 'meal' ) ) {
133
+               $this->download_types['meal']     = array(
134
+                    'title'       => __( 'Meal Plan', 'lsx-health-plan' ),
135
+                    'description' => __( 'Set a default meal plan.', 'lsx-health-plan' ),
136
+               );
137
+               $this->default_types['meal']      = array(
138
+                    'title'       => __( 'Meal Plan', 'lsx-health-plan' ),
139
+                    'description' => __( 'Set a default meal plan.', 'lsx-health-plan' ),
140
+                    'id'          => 'connected_meals',
141
+               );
142
+               $this->endpoints['endpoint_meal'] = array(
143
+                    'title'       => __( 'Meal Endpoint', 'lsx-health-plan' ),
144
+                    'default'     => 'meal',
145
+                    'description' => __( 'Define the tab slug which shows on the single plan page.', 'lsx-health-plan' ),
146
+               );
147
+               $this->endpoints['endpoint_meal_archive'] = array(
148
+                    'title'   => __( 'Meals Archive Endpoint', 'lsx-health-plan' ),
149
+                    'default' => 'meals',
150
+               );
151
+               $this->endpoints['meal_single_slug'] = array(
152
+                    'title'   => __( 'Single Meal Slug', 'lsx-health-plan' ),
153
+                    'default' => 'meal',
154
+               );
155
+          }
156
+          if ( post_type_exists( 'recipe' ) ) {
157
+               $this->download_types['recipe'] = array(
158
+                    'title'       => __( 'Recipe', 'lsx-health-plan' ),
159
+                    'description' => __( 'Set a default recipe.', 'lsx-health-plan' ),
160
+               );
161
+               $this->default_types['recipe'] = array(
162
+                    'title'       => __( 'Recipe', 'lsx-health-plan' ),
163
+                    'description' => __( 'Set a default recipe.', 'lsx-health-plan' ),
164
+                    'id'          => 'connected_recipes',
165
+               );
166
+               $this->endpoints['endpoint_recipe'] = array(
167
+                    'title'   => __( 'Recipes Endpoint', 'lsx-health-plan' ),
168
+                    'default' => 'recipe',
169
+               );
170
+          }
171
+          if ( post_type_exists( 'workout' ) ) {
172
+               $this->download_types['workout'] = array(
173
+                    'title'       => __( 'Workout', 'lsx-health-plan' ),
174
+                    'description' => __( 'Set a default workout routine PDF.', 'lsx-health-plan' ),
175
+               );
176
+               $this->default_types['workout'] = array(
177
+                    'title'       => __( 'Workout', 'lsx-health-plan' ),
178
+                    'description' => __( 'Set a default workout routine.', 'lsx-health-plan' ),
179
+                    'id'          => 'connected_workouts',
180
+               );
181
+               $this->endpoints['endpoint_workout_archive'] = array(
182
+                    'title'   => __( 'Workouts Archive Endpoint', 'lsx-health-plan' ),
183
+                    'default' => '',
184
+               );
185
+               $this->endpoints['endpoint_workout'] = array(
186
+                    'title'   => __( 'Single Workout Endpoint', 'lsx-health-plan' ),
187
+                    'default' => 'workout',
188
+               );
189
+          }
190
+
191
+          $this->endpoints['login_slug'] = array(
192
+               'title'   => __( 'Login Slug', 'lsx-health-plan' ),
193
+               'default' => 'login',
194
+          );
195
+          $this->endpoints['my_plan_slug'] = array(
196
+               'title'   => __( 'My Plan Slug', 'lsx-health-plan' ),
197
+               'default' => 'my-plan',
198
+          );
199
+          $this->endpoints['plan_single_slug'] = array(
200
+               'title'   => __( 'Single Plan Slug', 'lsx-health-plan' ),
201
+               'default' => 'plan',
202
+          );
203
+          $this->endpoints['endpoint_plan_archive'] = array(
204
+               'title'   => __( 'Plans Archive Endpoint', 'lsx-health-plan' ),
205
+               'default' => 'plans',
206
+          );
207
+
208
+          if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
209
+               $this->endpoints['exercise'] = array(
210
+                    'exercise_single' => array(
211
+                         'title'   => __( 'Single Exercise Slug', 'lsx-health-plan' ),
212
+                         'default' => 'exercise',
213
+                    ),
214
+                    'exercise_archive' => array(
215
+                         'title'   => __( 'Archive Exercise Slug', 'lsx-health-plan' ),
216
+                         'default' => 'exercises',
217
+                    ),
218
+                    'exercise_type' => array(
219
+                         'title'   => __( 'Exercise Type Slug', 'lsx-health-plan' ),
220
+                         'default' => 'exercise-type',
221
+                    ),
222
+                    'exercise_equipment' => array(
223
+                         'title'   => __( 'Equipment Slug', 'lsx-health-plan' ),
224
+                         'default' => 'equipment',
225
+                    ),
226
+                    'exercise_musclegroup' => array(
227
+                         'title'   => __( 'Muscle Group Slug', 'lsx-health-plan' ),
228
+                         'default' => 'muscle-group',
229
+                    ),
230
+               );
231
+          }
232
+     }
233
+
234
+     /**
235
+      * Hook in and register a submenu options page for the Page post-type menu.
236
+      */
237
+     public function register_settings_page() {
238
+          $this->set_vars();
239
+          $cmb = new_cmb2_box(
240
+               array(
241
+                    'id'           => $this->screen_id,
242
+                    'title'        => esc_html__( 'Settings', 'lsx-health-plan' ),
243
+                    'object_types' => array( 'options-page' ),
244
+                    'option_key'   => 'lsx_health_plan_options', // The option key and admin menu page slug.
245
+                    'parent_slug'  => 'edit.php?post_type=plan', // Make options page a submenu item of the themes menu.
246
+                    'capability'   => 'manage_options', // Cap required to view options-page.
247
+               )
248
+          );
249
+          do_action( 'lsx_hp_settings_page', $cmb );
250
+     }
251
+
252
+     /**
253
+      * Registers the general settings.
254
+      *
255
+      * @param object $cmb new_cmb2_box().
256
+      * @return void
257
+      */
258
+     public function general_settings( $cmb ) {
259
+          $cmb->add_field(
260
+               array(
261
+                    'name'       => __( 'Membership Product', 'lsx-health-plan' ),
262
+                    'id'         => 'membership_product',
263
+                    'type'       => 'post_search_ajax',
264
+                    'limit'      => 1,
265
+                    'sortable'   => false,
266
+                    'query_args' => array(
267
+                         'post_type'      => array( 'product' ),
268
+                         'post_status'    => array( 'publish' ),
269
+                         'posts_per_page' => -1,
270
+                    ),
271
+               )
272
+          );
273
+
274
+          $cmb->add_field(
275
+               array(
276
+                    'name'    => __( 'Your Warm-up Intro', 'lsx-health-plan' ),
277
+                    'id'      => 'warmup_intro',
278
+                    'type'    => 'textarea_small',
279
+                    'value'   => '',
280
+                    'default' => __( "Don't forget your warm-up! It's a vital part of your daily workout routine.", 'lsx-health-plan' ),
281
+               )
282
+          );
283
+          if ( post_type_exists( 'workout' ) ) {
284
+               $cmb->add_field(
285
+                    array(
286
+                         'name'    => __( 'Your Workout Intro', 'lsx-health-plan' ),
287
+                         'id'      => 'workout_intro',
288
+                         'type'    => 'textarea_small',
289
+                         'value'   => '',
290
+                         'default' => __( "Let's do this! Smash your daily workout and reach your fitness goals.", 'lsx-health-plan' ),
291
+                    )
292
+               );
293
+          }
294
+          if ( post_type_exists( 'meal' ) ) {
295
+               $cmb->add_field(
296
+                    array(
297
+                         'name'    => __( 'Your Meal Plan Intro', 'lsx-health-plan' ),
298
+                         'id'      => 'meal_plan_intro',
299
+                         'type'    => 'textarea_small',
300
+                         'value'   => '',
301
+                         'default' => __( 'Get the right mix of nutrients to keep muscles strong & healthy.', 'lsx-health-plan' ),
302
+                    )
303
+               );
304
+          }
305
+          if ( post_type_exists( 'recipe' ) ) {
306
+               $cmb->add_field(
307
+                    array(
308
+                         'name'    => __( 'Recipes Intro', 'lsx-health-plan' ),
309
+                         'id'      => 'recipes_intro',
310
+                         'type'    => 'textarea_small',
311
+                         'value'   => '',
312
+                         'default' => __( "Let's get cooking! Delicious and easy to follow recipes.", 'lsx-health-plan' ),
313
+                    )
314
+               );
315
+          }
316
+     }
317
+
318
+     /**
319
+      * Registers the global default settings.
320
+      *
321
+      * @param object $cmb new_cmb2_box().
322
+      * @return void
323
+      */
324
+     public function global_defaults( $cmb ) {
325
+          $cmb->add_field(
326
+               array(
327
+                    'id'      => 'global_defaults_title',
328
+                    'type'    => 'title',
329
+                    'name'    => __( 'Global Defaults', 'lsx-health-plan' ),
330
+                    'default' => __( 'Global Defaults', 'lsx-health-plan' ),
331
+                    'description' => __( 'If you have not connected a specific post to your day plan, set a default option below.', 'lsx-health-plan' ),
332
+               )
333
+          );
334
+
335
+          foreach ( $this->default_types as $type => $default_type ) {
336
+               $limit    = 5;
337
+               $sortable = false;
338
+               if ( isset( $default_type['limit'] ) ) {
339
+                    $limit    = $default_type['limit'];
340
+                    $sortable = true;
341
+               }
342
+
343
+               if ( 'page' === $type && false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
344
+                    $type = array( 'page', 'workout' );
345
+               }
346
+
347
+               $cmb->add_field(
348
+                    array(
349
+                         'name'       => $default_type['title'],
350
+                         'desc'       => $default_type['description'],
351
+                         'id'         => $default_type['id'],
352
+                         'type'       => 'post_search_ajax',
353
+                         'limit'      => $limit,
354
+                         'sortable'   => $sortable,
355
+                         'query_args' => array(
356
+                              'post_type'      => $type,
357
+                              'post_status'    => array( 'publish' ),
358
+                              'posts_per_page' => -1,
359
+                         ),
360
+                    )
361
+               );
362
+          }
363
+
364
+          $cmb->add_field(
365
+               array(
366
+                    'id'   => 'settings_global_defaults_closing',
367
+                    'type' => 'tab_closing',
368
+               )
369
+          );
370
+     }
371
+
372
+     /**
373
+      * Registers the global dowloads settings
374
+      *
375
+      * @param object $cmb new_cmb2_box().
376
+      * @return void
377
+      */
378
+     public function global_downloads( $cmb ) {
379
+          $cmb->add_field(
380
+               array(
381
+                    'id'          => 'global_downloads_title',
382
+                    'type'        => 'title',
383
+                    'name'        => __( 'Global Downloads', 'lsx-health-plan' ),
384
+                    'default'     => __( 'Global Downloads', 'lsx-health-plan' ),
385
+                    'description' => __( 'If you have not connected a specific download file to your plans, set a default option below', 'lsx-health-plan' ),
386
+               )
387
+          );
388
+
389
+          foreach ( $this->download_types as $type => $download_type ) {
390
+               $limit    = 5;
391
+               $sortable = false;
392
+               if ( isset( $download_type['limit'] ) ) {
393
+                    $limit    = $download_type['limit'];
394
+                    $sortable = true;
395
+               }
396
+
397
+               $cmb->add_field(
398
+                    array(
399
+                         'name'       => $download_type['title'],
400
+                         'id'         => 'download_' . $type,
401
+                         'type'       => 'post_search_ajax',
402
+                         'limit'      => $limit,
403
+                         'sortable'   => $sortable,
404
+                         'query_args' => array(
405
+                              'post_type'      => array( 'dlm_download' ),
406
+                              'post_status'    => array( 'publish' ),
407
+                              'posts_per_page' => -1,
408
+                         ),
409
+                    )
410
+               );
411
+          }
412
+          $cmb->add_field(
413
+               array(
414
+                    'id'   => 'settings_global_downloads_closing',
415
+                    'type' => 'tab_closing',
416
+               )
417
+          );
418
+     }
419
+
420
+     /**
421
+      * Registers the endpoint translation settings.
422
+      *
423
+      * @param object $cmb new_cmb2_box().
424
+      * @return void
425
+      */
426
+     public function endpoint_translations( $cmb ) {
427
+          $cmb->add_field(
428
+               array(
429
+                    'id'          => 'endpoints_title',
430
+                    'type'        => 'title',
431
+                    'name'        => __( 'Set Endpoint Translations', 'lsx-health-plan' ),
432
+                    'default'     => __( 'Set Endpoint Translations', 'lsx-health-plan' ),
433
+               )
434
+          );
435
+          foreach ( $this->endpoints as $slug => $endpoint_vars ) {
436
+               if ( 'exercise' === $slug ) {
437
+                    continue;
438
+               }
439
+
440
+               $cmb->add_field(
441
+                    array(
442
+                         'name'    => $endpoint_vars['title'],
443
+                         'id'      => $slug,
444
+                         'type'    => 'input',
445
+                         'value'   => '',
446
+                         'default' => $endpoint_vars['default'],
447
+                    )
448
+               );
449
+          }
450
+          $cmb->add_field(
451
+               array(
452
+                    'id'            => 'settings_endpoints_closing',
453
+                    'type'          => 'tab_closing',
454
+                    'before_row'    => '<p style="margin-top:20px; font-style: italic;">Endpoint is a web address (URL) at which the user can gain access to it. You need to resave your permalinks after changing the endpoint settings.</p>',
455
+               )
456
+          );
457
+     }
458
+
459
+     /**
460
+      * Registers the endpoint translation settings.
461
+      *
462
+      * @param object $cmb new_cmb2_box().
463
+      * @return void
464
+      */
465
+     public function exercise_translations( $cmb ) {
466
+          if ( isset( $this->endpoints['exercise'] ) && '' !== $this->endpoints['exercise'] && ! empty( $this->endpoints['exercise'] ) ) {
467
+               $cmb->add_field(
468
+                    array(
469
+                         'id'          => 'exercise_endpoints_title',
470
+                         'type'        => 'title',
471
+                         'name'        => __( 'Set Exercise Translations', 'lsx-health-plan' ),
472
+                         'default'     => __( 'Set Exercise Translations', 'lsx-health-plan' ),
473
+                         'description' => __( 'Change the exercise endpoints.', 'lsx-health-plan' ),
474
+                    )
475
+               );
476
+
477
+               foreach ( $this->endpoints['exercise'] as $slug => $endpoint_vars ) {
478
+                    $cmb->add_field(
479
+                         array(
480
+                              'name'    => $endpoint_vars['title'],
481
+                              'id'      => 'endpoint_' . $slug,
482
+                              'type'    => 'input',
483
+                              'value'   => '',
484
+                              'default' => $endpoint_vars['default'],
485
+                         )
486
+                    );
487
+               }
488
+
489
+               $cmb->add_field(
490
+                    array(
491
+                         'id'            => 'settings_exercise_endpoints_closing',
492
+                         'type'          => 'tab_closing',
493
+                         'before_row'    => '<p style="margin-top:20px; font-style: italic;">If you need to translate the exercise URL endpoints, do so below.</p>',
494
+                    )
495
+               );
496
+          }
497
+     }
498
+
499
+     /**
500
+      * Registers the post type toggle settings
501
+      *
502
+      * @param object $cmb new_cmb2_box().
503
+      * @return void
504
+      */
505
+     public function post_type_toggles( $cmb ) {
506
+          $post_types = apply_filters( 'lsx_health_plan_post_types', isset( $this->post_types ) );
507
+
508
+          $cmb->add_field(
509
+               array(
510
+                    'id'          => 'post_type_toggles_title',
511
+                    'type'        => 'title',
512
+                    'name'        => __( 'Disable Post Types', 'lsx-health-plan' ),
513
+                    'default'     => __( 'Disable Post Types', 'lsx-health-plan' ),
514
+                    'description' => __( 'Disable post types if you are wanting a minimal site.', 'lsx-health-plan' ),
515
+               )
516
+          );
517
+
518
+          foreach ( $post_types as $post_type ) {
519
+               if ( 'plan' === $post_type || 'exercise' === $post_type || ( 'video' === $post_type && false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) ) {
520
+                    continue;
521
+               }
522
+
523
+               $cmb->add_field(
524
+                    array(
525
+                         'name'    => ucwords( $post_type ),
526
+                         'id'      => $post_type . '_disabled',
527
+                         'type'    => 'checkbox',
528
+                         'value'   => 1,
529
+                         'default' => 0,
530
+                    )
531
+               );
532
+          }
533
+
534
+          $cmb->add_field(
535
+               array(
536
+                    'id'   => 'settings_post_type_toggles_closing',
537
+                    'type' => 'tab_closing',
538
+               )
539
+          );
540
+
541
+          $cmb->add_field(
542
+               array(
543
+                    'id'          => 'post_type_toggles_enable_title',
544
+                    'type'        => 'title',
545
+                    'name'        => __( 'Enable Post Types', 'lsx-health-plan' ),
546
+                    'default'     => __( 'Enable Post Types', 'lsx-health-plan' ),
547
+                    'description' => __( 'Enable new functionality like the "exercise" post type.', 'lsx-health-plan' ),
548
+               )
549
+          );
550
+          $cmb->add_field(
551
+               array(
552
+                    'name'        => __( 'Exercises', 'lsx-health-plan' ),
553
+                    'id'          => 'exercise_enabled',
554
+                    'type'        => 'checkbox',
555
+                    'value'       => 1,
556
+                    'default'     => 0,
557
+                    'description' => __( 'Enabling the exercise post type will automatically replace the Video post type.', 'lsx-health-plan' ),
558
+               )
559
+          );
560
+          $cmb->add_field(
561
+               array(
562
+                    'id'   => 'settings_post_type_toggles_enable_closing',
563
+                    'type' => 'tab_closing',
564
+               )
565
+          );
566
+     }
567
+     /**
568
+      * Registers the Profile Stat Toggle settings
569
+      *
570
+      * @param object $cmb new_cmb2_box().
571
+      * @return void
572
+      */
573
+
574
+     public function stat_disable( $cmb ) {
575
+          $cmb->add_field(
576
+               array(
577
+                    'id'      => 'stat_disable_title',
578
+                    'type'    => 'title',
579
+                    'name'    => __( 'Disable Profile Stats', 'lsx-health-plan' ),
580
+                    'default' => __( 'Disable Profile Stats', 'lsx-health-plan' ),
581
+               )
582
+          );
583
+          $cmb->add_field(
584
+               array(
585
+                    'name'    => __( 'Disable All Stats', 'lsx-health-plan' ),
586
+                    'desc'    => 'Disable All Stats',
587
+                    'id'      => 'disable_all_stats',
588
+                    'type'    => 'checkbox',
589
+                    'value'   => 1,
590
+                    'default' => 0,
591
+               )
592
+          );
593
+          $cmb->add_field(
594
+               array(
595
+                    'name'    => __( 'Disable Weight', 'lsx-health-plan' ),
596
+                    'id'      => 'disable_weight_checkbox',
597
+                    'type'    => 'checkbox',
598
+                    'value'   => 1,
599
+                    'default' => 0,
600
+               )
601
+          );
602
+          $cmb->add_field(
603
+               array(
604
+                    'name'    => __( 'Disable Height', 'lsx-health-plan' ),
605
+                    'id'      => 'disable_height_checkbox',
606
+                    'type'    => 'checkbox',
607
+                    'value'   => 1,
608
+                    'default' => 0,
609
+               )
610
+          );
611
+          $cmb->add_field(
612
+               array(
613
+                    'name'    => __( 'Disable Waist', 'lsx-health-plan' ),
614
+                    'id'      => 'disable_waist_checkbox',
615
+                    'type'    => 'checkbox',
616
+                    'value'   => 1,
617
+                    'default' => 0,
618
+               )
619
+          );
620
+          $cmb->add_field(
621
+               array(
622
+                    'name'    => __( 'Disable BMI', 'lsx-health-plan' ),
623
+                    'id'      => 'disable_bmi_checkbox',
624
+                    'type'    => 'checkbox',
625
+                    'value'   => 1,
626
+                    'default' => 0,
627
+               )
628
+          );
629
+          $cmb->add_field(
630
+               array(
631
+                    'id'   => 'settings_stat_disable_closing',
632
+                    'type' => 'tab_closing',
633
+               )
634
+          );
635
+     }
636
+
637
+     /**
638
+      * Enable Business Directory Search settings only if LSX Search plugin is enabled.
639
+      *
640
+      * @param object $cmb The CMB2() class.
641
+      * @param string $section either engine,archive or single.
642
+      * @return void
643
+      */
644
+     public function generate_tabs( $cmb ) {
645
+          $tabs = $this->get_settings_tabs();
646
+
647
+          foreach ( $tabs as $tab_key => $tab ) {
648
+               $cmb->add_field(
649
+                    array(
650
+                         'id'          => 'settings_' . $tab_key . '_title',
651
+                         'type'        => 'title',
652
+                         'name'        => $tab['title'],
653
+                         'default'     => $tab['title'],
654
+                         'description' => $tab['desc'],
655
+                    )
656
+               );
657
+               do_action( 'lsx_hp_settings_page_' . $tab_key . '_top', $cmb );
658
+
659
+               do_action( 'lsx_hp_settings_page_' . $tab_key . '_middle', $cmb );
660
+
661
+               do_action( 'lsx_hp_settings_page_' . $tab_key . '_bottom', $cmb );
662
+
663
+               $cmb->add_field(
664
+                    array(
665
+                         'id'   => 'settings_' . $tab_key . '_closing',
666
+                         'type' => 'tab_closing',
667
+                    )
668
+               );
669
+          }
670
+     }
671
+
672
+
673
+     /**
674
+      * Returns the tabs and their descriptions.
675
+      *
676
+      * @return array
677
+      */
678
+     public function get_settings_tabs() {
679
+          $tabs = array(
680
+               'general' => array(
681
+                    'title' => __( 'General', 'lsx-health-plan' ),
682
+                    'desc'  => __( 'Control the sitewide settings for the LSX HP site.', 'lsx-health-plan' ),
683
+               ),
684
+          );
685
+
686
+          foreach ( $this->post_types as $post_type ) {
687
+               switch ( $post_type ) {
688
+                    default:
689
+                         //if ( ! in_array( $post_type, \lsx\search\includes\get_restricted_post_types() ) ) {
690
+                              $temp_post_type = get_post_type_object( $post_type );
691
+                              if ( ! is_wp_error( $temp_post_type ) ) {
692
+                                   $page_url    = get_post_type_archive_link( $temp_post_type->name );
693
+                                   $description = sprintf(
694
+                                        /* translators: %s: The subscription info */
695
+                                        __( 'Control the settings for your <a target="_blank" href="%1$s">%2$s</a> archive.', 'lsx-search' ),
696
+                                        $page_url,
697
+                                        $temp_post_type->label
698
+                                   );
699
+
700
+                                   $tabs[ $post_type ] = array(
701
+                                        'title' => $temp_post_type->label,
702
+                                        'desc'  => $description,
703
+                                   );
704
+                              }
705
+                         //}
706
+                         break;
707
+               }
708
+          }
709
+          return $tabs;
710
+     }
711 711
 }
Please login to merge, or discard this patch.
includes/functions/plan.php 1 patch
Indentation   +61 added lines, -61 removed lines patch added patch discarded remove patch
@@ -14,14 +14,14 @@  discard block
 block discarded – undo
14 14
  * @return boolean
15 15
  */
16 16
 function is_search_enabled() {
17
-	$enabled = false;
18
-	if ( function_exists( 'lsx_search' ) ) {
19
-		$search_instance = \LSX_Search::get_instance();
20
-		if ( null !== $search_instance ) {
21
-			$enabled = $search_instance->frontend->is_search_enabled();
22
-		}
23
-	}
24
-	return $enabled;
17
+     $enabled = false;
18
+     if ( function_exists( 'lsx_search' ) ) {
19
+          $search_instance = \LSX_Search::get_instance();
20
+          if ( null !== $search_instance ) {
21
+               $enabled = $search_instance->frontend->is_search_enabled();
22
+          }
23
+     }
24
+     return $enabled;
25 25
 }
26 26
 
27 27
 /**
@@ -31,13 +31,13 @@  discard block
 block discarded – undo
31 31
  * @return boolean
32 32
  */
33 33
 function has_sections( $plan_id = 0 ) {
34
-	$sections = false;
35
-	if ( 0 === $plan_id ) {
36
-		$plan_id = get_the_ID();
37
-	}
38
-	$lsx_hp   = lsx_health_plan();
39
-	$sections = $lsx_hp->frontend->plan_query->query_sections( $plan_id );
40
-	return $sections;
34
+     $sections = false;
35
+     if ( 0 === $plan_id ) {
36
+          $plan_id = get_the_ID();
37
+     }
38
+     $lsx_hp   = lsx_health_plan();
39
+     $sections = $lsx_hp->frontend->plan_query->query_sections( $plan_id );
40
+     return $sections;
41 41
 }
42 42
 
43 43
 /**
@@ -48,9 +48,9 @@  discard block
 block discarded – undo
48 48
  * @return array
49 49
  */
50 50
 function get_sections( $group_sections = false ) {
51
-	$lsx_hp   = lsx_health_plan();
52
-	$sections = $lsx_hp->frontend->plan_query->get_sections( $group_sections );
53
-	return $sections;
51
+     $lsx_hp   = lsx_health_plan();
52
+     $sections = $lsx_hp->frontend->plan_query->get_sections( $group_sections );
53
+     return $sections;
54 54
 }
55 55
 
56 56
 /**
@@ -60,18 +60,18 @@  discard block
 block discarded – undo
60 60
  * @return array
61 61
  */
62 62
 function get_section_info( $section_key = '' ) {
63
-	$section_info = array();
63
+     $section_info = array();
64 64
 
65
-	$sections = get_sections();
66
-	if ( ! empty( $sections ) ) {
67
-		foreach ( $sections as $key => $values ) {
68
-			$current_key = sanitize_title( $values['title'] );
69
-			if ( $current_key === $section_key ) {
70
-				return $values;
71
-			}
72
-		}
73
-	}
74
-	return $section_info;
65
+     $sections = get_sections();
66
+     if ( ! empty( $sections ) ) {
67
+          foreach ( $sections as $key => $values ) {
68
+               $current_key = sanitize_title( $values['title'] );
69
+               if ( $current_key === $section_key ) {
70
+                    return $values;
71
+               }
72
+          }
73
+     }
74
+     return $section_info;
75 75
 }
76 76
 
77 77
 /**
@@ -81,14 +81,14 @@  discard block
 block discarded – undo
81 81
  * @return array
82 82
  */
83 83
 function get_group_title( $sections = array() ) {
84
-	$group_title = apply_filters( 'lsx_hp_default_plan_group', __( 'Daily Plan', 'lsx-health-plan' ) );
85
-	if ( ! empty( $sections ) ) {
86
-		$first_section = reset( $sections );
87
-		if ( isset( $first_section['group'] ) && '' !== $first_section['group'] ) {
88
-			$group_title = $first_section['group'];
89
-		}
90
-	}
91
-	return $group_title;
84
+     $group_title = apply_filters( 'lsx_hp_default_plan_group', __( 'Daily Plan', 'lsx-health-plan' ) );
85
+     if ( ! empty( $sections ) ) {
86
+          $first_section = reset( $sections );
87
+          if ( isset( $first_section['group'] ) && '' !== $first_section['group'] ) {
88
+               $group_title = $first_section['group'];
89
+          }
90
+     }
91
+     return $group_title;
92 92
 }
93 93
 
94 94
 /**
@@ -99,14 +99,14 @@  discard block
 block discarded – undo
99 99
  * @return array
100 100
  */
101 101
 function get_permalink( $plan_id = 0, $title = '' ) {
102
-	if ( 0 === $plan_id ) {
103
-		$plan_id = get_the_ID();
104
-	}
105
-	$url = \get_permalink( $plan_id );
106
-	if ( '' !== $title ) {
107
-		$url .= sanitize_title( $title ) . '/';
108
-	}
109
-	return $url;
102
+     if ( 0 === $plan_id ) {
103
+          $plan_id = get_the_ID();
104
+     }
105
+     $url = \get_permalink( $plan_id );
106
+     if ( '' !== $title ) {
107
+          $url .= sanitize_title( $title ) . '/';
108
+     }
109
+     return $url;
110 110
 }
111 111
 
112 112
 /**
@@ -115,11 +115,11 @@  discard block
 block discarded – undo
115 115
  * @return boolean
116 116
  */
117 117
 function is_filters_disabled( $disabled = false ) {
118
-	$is_disabled = \lsx_health_plan\functions\get_option( 'plan_filters_disabled', false );
119
-	if ( false !== $is_disabled ) {
120
-		$disabled = true;
121
-	}
122
-	return $disabled;
118
+     $is_disabled = \lsx_health_plan\functions\get_option( 'plan_filters_disabled', false );
119
+     if ( false !== $is_disabled ) {
120
+          $disabled = true;
121
+     }
122
+     return $disabled;
123 123
 }
124 124
 
125 125
 /**
@@ -130,17 +130,17 @@  discard block
 block discarded – undo
130 130
  * @return string
131 131
  */
132 132
 function generate_section_id( $section_key = '' ) {
133
-	$key          = get_the_ID();
134
-	if ( '' === $section_key ) {
135
-		$section_key  = get_query_var( 'section' );
136
-	}
133
+     $key          = get_the_ID();
134
+     if ( '' === $section_key ) {
135
+          $section_key  = get_query_var( 'section' );
136
+     }
137 137
 
138
-	$section_key = sanitize_title( $section_key );
138
+     $section_key = sanitize_title( $section_key );
139 139
 	
140
-	if ( '' !== $section_key && \lsx_health_plan\functions\plan\has_sections() ) {
141
-		$group_title  = apply_filters( 'lsx_hp_default_plan_group', __( 'Daily Plan', 'lsx-health-plan' ) );
142
-		$section_info = \lsx_health_plan\functions\plan\get_section_info( $section_key );
143
-		$key         .= '_' . sanitize_key( $group_title ) . '_' . sanitize_key( $section_info['title'] );
144
-	}
145
-	return $key;
140
+     if ( '' !== $section_key && \lsx_health_plan\functions\plan\has_sections() ) {
141
+          $group_title  = apply_filters( 'lsx_hp_default_plan_group', __( 'Daily Plan', 'lsx-health-plan' ) );
142
+          $section_info = \lsx_health_plan\functions\plan\get_section_info( $section_key );
143
+          $key         .= '_' . sanitize_key( $group_title ) . '_' . sanitize_key( $section_info['title'] );
144
+     }
145
+     return $key;
146 146
 }
Please login to merge, or discard this patch.
includes/template-tags.php 1 patch
Indentation   +627 added lines, -627 removed lines patch added patch discarded remove patch
@@ -11,25 +11,25 @@  discard block
 block discarded – undo
11 11
 * @return void
12 12
 */
13 13
 function lsx_health_plan_warmup_box() {
14
-	?>
14
+     ?>
15 15
 	<div class="col-md-4" >
16 16
 		<div class="lsx-health-plan-box">
17 17
 			<h3 class="title warm-up-title title-lined"><?php esc_html_e( 'Your Warm-up', 'lsx-health-plan' ); ?><?php lsx_get_svg_icon( 'warm.svg' ); ?></h3>
18 18
 			<div class="spacer"></div>
19 19
 			<?php
20
-			$intro_text = \lsx_health_plan\functions\get_option( 'warmup_intro', false );
21
-			if ( false !== $intro_text ) {
22
-				?>
20
+               $intro_text = \lsx_health_plan\functions\get_option( 'warmup_intro', false );
21
+               if ( false !== $intro_text ) {
22
+                    ?>
23 23
 				<div class="excerpt">
24 24
 					<p><?php echo wp_kses_post( $intro_text ); ?></p>
25 25
 				</div>
26 26
 				<?php
27
-			}
28
-			$warm_up = \lsx_health_plan\functions\get_option( 'endpoint_warm_up', false );
29
-			if ( false === $warm_up ) {
30
-				$warm_up = 'warm-up';
31
-			}
32
-			?>
27
+               }
28
+               $warm_up = \lsx_health_plan\functions\get_option( 'endpoint_warm_up', false );
29
+               if ( false === $warm_up ) {
30
+                    $warm_up = 'warm-up';
31
+               }
32
+               ?>
33 33
 			<a href="<?php the_permalink(); ?><?php echo esc_attr( $warm_up ); ?>/" class="btn"><?php esc_html_e( 'Start your warm-up', 'lsx-health-plan' ); ?></a>
34 34
 		</div>
35 35
 	</div>
@@ -42,28 +42,28 @@  discard block
 block discarded – undo
42 42
 * @return void
43 43
 */
44 44
 function lsx_health_plan_workout_box() {
45
-	if ( ! post_type_exists( 'workout' ) ) {
46
-		return;
47
-	}
48
-	?>
45
+     if ( ! post_type_exists( 'workout' ) ) {
46
+          return;
47
+     }
48
+     ?>
49 49
 	<div class="col-md-4" >
50 50
 		<div class="lsx-health-plan-box">
51 51
 			<h3 class="title work-out-title title-lined"><?php esc_html_e( 'Your Workout', 'lsx-health-plan' ); ?><?php lsx_get_svg_icon( 'work.svg' ); ?></h3>
52 52
 			<div class="spacer"></div>
53 53
 			<?php
54
-			$intro_text = \lsx_health_plan\functions\get_option( 'workout_intro', false );
55
-			if ( false !== $intro_text ) {
56
-				?>
54
+               $intro_text = \lsx_health_plan\functions\get_option( 'workout_intro', false );
55
+               if ( false !== $intro_text ) {
56
+                    ?>
57 57
 				<div class="excerpt">
58 58
 					<p><?php echo wp_kses_post( $intro_text ); ?></p>
59 59
 				</div>
60 60
 				<?php
61
-			}
62
-			$workout = \lsx_health_plan\functions\get_option( 'endpoint_workout', false );
63
-			if ( false === $workout ) {
64
-				$workout = 'workout';
65
-			}
66
-			?>
61
+               }
62
+               $workout = \lsx_health_plan\functions\get_option( 'endpoint_workout', false );
63
+               if ( false === $workout ) {
64
+                    $workout = 'workout';
65
+               }
66
+               ?>
67 67
 			<a href="<?php the_permalink(); ?><?php echo esc_attr( $workout ); ?>/" class="btn"><?php esc_html_e( 'Start your workout', 'lsx-health-plan' ); ?></a>
68 68
 		</div>
69 69
 	</div>
@@ -76,28 +76,28 @@  discard block
 block discarded – undo
76 76
 * @return void
77 77
 */
78 78
 function lsx_health_plan_meal_box() {
79
-	if ( ! post_type_exists( 'meal' ) ) {
80
-		return;
81
-	}
82
-	?>
79
+     if ( ! post_type_exists( 'meal' ) ) {
80
+          return;
81
+     }
82
+     ?>
83 83
 	<div class="col-md-4" >
84 84
 		<div class="lsx-health-plan-box">
85 85
 			<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>
86 86
 			<div class="spacer"></div>
87 87
 			<?php
88
-			$intro_text = \lsx_health_plan\functions\get_option( 'meal_plan_intro', false );
89
-			if ( false !== $intro_text ) {
90
-				?>
88
+               $intro_text = \lsx_health_plan\functions\get_option( 'meal_plan_intro', false );
89
+               if ( false !== $intro_text ) {
90
+                    ?>
91 91
 				<div class="excerpt">
92 92
 					<p><?php echo wp_kses_post( $intro_text ); ?></p>
93 93
 				</div>
94 94
 				<?php
95
-			}
96
-			$meal = \lsx_health_plan\functions\get_option( 'endpoint_meal', false );
97
-			if ( false === $meal ) {
98
-				$meal = 'meal';
99
-			}
100
-			?>
95
+               }
96
+               $meal = \lsx_health_plan\functions\get_option( 'endpoint_meal', false );
97
+               if ( false === $meal ) {
98
+                    $meal = 'meal';
99
+               }
100
+               ?>
101 101
 			<a href="<?php the_permalink(); ?><?php echo esc_attr( $meal ); ?>/" class="btn"><?php esc_html_e( 'View your meal plan', 'lsx-health-plan' ); ?></a>
102 102
 		</div>
103 103
 	</div>
@@ -110,28 +110,28 @@  discard block
 block discarded – undo
110 110
 * @return void
111 111
 */
112 112
 function lsx_health_plan_recipe_box() {
113
-	if ( ! post_type_exists( 'recipe' ) ) {
114
-		return;
115
-	}
116
-	?>
113
+     if ( ! post_type_exists( 'recipe' ) ) {
114
+          return;
115
+     }
116
+     ?>
117 117
 	<div class="col-md-4" >
118 118
 		<div class="lsx-health-plan-box">
119 119
 			<h3 class="title recipes-title title-lined"><?php esc_html_e( 'Recipes', 'lsx-health-plan' ); ?><?php lsx_get_svg_icon( 'recipes.svg' ); ?></h3>
120 120
 			<div class="spacer"></div>
121 121
 			<?php
122
-			$intro_text = \lsx_health_plan\functions\get_option( 'recipes_intro', false );
123
-			if ( false !== $intro_text ) {
124
-				?>
122
+               $intro_text = \lsx_health_plan\functions\get_option( 'recipes_intro', false );
123
+               if ( false !== $intro_text ) {
124
+                    ?>
125 125
 				<div class="excerpt">
126 126
 					<p><?php echo wp_kses_post( $intro_text ); ?></p>
127 127
 				</div>
128 128
 				<?php
129
-			}
130
-			$recipes = \lsx_health_plan\functions\get_option( 'endpoint_recipe', false );
131
-			if ( false === $recipes ) {
132
-				$recipes = 'recipes';
133
-			}
134
-			?>
129
+               }
130
+               $recipes = \lsx_health_plan\functions\get_option( 'endpoint_recipe', false );
131
+               if ( false === $recipes ) {
132
+                    $recipes = 'recipes';
133
+               }
134
+               ?>
135 135
 			<a href="<?php the_permalink(); ?><?php echo esc_attr( $recipes ); ?>/" class="btn"><?php esc_html_e( 'View all recipes', 'lsx-health-plan' ); ?></a>
136 136
 		</div>
137 137
 	</div>
@@ -144,8 +144,8 @@  discard block
 block discarded – undo
144 144
 * @return void
145 145
 */
146 146
 function lsx_health_plan_downloads_box() {
147
-	global $current_user;
148
-	?>
147
+     global $current_user;
148
+     ?>
149 149
 	<div class="col-md-4 day-download-box" >
150 150
 		<div class="lsx-health-plan-box">
151 151
 			<h3 class="title downloads-title title-lined"><?php esc_html_e( 'Downloads', 'lsx-health-plan' ); ?><?php lsx_get_svg_icon( 'download.svg' ); ?></h3>
@@ -153,13 +153,13 @@  discard block
 block discarded – undo
153 153
 			<div class="download-list">
154 154
 				<ul>
155 155
 					<?php
156
-					$downloads = \lsx_health_plan\functions\get_downloads();
157
-					if ( ! empty( $downloads ) ) {
158
-						foreach ( $downloads as $download ) {
159
-							echo wp_kses_post( '<li><a href=""><i class="fa fa-file-pdf"></i>' . do_shortcode( '[download id="' . $download . '"]' ) . '</a></li>' );
160
-						}
161
-					}
162
-					?>
156
+                         $downloads = \lsx_health_plan\functions\get_downloads();
157
+                         if ( ! empty( $downloads ) ) {
158
+                              foreach ( $downloads as $download ) {
159
+                                   echo wp_kses_post( '<li><a href=""><i class="fa fa-file-pdf"></i>' . do_shortcode( '[download id="' . $download . '"]' ) . '</a></li>' );
160
+                              }
161
+                         }
162
+                         ?>
163 163
 				</ul>
164 164
 			</div>
165 165
 		</div>
@@ -174,15 +174,15 @@  discard block
 block discarded – undo
174 174
  * @return void
175 175
  */
176 176
 function lsx_health_plan_nav_class( $tab = '' ) {
177
-	$nav_classes = array();
178
-	if ( function_exists( 'is_wc_endpoint_url' ) && 'edit-account' === $tab && is_wc_endpoint_url( 'edit-account' ) ) {
179
-		$nav_classes[] = 'active';
180
-	} elseif ( lsx_health_plan_is_current_tab( $tab ) ) {
181
-		$nav_classes[] = 'active';
182
-	}
183
-	if ( ! empty( $nav_classes ) ) {
184
-		echo wp_kses_post( implode( ' ', $nav_classes ) );
185
-	}
177
+     $nav_classes = array();
178
+     if ( function_exists( 'is_wc_endpoint_url' ) && 'edit-account' === $tab && is_wc_endpoint_url( 'edit-account' ) ) {
179
+          $nav_classes[] = 'active';
180
+     } elseif ( lsx_health_plan_is_current_tab( $tab ) ) {
181
+          $nav_classes[] = 'active';
182
+     }
183
+     if ( ! empty( $nav_classes ) ) {
184
+          echo wp_kses_post( implode( ' ', $nav_classes ) );
185
+     }
186 186
 }
187 187
 
188 188
 /**
@@ -191,22 +191,22 @@  discard block
 block discarded – undo
191 191
  * @return void
192 192
  */
193 193
 function lsx_health_plan_my_profile_tabs() {
194
-	?>
194
+     ?>
195 195
 	<div id="account-nav">
196 196
 		<ul class="nav nav-pills">
197 197
 			<li class="
198 198
 			<?php
199
-			if ( ( function_exists( 'is_wc_endpoint_url' ) && ! is_wc_endpoint_url( 'edit-account' ) ) || ! function_exists( 'is_wc_endpoint_url' ) ) {
200
-				echo esc_attr( 'active' );
201
-			}
202
-			?>
199
+               if ( ( function_exists( 'is_wc_endpoint_url' ) && ! is_wc_endpoint_url( 'edit-account' ) ) || ! function_exists( 'is_wc_endpoint_url' ) ) {
200
+                    echo esc_attr( 'active' );
201
+               }
202
+               ?>
203 203
 			"><a class="my-plan-tab" href="<?php the_permalink(); ?>"><?php esc_html_e( 'My Plans', 'lsx-health-plan' ); ?></a></li>
204 204
 			<li class="
205 205
 			<?php
206
-			if ( function_exists( 'is_wc_endpoint_url' ) && is_wc_endpoint_url( 'edit-account' ) ) {
207
-				echo esc_attr( 'active' );
208
-			}
209
-			?>
206
+               if ( function_exists( 'is_wc_endpoint_url' ) && is_wc_endpoint_url( 'edit-account' ) ) {
207
+                    echo esc_attr( 'active' );
208
+               }
209
+               ?>
210 210
 			"><a class="account-details-tab" href="<?php the_permalink(); ?>edit-account/"><?php esc_html_e( 'Account Details', 'lsx-health-plan' ); ?></a></li>
211 211
 			<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>
212 212
 		</ul>
@@ -220,7 +220,7 @@  discard block
 block discarded – undo
220 220
  * @return void
221 221
  */
222 222
 function lsx_health_plan_my_profile_box() {
223
-	?>
223
+     ?>
224 224
 	<div class="lsx-health-plan my-profile-block wp-block-cover alignfull">
225 225
 		<div class="wp-block-cover__inner-container">
226 226
 			<h2><?php esc_html_e( 'My Dashboard', 'lsx-health-plan' ); ?></h2>
@@ -228,86 +228,86 @@  discard block
 block discarded – undo
228 228
 				<div class="profile-navigation">
229 229
 					<div class="profile-photo">
230 230
 					<?php
231
-						global $current_user;
232
-						get_current_user();
233
-						echo get_avatar( $current_user->ID, 240 );
234
-						?>
231
+                              global $current_user;
232
+                              get_current_user();
233
+                              echo get_avatar( $current_user->ID, 240 );
234
+                              ?>
235 235
 					</div>
236 236
 				</div>
237 237
 				<div class="profile-details">
238 238
 					<h1 class="title-lined has-text-color"><?php echo esc_html( $current_user->display_name ); ?></h1>
239 239
 					<?php
240
-					$disable_stats = \lsx_health_plan\functions\get_option( 'disable_all_stats', false );
241
-					if ( 'on' !== $disable_stats ) {
240
+                         $disable_stats = \lsx_health_plan\functions\get_option( 'disable_all_stats', false );
241
+                         if ( 'on' !== $disable_stats ) {
242 242
 
243
-						$is_weight_disabled  = \lsx_health_plan\functions\get_option( 'disable_weight_checkbox', false );
244
-						$is_height_disabled  = \lsx_health_plan\functions\get_option( 'disable_height_checkbox', false );
245
-						$is_waist_disabled   = \lsx_health_plan\functions\get_option( 'disable_waist_checkbox', false );
246
-						$is_bmi_disabled = \lsx_health_plan\functions\get_option( 'disable_bmi_checkbox', false );
243
+                              $is_weight_disabled  = \lsx_health_plan\functions\get_option( 'disable_weight_checkbox', false );
244
+                              $is_height_disabled  = \lsx_health_plan\functions\get_option( 'disable_height_checkbox', false );
245
+                              $is_waist_disabled   = \lsx_health_plan\functions\get_option( 'disable_waist_checkbox', false );
246
+                              $is_bmi_disabled = \lsx_health_plan\functions\get_option( 'disable_bmi_checkbox', false );
247 247
 
248
-						$weight = get_user_meta( get_current_user_id(), 'weight', true );
249
-						$waist = get_user_meta( get_current_user_id(), 'waist', true );
250
-						$height = get_user_meta( get_current_user_id(), 'height', true );
248
+                              $weight = get_user_meta( get_current_user_id(), 'weight', true );
249
+                              $waist = get_user_meta( get_current_user_id(), 'waist', true );
250
+                              $height = get_user_meta( get_current_user_id(), 'height', true );
251 251
 
252
-						$height_m = $height / 100;
252
+                              $height_m = $height / 100;
253 253
 
254
-						if ( 1 < $weight && 1 < $height_m ) {
255
-							$bmi = $weight / ( $height_m * $height_m );
256
-							$bmi = number_format( $bmi, 1 );
257
-						} else {
258
-							$bmi = __( 'Add more data', 'lsx-health-plan' );
259
-						}
254
+                              if ( 1 < $weight && 1 < $height_m ) {
255
+                                   $bmi = $weight / ( $height_m * $height_m );
256
+                                   $bmi = number_format( $bmi, 1 );
257
+                              } else {
258
+                                   $bmi = __( 'Add more data', 'lsx-health-plan' );
259
+                              }
260 260
 
261
-						?>
261
+                              ?>
262 262
 
263 263
 						<div>
264 264
 							<?php if ( 'on' !== $is_weight_disabled ) { ?>
265 265
 								<span><strong><?php esc_html_e( 'Weight:', 'lsx-health-plan' ); ?></strong>
266 266
 								<?php
267
-								if ( '' !== $weight ) {
268
-									echo wp_kses_post( $weight . ' kg' );
269
-								} else {
270
-									echo '/';
271
-								}
272
-								?>
267
+                                        if ( '' !== $weight ) {
268
+                                             echo wp_kses_post( $weight . ' kg' );
269
+                                        } else {
270
+                                             echo '/';
271
+                                        }
272
+                                        ?>
273 273
 								</span>
274 274
 							<?php }
275
-							if ( 'on' !== $is_waist_disabled ) {
276
-								?>
275
+                                   if ( 'on' !== $is_waist_disabled ) {
276
+                                        ?>
277 277
 								<span><strong><?php esc_html_e( 'Waist:', 'lsx-health-plan' ); ?></strong>
278 278
 								<?php
279
-								if ( '' !== $waist ) {
280
-									echo wp_kses_post( $waist . ' cm' );
281
-								} else {
282
-									echo '/';
283
-								}
284
-								?>
279
+                                        if ( '' !== $waist ) {
280
+                                             echo wp_kses_post( $waist . ' cm' );
281
+                                        } else {
282
+                                             echo '/';
283
+                                        }
284
+                                        ?>
285 285
 								</span>
286 286
 							<?php }
287
-							if ( 'on' !== $is_bmi_disabled ) {
288
-								?>
287
+                                   if ( 'on' !== $is_bmi_disabled ) {
288
+                                        ?>
289 289
 								<span><strong><?php esc_html_e( 'BMI:', 'lsx-health-plan' ); ?></strong>
290 290
 								<?php
291
-								if ( '' !== $bmi ) {
292
-									echo wp_kses_post( $bmi );
293
-								} else {
294
-									echo '/';
295
-								}
296
-								?>
291
+                                        if ( '' !== $bmi ) {
292
+                                             echo wp_kses_post( $bmi );
293
+                                        } else {
294
+                                             echo '/';
295
+                                        }
296
+                                        ?>
297 297
 								</span>
298 298
 							<?php } ?>
299 299
 						</div>
300 300
 					<?php
301
-					}
302
-					?>
301
+                         }
302
+                         ?>
303 303
 					<div class="edit-profile">
304 304
 						<?php
305
-						if ( function_exists( 'wc_get_page_id' ) ) {
306
-							$url_id = wc_get_page_id( 'myaccount' );
307
-						} else {
308
-							$url_id = '';
309
-						}
310
-						?>
305
+                              if ( function_exists( 'wc_get_page_id' ) ) {
306
+                                   $url_id = wc_get_page_id( 'myaccount' );
307
+                              } else {
308
+                                   $url_id = '';
309
+                              }
310
+                              ?>
311 311
 						<a href="<?php echo esc_url( get_permalink( $url_id ) ); ?>edit-account/"><?php esc_html_e( 'Edit', 'lsx-health-plan' ); ?></a>
312 312
 					</div>
313 313
 				</div>
@@ -323,63 +323,63 @@  discard block
 block discarded – undo
323 323
  * @return void
324 324
  */
325 325
 function lsx_health_plan_all_plans_block() {
326
-	global $post, $product;
327
-
328
-	$args = array(
329
-		'orderby'        => 'menu_order',
330
-		'order'          => 'ASC',
331
-		'post_type'      => 'plan',
332
-		'nopagin'        => true,
333
-		'post_parent'    => 0,
334
-	);
335
-
336
-	$product_ids = \lsx_health_plan\functions\woocommerce\get_membership_products();
337
-	if ( ! empty( $product_ids ) ) {
338
-		$args['meta_query'] = array(
339
-			'relation' => 'OR',
340
-			array(
341
-				'key'     => '_plan_product_id',
342
-				'value'   => $product_ids,
343
-				'compare' => 'IN',
344
-			),
345
-			array(
346
-				'key'     => '_plan_product_id',
347
-				'compare' => 'NOT EXISTS',
348
-			),
349
-		);
350
-	}
351
-
352
-	$the_query = new WP_Query( $args );
353
-	?>
326
+     global $post, $product;
327
+
328
+     $args = array(
329
+          'orderby'        => 'menu_order',
330
+          'order'          => 'ASC',
331
+          'post_type'      => 'plan',
332
+          'nopagin'        => true,
333
+          'post_parent'    => 0,
334
+     );
335
+
336
+     $product_ids = \lsx_health_plan\functions\woocommerce\get_membership_products();
337
+     if ( ! empty( $product_ids ) ) {
338
+          $args['meta_query'] = array(
339
+               'relation' => 'OR',
340
+               array(
341
+                    'key'     => '_plan_product_id',
342
+                    'value'   => $product_ids,
343
+                    'compare' => 'IN',
344
+               ),
345
+               array(
346
+                    'key'     => '_plan_product_id',
347
+                    'compare' => 'NOT EXISTS',
348
+               ),
349
+          );
350
+     }
351
+
352
+     $the_query = new WP_Query( $args );
353
+     ?>
354 354
 	<div class="all-plans-block plan-grid block-all-plans-block">
355 355
 		<div class="row">
356 356
 			<?php
357
-			if ( $the_query->have_posts() ) :
358
-				while ( $the_query->have_posts() ) :
359
-					$the_query->the_post();
360
-					lsx_entry_before();
361
-					$completed_class = '';
362
-					$linked_product  = false;
363
-					$restricted      = false;
364
-					$product         = null;
365
-					if ( \lsx_health_plan\functions\woocommerce\plan_has_products() ) {
366
-						$products       = \lsx_health_plan\functions\woocommerce\get_plan_products();
367
-						$linked_product = wc_get_product( $products[0] );
368
-						$product        = $linked_product;
369
-					}
370
-					if ( function_exists( 'wc_memberships_is_post_content_restricted' ) ) {
371
-						$restricted = wc_memberships_is_post_content_restricted( get_the_ID() ) && ! current_user_can( 'wc_memberships_view_restricted_post_content', get_the_ID() );
372
-					}
373
-
374
-					if ( lsx_health_plan_is_plan_complete() ) {
375
-						$completed_class = 'completed';
376
-					}
377
-					$round_progress     = '';
378
-					$completed_progress = '100';
379
-					if ( false === $restricted ) {
380
-						$round_progress = round( \lsx_health_plan\functions\get_progress( get_the_ID() ), 0 );
381
-					}
382
-					?>
357
+               if ( $the_query->have_posts() ) :
358
+                    while ( $the_query->have_posts() ) :
359
+                         $the_query->the_post();
360
+                         lsx_entry_before();
361
+                         $completed_class = '';
362
+                         $linked_product  = false;
363
+                         $restricted      = false;
364
+                         $product         = null;
365
+                         if ( \lsx_health_plan\functions\woocommerce\plan_has_products() ) {
366
+                              $products       = \lsx_health_plan\functions\woocommerce\get_plan_products();
367
+                              $linked_product = wc_get_product( $products[0] );
368
+                              $product        = $linked_product;
369
+                         }
370
+                         if ( function_exists( 'wc_memberships_is_post_content_restricted' ) ) {
371
+                              $restricted = wc_memberships_is_post_content_restricted( get_the_ID() ) && ! current_user_can( 'wc_memberships_view_restricted_post_content', get_the_ID() );
372
+                         }
373
+
374
+                         if ( lsx_health_plan_is_plan_complete() ) {
375
+                              $completed_class = 'completed';
376
+                         }
377
+                         $round_progress     = '';
378
+                         $completed_progress = '100';
379
+                         if ( false === $restricted ) {
380
+                              $round_progress = round( \lsx_health_plan\functions\get_progress( get_the_ID() ), 0 );
381
+                         }
382
+                         ?>
383 383
 					<div class="col-xs-12 col-sm-6 col-md-4">
384 384
 						<article class="lsx-slot lsx-hp-shadow <?php echo esc_html( 'progress-') . $round_progress; ?>">
385 385
 							<div class="plan-feature-img">
@@ -388,45 +388,45 @@  discard block
 block discarded – undo
388 388
 								<?php } ?>
389 389
 								<a href="<?php echo esc_url( get_permalink() ); ?>">
390 390
 								<?php
391
-								$featured_image = get_the_post_thumbnail();
392
-								if ( ! empty( $featured_image ) && '' !== $featured_image ) {
393
-									the_post_thumbnail( 'lsx-thumbnail', array(
394
-										'class' => 'aligncenter',
395
-									) );
396
-								} else {
397
-									?>
391
+                                        $featured_image = get_the_post_thumbnail();
392
+                                        if ( ! empty( $featured_image ) && '' !== $featured_image ) {
393
+                                             the_post_thumbnail( 'lsx-thumbnail', array(
394
+                                                  'class' => 'aligncenter',
395
+                                             ) );
396
+                                        } else {
397
+                                             ?>
398 398
 									<img loading="lazy"  class="placeholder" src="<?php echo esc_attr( plugin_dir_url( __FILE__ ) . '../assets/images/placeholder.jpg' ); ?>">
399 399
 									<?php
400
-								}
401
-								?>
400
+                                        }
401
+                                        ?>
402 402
 								</a>
403 403
 							</div>
404 404
 							<div class="content-box plan-content-box">
405 405
 								<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>
406 406
 								<?php
407
-									echo wp_kses_post( \lsx_health_plan\functions\hp_get_plan_type_meta( $post ) );
408
-								?>
407
+                                             echo wp_kses_post( \lsx_health_plan\functions\hp_get_plan_type_meta( $post ) );
408
+                                        ?>
409 409
 								<?php
410
-								if ( false !== $linked_product && false !== $restricted ) {
411
-									echo wp_kses_post( $linked_product->get_price_html() );
412
-								}
413
-								?>
410
+                                        if ( false !== $linked_product && false !== $restricted ) {
411
+                                             echo wp_kses_post( $linked_product->get_price_html() );
412
+                                        }
413
+                                        ?>
414 414
 								<div class="excerpt">
415 415
 									<?php
416
-									if ( ! has_excerpt() ) {
417
-										$content = wp_trim_words( get_the_content(), 20 );
418
-										$content = '<p>' . $content . '</pre>';
419
-									} else {
420
-										$content = apply_filters( 'the_excerpt', get_the_excerpt() );
421
-									}
422
-									echo wp_kses_post( $content );
423
-									?>
416
+                                             if ( ! has_excerpt() ) {
417
+                                                  $content = wp_trim_words( get_the_content(), 20 );
418
+                                                  $content = '<p>' . $content . '</pre>';
419
+                                             } else {
420
+                                                  $content = apply_filters( 'the_excerpt', get_the_excerpt() );
421
+                                             }
422
+                                             echo wp_kses_post( $content );
423
+                                             ?>
424 424
 								</div>
425 425
 								<?php
426
-								if ( false === $restricted ) {
427
-									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>' );
428
-								}
429
-								?>
426
+                                        if ( false === $restricted ) {
427
+                                             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>' );
428
+                                        }
429
+                                        ?>
430 430
 							</div>
431 431
 						</article>
432 432
 					</div>
@@ -445,36 +445,36 @@  discard block
 block discarded – undo
445 445
  * @return void
446 446
  */
447 447
 function lsx_health_plan_day_plan_block( $args = array() ) {
448
-	$defaults = array(
449
-		'plan' => '',
450
-	);
451
-	$args     = wp_parse_args( $args, $defaults );
452
-
453
-	if ( isset( $args['plan'] ) && '' !== $args['plan'] && \lsx_health_plan\functions\plan\has_sections( $args['plan'] ) ) {
454
-		$sections = \lsx_health_plan\functions\plan\get_sections();
455
-		?>
448
+     $defaults = array(
449
+          'plan' => '',
450
+     );
451
+     $args     = wp_parse_args( $args, $defaults );
452
+
453
+     if ( isset( $args['plan'] ) && '' !== $args['plan'] && \lsx_health_plan\functions\plan\has_sections( $args['plan'] ) ) {
454
+          $sections = \lsx_health_plan\functions\plan\get_sections();
455
+          ?>
456 456
 		<div class="daily-plan-block day-grid">
457 457
 			<?php
458
-			foreach ( $sections as $section_key => $section_values ) {
459
-				$defaults    = array(
460
-					'title' => __( 'Day', 'lsx-health-plan' ) . ' ' . ( $section_key + 1 ),
461
-				);
462
-				$section_args = wp_parse_args( $section_values, $defaults );
463
-
464
-				$completed_class = '';
465
-				if ( lsx_health_plan_is_day_complete() ) {
466
-					$completed_class = 'completed';
467
-				}
468
-				?>
458
+               foreach ( $sections as $section_key => $section_values ) {
459
+                    $defaults    = array(
460
+                         'title' => __( 'Day', 'lsx-health-plan' ) . ' ' . ( $section_key + 1 ),
461
+                    );
462
+                    $section_args = wp_parse_args( $section_values, $defaults );
463
+
464
+                    $completed_class = '';
465
+                    if ( lsx_health_plan_is_day_complete() ) {
466
+                         $completed_class = 'completed';
467
+                    }
468
+                    ?>
469 469
 				<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 ); ?>">
470 470
 					<div class="plan-content"><?php echo esc_attr( $section_args['title'] ); ?></div>
471 471
 				</a>
472 472
 				<?php
473
-			}
474
-			?>
473
+               }
474
+               ?>
475 475
 		</div>
476 476
 		<?php
477
-	}
477
+     }
478 478
 }
479 479
 
480 480
 /**
@@ -484,44 +484,44 @@  discard block
 block discarded – undo
484 484
  * @return void
485 485
  */
486 486
 function lsx_health_plan_week_plan_block( $args = array() ) {
487
-	$defaults = array(
488
-		'show_downloads' => false,
489
-		'plan'           => '',
490
-	);
491
-	$args     = wp_parse_args( $args, $defaults );
492
-
493
-	if ( isset( $args['plan'] ) && '' !== $args['plan'] && \lsx_health_plan\functions\plan\has_sections( $args['plan'] ) ) {
494
-		$groups = \lsx_health_plan\functions\plan\get_sections( true );
495
-
496
-		if ( ! empty( $groups ) ) {
497
-			$counter    = 1;
498
-			$group_open = false;
499
-
500
-			foreach ( $groups as $group_key => $sections ) {
501
-				$collapse_class = '';
502
-				$group_title    = \lsx_health_plan\functions\plan\get_group_title( $sections );
503
-
504
-				// Determine if the current week is complete.
505
-				$day_ids = wp_list_pluck( $sections, 'title' );
506
-				if ( false === $group_open ) {
507
-					if ( 1 === $counter && ! \lsx_health_plan\functions\is_week_complete( false, $day_ids, $group_title ) ) {
508
-						$collapse_class = 'in';
509
-						$group_open   = true;
510
-					} elseif ( ! \lsx_health_plan\functions\is_week_complete( false, $day_ids, $group_title ) ) {
511
-						$collapse_class = 'in';
512
-						$group_open   = true;
513
-					}
514
-				}
515
-
516
-				// Determine if there are any weekly downloads.
517
-				$week_downloads_view = '';
518
-				/*if ( isset( $args['show_downloads'] ) && false !== $args['show_downloads'] ) {
487
+     $defaults = array(
488
+          'show_downloads' => false,
489
+          'plan'           => '',
490
+     );
491
+     $args     = wp_parse_args( $args, $defaults );
492
+
493
+     if ( isset( $args['plan'] ) && '' !== $args['plan'] && \lsx_health_plan\functions\plan\has_sections( $args['plan'] ) ) {
494
+          $groups = \lsx_health_plan\functions\plan\get_sections( true );
495
+
496
+          if ( ! empty( $groups ) ) {
497
+               $counter    = 1;
498
+               $group_open = false;
499
+
500
+               foreach ( $groups as $group_key => $sections ) {
501
+                    $collapse_class = '';
502
+                    $group_title    = \lsx_health_plan\functions\plan\get_group_title( $sections );
503
+
504
+                    // Determine if the current week is complete.
505
+                    $day_ids = wp_list_pluck( $sections, 'title' );
506
+                    if ( false === $group_open ) {
507
+                         if ( 1 === $counter && ! \lsx_health_plan\functions\is_week_complete( false, $day_ids, $group_title ) ) {
508
+                              $collapse_class = 'in';
509
+                              $group_open   = true;
510
+                         } elseif ( ! \lsx_health_plan\functions\is_week_complete( false, $day_ids, $group_title ) ) {
511
+                              $collapse_class = 'in';
512
+                              $group_open   = true;
513
+                         }
514
+                    }
515
+
516
+                    // Determine if there are any weekly downloads.
517
+                    $week_downloads_view = '';
518
+                    /*if ( isset( $args['show_downloads'] ) && false !== $args['show_downloads'] ) {
519 519
 					$weekly_downloads = \lsx_health_plan\functions\get_weekly_downloads( $group_key );
520 520
 					if ( ! empty( $weekly_downloads ) ) {
521 521
 						$week_downloads_view = 'week-downloads-view-on';
522 522
 					}
523 523
 				}*/
524
-				?>
524
+                    ?>
525 525
 				<div class="daily-plan-block week-grid">
526 526
 					<a href="#group-<?php echo esc_attr( $group_key ); ?>" data-toggle="collapse" class="week-title"><?php echo esc_attr( $group_title ); ?></a>
527 527
 					<div id="group-<?php echo esc_attr( $group_key ); ?>" class="week-row collapse <?php echo esc_attr( $collapse_class ); ?>">
@@ -535,38 +535,38 @@  discard block
 block discarded – undo
535 535
 								<div class="week-meals-recipes-box-inner">
536 536
 								<?php
537 537
 
538
-								foreach ( $sections as $section_key => $section_values ) {
538
+                                        foreach ( $sections as $section_key => $section_values ) {
539 539
 
540
-									$defaults    = array(
541
-										'title' => __( 'Day', 'lsx-health-plan' ) . ' ' . ( $section_key + 1 ),
542
-									);
543
-									$section_args = wp_parse_args( $section_values, $defaults );
540
+                                             $defaults    = array(
541
+                                                  'title' => __( 'Day', 'lsx-health-plan' ) . ' ' . ( $section_key + 1 ),
542
+                                             );
543
+                                             $section_args = wp_parse_args( $section_values, $defaults );
544 544
 
545
-									$completed_class = '';
546
-									if ( lsx_health_plan_is_day_complete( $args['plan'], $section_args['title'] ) ) {
547
-										$completed_class = 'completed';
548
-									}
549
-									?>
545
+                                             $completed_class = '';
546
+                                             if ( lsx_health_plan_is_day_complete( $args['plan'], $section_args['title'] ) ) {
547
+                                                  $completed_class = 'completed';
548
+                                             }
549
+                                             ?>
550 550
 									<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 ); ?>">
551 551
 										<div class="plan-content"><?php echo esc_attr( $section_args['title'] ); ?></div>
552 552
 									</a>
553 553
 									<?php
554
-								}
555
-								?>
554
+                                        }
555
+                                        ?>
556 556
 								</div>
557 557
 							</div>
558 558
 							<?php
559
-							if ( ! empty( $week_downloads_view ) ) {
560
-								//lsx_health_plan_weekly_downloads( $weekly_downloads );
561
-							}
562
-							?>
559
+                                   if ( ! empty( $week_downloads_view ) ) {
560
+                                        //lsx_health_plan_weekly_downloads( $weekly_downloads );
561
+                                   }
562
+                                   ?>
563 563
 						</div>
564 564
 					</div>
565 565
 				</div>
566 566
 				<?php
567
-			}
568
-		}
569
-	}
567
+               }
568
+          }
569
+     }
570 570
 }
571 571
 
572 572
 /**
@@ -576,22 +576,22 @@  discard block
 block discarded – undo
576 576
  * @return void
577 577
  */
578 578
 function lsx_health_plan_weekly_downloads( $weekly_downloads = array() ) {
579
-	if ( ! empty( $weekly_downloads ) ) {
580
-		?>
579
+     if ( ! empty( $weekly_downloads ) ) {
580
+          ?>
581 581
 		<div class="week-download-box">
582 582
 			<h3 class="title"><?php lsx_get_svg_icon( 'download.svg' ); ?><?php echo esc_html_e( 'Downloads', 'lsx-health-plan' ); ?></h3>
583 583
 			<ul class="week-download-box-list">
584 584
 				<?php
585
-				foreach ( $weekly_downloads as $weekly_download ) {
586
-					?>
585
+                    foreach ( $weekly_downloads as $weekly_download ) {
586
+                         ?>
587 587
 					<li><?php echo wp_kses_post( do_shortcode( '[download id="' . $weekly_download . '"]' ) ); ?></li>
588 588
 					<?php
589
-				}
590
-				?>
589
+                    }
590
+                    ?>
591 591
 			</ul>
592 592
 		</div>
593 593
 		<?php
594
-	}
594
+     }
595 595
 }
596 596
 
597 597
 /**
@@ -600,9 +600,9 @@  discard block
 block discarded – undo
600 600
  * @return void
601 601
  */
602 602
 function lsx_health_plan_items( $args = array() ) {
603
-	global $shortcode_args;
604
-	$shortcode_args = $args;
605
-	include LSX_HEALTH_PLAN_PATH . '/templates/partials/shortcode-loop.php';
603
+     global $shortcode_args;
604
+     $shortcode_args = $args;
605
+     include LSX_HEALTH_PLAN_PATH . '/templates/partials/shortcode-loop.php';
606 606
 }
607 607
 
608 608
 /**
@@ -611,10 +611,10 @@  discard block
 block discarded – undo
611 611
  * @return void
612 612
  */
613 613
 function lsx_health_plan_featured_video_block() {
614
-	if ( ! post_type_exists( 'video' ) ) {
615
-		return;
616
-	}
617
-	include LSX_HEALTH_PLAN_PATH . '/templates/featured-videos.php';
614
+     if ( ! post_type_exists( 'video' ) ) {
615
+          return;
616
+     }
617
+     include LSX_HEALTH_PLAN_PATH . '/templates/featured-videos.php';
618 618
 }
619 619
 
620 620
 /**
@@ -623,10 +623,10 @@  discard block
 block discarded – undo
623 623
  * @return void
624 624
  */
625 625
 function lsx_health_plan_featured_recipes_block() {
626
-	if ( ! post_type_exists( 'recipe' ) ) {
627
-		return;
628
-	}
629
-	include LSX_HEALTH_PLAN_PATH . '/templates/featured-recipes.php';
626
+     if ( ! post_type_exists( 'recipe' ) ) {
627
+          return;
628
+     }
629
+     include LSX_HEALTH_PLAN_PATH . '/templates/featured-recipes.php';
630 630
 }
631 631
 
632 632
 /**
@@ -635,7 +635,7 @@  discard block
 block discarded – undo
635 635
  * @return void
636 636
  */
637 637
 function lsx_health_plan_featured_tips_block() {
638
-	include LSX_HEALTH_PLAN_PATH . '/templates/featured-tips.php';
638
+     include LSX_HEALTH_PLAN_PATH . '/templates/featured-tips.php';
639 639
 }
640 640
 
641 641
 /**
@@ -645,11 +645,11 @@  discard block
 block discarded – undo
645 645
  * @return void
646 646
  */
647 647
 function lsx_health_plan_day_button() {
648
-	if ( lsx_health_plan_is_day_complete() ) {
649
-		lsx_health_plan_unlock_button();
650
-	} else {
651
-		lsx_health_plan_complete_button();
652
-	}
648
+     if ( lsx_health_plan_is_day_complete() ) {
649
+          lsx_health_plan_unlock_button();
650
+     } else {
651
+          lsx_health_plan_complete_button();
652
+     }
653 653
 }
654 654
 
655 655
 /**
@@ -658,7 +658,7 @@  discard block
 block discarded – undo
658 658
  * @return void
659 659
  */
660 660
 function lsx_health_plan_complete_button() {
661
-	?>
661
+     ?>
662 662
 	<div class="single-plan-inner-buttons">
663 663
 		<form action="<?php the_permalink(); ?>" method="post" class="form-complete-day complete-plan-btn">
664 664
 			<?php wp_nonce_field( 'complete', 'lsx-health-plan-actions' ); ?>
@@ -676,7 +676,7 @@  discard block
 block discarded – undo
676 676
  * @return void
677 677
  */
678 678
 function lsx_health_plan_unlock_button() {
679
-	?>
679
+     ?>
680 680
 	<div class="single-plan-inner-buttons">
681 681
 		<form action="<?php the_permalink(); ?>" method="post" class="form-complete-day complete-plan-btn">
682 682
 			<?php wp_nonce_field( 'unlock', 'lsx-health-plan-actions' ); ?>
@@ -695,10 +695,10 @@  discard block
 block discarded – undo
695 695
  * @return void
696 696
  */
697 697
 function lsx_health_plan_single_nav() {
698
-	$tab_template_path = apply_filters( 'lsx_health_plan_single_nav_path', LSX_HEALTH_PLAN_PATH . '/templates/single-plan-tabs.php' );
699
-	if ( '' !== $tab_template_path ) {
700
-		require $tab_template_path;
701
-	}
698
+     $tab_template_path = apply_filters( 'lsx_health_plan_single_nav_path', LSX_HEALTH_PLAN_PATH . '/templates/single-plan-tabs.php' );
699
+     if ( '' !== $tab_template_path ) {
700
+          require $tab_template_path;
701
+     }
702 702
 }
703 703
 
704 704
 /**
@@ -708,32 +708,32 @@  discard block
 block discarded – undo
708 708
  * @return void
709 709
  */
710 710
 function lsx_health_plan_single_tabs() {
711
-	$endpoint = get_query_var( 'endpoint' );
712
-	switch ( $endpoint ) {
713
-		case 'meal':
714
-			$tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-meal.php';
715
-			break;
716
-
717
-		case 'recipes':
718
-			$tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-recipes.php';
719
-			break;
720
-
721
-		case 'workout':
722
-			$tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-workout.php';
723
-			break;
724
-
725
-		case 'warm-up':
726
-			$tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-warm-up.php';
727
-			break;
728
-
729
-		default:
730
-			$tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-plan.php';
731
-			break;
732
-	}
733
-	$tab_template_path = apply_filters( 'lsx_health_plan_single_tab_path', $tab_template_path );
734
-	if ( '' !== $tab_template_path ) {
735
-		include $tab_template_path;
736
-	}
711
+     $endpoint = get_query_var( 'endpoint' );
712
+     switch ( $endpoint ) {
713
+          case 'meal':
714
+               $tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-meal.php';
715
+               break;
716
+
717
+          case 'recipes':
718
+               $tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-recipes.php';
719
+               break;
720
+
721
+          case 'workout':
722
+               $tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-workout.php';
723
+               break;
724
+
725
+          case 'warm-up':
726
+               $tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-warm-up.php';
727
+               break;
728
+
729
+          default:
730
+               $tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-plan.php';
731
+               break;
732
+     }
733
+     $tab_template_path = apply_filters( 'lsx_health_plan_single_tab_path', $tab_template_path );
734
+     if ( '' !== $tab_template_path ) {
735
+          include $tab_template_path;
736
+     }
737 737
 }
738 738
 
739 739
 /**
@@ -742,7 +742,7 @@  discard block
 block discarded – undo
742 742
  * @return void
743 743
  */
744 744
 function lsx_health_plan_recipe_data() {
745
-	include LSX_HEALTH_PLAN_PATH . '/templates/table-recipe-data.php';
745
+     include LSX_HEALTH_PLAN_PATH . '/templates/table-recipe-data.php';
746 746
 }
747 747
 
748 748
 /**
@@ -751,11 +751,11 @@  discard block
 block discarded – undo
751 751
  * @return recipe_type
752 752
  */
753 753
 function lsx_health_plan_recipe_type() {
754
-	$term_obj_list = get_the_terms( get_the_ID(), 'recipe-type' );
755
-	$recipe_type   = $term_obj_list[0]->name;
756
-	if ( ! empty( $recipe_type ) ) {
757
-		return $recipe_type;
758
-	}
754
+     $term_obj_list = get_the_terms( get_the_ID(), 'recipe-type' );
755
+     $recipe_type   = $term_obj_list[0]->name;
756
+     if ( ! empty( $recipe_type ) ) {
757
+          return $recipe_type;
758
+     }
759 759
 }
760 760
 
761 761
 /**
@@ -766,35 +766,35 @@  discard block
 block discarded – undo
766 766
  * @return void
767 767
  */
768 768
 function lsx_health_plan_workout_video_play_button( $m, $group, $echo = true ) {
769
-	$workout_video = '';
770
-	$giphy         = '';
771
-	$youtube       = '';
772
-	if ( isset( $group['connected_videos'] ) && '' !== $group['connected_videos'] ) {
773
-		$workout_video = esc_html( $group['connected_videos'] );
774
-		$giphy         = get_post_meta( $workout_video, 'video_giphy_source', true );
775
-		$youtube       = esc_url( get_post_meta( $workout_video, 'video_youtube_source', 1 ) );
776
-		$content       = get_post_field( 'post_content', $workout_video );
777
-		$play_button   = '<button data-toggle="modal" data-target="#workout-video-modal-' . $m . '"><span class="fa fa-play-circle"></span></button>';
778
-
779
-		$modal_body = '';
780
-		if ( ! empty( $giphy ) ) {
781
-			$giphy      = \lsx_health_plan\functions\get_video_url( $giphy );
782
-			$modal_body = $giphy; // WPCS: XSS OK.
783
-		} elseif ( ! empty( $youtube ) ) {
784
-			$modal_body = wp_oembed_get( $youtube, array( // WPCS: XSS OK.
785
-				'width' => 480,
786
-			) );
787
-		}
788
-		$modal_body .= '<h5 class="modal-title title-lined">' . $group['name'] . '</h5>';
789
-		$modal_body .= $content;
790
-		\lsx_health_plan\functions\register_modal( 'workout-video-modal-' . $m, '', $modal_body );
791
-
792
-		if ( true === $echo ) {
793
-			echo wp_kses_post( $play_button );
794
-		} else {
795
-			return $play_button;
796
-		}
797
-	}
769
+     $workout_video = '';
770
+     $giphy         = '';
771
+     $youtube       = '';
772
+     if ( isset( $group['connected_videos'] ) && '' !== $group['connected_videos'] ) {
773
+          $workout_video = esc_html( $group['connected_videos'] );
774
+          $giphy         = get_post_meta( $workout_video, 'video_giphy_source', true );
775
+          $youtube       = esc_url( get_post_meta( $workout_video, 'video_youtube_source', 1 ) );
776
+          $content       = get_post_field( 'post_content', $workout_video );
777
+          $play_button   = '<button data-toggle="modal" data-target="#workout-video-modal-' . $m . '"><span class="fa fa-play-circle"></span></button>';
778
+
779
+          $modal_body = '';
780
+          if ( ! empty( $giphy ) ) {
781
+               $giphy      = \lsx_health_plan\functions\get_video_url( $giphy );
782
+               $modal_body = $giphy; // WPCS: XSS OK.
783
+          } elseif ( ! empty( $youtube ) ) {
784
+               $modal_body = wp_oembed_get( $youtube, array( // WPCS: XSS OK.
785
+                    'width' => 480,
786
+               ) );
787
+          }
788
+          $modal_body .= '<h5 class="modal-title title-lined">' . $group['name'] . '</h5>';
789
+          $modal_body .= $content;
790
+          \lsx_health_plan\functions\register_modal( 'workout-video-modal-' . $m, '', $modal_body );
791
+
792
+          if ( true === $echo ) {
793
+               echo wp_kses_post( $play_button );
794
+          } else {
795
+               return $play_button;
796
+          }
797
+     }
798 798
 }
799 799
 
800 800
 /**
@@ -803,21 +803,21 @@  discard block
 block discarded – undo
803 803
  * @return void
804 804
  */
805 805
 function lsx_health_plan_recipe_archive_description() {
806
-	$description = '';
807
-	if ( is_post_type_archive( 'recipe' ) ) {
808
-		$description = \lsx_health_plan\functions\get_option( 'recipe_archive_description', '' );
809
-	} elseif ( is_post_type_archive( 'exercise' ) ) {
810
-		$description = \lsx_health_plan\functions\get_option( 'exercise_archive_description', '' );
811
-	} elseif ( is_tax() ) {
812
-		$description = get_the_archive_description();
813
-	}
814
-	if ( '' !== $description ) {
815
-		?>
806
+     $description = '';
807
+     if ( is_post_type_archive( 'recipe' ) ) {
808
+          $description = \lsx_health_plan\functions\get_option( 'recipe_archive_description', '' );
809
+     } elseif ( is_post_type_archive( 'exercise' ) ) {
810
+          $description = \lsx_health_plan\functions\get_option( 'exercise_archive_description', '' );
811
+     } elseif ( is_tax() ) {
812
+          $description = get_the_archive_description();
813
+     }
814
+     if ( '' !== $description ) {
815
+          ?>
816 816
 		<div class="lsx-hp-archive-description row">
817 817
 			<div class="col-xs-12 description-wrapper"><?php echo wp_kses_post( $description ); ?></div>
818 818
 		</div>
819 819
 		<?php
820
-	}
820
+     }
821 821
 }
822 822
 
823 823
 /**
@@ -826,24 +826,24 @@  discard block
 block discarded – undo
826 826
  * @return void
827 827
  */
828 828
 function lsx_health_plan_main_content() {
829
-	// Getting translated endpoint.
830
-	$plan = \lsx_health_plan\functions\get_option( 'endpoint_plan', 'plan' );
831
-
832
-	$connected_members = get_post_meta( get_the_ID(), ( $plan . '_connected_team_member' ), true );
833
-	$small_description = get_post_meta( get_the_ID(), ( $plan . '_short_description' ), true );
834
-
835
-	$content_plan = '';
836
-	if ( $small_description || $connected_members || lsx_health_plan_has_tips() ) {
837
-		$content_plan .= '<div class="set-box set content-box entry-content">';
838
-		$content_plan .= '<div class="the-content">';
839
-		$content_plan .= lsx_hp_member_connected( $connected_members, $plan );
840
-		$content_plan .= '<span>' . $small_description . '</span>';
841
-		$content_plan .= '</div>';
842
-		$content_plan .= do_shortcode( '[lsx_health_plan_featured_tips_block]' );
843
-		$content_plan .= '</div>';
844
-	}
845
-
846
-	return $content_plan;
829
+     // Getting translated endpoint.
830
+     $plan = \lsx_health_plan\functions\get_option( 'endpoint_plan', 'plan' );
831
+
832
+     $connected_members = get_post_meta( get_the_ID(), ( $plan . '_connected_team_member' ), true );
833
+     $small_description = get_post_meta( get_the_ID(), ( $plan . '_short_description' ), true );
834
+
835
+     $content_plan = '';
836
+     if ( $small_description || $connected_members || lsx_health_plan_has_tips() ) {
837
+          $content_plan .= '<div class="set-box set content-box entry-content">';
838
+          $content_plan .= '<div class="the-content">';
839
+          $content_plan .= lsx_hp_member_connected( $connected_members, $plan );
840
+          $content_plan .= '<span>' . $small_description . '</span>';
841
+          $content_plan .= '</div>';
842
+          $content_plan .= do_shortcode( '[lsx_health_plan_featured_tips_block]' );
843
+          $content_plan .= '</div>';
844
+     }
845
+
846
+     return $content_plan;
847 847
 }
848 848
 
849 849
 /**
@@ -852,23 +852,23 @@  discard block
 block discarded – undo
852 852
  * @return void
853 853
  */
854 854
 function lsx_health_plan_workout_main_content() {
855
-	// Getting translated endpoint.
856
-	$workout = \lsx_health_plan\functions\get_option( 'endpoint_workout', 'workout' );
857
-
858
-	$connected_members = get_post_meta( get_the_ID(), ( $workout . '_connected_team_member' ), true );
859
-	$small_description = get_post_meta( get_the_ID(), ( $workout . '_short_description' ), true );
860
-
861
-	$content = '';
862
-	if ( $small_description || $connected_members || lsx_health_plan_has_tips() ) {
863
-		$content .= '<div class="set-box set content-box entry-content">';
864
-		$content .= '<div class="the-content">';
865
-		$content .= lsx_hp_member_connected( $connected_members, $workout );
866
-		$content .= '<span>' . $small_description . '</span>';
867
-		$content .= '</div>';
868
-		$content .= do_shortcode( '[lsx_health_plan_featured_tips_block]' );
869
-		$content .= '</div>';
870
-	}
871
-	return $content;
855
+     // Getting translated endpoint.
856
+     $workout = \lsx_health_plan\functions\get_option( 'endpoint_workout', 'workout' );
857
+
858
+     $connected_members = get_post_meta( get_the_ID(), ( $workout . '_connected_team_member' ), true );
859
+     $small_description = get_post_meta( get_the_ID(), ( $workout . '_short_description' ), true );
860
+
861
+     $content = '';
862
+     if ( $small_description || $connected_members || lsx_health_plan_has_tips() ) {
863
+          $content .= '<div class="set-box set content-box entry-content">';
864
+          $content .= '<div class="the-content">';
865
+          $content .= lsx_hp_member_connected( $connected_members, $workout );
866
+          $content .= '<span>' . $small_description . '</span>';
867
+          $content .= '</div>';
868
+          $content .= do_shortcode( '[lsx_health_plan_featured_tips_block]' );
869
+          $content .= '</div>';
870
+     }
871
+     return $content;
872 872
 }
873 873
 
874 874
 /**
@@ -877,23 +877,23 @@  discard block
 block discarded – undo
877 877
  * @return void
878 878
  */
879 879
 function lsx_health_plan_meal_main_content() {
880
-	// Getting translated endpoint.
881
-	$meal = \lsx_health_plan\functions\get_option( 'endpoint_meal', 'meal' );
882
-
883
-	$connected_members = get_post_meta( get_the_ID(), ( $meal . '_connected_team_member' ), true );
884
-	$small_description = get_post_meta( get_the_ID(), ( $meal . '_short_description' ), true );
885
-
886
-	$content_meal = '';
887
-	if ( $small_description || $connected_members || lsx_health_plan_has_tips() ) {
888
-		$content_meal .= '<div class="set-box set content-box entry-content">';
889
-		$content_meal .= '<div class="the-content">';
890
-		$content_meal .= lsx_hp_member_connected( $connected_members, $meal );
891
-		$content_meal .= '<span>' . $small_description . '</span>';
892
-		$content_meal .= '</div>';
893
-		$content_meal .= do_shortcode( '[lsx_health_plan_featured_tips_block]' );
894
-		$content_meal .= '</div>';
895
-	}
896
-	return $content_meal;
880
+     // Getting translated endpoint.
881
+     $meal = \lsx_health_plan\functions\get_option( 'endpoint_meal', 'meal' );
882
+
883
+     $connected_members = get_post_meta( get_the_ID(), ( $meal . '_connected_team_member' ), true );
884
+     $small_description = get_post_meta( get_the_ID(), ( $meal . '_short_description' ), true );
885
+
886
+     $content_meal = '';
887
+     if ( $small_description || $connected_members || lsx_health_plan_has_tips() ) {
888
+          $content_meal .= '<div class="set-box set content-box entry-content">';
889
+          $content_meal .= '<div class="the-content">';
890
+          $content_meal .= lsx_hp_member_connected( $connected_members, $meal );
891
+          $content_meal .= '<span>' . $small_description . '</span>';
892
+          $content_meal .= '</div>';
893
+          $content_meal .= do_shortcode( '[lsx_health_plan_featured_tips_block]' );
894
+          $content_meal .= '</div>';
895
+     }
896
+     return $content_meal;
897 897
 }
898 898
 
899 899
 
@@ -904,36 +904,36 @@  discard block
 block discarded – undo
904 904
  * @return void
905 905
  */
906 906
 function lsx_health_plan_workout_tab_content( $index = 1 ) {
907
-	global $group_name,$shortcode_args;
908
-	$group_name = 'workout_section_' . $index;
909
-	if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
910
-		$layout = strtolower( \lsx_health_plan\functions\get_option( 'workout_tab_layout', 'table' ) );
911
-
912
-		// Check for shortcode overrides.
913
-		if ( null !== $shortcode_args && isset( $shortcode_args['layout'] ) ) {
914
-			$layout = $shortcode_args['layout'];
915
-		}
916
-	} else {
917
-		$layout = 'table';
918
-	}
919
-
920
-	switch ( $layout ) {
921
-		case 'list':
922
-			$tab_template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-list.php';
923
-			break;
924
-
925
-		case 'grid':
926
-			$tab_template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-grid.php';
927
-			break;
928
-
929
-		case 'table':
930
-			$tab_template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-table.php';
931
-			break;
932
-	}
933
-	$tab_template_path = apply_filters( 'lsx_health_plan_workout_tab_content_path', $tab_template_path );
934
-	if ( '' !== $tab_template_path ) {
935
-		include $tab_template_path;
936
-	}
907
+     global $group_name,$shortcode_args;
908
+     $group_name = 'workout_section_' . $index;
909
+     if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
910
+          $layout = strtolower( \lsx_health_plan\functions\get_option( 'workout_tab_layout', 'table' ) );
911
+
912
+          // Check for shortcode overrides.
913
+          if ( null !== $shortcode_args && isset( $shortcode_args['layout'] ) ) {
914
+               $layout = $shortcode_args['layout'];
915
+          }
916
+     } else {
917
+          $layout = 'table';
918
+     }
919
+
920
+     switch ( $layout ) {
921
+          case 'list':
922
+               $tab_template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-list.php';
923
+               break;
924
+
925
+          case 'grid':
926
+               $tab_template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-grid.php';
927
+               break;
928
+
929
+          case 'table':
930
+               $tab_template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-table.php';
931
+               break;
932
+     }
933
+     $tab_template_path = apply_filters( 'lsx_health_plan_workout_tab_content_path', $tab_template_path );
934
+     if ( '' !== $tab_template_path ) {
935
+          include $tab_template_path;
936
+     }
937 937
 }
938 938
 
939 939
 /**
@@ -942,28 +942,28 @@  discard block
 block discarded – undo
942 942
  * @return void
943 943
  */
944 944
 function lsx_health_plan_workout_sets() {
945
-	if ( is_singular( 'workout' ) ) {
946
-		global $connected_workouts;
947
-		$connected_workouts = array( get_the_ID() );
948
-	}
949
-	if ( is_singular( 'plan' ) ) {
950
-
951
-		global $connected_workouts;
952
-
953
-		$section_key  = get_query_var( 'section' );
954
-		if ( '' !== $section && \lsx_health_plan\functions\plan\has_sections() ) {
955
-			$section_info = \lsx_health_plan\functions\plan\get_section_info( $section_key );
956
-			if ( isset( $section_info['connected_workouts'] ) && '' !== $section_info['connected_workouts'] ) {
957
-
958
-				$connected_workouts = \lsx_health_plan\functions\prep_array( $section_info['connected_workouts'] );
959
-			}
960
-		}
961
-	}
962
-	$template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-sets.php';
963
-	$template_path = apply_filters( 'lsx_health_plan_workout_set_template_path', $template_path );
964
-	if ( '' !== $template_path && ! empty( $template_path ) ) {
965
-		include $template_path;
966
-	}
945
+     if ( is_singular( 'workout' ) ) {
946
+          global $connected_workouts;
947
+          $connected_workouts = array( get_the_ID() );
948
+     }
949
+     if ( is_singular( 'plan' ) ) {
950
+
951
+          global $connected_workouts;
952
+
953
+          $section_key  = get_query_var( 'section' );
954
+          if ( '' !== $section && \lsx_health_plan\functions\plan\has_sections() ) {
955
+               $section_info = \lsx_health_plan\functions\plan\get_section_info( $section_key );
956
+               if ( isset( $section_info['connected_workouts'] ) && '' !== $section_info['connected_workouts'] ) {
957
+
958
+                    $connected_workouts = \lsx_health_plan\functions\prep_array( $section_info['connected_workouts'] );
959
+               }
960
+          }
961
+     }
962
+     $template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-sets.php';
963
+     $template_path = apply_filters( 'lsx_health_plan_workout_set_template_path', $template_path );
964
+     if ( '' !== $template_path && ! empty( $template_path ) ) {
965
+          include $template_path;
966
+     }
967 967
 }
968 968
 
969 969
 /**
@@ -973,48 +973,48 @@  discard block
 block discarded – undo
973 973
  * @return void
974 974
  */
975 975
 function lsx_hp_meal_plan_recipes( $args = array() ) {
976
-	$defaults = array(
977
-		'meal_id'   => false,
978
-		'meal_time' => '',
979
-		'modal'     => true,
980
-	);
981
-	$args     = wp_parse_args( $args, $defaults );
982
-	// Looking for recipes.
983
-	$connected_recipes = get_post_meta( $args['meal_id'], $args['meal_time'] . '_recipes', true );
984
-	if ( ! empty( $connected_recipes ) ) {
985
-		$query_args    = array(
986
-			'orderby'   => 'date',
987
-			'order'     => 'DESC',
988
-			'post_type' => 'recipe',
989
-			'post__in'  => $connected_recipes,
990
-		);
991
-		$recipes = new WP_Query( $query_args );
992
-		?>
976
+     $defaults = array(
977
+          'meal_id'   => false,
978
+          'meal_time' => '',
979
+          'modal'     => true,
980
+     );
981
+     $args     = wp_parse_args( $args, $defaults );
982
+     // Looking for recipes.
983
+     $connected_recipes = get_post_meta( $args['meal_id'], $args['meal_time'] . '_recipes', true );
984
+     if ( ! empty( $connected_recipes ) ) {
985
+          $query_args    = array(
986
+               'orderby'   => 'date',
987
+               'order'     => 'DESC',
988
+               'post_type' => 'recipe',
989
+               'post__in'  => $connected_recipes,
990
+          );
991
+          $recipes = new WP_Query( $query_args );
992
+          ?>
993 993
 		<div class="recipes">
994 994
 			<div class="row eating-row">
995 995
 			<?php
996
-			if ( $recipes->have_posts() ) {
997
-				while ( $recipes->have_posts() ) {
998
-					$recipes->the_post();
999
-					if ( false !== $args['modal'] ) {
1000
-						\lsx_health_plan\functions\recipes\register_recipe_modal();
1001
-					}
1002
-					?>
996
+               if ( $recipes->have_posts() ) {
997
+                    while ( $recipes->have_posts() ) {
998
+                         $recipes->the_post();
999
+                         if ( false !== $args['modal'] ) {
1000
+                              \lsx_health_plan\functions\recipes\register_recipe_modal();
1001
+                         }
1002
+                         ?>
1003 1003
 					<div class="recipe-column">
1004 1004
 						<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">
1005 1005
 							<div class="recipe-feature-img">
1006 1006
 								<?php
1007
-								$featured_image = get_the_post_thumbnail();
1008
-								if ( ! empty( $featured_image ) && '' !== $featured_image ) {
1009
-									the_post_thumbnail( 'lsx-thumbnail-square', array(
1010
-										'class' => 'aligncenter',
1011
-									) );
1012
-								} else {
1013
-									?>
1007
+                                        $featured_image = get_the_post_thumbnail();
1008
+                                        if ( ! empty( $featured_image ) && '' !== $featured_image ) {
1009
+                                             the_post_thumbnail( 'lsx-thumbnail-square', array(
1010
+                                                  'class' => 'aligncenter',
1011
+                                             ) );
1012
+                                        } else {
1013
+                                             ?>
1014 1014
 									<img loading="lazy" src="<?php echo esc_attr( plugin_dir_url( __DIR__ ) . 'assets/images/placeholder.jpg' ); ?>">
1015 1015
 									<?php
1016
-								}
1017
-								?>
1016
+                                        }
1017
+                                        ?>
1018 1018
 							</div>
1019 1019
 							<div class="recipe-content">
1020 1020
 								<h3 class="recipe-title"><?php the_title(); ?></h3>
@@ -1023,41 +1023,41 @@  discard block
 block discarded – undo
1023 1023
 						</a>
1024 1024
 					</div>
1025 1025
 				<?php
1026
-				}
1027
-			}
1028
-			wp_reset_postdata();
1029
-			?>
1026
+                    }
1027
+               }
1028
+               wp_reset_postdata();
1029
+               ?>
1030 1030
 			</div>
1031 1031
 		</div>
1032 1032
 		<?php
1033 1033
 
1034
-	}
1034
+     }
1035 1035
 }
1036 1036
 
1037 1037
 /**
1038 1038
  * Output the connected.
1039 1039
  */
1040 1040
 function lsx_hp_recipe_plan_meta( $args = array() ) {
1041
-	$defaults = array();
1042
-	$top_level_plans = array();
1043
-	// Get meals this exercise is connected to.
1044
-	$plans = get_post_meta( get_the_ID(), 'connected_plans', true );
1045
-	if ( ! empty( $plans ) ) {
1046
-		$plan       = end( $plans );
1047
-		$has_parent = wp_get_post_parent_id( $plan );
1048
-		if ( 0 === $has_parent ) {
1049
-			$top_level_plans[] = $plan;
1050
-		} elseif ( false !== $top_level_plans ) {
1051
-			$top_level_plans[] = $has_parent;
1052
-		}
1053
-	}
1054
-	if ( ! empty( $top_level_plans ) && ( '' !== $top_level_plans ) ) {
1055
-		$top_level_plans = array_unique( $top_level_plans );
1056
-		$top_level_plan  = end( $top_level_plans );
1057
-		?>
1041
+     $defaults = array();
1042
+     $top_level_plans = array();
1043
+     // Get meals this exercise is connected to.
1044
+     $plans = get_post_meta( get_the_ID(), 'connected_plans', true );
1045
+     if ( ! empty( $plans ) ) {
1046
+          $plan       = end( $plans );
1047
+          $has_parent = wp_get_post_parent_id( $plan );
1048
+          if ( 0 === $has_parent ) {
1049
+               $top_level_plans[] = $plan;
1050
+          } elseif ( false !== $top_level_plans ) {
1051
+               $top_level_plans[] = $has_parent;
1052
+          }
1053
+     }
1054
+     if ( ! empty( $top_level_plans ) && ( '' !== $top_level_plans ) ) {
1055
+          $top_level_plans = array_unique( $top_level_plans );
1056
+          $top_level_plan  = end( $top_level_plans );
1057
+          ?>
1058 1058
 			<span class="recipe-type recipe-parent"><?php echo esc_html( get_the_title( $top_level_plan ) ); ?></span>
1059 1059
 		<?php
1060
-	}
1060
+     }
1061 1061
 }
1062 1062
 
1063 1063
 /**
@@ -1065,42 +1065,42 @@  discard block
 block discarded – undo
1065 1065
  */
1066 1066
 function lsx_hp_exercise_plan_meta() {
1067 1067
 
1068
-	$top_level_plans = array();
1069
-
1070
-	// Get workouts this exercise is connected to.
1071
-	$workouts = get_post_meta( get_the_ID(), 'connected_workouts', true );
1072
-
1073
-	if ( '' !== $workouts && ! is_array( $workouts ) ) {
1074
-		$workouts = array( $workouts );
1075
-	}
1076
-	if ( ! empty( $workouts ) ) {
1077
-		foreach ( $workouts as $workout ) {
1078
-			// Get the plans this workout is connected to.
1079
-			$plans = get_post_meta( $workout, 'connected_plans', true );
1080
-
1081
-			if ( '' !== $plans && ! is_array( $plans ) ) {
1082
-				$plans = array( $plans );
1083
-			}
1084
-			if ( ! empty( $plans ) ) {
1085
-				foreach ( $plans as $plan ) {
1086
-					$has_parent = wp_get_post_parent_id( $plan );
1087
-					if ( 0 === $has_parent ) {
1088
-						$top_level_plans = $plan;
1089
-					} else {
1090
-						$top_level_plans = $has_parent;
1091
-					}
1092
-				}
1093
-			}
1094
-		}
1095
-	}
1096
-
1097
-	if ( ! empty( $top_level_plans ) && ( '' !== $top_level_plans ) ) {
1098
-		$top_level_plans = array_unique( $top_level_plans );
1099
-		$top_level_plan  = end( $top_level_plans );
1100
-		?>
1068
+     $top_level_plans = array();
1069
+
1070
+     // Get workouts this exercise is connected to.
1071
+     $workouts = get_post_meta( get_the_ID(), 'connected_workouts', true );
1072
+
1073
+     if ( '' !== $workouts && ! is_array( $workouts ) ) {
1074
+          $workouts = array( $workouts );
1075
+     }
1076
+     if ( ! empty( $workouts ) ) {
1077
+          foreach ( $workouts as $workout ) {
1078
+               // Get the plans this workout is connected to.
1079
+               $plans = get_post_meta( $workout, 'connected_plans', true );
1080
+
1081
+               if ( '' !== $plans && ! is_array( $plans ) ) {
1082
+                    $plans = array( $plans );
1083
+               }
1084
+               if ( ! empty( $plans ) ) {
1085
+                    foreach ( $plans as $plan ) {
1086
+                         $has_parent = wp_get_post_parent_id( $plan );
1087
+                         if ( 0 === $has_parent ) {
1088
+                              $top_level_plans = $plan;
1089
+                         } else {
1090
+                              $top_level_plans = $has_parent;
1091
+                         }
1092
+                    }
1093
+               }
1094
+          }
1095
+     }
1096
+
1097
+     if ( ! empty( $top_level_plans ) && ( '' !== $top_level_plans ) ) {
1098
+          $top_level_plans = array_unique( $top_level_plans );
1099
+          $top_level_plan  = end( $top_level_plans );
1100
+          ?>
1101 1101
 			<span class="recipe-type recipe-parent"><?php echo esc_html( get_the_title( $top_level_plan ) ); ?></span>
1102 1102
 		<?php
1103
-	}
1103
+     }
1104 1104
 }
1105 1105
 
1106 1106
 /**
@@ -1110,7 +1110,7 @@  discard block
 block discarded – undo
1110 1110
  * @return void
1111 1111
  */
1112 1112
 function lsx_hp_single_related( $related_content, $post_type_text ) {
1113
-	?>
1113
+     ?>
1114 1114
 	<section id="lsx-hp-related">
1115 1115
 		<div class="row lsx-related-posts lsx-related-posts-title">
1116 1116
 			<div class="col-xs-12">
@@ -1121,13 +1121,13 @@  discard block
 block discarded – undo
1121 1121
 			<div class="col-xs-12">
1122 1122
 				<div class="lsx-related-posts-wrapper">
1123 1123
 					<?php
1124
-					foreach ( $related_content as $article ) {
1125
-						$post_title      = get_the_title( $article );
1126
-						$post_categories = wp_get_post_categories( $article );
1127
-						$post_link       = get_permalink( $article );
1124
+                         foreach ( $related_content as $article ) {
1125
+                              $post_title      = get_the_title( $article );
1126
+                              $post_categories = wp_get_post_categories( $article );
1127
+                              $post_link       = get_permalink( $article );
1128 1128
 
1129
-						$cats = array();
1130
-						?>
1129
+                              $cats = array();
1130
+                              ?>
1131 1131
 						<article id="post-<?php echo esc_html( $article ); ?>" class="lsx-slot post">
1132 1132
 							<div class="entry-layout lsx-hp-shadow">
1133 1133
 								<div class="entry-layout-content">
@@ -1135,25 +1135,25 @@  discard block
 block discarded – undo
1135 1135
 										<div class="entry-image">
1136 1136
 											<a href="<?php echo esc_url( $post_link ); ?>" class="thumbnail">
1137 1137
 											<?php
1138
-											$featured_image = get_the_post_thumbnail( $article, 'lsx-thumbnail-wide' );
1139
-											if ( ! empty( $featured_image ) && '' !== $featured_image ) {
1140
-												echo wp_kses_post( $featured_image );
1141
-											} else {
1142
-												?>
1138
+                                                       $featured_image = get_the_post_thumbnail( $article, 'lsx-thumbnail-wide' );
1139
+                                                       if ( ! empty( $featured_image ) && '' !== $featured_image ) {
1140
+                                                            echo wp_kses_post( $featured_image );
1141
+                                                       } else {
1142
+                                                            ?>
1143 1143
 												<img loading="lazy" class="placeholder" src="<?php echo esc_attr( plugin_dir_url( __FILE__ ) . '../assets/images/placeholder.jpg' ); ?>">
1144 1144
 												<?php
1145
-											}
1146
-											?>
1145
+                                                       }
1146
+                                                       ?>
1147 1147
 											</a>
1148 1148
 										</div>
1149 1149
 										<div class="entry-meta">
1150 1150
 										<?php
1151
-										foreach ( $post_categories as $c ) {
1152
-											$cat = get_category( $c );
1153
-											/* Translators: %s: category name */
1154
-											$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>';
1155
-										}
1156
-										if ( ! empty( $cats ) ) { ?>
1151
+                                                  foreach ( $post_categories as $c ) {
1152
+                                                       $cat = get_category( $c );
1153
+                                                       /* Translators: %s: category name */
1154
+                                                       $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>';
1155
+                                                  }
1156
+                                                  if ( ! empty( $cats ) ) { ?>
1157 1157
 											<div class="post-categories"><span></span><?php echo wp_kses_post( implode( ', ', $cats ) ); ?></div>
1158 1158
 										<?php } ?>
1159 1159
 										</div>
@@ -1182,32 +1182,32 @@  discard block
 block discarded – undo
1182 1182
  * @return void
1183 1183
  */
1184 1184
 function lsx_hp_member_connected( $connected_members, $post_type ) {
1185
-	if ( ! empty( $connected_members ) ) {
1186
-		$content = '<div id="hp-connected-members" class="hp-connected-members connected-' . $post_type . '">';
1187
-		foreach ( $connected_members as $member ) {
1188
-			$post_link   = get_permalink( $member );
1189
-			$member_name = get_the_title( $member );
1190
-			$member_name = '<span class="lsx-team-name">' . $member_name . '</span>';
1191
-
1192
-			$member_link = '<a href="' . $post_link . '" >' . $member_name . '</a>';
1193
-
1194
-			$roles = '';
1195
-			$terms = get_the_terms( $member, 'team_role' );
1196
-
1197
-			if ( $terms && ! is_wp_error( $terms ) ) {
1198
-				$roles = array();
1199
-
1200
-				foreach ( $terms as $term ) {
1201
-					$roles[] = $term->name;
1202
-				}
1203
-
1204
-				$roles = join( ', ', $roles );
1205
-			}
1206
-			$member_roles = '' !== $roles ? "<small class='lsx-team-roles'>$roles</small>" : '';
1207
-
1208
-			$content .= '<p>' . $member_roles . ': ' . $member_link . '</p>';
1209
-		}
1210
-		$content .= '</div>';
1211
-		return $content;
1212
-	}
1185
+     if ( ! empty( $connected_members ) ) {
1186
+          $content = '<div id="hp-connected-members" class="hp-connected-members connected-' . $post_type . '">';
1187
+          foreach ( $connected_members as $member ) {
1188
+               $post_link   = get_permalink( $member );
1189
+               $member_name = get_the_title( $member );
1190
+               $member_name = '<span class="lsx-team-name">' . $member_name . '</span>';
1191
+
1192
+               $member_link = '<a href="' . $post_link . '" >' . $member_name . '</a>';
1193
+
1194
+               $roles = '';
1195
+               $terms = get_the_terms( $member, 'team_role' );
1196
+
1197
+               if ( $terms && ! is_wp_error( $terms ) ) {
1198
+                    $roles = array();
1199
+
1200
+                    foreach ( $terms as $term ) {
1201
+                         $roles[] = $term->name;
1202
+                    }
1203
+
1204
+                    $roles = join( ', ', $roles );
1205
+               }
1206
+               $member_roles = '' !== $roles ? "<small class='lsx-team-roles'>$roles</small>" : '';
1207
+
1208
+               $content .= '<p>' . $member_roles . ': ' . $member_link . '</p>';
1209
+          }
1210
+          $content .= '</div>';
1211
+          return $content;
1212
+     }
1213 1213
 }
Please login to merge, or discard this patch.
includes/functions.php 1 patch
Indentation   +272 added lines, -272 removed lines patch added patch discarded remove patch
@@ -17,27 +17,27 @@  discard block
 block discarded – undo
17 17
  * @return boolean
18 18
  */
19 19
 function has_attached_post( $post_id = '', $meta_key = '', $single = true ) {
20
-	$has_post = false;
21
-	if ( '' === $post_id ) {
22
-		$post_id = get_the_ID();
23
-	}
24
-	$items = get_post_meta( $post_id, $meta_key, $single );
25
-	if ( '' !== $items && false !== $items && 0 !== $items ) {
26
-		if ( ! is_array( $items ) ) {
27
-			$items = array( $items );
28
-		}
29
-		$items = check_posts_exist( $items );
30
-		if ( ! empty( $items ) ) {
31
-			$has_post = true;
32
-		}
33
-	} else {
34
-		// Check for defaults.
35
-		$options = get_option( 'all' );
36
-		if ( isset( $options[ $meta_key ] ) && '' !== $options[ $meta_key ] && ! empty( $options[ $meta_key ] ) ) {
37
-			$has_post = true;
38
-		}
39
-	}
40
-	return $has_post;
20
+     $has_post = false;
21
+     if ( '' === $post_id ) {
22
+          $post_id = get_the_ID();
23
+     }
24
+     $items = get_post_meta( $post_id, $meta_key, $single );
25
+     if ( '' !== $items && false !== $items && 0 !== $items ) {
26
+          if ( ! is_array( $items ) ) {
27
+               $items = array( $items );
28
+          }
29
+          $items = check_posts_exist( $items );
30
+          if ( ! empty( $items ) ) {
31
+               $has_post = true;
32
+          }
33
+     } else {
34
+          // Check for defaults.
35
+          $options = get_option( 'all' );
36
+          if ( isset( $options[ $meta_key ] ) && '' !== $options[ $meta_key ] && ! empty( $options[ $meta_key ] ) ) {
37
+               $has_post = true;
38
+          }
39
+     }
40
+     return $has_post;
41 41
 }
42 42
 
43 43
 /**
@@ -48,18 +48,18 @@  discard block
 block discarded – undo
48 48
  * @return mixed           Option value
49 49
  */
50 50
 function get_option( $key = '', $default = false ) {
51
-	if ( function_exists( 'cmb2_get_option' ) ) {
52
-		return cmb2_get_option( 'lsx_health_plan_options', $key, $default );
53
-	}
54
-	// Fallback to get_option if CMB2 is not loaded yet.
55
-	$opts = \get_option( 'lsx_health_plan_options', $default );
56
-	$val  = $default;
57
-	if ( 'all' === $key ) {
58
-		$val = $opts;
59
-	} elseif ( is_array( $opts ) && array_key_exists( $key, $opts ) && false !== $opts[ $key ] ) {
60
-		$val = $opts[ $key ];
61
-	}
62
-	return $val;
51
+     if ( function_exists( 'cmb2_get_option' ) ) {
52
+          return cmb2_get_option( 'lsx_health_plan_options', $key, $default );
53
+     }
54
+     // Fallback to get_option if CMB2 is not loaded yet.
55
+     $opts = \get_option( 'lsx_health_plan_options', $default );
56
+     $val  = $default;
57
+     if ( 'all' === $key ) {
58
+          $val = $opts;
59
+     } elseif ( is_array( $opts ) && array_key_exists( $key, $opts ) && false !== $opts[ $key ] ) {
60
+          $val = $opts[ $key ];
61
+     }
62
+     return $val;
63 63
 }
64 64
 
65 65
 /**
@@ -70,54 +70,54 @@  discard block
 block discarded – undo
70 70
  * @return mixed           Option value
71 71
  */
72 72
 function get_downloads( $type = 'all', $post_id = '' ) {
73
-	$lsx_health_plan = \lsx_health_plan();
74
-	$post_types      = $lsx_health_plan->get_post_types();
75
-	if ( '' === $post_id ) {
76
-		$post_id = get_the_ID();
77
-	}
78
-	$downloads = array();
79
-	$options   = get_option( 'all' );
80
-
81
-	foreach ( $post_types as $post_type ) {
82
-		if ( 'all' === $type || in_array( $type, $post_types, true ) ) {
83
-
84
-			// Get the default downloads for this post type.
85
-			$default_downloads = array();
86
-			$new_downloads     = array();
87
-			if ( isset( $options[ 'download_' . $post_type ] ) ) {
88
-				if ( is_array( $options[ 'download_' . $post_type ] ) ) {
89
-					$default_downloads = $options[ 'download_' . $post_type ];
90
-				} else {
91
-					$default_downloads[] = $options[ 'download_' . $post_type ];
92
-				}
93
-			}
94
-
95
-			if ( 'page' === $post_type ) {
96
-				$key = 'plan_warmup';
97
-			} else {
98
-				$key = 'connected_' . $post_type . 's';
99
-			}
100
-
101
-			$connected_items = get_post_meta( $post_id, $key, true );
102
-			if ( ! empty( $connected_items ) ) {
103
-				foreach ( $connected_items as $connected_item ) {
104
-					$current_downloads = get_post_meta( $connected_item, 'connected_downloads', true );
105
-					if ( false !== $current_downloads && ! empty( $current_downloads ) ) {
106
-						$new_downloads = array_merge( $new_downloads, $current_downloads );
107
-					}
108
-				}
109
-			}
110
-
111
-			if ( ! empty( $new_downloads ) ) {
112
-				$downloads = array_merge( $downloads, $new_downloads );
113
-			} elseif ( ! empty( $default_downloads ) ) {
114
-				$downloads = array_merge( $downloads, $default_downloads );
115
-			}
116
-			$downloads = array_unique( $downloads );
117
-		}
118
-	}
119
-	$downloads = check_posts_exist( $downloads );
120
-	return $downloads;
73
+     $lsx_health_plan = \lsx_health_plan();
74
+     $post_types      = $lsx_health_plan->get_post_types();
75
+     if ( '' === $post_id ) {
76
+          $post_id = get_the_ID();
77
+     }
78
+     $downloads = array();
79
+     $options   = get_option( 'all' );
80
+
81
+     foreach ( $post_types as $post_type ) {
82
+          if ( 'all' === $type || in_array( $type, $post_types, true ) ) {
83
+
84
+               // Get the default downloads for this post type.
85
+               $default_downloads = array();
86
+               $new_downloads     = array();
87
+               if ( isset( $options[ 'download_' . $post_type ] ) ) {
88
+                    if ( is_array( $options[ 'download_' . $post_type ] ) ) {
89
+                         $default_downloads = $options[ 'download_' . $post_type ];
90
+                    } else {
91
+                         $default_downloads[] = $options[ 'download_' . $post_type ];
92
+                    }
93
+               }
94
+
95
+               if ( 'page' === $post_type ) {
96
+                    $key = 'plan_warmup';
97
+               } else {
98
+                    $key = 'connected_' . $post_type . 's';
99
+               }
100
+
101
+               $connected_items = get_post_meta( $post_id, $key, true );
102
+               if ( ! empty( $connected_items ) ) {
103
+                    foreach ( $connected_items as $connected_item ) {
104
+                         $current_downloads = get_post_meta( $connected_item, 'connected_downloads', true );
105
+                         if ( false !== $current_downloads && ! empty( $current_downloads ) ) {
106
+                              $new_downloads = array_merge( $new_downloads, $current_downloads );
107
+                         }
108
+                    }
109
+               }
110
+
111
+               if ( ! empty( $new_downloads ) ) {
112
+                    $downloads = array_merge( $downloads, $new_downloads );
113
+               } elseif ( ! empty( $default_downloads ) ) {
114
+                    $downloads = array_merge( $downloads, $default_downloads );
115
+               }
116
+               $downloads = array_unique( $downloads );
117
+          }
118
+     }
119
+     $downloads = check_posts_exist( $downloads );
120
+     return $downloads;
121 121
 }
122 122
 
123 123
 /**
@@ -127,35 +127,35 @@  discard block
 block discarded – undo
127 127
  * @return array           an array of the downloads or empty.
128 128
  */
129 129
 function get_weekly_downloads( $week = '' ) {
130
-	$downloads = array();
131
-	if ( '' !== $week ) {
132
-		$saved_downloads = get_transient( 'lsx_hp_weekly_downloads_' . $week );
133
-		if ( false !== $saved_downloads && ! empty( $saved_downloads ) ) {
134
-			$downloads = $saved_downloads;
135
-		} else {
136
-			$args = array(
137
-				'orderby'        => 'title',
138
-				'order'          => 'ASC',
139
-				'post_type'      => 'dlm_download',
140
-				'posts_per_page' => -1,
141
-				'nopagin'        => true,
142
-				'fields'         => 'ids',
143
-				'tax_query'      => array(
144
-					array(
145
-						'taxonomy' => 'dlm_download_category',
146
-						'field'    => 'slug',
147
-						'terms'    => array( $week ),
148
-					),
149
-				),
150
-			);
151
-			$download_query = new \WP_Query( $args );
152
-			if ( $download_query->have_posts() ) {
153
-				$downloads = $download_query->posts;
154
-			}
155
-		}
156
-	}
157
-	$downloads = check_posts_exist( $downloads );
158
-	return $downloads;
130
+     $downloads = array();
131
+     if ( '' !== $week ) {
132
+          $saved_downloads = get_transient( 'lsx_hp_weekly_downloads_' . $week );
133
+          if ( false !== $saved_downloads && ! empty( $saved_downloads ) ) {
134
+               $downloads = $saved_downloads;
135
+          } else {
136
+               $args = array(
137
+                    'orderby'        => 'title',
138
+                    'order'          => 'ASC',
139
+                    'post_type'      => 'dlm_download',
140
+                    'posts_per_page' => -1,
141
+                    'nopagin'        => true,
142
+                    'fields'         => 'ids',
143
+                    'tax_query'      => array(
144
+                         array(
145
+                              'taxonomy' => 'dlm_download_category',
146
+                              'field'    => 'slug',
147
+                              'terms'    => array( $week ),
148
+                         ),
149
+                    ),
150
+               );
151
+               $download_query = new \WP_Query( $args );
152
+               if ( $download_query->have_posts() ) {
153
+                    $downloads = $download_query->posts;
154
+               }
155
+          }
156
+     }
157
+     $downloads = check_posts_exist( $downloads );
158
+     return $downloads;
159 159
 }
160 160
 
161 161
 /**
@@ -165,22 +165,22 @@  discard block
 block discarded – undo
165 165
  * @return void
166 166
  */
167 167
 function check_posts_exist( $post_ids = array() ) {
168
-	$new_ids = array();
169
-	global $wpdb;
170
-	if ( is_array( $post_ids ) && ! empty( $post_ids ) ) {
171
-		$post_ids = "'" . implode( "','", $post_ids ) . "'";
172
-		$query    = "
168
+     $new_ids = array();
169
+     global $wpdb;
170
+     if ( is_array( $post_ids ) && ! empty( $post_ids ) ) {
171
+          $post_ids = "'" . implode( "','", $post_ids ) . "'";
172
+          $query    = "
173 173
 			SELECT `ID` 
174 174
 			FROM `{$wpdb->posts}`
175 175
 			WHERE `ID` IN ({$post_ids})
176 176
 			AND `post_status` != 'trash'
177 177
 		";
178
-		$results = $wpdb->get_results( $query ); // WPCS: unprepared SQL
179
-		if ( ! empty( $results ) ) {
180
-			$new_ids = wp_list_pluck( $results, 'ID' );
181
-		}
182
-	}
183
-	return $new_ids;
178
+          $results = $wpdb->get_results( $query ); // WPCS: unprepared SQL
179
+          if ( ! empty( $results ) ) {
180
+               $new_ids = wp_list_pluck( $results, 'ID' );
181
+          }
182
+     }
183
+     return $new_ids;
184 184
 }
185 185
 
186 186
 /**
@@ -192,13 +192,13 @@  discard block
 block discarded – undo
192 192
  * @return void
193 193
  */
194 194
 function register_modal( $id = '', $title = '', $body = '' ) {
195
-	lsx_health_plan()->frontend->modals->register_modal(
196
-		array(
197
-			'title' => $title,
198
-			'body'  => $body,
199
-		),
200
-		$id
201
-	);
195
+     lsx_health_plan()->frontend->modals->register_modal(
196
+          array(
197
+               'title' => $title,
198
+               'body'  => $body,
199
+          ),
200
+          $id
201
+     );
202 202
 }
203 203
 
204 204
 /**
@@ -208,13 +208,13 @@  discard block
 block discarded – undo
208 208
  * @return void
209 209
  */
210 210
 function output_modal( $args = array() ) {
211
-	$defaults = array(
212
-		'id'    => '',
213
-		'title' => '',
214
-		'body'  => '',
215
-	);
216
-	$args     = wp_parse_args( $args, $defaults );
217
-	?>
211
+     $defaults = array(
212
+          'id'    => '',
213
+          'title' => '',
214
+          'body'  => '',
215
+     );
216
+     $args     = wp_parse_args( $args, $defaults );
217
+     ?>
218 218
 	<!-- Modal -->
219 219
 	<div class="modal fade lsx-health-plan-modal" id="<?php echo esc_html( $args['id'] ); ?>" tabindex="-1" role="dialog" aria-labelledby="<?php echo esc_html( $args['id'] ); ?>"  aria-hidden="true">
220 220
 		<div class="modal-dialog" role="document">
@@ -222,36 +222,36 @@  discard block
 block discarded – undo
222 222
 			<button type="button" class="close" data-dismiss="modal">&times;</button>			
223 223
 				<div class="modal-header">
224 224
 					<?php
225
-					if ( '' !== $args['title'] ) {
226
-						echo wp_kses_post( '<h2>' . $args['title'] . '</h2>' );
227
-					}
228
-					?>
225
+                         if ( '' !== $args['title'] ) {
226
+                              echo wp_kses_post( '<h2>' . $args['title'] . '</h2>' );
227
+                         }
228
+                         ?>
229 229
 				</div>
230 230
 				<div class="modal-body">
231 231
 				<?php
232
-				if ( '' !== $args['body'] ) {
233
-					$allowed_html = array(
234
-						'iframe' => array(
235
-							'data-src'        => array(),
236
-							'src'             => array(),
237
-							'width'           => array(),
238
-							'height'          => array(),
239
-							'frameBorder'     => array( '0' ),
240
-							'class'           => array(),
241
-							'allowFullScreen' => array(),
242
-							'style'           => array(),
243
-						),
244
-						'h5'     => array(
245
-							'class' => array(),
246
-						),
247
-					);
248
-					if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
249
-						echo wp_kses_post( $args['body'] );
250
-					} else {
251
-						echo wp_kses( $args['body'], $allowed_html );
252
-					}
253
-				}
254
-				?>
232
+                    if ( '' !== $args['body'] ) {
233
+                         $allowed_html = array(
234
+                              'iframe' => array(
235
+                                   'data-src'        => array(),
236
+                                   'src'             => array(),
237
+                                   'width'           => array(),
238
+                                   'height'          => array(),
239
+                                   'frameBorder'     => array( '0' ),
240
+                                   'class'           => array(),
241
+                                   'allowFullScreen' => array(),
242
+                                   'style'           => array(),
243
+                              ),
244
+                              'h5'     => array(
245
+                                   'class' => array(),
246
+                              ),
247
+                         );
248
+                         if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
249
+                              echo wp_kses_post( $args['body'] );
250
+                         } else {
251
+                              echo wp_kses( $args['body'], $allowed_html );
252
+                         }
253
+                    }
254
+                    ?>
255 255
 				</div>
256 256
 			</div>
257 257
 		</div>
@@ -267,18 +267,18 @@  discard block
 block discarded – undo
267 267
  * @return void
268 268
  */
269 269
 function get_video_url( $embed ) {
270
-	$url = '';
271
-	if ( false !== stripos( $embed, '<iframe' ) ) {
272
-		preg_match( '/src="([^"]+)"/', $embed, $match );
273
-		if ( is_array( $match ) && isset( $match[1] ) ) {
274
-			$url = '<iframe data-src="' . $match[1] . '" style="border: 0;" frameBorder="0" class="giphy-embed" allowFullScreen height="300" width="100%"></iframe>';
275
-		} else {
276
-			$url = $embed;
277
-		}
278
-	} else {
279
-		$url = $embed;
280
-	}
281
-	return $url;
270
+     $url = '';
271
+     if ( false !== stripos( $embed, '<iframe' ) ) {
272
+          preg_match( '/src="([^"]+)"/', $embed, $match );
273
+          if ( is_array( $match ) && isset( $match[1] ) ) {
274
+               $url = '<iframe data-src="' . $match[1] . '" style="border: 0;" frameBorder="0" class="giphy-embed" allowFullScreen height="300" width="100%"></iframe>';
275
+          } else {
276
+               $url = $embed;
277
+          }
278
+     } else {
279
+          $url = $embed;
280
+     }
281
+     return $url;
282 282
 }
283 283
 
284 284
 /**
@@ -289,18 +289,18 @@  discard block
 block discarded – undo
289 289
  * @return boolean
290 290
  */
291 291
 function is_week_complete( $term_id = false, $section_keys = array(), $group_title = '' ) {
292
-	$return = false;
293
-	if ( ! empty( $section_keys ) ) {
294
-		$group_count = count( $section_keys );
295
-		foreach ( $section_keys as &$pid ) {
296
-			$pid = 'day_' . \lsx_health_plan\functions\plan\generate_section_id( $pid ) . '_complete';
297
-		}
298
-		$days_complete = get_meta_amounts( $section_keys );
299
-		if ( (int) $group_count === (int) $days_complete ) {
300
-			$return = true;
301
-		}
302
-	}
303
-	return $return;
292
+     $return = false;
293
+     if ( ! empty( $section_keys ) ) {
294
+          $group_count = count( $section_keys );
295
+          foreach ( $section_keys as &$pid ) {
296
+               $pid = 'day_' . \lsx_health_plan\functions\plan\generate_section_id( $pid ) . '_complete';
297
+          }
298
+          $days_complete = get_meta_amounts( $section_keys );
299
+          if ( (int) $group_count === (int) $days_complete ) {
300
+               $return = true;
301
+          }
302
+     }
303
+     return $return;
304 304
 }
305 305
 
306 306
 /**
@@ -311,23 +311,23 @@  discard block
 block discarded – undo
311 311
  * @return void
312 312
  */
313 313
 function get_meta_amounts( $post_ids = array() ) {
314
-	global $wpdb;
315
-	$amount       = 0;
316
-	$current_user = wp_get_current_user();
317
-	if ( false !== $current_user && ! empty( $post_ids ) ) {
318
-		$post_ids = "'" . implode( "','", $post_ids ) . "'";
319
-		$query    = "
314
+     global $wpdb;
315
+     $amount       = 0;
316
+     $current_user = wp_get_current_user();
317
+     if ( false !== $current_user && ! empty( $post_ids ) ) {
318
+          $post_ids = "'" . implode( "','", $post_ids ) . "'";
319
+          $query    = "
320 320
 			SELECT COUNT(`meta_value`) 
321 321
 			FROM `{$wpdb->usermeta}`
322 322
 			WHERE `meta_key` IN ({$post_ids})
323 323
 			AND `user_id` = '{$current_user->ID}'
324 324
 		";
325
-		$results  = $wpdb->get_var( $query ); // WPCS: unprepared SQL
326
-		if ( ! empty( $results ) ) {
327
-			$amount = $results;
328
-		}
329
-	}
330
-	return $amount;
325
+          $results  = $wpdb->get_var( $query ); // WPCS: unprepared SQL
326
+          if ( ! empty( $results ) ) {
327
+               $amount = $results;
328
+          }
329
+     }
330
+     return $amount;
331 331
 }
332 332
 
333 333
 /**
@@ -337,39 +337,39 @@  discard block
 block discarded – undo
337 337
  * @return void
338 338
  */
339 339
 function hp_get_plan_type_meta( $post ) {
340
-	$plan_meta = '';
340
+     $plan_meta = '';
341 341
 
342
-	$term_obj_list = get_the_terms( $post->ID, 'plan-type' );
343
-	if ( false !== $term_obj_list ) {
344
-		$terms_string  = join( ' & ', wp_list_pluck( $term_obj_list, 'name' ) );
345
-		$terms_ids     = wp_list_pluck( $term_obj_list, 'term_id' );
342
+     $term_obj_list = get_the_terms( $post->ID, 'plan-type' );
343
+     if ( false !== $term_obj_list ) {
344
+          $terms_string  = join( ' & ', wp_list_pluck( $term_obj_list, 'name' ) );
345
+          $terms_ids     = wp_list_pluck( $term_obj_list, 'term_id' );
346 346
 
347
-		foreach ( $terms_ids as $terms_id ) {
348
-			$term_thumbnail_id = get_term_meta( $terms_id, 'thumbnail', true );
349
-			$img               = wp_get_attachment_image_src( $term_thumbnail_id, 'thumbnail' );
350
-			if ( ! empty( $img ) ) {
351
-				$image_url         = $img[0];
352
-				$img               = '<img loading="lazy" alt="thumbnail" style="width:24px; height: auto;" class="attachment-responsive wp-post-image lsx-responsive" src="' . esc_url( $image_url ) . '" />';
353
-			}
347
+          foreach ( $terms_ids as $terms_id ) {
348
+               $term_thumbnail_id = get_term_meta( $terms_id, 'thumbnail', true );
349
+               $img               = wp_get_attachment_image_src( $term_thumbnail_id, 'thumbnail' );
350
+               if ( ! empty( $img ) ) {
351
+                    $image_url         = $img[0];
352
+                    $img               = '<img loading="lazy" alt="thumbnail" style="width:24px; height: auto;" class="attachment-responsive wp-post-image lsx-responsive" src="' . esc_url( $image_url ) . '" />';
353
+               }
354 354
 
355
-			$plan_meta .= $img;
356
-		}
355
+               $plan_meta .= $img;
356
+          }
357 357
 
358
-		$plan_meta = '<div class="plan-meta">' . $plan_meta . '<span>' . $terms_string . '</span></div>';
359
-	}
358
+          $plan_meta = '<div class="plan-meta">' . $plan_meta . '<span>' . $terms_string . '</span></div>';
359
+     }
360 360
 
361
-	return $plan_meta;
361
+     return $plan_meta;
362 362
 }
363 363
 
364 364
 /**
365 365
  * Limit media library access
366 366
  */
367 367
 function set_only_author( $wp_query ) {
368
-	global $current_user;
369
-	if ( is_admin() && ! current_user_can( 'edit_others_posts' ) ) {
370
-		$wp_query->set( 'administrator', $current_user->ID );
371
-		add_filter( 'views_upload', 'fix_media_counts' );
372
-	}
368
+     global $current_user;
369
+     if ( is_admin() && ! current_user_can( 'edit_others_posts' ) ) {
370
+          $wp_query->set( 'administrator', $current_user->ID );
371
+          add_filter( 'views_upload', 'fix_media_counts' );
372
+     }
373 373
 }
374 374
 add_action( 'pre_get_posts', '\lsx_health_plan\functions\set_only_author' );
375 375
 
@@ -380,12 +380,12 @@  discard block
 block discarded – undo
380 380
  * @return void
381 381
  */
382 382
 function hp_excerpt( $post_id ) {
383
-	if ( ! has_excerpt( $post_id ) ) {
384
-		$content = wp_trim_words( get_post_field( 'post_content', $post_id ), 10 );
385
-	} else {
386
-		$content = get_the_excerpt( $post_id );
387
-	}
388
-	return $content;
383
+     if ( ! has_excerpt( $post_id ) ) {
384
+          $content = wp_trim_words( get_post_field( 'post_content', $post_id ), 10 );
385
+     } else {
386
+          $content = get_the_excerpt( $post_id );
387
+     }
388
+     return $content;
389 389
 }
390 390
 
391 391
 /**
@@ -395,8 +395,8 @@  discard block
 block discarded – undo
395 395
  * @return void
396 396
  */
397 397
 function column_class( $columns = '3' ) {
398
-	$cols .= '5' === $columns ? '15' : 12 / $columns;
399
-	return $cols;
398
+     $cols .= '5' === $columns ? '15' : 12 / $columns;
399
+     return $cols;
400 400
 }
401 401
 
402 402
 /**
@@ -406,22 +406,22 @@  discard block
 block discarded – undo
406 406
  * @return void
407 407
  */
408 408
 function get_exercises_by_workout( $workout = '' ) {
409
-	$exercises = array();
410
-	$i               = 1;
411
-	$section_counter = 6;
412
-	while ( $i <= $section_counter ) {
413
-		$group_name = 'workout_section_' . $i;
414
-		$groups     = get_post_meta( $workout, $group_name, true );
415
-		if ( ! empty( $groups ) ) {
416
-			foreach ( $groups as $group ) {
417
-				if ( isset( $group['connected_exercises'] ) ) {
418
-					$exercises[] = $group['connected_exercises'];
419
-				}
420
-			}
421
-		}
422
-		$i++;
423
-	}
424
-	return $exercises;
409
+     $exercises = array();
410
+     $i               = 1;
411
+     $section_counter = 6;
412
+     while ( $i <= $section_counter ) {
413
+          $group_name = 'workout_section_' . $i;
414
+          $groups     = get_post_meta( $workout, $group_name, true );
415
+          if ( ! empty( $groups ) ) {
416
+               foreach ( $groups as $group ) {
417
+                    if ( isset( $group['connected_exercises'] ) ) {
418
+                         $exercises[] = $group['connected_exercises'];
419
+                    }
420
+               }
421
+          }
422
+          $i++;
423
+     }
424
+     return $exercises;
425 425
 }
426 426
 
427 427
 
@@ -432,20 +432,20 @@  discard block
 block discarded – undo
432 432
  * @return int
433 433
  */
434 434
 function get_progress( $plan_id = false ) {
435
-	$progress = 0;
436
-	$complete = array();
437
-	$count    = 0;
438
-	if ( false !== $plan_id &&  \lsx_health_plan\functions\plan\has_sections( $plan_id ) ) {
439
-		$sections = \lsx_health_plan\functions\plan\get_sections();
440
-		$all_count = count( $sections );
441
-		foreach ( $sections as $section_key => $section_values ) {
442
-			if ( lsx_health_plan_is_day_complete( $plan_id, $section_values['title'] ) ) {
443
-				$complete[] = true;
444
-			}
445
-		}
446
-		$progress = (int) count( $complete ) / (int) $all_count * 100;
447
-	}
448
-	return $progress;
435
+     $progress = 0;
436
+     $complete = array();
437
+     $count    = 0;
438
+     if ( false !== $plan_id &&  \lsx_health_plan\functions\plan\has_sections( $plan_id ) ) {
439
+          $sections = \lsx_health_plan\functions\plan\get_sections();
440
+          $all_count = count( $sections );
441
+          foreach ( $sections as $section_key => $section_values ) {
442
+               if ( lsx_health_plan_is_day_complete( $plan_id, $section_values['title'] ) ) {
443
+                    $complete[] = true;
444
+               }
445
+          }
446
+          $progress = (int) count( $complete ) / (int) $all_count * 100;
447
+     }
448
+     return $progress;
449 449
 }
450 450
 
451 451
 
@@ -457,18 +457,18 @@  discard block
 block discarded – undo
457 457
  */
458 458
 function hp_back_archive_link() {
459 459
 
460
-	$post_type = 'exercise';
461
-	if ( is_tax( 'recipe-cuisine' ) || is_tax( 'recipe-type' ) ) {
462
-		$post_type = 'recipe';
463
-	}
460
+     $post_type = 'exercise';
461
+     if ( is_tax( 'recipe-cuisine' ) || is_tax( 'recipe-type' ) ) {
462
+          $post_type = 'recipe';
463
+     }
464 464
 
465
-	if ( is_tax() ) {
466
-		?>
465
+     if ( is_tax() ) {
466
+          ?>
467 467
 		<div class="archive-category-title hp-archive-category-title">
468 468
 			<a class="back-to-blog" href="<?php echo ( esc_url( get_post_type_archive_link( $post_type ) ) ); ?>"><?php echo esc_html__( 'Back To ', 'lsx' ) . esc_html( $post_type ) . 's'; ?></a>
469 469
 		</div>
470 470
 		<?php
471
-	}
471
+     }
472 472
 }
473 473
 add_action( 'lsx_content_wrap_before', '\lsx_health_plan\functions\hp_back_archive_link', 20 );
474 474
 
@@ -479,11 +479,11 @@  discard block
 block discarded – undo
479 479
  * @return array
480 480
  */
481 481
 function prep_array( $item ) {
482
-	if ( ! is_array( $item ) ) {
483
-		$item = explode( ',', $item );
484
-		if ( ! is_array( $item ) ) {
485
-			$item = array( $item );
486
-		}
487
-	}
488
-	return $item;
482
+     if ( ! is_array( $item ) ) {
483
+          $item = explode( ',', $item );
484
+          if ( ! is_array( $item ) ) {
485
+               $item = array( $item );
486
+          }
487
+     }
488
+     return $item;
489 489
 }
Please login to merge, or discard this patch.
templates/single-plan.php 1 patch
Indentation   +43 added lines, -43 removed lines patch added patch discarded remove patch
@@ -11,8 +11,8 @@  discard block
 block discarded – undo
11 11
 
12 12
 <?php
13 13
 $args = array(
14
-	'post_parent' => get_the_ID(),
15
-	'post_type'   => 'plan',
14
+     'post_parent' => get_the_ID(),
15
+     'post_type'   => 'plan',
16 16
 );
17 17
 
18 18
 $plan_id      = get_the_ID();
@@ -28,23 +28,23 @@  discard block
 block discarded – undo
28 28
 $connected_articles = get_post_meta( get_the_ID(), ( $plan . '_connected_articles' ), true );
29 29
 
30 30
 if ( ! empty( $has_sections ) ) {
31
-	$plan_type_class = 'parent-plan';
32
-	if ( 0 !== $has_parent ) {
33
-		$plan_type_class = 'parent-sub-plan';
34
-	}
31
+     $plan_type_class = 'parent-plan';
32
+     if ( 0 !== $has_parent ) {
33
+          $plan_type_class = 'parent-sub-plan';
34
+     }
35 35
 } else {
36
-	$plan_type_class = 'unique-plan';
37
-	if ( 0 !== $has_parent ) {
38
-		$plan_type_class = 'child-plan-' . $has_parent;
39
-	}
36
+     $plan_type_class = 'unique-plan';
37
+     if ( 0 !== $has_parent ) {
38
+          $plan_type_class = 'child-plan-' . $has_parent;
39
+     }
40 40
 }
41 41
 
42 42
 // Get the plan restrictions.
43 43
 if ( function_exists( 'wc_memberships_is_post_content_restricted' ) && wc_memberships_is_post_content_restricted( get_the_ID() ) ) {
44
-	$restricted = ! current_user_can( 'wc_memberships_view_restricted_post_content', get_the_ID() );
44
+     $restricted = ! current_user_can( 'wc_memberships_view_restricted_post_content', get_the_ID() );
45 45
 }
46 46
 if ( false === $restricted ) {
47
-	$round_progress = round( \lsx_health_plan\functions\get_progress( get_the_ID() ), 0 );
47
+     $round_progress = round( \lsx_health_plan\functions\get_progress( get_the_ID() ), 0 );
48 48
 }
49 49
 ?>
50 50
 
@@ -62,9 +62,9 @@  discard block
 block discarded – undo
62 62
 			</div>
63 63
 
64 64
 			<?php
65
-			if ( ! empty( $has_sections ) ) {
66
-				if ( false === $is_section ) {
67
-					?>
65
+               if ( ! empty( $has_sections ) ) {
66
+                    if ( false === $is_section ) {
67
+                         ?>
68 68
 					<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
69 69
 						<div class="entry-content">
70 70
 							<div class="single-plan-inner main-plan-content">
@@ -75,29 +75,29 @@  discard block
 block discarded – undo
75 75
 								<div class="plan">
76 76
 									<?php
77 77
 									
78
-									// The top part
79
-									echo wp_kses_post( wp_kses_post( lsx_health_plan_main_content() ) );
78
+                                             // The top part
79
+                                             echo wp_kses_post( wp_kses_post( lsx_health_plan_main_content() ) );
80 80
 									
81
-									echo wp_kses_post( '<h3 class="my-plan-title">' . __( 'Your Game Plan', 'lsx-health-plan' ) . '</h3>' );
81
+                                             echo wp_kses_post( '<h3 class="my-plan-title">' . __( 'Your Game Plan', 'lsx-health-plan' ) . '</h3>' );
82 82
 
83
-									?>
83
+                                             ?>
84 84
 									<div class="the-plan-content">
85 85
 										<?php
86
-										if ( false === $restricted ) {
87
-											echo wp_kses_post( '<span class="progress"><progress class="bar" value="' . $round_progress . '" max="100"> ' . $round_progress . '% </progress><span>' . $round_progress . '%</span></span>' );
88
-										}
86
+                                                  if ( false === $restricted ) {
87
+                                                       echo wp_kses_post( '<span class="progress"><progress class="bar" value="' . $round_progress . '" max="100"> ' . $round_progress . '% </progress><span>' . $round_progress . '%</span></span>' );
88
+                                                  }
89 89
 										
90
-										echo do_shortcode( '[lsx_health_plan_day_plan_block week_view="true" show_downloads="true" plan="' . get_the_ID() . '"]' );
90
+                                                  echo do_shortcode( '[lsx_health_plan_day_plan_block week_view="true" show_downloads="true" plan="' . get_the_ID() . '"]' );
91 91
 
92
-										?>
92
+                                                  ?>
93 93
 										<div class="row status-plan-buttons main-plan-btn">
94 94
 											<?php
95
-											if ( function_exists( 'wc_get_page_id' ) ) {
96
-												?>
95
+                                                       if ( function_exists( 'wc_get_page_id' ) ) {
96
+                                                            ?>
97 97
 												<a class="btn border-btn" href="<?php echo wp_kses_post( get_permalink( wc_get_page_id( 'myaccount' ) ) ); ?>"><?php esc_html_e( 'My Plans', 'lsx-health-plan' ); ?></a>
98 98
 												<?php
99
-											}
100
-											?>
99
+                                                       }
100
+                                                       ?>
101 101
 										</div>
102 102
 									</div>
103 103
 								</div>
@@ -106,32 +106,32 @@  discard block
 block discarded – undo
106 106
 						</div><!-- .entry-content -->
107 107
 					</article>
108 108
 					<?php
109
-				} else {
110
-					lsx_health_plan_single_nav();
111
-					lsx_health_plan_single_tabs();
112
-				}
113
-			}
114
-			?>
109
+                    } else {
110
+                         lsx_health_plan_single_nav();
111
+                         lsx_health_plan_single_tabs();
112
+                    }
113
+               }
114
+               ?>
115 115
 		</div>
116 116
 
117 117
 		<?php
118
-		// Show the buttons on the single plan tabs.
119
-		if ( ! empty( $has_sections ) && false !== $is_section ) {
120
-			?>
118
+          // Show the buttons on the single plan tabs.
119
+          if ( ! empty( $has_sections ) && false !== $is_section ) {
120
+               ?>
121 121
 			<div class="row status-plan-buttons">
122 122
 				<?php lsx_health_plan_day_button(); ?>
123 123
 			</div>
124 124
 			<?php
125
-		}
126
-		?>
125
+          }
126
+          ?>
127 127
 
128 128
 		<?php lsx_content_bottom(); ?>
129 129
 
130 130
 		<?php
131
-		if ( ! empty( $connected_articles ) ) {
132
-			lsx_hp_single_related( $connected_articles, __( 'Latest articles', 'lsx-health-plan' ) );
133
-		}
134
-		?>
131
+          if ( ! empty( $connected_articles ) ) {
132
+               lsx_hp_single_related( $connected_articles, __( 'Latest articles', 'lsx-health-plan' ) );
133
+          }
134
+          ?>
135 135
 
136 136
 
137 137
 	</main><!-- #main -->
Please login to merge, or discard this patch.
classes/class-frontend.php 1 patch
Indentation   +115 added lines, -115 removed lines patch added patch discarded remove patch
@@ -8,120 +8,120 @@
 block discarded – undo
8 8
  */
9 9
 class Frontend {
10 10
 
11
-	/**
12
-	 * Holds class instance
13
-	 *
14
-	 * @since 1.0.0
15
-	 *
16
-	 * @var      object \lsx_health_plan\classes\Frontend()
17
-	 */
18
-	protected static $instance = null;
19
-
20
-	/**
21
-	 * @var object \lsx_health_plan\classes\frontend\Endpoints();
22
-	 */
23
-	public $endpoints;
24
-
25
-	/**
26
-	 * @var object \lsx_health_plan\classes\frontend\Modals();
27
-	 */
28
-	public $modals;
29
-
30
-	/**
31
-	 * @var object \lsx_health_plan\classes\frontend\Gallery();
32
-	 */
33
-	public $gallery;
34
-
35
-	/**
36
-	 * @var object \lsx_health_plan\classes\frontend\Plan_Status();
37
-	 */
38
-	public $plan_status;
39
-
40
-	/**
41
-	 * @var object \lsx_health_plan\classes\frontend\Plan_Query();
42
-	 */
43
-	public $plan_query;
44
-
45
-	/**
46
-	 * @var object \lsx_health_plan\classes\frontend\General();
47
-	 */
48
-	public $general;
49
-
50
-	/**
51
-	 * @var object \lsx_health_plan\classes\frontend\Template_Redirects();
52
-	 */
53
-	public $template_redirects;
54
-
55
-	/**
56
-	 * Constructor
57
-	 */
58
-	public function __construct() {
59
-		if ( ! is_admin() ) {
60
-			$this->load_classes();
61
-			add_action( 'template_redirect', array( $this, 'redirect' ) );
11
+     /**
12
+      * Holds class instance
13
+      *
14
+      * @since 1.0.0
15
+      *
16
+      * @var      object \lsx_health_plan\classes\Frontend()
17
+      */
18
+     protected static $instance = null;
19
+
20
+     /**
21
+      * @var object \lsx_health_plan\classes\frontend\Endpoints();
22
+      */
23
+     public $endpoints;
24
+
25
+     /**
26
+      * @var object \lsx_health_plan\classes\frontend\Modals();
27
+      */
28
+     public $modals;
29
+
30
+     /**
31
+      * @var object \lsx_health_plan\classes\frontend\Gallery();
32
+      */
33
+     public $gallery;
34
+
35
+     /**
36
+      * @var object \lsx_health_plan\classes\frontend\Plan_Status();
37
+      */
38
+     public $plan_status;
39
+
40
+     /**
41
+      * @var object \lsx_health_plan\classes\frontend\Plan_Query();
42
+      */
43
+     public $plan_query;
44
+
45
+     /**
46
+      * @var object \lsx_health_plan\classes\frontend\General();
47
+      */
48
+     public $general;
49
+
50
+     /**
51
+      * @var object \lsx_health_plan\classes\frontend\Template_Redirects();
52
+      */
53
+     public $template_redirects;
54
+
55
+     /**
56
+      * Constructor
57
+      */
58
+     public function __construct() {
59
+          if ( ! is_admin() ) {
60
+               $this->load_classes();
61
+               add_action( 'template_redirect', array( $this, 'redirect' ) );
62 62
 			
63
-		}	
64
-	}
65
-
66
-	/**
67
-	 * Return an instance of this class.
68
-	 *
69
-	 * @since 1.0.0
70
-	 *
71
-	 * @return    object \lsx_health_plan\classes\Frontend()    A single instance of this class.
72
-	 */
73
-	public static function get_instance() {
74
-		// If the single instance hasn't been set, set it now.
75
-		if ( null === self::$instance ) {
76
-			self::$instance = new self();
77
-		}
78
-		return self::$instance;
79
-	}
80
-
81
-	/**
82
-	 * Loads the variable classes and the static classes.
83
-	 */
84
-	private function load_classes() {
85
-		require_once LSX_HEALTH_PLAN_PATH . 'classes/frontend/class-endpoints.php';
86
-		$this->endpoints = frontend\Endpoints::get_instance();
87
-
88
-		require_once LSX_HEALTH_PLAN_PATH . 'classes/frontend/class-modals.php';
89
-		$this->modals = Modals::get_instance();
90
-
91
-		require_once LSX_HEALTH_PLAN_PATH . 'classes/frontend/class-gallery.php';
92
-		$this->gallery = frontend\Gallery::get_instance();
93
-
94
-		require_once LSX_HEALTH_PLAN_PATH . 'classes/frontend/class-plan-status.php';
95
-		$this->plan_status = frontend\Plan_Status::get_instance();
96
-
97
-		require_once LSX_HEALTH_PLAN_PATH . 'classes/frontend/class-plan-query.php';
98
-		$this->plan_query = frontend\Plan_Query::get_instance();
99
-
100
-		require_once LSX_HEALTH_PLAN_PATH . 'classes/frontend/class-general.php';
101
-		$this->general = frontend\General::get_instance();
102
-
103
-		require_once LSX_HEALTH_PLAN_PATH . 'classes/frontend/class-template-redirects.php';
104
-		$this->template_redirects = frontend\Template_Redirects::get_instance();
105
-	}
106
-
107
-	/**
108
-	 * Redirect the user from the cart or checkout page if they have purchased the product already.
109
-	 *
110
-	 * @return void
111
-	 */
112
-	public function redirect() {
113
-		if ( ! is_user_logged_in() || ! function_exists( 'wc_get_page_id' ) || is_home() ) {
114
-			return;
115
-		}
116
-		if ( lsx_health_plan_user_has_purchase() && ( is_page( wc_get_page_id( 'cart' ) ) || is_page( wc_get_page_id( 'checkout' ) ) ) ) {
117
-			wp_redirect( get_permalink( wc_get_page_id( 'myaccount' ) ) );
118
-			die;
119
-		}
120
-
121
-		$product_id = \lsx_health_plan\functions\get_option( 'membership_product', false );
122
-		if ( false !== $product_id && is_single( $product_id ) ) {
123
-			wp_redirect( home_url() );
124
-			wp_die();
125
-		}
126
-	}
63
+          }	
64
+     }
65
+
66
+     /**
67
+      * Return an instance of this class.
68
+      *
69
+      * @since 1.0.0
70
+      *
71
+      * @return    object \lsx_health_plan\classes\Frontend()    A single instance of this class.
72
+      */
73
+     public static function get_instance() {
74
+          // If the single instance hasn't been set, set it now.
75
+          if ( null === self::$instance ) {
76
+               self::$instance = new self();
77
+          }
78
+          return self::$instance;
79
+     }
80
+
81
+     /**
82
+      * Loads the variable classes and the static classes.
83
+      */
84
+     private function load_classes() {
85
+          require_once LSX_HEALTH_PLAN_PATH . 'classes/frontend/class-endpoints.php';
86
+          $this->endpoints = frontend\Endpoints::get_instance();
87
+
88
+          require_once LSX_HEALTH_PLAN_PATH . 'classes/frontend/class-modals.php';
89
+          $this->modals = Modals::get_instance();
90
+
91
+          require_once LSX_HEALTH_PLAN_PATH . 'classes/frontend/class-gallery.php';
92
+          $this->gallery = frontend\Gallery::get_instance();
93
+
94
+          require_once LSX_HEALTH_PLAN_PATH . 'classes/frontend/class-plan-status.php';
95
+          $this->plan_status = frontend\Plan_Status::get_instance();
96
+
97
+          require_once LSX_HEALTH_PLAN_PATH . 'classes/frontend/class-plan-query.php';
98
+          $this->plan_query = frontend\Plan_Query::get_instance();
99
+
100
+          require_once LSX_HEALTH_PLAN_PATH . 'classes/frontend/class-general.php';
101
+          $this->general = frontend\General::get_instance();
102
+
103
+          require_once LSX_HEALTH_PLAN_PATH . 'classes/frontend/class-template-redirects.php';
104
+          $this->template_redirects = frontend\Template_Redirects::get_instance();
105
+     }
106
+
107
+     /**
108
+      * Redirect the user from the cart or checkout page if they have purchased the product already.
109
+      *
110
+      * @return void
111
+      */
112
+     public function redirect() {
113
+          if ( ! is_user_logged_in() || ! function_exists( 'wc_get_page_id' ) || is_home() ) {
114
+               return;
115
+          }
116
+          if ( lsx_health_plan_user_has_purchase() && ( is_page( wc_get_page_id( 'cart' ) ) || is_page( wc_get_page_id( 'checkout' ) ) ) ) {
117
+               wp_redirect( get_permalink( wc_get_page_id( 'myaccount' ) ) );
118
+               die;
119
+          }
120
+
121
+          $product_id = \lsx_health_plan\functions\get_option( 'membership_product', false );
122
+          if ( false !== $product_id && is_single( $product_id ) ) {
123
+               wp_redirect( home_url() );
124
+               wp_die();
125
+          }
126
+     }
127 127
 }
Please login to merge, or discard this patch.