Passed
Push — add/multiplan ( fba8be...cd32f6 )
by Virginia
04:34
created
includes/functions/woocommerce.php 1 patch
Indentation   +28 added lines, -28 removed lines patch added patch discarded remove patch
@@ -13,12 +13,12 @@  discard block
 block discarded – undo
13 13
  * @return boolean
14 14
  */
15 15
 function plan_has_products() {
16
-	$lsx_hp       = lsx_health_plan();
17
-	$has_products = false;
18
-	if ( ! empty( $lsx_hp->integrations->woocommerce->plans->product_ids ) ) {
19
-		$has_products = true;
20
-	}
21
-	return $has_products;
16
+     $lsx_hp       = lsx_health_plan();
17
+     $has_products = false;
18
+     if ( ! empty( $lsx_hp->integrations->woocommerce->plans->product_ids ) ) {
19
+          $has_products = true;
20
+     }
21
+     return $has_products;
22 22
 }
23 23
 
24 24
 /**
@@ -27,12 +27,12 @@  discard block
 block discarded – undo
27 27
  * @return array
28 28
  */
29 29
 function get_plan_products() {
30
-	$lsx_hp       = lsx_health_plan();
31
-	$has_products = array();
32
-	if ( ! empty( $lsx_hp->integrations->woocommerce->plans->product_ids ) ) {
33
-		$has_products = $lsx_hp->integrations->woocommerce->plans->product_ids;
34
-	}
35
-	return $has_products;
30
+     $lsx_hp       = lsx_health_plan();
31
+     $has_products = array();
32
+     if ( ! empty( $lsx_hp->integrations->woocommerce->plans->product_ids ) ) {
33
+          $has_products = $lsx_hp->integrations->woocommerce->plans->product_ids;
34
+     }
35
+     return $has_products;
36 36
 }
37 37
 
38 38
 /**
@@ -41,21 +41,21 @@  discard block
 block discarded – undo
41 41
  * @return array
42 42
  */
43 43
 function get_membership_products() {
44
-	$product_ids = array();
45
-	if ( function_exists( 'wc_memberships_get_user_memberships' ) ) {
46
-		$user_memberships = wc_memberships_get_user_memberships();
44
+     $product_ids = array();
45
+     if ( function_exists( 'wc_memberships_get_user_memberships' ) ) {
46
+          $user_memberships = wc_memberships_get_user_memberships();
47 47
 
48
-		if ( ! empty( $user_memberships ) ) {
49
-			foreach ( $user_memberships as $membership ) {
50
-				$current_products = $membership->plan->get_product_ids();
51
-				if ( ! empty( $current_products ) ) {
52
-					$product_ids = array_merge( $product_ids, $current_products );
53
-				}
54
-			}
55
-		}
56
-	}
57
-	if ( ! empty( $product_ids ) ) {
58
-		$product_ids = array_unique( $product_ids );
59
-	}
60
-	return $product_ids;
48
+          if ( ! empty( $user_memberships ) ) {
49
+               foreach ( $user_memberships as $membership ) {
50
+                    $current_products = $membership->plan->get_product_ids();
51
+                    if ( ! empty( $current_products ) ) {
52
+                         $product_ids = array_merge( $product_ids, $current_products );
53
+                    }
54
+               }
55
+          }
56
+     }
57
+     if ( ! empty( $product_ids ) ) {
58
+          $product_ids = array_unique( $product_ids );
59
+     }
60
+     return $product_ids;
61 61
 }
Please login to merge, or discard this patch.
includes/functions/recipes.php 1 patch
Indentation   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -14,10 +14,10 @@
 block discarded – undo
14 14
  * @return boolean
15 15
  */
16 16
 function register_recipe_modal() {
17
-	remove_action( 'lsx_content_sharing', 'lsx_sharing_output', 20 );
18
-	ob_start();
19
-	include LSX_HEALTH_PLAN_PATH . '/templates/content-recipe.php';
20
-	$modal_body = ob_get_clean();
21
-	add_action( 'lsx_content_sharing', 'lsx_sharing_output', 20 );
22
-	\lsx_health_plan\functions\register_modal( 'recipe-modal-' . get_the_ID(), '', $modal_body );
17
+     remove_action( 'lsx_content_sharing', 'lsx_sharing_output', 20 );
18
+     ob_start();
19
+     include LSX_HEALTH_PLAN_PATH . '/templates/content-recipe.php';
20
+     $modal_body = ob_get_clean();
21
+     add_action( 'lsx_content_sharing', 'lsx_sharing_output', 20 );
22
+     \lsx_health_plan\functions\register_modal( 'recipe-modal-' . get_the_ID(), '', $modal_body );
23 23
 }
Please login to merge, or discard this patch.
includes/shortcodes.php 1 patch
Indentation   +79 added lines, -79 removed lines patch added patch discarded remove patch
@@ -13,13 +13,13 @@  discard block
 block discarded – undo
13 13
  * @return string
14 14
  */
15 15
 function restricted_content() {
16
-	$content = '';
17
-	if ( ! is_user_logged_in() ) {
18
-		ob_start();
19
-		echo do_shortcode( '[woocommerce_my_account]' );
20
-		$content = ob_get_clean();
21
-	}
22
-	return $content;
16
+     $content = '';
17
+     if ( ! is_user_logged_in() ) {
18
+          ob_start();
19
+          echo do_shortcode( '[woocommerce_my_account]' );
20
+          $content = ob_get_clean();
21
+     }
22
+     return $content;
23 23
 }
24 24
 
