Passed
Push — add/multiplan ( 0b796a...90de42 )
by Ashley
08:47
created
classes/frontend/class-endpoints.php 1 patch
Indentation   +74 added lines, -74 removed lines patch added patch discarded remove patch
@@ -8,88 +8,88 @@
 block discarded – undo
8 8
  */
9 9
 class Endpoints {
10 10
 
11
-	/**
12
-	 * Holds class instance
13
-	 *
14
-	 * @since 1.0.0
15
-	 *
16
-	 * @var      object \lsx_health_plan\classes\frontend\Endpoints()
17
-	 */
18
-	protected static $instance = null;
11
+     /**
12
+      * Holds class instance
13
+      *
14
+      * @since 1.0.0
15
+      *
16
+      * @var      object \lsx_health_plan\classes\frontend\Endpoints()
17
+      */
18
+     protected static $instance = null;
19 19
 
20
-	/**
21
-	 * Constructor
22
-	 */
23
-	public function __construct() {
24
-		add_action( 'init', array( $this, 'setup' ) );
25
-	}
20
+     /**
21
+      * Constructor
22
+      */
23
+     public function __construct() {
24
+          add_action( 'init', array( $this, 'setup' ) );
25
+     }
26 26
 
27
-	/**
28
-	 * Return an instance of this class.
29
-	 *
30
-	 * @since 1.0.0
31
-	 *
32
-	 * @return    object \lsx_health_plan\classes\frontend\Endpoints()    A single instance of this class.
33
-	 */
34
-	public static function get_instance() {
35
-		// If the single instance hasn't been set, set it now.
36
-		if ( null === self::$instance ) {
37
-			self::$instance = new self();
38
-		}
39
-		return self::$instance;
40
-	}
27
+     /**
28
+      * Return an instance of this class.
29
+      *
30
+      * @since 1.0.0
31
+      *
32
+      * @return    object \lsx_health_plan\classes\frontend\Endpoints()    A single instance of this class.
33
+      */
34
+     public static function get_instance() {
35
+          // If the single instance hasn't been set, set it now.
36
+          if ( null === self::$instance ) {
37
+               self::$instance = new self();
38
+          }
39
+          return self::$instance;
40
+     }
41 41
 
42
-	/**
43
-	 * Runs on init
44
-	 */
45
-	public function setup() {
46
-		$this->add_rewrite_rules();
47
-	}
42
+     /**
43
+      * Runs on init
44
+      */
45
+     public function setup() {
46
+          $this->add_rewrite_rules();
47
+     }
48 48
 
49
-	/**
50
-	 * Registers the rewrites.
51
-	 */
52
-	public function add_rewrite_rules() {
53
-		// Here is where we add in the rewrite rules above the normal WP ones.
54
-		add_rewrite_tag( '%endpoint%', '([^&]+)' );
55
-		add_rewrite_tag( '%section%', '([^&]+)' );
49
+     /**
50
+      * Registers the rewrites.
51
+      */
52
+     public function add_rewrite_rules() {
53
+          // Here is where we add in the rewrite rules above the normal WP ones.
54
+          add_rewrite_tag( '%endpoint%', '([^&]+)' );
55
+          add_rewrite_tag( '%section%', '([^&]+)' );
56 56
 
57
-		// Plan Sections.
58
-		add_rewrite_rule( 'plan/([^/]+)/([^/]+)/?$', 'index.php?plan=$matches[1]&section=$matches[2]', 'top' );
57
+          // Plan Sections.
58
+          add_rewrite_rule( 'plan/([^/]+)/([^/]+)/?$', 'index.php?plan=$matches[1]&section=$matches[2]', 'top' );
59 59
 
60
-		// Warm up.
61
-		$warm_up = \lsx_health_plan\functions\get_option( 'endpoint_warm_up', false );
62
-		if ( false === $warm_up ) {
63
-			$warm_up = 'warm-up';
64
-		}
60
+          // Warm up.
61
+          $warm_up = \lsx_health_plan\functions\get_option( 'endpoint_warm_up', false );
62
+          if ( false === $warm_up ) {
63
+               $warm_up = 'warm-up';
64
+          }
65 65
 
66
-		add_rewrite_rule( 'plan/([^/]+)/([^/]+)/' . $warm_up . '/?$', 'index.php?plan=$matches[1]&section=$matches[2]&endpoint=warm-up', 'top' );
66
+          add_rewrite_rule( 'plan/([^/]+)/([^/]+)/' . $warm_up . '/?$', 'index.php?plan=$matches[1]&section=$matches[2]&endpoint=warm-up', 'top' );
67 67
 
68
-		// Workout.
69
-		if ( post_type_exists( 'workout' ) ) {
70
-			$workout = \lsx_health_plan\functions\get_option( 'endpoint_workout', false );
71
-			if ( false === $workout ) {
72
-				$workout = 'workout';
73
-			}
74
-		}
75
-		add_rewrite_rule( 'plan/([^/]+)/([^/]+)/' . $workout . '/?$', 'index.php?plan=$matches[1]&section=$matches[2]&endpoint=workout', 'top' );
68
+          // Workout.
69
+          if ( post_type_exists( 'workout' ) ) {
70
+               $workout = \lsx_health_plan\functions\get_option( 'endpoint_workout', false );
71
+               if ( false === $workout ) {
72
+                    $workout = 'workout';
73
+               }
74
+          }
75
+          add_rewrite_rule( 'plan/([^/]+)/([^/]+)/' . $workout . '/?$', 'index.php?plan=$matches[1]&section=$matches[2]&endpoint=workout', 'top' );
76 76
 
77
-		// Meal.
78
-		if ( post_type_exists( 'meal' ) ) {
79
-			$meal = \lsx_health_plan\functions\get_option( 'endpoint_meal', false );
80
-			if ( false === $meal ) {
81
-				$meal = 'meal';
82
-			}
83
-		}
84
-		add_rewrite_rule( 'plan/([^/]+)/([^/]+)/' . $meal . '/?$', 'index.php?plan=$matches[1]&section=$matches[2]&endpoint=meal', 'top' );
77
+          // Meal.
78
+          if ( post_type_exists( 'meal' ) ) {
79
+               $meal = \lsx_health_plan\functions\get_option( 'endpoint_meal', false );
80
+               if ( false === $meal ) {
81
+                    $meal = 'meal';
82
+               }
83
+          }
84
+          add_rewrite_rule( 'plan/([^/]+)/([^/]+)/' . $meal . '/?$', 'index.php?plan=$matches[1]&section=$matches[2]&endpoint=meal', 'top' );
85 85
 
86
-		// Recipe.
87
-		if ( post_type_exists( 'recipe' ) ) {
88
-			$recipe = \lsx_health_plan\functions\get_option( 'endpoint_recipe', false );
89
-			if ( false === $recipe ) {
90
-				$recipe = 'recipes';
91
-			}
92
-		}
93
-		add_rewrite_rule( 'plan/([^/]+)/([^/]+)/' . $recipe . '/?$', 'index.php?plan=$matches[1]&section=$matches[2]&endpoint=recipes', 'top' );
94
-	}
86
+          // Recipe.
87
+          if ( post_type_exists( 'recipe' ) ) {
88
+               $recipe = \lsx_health_plan\functions\get_option( 'endpoint_recipe', false );
89
+               if ( false === $recipe ) {
90
+                    $recipe = 'recipes';
91
+               }
92
+          }
93
+          add_rewrite_rule( 'plan/([^/]+)/([^/]+)/' . $recipe . '/?$', 'index.php?plan=$matches[1]&section=$matches[2]&endpoint=recipes', 'top' );
94
+     }
95 95
 }
Please login to merge, or discard this patch.
classes/frontend/class-general.php 1 patch
Indentation   +143 added lines, -143 removed lines patch added patch discarded remove patch
@@ -8,147 +8,147 @@
 block discarded – undo
8 8
  */
9 9
 class General {
10 10
 
11
-	/**
12
-	 * Holds class instance
13
-	 *
14
-	 * @since 1.0.0
15
-	 *
16
-	 * @var      object \lsx_health_plan\classes\frontend\General()
17
-	 */
18
-	protected static $instance = null;
19
-
20
-	/**
21
-	 * Constructor
22
-	 */
23
-	public function __construct() {
24
-		// Before Output.
25
-		add_action( 'wp_enqueue_scripts', array( $this, 'assets' ), 5 );
26
-		add_filter( 'wp_kses_allowed_html', array( $this, 'allow_html_tags_attributes' ), 100, 2 );
27
-
28
-		// Output.
29
-		add_action( 'body_class', array( $this, 'body_classes' ) );
30
-		add_filter( 'lsx_global_header_title',  array( $this, 'single_title' ), 200, 1 );
31
-		add_action( 'wp_head', array( $this, 'remove_single_footer' ), 99 );
32
-	}
33
-
34
-	/**
35
-	 * Return an instance of this class.
36
-	 *
37
-	 * @since 1.0.0
38
-	 *
39
-	 * @return    object \lsx_health_plan\classes\frontend\General()    A single instance of this class.
40
-	 */
41
-	public static function get_instance() {
42
-		// If the single instance hasn't been set, set it now.
43
-		if ( null === self::$instance ) {
44
-			self::$instance = new self();
45
-		}
46
-		return self::$instance;
47
-	}
48
-
49
-	/**
50
-	 * Registers the plugin frontend assets
51
-	 *
52
-	 * @return void
53
-	 */
54
-	public function assets() {
55
-
56
-		if ( is_post_type_archive( 'plan' ) && false === \lsx_health_plan\functions\plan\is_filters_disabled() ) {
57
-			wp_enqueue_script( 'isotope', LSX_HEALTH_PLAN_URL . 'assets/js/vendor/isotope.pkgd.min.js', array( 'jquery' ), null, LSX_HEALTH_PLAN_URL, true );
58
-		}
59
-
60
-		wp_enqueue_style( 'lsx-health-plan', LSX_HEALTH_PLAN_URL . 'assets/css/lsx-health-plan.css', array(), LSX_HEALTH_PLAN_VER );
61
-		wp_style_add_data( 'lsx-health-plan', 'rtl', 'replace' );
62
-		wp_enqueue_script( 'lsx-health-plan-scripts', LSX_HEALTH_PLAN_URL . 'assets/js/src/lsx-health-plan-admin.js', array( 'jquery' ) );
63
-
64
-	}
65
-
66
-	/**
67
-	 * Adds the iframe and the progress HTML tags to the allowed WordPress list.
68
-	 */
69
-	public function allow_html_tags_attributes( $tags, $context ) {
70
-		if ( 'post' === $context ) {
71
-			$tags['iframe'] = array(
72
-				'src'             => true,
73
-				'height'          => true,
74
-				'width'           => true,
75
-				'frameborder'     => true,
76
-				'allowfullscreen' => true,
77
-			);
78
-		}
79
-		$tags['progress'] = array(
80
-			'id'    => true,
81
-			'value' => true,
82
-			'max'   => true,
83
-		);
84
-		return $tags;
85
-	}
86
-
87
-	/**
88
-	 * Add body classes to body.
89
-	 *
90
-	 * @param array $classes
91
-	 * @return void
92
-	 */
93
-	public function body_classes( $classes = array() ) {
94
-		global $post;
95
-
96
-		if ( isset( $post->post_content ) && has_shortcode( $post->post_content, 'lsx_health_plan_my_profile_block' ) ) {
97
-			$classes[] = 'my-plan-shortcode';
98
-		}
99
-
100
-		if ( is_single() && is_singular( 'plan' ) ) {
101
-			$args = array(
102
-				'post_parent' => get_the_ID(),
103
-				'post_type'   => 'plan',
104
-			);
105
-
106
-			$post_id      = get_the_ID();
107
-			$has_children = get_children( $args );
108
-			$has_parent   = wp_get_post_parent_id( $post_id );
109
-
110
-			if ( ! empty( $has_children ) ) {
111
-				$plan_type_class = 'parent-plan-page';
112
-				if ( 0 !== $has_parent ) {
113
-					$plan_type_class = 'parent-sub-plan-page';
114
-				}
115
-			} else {
116
-				$plan_type_class = 'unique-plan-page';
117
-				if ( 0 !== $has_parent ) {
118
-					$plan_type_class = 'child-plan-page';
119
-				}
120
-			}
121
-			$classes[] = $plan_type_class;
122
-		}
123
-		return $classes;
124
-	}
125
-
126
-	/**
127
-	 * Remove the single recipe and exercise title
128
-	 */
129
-	public function single_title( $title ) {
130
-
131
-		if ( is_single() && is_singular( 'recipe' ) ) {
132
-
133
-			$title = __( 'Recipe', 'lsx-health-plan' );
134
-		}
135
-
136
-		if ( is_single() && is_singular( 'exercise' ) ) {
137
-
138
-			$title = __( 'Exercise', 'lsx-health-plan' );
139
-		}
140
-
141
-		return $title;
142
-	}
143
-
144
-	/**
145
-	 * Removing footer for HP single pages.
146
-	 *
147
-	 * @return void
148
-	 */
149
-	public function remove_single_footer() {
150
-		if ( is_single() && is_singular( array( 'exercise', 'recipe', 'workout', 'meal' ) ) ) {
151
-			remove_action( 'lsx_footer_before', 'lsx_add_footer_sidebar_area' );
152
-		}
153
-	}
11
+     /**
12
+      * Holds class instance
13
+      *
14
+      * @since 1.0.0
15
+      *
16
+      * @var      object \lsx_health_plan\classes\frontend\General()
17
+      */
18
+     protected static $instance = null;
19
+
20
+     /**
21
+      * Constructor
22
+      */
23
+     public function __construct() {
24
+          // Before Output.
25
+          add_action( 'wp_enqueue_scripts', array( $this, 'assets' ), 5 );
26
+          add_filter( 'wp_kses_allowed_html', array( $this, 'allow_html_tags_attributes' ), 100, 2 );
27
+
28
+          // Output.
29
+          add_action( 'body_class', array( $this, 'body_classes' ) );
30
+          add_filter( 'lsx_global_header_title',  array( $this, 'single_title' ), 200, 1 );
31
+          add_action( 'wp_head', array( $this, 'remove_single_footer' ), 99 );
32
+     }
33
+
34
+     /**
35
+      * Return an instance of this class.
36
+      *
37
+      * @since 1.0.0
38
+      *
39
+      * @return    object \lsx_health_plan\classes\frontend\General()    A single instance of this class.
40
+      */
41
+     public static function get_instance() {
42
+          // If the single instance hasn't been set, set it now.
43
+          if ( null === self::$instance ) {
44
+               self::$instance = new self();
45
+          }
46
+          return self::$instance;
47
+     }
48
+
49
+     /**
50
+      * Registers the plugin frontend assets
51
+      *
52
+      * @return void
53
+      */
54
+     public function assets() {
55
+
56
+          if ( is_post_type_archive( 'plan' ) && false === \lsx_health_plan\functions\plan\is_filters_disabled() ) {
57
+               wp_enqueue_script( 'isotope', LSX_HEALTH_PLAN_URL . 'assets/js/vendor/isotope.pkgd.min.js', array( 'jquery' ), null, LSX_HEALTH_PLAN_URL, true );
58
+          }
59
+
60
+          wp_enqueue_style( 'lsx-health-plan', LSX_HEALTH_PLAN_URL . 'assets/css/lsx-health-plan.css', array(), LSX_HEALTH_PLAN_VER );
61
+          wp_style_add_data( 'lsx-health-plan', 'rtl', 'replace' );
62
+          wp_enqueue_script( 'lsx-health-plan-scripts', LSX_HEALTH_PLAN_URL . 'assets/js/src/lsx-health-plan-admin.js', array( 'jquery' ) );
63
+
64
+     }
65
+
66
+     /**
67
+      * Adds the iframe and the progress HTML tags to the allowed WordPress list.
68
+      */
69
+     public function allow_html_tags_attributes( $tags, $context ) {
70
+          if ( 'post' === $context ) {
71
+               $tags['iframe'] = array(
72
+                    'src'             => true,
73
+                    'height'          => true,
74
+                    'width'           => true,
75
+                    'frameborder'     => true,
76
+                    'allowfullscreen' => true,
77
+               );
78
+          }
79
+          $tags['progress'] = array(
80
+               'id'    => true,
81
+               'value' => true,
82
+               'max'   => true,
83
+          );
84
+          return $tags;
85
+     }
86
+
87
+     /**
88
+      * Add body classes to body.
89
+      *
90
+      * @param array $classes
91
+      * @return void
92
+      */
93
+     public function body_classes( $classes = array() ) {
94
+          global $post;
95
+
96
+          if ( isset( $post->post_content ) && has_shortcode( $post->post_content, 'lsx_health_plan_my_profile_block' ) ) {
97
+               $classes[] = 'my-plan-shortcode';
98
+          }
99
+
100
+          if ( is_single() && is_singular( 'plan' ) ) {
101
+               $args = array(
102
+                    'post_parent' => get_the_ID(),
103
+                    'post_type'   => 'plan',
104
+               );
105
+
106
+               $post_id      = get_the_ID();
107
+               $has_children = get_children( $args );
108
+               $has_parent   = wp_get_post_parent_id( $post_id );
109
+
110
+               if ( ! empty( $has_children ) ) {
111
+                    $plan_type_class = 'parent-plan-page';
112
+                    if ( 0 !== $has_parent ) {
113
+                         $plan_type_class = 'parent-sub-plan-page';
114
+                    }
115
+               } else {
116
+                    $plan_type_class = 'unique-plan-page';
117
+                    if ( 0 !== $has_parent ) {
118
+                         $plan_type_class = 'child-plan-page';
119
+                    }
120
+               }
121
+               $classes[] = $plan_type_class;
122
+          }
123
+          return $classes;
124
+     }
125
+
126
+     /**
127
+      * Remove the single recipe and exercise title
128
+      */
129
+     public function single_title( $title ) {
130
+
131
+          if ( is_single() && is_singular( 'recipe' ) ) {
132
+
133
+               $title = __( 'Recipe', 'lsx-health-plan' );
134
+          }
135
+
136
+          if ( is_single() && is_singular( 'exercise' ) ) {
137
+
138
+               $title = __( 'Exercise', 'lsx-health-plan' );
139
+          }
140
+
141
+          return $title;
142
+     }
143
+
144
+     /**
145
+      * Removing footer for HP single pages.
146
+      *
147
+      * @return void
148
+      */
149
+     public function remove_single_footer() {
150
+          if ( is_single() && is_singular( array( 'exercise', 'recipe', 'workout', 'meal' ) ) ) {
151
+               remove_action( 'lsx_footer_before', 'lsx_add_footer_sidebar_area' );
152
+          }
153
+     }
154 154
 }