25 25
 /**
@@ -28,10 +28,10 @@  discard block
 block discarded – undo
28 28
  * @return void
29 29
  */
30 30
 function my_profile_tabs() {
31
-	ob_start();
32
-	echo lsx_health_plan_my_profile_tabs(); // WPCS: XSS OK.
33
-	$content = ob_get_clean();
34
-	return $content;
31
+     ob_start();
32
+     echo lsx_health_plan_my_profile_tabs(); // WPCS: XSS OK.
33
+     $content = ob_get_clean();
34
+     return $content;
35 35
 }
36 36
 
37 37
 /**
@@ -40,10 +40,10 @@  discard block
 block discarded – undo
40 40
  * @return void
41 41
  */
42 42
 function my_profile_box() {
43
-	ob_start();
44
-	echo lsx_health_plan_my_profile_box(); // WPCS: XSS OK.
45
-	$content = ob_get_clean();
46
-	return $content;
43
+     ob_start();
44
+     echo lsx_health_plan_my_profile_box(); // WPCS: XSS OK.
45
+     $content = ob_get_clean();
46
+     return $content;
47 47
 }
48 48
 
49 49
 /**
@@ -53,10 +53,10 @@  discard block
 block discarded – undo
53 53
  */
54 54
 function all_plans_box( $args = array() ) {
55 55
 
56
-	ob_start();
57
-	echo lsx_health_plan_all_plans_block(); // WPCS: XSS OK.
58
-	$content = ob_get_clean();
59
-	return $content;
56
+     ob_start();
57
+     echo lsx_health_plan_all_plans_block(); // WPCS: XSS OK.
58
+     $content = ob_get_clean();
59
+     return $content;
60 60
 }
61 61
 
62 62
 /**
@@ -65,20 +65,20 @@  discard block
 block discarded – undo
65 65
  * @return void
66 66
  */
67 67
 function day_plan_box( $args = array() ) {
68
-	$defaults = array(
69
-		'week_view'      => false,
70
-		'show_downloads' => false,
71
-		'plan'           => '',
72
-	);
73
-	$args     = wp_parse_args( $args, $defaults );
74
-	ob_start();
75
-	if ( false === $args['week_view'] ) {
76
-		echo lsx_health_plan_day_plan_block( $args ); // WPCS: XSS OK.
77
-	} else {
78
-		echo lsx_health_plan_week_plan_block( $args ); // WPCS: XSS OK.
79
-	}
80
-	$content = ob_get_clean();
81
-	return $content;
68
+     $defaults = array(
69
+          'week_view'      => false,
70
+          'show_downloads' => false,
71
+          'plan'           => '',
72
+     );
73
+     $args     = wp_parse_args( $args, $defaults );
74
+     ob_start();
75
+     if ( false === $args['week_view'] ) {
76
+          echo lsx_health_plan_day_plan_block( $args ); // WPCS: XSS OK.
77
+     } else {
78
+          echo lsx_health_plan_week_plan_block( $args ); // WPCS: XSS OK.
79
+     }
80
+     $content = ob_get_clean();
81
+     return $content;
82 82
 }
83 83
 
84 84
 /**
@@ -88,29 +88,29 @@  discard block
 block discarded – undo
88 88
  * @return void
89 89
  */
90 90
 function exercise_box( $args = array() ) {
91
-	$defaults = array(
92
-		'include'       => '',
93
-		'term'          => '',
94
-		'taxonomy'      => '',
95
-		'view_more'     => false,
96
-		'columns'       => 3,
97
-		'limit'         => 4,
98
-		'post_type'     => 'exercise',
99
-		'orderby'       => 'date',
100
-		'order'         => 'DESC',
101
-		'description'   => 'none',
102
-		'link'          => 'item',
103
-		'link_class'    => 'btn border-btn',
104
-		'layout'        => 'grid',
105
-		'image_size'    => 'lsx-thumbnail-square',
106
-		'parent'        => false,
107
-		'modal_content' => 'excerpt',
108
-	);
109
-	$args     = wp_parse_args( $args, $defaults );
110
-	ob_start();
111
-	echo lsx_health_plan_items( $args ); // WPCS: XSS OK.
112
-	$content = ob_get_clean();
113
-	return $content;
91
+     $defaults = array(
92
+          'include'       => '',
93
+          'term'          => '',
94
+          'taxonomy'      => '',
95
+          'view_more'     => false,
96
+          'columns'       => 3,
97
+          'limit'         => 4,
98
+          'post_type'     => 'exercise',
99
+          'orderby'       => 'date',
100
+          'order'         => 'DESC',
101
+          'description'   => 'none',
102
+          'link'          => 'item',
103
+          'link_class'    => 'btn border-btn',
104
+          'layout'        => 'grid',
105
+          'image_size'    => 'lsx-thumbnail-square',
106
+          'parent'        => false,
107
+          'modal_content' => 'excerpt',
108
+     );
109
+     $args     = wp_parse_args( $args, $defaults );
110
+     ob_start();
111
+     echo lsx_health_plan_items( $args ); // WPCS: XSS OK.
112
+     $content = ob_get_clean();
113
+     return $content;
114 114
 }
115 115
 
116 116
 /**
@@ -119,13 +119,13 @@  discard block
 block discarded – undo
119 119
  * @return void
120 120
  */
121 121
 function feature_video_box() {
122
-	ob_start();
123
-	echo lsx_health_plan_featured_video_block(); // WPCS: XSS OK.
124
-	$content = ob_get_clean();
122
+     ob_start();
123
+     echo lsx_health_plan_featured_video_block(); // WPCS: XSS OK.
124
+     $content = ob_get_clean();
125 125
 
126
-	wp_enqueue_script( 'slick', LSX_HEALTH_PLAN_URL . 'assets/js/slick.min.js', array( 'jquery' ), LSX_HEALTH_PLAN_VER, true );
127
-	wp_enqueue_script( 'lsx-health-plan-slider', LSX_HEALTH_PLAN_URL . 'assets/js/lsx-health-plan-slider.min.js', array( 'slick' ), LSX_HEALTH_PLAN_VER, true );
128
-	return $content;
126
+     wp_enqueue_script( 'slick', LSX_HEALTH_PLAN_URL . 'assets/js/slick.min.js', array( 'jquery' ), LSX_HEALTH_PLAN_VER, true );
127
+     wp_enqueue_script( 'lsx-health-plan-slider', LSX_HEALTH_PLAN_URL . 'assets/js/lsx-health-plan-slider.min.js', array( 'slick' ), LSX_HEALTH_PLAN_VER, true );
128
+     return $content;
129 129
 }
130 130
 
131 131
 /**
@@ -134,12 +134,12 @@  discard block
 block discarded – undo
134 134
  * @return void
135 135
  */
136 136
 function feature_recipes_box() {
137
-	ob_start();
138
-	echo lsx_health_plan_featured_recipes_block(); // WPCS: XSS OK.
139
-	$content = ob_get_clean();
140
-	wp_enqueue_script( 'slick', LSX_HEALTH_PLAN_URL . 'assets/js/slick.min.js', array( 'jquery' ), LSX_HEALTH_PLAN_VER, true );
141
-	wp_enqueue_script( 'lsx-health-plan-slider', LSX_HEALTH_PLAN_URL . 'assets/js/lsx-health-plan-slider.min.js', array( 'slick' ), LSX_HEALTH_PLAN_VER, true );
142
-	return $content;
137
+     ob_start();
138
+     echo lsx_health_plan_featured_recipes_block(); // WPCS: XSS OK.
139
+     $content = ob_get_clean();
140
+     wp_enqueue_script( 'slick', LSX_HEALTH_PLAN_URL . 'assets/js/slick.min.js', array( 'jquery' ), LSX_HEALTH_PLAN_VER, true );
141
+     wp_enqueue_script( 'lsx-health-plan-slider', LSX_HEALTH_PLAN_URL . 'assets/js/lsx-health-plan-slider.min.js', array( 'slick' ), LSX_HEALTH_PLAN_VER, true );
142
+     return $content;
143 143
 }
144 144
 
145 145
 /**
@@ -148,12 +148,12 @@  discard block
 block discarded – undo
148 148
  * @return void
149 149
  */
150 150
 function feature_tips_box() {
151
-	ob_start();
152
-	echo lsx_health_plan_featured_tips_block(); // WPCS: XSS OK.
153
-	$content = ob_get_clean();
154
-	wp_enqueue_script( 'slick', LSX_HEALTH_PLAN_URL . 'assets/js/slick.min.js', array( 'jquery' ), LSX_HEALTH_PLAN_VER, true );
155
-	wp_enqueue_script( 'lsx-health-plan-slider', LSX_HEALTH_PLAN_URL . 'assets/js/lsx-health-plan-slider.min.js', array( 'slick' ), LSX_HEALTH_PLAN_VER, true );
156
-	return $content;
151
+     ob_start();
152
+     echo lsx_health_plan_featured_tips_block(); // WPCS: XSS OK.
153
+     $content = ob_get_clean();
154
+     wp_enqueue_script( 'slick', LSX_HEALTH_PLAN_URL . 'assets/js/slick.min.js', array( 'jquery' ), LSX_HEALTH_PLAN_VER, true );
155
+     wp_enqueue_script( 'lsx-health-plan-slider', LSX_HEALTH_PLAN_URL . 'assets/js/lsx-health-plan-slider.min.js', array( 'slick' ), LSX_HEALTH_PLAN_VER, true );
156
+     return $content;
157 157
 }
158 158
 
159 159
 /**
@@ -162,9 +162,9 @@  discard block
 block discarded – undo
162 162
  * @return string
163 163
  */
164 164
 function account_notices() {
165
-	$content = '';
166
-	if ( function_exists( 'wc_print_notices' ) ) {
167
-		$content = wc_print_notices( true );
168
-	}
169
-	return $content;
165
+     $content = '';
166
+     if ( function_exists( 'wc_print_notices' ) ) {
167
+          $content = wc_print_notices( true );
168
+     }
169
+     return $content;
170 170
 }
Please login to merge, or discard this patch.
includes/template-tags/woocommerce.php 1 patch
Indentation   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -7,38 +7,38 @@  discard block
 block discarded – undo
7 7
 
8 8
 