Please login to merge, or discard this patch.
classes/frontend/class-plan-query.php 1 patch
Indentation   +85 added lines, -85 removed lines patch added patch discarded remove patch
@@ -8,98 +8,98 @@
 block discarded – undo
8 8
  */
9 9
 class Plan_Query {
10 10
 
11
-	/**
12
-	 * Holds class instance
13
-	 *
14
-	 * @since 1.0.0
15
-	 *
16
-	 * @var      object \lsx_health_plan\classes\frontend\Plan_Query()
17
-	 */
18
-	protected static $instance = null;
11
+     /**
12
+      * Holds class instance
13
+      *
14
+      * @since 1.0.0
15
+      *
16
+      * @var      object \lsx_health_plan\classes\frontend\Plan_Query()
17
+      */
18
+     protected static $instance = null;
19 19
 
20
-	/**
21
-	 * Holds the sections for the current plan.
22
-	 *
23
-	 * @var array
24
-	 */
25
-	public $sections = array();
20
+     /**
21
+      * Holds the sections for the current plan.
22
+      *
23
+      * @var array
24
+      */
25
+     public $sections = array();
26 26
 
27
-	/**
28
-	 * Holds the variable true/false if the current plan has sections or not.
29
-	 *
30
-	 * @var array
31
-	 */
32
-	public $has_sections = false;	
27
+     /**
28
+      * Holds the variable true/false if the current plan has sections or not.
29
+      *
30
+      * @var array
31
+      */
32
+     public $has_sections = false;	
33 33
 
34
-	/**
35
-	 * Constructor
36
-	 */
37
-	public function __construct() {
38
-	}
34
+     /**
35
+      * Constructor
36
+      */
37
+     public function __construct() {
38
+     }
39 39
 
40
-	/**
41
-	 * Return an instance of this class.
42
-	 *
43
-	 * @since 1.0.0
44
-	 *
45
-	 * @return    object \lsx_health_plan\classes\frontend\Plan_Query()    A single instance of this class.
46
-	 */
47
-	public static function get_instance() {
48
-		// If the single instance hasn't been set, set it now.
49
-		if ( null === self::$instance ) {
50
-			self::$instance = new self();
51
-		}
52
-		return self::$instance;
53
-	}
40
+     /**
41
+      * Return an instance of this class.
42
+      *
43
+      * @since 1.0.0
44
+      *
45
+      * @return    object \lsx_health_plan\classes\frontend\Plan_Query()    A single instance of this class.
46
+      */
47
+     public static function get_instance() {
48
+          // If the single instance hasn't been set, set it now.
49
+          if ( null === self::$instance ) {
50
+               self::$instance = new self();
51
+          }
52
+          return self::$instance;
53
+     }
54 54
 
55
-	/**
56
-	 * Undocumented function
57
-	 *
58
-	 * @return void
59
-	 */
60
-	public function query_sections( $plan_id = '' ) {
61
-		if ( '' === $plan_id ) {
62
-			$plan_id = get_the_ID();
63
-		}
55
+     /**
56
+      * Undocumented function
57
+      *
58
+      * @return void
59
+      */
60
+     public function query_sections( $plan_id = '' ) {
61
+          if ( '' === $plan_id ) {
62
+               $plan_id = get_the_ID();
63
+          }
64 64
 
65
-		$section_array = get_post_meta( $plan_id, 'plan_sections', true );
66
-		if ( ! empty( $section_array ) ) {
67
-			$this->has_sections = true;
68
-			$this->sections     = $section_array;
69
-		}
70
-		return $this->has_sections;
71
-	}
65
+          $section_array = get_post_meta( $plan_id, 'plan_sections', true );
66
+          if ( ! empty( $section_array ) ) {
67
+               $this->has_sections = true;
68
+               $this->sections     = $section_array;
69
+          }
70
+          return $this->has_sections;
71
+     }
72 72
 
73
-	public function get_sections( $group = false ) {
74
-		$sections = $this->sections;
75
-		if ( false !== $group ) {
76
-			$sections = $this->group_sections( $sections );
77
-		}
78
-		return $sections;
79
-	}
73
+     public function get_sections( $group = false ) {
74
+          $sections = $this->sections;
75
+          if ( false !== $group ) {
76
+               $sections = $this->group_sections( $sections );
77
+          }
78
+          return $sections;
79
+     }
80 80
 
81
-	public function get_section_count() {
82
-		return count( $this->sections );
83
-	}
81
+     public function get_section_count() {
82
+          return count( $this->sections );
83
+     }
84 84
 
85
-	/**
86
-	 * This will group the sections by their "Group" field.
87
-	 *
88
-	 * @param  array $sections
89
-	 * @return array
90
-	 */
91
-	public function group_sections( $sections = array() ) {
92
-		$groups = array();
93
-		if ( ! empty( $sections ) ) {
94
-			foreach ( $sections as $section_key => $section_values ) {
95
-				$group_key = apply_filters( 'lsx_hp_default_plan_group', __( 'Daily Plan', 'lsx-health-plan' ) );
96
-				if ( isset( $section_values['group'] ) && '' !== $section_values['group'] ) {
97
-					$group_key = $section_values['group'];
98
-				}
99
-				$group_key                            = sanitize_title( $group_key );
100
-				$groups[ $group_key ][ $section_key ] = $section_values;
101
-			}
102
-		}
103
-		return $groups;
104
-	}
85
+     /**
86
+      * This will group the sections by their "Group" field.
87
+      *
88
+      * @param  array $sections
89
+      * @return array
90
+      */
91
+     public function group_sections( $sections = array() ) {
92
+          $groups = array();
93
+          if ( ! empty( $sections ) ) {
94
+               foreach ( $sections as $section_key => $section_values ) {
95
+                    $group_key = apply_filters( 'lsx_hp_default_plan_group', __( 'Daily Plan', 'lsx-health-plan' ) );
96
+                    if ( isset( $section_values['group'] ) && '' !== $section_values['group'] ) {
97
+                         $group_key = $section_values['group'];
98
+                    }
99
+                    $group_key                            = sanitize_title( $group_key );
100
+                    $groups[ $group_key ][ $section_key ] = $section_values;
101
+               }
102
+          }
103
+          return $groups;
104
+     }
105 105
 }
Please login to merge, or discard this patch.
classes/frontend/class-plan-status.php 1 patch
Indentation   +45 added lines, -45 removed lines patch added patch discarded remove patch
@@ -8,53 +8,53 @@
 block discarded – undo
8 8
  */
9 9
 class Plan_Status {
10 10
 
11
-	/**
12
-	 * Holds class instance
13
-	 *
14
-	 * @since 1.0.0
15
-	 *
16
-	 * @var      object \lsx_health_plan\classes\frontend\Plan_Status()
17
-	 */
18
-	protected static $instance = null;
11
+     /**
12
+      * Holds class instance
13
+      *
14
+      * @since 1.0.0
15
+      *
16
+      * @var      object \lsx_health_plan\classes\frontend\Plan_Status()
17
+      */
18
+     protected static $instance = null;
19 19
 
20
-	/**
21
-	 * Constructor
22
-	 */
23
-	public function __construct() {
24
-		add_action( 'init', array( $this, 'handle_day_action' ), 100 );
25
-	}
20
+     /**
21
+      * Constructor
22
+      */
23
+     public function __construct() {
24
+          add_action( 'init', array( $this, 'handle_day_action' ), 100 );
25
+     }
26 26
 
27
-	/**
28
-	 * Return an instance of this class.
29
-	 *
30
-	 * @since 1.0.0
31
-	 *
32
-	 * @return    object \lsx_health_plan\classes\frontend\Plan_Status()    A single instance of this class.
33
-	 */
34
-	public static function get_instance() {
35
-		// If the single instance hasn't been set, set it now.
36
-		if ( null === self::$instance ) {
37
-			self::$instance = new self();
38
-		}
39
-		return self::$instance;
40
-	}
27
+     /**
28
+      * Return an instance of this class.
29
+      *
30
+      * @since 1.0.0
31
+      *
32
+      * @return    object \lsx_health_plan\classes\frontend\Plan_Status()    A single instance of this class.
33
+      */
34
+     public static function get_instance() {
35
+          // If the single instance hasn't been set, set it now.
36
+          if ( null === self::$instance ) {
37
+               self::$instance = new self();
38
+          }
39
+          return self::$instance;
40
+     }
41 41
 
42
-	/**
43
-	 * Registers the rewrites.
44
-	 */
45
-	public function handle_day_action() {
46
-		if ( isset( $_POST['lsx-health-plan-actions'] ) && wp_verify_nonce( $_POST['lsx-health-plan-actions'], 'complete' ) ) {
47
-			update_user_meta( get_current_user_id(), 'day_' . sanitize_key( $_POST['lsx-health-plan-id'] ) . '_complete', true );
48
-			$plan_id     = sanitize_key( $_POST['lsx-health-plan-id'] );
49
-			$plan_parent = wp_get_post_parent_id( $plan_id );
50
-			if ( 0 !== $plan_parent ) {
51
-				$plan_id = $plan_parent;
52
-			}
53
-			wp_safe_redirect( get_permalink( $plan_id ) );
54
-		}
42
+     /**
43
+      * Registers the rewrites.
44
+      */
45
+     public function handle_day_action() {
46
+          if ( isset( $_POST['lsx-health-plan-actions'] ) && wp_verify_nonce( $_POST['lsx-health-plan-actions'], 'complete' ) ) {
47
+               update_user_meta( get_current_user_id(), 'day_' . sanitize_key( $_POST['lsx-health-plan-id'] ) . '_complete', true );
48
+               $plan_id     = sanitize_key( $_POST['lsx-health-plan-id'] );
49
+               $plan_parent = wp_get_post_parent_id( $plan_id );
50
+               if ( 0 !== $plan_parent ) {
51
+                    $plan_id = $plan_parent;
52
+               }
53
+               wp_safe_redirect( get_permalink( $plan_id ) );
54
+          }
55 55
 
56
-		if ( isset( $_POST['lsx-health-plan-actions'] ) && wp_verify_nonce( $_POST['lsx-health-plan-actions'], 'unlock' ) ) {
57
-			delete_user_meta( get_current_user_id(), 'day_' . sanitize_key( $_POST['lsx-health-plan-id'] ) . '_complete' );
58
-		}
59
-	}
56
+          if ( isset( $_POST['lsx-health-plan-actions'] ) && wp_verify_nonce( $_POST['lsx-health-plan-actions'], 'unlock' ) ) {
57
+               delete_user_meta( get_current_user_id(), 'day_' . sanitize_key( $_POST['lsx-health-plan-id'] ) . '_complete' );
58
+          }
59
+     }
60 60
 }
Please login to merge, or discard this patch.
classes/frontend/class-modals.php 1 patch
Indentation   +58 added lines, -58 removed lines patch added patch discarded remove patch
@@ -8,68 +8,68 @@
 block discarded – undo
8 8
  */
9 9
 class Modals {
10 10
 
11
-	/**
12
-	 * Holds class instance
13
-	 *
14
-	 * @since 1.0.0
15
-	 *
16
-	 * @var      object \lsx_health_plan\classes\Modals()
17
-	 */
18
-	protected static $instance = null;
11
+     /**
12
+      * Holds class instance
13
+      *
14
+      * @since 1.0.0
15
+      *
16
+      * @var      object \lsx_health_plan\classes\Modals()
17
+      */
18
+     protected static $instance = null;
19 19
 
20
-	/**
21
-	 * Holds the modals to be outputted
22
-	 *
23
-	 * @var array
24
-	 */
25
-	public $modals = array();
20
+     /**
21
+      * Holds the modals to be outputted
22
+      *
23
+      * @var array
24
+      */
25
+     public $modals = array();
26 26
 
27
-	/**
28
-	 * Constructor
29
-	 */
30
-	public function __construct() {
31
-		add_action( 'wp_footer', array( $this, 'output_modals' ) );
32
-	}
27
+     /**
28
+      * Constructor
29
+      */
30
+     public function __construct() {
31
+          add_action( 'wp_footer', array( $this, 'output_modals' ) );
32
+     }
33 33
 
34
-	/**
35
-	 * Return an instance of this class.
36
-	 *
37
-	 * @since 1.0.0
38
-	 *
39
-	 * @return    object \lsx_health_plan\classes\Endpoints()    A single instance of this class.
40
-	 */
41
-	public static function get_instance() {
42
-		// If the single instance hasn't been set, set it now.
43
-		if ( null === self::$instance ) {
44
-			self::$instance = new self();
45
-		}
46
-		return self::$instance;
47
-	}
34
+     /**
35
+      * Return an instance of this class.
36
+      *
37
+      * @since 1.0.0
38
+      *
39
+      * @return    object \lsx_health_plan\classes\Endpoints()    A single instance of this class.
40
+      */
41
+     public static function get_instance() {
42
+          // If the single instance hasn't been set, set it now.
43
+          if ( null === self::$instance ) {
44
+               self::$instance = new self();
45
+          }
46
+          return self::$instance;
47
+     }
48 48
 
49
-	/**
50
-	 * Registers a modal to be outputted
51
-	 *
52
-	 * @param array $modal
53
-	 * @param string $index
54
-	 * @return void
55
-	 */
56
-	public function register_modal( $modal = array(), $index = '' ) {
57
-		if ( '' !== $index && ! empty( $modal ) ) {
58
-			$modal['id'] = $index;
59
-			$this->modals[ $index ] = $modal;
60
-		}
61
-	}
49
+     /**
50
+      * Registers a modal to be outputted
51
+      *
52
+      * @param array $modal
53
+      * @param string $index
54
+      * @return void
55
+      */
56
+     public function register_modal( $modal = array(), $index = '' ) {
57
+          if ( '' !== $index && ! empty( $modal ) ) {
58
+               $modal['id'] = $index;
59
+               $this->modals[ $index ] = $modal;
60
+          }
61
+     }
62 62
 
63
-	/**
64
-	 * Registers the rewrites.
65
-	 */
66
-	public function output_modals() {
67
-		if ( ! empty( $this->modals ) ) {
68
-			wp_enqueue_script( 'lsx-health-plan-modals', LSX_HEALTH_PLAN_URL . 'assets/js/lsx-health-plan-modals.min.js', array( 'slick' ), LSX_HEALTH_PLAN_VER, true );
63
+     /**
64
+      * Registers the rewrites.
65
+      */
66
+     public function output_modals() {
67
+          if ( ! empty( $this->modals ) ) {
68
+               wp_enqueue_script( 'lsx-health-plan-modals', LSX_HEALTH_PLAN_URL . 'assets/js/lsx-health-plan-modals.min.js', array( 'slick' ), LSX_HEALTH_PLAN_VER, true );
69 69
 
70
-			foreach ( $this->modals as $index => $modal ) {
71
-				\lsx_health_plan\functions\output_modal( $modal );
72
-			}
73
-		}
74
-	}
70
+               foreach ( $this->modals as $index => $modal ) {
71
+                    \lsx_health_plan\functions\output_modal( $modal );
72
+               }
73
+          }
74
+     }
75 75
 }