9 9
 function lsx_hp_single_plan_products() {
10
-	global $product;
10
+     global $product;
11 11
 
12
-	$restricted = false;
13
-	if ( function_exists( 'wc_memberships_is_post_content_restricted' ) ) {
14
-		$restricted = wc_memberships_is_post_content_restricted() && ! current_user_can( 'wc_memberships_view_restricted_post_content', get_the_ID() );
15
-	}
16
-	if ( true === $restricted && \lsx_health_plan\functions\woocommerce\plan_has_products() ) {
17
-		$products      = \lsx_health_plan\functions\woocommerce\get_plan_products();
18
-		$product_count = count( $products );
19
-		if ( 1 === (int) $product_count ) {
20
-			$class = 'col-md-12';
21
-		} else {
22
-			$class = 'col-md-6';
23
-		}
24
-		?>
12
+     $restricted = false;
13
+     if ( function_exists( 'wc_memberships_is_post_content_restricted' ) ) {
14
+          $restricted = wc_memberships_is_post_content_restricted() && ! current_user_can( 'wc_memberships_view_restricted_post_content', get_the_ID() );
15
+     }
16
+     if ( true === $restricted && \lsx_health_plan\functions\woocommerce\plan_has_products() ) {
17
+          $products      = \lsx_health_plan\functions\woocommerce\get_plan_products();
18
+          $product_count = count( $products );
19
+          if ( 1 === (int) $product_count ) {
20
+               $class = 'col-md-12';
21
+          } else {
22
+               $class = 'col-md-6';
23
+          }
24
+          ?>
25 25
 			<div class="plans-products-wrapper row">
26 26
 				<?php
27
-				foreach ( $products as $product ) {
28
-					$product = wc_get_product( $product );
29
-					?>
27
+                    foreach ( $products as $product ) {
28
+                         $product = wc_get_product( $product );
29
+                         ?>
30 30
 						<div class="plan-product <?php echo esc_attr( $class ); ?>">
31 31
 							<h3 class="title"><a href="<?php echo esc_html( $product->get_permalink() ); ?>"><?php echo esc_html( $product->get_title() ); ?></a></h3>
32 32
 							<?php
33
-							$description = $product->is_type( 'variation' ) ? $product->get_description() : $product->get_short_description();
34
-							if ( '' !== $description ) {
35
-								?>
33
+                                   $description = $product->is_type( 'variation' ) ? $product->get_description() : $product->get_short_description();
34
+                                   if ( '' !== $description ) {
35
+                                        ?>
36 36
 									<div class="description">
37 37
 										<?php echo esc_html( $description ); ?>
38 38
 									</div>
39 39
 								<?php
40
-							}
41
-							?>
40
+                                   }
41
+                                   ?>
42 42
 							<?php echo wp_kses_post( $product->get_price_html() ); ?>
43 43
 
44 44
 							<div class="add-to-cart">
@@ -46,9 +46,9 @@  discard block
 block discarded – undo
46 46
 							</div>
47 47
 						</div>
48 48
 					<?php
49
-				}
50
-				?>
49
+                    }
50
+                    ?>
51 51
 			</div>
52 52
 		<?php
53
-	}
53
+     }
54 54
 }
Please login to merge, or discard this patch.
includes/template-tags/exercise.php 1 patch
Indentation   +169 added lines, -169 removed lines patch added patch discarded remove patch
@@ -11,10 +11,10 @@  discard block
 block discarded – undo
11 11
  * @return exercise_type
12 12
  */
13 13
 function lsx_health_plan_exercise_type() {
14
-	$term_obj_list = get_the_term_list( get_the_ID(), 'exercise-type', '', ', ' );
15
-	if ( ! empty( $term_obj_list ) ) {
16
-		return $term_obj_list;
17
-	}
14
+     $term_obj_list = get_the_term_list( get_the_ID(), 'exercise-type', '', ', ' );
15
+     if ( ! empty( $term_obj_list ) ) {
16
+          return $term_obj_list;
17
+     }
18 18
 }
19 19
 
20 20
 /**
@@ -23,10 +23,10 @@  discard block
 block discarded – undo
23 23
  * @return muscle_group_equipment
24 24
  */
25 25
 function lsx_health_plan_muscle_group_equipment() {
26
-	$term_obj_list = get_the_term_list( get_the_ID(), 'muscle-group', '', ', ' );
27
-	if ( ! empty( $term_obj_list ) ) {
28
-		return $term_obj_list;
29
-	}
26
+     $term_obj_list = get_the_term_list( get_the_ID(), 'muscle-group', '', ', ' );
27
+     if ( ! empty( $term_obj_list ) ) {
28
+          return $term_obj_list;
29
+     }
30 30
 }
31 31
 
32 32
 /**
@@ -35,10 +35,10 @@  discard block
 block discarded – undo
35 35
  * @return exercise_equipment
36 36
  */
37 37
 function lsx_health_plan_exercise_equipment() {
38
-	$term_obj_list = get_the_term_list( get_the_ID(), 'equipment', '', ', ' );
39
-	if ( ! empty( $term_obj_list ) ) {
40
-		return $term_obj_list;
41
-	}
38
+     $term_obj_list = get_the_term_list( get_the_ID(), 'equipment', '', ', ' );
39
+     if ( ! empty( $term_obj_list ) ) {
40
+          return $term_obj_list;
41
+     }
42 42
 }
43 43
 
44 44
 /**
@@ -47,81 +47,81 @@  discard block
 block discarded – undo
47 47
  * @return void
48 48
  */
49 49
 function lsx_health_plan_exercise_data() {
50
-	include LSX_HEALTH_PLAN_PATH . '/templates/table-exercise-data.php';
50
+     include LSX_HEALTH_PLAN_PATH . '/templates/table-exercise-data.php';
51 51
 }
52 52
 