Please login to merge, or discard this patch.
classes/frontend/class-gallery.php 1 patch
Indentation   +232 added lines, -232 removed lines patch added patch discarded remove patch
@@ -8,264 +8,264 @@
 block discarded – undo
8 8
  */
9 9
 class Gallery {
10 10
 
11
-	/**
12
-	 * Holds class instance
13
-	 *
14
-	 * @var object \lsx_health_plan\classes\lib\Gallery()
15
-	 */
16
-	protected static $instance = null;
11
+     /**
12
+      * Holds class instance
13
+      *
14
+      * @var object \lsx_health_plan\classes\lib\Gallery()
15
+      */
16
+     protected static $instance = null;
17 17
 
18
-	/**
19
-	 * The current item ID.
20
-	 *
21
-	 * @var boolean | int
22
-	 */
23
-	public $item_id = false;
18
+     /**
19
+      * The current item ID.
20
+      *
21
+      * @var boolean | int
22
+      */
23
+     public $item_id = false;
24 24
 
25
-	/**
26
-	 * The current item post_type used in the custom field retrival..
27
-	 *
28
-	 * @var boolean | int
29
-	 */
30
-	public $post_type = false;
25
+     /**
26
+      * The current item post_type used in the custom field retrival..
27
+      *
28
+      * @var boolean | int
29
+      */
30
+     public $post_type = false;
31 31
 
32
-	/**
33
-	 * Holds the the default parameters for the gallery output.
34
-	 *
35
-	 * @var array
36
-	 */
37
-	public $defaults = array();
32
+     /**
33
+      * Holds the the default parameters for the gallery output.
34
+      *
35
+      * @var array
36
+      */
37
+     public $defaults = array();
38 38
 
39
-	/**
40
-	 * If the current post has a gallery.
41
-	 *
42
-	 * @var boolean
43
-	 */
44
-	public $has_gallery = false;
39
+     /**
40
+      * If the current post has a gallery.
41
+      *
42
+      * @var boolean
43
+      */
44
+     public $has_gallery = false;
45 45
 
46
-	/**
47
-	 * Holds the array of gallery images.
48
-	 *
49
-	 * @var array
50
-	 */
51
-	public $gallery = array();
46
+     /**
47
+      * Holds the array of gallery images.
48
+      *
49
+      * @var array
50
+      */
51
+     public $gallery = array();
52 52
 
53
-	/**
54
-	 * Holds the html for the current gallery being output.
55
-	 *
56
-	 * @var array
57
-	 */
58
-	public $html = array();
53
+     /**
54
+      * Holds the html for the current gallery being output.
55
+      *
56
+      * @var array
57
+      */
58
+     public $html = array();
59 59
 
60
-	/**
61
-	 * Holds the parameters for the current gallery being output.
62
-	 *
63
-	 * @var array
64
-	 */
65
-	public $args = array();
60
+     /**
61
+      * Holds the parameters for the current gallery being output.
62
+      *
63
+      * @var array
64
+      */
65
+     public $args = array();
66 66
 
67
-	/**
68
-	 * Constructor
69
-	 */
70
-	public function __construct() {
71
-	}
67
+     /**
68
+      * Constructor
69
+      */
70
+     public function __construct() {
71
+     }
72 72
 
73
-	/**
74
-	 * Return an instance of this class.
75
-	 *
76
-	 * @since 1.0.0
77
-	 *
78
-	 * @return    object \lsx_health_plan\classes\lib\Gallery()    A single instance of this class.
79
-	 */
80
-	public static function get_instance() {
81
-		// If the single instance hasn't been set, set it now.
82
-		if ( null === self::$instance ) {
83
-			self::$instance = new self();
84
-		}
85
-		return self::$instance;
86
-	}
73
+     /**
74
+      * Return an instance of this class.
75
+      *
76
+      * @since 1.0.0
77
+      *
78
+      * @return    object \lsx_health_plan\classes\lib\Gallery()    A single instance of this class.
79
+      */
80
+     public static function get_instance() {
81
+          // If the single instance hasn't been set, set it now.
82
+          if ( null === self::$instance ) {
83
+               self::$instance = new self();
84
+          }
85
+          return self::$instance;
86
+     }
87 87
 
88
-	/**
89
-	 * Check if the item has a gallery of images returns true or false.
90
-	 *
91
-	 * @param  string $item_id
92
-	 * @param  string $post_type
93
-	 * @return boolean
94
-	 */
95
-	public function has_gallery( $item_id = '', $post_type = '' ) {
88
+     /**
89
+      * Check if the item has a gallery of images returns true or false.
90
+      *
91
+      * @param  string $item_id
92
+      * @param  string $post_type
93
+      * @return boolean
94
+      */
95
+     public function has_gallery( $item_id = '', $post_type = '' ) {
96 96
 
97
-		if ( '' === $item_id ) {
98
-			$this->item_id = get_the_ID();
99
-		} else {
100
-			$this->item_id = $item_id;
101
-		}
102
-		$this->has_gallery = false;
103
-		if ( '' === $post_type ) {
104
-			$this->post_type = get_post_type( $this->item_id );
105
-		}
106
-		$gallery = get_post_meta( $this->item_id, $this->post_type . '_gallery', true );
97
+          if ( '' === $item_id ) {
98
+               $this->item_id = get_the_ID();
99
+          } else {
100
+               $this->item_id = $item_id;
101
+          }
102
+          $this->has_gallery = false;
103
+          if ( '' === $post_type ) {
104
+               $this->post_type = get_post_type( $this->item_id );
105
+          }
106
+          $gallery = get_post_meta( $this->item_id, $this->post_type . '_gallery', true );
107 107
 
108
-		if ( ! empty( $gallery ) && ( '' !== $gallery ) ) {
109
-			$this->gallery     = $gallery;
110
-			$this->has_gallery = true;
111
-			wp_enqueue_script( 'slick', LSX_HEALTH_PLAN_URL . 'assets/js/src/slick.min.js', array( 'jquery' ), LSX_HEALTH_PLAN_VER, true );
112
-			wp_enqueue_script( 'lsx-health-plan-slider', LSX_HEALTH_PLAN_URL . 'assets/js/src/lsx-health-plan-slider.js', array( 'slick' ), LSX_HEALTH_PLAN_VER, true );
113
-		}
114
-		return $this->has_gallery;
115
-	}
108
+          if ( ! empty( $gallery ) && ( '' !== $gallery ) ) {
109
+               $this->gallery     = $gallery;
110
+               $this->has_gallery = true;
111
+               wp_enqueue_script( 'slick', LSX_HEALTH_PLAN_URL . 'assets/js/src/slick.min.js', array( 'jquery' ), LSX_HEALTH_PLAN_VER, true );
112
+               wp_enqueue_script( 'lsx-health-plan-slider', LSX_HEALTH_PLAN_URL . 'assets/js/src/lsx-health-plan-slider.js', array( 'slick' ), LSX_HEALTH_PLAN_VER, true );
113
+          }
114
+          return $this->has_gallery;
115
+     }
116 116
 
117
-	/**
118
-	 * Returns the defaults for the gallery, after grabbing the setting from the item.
119
-	 *
120
-	 * @param  string $item_id
121
-	 * @param  string $post_type
122
-	 * @return array
123
-	 */
124
-	public function get_defaults( $item_id = '', $post_type = '' ) {
125
-		if ( '' === $item_id ) {
126
-			$item_id = $this->item_id;
127
-		}
128
-		if ( '' === $post_type ) {
129
-			$post_type = $this->post_type;
130
-		}
131
-		$this->defaults = array(
132
-			'columns'   => '3',
133
-			'layout'    => 'slider',
134
-			'interval'  => false,
135
-			'css_class' => false,
136
-		);
137
-		foreach ( $this->defaults as $key => $default ) {
138
-			$override = get_post_meta( $item_id, $this->post_type . '_gallery_' . $key, true );
139
-			if ( '' !== $override && false !== $override && ! empty( $override ) ) {
140
-				$this->defaults[ $key ] = $override;
141
-			}
142
-		}
143
-		return $this->defaults;
144
-	}
117
+     /**
118
+      * Returns the defaults for the gallery, after grabbing the setting from the item.
119
+      *
120
+      * @param  string $item_id
121
+      * @param  string $post_type
122
+      * @return array
123
+      */
124
+     public function get_defaults( $item_id = '', $post_type = '' ) {
125
+          if ( '' === $item_id ) {
126
+               $item_id = $this->item_id;
127
+          }
128
+          if ( '' === $post_type ) {
129
+               $post_type = $this->post_type;
130
+          }
131
+          $this->defaults = array(
132
+               'columns'   => '3',
133
+               'layout'    => 'slider',
134
+               'interval'  => false,
135
+               'css_class' => false,
136
+          );
137
+          foreach ( $this->defaults as $key => $default ) {
138
+               $override = get_post_meta( $item_id, $this->post_type . '_gallery_' . $key, true );
139
+               if ( '' !== $override && false !== $override && ! empty( $override ) ) {
140
+                    $this->defaults[ $key ] = $override;
141
+               }
142
+          }
143
+          return $this->defaults;
144
+     }
145 145
 
146
-	/**
147
-	 * Gets and returns the gallery html.
148
-	 *
149
-	 * @param string $item_id
150
-	 * @param string $post_type
151
-	 * @return void
152
-	 */
153
-	public function get_gallery( $item_id = '', $post_type = '', $args = array() ) {
154
-		$return     = '';
155
-		$this->html = array();
156
-		$this->args = wp_parse_args( $args, $this->get_defaults( $item_id, $post_type ) );
157
-		if ( ! empty( $this->gallery ) ) {
158
-			$this->args['count'] = 1;
159
-			if ( '' !== $post_type ) {
160
-				$this->args['post_type'] = $post_type;
161
-			} else {
162
-				$this->args['post_type'] = $this->post_type;
163
-			}
146
+     /**
147
+      * Gets and returns the gallery html.
148
+      *
149
+      * @param string $item_id
150
+      * @param string $post_type
151
+      * @return void
152
+      */
153
+     public function get_gallery( $item_id = '', $post_type = '', $args = array() ) {
154
+          $return     = '';
155
+          $this->html = array();
156
+          $this->args = wp_parse_args( $args, $this->get_defaults( $item_id, $post_type ) );
157
+          if ( ! empty( $this->gallery ) ) {
158
+               $this->args['count'] = 1;
159
+               if ( '' !== $post_type ) {
160
+                    $this->args['post_type'] = $post_type;
161
+               } else {
162
+                    $this->args['post_type'] = $this->post_type;
163
+               }
164 164
 
165
-			// output the opening boostrap row divs.
166
-			$this->before_loop();
165
+               // output the opening boostrap row divs.
166
+               $this->before_loop();
167 167
 
168
-			foreach ( $this->gallery as $key => $gallery ) {
168
+               foreach ( $this->gallery as $key => $gallery ) {
169 169
 
170
-				$this->loop_start();
170
+                    $this->loop_start();
171 171
 
172
-				if ( isset( $gallery['exercise_gallery_image_id'] ) && ! empty( $gallery['exercise_gallery_image_id'] ) ) {
173
-					$size         = apply_filters( 'lsx_hp_exercise_gallery_size', 'full' );
174
-					$thumbnail    = wp_get_attachment_image( $gallery['exercise_gallery_image_id'], $size );
175
-					$this->html[] = $thumbnail;
176
-				} elseif ( isset( $gallery['exercise_gallery_external'] ) && ! empty( $gallery['exercise_gallery_external'] ) ) {
177
-					$this->html[] = $gallery['exercise_gallery_external']; // WPCS: XSS OK.
178
-				} elseif ( isset( $gallery['exercise_gallery_embed'] ) && ! empty( $gallery['exercise_gallery_embed'] ) ) {
179
-					$embed_args = array(
180
-						'width' => '530',
181
-					);
182
-					$embed        = wp_oembed_get( $gallery['exercise_gallery_embed'], $embed_args );
183
-					$this->html[] = str_replace( 'width="530"', 'width="100%"', $embed ); // WPCS: XSS OK.
184
-				}
172
+                    if ( isset( $gallery['exercise_gallery_image_id'] ) && ! empty( $gallery['exercise_gallery_image_id'] ) ) {
173
+                         $size         = apply_filters( 'lsx_hp_exercise_gallery_size', 'full' );
174
+                         $thumbnail    = wp_get_attachment_image( $gallery['exercise_gallery_image_id'], $size );
175
+                         $this->html[] = $thumbnail;
176
+                    } elseif ( isset( $gallery['exercise_gallery_external'] ) && ! empty( $gallery['exercise_gallery_external'] ) ) {
177
+                         $this->html[] = $gallery['exercise_gallery_external']; // WPCS: XSS OK.
178
+                    } elseif ( isset( $gallery['exercise_gallery_embed'] ) && ! empty( $gallery['exercise_gallery_embed'] ) ) {
179
+                         $embed_args = array(
180
+                              'width' => '530',
181
+                         );
182
+                         $embed        = wp_oembed_get( $gallery['exercise_gallery_embed'], $embed_args );
183
+                         $this->html[] = str_replace( 'width="530"', 'width="100%"', $embed ); // WPCS: XSS OK.
184
+                    }
185 185
 
186
-				$this->loop_end();
186
+                    $this->loop_end();
187 187
 
188
-				$this->args['count']++;
189
-			}
188
+                    $this->args['count']++;
189
+               }
190 190
 
191
-			// output the closing boostrap row divs.
192
-			$this->after_loop();
193
-		}
191
+               // output the closing boostrap row divs.
192
+               $this->after_loop();
193
+          }
194 194
 
195
-		// Join the html output if its not empty.
196
-		if ( ! empty( $this->html ) ) {
197
-			$return = implode( '', $this->html );
198
-		}
199
-		return $return;
200
-	}
195
+          // Join the html output if its not empty.
196
+          if ( ! empty( $this->html ) ) {
197
+               $return = implode( '', $this->html );
198
+          }
199
+          return $return;
200
+     }
201 201
 
202
-	/**
203
-	 * Outputs the CSS class for the panels
204
-	 *
205
-	 * @param string $columns
206
-	 * @return string
207
-	 */
208
-	public function column_class() {
209
-		$cols  = 'col-xs-12 col-sm-';
210
-		$cols .= '5' === $this->args['columns'] ? '15' : 12 / $this->args['columns'];
211
-		return $cols;
212
-	}
202
+     /**
203
+      * Outputs the CSS class for the panels
204
+      *
205
+      * @param string $columns
206
+      * @return string
207
+      */
208
+     public function column_class() {
209
+          $cols  = 'col-xs-12 col-sm-';
210
+          $cols .= '5' === $this->args['columns'] ? '15' : 12 / $this->args['columns'];
211
+          return $cols;
212
+     }
213 213
 
214
-	/**
215
-	 * Runs just after the if and before the while statement in $this->output()
216
-	 */
217
-	public function before_loop() {
218
-		if ( 'slider' === $this->args['layout'] ) {
219
-			$this->carousel_id = wp_rand( 20, 20000 );
220
-			$this->html[]      = "<div class='lsx-hp-widget-items slick-slider slick-dotted slick-has-arrows {$this->args['css_class']} ' data-interval='{$this->args['interval']}' data-slick='{ \"slidesToShow\": {$this->args['columns']}, \"slidesToScroll\": {$this->args['columns']} }'>";
221
-		} else {
222
-			$this->html[] = "<div class='lsx-hp-widget-items widget-item-grid-layout'>";
223
-		}
224
-	}
214
+     /**
215
+      * Runs just after the if and before the while statement in $this->output()
216
+      */
217
+     public function before_loop() {
218
+          if ( 'slider' === $this->args['layout'] ) {
219
+               $this->carousel_id = wp_rand( 20, 20000 );
220
+               $this->html[]      = "<div class='lsx-hp-widget-items slick-slider slick-dotted slick-has-arrows {$this->args['css_class']} ' data-interval='{$this->args['interval']}' data-slick='{ \"slidesToShow\": {$this->args['columns']}, \"slidesToScroll\": {$this->args['columns']} }'>";
221
+          } else {
222
+               $this->html[] = "<div class='lsx-hp-widget-items widget-item-grid-layout'>";
223
+          }
224
+     }
225 225
 
226
-	/**
227
-	 * Runs at the very end of the loop before it runs again.
228
-	 */
229
-	public function loop_start() {
230
-		// Get the call for the active slide.
231
-		if ( 'slider' === $this->args['layout'] ) {
232
-			$this->html[] = "<div class='lsx-hp-widget-item-wrap lsx-{$this->args['post_type']}'>";
233
-		} else {
234
-			if ( 1 === $this->args['count'] ) {
235
-				$this->html[] = "<div class='row'>";
236
-			}
237
-			$this->html[] = '<div class="' . $this->column_class() . '">';
238
-		}
239
-	}
226
+     /**
227
+      * Runs at the very end of the loop before it runs again.
228
+      */
229
+     public function loop_start() {
230
+          // Get the call for the active slide.
231
+          if ( 'slider' === $this->args['layout'] ) {
232
+               $this->html[] = "<div class='lsx-hp-widget-item-wrap lsx-{$this->args['post_type']}'>";
233
+          } else {
234
+               if ( 1 === $this->args['count'] ) {
235
+                    $this->html[] = "<div class='row'>";
236
+               }
237
+               $this->html[] = '<div class="' . $this->column_class() . '">';
238
+          }
239
+     }
240 240
 
241
-	/**
242
-	 * Runs at the very end of the loop before it runs again.
243
-	 */
244
-	public function loop_end() {
245
-		if ( 'slider' !== $this->args['layout'] ) {
246
-			$this->html[] = '</div>';
247
-		}
248
-		// Close the current slide panel.
249
-		if ( 'slider' === $this->args['layout'] ) {
250
-			$this->html[] = '</div>';
251
-		} elseif ( 0 === $this->args['count'] % $this->args['columns'] || count( $this->gallery ) === $this->args['count'] ) {
252
-			$this->html[] = '</div>';
241
+     /**
242
+      * Runs at the very end of the loop before it runs again.
243
+      */
244
+     public function loop_end() {
245
+          if ( 'slider' !== $this->args['layout'] ) {
246
+               $this->html[] = '</div>';
247
+          }
248
+          // Close the current slide panel.
249
+          if ( 'slider' === $this->args['layout'] ) {
250
+               $this->html[] = '</div>';
251
+          } elseif ( 0 === $this->args['count'] % $this->args['columns'] || count( $this->gallery ) === $this->args['count'] ) {
252
+               $this->html[] = '</div>';
253 253
 
254
-			if ( $this->args['count'] < count( $this->gallery ) ) {
255
-				$this->html[] = "<div class='row'>";
256
-			}
257
-		}
258
-	}
254
+               if ( $this->args['count'] < count( $this->gallery ) ) {
255
+                    $this->html[] = "<div class='row'>";
256
+               }
257
+          }
258
+     }
259 259
 
260
-	/**
261
-	 * Runs just after the if and before the while statement in $this->output()
262
-	 */
263
-	public function after_loop() {
264
-		// Slider output Closing.
265
-		if ( 'slider' === $this->args['layout'] ) {
266
-			$this->html[] = '</div>';
267
-		} else {
268
-			$this->html[] = '</div>';
269
-		}
270
-	}
260
+     /**
261
+      * Runs just after the if and before the while statement in $this->output()
262
+      */
263
+     public function after_loop() {
264
+          // Slider output Closing.
265
+          if ( 'slider' === $this->args['layout'] ) {
266
+               $this->html[] = '</div>';
267
+          } else {
268
+               $this->html[] = '</div>';
269
+          }
270
+     }
271 271
 }
Please login to merge, or discard this patch.
classes/frontend/class-template-redirects.php 1 patch
Indentation   +72 added lines, -72 removed lines patch added patch discarded remove patch
@@ -8,81 +8,81 @@
 block discarded – undo
8 8
  */
9 9
 class Template_Redirects {
10 10
 
11
-	/**
12
-	 * Holds class instance
13
-	 *
14
-	 * @since 1.0.0
15
-	 *
16
-	 * @var      object \lsx_health_plan\classes\frontend\Template_Redirects()
17
-	 */
18
-	protected static $instance = null;
11
+     /**
12
+      * Holds class instance
13
+      *
14
+      * @since 1.0.0
15
+      *
16
+      * @var      object \lsx_health_plan\classes\frontend\Template_Redirects()
17
+      */
18
+     protected static $instance = null;
19 19
 
20
-	/**
21
-	 * Constructor
22
-	 */
23
-	public function __construct() {
24
-		add_filter( 'template_include', array( $this, 'archive_template_include' ), 99 );
25
-		add_filter( 'template_include', array( $this, 'single_template_include' ), 99 );
26
-		add_filter( 'template_include', array( $this, 'taxonomy_template_include' ), 99 );
27
-	}
20
+     /**
21
+      * Constructor
22
+      */
23
+     public function __construct() {
24
+          add_filter( 'template_include', array( $this, 'archive_template_include' ), 99 );
25
+          add_filter( 'template_include', array( $this, 'single_template_include' ), 99 );
26
+          add_filter( 'template_include', array( $this, 'taxonomy_template_include' ), 99 );
27
+     }
28 28
 
29
-	/**
30
-	 * Return an instance of this class.
31
-	 *
32
-	 * @since 1.0.0
33
-	 *
34
-	 * @return    object \lsx_health_plan\classes\frontend\Template_Redirects()    A single instance of this class.
35
-	 */
36
-	public static function get_instance() {
37
-		// If the single instance hasn't been set, set it now.
38
-		if ( null === self::$instance ) {
39
-			self::$instance = new self();
40
-		}
41
-		return self::$instance;
42
-	}
29
+     /**
30
+      * Return an instance of this class.
31
+      *
32
+      * @since 1.0.0
33
+      *
34
+      * @return    object \lsx_health_plan\classes\frontend\Template_Redirects()    A single instance of this class.
35
+      */
36
+     public static function get_instance() {
37
+          // If the single instance hasn't been set, set it now.
38
+          if ( null === self::$instance ) {
39
+               self::$instance = new self();
40
+          }
41
+          return self::$instance;
42
+     }
43 43
 
44
-	/**
45
-	 * Archive template.
46
-	 */
47
-	public function archive_template_include( $template ) {
48
-		$applicable_post_types = apply_filters( 'lsx_health_plan_archive_template', array() );
49
-		if ( ! empty( $applicable_post_types ) && is_main_query() && is_post_type_archive( $applicable_post_types ) ) {
50
-			$post_type = get_post_type();
51
-			if ( empty( locate_template( array( 'archive-' . $post_type . '.php' ) ) ) && file_exists( LSX_HEALTH_PLAN_PATH . 'templates/archive-' . $post_type . '.php' ) ) {
52
-				$template = LSX_HEALTH_PLAN_PATH . 'templates/archive-' . $post_type . '.php';
53
-			}
54
-		}
55
-		return $template;
56
-	}
44
+     /**
45
+      * Archive template.
46
+      */
47
+     public function archive_template_include( $template ) {
48
+          $applicable_post_types = apply_filters( 'lsx_health_plan_archive_template', array() );
49
+          if ( ! empty( $applicable_post_types ) && is_main_query() && is_post_type_archive( $applicable_post_types ) ) {
50
+               $post_type = get_post_type();
51
+               if ( empty( locate_template( array( 'archive-' . $post_type . '.php' ) ) ) && file_exists( LSX_HEALTH_PLAN_PATH . 'templates/archive-' . $post_type . '.php' ) ) {
52
+                    $template = LSX_HEALTH_PLAN_PATH . 'templates/archive-' . $post_type . '.php';
53
+               }
54
+          }
55
+          return $template;
56
+     }
57 57
 
58
-	/**
59
-	 * Single template.
60
-	 */
61
-	public function single_template_include( $template ) {
62
-		$applicable_post_types = apply_filters( 'lsx_health_plan_single_template', array() );
63
-		if ( ! empty( $applicable_post_types ) && is_main_query() && is_singular( $applicable_post_types ) ) {
64
-			$post_type = get_post_type();
65
-			if ( empty( locate_template( array( 'single-' . $post_type . '.php' ) ) ) && file_exists( LSX_HEALTH_PLAN_PATH . 'templates/single-' . $post_type . '.php' ) ) {
66
-				$template = LSX_HEALTH_PLAN_PATH . 'templates/single-' . $post_type . '.php';
67
-			}
68
-		}
69
-		return $template;
70
-	}
58
+     /**
59
+      * Single template.
60
+      */
61
+     public function single_template_include( $template ) {
62
+          $applicable_post_types = apply_filters( 'lsx_health_plan_single_template', array() );
63
+          if ( ! empty( $applicable_post_types ) && is_main_query() && is_singular( $applicable_post_types ) ) {
64
+               $post_type = get_post_type();
65
+               if ( empty( locate_template( array( 'single-' . $post_type . '.php' ) ) ) && file_exists( LSX_HEALTH_PLAN_PATH . 'templates/single-' . $post_type . '.php' ) ) {
66
+                    $template = LSX_HEALTH_PLAN_PATH . 'templates/single-' . $post_type . '.php';
67
+               }
68
+          }
69
+          return $template;
70
+     }
71 71
 
72
-	/**
73
-	 * Redirect WordPress to the taxonomy located in the plugin
74
-	 *
75
-	 * @param     $template string
76
-	 * @return    string
77
-	 */
78
-	public function taxonomy_template_include( $template ) {
79
-		$applicable_taxonomies = apply_filters( 'lsx_health_plan_taxonomies_template', array() );
80
-		if ( is_main_query() && is_tax( $applicable_taxonomies ) ) {
81
-			$current_taxonomy = get_query_var( 'taxonomy' );
82
-			if ( '' === locate_template( array( 'taxonomy-' . $current_taxonomy . '.php' ) ) && file_exists( LSX_HEALTH_PLAN_PATH . 'templates/taxonomy-' . $current_taxonomy . '.php' ) ) {
83
-				$template = LSX_HEALTH_PLAN_PATH . 'templates/taxonomy-' . $current_taxonomy . '.php';
84
-			}
85
-		}
86
-		return $template;
87
-	}
72
+     /**
73
+      * Redirect WordPress to the taxonomy located in the plugin
74
+      *
75
+      * @param     $template string
76
+      * @return    string
77
+      */
78
+     public function taxonomy_template_include( $template ) {
79
+          $applicable_taxonomies = apply_filters( 'lsx_health_plan_taxonomies_template', array() );
80
+          if ( is_main_query() && is_tax( $applicable_taxonomies ) ) {
81
+               $current_taxonomy = get_query_var( 'taxonomy' );
82
+               if ( '' === locate_template( array( 'taxonomy-' . $current_taxonomy . '.php' ) ) && file_exists( LSX_HEALTH_PLAN_PATH . 'templates/taxonomy-' . $current_taxonomy . '.php' ) ) {
83
+                    $template = LSX_HEALTH_PLAN_PATH . 'templates/taxonomy-' . $current_taxonomy . '.php';
84
+               }
85
+          }
86
+          return $template;
87
+     }
88 88
 }
Please login to merge, or discard this patch.
classes/post-types/class-meal.php 1 patch
Indentation   +351 added lines, -351 removed lines patch added patch discarded remove patch
@@ -8,371 +8,371 @@
 block discarded – undo
8 8
  */