53 53
 function lsx_health_plan_workout_exercise_alt_button( $m, $group, $echo = true, $args = array(), $alt_title, $alt_description, $alt_image ) {
54
-	$defaults = array(
55
-		'modal_trigger' => 'button',
56
-		'modal_content' => 'excerpt',
57
-	);
58
-	$args     = wp_parse_args( $args, $defaults );
54
+     $defaults = array(
55
+          'modal_trigger' => 'button',
56
+          'modal_content' => 'excerpt',
57
+     );
58
+     $args     = wp_parse_args( $args, $defaults );
59 59
 
60
-	$exercise_id = '';
61
-	if ( isset( $group['connected_exercises'] ) && '' !== $group['connected_exercises'] ) {
62
-		$exercise_id     = esc_html( $group['connected_exercises'] );
63
-		$content         = get_post_field( 'post_content', $exercise_id );
64
-		$url             = get_permalink( $exercise_id );
65
-		$equipment_group = get_the_term_list( $exercise_id, 'equipment', '', ', ' );
66
-		$muscle_group    = get_the_term_list( $exercise_id, 'muscle-group', '', ', ' );
67
-		$lsx_hp          = lsx_health_plan();
60
+     $exercise_id = '';
61
+     if ( isset( $group['connected_exercises'] ) && '' !== $group['connected_exercises'] ) {
62
+          $exercise_id     = esc_html( $group['connected_exercises'] );
63
+          $content         = get_post_field( 'post_content', $exercise_id );
64
+          $url             = get_permalink( $exercise_id );
65
+          $equipment_group = get_the_term_list( $exercise_id, 'equipment', '', ', ' );
66
+          $muscle_group    = get_the_term_list( $exercise_id, 'muscle-group', '', ', ' );
67
+          $lsx_hp          = lsx_health_plan();
68 68
 
69
-		if ( 'excerpt' === $args['modal_content'] ) {
70
-			$content = wp_trim_words( $content, 40 );
71
-		}
69
+          if ( 'excerpt' === $args['modal_content'] ) {
70
+               $content = wp_trim_words( $content, 40 );
71
+          }
72 72
 
73
-		if ( 'link' ) {
74
-			$play_button = '<a data-toggle="modal" href="#workout-alt-exercise-modal-' . $m . '">' . get_the_title( $exercise_id ) . '</a>';
75
-		} else {
76
-			$play_button = '<button data-toggle="alt-modal" data-target="#workout-alt-exercise-modal-' . $m . '"><span class="fa fa-play-circle"></span></button>';
77
-		}
73
+          if ( 'link' ) {
74
+               $play_button = '<a data-toggle="modal" href="#workout-alt-exercise-modal-' . $m . '">' . get_the_title( $exercise_id ) . '</a>';
75
+          } else {
76
+               $play_button = '<button data-toggle="alt-modal" data-target="#workout-alt-exercise-modal-' . $m . '"><span class="fa fa-play-circle"></span></button>';
77
+          }
78 78
 
79
-		$modal_body  = '';
79
+          $modal_body  = '';
80 80
 
81
-		if ( '' !== $alt_image ) {
82
-			$modal_body .= '<div class="modal-image"/><img alt="thumbnail" loading="lazy" class="aligncenter wp-post-image" src="' . $alt_image . '"></div>';
83
-		} else {
84
-			if ( $lsx_hp->frontend->gallery->has_gallery( $exercise_id ) ) {
85
-				$gallery_args = array(
86
-					'css_class' => 'modal-slider',
87
-				);
88
-				$modal_body .= $lsx_hp->frontend->gallery->get_gallery( '', '', $gallery_args );
89
-			} else {
90
-				$modal_body .= '<div class="modal-image"/>' . get_the_post_thumbnail( $exercise_id, 'large' ) . '</div>';
91
-			}
92
-		}
81
+          if ( '' !== $alt_image ) {
82
+               $modal_body .= '<div class="modal-image"/><img alt="thumbnail" loading="lazy" class="aligncenter wp-post-image" src="' . $alt_image . '"></div>';
83
+          } else {
84
+               if ( $lsx_hp->frontend->gallery->has_gallery( $exercise_id ) ) {
85
+                    $gallery_args = array(
86
+                         'css_class' => 'modal-slider',
87
+                    );
88
+                    $modal_body .= $lsx_hp->frontend->gallery->get_gallery( '', '', $gallery_args );
89
+               } else {
90
+                    $modal_body .= '<div class="modal-image"/>' . get_the_post_thumbnail( $exercise_id, 'large' ) . '</div>';
91
+               }
92
+          }
93 93
 
94
-		if ( '' !== $alt_title ) {
95
-			$modal_body .= '<div class="title-lined exercise-modal"><h5 class="modal-title">' . $alt_title . '</h5>';
96
-		} else {
97
-			$modal_body .= '<div class="title-lined exercise-modal"><h5 class="modal-title">' . get_the_title( $exercise_id ) . '</h5>';
98
-		}
94
+          if ( '' !== $alt_title ) {
95
+               $modal_body .= '<div class="title-lined exercise-modal"><h5 class="modal-title">' . $alt_title . '</h5>';
96
+          } else {
97
+               $modal_body .= '<div class="title-lined exercise-modal"><h5 class="modal-title">' . get_the_title( $exercise_id ) . '</h5>';
98
+          }
99 99
 
100
-		if ( ! empty( $equipment_group ) ) {
101
-			$modal_body .= '<span class="equipment-terms">Equipment: ' . $equipment_group . '</span>';
102
-		}
103
-		if ( ! empty( $muscle_group ) ) {
104
-			$modal_body .= '<span class="muscle-terms">Muscle Group: ' . $muscle_group . '</span>';
105
-		}
106
-		$modal_body .= '</div>';
107
-		if ( '' !== $args['modal_content'] ) {
108
-			if ( '' !== $alt_description ) {
109
-				$modal_body .= '<div class="modal-excerpt"/>' . $alt_description . '</div>';
110
-			} else {
111
-				$modal_body .= '<div class="modal-excerpt"/>' . $content . '</div>';
112
-			}
113
-		}
114
-		if ( 'excerpt' === $args['modal_content'] ) {
115
-			$modal_body .= '<a class="moretag" target="_blank" href="' . $url . '">' . __( 'Read More', 'lsx-heal-plan' ) . '</a>';
116
-		}
117
-		\lsx_health_plan\functions\register_modal( 'workout-alt-exercise-modal-' . $m, '', $modal_body );
100
+          if ( ! empty( $equipment_group ) ) {
101
+               $modal_body .= '<span class="equipment-terms">Equipment: ' . $equipment_group . '</span>';
102
+          }
103
+          if ( ! empty( $muscle_group ) ) {
104
+               $modal_body .= '<span class="muscle-terms">Muscle Group: ' . $muscle_group . '</span>';
105
+          }
106
+          $modal_body .= '</div>';
107
+          if ( '' !== $args['modal_content'] ) {
108
+               if ( '' !== $alt_description ) {
109
+                    $modal_body .= '<div class="modal-excerpt"/>' . $alt_description . '</div>';
110
+               } else {
111
+                    $modal_body .= '<div class="modal-excerpt"/>' . $content . '</div>';
112
+               }
113
+          }
114
+          if ( 'excerpt' === $args['modal_content'] ) {
115
+               $modal_body .= '<a class="moretag" target="_blank" href="' . $url . '">' . __( 'Read More', 'lsx-heal-plan' ) . '</a>';
116
+          }
117
+          \lsx_health_plan\functions\register_modal( 'workout-alt-exercise-modal-' . $m, '', $modal_body );
118 118
 
119
-		if ( true === $echo ) {
120
-			echo wp_kses_post( $play_button );
121
-		} else {
122
-			return $play_button;
123
-		}
124
-	}
119
+          if ( true === $echo ) {
120
+               echo wp_kses_post( $play_button );
121
+          } else {
122
+               return $play_button;
123
+          }
124
+     }
125 125
 }