9 9
 class Meal {
10 10
 
11
-	/**
12
-	 * Holds class instance
13
-	 *
14
-	 * @since 1.0.0
15
-	 *
16
-	 * @var      object \lsx_health_plan\classes\Meal()
17
-	 */
18
-	protected static $instance = null;
11
+     /**
12
+      * Holds class instance
13
+      *
14
+      * @since 1.0.0
15
+      *
16
+      * @var      object \lsx_health_plan\classes\Meal()
17
+      */
18
+     protected static $instance = null;
19 19
 
20
-	/**
21
-	 * Holds post_type slug used as an index
22
-	 *
23
-	 * @since 1.0.0
24
-	 *
25
-	 * @var      string
26
-	 */
27
-	public $slug = 'meal';
20
+     /**
21
+      * Holds post_type slug used as an index
22
+      *
23
+      * @since 1.0.0
24
+      *
25
+      * @var      string
26
+      */
27
+     public $slug = 'meal';
28 28
 
29
-	/**
30
-	 * Constructor
31
-	 */
32
-	public function __construct() {
33
-		add_action( 'init', array( $this, 'register_post_type' ) );
34
-		add_action( 'init', array( $this, 'taxonomy_setup' ) );
35
-		add_filter( 'lsx_health_plan_single_template', array( $this, 'enable_post_type' ), 10, 1 );
36
-		add_filter( 'lsx_health_plan_connections', array( $this, 'enable_connections' ), 10, 1 );
37
-		add_action( 'cmb2_admin_init', array( $this, 'featured_metabox' ), 5 );
38
-		add_action( 'cmb2_admin_init', array( $this, 'details_metaboxes' ) );
39
-	}
29
+     /**
30
+      * Constructor
31
+      */
32
+     public function __construct() {
33
+          add_action( 'init', array( $this, 'register_post_type' ) );
34
+          add_action( 'init', array( $this, 'taxonomy_setup' ) );
35
+          add_filter( 'lsx_health_plan_single_template', array( $this, 'enable_post_type' ), 10, 1 );
36
+          add_filter( 'lsx_health_plan_connections', array( $this, 'enable_connections' ), 10, 1 );
37
+          add_action( 'cmb2_admin_init', array( $this, 'featured_metabox' ), 5 );
38
+          add_action( 'cmb2_admin_init', array( $this, 'details_metaboxes' ) );
39
+     }
40 40
 
41
-	/**
42
-	 * Return an instance of this class.
43
-	 *
44
-	 * @since 1.0.0
45
-	 *
46
-	 * @return    object \lsx_health_plan\classes\Day()    A single instance of this class.
47
-	 */
48
-	public static function get_instance() {
49
-		// If the single instance hasn't been set, set it now.
50
-		if ( null === self::$instance ) {
51
-			self::$instance = new self();
52
-		}
53
-		return self::$instance;
54
-	}
55
-	/**
56
-	 * Register the post type.
57
-	 */
58
-	public function register_post_type() {
59
-		$labels = array(
60
-			'name'               => esc_html__( 'Meals', 'lsx-health-plan' ),
61
-			'singular_name'      => esc_html__( 'Meal', 'lsx-health-plan' ),
62
-			'add_new'            => esc_html_x( 'Add New', 'post type general name', 'lsx-health-plan' ),
63
-			'add_new_item'       => esc_html__( 'Add New', 'lsx-health-plan' ),
64
-			'edit_item'          => esc_html__( 'Edit', 'lsx-health-plan' ),
65
-			'new_item'           => esc_html__( 'New', 'lsx-health-plan' ),
66
-			'all_items'          => esc_html__( 'All Meals', 'lsx-health-plan' ),
67
-			'view_item'          => esc_html__( 'View', 'lsx-health-plan' ),
68
-			'search_items'       => esc_html__( 'Search', 'lsx-health-plan' ),
69
-			'not_found'          => esc_html__( 'None found', 'lsx-health-plan' ),
70
-			'not_found_in_trash' => esc_html__( 'None found in Trash', 'lsx-health-plan' ),
71
-			'parent_item_colon'  => '',
72
-			'menu_name'          => esc_html__( 'Meals', 'lsx-health-plan' ),
73
-		);
74
-		$args   = array(
75
-			'labels'             => $labels,
76
-			'public'             => true,
77
-			'publicly_queryable' => true,
78
-			'show_ui'            => true,
79
-			'show_in_menu'       => true,
80
-			'show_in_rest'       => true,
81
-			'menu_icon'          => 'dashicons-carrot',
82
-			'query_var'          => true,
83
-			'rewrite'            => array(
84
-				'slug' => \lsx_health_plan\functions\get_option( 'meal_single_slug', 'meal' ),
85
-			),
86
-			'capability_type'    => 'post',
87
-			'has_archive'        => \lsx_health_plan\functions\get_option( 'endpoint_meal_archive', 'meals' ),
88
-			'hierarchical'       => true,
89
-			'menu_position'      => null,
90
-			'supports'           => array(
91
-				'title',
92
-				'editor',
93
-				'thumbnail',
94
-				'page-attributes',
95
-				'custom-fields',
96
-			),
97
-		);
98
-		register_post_type( 'meal', $args );
99
-	}
41
+     /**
42
+      * Return an instance of this class.
43
+      *
44
+      * @since 1.0.0
45
+      *
46
+      * @return    object \lsx_health_plan\classes\Day()    A single instance of this class.
47
+      */
48
+     public static function get_instance() {
49
+          // If the single instance hasn't been set, set it now.
50
+          if ( null === self::$instance ) {
51
+               self::$instance = new self();
52
+          }
53
+          return self::$instance;
54
+     }
55
+     /**
56
+      * Register the post type.
57
+      */
58
+     public function register_post_type() {
59
+          $labels = array(
60
+               'name'               => esc_html__( 'Meals', 'lsx-health-plan' ),
61
+               'singular_name'      => esc_html__( 'Meal', 'lsx-health-plan' ),
62
+               'add_new'            => esc_html_x( 'Add New', 'post type general name', 'lsx-health-plan' ),
63
+               'add_new_item'       => esc_html__( 'Add New', 'lsx-health-plan' ),
64
+               'edit_item'          => esc_html__( 'Edit', 'lsx-health-plan' ),
65
+               'new_item'           => esc_html__( 'New', 'lsx-health-plan' ),
66
+               'all_items'          => esc_html__( 'All Meals', 'lsx-health-plan' ),
67
+               'view_item'          => esc_html__( 'View', 'lsx-health-plan' ),
68
+               'search_items'       => esc_html__( 'Search', 'lsx-health-plan' ),
69
+               'not_found'          => esc_html__( 'None found', 'lsx-health-plan' ),
70
+               'not_found_in_trash' => esc_html__( 'None found in Trash', 'lsx-health-plan' ),
71
+               'parent_item_colon'  => '',
72
+               'menu_name'          => esc_html__( 'Meals', 'lsx-health-plan' ),
73
+          );
74
+          $args   = array(
75
+               'labels'             => $labels,
76
+               'public'             => true,
77
+               'publicly_queryable' => true,
78
+               'show_ui'            => true,
79
+               'show_in_menu'       => true,
80
+               'show_in_rest'       => true,
81
+               'menu_icon'          => 'dashicons-carrot',
82
+               'query_var'          => true,
83
+               'rewrite'            => array(
84
+                    'slug' => \lsx_health_plan\functions\get_option( 'meal_single_slug', 'meal' ),
85
+               ),
86
+               'capability_type'    => 'post',
87
+               'has_archive'        => \lsx_health_plan\functions\get_option( 'endpoint_meal_archive', 'meals' ),
88
+               'hierarchical'       => true,
89
+               'menu_position'      => null,
90
+               'supports'           => array(
91
+                    'title',
92
+                    'editor',
93
+                    'thumbnail',
94
+                    'page-attributes',
95
+                    'custom-fields',
96
+               ),
97
+          );
98
+          register_post_type( 'meal', $args );
99
+     }
100 100
 
101
-	/**
102
-	 * Register the Week taxonomy.
103
-	 */
104
-	public function taxonomy_setup() {
105
-		$labels = array(
106
-			'name'              => esc_html_x( 'Meal Type', 'taxonomy general name', 'lsx-health-plan' ),
107
-			'singular_name'     => esc_html_x( 'Meal Types', 'taxonomy singular name', 'lsx-health-plan' ),
108
-			'search_items'      => esc_html__( 'Search', 'lsx-health-plan' ),
109
-			'all_items'         => esc_html__( 'All', 'lsx-health-plan' ),
110
-			'parent_item'       => esc_html__( 'Parent', 'lsx-health-plan' ),
111
-			'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ),
112
-			'edit_item'         => esc_html__( 'Edit', 'lsx-health-plan' ),
113
-			'update_item'       => esc_html__( 'Update', 'lsx-health-plan' ),
114
-			'add_new_item'      => esc_html__( 'Add New', 'lsx-health-plan' ),
115
-			'new_item_name'     => esc_html__( 'New Name', 'lsx-health-plan' ),
116
-			'menu_name'         => esc_html__( 'Meal Types', 'lsx-health-plan' ),
117
-		);
118
-		$args   = array(
119
-			'hierarchical'      => true,
120
-			'labels'            => $labels,
121
-			'show_ui'           => true,
122
-			'show_in_menu'      => 'edit.php?post_type=meal',
123
-			'show_admin_column' => true,
124
-			'query_var'         => true,
125
-			'rewrite'           => array(
126
-				'slug' => 'meal-type',
127
-			),
128
-		);
129
-		register_taxonomy( 'meal-type', array( $this->slug ), $args );
130
-	}
101
+     /**
102
+      * Register the Week taxonomy.
103
+      */
104
+     public function taxonomy_setup() {
105
+          $labels = array(
106
+               'name'              => esc_html_x( 'Meal Type', 'taxonomy general name', 'lsx-health-plan' ),
107
+               'singular_name'     => esc_html_x( 'Meal Types', 'taxonomy singular name', 'lsx-health-plan' ),
108
+               'search_items'      => esc_html__( 'Search', 'lsx-health-plan' ),
109
+               'all_items'         => esc_html__( 'All', 'lsx-health-plan' ),
110
+               'parent_item'       => esc_html__( 'Parent', 'lsx-health-plan' ),
111
+               'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ),
112
+               'edit_item'         => esc_html__( 'Edit', 'lsx-health-plan' ),
113
+               'update_item'       => esc_html__( 'Update', 'lsx-health-plan' ),
114
+               'add_new_item'      => esc_html__( 'Add New', 'lsx-health-plan' ),
115
+               'new_item_name'     => esc_html__( 'New Name', 'lsx-health-plan' ),
116
+               'menu_name'         => esc_html__( 'Meal Types', 'lsx-health-plan' ),
117
+          );
118
+          $args   = array(
119
+               'hierarchical'      => true,
120
+               'labels'            => $labels,
121
+               'show_ui'           => true,
122
+               'show_in_menu'      => 'edit.php?post_type=meal',
123
+               'show_admin_column' => true,
124
+               'query_var'         => true,
125
+               'rewrite'           => array(
126
+                    'slug' => 'meal-type',
127
+               ),
128
+          );
129
+          register_taxonomy( 'meal-type', array( $this->slug ), $args );
130
+     }
131 131
 
132
-	/**
133
-	 * Adds the post type to the different arrays.
134
-	 *
135
-	 * @param array $post_types
136
-	 * @return array
137
-	 */
138
-	public function enable_post_type( $post_types = array() ) {
139
-		$post_types[] = $this->slug;
140
-		return $post_types;
141
-	}
132
+     /**
133
+      * Adds the post type to the different arrays.
134
+      *
135
+      * @param array $post_types
136
+      * @return array
137
+      */
138
+     public function enable_post_type( $post_types = array() ) {
139
+          $post_types[] = $this->slug;
140
+          return $post_types;
141
+     }
142 142
 
143
-	/**
144
-	 * Enables the Bi Directional relationships
145
-	 *
146
-	 * @param array $connections
147
-	 * @return void
148
-	 */
149
-	public function enable_connections( $connections = array() ) {
150
-		$connections['meal']['connected_plans'] = 'connected_meals';
151
-		$connections['plan']['connected_meals'] = 'connected_plans';
152
-		return $connections;
153
-	}
143
+     /**
144
+      * Enables the Bi Directional relationships
145
+      *
146
+      * @param array $connections
147
+      * @return void
148
+      */
149
+     public function enable_connections( $connections = array() ) {
150
+          $connections['meal']['connected_plans'] = 'connected_meals';
151
+          $connections['plan']['connected_meals'] = 'connected_plans';
152
+          return $connections;
153
+     }
154 154
 
155
-	/**
156
-	 * Define the metabox and field configurations.
157
-	 */
158
-	public function featured_metabox() {
159
-		$cmb = new_cmb2_box(
160
-			array(
161
-				'id'           => $this->slug . '_featured_metabox_meal',
162
-				'title'        => __( 'Featured Meal', 'lsx-health-plan' ),
163
-				'object_types' => array( $this->slug ), // Post type
164
-				'context'      => 'side',
165
-				'priority'     => 'high',
166
-				'show_names'   => true,
167
-			)
168
-		);
169
-		$cmb->add_field(
170
-			array(
171
-				'name'       => __( 'Featured Meal', 'lsx-health-plan' ),
172
-				'desc'       => __( 'Enable a featured meal' ),
173
-				'id'         => $this->slug . '_featured_meal',
174
-				'type'       => 'checkbox',
175
-				'show_on_cb' => 'cmb2_hide_if_no_cats',
176
-			)
177
-		);
178
-	}
155
+     /**
156
+      * Define the metabox and field configurations.
157
+      */
158
+     public function featured_metabox() {
159
+          $cmb = new_cmb2_box(
160
+               array(
161
+                    'id'           => $this->slug . '_featured_metabox_meal',
162
+                    'title'        => __( 'Featured Meal', 'lsx-health-plan' ),
163
+                    'object_types' => array( $this->slug ), // Post type
164
+                    'context'      => 'side',
165
+                    'priority'     => 'high',
166
+                    'show_names'   => true,
167
+               )
168
+          );
169
+          $cmb->add_field(
170
+               array(
171
+                    'name'       => __( 'Featured Meal', 'lsx-health-plan' ),
172
+                    'desc'       => __( 'Enable a featured meal' ),
173
+                    'id'         => $this->slug . '_featured_meal',
174
+                    'type'       => 'checkbox',
175
+                    'show_on_cb' => 'cmb2_hide_if_no_cats',
176
+               )
177
+          );
178
+     }
179 179
 
180
-	/**
181
-	 * Define the metabox and field configurations.
182
-	 */
183
-	public function details_metaboxes() {
184
-		$cmb = new_cmb2_box( array(
185
-			'id'           => $this->slug . '_shopping_list_metabox',
186
-			'title'        => __( 'Shopping List', 'lsx-health-plan' ),
187
-			'object_types' => array( $this->slug ), // Post type
188
-			'context'      => 'normal',
189
-			'priority'     => 'high',
190
-			'show_names'   => true,
191
-		) );
192
-		$cmb->add_field( array(
193
-			'name'       => __( 'Shopping List', 'lsx-health-plan' ),
194
-			'desc'       => __( 'Connect the shopping list page that applies to this meal by entering the name of the page in the field provided.' ),
195
-			'id'         => $this->slug . '_shopping_list',
196
-			'type'       => 'post_search_ajax',
197
-			// Optional :
198
-			'limit'      => 1,  // Limit selection to X items only (default 1)
199
-			'sortable'   => true, // Allow selected items to be sortable (default false)
200
-			'query_args' => array(
201
-				'post_type'      => array( 'page' ),
202
-				'post_status'    => array( 'publish' ),
203
-				'posts_per_page' => -1,
204
-			),
205
-		) );
206
-		$cmb = new_cmb2_box( array(
207
-			'id'           => $this->slug . '_details_metabox',
208
-			'title'        => __( 'Meal Details', 'lsx-health-plan' ),
209
-			'object_types' => array( $this->slug ), // Post type
210
-			'context'      => 'normal',
211
-			'priority'     => 'high',
212
-			'show_names'   => true,
213
-		) );
180
+     /**
181
+      * Define the metabox and field configurations.
182
+      */
183
+     public function details_metaboxes() {
184
+          $cmb = new_cmb2_box( array(
185
+               'id'           => $this->slug . '_shopping_list_metabox',
186
+               'title'        => __( 'Shopping List', 'lsx-health-plan' ),
187
+               'object_types' => array( $this->slug ), // Post type
188
+               'context'      => 'normal',
189
+               'priority'     => 'high',
190
+               'show_names'   => true,
191
+          ) );
192
+          $cmb->add_field( array(
193
+               'name'       => __( 'Shopping List', 'lsx-health-plan' ),
194
+               'desc'       => __( 'Connect the shopping list page that applies to this meal by entering the name of the page in the field provided.' ),
195
+               'id'         => $this->slug . '_shopping_list',
196
+               'type'       => 'post_search_ajax',
197
+               // Optional :
198
+               'limit'      => 1,  // Limit selection to X items only (default 1)
199
+               'sortable'   => true, // Allow selected items to be sortable (default false)
200
+               'query_args' => array(
201
+                    'post_type'      => array( 'page' ),
202
+                    'post_status'    => array( 'publish' ),
203
+                    'posts_per_page' => -1,
204
+               ),
205
+          ) );
206
+          $cmb = new_cmb2_box( array(
207
+               'id'           => $this->slug . '_details_metabox',
208
+               'title'        => __( 'Meal Details', 'lsx-health-plan' ),
209
+               'object_types' => array( $this->slug ), // Post type
210
+               'context'      => 'normal',
211
+               'priority'     => 'high',
212
+               'show_names'   => true,
213
+          ) );
214 214
 
215
-		$cmb->add_field( array(
216
-			'name' => __( 'Meal Short Description', 'lsx-health-plan' ),
217
-			'id'   => $this->slug . '_short_description',
218
-			'type' => 'textarea_small',
219
-			'desc' => __( 'Add a small description for this meal (optional)', 'lsx-health-plan' ),
220
-		) );
215
+          $cmb->add_field( array(
216
+               'name' => __( 'Meal Short Description', 'lsx-health-plan' ),
217
+               'id'   => $this->slug . '_short_description',
218
+               'type' => 'textarea_small',
219
+               'desc' => __( 'Add a small description for this meal (optional)', 'lsx-health-plan' ),
220
+          ) );
221 221
 
222
-		$cmb->add_field( array(
223
-			'name'       => __( 'Pre Breakfast Snack', 'lsx-health-plan' ),
224
-			'id'         => $this->slug . '_pre_breakfast_snack',
225
-			'type'       => 'wysiwyg',
226
-			'show_on_cb' => 'cmb2_hide_if_no_cats',
227
-			'options'    => array(
228
-				'textarea_rows' => 5,
229
-			),
230
-		) );
231
-		$cmb->add_field( array(
232
-			'name'       => __( 'Breakfast', 'lsx-health-plan' ),
233
-			'id'         => $this->slug . '_breakfast',
234
-			'type'       => 'wysiwyg',
235
-			'show_on_cb' => 'cmb2_hide_if_no_cats',
236
-			'options'    => array(
237
-				'textarea_rows' => 5,
238
-			),
239
-		) );
222
+          $cmb->add_field( array(
223
+               'name'       => __( 'Pre Breakfast Snack', 'lsx-health-plan' ),
224
+               'id'         => $this->slug . '_pre_breakfast_snack',
225
+               'type'       => 'wysiwyg',
226
+               'show_on_cb' => 'cmb2_hide_if_no_cats',
227
+               'options'    => array(
228
+                    'textarea_rows' => 5,
229
+               ),
230
+          ) );
231
+          $cmb->add_field( array(
232
+               'name'       => __( 'Breakfast', 'lsx-health-plan' ),
233
+               'id'         => $this->slug . '_breakfast',
234
+               'type'       => 'wysiwyg',
235
+               'show_on_cb' => 'cmb2_hide_if_no_cats',
236
+               'options'    => array(
237
+                    'textarea_rows' => 5,
238
+               ),
239
+          ) );
240 240
 
241
-		$cmb->add_field(
242
-			array(
243
-				'name'       => __( 'Post Breakfast Snack', 'lsx-health-plan' ),
244
-				'id'         => $this->slug . '_breakfast_snack',
245
-				'type'       => 'wysiwyg',
246
-				'show_on_cb' => 'cmb2_hide_if_no_cats',
247
-				'options'    => array(
248
-					'textarea_rows' => 5,
249
-				),
250
-			)
251
-		);
241
+          $cmb->add_field(
242
+               array(
243
+                    'name'       => __( 'Post Breakfast Snack', 'lsx-health-plan' ),
244
+                    'id'         => $this->slug . '_breakfast_snack',
245
+                    'type'       => 'wysiwyg',
246
+                    'show_on_cb' => 'cmb2_hide_if_no_cats',
247
+                    'options'    => array(
248
+                         'textarea_rows' => 5,
249
+                    ),
250
+               )
251
+          );
252 252
 
253
-		if ( post_type_exists( 'recipe' ) ) {
254
-			$cmb->add_field(
255
-				array(
256
-					'name'       => __( 'Breakfast Recipes', 'lsx-health-plan' ),
257
-					'desc'       => __( 'Connect additional recipes options for breakfast.', 'lsx-health-plan' ),
258
-					'id'         => 'breakfast_recipes',
259
-					'type'       => 'post_search_ajax',
260
-					// Optional :
261
-					'limit'      => 15,  // Limit selection to X items only (default 1)
262
-					'sortable'   => true, // Allow selected items to be sortable (default false)
263
-					'query_args' => array(
264
-						'post_type'      => array( 'recipe' ),
265
-						'post_status'    => array( 'publish' ),
266
-						'posts_per_page' => -1,
267
-					),
268
-				)
269
-			);
270
-		}
253
+          if ( post_type_exists( 'recipe' ) ) {
254
+               $cmb->add_field(
255
+                    array(
256
+                         'name'       => __( 'Breakfast Recipes', 'lsx-health-plan' ),
257
+                         'desc'       => __( 'Connect additional recipes options for breakfast.', 'lsx-health-plan' ),
258
+                         'id'         => 'breakfast_recipes',
259
+                         'type'       => 'post_search_ajax',
260
+                         // Optional :
261
+                         'limit'      => 15,  // Limit selection to X items only (default 1)
262
+                         'sortable'   => true, // Allow selected items to be sortable (default false)
263
+                         'query_args' => array(
264
+                              'post_type'      => array( 'recipe' ),
265
+                              'post_status'    => array( 'publish' ),
266
+                              'posts_per_page' => -1,
267
+                         ),
268
+                    )
269
+               );
270
+          }
271 271
 
272
-		$cmb->add_field(
273
-			array(
274
-				'name'       => __( 'Pre Lunch Snack', 'lsx-health-plan' ),
275
-				'id'         => $this->slug . '_pre_lunch_snack',
276
-				'type'       => 'wysiwyg',
277
-				'show_on_cb' => 'cmb2_hide_if_no_cats',
278
-				'options'    => array(
279
-					'textarea_rows' => 5,
280
-				),
281
-			)
282
-		);
283
-		$cmb->add_field(
284
-			array(
285
-				'name'       => __( 'Lunch', 'lsx-health-plan' ),
286
-				'id'         => $this->slug . '_lunch',
287
-				'type'       => 'wysiwyg',
288
-				'show_on_cb' => 'cmb2_hide_if_no_cats',
289
-				'options'    => array(
290
-					'textarea_rows' => 5,
291
-				),
292
-			)
293
-		);
294
-		$cmb->add_field(
295
-			array(
296
-				'name'       => __( 'Post Lunch Snack', 'lsx-health-plan' ),
297
-				'id'         => $this->slug . '_lunch_snack',
298
-				'type'       => 'wysiwyg',
299
-				'show_on_cb' => 'cmb2_hide_if_no_cats',
300
-				'options'    => array(
301
-					'textarea_rows' => 5,
302
-				),
303
-			)
304
-		);
272
+          $cmb->add_field(
273
+               array(
274
+                    'name'       => __( 'Pre Lunch Snack', 'lsx-health-plan' ),
275
+                    'id'         => $this->slug . '_pre_lunch_snack',
276
+                    'type'       => 'wysiwyg',
277
+                    'show_on_cb' => 'cmb2_hide_if_no_cats',
278
+                    'options'    => array(
279
+                         'textarea_rows' => 5,
280
+                    ),
281
+               )
282
+          );
283
+          $cmb->add_field(
284
+               array(
285
+                    'name'       => __( 'Lunch', 'lsx-health-plan' ),
286
+                    'id'         => $this->slug . '_lunch',
287
+                    'type'       => 'wysiwyg',
288
+                    'show_on_cb' => 'cmb2_hide_if_no_cats',
289
+                    'options'    => array(
290
+                         'textarea_rows' => 5,
291
+                    ),
292
+               )
293
+          );
294
+          $cmb->add_field(
295
+               array(
296
+                    'name'       => __( 'Post Lunch Snack', 'lsx-health-plan' ),
297
+                    'id'         => $this->slug . '_lunch_snack',
298
+                    'type'       => 'wysiwyg',
299
+                    'show_on_cb' => 'cmb2_hide_if_no_cats',
300
+                    'options'    => array(
301
+                         'textarea_rows' => 5,
302
+                    ),
303
+               )
304
+          );
305 305
 
306
-		if ( post_type_exists( 'recipe' ) ) {
307
-			$cmb->add_field(
308
-				array(
309
-					'name'       => __( 'Lunch Recipes', 'lsx-health-plan' ),
310
-					'desc'       => __( 'Connect additional recipes options for lunch.', 'lsx-health-plan' ),
311
-					'id'         => 'lunch_recipes',
312
-					'type'       => 'post_search_ajax',
313
-					// Optional :
314
-					'limit'      => 15,  // Limit selection to X items only (default 1)
315
-					'sortable'   => true, // Allow selected items to be sortable (default false)
316
-					'query_args' => array(
317
-						'post_type'      => array( 'recipe' ),
318
-						'post_status'    => array( 'publish' ),
319
-						'posts_per_page' => -1,
320
-					),
321
-				)
322
-			);
323
-		}
306
+          if ( post_type_exists( 'recipe' ) ) {
307
+               $cmb->add_field(
308
+                    array(
309
+                         'name'       => __( 'Lunch Recipes', 'lsx-health-plan' ),
310
+                         'desc'       => __( 'Connect additional recipes options for lunch.', 'lsx-health-plan' ),
311
+                         'id'         => 'lunch_recipes',
312
+                         'type'       => 'post_search_ajax',
313
+                         // Optional :
314
+                         'limit'      => 15,  // Limit selection to X items only (default 1)
315
+                         'sortable'   => true, // Allow selected items to be sortable (default false)
316
+                         'query_args' => array(
317
+                              'post_type'      => array( 'recipe' ),
318
+                              'post_status'    => array( 'publish' ),
319
+                              'posts_per_page' => -1,
320
+                         ),
321
+                    )
322
+               );
323
+          }
324 324
 
325
-		$cmb->add_field(
326
-			array(
327
-				'name'       => __( 'Pre Dinner Snack', 'lsx-health-plan' ),
328
-				'id'         => $this->slug . '_pre_dinner_snack',
329
-				'type'       => 'wysiwyg',
330
-				'show_on_cb' => 'cmb2_hide_if_no_cats',
331
-				'options'    => array(
332
-					'textarea_rows' => 5,
333
-				),
334
-			)
335
-		);
336
-		$cmb->add_field(
337
-			array(
338
-				'name'       => __( 'Dinner', 'lsx-health-plan' ),
339
-				'id'         => $this->slug . '_dinner',
340
-				'type'       => 'wysiwyg',
341
-				'show_on_cb' => 'cmb2_hide_if_no_cats',
342
-				'options'    => array(
343
-					'textarea_rows' => 5,
344
-				),
345
-			)
346
-		);
347
-		$cmb->add_field(
348
-			array(
349
-				'name'       => __( 'Post Dinner Snack', 'lsx-health-plan' ),
350
-				'id'         => $this->slug . '_dinner_snack',
351
-				'type'       => 'wysiwyg',
352
-				'show_on_cb' => 'cmb2_hide_if_no_cats',
353
-				'options'    => array(
354
-					'textarea_rows' => 5,
355
-				),
356
-			)
357
-		);
325
+          $cmb->add_field(
326
+               array(
327
+                    'name'       => __( 'Pre Dinner Snack', 'lsx-health-plan' ),
328
+                    'id'         => $this->slug . '_pre_dinner_snack',
329
+                    'type'       => 'wysiwyg',
330
+                    'show_on_cb' => 'cmb2_hide_if_no_cats',
331
+                    'options'    => array(
332
+                         'textarea_rows' => 5,
333
+                    ),
334
+               )
335
+          );
336
+          $cmb->add_field(
337
+               array(
338
+                    'name'       => __( 'Dinner', 'lsx-health-plan' ),
339
+                    'id'         => $this->slug . '_dinner',
340
+                    'type'       => 'wysiwyg',
341
+                    'show_on_cb' => 'cmb2_hide_if_no_cats',
342
+                    'options'    => array(
343
+                         'textarea_rows' => 5,
344
+                    ),
345
+               )
346
+          );
347
+          $cmb->add_field(
348
+               array(
349
+                    'name'       => __( 'Post Dinner Snack', 'lsx-health-plan' ),
350
+                    'id'         => $this->slug . '_dinner_snack',
351
+                    'type'       => 'wysiwyg',
352
+                    'show_on_cb' => 'cmb2_hide_if_no_cats',
353
+                    'options'    => array(
354
+                         'textarea_rows' => 5,
355
+                    ),
356
+               )
357
+          );
358 358
 
359
-		if ( post_type_exists( 'recipe' ) ) {
360
-			$cmb->add_field(
361
-				array(
362
-					'name'       => __( 'Dinner Recipes', 'lsx-health-plan' ),
363
-					'desc'       => __( 'Connect additional recipes options for dinner.', 'lsx-health-plan' ),
364
-					'id'         => 'dinner_recipes',
365
-					'type'       => 'post_search_ajax',
366
-					// Optional :
367
-					'limit'      => 15,  // Limit selection to X items only (default 1)
368
-					'sortable'   => true, // Allow selected items to be sortable (default false)
369
-					'query_args' => array(
370
-						'post_type'      => array( 'recipe' ),
371
-						'post_status'    => array( 'publish' ),
372
-						'posts_per_page' => -1,
373
-					),
374
-				)
375
-			);
376
-		}
377
-	}
359
+          if ( post_type_exists( 'recipe' ) ) {
360
+               $cmb->add_field(
361
+                    array(
362
+                         'name'       => __( 'Dinner Recipes', 'lsx-health-plan' ),
363
+                         'desc'       => __( 'Connect additional recipes options for dinner.', 'lsx-health-plan' ),
364
+                         'id'         => 'dinner_recipes',
365
+                         'type'       => 'post_search_ajax',
366
+                         // Optional :
367
+                         'limit'      => 15,  // Limit selection to X items only (default 1)
368
+                         'sortable'   => true, // Allow selected items to be sortable (default false)
369
+                         'query_args' => array(
370
+                              'post_type'      => array( 'recipe' ),
371
+                              'post_status'    => array( 'publish' ),
372
+                              'posts_per_page' => -1,
373
+                         ),
374
+                    )
375
+               );
376
+          }
377
+     }
378 378
 }