126 126
 
127 127
 /**
@@ -134,65 +134,65 @@  discard block
 block discarded – undo
134 134
  * @return void
135 135
  */
136 136
 function lsx_health_plan_workout_exercise_button( $m, $group, $echo = true, $args = array() ) {
137
-	$defaults = array(
138
-		'modal_trigger' => 'button',
139
-		'modal_content' => 'excerpt',
140
-	);
141
-	$args     = wp_parse_args( $args, $defaults );
137
+     $defaults = array(
138
+          'modal_trigger' => 'button',
139
+          'modal_content' => 'excerpt',
140
+     );
141
+     $args     = wp_parse_args( $args, $defaults );
142 142
 
143
-	$exercise_id = '';
144
-	if ( isset( $group['connected_exercises'] ) && '' !== $group['connected_exercises'] ) {
145
-		$exercise_id     = esc_html( $group['connected_exercises'] );
146
-		$content         = get_post_field( 'post_content', $exercise_id );
147
-		$url             = get_permalink( $exercise_id );
148
-		$equipment_group = get_the_term_list( $exercise_id, 'equipment', '', ', ' );
149
-		$muscle_group    = get_the_term_list( $exercise_id, 'muscle-group', '', ', ' );
150
-		$lsx_hp          = lsx_health_plan();
143
+     $exercise_id = '';
144
+     if ( isset( $group['connected_exercises'] ) && '' !== $group['connected_exercises'] ) {
145
+          $exercise_id     = esc_html( $group['connected_exercises'] );
146
+          $content         = get_post_field( 'post_content', $exercise_id );
147
+          $url             = get_permalink( $exercise_id );
148
+          $equipment_group = get_the_term_list( $exercise_id, 'equipment', '', ', ' );
149
+          $muscle_group    = get_the_term_list( $exercise_id, 'muscle-group', '', ', ' );
150
+          $lsx_hp          = lsx_health_plan();
151 151
 
152
-		if ( 'excerpt' === $args['modal_content'] ) {
153
-			$content = wp_trim_words( $content, 40 );
154
-		}
152
+          if ( 'excerpt' === $args['modal_content'] ) {
153
+               $content = wp_trim_words( $content, 40 );
154
+          }
155 155
 
156
-		if ( 'link' ) {
157
-			$play_button = '<a data-toggle="modal" href="#workout-exercise-modal-' . $m . '">' . get_the_title( $exercise_id ) . '</a>';
158
-		} else {
159
-			$play_button = '<button data-toggle="modal" data-target="#workout-exercise-modal-' . $m . '"><span class="fa fa-play-circle"></span></button>';
160
-		}
156
+          if ( 'link' ) {
157
+               $play_button = '<a data-toggle="modal" href="#workout-exercise-modal-' . $m . '">' . get_the_title( $exercise_id ) . '</a>';
158
+          } else {
159
+               $play_button = '<button data-toggle="modal" data-target="#workout-exercise-modal-' . $m . '"><span class="fa fa-play-circle"></span></button>';
160
+          }
161 161
 
162
-		$modal_body  = '';
162
+          $modal_body  = '';
163 163
 
164
-		if ( $lsx_hp->frontend->gallery->has_gallery( $exercise_id ) ) {
165
-			$gallery_args = array(
166
-				'css_class' => 'modal-slider',
167
-			);
168
-			$modal_body .= $lsx_hp->frontend->gallery->get_gallery( '', '', $gallery_args );
169
-		} else {
170
-			$modal_body .= '<div class="modal-image"/>' . get_the_post_thumbnail( $exercise_id, 'large' ) . '</div>';
171
-		}
164
+          if ( $lsx_hp->frontend->gallery->has_gallery( $exercise_id ) ) {
165
+               $gallery_args = array(
166
+                    'css_class' => 'modal-slider',
167
+               );
168
+               $modal_body .= $lsx_hp->frontend->gallery->get_gallery( '', '', $gallery_args );
169
+          } else {
170
+               $modal_body .= '<div class="modal-image"/>' . get_the_post_thumbnail( $exercise_id, 'large' ) . '</div>';
171
+          }
172 172
 
173
-		$modal_body .= '<div class="title-lined exercise-modal"><h5 class="modal-title">' . get_the_title( $exercise_id ) . '</h5>';
173
+          $modal_body .= '<div class="title-lined exercise-modal"><h5 class="modal-title">' . get_the_title( $exercise_id ) . '</h5>';
174 174
 
175
-		if ( ! empty( $equipment_group ) ) {
176
-			$modal_body .= '<span class="equipment-terms">Equipment: ' . $equipment_group . '</span>';
177
-		}
178
-		if ( ! empty( $muscle_group ) ) {
179
-			$modal_body .= '<span class="muscle-terms">Muscle Group: ' . $muscle_group . '</span>';
180
-		}
181
-		$modal_body .= '</div>';
182
-		if ( '' !== $args['modal_content'] ) {
183
-			$modal_body .= '<div class="modal-excerpt"/>' . $content . '</div>';
184
-		}
185
-		if ( 'excerpt' === $args['modal_content'] ) {
186
-			$modal_body .= '<a class="moretag" target="_blank" href="' . $url . '">' . __( 'Read More', 'lsx-heal-plan' ) . '</a>';
187
-		}
188
-		\lsx_health_plan\functions\register_modal( 'workout-exercise-modal-' . $m, '', $modal_body );
175
+          if ( ! empty( $equipment_group ) ) {
176
+               $modal_body .= '<span class="equipment-terms">Equipment: ' . $equipment_group . '</span>';
177
+          }
178
+          if ( ! empty( $muscle_group ) ) {
179
+               $modal_body .= '<span class="muscle-terms">Muscle Group: ' . $muscle_group . '</span>';
180
+          }
181
+          $modal_body .= '</div>';
182
+          if ( '' !== $args['modal_content'] ) {
183
+               $modal_body .= '<div class="modal-excerpt"/>' . $content . '</div>';
184
+          }
185
+          if ( 'excerpt' === $args['modal_content'] ) {
186
+               $modal_body .= '<a class="moretag" target="_blank" href="' . $url . '">' . __( 'Read More', 'lsx-heal-plan' ) . '</a>';
187
+          }
188
+          \lsx_health_plan\functions\register_modal( 'workout-exercise-modal-' . $m, '', $modal_body );
189 189
 
190
-		if ( true === $echo ) {
191
-			echo wp_kses_post( $play_button );
192
-		} else {
193
-			return $play_button;
194
-		}
195
-	}
190
+          if ( true === $echo ) {
191
+               echo wp_kses_post( $play_button );
192
+          } else {
193
+               return $play_button;
194
+          }
195
+     }
196 196
 }
197 197
 
198 198
 /**
@@ -203,38 +203,38 @@  discard block
 block discarded – undo
203 203
  * @return void
204 204
  */
205 205
 function lsx_health_plan_shortcode_exercise_button( $m, $content = true ) {
206
-	$equipment_group = get_the_term_list( $m, 'equipment', '', ', ' );
207
-	$muscle_group    = get_the_term_list( $m, 'muscle-group', '', ', ' );
208
-	$title           = get_the_title();
209
-	$lsx_hp          = lsx_health_plan();
210
-	$button     = '<a data-toggle="modal" href="#exercise-modal-' . $m . '" data-target="#exercise-modal-' . $m . '"></a>';
206
+     $equipment_group = get_the_term_list( $m, 'equipment', '', ', ' );
207
+     $muscle_group    = get_the_term_list( $m, 'muscle-group', '', ', ' );
208
+     $title           = get_the_title();
209
+     $lsx_hp          = lsx_health_plan();
210
+     $button     = '<a data-toggle="modal" href="#exercise-modal-' . $m . '" data-target="#exercise-modal-' . $m . '"></a>';
211 211
 
212
-	if ( true === $content ) {
213
-		$content = get_the_content();
214
-	}
212
+     if ( true === $content ) {
213
+          $content = get_the_content();
214
+     }
215 215
 
216
-	$modal_body = '';
217
-	if ( $lsx_hp->frontend->gallery->has_gallery( $m ) ) {
218
-		$gallery_args = array(
219
-			'css_class' => 'modal-slider',
220
-		);
221
-		$modal_body .= $lsx_hp->frontend->gallery->get_gallery( '', '', $gallery_args );
222
-	} else {
223
-		$modal_body .= '<div class="modal-image">' . get_the_post_thumbnail( $m, 'large' ) . '</div>';
224
-	}
225
-	$modal_body .= '<div class="title-lined exercise-modal"><h5 class="modal-title">' . $title . '</h5>';
216
+     $modal_body = '';
217
+     if ( $lsx_hp->frontend->gallery->has_gallery( $m ) ) {
218
+          $gallery_args = array(
219
+               'css_class' => 'modal-slider',
220
+          );
221
+          $modal_body .= $lsx_hp->frontend->gallery->get_gallery( '', '', $gallery_args );
222
+     } else {
223
+          $modal_body .= '<div class="modal-image">' . get_the_post_thumbnail( $m, 'large' ) . '</div>';
224
+     }
225
+     $modal_body .= '<div class="title-lined exercise-modal"><h5 class="modal-title">' . $title . '</h5>';
226 226
 
227
-	if ( ! empty( $equipment_group ) ) {
228
-		$modal_body .= '<span class="equipment-terms">Equipment: ' . $equipment_group . '</span>';
229
-	}
230
-	if ( ! empty( $muscle_group ) ) {
231
-		$modal_body .= '<span class="muscle-terms">Muscle Group: ' . $muscle_group . '</span>';
232
-	}
233
-	$modal_body .= '</div>';
234
-	$modal_body .= $content;
235
-	\lsx_health_plan\functions\register_modal( 'exercise-modal-' . $m, '', $modal_body );
227
+     if ( ! empty( $equipment_group ) ) {
228
+          $modal_body .= '<span class="equipment-terms">Equipment: ' . $equipment_group . '</span>';
229
+     }
230
+     if ( ! empty( $muscle_group ) ) {
231
+          $modal_body .= '<span class="muscle-terms">Muscle Group: ' . $muscle_group . '</span>';
232
+     }
233
+     $modal_body .= '</div>';
234
+     $modal_body .= $content;
235
+     \lsx_health_plan\functions\register_modal( 'exercise-modal-' . $m, '', $modal_body );
236 236
 
237
-	return ( $button );
237
+     return ( $button );
238 238
 }