Please login to merge, or discard this patch.
classes/post-types/class-exercise.php 1 patch
Indentation   +372 added lines, -372 removed lines patch added patch discarded remove patch
@@ -8,376 +8,376 @@
 block discarded – undo
8 8
  */
9 9
 class Exercise {
10 10
 
11
-	/**
12
-	 * Holds class instance
13
-	 *
14
-	 * @since 1.0.0
15
-	 *
16
-	 * @var      object \lsx_health_plan\classes\Exercise()
17
-	 */
18
-	protected static $instance = null;
19
-
20
-	/**
21
-	 * Holds post_type slug used as an index
22
-	 *
23
-	 * @since 1.0.0
24
-	 *
25
-	 * @var      string
26
-	 */
27
-	public $slug = 'exercise';
28
-
29
-	/**
30
-	 * Constructor
31
-	 */
32
-	public function __construct() {
33
-
34
-		if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
35
-			// Post Type and Taxonomies.
36
-			add_action( 'init', array( $this, 'register_post_type' ) );
37
-			add_action( 'init', array( $this, 'exercise_type_taxonomy_setup' ) );
38
-			add_action( 'init', array( $this, 'equipment_taxonomy_setup' ) );
39
-			add_action( 'init', array( $this, 'muscle_group_taxonomy_setup' ) );
40
-			add_action( 'admin_menu', array( $this, 'register_menus' ) );
41
-
42
-			// Custom Fields.
43
-			add_action( 'cmb2_admin_init', array( $this, 'exercise_details' ), 8 );
44
-			add_action( 'cmb2_admin_init', array( $this, 'gallery_metabox' ), 9 );
45
-			add_filter( 'lsx_health_plan_connections', array( $this, 'enable_connections' ), 10, 1 );
46
-
47
-			// Template Redirects.
48
-			add_filter( 'lsx_health_plan_archive_template', array( $this, 'enable_post_type' ), 10, 1 );
49
-			add_filter( 'lsx_health_plan_single_template', array( $this, 'enable_post_type' ), 10, 1 );
50
-
51
-		}
52
-
53
-	}
54
-
55
-
56
-	/**
57
-	 * Return an instance of this class.
58
-	 *
59
-	 * @since 1.0.0
60
-	 *
61
-	 * @return    object \lsx_health_plan\classes\Exercise()    A single instance of this class.
62
-	 */
63
-	public static function get_instance() {
64
-		// If the single instance hasn't been set, set it now.
65
-		if ( null === self::$instance ) {
66
-			self::$instance = new self();
67
-		}
68
-		return self::$instance;
69
-	}
70
-	/**
71
-	 * Register the post type.
72
-	 */
73
-	public function register_post_type() {
74
-		$labels = array(
75
-			'name'               => esc_html__( 'Exercises', 'lsx-health-plan' ),
76
-			'singular_name'      => esc_html__( 'Exercise', 'lsx-health-plan' ),
77
-			'add_new'            => esc_html_x( 'Add New', 'post type general name', 'lsx-health-plan' ),
78
-			'add_new_item'       => esc_html__( 'Add New', 'lsx-health-plan' ),
79
-			'edit_item'          => esc_html__( 'Edit', 'lsx-health-plan' ),
80
-			'new_item'           => esc_html__( 'New', 'lsx-health-plan' ),
81
-			'all_items'          => esc_html__( 'All Exercises', 'lsx-health-plan' ),
82
-			'view_item'          => esc_html__( 'View', 'lsx-health-plan' ),
83
-			'search_items'       => esc_html__( 'Search', 'lsx-health-plan' ),
84
-			'not_found'          => esc_html__( 'None found', 'lsx-health-plan' ),
85
-			'not_found_in_trash' => esc_html__( 'None found in Trash', 'lsx-health-plan' ),
86
-			'parent_item_colon'  => '',
87
-			'menu_name'          => esc_html__( 'Exercises', 'lsx-health-plan' ),
88
-		);
89
-		$args   = array(
90
-			'labels'             => $labels,
91
-			'public'             => true,
92
-			'publicly_queryable' => true,
93
-			'show_ui'            => true,
94
-			'show_in_menu'       => false,
95
-			'show_in_rest'       => true,
96
-			'menu_icon'          => 'dashicons-universal-access',
97
-			'query_var'          => true,
98
-			'rewrite'            => array(
99
-				'slug' => \lsx_health_plan\functions\get_option( 'endpoint_exercise_single', 'exercise' ),
100
-			),
101
-			'capability_type'    => 'page',
102
-			'has_archive'        => \lsx_health_plan\functions\get_option( 'endpoint_exercise_archive', 'exercises' ),
103
-			'hierarchical'       => false,
104
-			'menu_position'      => null,
105
-			'supports'           => array(
106
-				'title',
107
-				'thumbnail',
108
-				'editor',
109
-				'excerpt',
110
-				'custom-fields',
111
-			),
112
-		);
113
-		register_post_type( 'exercise', $args );
114
-	}
115
-
116
-	/**
117
-	 * Register the Exercise taxonomy.
118
-	 *
119
-	 * @return void
120
-	 */
121
-	public function exercise_type_taxonomy_setup() {
122
-		$labels = array(
123
-			'name'              => esc_html_x( 'Exercise Type', 'taxonomy general name', 'lsx-health-plan' ),
124
-			'singular_name'     => esc_html_x( 'Exercise Type', 'taxonomy singular name', 'lsx-health-plan' ),
125
-			'search_items'      => esc_html__( 'Search', 'lsx-health-plan' ),
126
-			'all_items'         => esc_html__( 'All', 'lsx-health-plan' ),
127
-			'parent_item'       => esc_html__( 'Parent', 'lsx-health-plan' ),
128
-			'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ),
129
-			'edit_item'         => esc_html__( 'Edit', 'lsx-health-plan' ),
130
-			'update_item'       => esc_html__( 'Update', 'lsx-health-plan' ),
131
-			'add_new_item'      => esc_html__( 'Add New', 'lsx-health-plan' ),
132
-			'new_item_name'     => esc_html__( 'New Name', 'lsx-health-plan' ),
133
-			'menu_name'         => esc_html__( 'Exercise Types', 'lsx-health-plan' ),
134
-		);
135
-
136
-		$args = array(
137
-			'hierarchical'      => true,
138
-			'labels'            => $labels,
139
-			'show_ui'           => true,
140
-			'show_admin_column' => true,
141
-			'query_var'         => true,
142
-			'rewrite'           => array(
143
-				'slug' => \lsx_health_plan\functions\get_option( 'endpoint_exercise_type', 'exercise-type' ),
144
-			),
145
-			'show_in_rest'      => true,
146
-		);
147
-
148
-		register_taxonomy( 'exercise-type', array( 'exercise' ), $args );
149
-	}
150
-
151
-	/**
152
-	 * Register the Exercise taxonomy.
153
-	 *
154
-	 * @return void
155
-	 */
156
-	public function equipment_taxonomy_setup() {
157
-		$labels = array(
158
-			'name'              => esc_html_x( 'Equipment', 'taxonomy general name', 'lsx-health-plan' ),
159
-			'singular_name'     => esc_html_x( 'Equipment', 'taxonomy singular name', 'lsx-health-plan' ),
160
-			'search_items'      => esc_html__( 'Search', 'lsx-health-plan' ),
161
-			'all_items'         => esc_html__( 'All', 'lsx-health-plan' ),
162
-			'parent_item'       => esc_html__( 'Parent', 'lsx-health-plan' ),
163
-			'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ),
164
-			'edit_item'         => esc_html__( 'Edit', 'lsx-health-plan' ),
165
-			'update_item'       => esc_html__( 'Update', 'lsx-health-plan' ),
166
-			'add_new_item'      => esc_html__( 'Add New', 'lsx-health-plan' ),
167
-			'new_item_name'     => esc_html__( 'New Name', 'lsx-health-plan' ),
168
-			'menu_name'         => esc_html__( 'Equipment', 'lsx-health-plan' ),
169
-		);
170
-
171
-		$args = array(
172
-			'hierarchical'      => true,
173
-			'labels'            => $labels,
174
-			'show_ui'           => true,
175
-			'show_admin_column' => true,
176
-			'query_var'         => true,
177
-			'rewrite'           => array(
178
-				'slug' => \lsx_health_plan\functions\get_option( 'endpoint_exercise_equipment', 'equipment' ),
179
-			),
180
-			'show_in_rest'      => true,
181
-		);
182
-
183
-		register_taxonomy( 'equipment', array( 'exercise' ), $args );
184
-	}
185
-
186
-	/**
187
-	 * Register the Muscle Group taxonomy.
188
-	 *
189
-	 * @return void
190
-	 */
191
-	public function muscle_group_taxonomy_setup() {
192
-		$labels = array(
193
-			'name'              => esc_html_x( 'Muscle Groups', 'taxonomy general name', 'lsx-health-plan' ),
194
-			'singular_name'     => esc_html_x( 'Muscle Group', 'taxonomy singular name', 'lsx-health-plan' ),
195
-			'search_items'      => esc_html__( 'Search', 'lsx-health-plan' ),
196
-			'all_items'         => esc_html__( 'All', 'lsx-health-plan' ),
197
-			'parent_item'       => esc_html__( 'Parent', 'lsx-health-plan' ),
198
-			'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ),
199
-			'edit_item'         => esc_html__( 'Edit', 'lsx-health-plan' ),
200
-			'update_item'       => esc_html__( 'Update', 'lsx-health-plan' ),
201
-			'add_new_item'      => esc_html__( 'Add New', 'lsx-health-plan' ),
202
-			'new_item_name'     => esc_html__( 'New Name', 'lsx-health-plan' ),
203
-			'menu_name'         => esc_html__( 'Muscle Groups', 'lsx-health-plan' ),
204
-		);
205
-
206
-		$args = array(
207
-			'hierarchical'      => true,
208
-			'labels'            => $labels,
209
-			'show_ui'           => true,
210
-			'show_admin_column' => true,
211
-			'query_var'         => true,
212
-			'rewrite'           => array(
213
-				'slug' => \lsx_health_plan\functions\get_option( 'endpoint_exercise_muscle_group', 'muscle-group' ),
214
-			),
215
-			'show_in_rest'      => true,
216
-		);
217
-
218
-		register_taxonomy( 'muscle-group', array( 'exercise' ), $args );
219
-	}
220
-
221
-	/**
222
-	 * Registers the Recipes under the Meals Post type menu.
223
-	 *
224
-	 * @return void
225
-	 */
226
-	public function register_menus() {
227
-		add_submenu_page( 'edit.php?post_type=workout', esc_html__( 'Exercises', 'lsx-health-plan' ), esc_html__( 'Exercises', 'lsx-health-plan' ), 'edit_posts', 'edit.php?post_type=exercise' );
228
-		add_submenu_page( 'edit.php?post_type=workout', esc_html__( 'Exercise Types', 'lsx-health-plan' ), esc_html__( 'Exercise Types', 'lsx-health-plan' ), 'edit_posts', 'edit-tags.php?taxonomy=exercise-type&post_type=exercise' );
229
-		add_submenu_page( 'edit.php?post_type=workout', esc_html__( 'Equipment', 'lsx-health-plan' ), esc_html__( 'Equipment', 'lsx-health-plan' ), 'edit_posts', 'edit-tags.php?taxonomy=equipment&post_type=exercise' );
230
-		add_submenu_page( 'edit.php?post_type=workout', esc_html__( 'Muscle Groups', 'lsx-health-plan' ), esc_html__( 'Muscle Groups', 'lsx-health-plan' ), 'edit_posts', 'edit-tags.php?taxonomy=muscle-group&post_type=exercise' );
231
-	}
232
-
233
-	/**
234
-	 * Adds the post type to the different arrays.
235
-	 *
236
-	 * @param array $post_types
237
-	 * @return array
238
-	 */
239
-	public function enable_post_type( $post_types = array() ) {
240
-		$post_types[] = $this->slug;
241
-		return $post_types;
242
-	}
243
-
244
-	/**
245
-	 * Enables the Bi Directional relationships
246
-	 *
247
-	 * @param array $connections
248
-	 * @return void
249
-	 */
250
-	public function enable_connections( $connections = array() ) {
251
-		$connections['exercise']['connected_workouts'] = 'connected_exercises';
252
-		$connections['workout']['connected_exercises'] = 'connected_workouts';
253
-		return $connections;
254
-	}
255
-
256
-	/**
257
-	 * Define the metabox and field configurations.
258
-	 */
259
-	public function gallery_metabox() {
260
-		$cmb = new_cmb2_box(
261
-			array(
262
-				'id'           => $this->slug . '_gallery_details_metabox',
263
-				'title'        => __( 'Exercise Gallery', 'lsx-health-plan' ),
264
-				'object_types' => array( $this->slug ),
265
-				'context'      => 'normal',
266
-				'priority'     => 'low',
267
-				'show_names'   => true,
268
-			)
269
-		);
270
-
271
-		$cmb->add_field(
272
-			array(
273
-				'name'    => __( 'Layout', 'lsx-health-plan' ),
274
-				'id'      => $this->slug . '_gallery_layout',
275
-				'type'    => 'radio',
276
-				'options' => array(
277
-					'slider' => __( 'Slider', 'lsx-health-plan' ) . ' {#}', // {#} gets replaced by row number
278
-					'grid'   => __( 'Grid', 'lsx-health-plan' ),
279
-				),
280
-				'default' => 'grid',
281
-			)
282
-		);
283
-
284
-		$cmb->add_field(
285
-			array(
286
-				'name'    => __( 'Grid Columns', 'lsx-health-plan' ),
287
-				'id'      => $this->slug . '_gallery_columns',
288
-				'type'    => 'text',
289
-				'default' => '1',
290
-			)
291
-		);
292
-
293
-		// Repeatable group.
294
-		$gallery_group = $cmb->add_field(
295
-			array(
296
-				'id'      => $this->slug . '_gallery',
297
-				'type'    => 'group',
298
-				'options' => array(
299
-					'group_title'   => __( 'Gallery', 'lsx-health-plan' ) . ' {#}', // {#} gets replaced by row number
300
-					'add_button'    => __( 'Add Item', 'lsx-health-plan' ),
301
-					'remove_button' => __( 'Remove Item', 'lsx-health-plan' ),
302
-					'sortable'      => true,
303
-				),
304
-				'classes' => 'lsx-admin-row',
305
-			)
306
-		);
307
-
308
-		// Title.
309
-		$cmb->add_group_field(
310
-			$gallery_group,
311
-			array(
312
-				'name'       => __( 'Image', 'lsx-health-plan' ),
313
-				'id'         => $this->slug . '_gallery_image',
314
-				'type'       => 'file',
315
-				'text'       => array(
316
-					'add_upload_file_text' => __( 'Add File', 'lsx-health-plan' ),
317
-				),
318
-				'desc'       => __( 'Upload an image a minimum of 800px x 600px in size.', 'lsx-health-plan' ),
319
-				'query_args' => array(
320
-					'type' => array(
321
-						'image/gif',
322
-						'image/jpeg',
323
-						'image/png',
324
-					),
325
-				),
326
-				'preview_size' => 'lsx-thumbnail-wide',
327
-			)
328
-		);
329
-
330
-		// Title.
331
-		$cmb->add_group_field(
332
-			$gallery_group,
333
-			array(
334
-				'name'         => __( 'oEmbed', 'lsx-health-plan' ),
335
-				'id'           => $this->slug . '_gallery_embed',
336
-				'type'         => 'text',
337
-				'desc'         => __( 'Drop in the embed url for your video from YouTube, Vimeo or DailyMotion, e.g: "https://www.youtube.com/watch?v=9xwazD5SyVg". A full list of supports formats can be found at <a href="https://make.wordpress.org/support/user-manual/content/media/adding-media-to-your-pages-and-posts/embedding-media-from-other-sites/">WordPress</a>', 'lsx-health-plan' ),
338
-			)
339
-		);
340
-
341
-		$cmb->add_group_field(
342
-			$gallery_group,
343
-			array(
344
-				'name'         => __( 'External Media', 'lsx-health-plan' ),
345
-				'id'           => $this->slug . '_gallery_external',
346
-				'type'         => 'textarea_code',
347
-				'desc'         => __( 'Drop in the iFrame embed code from Giphy in this field, i.e: &lt;iframe src="https://giphy.com/embed/3o7527Rn1HxXWqgxuo" width="480" height="270" frameborder="0" class="giphy-embed" allowfullscreen&gt;&lt;/iframe&gt;', 'lsx-health-plan' ),
348
-			)
349
-		);
350
-	}
351
-
352
-	/**
353
-	 * Registers the general settings for the exercise.
354
-	 *
355
-	 * @return void
356
-	 */
357
-	public function exercise_details() {
358
-		$cmb = new_cmb2_box(
359
-			array(
360
-				'id'           => $this->slug . '_general_details_metabox',
361
-				'title'        => __( 'Details', 'lsx-health-plan' ),
362
-				'object_types' => array( $this->slug ),
363
-				'context'      => 'normal',
364
-				'priority'     => 'high',
365
-				'show_names'   => true,
366
-			)
367
-		);
368
-
369
-		$cmb->add_field(
370
-			array(
371
-				'name'    => __( 'Side', 'lsx-health-plan' ),
372
-				'id'      => $this->slug . '_side',
373
-				'type'    => 'select',
374
-				'options' => array(
375
-					''      => __( 'Select', 'lsx-health-plan' ),
376
-					'left'  => __( 'Left', 'lsx-health-plan' ),
377
-					'right' => __( 'Right', 'lsx-health-plan' ),
378
-				),
379
-				'desc'    => __( 'Select which side this exercise uses. ', 'lsx-health-plan' ),
380
-			)
381
-		);
382
-	}
11
+     /**
12
+      * Holds class instance
13
+      *
14
+      * @since 1.0.0
15
+      *
16
+      * @var      object \lsx_health_plan\classes\Exercise()
17
+      */
18
+     protected static $instance = null;
19
+
20
+     /**
21
+      * Holds post_type slug used as an index
22
+      *
23
+      * @since 1.0.0
24
+      *
25
+      * @var      string
26
+      */
27
+     public $slug = 'exercise';
28
+
29
+     /**
30
+      * Constructor
31
+      */
32
+     public function __construct() {
33
+
34
+          if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
35
+               // Post Type and Taxonomies.
36
+               add_action( 'init', array( $this, 'register_post_type' ) );
37
+               add_action( 'init', array( $this, 'exercise_type_taxonomy_setup' ) );
38
+               add_action( 'init', array( $this, 'equipment_taxonomy_setup' ) );
39
+               add_action( 'init', array( $this, 'muscle_group_taxonomy_setup' ) );
40
+               add_action( 'admin_menu', array( $this, 'register_menus' ) );
41
+
42
+               // Custom Fields.
43
+               add_action( 'cmb2_admin_init', array( $this, 'exercise_details' ), 8 );
44
+               add_action( 'cmb2_admin_init', array( $this, 'gallery_metabox' ), 9 );
45
+               add_filter( 'lsx_health_plan_connections', array( $this, 'enable_connections' ), 10, 1 );
46
+
47
+               // Template Redirects.
48
+               add_filter( 'lsx_health_plan_archive_template', array( $this, 'enable_post_type' ), 10, 1 );
49
+               add_filter( 'lsx_health_plan_single_template', array( $this, 'enable_post_type' ), 10, 1 );
50
+
51
+          }
52
+
53
+     }
54
+
55
+
56
+     /**
57
+      * Return an instance of this class.
58
+      *
59
+      * @since 1.0.0
60
+      *
61
+      * @return    object \lsx_health_plan\classes\Exercise()    A single instance of this class.
62
+      */
63
+     public static function get_instance() {
64
+          // If the single instance hasn't been set, set it now.
65
+          if ( null === self::$instance ) {
66
+               self::$instance = new self();
67
+          }
68
+          return self::$instance;
69
+     }
70
+     /**
71
+      * Register the post type.
72
+      */
73
+     public function register_post_type() {
74
+          $labels = array(
75
+               'name'               => esc_html__( 'Exercises', 'lsx-health-plan' ),
76
+               'singular_name'      => esc_html__( 'Exercise', 'lsx-health-plan' ),
77
+               'add_new'            => esc_html_x( 'Add New', 'post type general name', 'lsx-health-plan' ),
78
+               'add_new_item'       => esc_html__( 'Add New', 'lsx-health-plan' ),
79
+               'edit_item'          => esc_html__( 'Edit', 'lsx-health-plan' ),
80
+               'new_item'           => esc_html__( 'New', 'lsx-health-plan' ),
81
+               'all_items'          => esc_html__( 'All Exercises', 'lsx-health-plan' ),
82
+               'view_item'          => esc_html__( 'View', 'lsx-health-plan' ),
83
+               'search_items'       => esc_html__( 'Search', 'lsx-health-plan' ),
84
+               'not_found'          => esc_html__( 'None found', 'lsx-health-plan' ),
85
+               'not_found_in_trash' => esc_html__( 'None found in Trash', 'lsx-health-plan' ),
86
+               'parent_item_colon'  => '',
87
+               'menu_name'          => esc_html__( 'Exercises', 'lsx-health-plan' ),
88
+          );
89
+          $args   = array(
90
+               'labels'             => $labels,
91
+               'public'             => true,
92
+               'publicly_queryable' => true,
93
+               'show_ui'            => true,
94
+               'show_in_menu'       => false,
95
+               'show_in_rest'       => true,
96
+               'menu_icon'          => 'dashicons-universal-access',
97
+               'query_var'          => true,
98
+               'rewrite'            => array(
99
+                    'slug' => \lsx_health_plan\functions\get_option( 'endpoint_exercise_single', 'exercise' ),
100
+               ),
101
+               'capability_type'    => 'page',
102
+               'has_archive'        => \lsx_health_plan\functions\get_option( 'endpoint_exercise_archive', 'exercises' ),
103
+               'hierarchical'       => false,
104
+               'menu_position'      => null,
105
+               'supports'           => array(
106
+                    'title',
107
+                    'thumbnail',
108
+                    'editor',
109
+                    'excerpt',
110
+                    'custom-fields',
111
+               ),
112
+          );
113
+          register_post_type( 'exercise', $args );
114
+     }
115
+
116
+     /**
117
+      * Register the Exercise taxonomy.
118
+      *
119
+      * @return void
120
+      */
121
+     public function exercise_type_taxonomy_setup() {
122
+          $labels = array(
123
+               'name'              => esc_html_x( 'Exercise Type', 'taxonomy general name', 'lsx-health-plan' ),
124
+               'singular_name'     => esc_html_x( 'Exercise Type', 'taxonomy singular name', 'lsx-health-plan' ),
125
+               'search_items'      => esc_html__( 'Search', 'lsx-health-plan' ),
126
+               'all_items'         => esc_html__( 'All', 'lsx-health-plan' ),
127
+               'parent_item'       => esc_html__( 'Parent', 'lsx-health-plan' ),
128
+               'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ),
129
+               'edit_item'         => esc_html__( 'Edit', 'lsx-health-plan' ),
130
+               'update_item'       => esc_html__( 'Update', 'lsx-health-plan' ),
131
+               'add_new_item'      => esc_html__( 'Add New', 'lsx-health-plan' ),
132
+               'new_item_name'     => esc_html__( 'New Name', 'lsx-health-plan' ),
133
+               'menu_name'         => esc_html__( 'Exercise Types', 'lsx-health-plan' ),
134
+          );
135
+
136
+          $args = array(
137
+               'hierarchical'      => true,
138
+               'labels'            => $labels,
139
+               'show_ui'           => true,
140
+               'show_admin_column' => true,
141
+               'query_var'         => true,
142
+               'rewrite'           => array(
143
+                    'slug' => \lsx_health_plan\functions\get_option( 'endpoint_exercise_type', 'exercise-type' ),
144
+               ),
145
+               'show_in_rest'      => true,
146
+          );
147
+
148
+          register_taxonomy( 'exercise-type', array( 'exercise' ), $args );
149
+     }
150
+
151
+     /**
152
+      * Register the Exercise taxonomy.
153
+      *
154
+      * @return void
155
+      */
156
+     public function equipment_taxonomy_setup() {
157
+          $labels = array(
158
+               'name'              => esc_html_x( 'Equipment', 'taxonomy general name', 'lsx-health-plan' ),
159
+               'singular_name'     => esc_html_x( 'Equipment', 'taxonomy singular name', 'lsx-health-plan' ),
160
+               'search_items'      => esc_html__( 'Search', 'lsx-health-plan' ),
161
+               'all_items'         => esc_html__( 'All', 'lsx-health-plan' ),
162
+               'parent_item'       => esc_html__( 'Parent', 'lsx-health-plan' ),
163
+               'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ),
164
+               'edit_item'         => esc_html__( 'Edit', 'lsx-health-plan' ),
165
+               'update_item'       => esc_html__( 'Update', 'lsx-health-plan' ),
166
+               'add_new_item'      => esc_html__( 'Add New', 'lsx-health-plan' ),
167
+               'new_item_name'     => esc_html__( 'New Name', 'lsx-health-plan' ),
168
+               'menu_name'         => esc_html__( 'Equipment', 'lsx-health-plan' ),
169
+          );
170
+
171
+          $args = array(
172
+               'hierarchical'      => true,
173
+               'labels'            => $labels,
174
+               'show_ui'           => true,
175
+               'show_admin_column' => true,
176
+               'query_var'         => true,
177
+               'rewrite'           => array(
178
+                    'slug' => \lsx_health_plan\functions\get_option( 'endpoint_exercise_equipment', 'equipment' ),
179
+               ),
180
+               'show_in_rest'      => true,
181
+          );
182
+
183
+          register_taxonomy( 'equipment', array( 'exercise' ), $args );
184
+     }
185
+
186
+     /**
187
+      * Register the Muscle Group taxonomy.
188
+      *
189
+      * @return void
190
+      */
191
+     public function muscle_group_taxonomy_setup() {
192
+          $labels = array(
193
+               'name'              => esc_html_x( 'Muscle Groups', 'taxonomy general name', 'lsx-health-plan' ),
194
+               'singular_name'     => esc_html_x( 'Muscle Group', 'taxonomy singular name', 'lsx-health-plan' ),
195
+               'search_items'      => esc_html__( 'Search', 'lsx-health-plan' ),
196
+               'all_items'         => esc_html__( 'All', 'lsx-health-plan' ),
197
+               'parent_item'       => esc_html__( 'Parent', 'lsx-health-plan' ),
198
+               'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ),
199
+               'edit_item'         => esc_html__( 'Edit', 'lsx-health-plan' ),
200
+               'update_item'       => esc_html__( 'Update', 'lsx-health-plan' ),
201
+               'add_new_item'      => esc_html__( 'Add New', 'lsx-health-plan' ),
202
+               'new_item_name'     => esc_html__( 'New Name', 'lsx-health-plan' ),
203
+               'menu_name'         => esc_html__( 'Muscle Groups', 'lsx-health-plan' ),
204
+          );
205
+
206
+          $args = array(
207
+               'hierarchical'      => true,
208
+               'labels'            => $labels,
209
+               'show_ui'           => true,
210
+               'show_admin_column' => true,
211
+               'query_var'         => true,
212
+               'rewrite'           => array(
213
+                    'slug' => \lsx_health_plan\functions\get_option( 'endpoint_exercise_muscle_group', 'muscle-group' ),
214
+               ),
215
+               'show_in_rest'      => true,
216
+          );
217
+
218
+          register_taxonomy( 'muscle-group', array( 'exercise' ), $args );
219
+     }
220
+
221
+     /**
222
+      * Registers the Recipes under the Meals Post type menu.
223
+      *
224
+      * @return void
225
+      */
226
+     public function register_menus() {
227
+          add_submenu_page( 'edit.php?post_type=workout', esc_html__( 'Exercises', 'lsx-health-plan' ), esc_html__( 'Exercises', 'lsx-health-plan' ), 'edit_posts', 'edit.php?post_type=exercise' );
228
+          add_submenu_page( 'edit.php?post_type=workout', esc_html__( 'Exercise Types', 'lsx-health-plan' ), esc_html__( 'Exercise Types', 'lsx-health-plan' ), 'edit_posts', 'edit-tags.php?taxonomy=exercise-type&post_type=exercise' );
229
+          add_submenu_page( 'edit.php?post_type=workout', esc_html__( 'Equipment', 'lsx-health-plan' ), esc_html__( 'Equipment', 'lsx-health-plan' ), 'edit_posts', 'edit-tags.php?taxonomy=equipment&post_type=exercise' );
230
+          add_submenu_page( 'edit.php?post_type=workout', esc_html__( 'Muscle Groups', 'lsx-health-plan' ), esc_html__( 'Muscle Groups', 'lsx-health-plan' ), 'edit_posts', 'edit-tags.php?taxonomy=muscle-group&post_type=exercise' );
231
+     }
232
+
233
+     /**
234
+      * Adds the post type to the different arrays.
235
+      *
236
+      * @param array $post_types
237
+      * @return array
238
+      */
239
+     public function enable_post_type( $post_types = array() ) {
240
+          $post_types[] = $this->slug;
241
+          return $post_types;
242
+     }
243
+
244
+     /**
245
+      * Enables the Bi Directional relationships
246
+      *
247
+      * @param array $connections
248
+      * @return void
249
+      */
250
+     public function enable_connections( $connections = array() ) {
251
+          $connections['exercise']['connected_workouts'] = 'connected_exercises';
252
+          $connections['workout']['connected_exercises'] = 'connected_workouts';
253
+          return $connections;
254
+     }
255
+
256
+     /**
257
+      * Define the metabox and field configurations.
258
+      */
259
+     public function gallery_metabox() {
260
+          $cmb = new_cmb2_box(
261
+               array(
262
+                    'id'           => $this->slug . '_gallery_details_metabox',
263
+                    'title'        => __( 'Exercise Gallery', 'lsx-health-plan' ),
264
+                    'object_types' => array( $this->slug ),
265
+                    'context'      => 'normal',
266
+                    'priority'     => 'low',
267
+                    'show_names'   => true,
268
+               )
269
+          );
270
+
271
+          $cmb->add_field(
272
+               array(
273
+                    'name'    => __( 'Layout', 'lsx-health-plan' ),
274
+                    'id'      => $this->slug . '_gallery_layout',
275
+                    'type'    => 'radio',
276
+                    'options' => array(
277
+                         'slider' => __( 'Slider', 'lsx-health-plan' ) . ' {#}', // {#} gets replaced by row number
278
+                         'grid'   => __( 'Grid', 'lsx-health-plan' ),
279
+                    ),
280
+                    'default' => 'grid',
281
+               )
282
+          );
283
+
284
+          $cmb->add_field(
285
+               array(
286
+                    'name'    => __( 'Grid Columns', 'lsx-health-plan' ),
287
+                    'id'      => $this->slug . '_gallery_columns',
288
+                    'type'    => 'text',
289
+                    'default' => '1',
290
+               )
291
+          );
292
+
293
+          // Repeatable group.
294
+          $gallery_group = $cmb->add_field(
295
+               array(
296
+                    'id'      => $this->slug . '_gallery',
297
+                    'type'    => 'group',
298
+                    'options' => array(
299
+                         'group_title'   => __( 'Gallery', 'lsx-health-plan' ) . ' {#}', // {#} gets replaced by row number
300
+                         'add_button'    => __( 'Add Item', 'lsx-health-plan' ),
301
+                         'remove_button' => __( 'Remove Item', 'lsx-health-plan' ),
302
+                         'sortable'      => true,
303
+                    ),
304
+                    'classes' => 'lsx-admin-row',
305
+               )
306
+          );
307
+
308
+          // Title.
309
+          $cmb->add_group_field(
310
+               $gallery_group,
311
+               array(
312
+                    'name'       => __( 'Image', 'lsx-health-plan' ),
313
+                    'id'         => $this->slug . '_gallery_image',
314
+                    'type'       => 'file',
315
+                    'text'       => array(
316
+                         'add_upload_file_text' => __( 'Add File', 'lsx-health-plan' ),
317
+                    ),
318
+                    'desc'       => __( 'Upload an image a minimum of 800px x 600px in size.', 'lsx-health-plan' ),
319
+                    'query_args' => array(
320
+                         'type' => array(
321
+                              'image/gif',
322
+                              'image/jpeg',
323
+                              'image/png',
324
+                         ),
325
+                    ),
326
+                    'preview_size' => 'lsx-thumbnail-wide',
327
+               )
328
+          );
329
+
330
+          // Title.
331
+          $cmb->add_group_field(
332
+               $gallery_group,
333
+               array(
334
+                    'name'         => __( 'oEmbed', 'lsx-health-plan' ),
335
+                    'id'           => $this->slug . '_gallery_embed',
336
+                    'type'         => 'text',
337
+                    'desc'         => __( 'Drop in the embed url for your video from YouTube, Vimeo or DailyMotion, e.g: "https://www.youtube.com/watch?v=9xwazD5SyVg". A full list of supports formats can be found at <a href="https://make.wordpress.org/support/user-manual/content/media/adding-media-to-your-pages-and-posts/embedding-media-from-other-sites/">WordPress</a>', 'lsx-health-plan' ),
338
+               )
339
+          );
340
+
341
+          $cmb->add_group_field(
342
+               $gallery_group,
343
+               array(
344
+                    'name'         => __( 'External Media', 'lsx-health-plan' ),
345
+                    'id'           => $this->slug . '_gallery_external',
346
+                    'type'         => 'textarea_code',
347
+                    'desc'         => __( 'Drop in the iFrame embed code from Giphy in this field, i.e: &lt;iframe src="https://giphy.com/embed/3o7527Rn1HxXWqgxuo" width="480" height="270" frameborder="0" class="giphy-embed" allowfullscreen&gt;&lt;/iframe&gt;', 'lsx-health-plan' ),
348
+               )
349
+          );
350
+     }
351
+
352
+     /**
353
+      * Registers the general settings for the exercise.
354
+      *
355
+      * @return void
356
+      */
357
+     public function exercise_details() {
358
+          $cmb = new_cmb2_box(
359
+               array(
360
+                    'id'           => $this->slug . '_general_details_metabox',
361
+                    'title'        => __( 'Details', 'lsx-health-plan' ),
362
+                    'object_types' => array( $this->slug ),
363
+                    'context'      => 'normal',
364
+                    'priority'     => 'high',
365
+                    'show_names'   => true,
366
+               )
367
+          );
368
+
369
+          $cmb->add_field(
370
+               array(
371
+                    'name'    => __( 'Side', 'lsx-health-plan' ),
372
+                    'id'      => $this->slug . '_side',
373
+                    'type'    => 'select',
374
+                    'options' => array(
375
+                         ''      => __( 'Select', 'lsx-health-plan' ),
376
+                         'left'  => __( 'Left', 'lsx-health-plan' ),
377
+                         'right' => __( 'Right', 'lsx-health-plan' ),
378
+                    ),
379
+                    'desc'    => __( 'Select which side this exercise uses. ', 'lsx-health-plan' ),
380
+               )
381
+          );
382
+     }
383 383
 }
Please login to merge, or discard this patch.