239 239
 
240 240
 /**
@@ -246,18 +246,18 @@  discard block
 block discarded – undo
246 246
  * @return string
247 247
  */
248 248
 function lsx_health_plan_exercise_title( $before = '', $after = '', $echo = true, $exercise_id = false ) {
249
-	if ( false === $exercise_id ) {
250
-		$exercise_id = get_the_ID();
251
-	}
252
-	$title = get_the_title( $exercise_id );
253
-	$side  = get_post_meta( $exercise_id, 'exercise_side', true );
254
-	if ( '' !== $side ) {
255
-		$title .= ' - ' . ucwords( $side );
256
-	}
257
-	$title = apply_filters( 'lsx_health_plan_exercise_title', $before . $title . $after, $title, $before, $after, $exercise_id );
258
-	if ( true === $echo ) {
259
-		echo wp_kses_post( $title );
260
-	} else {
261
-		return $title;
262
-	}
249
+     if ( false === $exercise_id ) {
250
+          $exercise_id = get_the_ID();
251
+     }
252
+     $title = get_the_title( $exercise_id );
253
+     $side  = get_post_meta( $exercise_id, 'exercise_side', true );
254
+     if ( '' !== $side ) {
255
+          $title .= ' - ' . ucwords( $side );
256
+     }
257
+     $title = apply_filters( 'lsx_health_plan_exercise_title', $before . $title . $after, $title, $before, $after, $exercise_id );
258
+     if ( true === $echo ) {
259
+          echo wp_kses_post( $title );
260
+     } else {
261
+          return $title;
262
+     }
263 263
 }
Please login to merge, or discard this patch.
templates/content-archive-workout.php 1 patch
Indentation   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -22,17 +22,17 @@  discard block
 block discarded – undo
22 22
 			<?php } ?>
23 23
 			<a href="<?php echo esc_url( get_permalink() ); ?>">
24 24
 			<?php
25
-			$featured_image = get_the_post_thumbnail();
26
-			if ( ! empty( $featured_image ) && '' !== $featured_image ) {
27
-				the_post_thumbnail( 'lsx-thumbnail-square', array(
28
-					'class' => 'aligncenter',
29
-				) );
30
-			} else {
31
-				?>
25
+               $featured_image = get_the_post_thumbnail();
26
+               if ( ! empty( $featured_image ) && '' !== $featured_image ) {
27
+                    the_post_thumbnail( 'lsx-thumbnail-square', array(
28
+                         'class' => 'aligncenter',
29
+                    ) );
30
+               } else {
31
+                    ?>
32 32
 				<img loading="lazy" src="<?php echo esc_attr( plugin_dir_url( __FILE__ ) . '../assets/images/placeholder.jpg' ); ?>">
33 33
 				<?php
34
-			}
35
-			?>
34
+               }
35
+               ?>
36 36
 			</a>
37 37
 		</div>
38 38
 		<div class="content-box workout-content-box white-bg">
@@ -40,14 +40,14 @@  discard block
 block discarded – undo
40 40
 				<?php the_title( '<h3 class="workout-title">', '</h3>' ); ?>
41 41
 			</a>
42 42
 			<?php
43
-			if ( ! has_excerpt() ) {
44
-				$content = wp_trim_words( get_the_content(), 20 );
45
-				$content = '<p>' . $content . '</p>';
46
-			} else {
47
-				$content = apply_filters( 'the_excerpt', get_the_excerpt() );
48
-			}
49
-			echo wp_kses_post( $content );
50
-			?>
43
+               if ( ! has_excerpt() ) {
44
+                    $content = wp_trim_words( get_the_content(), 20 );
45
+                    $content = '<p>' . $content . '</p>';
46
+               } else {
47
+                    $content = apply_filters( 'the_excerpt', get_the_excerpt() );
48
+               }
49
+               echo wp_kses_post( $content );
50
+               ?>
51 51
 			<a href="<?php echo esc_url( get_permalink() ); ?>" class="btn border-btn"><?php esc_html_e( 'See workout', 'lsx-health-plan' ); ?></a>
52 52
 		</div>
53 53
 		<?php lsx_entry_bottom(); ?>
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.
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.