Passed
Push — add/multiplan ( 0a1b11...281f2e )
by Chris
10:18 queued 04:25
created
classes/admin/class-settings-theme.php 1 patch
Indentation   +176 added lines, -176 removed lines patch added patch discarded remove patch
@@ -10,186 +10,186 @@  discard block
 block discarded – undo
10 10
  */
11 11
 class Settings_Theme {
12 12
 
13
-	/**
14
-	 * Holds class instance
15
-	 *
16
-	 * @since 1.0.0
17
-	 *
18
-	 * @var      object \lsx_health_plan\classes\admin\Settings_Theme()
19
-	 */
20
-	protected static $instance = null;
13
+     /**
14
+      * Holds class instance
15
+      *
16
+      * @since 1.0.0
17
+      *
18
+      * @var      object \lsx_health_plan\classes\admin\Settings_Theme()
19
+      */
20
+     protected static $instance = null;
21 21
 
22
-	/**
23
-	 * Will return true if this is the LSX Search settings page.
24
-	 *
25
-	 * @var array
26
-	 */
27
-	public $is_options_page = false;
22
+     /**
23
+      * Will return true if this is the LSX Search settings page.
24
+      *
25
+      * @var array
26
+      */
27
+     public $is_options_page = false;
28 28
 
29
-	/**
30
-	 * Holds the id and labels for the navigation.
31
-	 *
32
-	 * @var array
33
-	 */
34
-	public $navigation = array();
29
+     /**
30
+      * Holds the id and labels for the navigation.
31
+      *
32
+      * @var array
33
+      */
34
+     public $navigation = array();
35 35
 
36
-	/**
37
-	 * Constructor
38
-	 */
39
-	public function __construct() {
40
-		add_filter( 'cmb2_enqueue_css', array( $this, 'disable_cmb2_styles' ), 1, 1 );
41
-		add_action( 'cmb2_before_form', array( $this, 'generate_navigation' ), 10, 4 );
42
-		add_action( 'cmb2_before_title_field_row', array( $this, 'output_tab_open_div' ), 10, 1 );
43
-		add_action( 'cmb2_after_tab_closing_field_row', array( $this, 'output_tab_closing_div' ), 10, 1 );
44
-		add_action( 'cmb2_render_tab_closing', array( $this, 'cmb2_render_callback_for_tab_closing' ), 10, 5 );
45
-		add_filter( 'cmb2_sanitize_tab_closing', array( $this, 'cmb2_sanitize_tab_closing_callback' ), 10, 2 );
46
-		add_action( 'cmb2_after_form', array( $this, 'navigation_js' ), 10, 4 );
47
-		add_filter( 'cmb2_options_page_redirect_url', array( $this, 'add_tab_argument' ), 10, 1 );
48
-	}
36
+     /**
37
+      * Constructor
38
+      */
39
+     public function __construct() {
40
+          add_filter( 'cmb2_enqueue_css', array( $this, 'disable_cmb2_styles' ), 1, 1 );
41
+          add_action( 'cmb2_before_form', array( $this, 'generate_navigation' ), 10, 4 );
42
+          add_action( 'cmb2_before_title_field_row', array( $this, 'output_tab_open_div' ), 10, 1 );
43
+          add_action( 'cmb2_after_tab_closing_field_row', array( $this, 'output_tab_closing_div' ), 10, 1 );
44
+          add_action( 'cmb2_render_tab_closing', array( $this, 'cmb2_render_callback_for_tab_closing' ), 10, 5 );
45
+          add_filter( 'cmb2_sanitize_tab_closing', array( $this, 'cmb2_sanitize_tab_closing_callback' ), 10, 2 );
46
+          add_action( 'cmb2_after_form', array( $this, 'navigation_js' ), 10, 4 );
47
+          add_filter( 'cmb2_options_page_redirect_url', array( $this, 'add_tab_argument' ), 10, 1 );
48
+     }
49 49
 
50
-	/**
51
-	 * Return an instance of this class.
52
-	 *
53
-	 * @since 1.0.0
54
-	 *
55
-	 * @return    object \lsx_health_plan\classes\admin\Settings_Theme()    A single instance of this class.
56
-	 */
57
-	public static function get_instance() {
58
-		// If the single instance hasn't been set, set it now.
59
-		if ( null == self::$instance ) {
60
-			self::$instance = new self();
61
-		}
62
-		return self::$instance;
63
-	}
50
+     /**
51
+      * Return an instance of this class.
52
+      *
53
+      * @since 1.0.0
54
+      *
55
+      * @return    object \lsx_health_plan\classes\admin\Settings_Theme()    A single instance of this class.
56
+      */
57
+     public static function get_instance() {
58
+          // If the single instance hasn't been set, set it now.
59
+          if ( null == self::$instance ) {
60
+               self::$instance = new self();
61
+          }
62
+          return self::$instance;
63
+     }
64 64
 
65
-	/**
66
-	 * Disable CMB2 styles on front end forms.
67
-	 *
68
-	 * @return bool $enabled Whether to enable (enqueue) styles.
69
-	 */
70
-	public function disable_cmb2_styles( $enabled ) {
71
-		if ( is_admin() ) {
72
-			$current_screen = get_current_screen();
73
-			if ( is_object( $current_screen ) && 'plan_page_lsx_health_plan_options' === $current_screen->id ) {
74
-				$enabled = false;
75
-			}
76
-		}
77
-		return $enabled;
78
-	}
65
+     /**
66
+      * Disable CMB2 styles on front end forms.
67
+      *
68
+      * @return bool $enabled Whether to enable (enqueue) styles.
69
+      */
70
+     public function disable_cmb2_styles( $enabled ) {
71
+          if ( is_admin() ) {
72
+               $current_screen = get_current_screen();
73
+               if ( is_object( $current_screen ) && 'plan_page_lsx_health_plan_options' === $current_screen->id ) {
74
+                    $enabled = false;
75
+               }
76
+          }
77
+          return $enabled;
78
+     }
79 79
 
80
-	/**
81
-	 * Generates the tabbed navigation for the settings page.
82
-	 *
83
-	 * @param string $cmb_id
84
-	 * @param string $object_id
85
-	 * @param string $object_type
86
-	 * @param object $cmb2_obj
87
-	 * @return void
88
-	 */
89
-	public function generate_navigation( $cmb_id, $object_id, $object_type, $cmb2_obj ) {
90
-		if ( 'lsx_health_plan_settings' === $cmb_id && 'lsx_health_plan_options' === $object_id && 'options-page' === $object_type ) {
91
-			$this->navigation      = array();
92
-			$this->is_options_page = true;
93
-			if ( isset( $cmb2_obj->meta_box['fields'] ) && ! empty( $cmb2_obj->meta_box['fields'] ) ) {
94
-				foreach ( $cmb2_obj->meta_box['fields'] as $field_index => $field ) {
95
-					if ( 'title' === $field['type'] ) {
96
-						$this->navigation[ $field_index ] = $field['name'];
97
-					}
98
-				}
99
-			}
100
-			$this->output_navigation();
101
-		}
102
-	}
80
+     /**
81
+      * Generates the tabbed navigation for the settings page.
82
+      *
83
+      * @param string $cmb_id
84
+      * @param string $object_id
85
+      * @param string $object_type
86
+      * @param object $cmb2_obj
87
+      * @return void
88
+      */
89
+     public function generate_navigation( $cmb_id, $object_id, $object_type, $cmb2_obj ) {
90
+          if ( 'lsx_health_plan_settings' === $cmb_id && 'lsx_health_plan_options' === $object_id && 'options-page' === $object_type ) {
91
+               $this->navigation      = array();
92
+               $this->is_options_page = true;
93
+               if ( isset( $cmb2_obj->meta_box['fields'] ) && ! empty( $cmb2_obj->meta_box['fields'] ) ) {
94
+                    foreach ( $cmb2_obj->meta_box['fields'] as $field_index => $field ) {
95
+                         if ( 'title' === $field['type'] ) {
96
+                              $this->navigation[ $field_index ] = $field['name'];
97
+                         }
98
+                    }
99
+               }
100
+               $this->output_navigation();
101
+          }
102
+     }
103 103
 
104
-	/**
105
-	 * Outputs the WP style navigation for the Settings page.
106
-	 *
107
-	 * @return void
108
-	 */
109
-	public function output_navigation() {
110
-		if ( ! empty( $this->navigation ) ) {
111
-			?>
104
+     /**
105
+      * Outputs the WP style navigation for the Settings page.
106
+      *
107
+      * @return void
108
+      */
109
+     public function output_navigation() {
110
+          if ( ! empty( $this->navigation ) ) {
111
+               ?>
112 112
 			<div class="wp-filter hide-if-no-js">
113 113
 				<ul class="filter-links">
114 114
 					<?php
115
-					$first_tab    = true;
116
-					$total        = count( $this->navigation );
117
-					$count        = 0;
118
-					$separator    = ' |';
119
-					$selected_tab = '';
120
-					if ( isset( $_GET['cmb_tab'] ) && '' !== $_GET['cmb_tab'] ) {
121
-						$selected_tab  = sanitize_text_field( $_GET['cmb_tab'] );
122
-						$selected_tab  = 'settings_' . $selected_tab;
123
-					}
124
-					foreach ( $this->navigation as $key => $label ) {
125
-						$count++;
126
-						$current_css = '';
127
-						if ( ( true === $first_tab && '' === $selected_tab ) || $key === $selected_tab ) {
128
-							$first_tab   = false;
129
-							$current_css = 'current';
130
-						}
131
-						if ( $count === $total ) {
132
-							$separator = '';
133
-						}
134
-						?>
115
+                         $first_tab    = true;
116
+                         $total        = count( $this->navigation );
117
+                         $count        = 0;
118
+                         $separator    = ' |';
119
+                         $selected_tab = '';
120
+                         if ( isset( $_GET['cmb_tab'] ) && '' !== $_GET['cmb_tab'] ) {
121
+                              $selected_tab  = sanitize_text_field( $_GET['cmb_tab'] );
122
+                              $selected_tab  = 'settings_' . $selected_tab;
123
+                         }
124
+                         foreach ( $this->navigation as $key => $label ) {
125
+                              $count++;
126
+                              $current_css = '';
127
+                              if ( ( true === $first_tab && '' === $selected_tab ) || $key === $selected_tab ) {
128
+                                   $first_tab   = false;
129
+                                   $current_css = 'current';
130
+                              }
131
+                              if ( $count === $total ) {
132
+                                   $separator = '';
133
+                              }
134
+                              ?>
135 135
 							<li><a href="#" class="<?php echo esc_attr( $current_css ); ?>" data-sort="<?php echo esc_attr( $key ); ?>_tab"><?php echo esc_attr( $label ); ?></a><?php echo esc_attr( $separator ); ?></li>
136 136
 						<?php
137
-					}
138
-					?>
137
+                         }
138
+                         ?>
139 139
 				</ul>
140 140
 			</div>
141 141
 			<?php
142
-		}
143
-	}
142
+          }
143
+     }
144 144
 
145
-	/**
146
-	 * Outputs the opening tab div.
147
-	 *
148
-	 * @param object $field CMB2_Field();
149
-	 * @return void
150
-	 */
151
-	public function output_tab_open_div( $field ) {
152
-		if ( true === $this->is_options_page && isset( $field->args['type'] ) && 'title' === $field->args['type'] ) {
153
-			?>
145
+     /**
146
+      * Outputs the opening tab div.
147
+      *
148
+      * @param object $field CMB2_Field();
149
+      * @return void
150
+      */
151
+     public function output_tab_open_div( $field ) {
152
+          if ( true === $this->is_options_page && isset( $field->args['type'] ) && 'title' === $field->args['type'] ) {
153
+               ?>
154 154
 			<div id="<?php echo esc_attr( $field->args['id'] ); ?>_tab" class="tab tab-nav hidden">
155 155
 			<?php
156
-		}
157
-	}
156
+          }
157
+     }
158 158
 
159
-	/**
160
-	 * Outputs the opening closing div.
161
-	 *
162
-	 * @param object $field CMB2_Field();
163
-	 * @return void
164
-	 */
165
-	public function output_tab_closing_div( $field ) {
166
-		if ( true === $this->is_options_page && isset( $field->args['type'] ) && 'tab_closing' === $field->args['type'] ) {
167
-			?>
159
+     /**
160
+      * Outputs the opening closing div.
161
+      *
162
+      * @param object $field CMB2_Field();
163
+      * @return void
164
+      */
165
+     public function output_tab_closing_div( $field ) {
166
+          if ( true === $this->is_options_page && isset( $field->args['type'] ) && 'tab_closing' === $field->args['type'] ) {
167
+               ?>
168 168
 			</div>
169 169
 			<?php
170
-		}
171
-	}
170
+          }
171
+     }
172 172
 
173
-	public function cmb2_render_callback_for_tab_closing( $field, $escaped_value, $object_id, $object_type, $field_type_object ) {
174
-		return;
175
-	}
173
+     public function cmb2_render_callback_for_tab_closing( $field, $escaped_value, $object_id, $object_type, $field_type_object ) {
174
+          return;
175
+     }
176 176
 
177
-	public function cmb2_sanitize_tab_closing_callback( $override_value, $value ) {
178
-		return '';
179
-	}
177
+     public function cmb2_sanitize_tab_closing_callback( $override_value, $value ) {
178
+          return '';
179
+     }
180 180
 
181
-	/**
182
-	 * Outputs the Script for the tabbed navigation.
183
-	 *
184
-	 * @param string $cmb_id
185
-	 * @param string $object_id
186
-	 * @param string $object_type
187
-	 * @param object $cmb2_obj
188
-	 * @return void
189
-	 */
190
-	public function navigation_js( $cmb_id, $object_id, $object_type, $cmb2_obj ) {
191
-		if ( 'lsx_health_plan_settings' === $cmb_id && 'lsx_health_plan_options' === $object_id && 'options-page' === $object_type ) {
192
-			?>
181
+     /**
182
+      * Outputs the Script for the tabbed navigation.
183
+      *
184
+      * @param string $cmb_id
185
+      * @param string $object_id
186
+      * @param string $object_type
187
+      * @param object $cmb2_obj
188
+      * @return void
189
+      */
190
+     public function navigation_js( $cmb_id, $object_id, $object_type, $cmb2_obj ) {
191
+          if ( 'lsx_health_plan_settings' === $cmb_id && 'lsx_health_plan_options' === $object_id && 'options-page' === $object_type ) {
192
+               ?>
193 193
 			<script>
194 194
 				var LSX_HP_CMB2 = Object.create( null );
195 195
 
@@ -261,25 +261,25 @@  discard block
 block discarded – undo
261 261
 				} )( jQuery, window, document );
262 262
 			</script>
263 263
 			<?php
264
-		}
265
-	}
264
+          }
265
+     }
266 266
 
267
-	/**
268
-	 * This will add the tab selection to the url.
269
-	 *
270
-	 * @param string $url
271
-	 * @return void
272
-	 */
273
-	public function add_tab_argument( $url ) {
274
-		if ( isset( $_POST['cmb_tab'] ) && '' !== $_POST['cmb_tab'] ) { // @codingStandardsIgnoreLine
275
-			$tab_selection = sanitize_text_field( $_POST['cmb_tab'] ); // @codingStandardsIgnoreLine
276
-			$tab_selection = str_replace( array( 'settings_', '_tab' ), '', $tab_selection ); // @codingStandardsIgnoreLine
277
-			if ( 'single' !== $tab_selection ) {
278
-				$url = add_query_arg( 'cmb_tab', $tab_selection, $url );
279
-			} else {
280
-				$url = remove_query_arg( 'cmb_tab', $url );
281
-			}
282
-		}
283
-		return $url;
284
-	}
267
+     /**
268
+      * This will add the tab selection to the url.
269
+      *
270
+      * @param string $url
271
+      * @return void
272
+      */
273
+     public function add_tab_argument( $url ) {
274
+          if ( isset( $_POST['cmb_tab'] ) && '' !== $_POST['cmb_tab'] ) { // @codingStandardsIgnoreLine
275
+               $tab_selection = sanitize_text_field( $_POST['cmb_tab'] ); // @codingStandardsIgnoreLine
276
+               $tab_selection = str_replace( array( 'settings_', '_tab' ), '', $tab_selection ); // @codingStandardsIgnoreLine
277
+               if ( 'single' !== $tab_selection ) {
278
+                    $url = add_query_arg( 'cmb_tab', $tab_selection, $url );
279
+               } else {
280
+                    $url = remove_query_arg( 'cmb_tab', $url );
281
+               }
282
+          }
283
+          return $url;
284
+     }
285 285
 }
Please login to merge, or discard this patch.
classes/admin/class-help-page.php 1 patch
Indentation   +119 added lines, -119 removed lines patch added patch discarded remove patch
@@ -12,125 +12,125 @@  discard block
 block discarded – undo
12 12
  */
13 13
 class Help_Page {
14 14
 
15
-	/**
16
-	 * Holds class instance
17
-	 *
18
-	 * @since 1.0.0
19
-	 *
20
-	 * @var      object \lsx_health_plan\classes\admin\Help_Page()
21
-	 */
22
-	protected static $instance = null;
23
-
24
-	/**
25
-	 * Option key, and option page slug
26
-	 *
27
-	 * @var string
28
-	 */
29
-	protected $screen_id = 'lsx_hp_help';
30
-
31
-	/**
32
-	 * Constructor
33
-	 */
34
-	public function __construct() {
35
-		add_action( 'admin_enqueue_scripts', array( $this, 'assets' ) );
36
-		add_action( 'admin_menu', array( $this, 'register_menu' ) );
37
-		add_action( 'lsx_hp_help', array( $this, 'header' ), 10 );
38
-		add_action( 'lsx_hp_help', array( $this, 'body' ), 20 );
39
-		add_action( 'lsx_hp_help', array( $this, 'footer' ), 30 );
40
-	}
41
-
42
-	/**
43
-	 * Return an instance of this class.
44
-	 *
45
-	 * @since 1.0.0
46
-	 *
47
-	 * @return    object \lsx_health_plan\classes\admin\Help_Page()    A single instance of this class.
48
-	 */
49
-	public static function get_instance() {
50
-		// If the single instance hasn't been set, set it now.
51
-		if ( null === self::$instance ) {
52
-			self::$instance = new self();
53
-		}
54
-		return self::$instance;
55
-	}
56
-
57
-
58
-
59
-	/**
60
-	 * Load hp_help screen css.
61
-	 *
62
-	 * @package    lsx
63
-	 * @subpackage hp-help-page
64
-	 *
65
-	 * @param string $hook_suffix the current page hook suffix.
66
-	 */
67
-	public function assets( $hook_suffix ) {
68
-		if ( 'plan_page_help' === $hook_suffix ) {
69
-			wp_enqueue_style( 'lsx-hp-help-screen', get_template_directory_uri() . '/assets/css/admin/help.css', array(), LSX_VERSION );
70
-			wp_style_add_data( 'lsx-hp-help-screen', 'rtl', 'replace' );
71
-		}
72
-	}
73
-
74
-	/**
75
-	 * Creates the dashboard page.
76
-	 *
77
-	 * @package    lsx
78
-	 * @subpackage hp-help-page
79
-	 */
80
-	public function register_menu() {
81
-		add_submenu_page( 'edit.php?post_type=plan', __( 'Help', 'lsx-health-plan' ), __( 'Help', 'lsx-health-plan' ), 'manage_options', 'help', array( $this, 'screen' ) );
82
-	}
83
-
84
-
85
-	/**
86
-	 * The help screen.
87
-	 *
88
-	 * @package    lsx
89
-	 * @subpackage hp-help-page
90
-	 */
91
-	public function screen() {
92
-		require_once ABSPATH . 'wp-load.php';
93
-		require_once ABSPATH . 'wp-admin/admin.php';
94
-		require_once ABSPATH . 'wp-admin/admin-header.php';
95
-		?>
15
+     /**
16
+      * Holds class instance
17
+      *
18
+      * @since 1.0.0
19
+      *
20
+      * @var      object \lsx_health_plan\classes\admin\Help_Page()
21
+      */
22
+     protected static $instance = null;
23
+
24
+     /**
25
+      * Option key, and option page slug
26
+      *
27
+      * @var string
28
+      */
29
+     protected $screen_id = 'lsx_hp_help';
30
+
31
+     /**
32
+      * Constructor
33
+      */
34
+     public function __construct() {
35
+          add_action( 'admin_enqueue_scripts', array( $this, 'assets' ) );
36
+          add_action( 'admin_menu', array( $this, 'register_menu' ) );
37
+          add_action( 'lsx_hp_help', array( $this, 'header' ), 10 );
38
+          add_action( 'lsx_hp_help', array( $this, 'body' ), 20 );
39
+          add_action( 'lsx_hp_help', array( $this, 'footer' ), 30 );
40
+     }
41
+
42
+     /**
43
+      * Return an instance of this class.
44
+      *
45
+      * @since 1.0.0
46
+      *
47
+      * @return    object \lsx_health_plan\classes\admin\Help_Page()    A single instance of this class.
48
+      */
49
+     public static function get_instance() {
50
+          // If the single instance hasn't been set, set it now.
51
+          if ( null === self::$instance ) {
52
+               self::$instance = new self();
53
+          }
54
+          return self::$instance;
55
+     }
56
+
57
+
58
+
59
+     /**
60
+      * Load hp_help screen css.
61
+      *
62
+      * @package    lsx
63
+      * @subpackage hp-help-page
64
+      *
65
+      * @param string $hook_suffix the current page hook suffix.
66
+      */
67
+     public function assets( $hook_suffix ) {
68
+          if ( 'plan_page_help' === $hook_suffix ) {
69
+               wp_enqueue_style( 'lsx-hp-help-screen', get_template_directory_uri() . '/assets/css/admin/help.css', array(), LSX_VERSION );
70
+               wp_style_add_data( 'lsx-hp-help-screen', 'rtl', 'replace' );
71
+          }
72
+     }
73
+
74
+     /**
75
+      * Creates the dashboard page.
76
+      *
77
+      * @package    lsx
78
+      * @subpackage hp-help-page
79
+      */
80
+     public function register_menu() {
81
+          add_submenu_page( 'edit.php?post_type=plan', __( 'Help', 'lsx-health-plan' ), __( 'Help', 'lsx-health-plan' ), 'manage_options', 'help', array( $this, 'screen' ) );
82
+     }
83
+
84
+
85
+     /**
86
+      * The help screen.
87
+      *
88
+      * @package    lsx
89
+      * @subpackage hp-help-page
90
+      */
91
+     public function screen() {
92
+          require_once ABSPATH . 'wp-load.php';
93
+          require_once ABSPATH . 'wp-admin/admin.php';
94
+          require_once ABSPATH . 'wp-admin/admin-header.php';
95
+          ?>
96 96
 		<div class="wrap about-wrap">
97 97
 			<?php
98
-			/**
99
-			 * Functions hooked into lsx_hp_help action
100
-			 *
101
-			 * @hooked lsx_hp_help_header  - 10
102
-			 * @hooked lsx_hp_help_body - 20
103
-			 * @hooked lsx_hp_help_footer  - 30
104
-			 */
105
-			do_action( 'lsx_hp_help' );
106
-			?>
98
+               /**
99
+                * Functions hooked into lsx_hp_help action
100
+                *
101
+                * @hooked lsx_hp_help_header  - 10
102
+                * @hooked lsx_hp_help_body - 20
103
+                * @hooked lsx_hp_help_footer  - 30
104
+                */
105
+               do_action( 'lsx_hp_help' );
106
+               ?>
107 107
 		</div>
108 108
 		<?php
109
-	}
110
-
111
-	/**
112
-	 * Help screen intro.
113
-	 *
114
-	 * @package    lsx
115
-	 * @subpackage hp-help-page
116
-	 */
117
-	public function header() {
118
-		?>
109
+     }
110
+
111
+     /**
112
+      * Help screen intro.
113
+      *
114
+      * @package    lsx
115
+      * @subpackage hp-help-page
116
+      */
117
+     public function header() {
118
+          ?>
119 119
 		<div class="box enrich">
120 120
 			<h2><?php esc_html_e( 'Built to enrich your WordPress experience.', 'lsx-health-plan' ); ?></h2>
121 121
 			<p><?php esc_html_e( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris iaculis feugiat consectetur. Integer mollis ex lacus, sed ultrices felis mollis vitae.', 'lsx-health-plan' ); ?></p>
122 122
 		</div>
123 123
 		<?php
124
-	}
125
-
126
-	/**
127
-	 * Help screen body section.
128
-	 *
129
-	 * @package    lsx
130
-	 * @subpackage hp-help-page
131
-	 */
132
-	public function body() {
133
-		?>
124
+     }
125
+
126
+     /**
127
+      * Help screen body section.
128
+      *
129
+      * @package    lsx
130
+      * @subpackage hp-help-page
131
+      */
132
+     public function body() {
133
+          ?>
134 134
 		<div>
135 135
 			<ul>
136 136
 				<li>Getting started: Setup a new Health Plan site from scratch.</li>
@@ -153,15 +153,15 @@  discard block
 block discarded – undo
153 153
 			</ul>
154 154
 		</div>
155 155
 		<?php
156
-	}
156
+     }
157 157
 
158
-	/**
159
-	 * Help screen contribute section.
160
-	 *
161
-	 * @package    lsx
162
-	 * @subpackage hp-help-page
163
-	 */
164
-	public function footer() {
158
+     /**
159
+      * Help screen contribute section.
160
+      *
161
+      * @package    lsx
162
+      * @subpackage hp-help-page
163
+      */
164
+     public function footer() {
165 165
 
166
-	}
166
+     }
167 167
 }
Please login to merge, or discard this patch.
classes/admin/settings/class-exercise.php 1 patch
Indentation   +44 added lines, -44 removed lines patch added patch discarded remove patch
@@ -12,52 +12,52 @@
 block discarded – undo
12 12
  */
13 13
 class Exercise {
14 14
 
15
-	/**
16
-	 * Holds class instance
17
-	 *
18
-	 * @since 1.0.0
19
-	 *
20
-	 * @var      object \lsx_health_plan\classes\admin\Exercise()
21
-	 */
22
-	protected static $instance = null;
15
+     /**
16
+      * Holds class instance
17
+      *
18
+      * @since 1.0.0
19
+      *
20
+      * @var      object \lsx_health_plan\classes\admin\Exercise()
21
+      */
22
+     protected static $instance = null;
23 23
 
24
-	/**
25
-	 * Constructor
26
-	 */
27
-	public function __construct() {
28
-		add_action( 'lsx_hp_settings_page_exercise_top', array( $this, 'settings' ), 1, 1 );
29
-	}
24
+     /**
25
+      * Constructor
26
+      */
27
+     public function __construct() {
28
+          add_action( 'lsx_hp_settings_page_exercise_top', array( $this, 'settings' ), 1, 1 );
29
+     }
30 30
 
31
-	/**
32
-	 * Return an instance of this class.
33
-	 *
34
-	 * @since 1.0.0
35
-	 *
36
-	 * @return    object \lsx_health_plan\classes\admin\Exercise()    A single instance of this class.
37
-	 */
38
-	public static function get_instance() {
39
-		// If the single instance hasn't been set, set it now.
40
-		if ( null === self::$instance ) {
41
-			self::$instance = new self();
42
-		}
43
-		return self::$instance;
44
-	}
31
+     /**
32
+      * Return an instance of this class.
33
+      *
34
+      * @since 1.0.0
35
+      *
36
+      * @return    object \lsx_health_plan\classes\admin\Exercise()    A single instance of this class.
37
+      */
38
+     public static function get_instance() {
39
+          // If the single instance hasn't been set, set it now.
40
+          if ( null === self::$instance ) {
41
+               self::$instance = new self();
42
+          }
43
+          return self::$instance;
44
+     }
45 45
 
46
-	/**
47
-	 * Registers the general settings.
48
-	 *
49
-	 * @param object $cmb new_cmb2_box().
50
-	 * @return void
51
-	 */
52
-	public function settings( $cmb ) {
53
-		$cmb->add_field(
54
-			array(
55
-				'id'          => 'exercise_archive_description',
56
-				'type'        => 'wysiwyg',
57
-				'name'        => __( 'Archive Description', 'lsx-health-plan' ),
58
-				'description' => __( 'This will show up on the post type archive.', 'lsx-health-plan' ),
59
-			)
60
-		);
61
-	}
46
+     /**
47
+      * Registers the general settings.
48
+      *
49
+      * @param object $cmb new_cmb2_box().
50
+      * @return void
51
+      */
52
+     public function settings( $cmb ) {
53
+          $cmb->add_field(
54
+               array(
55
+                    'id'          => 'exercise_archive_description',
56
+                    'type'        => 'wysiwyg',
57
+                    'name'        => __( 'Archive Description', 'lsx-health-plan' ),
58
+                    'description' => __( 'This will show up on the post type archive.', 'lsx-health-plan' ),
59
+               )
60
+          );
61
+     }
62 62
 }
63 63
 Exercise::get_instance();
Please login to merge, or discard this patch.
classes/admin/settings/class-workout.php 1 patch
Indentation   +107 added lines, -107 removed lines patch added patch discarded remove patch
@@ -12,115 +12,115 @@
 block discarded – undo
12 12
  */
13 13
 class Workout {
14 14
 
15
-	/**
16
-	 * Holds class instance
17
-	 *
18
-	 * @since 1.0.0
19
-	 *
20
-	 * @var      object \lsx_health_plan\classes\admin\Workout()
21
-	 */
22
-	protected static $instance = null;
15
+     /**
16
+      * Holds class instance
17
+      *
18
+      * @since 1.0.0
19
+      *
20
+      * @var      object \lsx_health_plan\classes\admin\Workout()
21
+      */
22
+     protected static $instance = null;
23 23
 
24
-	/**
25
-	 * Constructor
26
-	 */
27
-	public function __construct() {
28
-		add_action( 'lsx_hp_settings_page_workout_top', array( $this, 'settings' ), 1, 1 );
29
-	}
24
+     /**
25
+      * Constructor
26
+      */
27
+     public function __construct() {
28
+          add_action( 'lsx_hp_settings_page_workout_top', array( $this, 'settings' ), 1, 1 );
29
+     }
30 30
 
31
-	/**
32
-	 * Return an instance of this class.
33
-	 *
34
-	 * @since 1.0.0
35
-	 *
36
-	 * @return    object \lsx_health_plan\classes\admin\Workout()    A single instance of this class.
37
-	 */
38
-	public static function get_instance() {
39
-		// If the single instance hasn't been set, set it now.
40
-		if ( null === self::$instance ) {
41
-			self::$instance = new self();
42
-		}
43
-		return self::$instance;
44
-	}
31
+     /**
32
+      * Return an instance of this class.
33
+      *
34
+      * @since 1.0.0
35
+      *
36
+      * @return    object \lsx_health_plan\classes\admin\Workout()    A single instance of this class.
37
+      */
38
+     public static function get_instance() {
39
+          // If the single instance hasn't been set, set it now.
40
+          if ( null === self::$instance ) {
41
+               self::$instance = new self();
42
+          }
43
+          return self::$instance;
44
+     }
45 45
 
46
-	/**
47
-	 * Registers the general settings.
48
-	 *
49
-	 * @param object $cmb new_cmb2_box().
50
-	 * @return void
51
-	 */
52
-	public function settings( $cmb ) {
53
-		$cmb->add_field(
54
-			array(
55
-				'id'          => 'workout_tab_layout',
56
-				'type'        => 'select',
57
-				'name'        => __( 'Workout Tab Layout', 'lsx-health-plan' ),
58
-				'description' => __( 'Choose the layout for the workouts.', 'lsx-health-plan' ),
59
-				'options'     => array(
60
-					'table' => __( 'Table', 'lsx-health-plan' ),
61
-					'list'  => __( 'List', 'lsx-health-plan' ),
62
-					'grid'  => __( 'Grid', 'lsx-health-plan' ),
63
-				),
64
-			)
65
-		);
66
-		$cmb->add_field(
67
-			array(
68
-				'id'          => 'workout_tab_link',
69
-				'type'        => 'select',
70
-				'name'        => __( 'Workout Tab Link', 'lsx-health-plan' ),
71
-				'description' => __( 'Choose to show the excerpt, full content or nothing.', 'lsx-health-plan' ),
72
-				'options'     => array(
73
-					''       => __( 'None', 'lsx-health-plan' ),
74
-					'single' => __( 'Single', 'lsx-health-plan' ),
75
-					'modal'  => __( 'Modal', 'lsx-health-plan' ),
76
-				),
77
-				'default' => 'modal',
78
-			)
79
-		);
80
-		$cmb->add_field(
81
-			array(
82
-				'id'          => 'workout_tab_modal_content',
83
-				'type'        => 'select',
84
-				'name'        => __( 'Modal Content', 'lsx-health-plan' ),
85
-				'description' => __( 'Choose to show the excerpt, full content or nothing. For the modal content only', 'lsx-health-plan' ),
86
-				'options'     => array(
87
-					''        => __( 'None', 'lsx-health-plan' ),
88
-					'excerpt' => __( 'Excerpt', 'lsx-health-plan' ),
89
-					'full'    => __( 'Full Content', 'lsx-health-plan' ),
90
-				),
91
-				'default' => '',
92
-			)
93
-		);
94
-		$cmb->add_field(
95
-			array(
96
-				'id'          => 'workout_tab_columns',
97
-				'type'        => 'select',
98
-				'name'        => __( 'Grid Columns', 'lsx-health-plan' ),
99
-				'description' => __( 'If you are displaying a grid, set the amount of columns you want to use.', 'lsx-health-plan' ),
100
-				'options'     => array(
101
-					'12' => __( '1', 'lsx-health-plan' ),
102
-					'6'  => __( '2', 'lsx-health-plan' ),
103
-					'4'  => __( '3', 'lsx-health-plan' ),
104
-					'3'  => __( '4', 'lsx-health-plan' ),
105
-					'2'  => __( '6', 'lsx-health-plan' ),
106
-				),
107
-				'default' => '4',
108
-			)
109
-		);
110
-		$cmb->add_field(
111
-			array(
112
-				'id'          => 'workout_tab_content',
113
-				'type'        => 'select',
114
-				'name'        => __( 'Grid Content', 'lsx-health-plan' ),
115
-				'description' => __( 'Choose to show the excerpt, full content or nothing. For the grid layout only', 'lsx-health-plan' ),
116
-				'options'     => array(
117
-					''        => __( 'None', 'lsx-health-plan' ),
118
-					'excerpt' => __( 'Excerpt', 'lsx-health-plan' ),
119
-					'full'    => __( 'Full Content', 'lsx-health-plan' ),
120
-				),
121
-				'default' => '',
122
-			)
123
-		);
124
-	}
46
+     /**
47
+      * Registers the general settings.
48
+      *
49
+      * @param object $cmb new_cmb2_box().
50
+      * @return void
51
+      */
52
+     public function settings( $cmb ) {
53
+          $cmb->add_field(
54
+               array(
55
+                    'id'          => 'workout_tab_layout',
56
+                    'type'        => 'select',
57
+                    'name'        => __( 'Workout Tab Layout', 'lsx-health-plan' ),
58
+                    'description' => __( 'Choose the layout for the workouts.', 'lsx-health-plan' ),
59
+                    'options'     => array(
60
+                         'table' => __( 'Table', 'lsx-health-plan' ),
61
+                         'list'  => __( 'List', 'lsx-health-plan' ),
62
+                         'grid'  => __( 'Grid', 'lsx-health-plan' ),
63
+                    ),
64
+               )
65
+          );
66
+          $cmb->add_field(
67
+               array(
68
+                    'id'          => 'workout_tab_link',
69
+                    'type'        => 'select',
70
+                    'name'        => __( 'Workout Tab Link', 'lsx-health-plan' ),
71
+                    'description' => __( 'Choose to show the excerpt, full content or nothing.', 'lsx-health-plan' ),
72
+                    'options'     => array(
73
+                         ''       => __( 'None', 'lsx-health-plan' ),
74
+                         'single' => __( 'Single', 'lsx-health-plan' ),
75
+                         'modal'  => __( 'Modal', 'lsx-health-plan' ),
76
+                    ),
77
+                    'default' => 'modal',
78
+               )
79
+          );
80
+          $cmb->add_field(
81
+               array(
82
+                    'id'          => 'workout_tab_modal_content',
83
+                    'type'        => 'select',
84
+                    'name'        => __( 'Modal Content', 'lsx-health-plan' ),
85
+                    'description' => __( 'Choose to show the excerpt, full content or nothing. For the modal content only', 'lsx-health-plan' ),
86
+                    'options'     => array(
87
+                         ''        => __( 'None', 'lsx-health-plan' ),
88
+                         'excerpt' => __( 'Excerpt', 'lsx-health-plan' ),
89
+                         'full'    => __( 'Full Content', 'lsx-health-plan' ),
90
+                    ),
91
+                    'default' => '',
92
+               )
93
+          );
94
+          $cmb->add_field(
95
+               array(
96
+                    'id'          => 'workout_tab_columns',
97
+                    'type'        => 'select',
98
+                    'name'        => __( 'Grid Columns', 'lsx-health-plan' ),
99
+                    'description' => __( 'If you are displaying a grid, set the amount of columns you want to use.', 'lsx-health-plan' ),
100
+                    'options'     => array(
101
+                         '12' => __( '1', 'lsx-health-plan' ),
102
+                         '6'  => __( '2', 'lsx-health-plan' ),
103
+                         '4'  => __( '3', 'lsx-health-plan' ),
104
+                         '3'  => __( '4', 'lsx-health-plan' ),
105
+                         '2'  => __( '6', 'lsx-health-plan' ),
106
+                    ),
107
+                    'default' => '4',
108
+               )
109
+          );
110
+          $cmb->add_field(
111
+               array(
112
+                    'id'          => 'workout_tab_content',
113
+                    'type'        => 'select',
114
+                    'name'        => __( 'Grid Content', 'lsx-health-plan' ),
115
+                    'description' => __( 'Choose to show the excerpt, full content or nothing. For the grid layout only', 'lsx-health-plan' ),
116
+                    'options'     => array(
117
+                         ''        => __( 'None', 'lsx-health-plan' ),
118
+                         'excerpt' => __( 'Excerpt', 'lsx-health-plan' ),
119
+                         'full'    => __( 'Full Content', 'lsx-health-plan' ),
120
+                    ),
121
+                    'default' => '',
122
+               )
123
+          );
124
+     }
125 125
 }
126 126
 Workout::get_instance();
Please login to merge, or discard this patch.
classes/admin/settings/class-recipe.php 1 patch
Indentation   +44 added lines, -44 removed lines patch added patch discarded remove patch
@@ -12,52 +12,52 @@
 block discarded – undo
12 12
  */
13 13
 class Recipe {
14 14
 
15
-	/**
16
-	 * Holds class instance
17
-	 *
18
-	 * @since 1.0.0
19
-	 *
20
-	 * @var      object \lsx_health_plan\classes\admin\Recipe()
21
-	 */
22
-	protected static $instance = null;
15
+     /**
16
+      * Holds class instance
17
+      *
18
+      * @since 1.0.0
19
+      *
20
+      * @var      object \lsx_health_plan\classes\admin\Recipe()
21
+      */
22
+     protected static $instance = null;
23 23
 
24
-	/**
25
-	 * Constructor
26
-	 */
27
-	public function __construct() {
28
-		add_action( 'lsx_hp_settings_page_recipe_top', array( $this, 'settings' ), 1, 1 );
29
-	}
24
+     /**
25
+      * Constructor
26
+      */
27
+     public function __construct() {
28
+          add_action( 'lsx_hp_settings_page_recipe_top', array( $this, 'settings' ), 1, 1 );
29
+     }
30 30
 
31
-	/**
32
-	 * Return an instance of this class.
33
-	 *
34
-	 * @since 1.0.0
35
-	 *
36
-	 * @return    object \lsx_health_plan\classes\admin\Recipe()    A single instance of this class.
37
-	 */
38
-	public static function get_instance() {
39
-		// If the single instance hasn't been set, set it now.
40
-		if ( null === self::$instance ) {
41
-			self::$instance = new self();
42
-		}
43
-		return self::$instance;
44
-	}
31
+     /**
32
+      * Return an instance of this class.
33
+      *
34
+      * @since 1.0.0
35
+      *
36
+      * @return    object \lsx_health_plan\classes\admin\Recipe()    A single instance of this class.
37
+      */
38
+     public static function get_instance() {
39
+          // If the single instance hasn't been set, set it now.
40
+          if ( null === self::$instance ) {
41
+               self::$instance = new self();
42
+          }
43
+          return self::$instance;
44
+     }
45 45
 
46
-	/**
47
-	 * Registers the general settings.
48
-	 *
49
-	 * @param object $cmb new_cmb2_box().
50
-	 * @return void
51
-	 */
52
-	public function settings( $cmb ) {
53
-		$cmb->add_field(
54
-			array(
55
-				'id'          => 'recipe_archive_description',
56
-				'type'        => 'wysiwyg',
57
-				'name'        => __( 'Archive Description', 'lsx-health-plan' ),
58
-				'description' => __( 'This will show up on the post type archive.', 'lsx-health-plan' ),
59
-			)
60
-		);
61
-	}
46
+     /**
47
+      * Registers the general settings.
48
+      *
49
+      * @param object $cmb new_cmb2_box().
50
+      * @return void
51
+      */
52
+     public function settings( $cmb ) {
53
+          $cmb->add_field(
54
+               array(
55
+                    'id'          => 'recipe_archive_description',
56
+                    'type'        => 'wysiwyg',
57
+                    'name'        => __( 'Archive Description', 'lsx-health-plan' ),
58
+                    'description' => __( 'This will show up on the post type archive.', 'lsx-health-plan' ),
59
+               )
60
+          );
61
+     }
62 62
 }
63 63
 Recipe::get_instance();
Please login to merge, or discard this patch.
classes/admin/settings/class-plan.php 1 patch
Indentation   +46 added lines, -46 removed lines patch added patch discarded remove patch
@@ -12,54 +12,54 @@
 block discarded – undo
12 12
  */
13 13
 class Plan {
14 14
 
15
-	/**
16
-	 * Holds class instance
17
-	 *
18
-	 * @since 1.0.0
19
-	 *
20
-	 * @var      object \lsx_health_plan\classes\admin\Plan()
21
-	 */
22
-	protected static $instance = null;
15
+     /**
16
+      * Holds class instance
17
+      *
18
+      * @since 1.0.0
19
+      *
20
+      * @var      object \lsx_health_plan\classes\admin\Plan()
21
+      */
22
+     protected static $instance = null;
23 23
 
24
-	/**
25
-	 * Constructor
26
-	 */
27
-	public function __construct() {
28
-		add_action( 'lsx_hp_settings_page_plan_top', array( $this, 'settings' ), 1, 1 );
29
-	}
24
+     /**
25
+      * Constructor
26
+      */
27
+     public function __construct() {
28
+          add_action( 'lsx_hp_settings_page_plan_top', array( $this, 'settings' ), 1, 1 );
29
+     }
30 30
 
31
-	/**
32
-	 * Return an instance of this class.
33
-	 *
34
-	 * @since 1.0.0
35
-	 *
36
-	 * @return    object \lsx_health_plan\classes\admin\Plan()    A single instance of this class.
37
-	 */
38
-	public static function get_instance() {
39
-		// If the single instance hasn't been set, set it now.
40
-		if ( null === self::$instance ) {
41
-			self::$instance = new self();
42
-		}
43
-		return self::$instance;
44
-	}
31
+     /**
32
+      * Return an instance of this class.
33
+      *
34
+      * @since 1.0.0
35
+      *
36
+      * @return    object \lsx_health_plan\classes\admin\Plan()    A single instance of this class.
37
+      */
38
+     public static function get_instance() {
39
+          // If the single instance hasn't been set, set it now.
40
+          if ( null === self::$instance ) {
41
+               self::$instance = new self();
42
+          }
43
+          return self::$instance;
44
+     }
45 45
 
46
-	/**
47
-	 * Registers the general settings.
48
-	 *
49
-	 * @param object $cmb new_cmb2_box().
50
-	 * @return void
51
-	 */
52
-	public function settings( $cmb ) {
53
-		$cmb->add_field(
54
-			array(
55
-				'name'        => __( 'Plan Filters', 'lsx-health-plan' ),
56
-				'id'          => 'plan_filters_disabled',
57
-				'type'        => 'checkbox',
58
-				'value'       => 1,
59
-				'default'     => 0,
60
-				'description' => __( 'Toggle the display of the tab filters on the post type archive.', 'lsx-health-plan' ),
61
-			)
62
-		);
63
-	}
46
+     /**
47
+      * Registers the general settings.
48
+      *
49
+      * @param object $cmb new_cmb2_box().
50
+      * @return void
51
+      */
52
+     public function settings( $cmb ) {
53
+          $cmb->add_field(
54
+               array(
55
+                    'name'        => __( 'Plan Filters', 'lsx-health-plan' ),
56
+                    'id'          => 'plan_filters_disabled',
57
+                    'type'        => 'checkbox',
58
+                    'value'       => 1,
59
+                    'default'     => 0,
60
+                    'description' => __( 'Toggle the display of the tab filters on the post type archive.', 'lsx-health-plan' ),
61
+               )
62
+          );
63
+     }
64 64
 }
65 65
 Plan::get_instance();
Please login to merge, or discard this patch.
classes/class-admin.php 1 patch
Indentation   +438 added lines, -438 removed lines patch added patch discarded remove patch
@@ -8,442 +8,442 @@  discard block
 block discarded – undo
8 8
  */
9 9
 class Admin {
10 10
 
11
-	/**
12
-	 * Holds class instance
13
-	 *
14
-	 * @since 1.0.0
15
-	 *
16
-	 * @var      object \lsx_health_plan\classes\Admin()
17
-	 */
18
-	protected static $instance = null;
19
-
20
-	/**
21
-	 * The post relation fields
22
-	 *
23
-	 * @var array
24
-	 */
25
-	public $connections = array();
26
-
27
-	/**
28
-	 * Stores the previous values needed to remove the post relations
29
-	 *
30
-	 * @var array
31
-	 */
32
-	public $previous_values = array();
33
-
34
-	/**
35
-	 * @var object \lsx_health_plan\classes\admin\Settings();
36
-	 */
37
-	public $settings;
38
-
39
-	/**
40
-	 * @var object \lsx_health_plan\classes\admin\Help_Page();
41
-	 */
42
-	public $help;
43
-
44
-	/**
45
-	 * Holds the settings page theme functions
46
-	 *
47
-	 * @var object \lsx_health_plan\classes\admin\Settings_Theme();
48
-	 */
49
-	public $settings_theme;
50
-
51
-	/**
52
-	 * Constructor
53
-	 */
54
-	public function __construct() {
55
-		$this->load_classes();
56
-		add_action( 'admin_menu', array( $this, 'order_menus' ), 200 );
57
-		add_action( 'admin_enqueue_scripts', array( $this, 'assets' ) );
58
-		add_filter( 'cmb2_override_meta_save', array( $this, 'save_previous_values' ), 20, 4 );
59
-		add_filter( 'cmb2_override_meta_remove', array( $this, 'save_previous_values' ), 20, 4 );
60
-		add_action( 'cmb2_save_field', array( $this, 'post_relations' ), 20, 4 );
61
-		add_action( 'cmb2_save_field', array( $this, 'create_query_fields' ), 20, 4 );
62
-		add_action( 'before_delete_post', array( $this, 'delete_post_meta_connections' ), 20, 1 );
63
-		add_action( 'cmb2_save_post_fields', array( $this, 'extract_plan_fields' ), 10, 4 );
64
-
65
-		//add_action( 'cmb2_save_post_fields', array( $this, 'debugger_for_cmb2' ), 10, 4 );
66
-
67
-		// Customizer.
68
-		add_filter( 'lsx_customizer_colour_selectors_body', array( $this, 'customizer_body_colours_handler' ), 15, 2 );
69
-	}
70
-
71
-	/**
72
-	 * Return an instance of this class.
73
-	 *
74
-	 * @return object \lsx\member_directory\classes\Admin()    A single instance of this class.
75
-	 */
76
-	public static function get_instance() {
77
-		// If the single instance hasn't been set, set it now.
78
-		if ( null === self::$instance ) {
79
-			self::$instance = new self();
80
-		}
81
-		return self::$instance;
82
-	}
83
-
84
-	/**
85
-	 * Loads the admin subclasses
86
-	 */
87
-	private function load_classes() {
88
-		require_once LSX_HEALTH_PLAN_PATH . 'classes/admin/class-settings.php';
89
-		$this->settings = admin\Settings::get_instance();
90
-
91
-		require_once LSX_HEALTH_PLAN_PATH . 'classes/admin/class-help-page.php';
92
-		$this->help = admin\Help_Page::get_instance();
93
-
94
-		require_once LSX_HEALTH_PLAN_PATH . 'classes/admin/class-settings-theme.php';
95
-		$this->settings_theme = admin\Settings_Theme::get_instance();
96
-	}
97
-
98
-	/**
99
-	 * Orders the HP menu Items
100
-	 *
101
-	 * @return void
102
-	 */
103
-	public function order_menus() {
104
-		global $menu, $submenu;
105
-		if ( ! empty( $submenu ) ) {
106
-			$parent_check = array(
107
-				'edit.php?post_type=plan',
108
-				'edit.php?post_type=workout',
109
-				'edit.php?post_type=meal',
110
-			);
111
-			foreach ( $submenu as $menu_id => $menu_values ) {
112
-				if ( in_array( $menu_id, $parent_check ) ) {
113
-					foreach ( $menu_values as $sub_menu_key => $sub_menu_values ) {
114
-						switch ( $sub_menu_values[0] ) {
115
-
116
-							case __( 'Add New', 'lsx-health-plan' ):
117
-								unset( $submenu[ $menu_id ][ $sub_menu_key ] );
118
-								break;
119
-
120
-							case __( 'All', 'lsx-health-plan' ):
121
-								$title = $sub_menu_values[0];
122
-								// Check and change the label.
123
-								switch ( $sub_menu_values[2] ) {
124
-									case 'edit.php?post_type=meal':
125
-										$title = esc_attr__( 'Meals', 'lsx-health-plan' );
126
-										break;
127
-
128
-									case 'edit.php?post_type=recipe':
129
-										$title = esc_attr__( 'Recipes', 'lsx-health-plan' );
130
-										break;
131
-
132
-									case 'edit.php?post_type=workout':
133
-										$title = esc_attr__( 'Workouts', 'lsx-health-plan' );
134
-										break;
135
-
136
-									case 'edit.php?post_type=plan':
137
-										$title = esc_attr__( 'Plans', 'lsx-health-plan' );
138
-										break;
139
-
140
-									case 'edit.php?post_type=video':
141
-										$title = esc_attr__( 'Videos', 'lsx-health-plan' );
142
-										break;
143
-
144
-									case 'edit.php?post_type=exercise':
145
-										$title = esc_attr__( 'Exercises', 'lsx-health-plan' );
146
-										break;
147
-
148
-									case 'edit.php?post_type=tip':
149
-										$title = esc_attr__( 'Tips', 'lsx-health-plan' );
150
-										break;
151
-
152
-									default:
153
-										break;
154
-								}
155
-								$submenu[ $menu_id ][ $sub_menu_key ][0] = $title; // @codingStandardsIgnoreLine
156
-								break;
157
-
158
-							default:
159
-								break;
160
-						}
161
-					}
162
-				}
163
-			}
164
-		}
165
-	}
166
-
167
-	/**
168
-	 * Undocumented function
169
-	 *
170
-	 * @return void
171
-	 */
172
-	public function assets() {
173
-		wp_enqueue_script( 'media-upload' );
174
-		wp_enqueue_script( 'thickbox' );
175
-		wp_enqueue_style( 'thickbox' );
176
-
177
-		wp_enqueue_script( 'lsx-health-plan-admin', LSX_HEALTH_PLAN_URL . 'assets/js/lsx-health-plan-admin.min.js', array( 'jquery' ), LSX_HEALTH_PLAN_VER, true );
178
-		wp_enqueue_style( 'lsx-health-plan-admin', LSX_HEALTH_PLAN_URL . 'assets/css/lsx-health-plan-admin.css', array(), LSX_HEALTH_PLAN_VER );
179
-	}
180
-
181
-	/**
182
-	 * Returns the registered connections.
183
-	 *
184
-	 * @return void
185
-	 */
186
-	public function get_connections() {
187
-		return apply_filters( 'lsx_health_plan_connections', $this->connections );
188
-	}
189
-
190
-	/**
191
-	 * Saves the previous values before they are overwritten by the new ones.
192
-	 *
193
-	 * @param [type] $value_to_save
194
-	 * @param [type] $a
195
-	 * @param [type] $args
196
-	 * @param [type] $cmb2
197
-	 * @return void
198
-	 */
199
-	public function save_previous_values( $value_to_save, $a, $args, $cmb2 ) {
200
-		if ( isset( $cmb2->data_to_save['ID'] ) ) {
201
-			$connections = $this->get_connections();
202
-			$post_type   = get_post_type( $cmb2->data_to_save['ID'] );
203
-			if ( isset( $connections[ $post_type ] ) && array_key_exists( $a['field_id'], $connections[ $post_type ] ) ) {
204
-				// Get the previous values if the field, so we can run through them and remove the current ID from them later.
205
-				$this->previous_values = get_post_meta( $a['id'], $a['field_id'], true );
206
-			}
207
-		}
208
-		return $value_to_save;
209
-	}
210
-
211
-	/**
212
-	 * Sets up the "post relations"
213
-	 *
214
-	 * @return    void
215
-	 */
216
-	public function post_relations( $field_id, $updated, $action, $cmb2 ) {
217
-		// If the connections are empty then skip this function.
218
-		$connections = $this->get_connections();
219
-		if ( empty( $connections ) ) {
220
-			return;
221
-		}
222
-
223
-		// If the field has been updated.
224
-		if ( isset( $cmb2->data_to_save['ID'] ) ) {
225
-			$post_type = get_post_type( $cmb2->data_to_save['ID'] );
226
-			if ( isset( $connections[ $post_type ] ) && array_key_exists( $field_id, $connections[ $post_type ] ) ) {
227
-				$saved_values = get_post_meta( $cmb2->data_to_save['ID'], $field_id, true );
228
-
229
-				if ( 'updated' === $action ) {
230
-					$this->add_connected_posts( $saved_values, $cmb2->data_to_save['ID'], $connections[ $post_type ][ $field_id ] );
231
-					// Check if any posts have been removed.
232
-					if ( count( $this->previous_values ) > count( $saved_values ) ) {
233
-						$posts_to_remove = array_diff( $this->previous_values, $saved_values );
234
-						if ( ! empty( $posts_to_remove ) ) {
235
-							$this->remove_connected_posts( $posts_to_remove, $cmb2->data_to_save['ID'], $connections[ $post_type ][ $field_id ] );
236
-						}
237
-					}
238
-				} else if ( 'removed' === $action && ! empty( $this->previous_values ) ) {
239
-					$this->remove_connected_posts( $this->previous_values, $cmb2->data_to_save['ID'], $connections[ $post_type ][ $field_id ] );
240
-				}
241
-			}
242
-		}
243
-	}
244
-
245
-	/**
246
-	 * Updates the connected posts witht he current post ID
247
-	 *
248
-	 * @param [type] $values
249
-	 * @param [type] $current_id
250
-	 * @param [type] $connected_key
251
-	 * @return void
252
-	 */
253
-	public function add_connected_posts( $values, $current_id, $connected_key ) {
254
-		foreach ( $values as $value ) {
255
-			$current_post_array = get_post_meta( $value, $connected_key, true );
256
-			$previous_values    = $current_post_array;
257
-
258
-			if ( ! empty( $current_post_array ) ) {
259
-				$current_post_array = array_map( 'strval', $current_post_array );
260
-				array_unique( $current_post_array );
261
-			}
262
-
263
-			// If the current connected post has no saved connections then we create it.
264
-			if ( false === $current_post_array || empty( $current_post_array ) ) {
265
-				$current_post_array = array( $current_id );
266
-			} elseif ( ! in_array( (string) $current_id, $current_post_array, true ) ) {
267
-				$current_post_array[] = $current_id;
268
-			}
269
-
270
-			// Check if the values are empty, if not update them.
271
-			if ( ! empty( $current_post_array ) ) {
272
-				update_post_meta( $value, $connected_key, $current_post_array, $previous_values );
273
-			}
274
-		}
275
-	}
276
-
277
-	/**
278
-	 * Removes the post ID from the connected posts.
279
-	 *
280
-	 * @param [type] $values
281
-	 * @param [type] $current_ID
282
-	 * @param [type] $connected_key
283
-	 * @return void
284
-	 */
285
-	public function remove_connected_posts( $values, $current_ID, $connected_key ) {
286
-		foreach ( $values as $value ) {
287
-			$current_post_array = get_post_meta( $value, $connected_key, true );
288
-			$new_array          = array();
289
-			// Loop through only if the current ID has been saved against the post.
290
-			if ( in_array( $current_ID, $current_post_array, false ) ) {
291
-
292
-				// Loop through all the connected saved IDS.
293
-				foreach ( $current_post_array as $cpa ) {
294
-					if ( (int) $cpa !== (int) $current_ID ) {
295
-						$new_array[] = $cpa;
296
-					}
297
-				}
298
-				if ( ! empty( $new_array ) ) {
299
-					$new_array = array_unique( $new_array );
300
-					delete_post_meta( $value, $connected_key );
301
-					add_post_meta( $value, $connected_key, $new_array, true );
302
-				} else {
303
-					delete_post_meta( $value, $connected_key );
304
-				}
305
-			}
306
-		}
307
-	}
308
-
309
-	/**
310
-	 * Runs on 'before_delete_post' to run through and remove this post ID from its connected values.
311
-	 *
312
-	 * @param string $item_id
313
-	 * @return void
314
-	 */
315
-	public function delete_post_meta_connections( $item_id = '' ) {
316
-		if ( '' !== $item_id ) {
317
-			$post_type   = get_post_type( $item_id );
318
-			$connections = $this->get_connections();
319
-			if ( isset( $connections[ $post_type ] ) && ! empty( $connections[ $post_type ] ) && is_array( $connections[ $post_type ] ) ) {
320
-				foreach ( $connections[ $post_type ] as $this_key => $connected_key ) {
321
-					$this->delete_connected_items( $item_id, $this_key, $connected_key );
322
-				}
323
-			}
324
-		}
325
-	}
326
-
327
-	/**
328
-	 * This function will remvoe the post id fomr its connected posts.
329
-	 *
330
-	 * @param string $item_id
331
-	 * @param string $this_key
332
-	 * @param string $connected_key
333
-	 * @return void
334
-	 */
335
-	public function delete_connected_items( $item_id = '', $this_key, $connected_key ) {
336
-		if ( '' !== $item_id ) {
337
-			$connected_items = get_post_meta( $item_id, $this_key, true );
338
-			if ( ! empty( $connected_items ) ) {
339
-				foreach ( $connected_items as $con_id ) {
340
-					// Get the connected item array from the connected item.
341
-					$their_connections = get_post_meta( $con_id, $connected_key, true );
342
-					if ( ! empty( $their_connections ) ) {
343
-						$new_connections = $their_connections;
344
-						// Run through the array and remove the post to be deleteds ID.
345
-						foreach ( $their_connections as $ckey => $cvalue ) {
346
-							if ( (int) $item_id === (int) $cvalue ) {
347
-								unset( $new_connections[ $ckey ] );
348
-							}
349
-						}
350
-						// Now we save the field.
351
-						update_post_meta( $con_id, $connected_key, $new_connections, $their_connections );
352
-					}
353
-				}
354
-			}
355
-		}
356
-	}
357
-
358
-	/**
359
-	 * Saves the serialized post ids in singular custom fields so they are easily queried using WP_Query
360
-	 *
361
-	 * @return    void
362
-	 */
363
-	public function create_query_fields( $field_id, $updated, $action, $cmb2 ) {
364
-		// If the connections are empty then skip this function.
365
-		$search_fields = array(
366
-			'plan_product',
367
-		);
368
-		if ( ! in_array( $field_id, $search_fields ) ) {
369
-			return;
370
-		}
371
-
372
-		// If the field has been updated.
373
-		if ( isset( $cmb2->data_to_save['ID'] ) && isset( $cmb2->data_to_save[ $field_id . '_results' ] ) && ! empty( $cmb2->data_to_save[ $field_id . '_results' ] ) ) {
374
-			delete_post_meta( $cmb2->data_to_save['ID'], '_' . $field_id . '_id' );
375
-			foreach ( $cmb2->data_to_save[ $field_id . '_results' ] as $temp ) {
376
-				add_post_meta( $cmb2->data_to_save['ID'], '_' . $field_id . '_id', $temp, false );
377
-			}
378
-		}
379
-	}
380
-
381
-	/**
382
-	 * Extract the plan fields so they save to an indexable array.
383
-	 *
384
-	 * @param [type] $object_id
385
-	 * @param [type] $cmb_id
386
-	 * @param [type] $updated
387
-	 * @param [type] $cmb2
388
-	 * @return void
389
-	 */
390
-	public function extract_plan_fields( $object_id, $cmb_id, $updated, $cmb2 ) {
391
-		if ( 'plan_sections_metabox' === $cmb_id ) {
392
-			// Check if our fields are available, and cycle through them.
393
-			if ( isset( $cmb2->data_to_save['plan_sections'] ) && ! empty( $cmb2->data_to_save['plan_sections'] ) ) {
394
-				$fields_to_save = array();
395
-				// Run through each row of fields.
396
-				foreach ( $cmb2->data_to_save['plan_sections'] as $field_index => $fields ) {
397
-					// Run through each field in that section.
398
-					foreach ( $fields as $field_key => $field_value ) {
399
-						$stored_values_key = 'plan_sections_' . $field_index . '_' . $field_key . '_store';
400
-						if ( isset( $cmb2->data_to_save[ $stored_values_key ] ) && ! empty( $cmb2->data_to_save[ $stored_values_key ] ) ) {
401
-							$stored_values = $cmb2->data_to_save[ $stored_values_key ];
402
-							$stored_values = explode( ',', $stored_values );
403
-							foreach ( $stored_values as $id_to_save ) {
404
-								$fields_to_save[ $field_key ][] = $id_to_save;
405
-							}
406
-						}
407
-					}
408
-				}
409
-				$this->save_field_array( $object_id, $fields_to_save );
410
-			}
411
-		}
412
-	}
413
-
414
-	/**
415
-	 * Runs through the supplied array and saved the fields to the current Object.
416
-	 *
417
-	 * @param integer $object_id
418
-	 * @param array   $fields_to_save
419
-	 * @return void
420
-	 */
421
-	public function save_field_array( $object_id = 0, $fields_to_save = array() ) {
422
-
423
-		// Run through the fields and save the meta items.
424
-		if ( ! empty( $fields_to_save ) ) {
425
-			foreach ( $fields_to_save as $field_key => $field_values ) {
426
-				delete_post_meta( $object_id, $field_key );
427
-
428
-				$field_values = array_unique( $field_values );
429
-				foreach ( $field_values as $field_value ) {
430
-					add_post_meta( $object_id, $field_key, $field_value, false );
431
-				}
432
-			}
433
-		}
434
-	}
435
-
436
-	public function debugger_for_cmb2( $object_id, $cmb_id, $updated, $cmb2 ) {
437
-		if ( 'workout_section_6_metabox' === $cmb_id ) {
438
-			die();
439
-		}
440
-	}
441
-
442
-	/**
443
-	 * Handle body colours that might be change by LSX Customizer.
444
-	 */
445
-	public function customizer_body_colours_handler( $css, $colors ) {
446
-		$css .= '
11
+     /**
12
+      * Holds class instance
13
+      *
14
+      * @since 1.0.0
15
+      *
16
+      * @var      object \lsx_health_plan\classes\Admin()
17
+      */
18
+     protected static $instance = null;
19
+
20
+     /**
21
+      * The post relation fields
22
+      *
23
+      * @var array
24
+      */
25
+     public $connections = array();
26
+
27
+     /**
28
+      * Stores the previous values needed to remove the post relations
29
+      *
30
+      * @var array
31
+      */
32
+     public $previous_values = array();
33
+
34
+     /**
35
+      * @var object \lsx_health_plan\classes\admin\Settings();
36
+      */
37
+     public $settings;
38
+
39
+     /**
40
+      * @var object \lsx_health_plan\classes\admin\Help_Page();
41
+      */
42
+     public $help;
43
+
44
+     /**
45
+      * Holds the settings page theme functions
46
+      *
47
+      * @var object \lsx_health_plan\classes\admin\Settings_Theme();
48
+      */
49
+     public $settings_theme;
50
+
51
+     /**
52
+      * Constructor
53
+      */
54
+     public function __construct() {
55
+          $this->load_classes();
56
+          add_action( 'admin_menu', array( $this, 'order_menus' ), 200 );
57
+          add_action( 'admin_enqueue_scripts', array( $this, 'assets' ) );
58
+          add_filter( 'cmb2_override_meta_save', array( $this, 'save_previous_values' ), 20, 4 );
59
+          add_filter( 'cmb2_override_meta_remove', array( $this, 'save_previous_values' ), 20, 4 );
60
+          add_action( 'cmb2_save_field', array( $this, 'post_relations' ), 20, 4 );
61
+          add_action( 'cmb2_save_field', array( $this, 'create_query_fields' ), 20, 4 );
62
+          add_action( 'before_delete_post', array( $this, 'delete_post_meta_connections' ), 20, 1 );
63
+          add_action( 'cmb2_save_post_fields', array( $this, 'extract_plan_fields' ), 10, 4 );
64
+
65
+          //add_action( 'cmb2_save_post_fields', array( $this, 'debugger_for_cmb2' ), 10, 4 );
66
+
67
+          // Customizer.
68
+          add_filter( 'lsx_customizer_colour_selectors_body', array( $this, 'customizer_body_colours_handler' ), 15, 2 );
69
+     }
70
+
71
+     /**
72
+      * Return an instance of this class.
73
+      *
74
+      * @return object \lsx\member_directory\classes\Admin()    A single instance of this class.
75
+      */
76
+     public static function get_instance() {
77
+          // If the single instance hasn't been set, set it now.
78
+          if ( null === self::$instance ) {
79
+               self::$instance = new self();
80
+          }
81
+          return self::$instance;
82
+     }
83
+
84
+     /**
85
+      * Loads the admin subclasses
86
+      */
87
+     private function load_classes() {
88
+          require_once LSX_HEALTH_PLAN_PATH . 'classes/admin/class-settings.php';
89
+          $this->settings = admin\Settings::get_instance();
90
+
91
+          require_once LSX_HEALTH_PLAN_PATH . 'classes/admin/class-help-page.php';
92
+          $this->help = admin\Help_Page::get_instance();
93
+
94
+          require_once LSX_HEALTH_PLAN_PATH . 'classes/admin/class-settings-theme.php';
95
+          $this->settings_theme = admin\Settings_Theme::get_instance();
96
+     }
97
+
98
+     /**
99
+      * Orders the HP menu Items
100
+      *
101
+      * @return void
102
+      */
103
+     public function order_menus() {
104
+          global $menu, $submenu;
105
+          if ( ! empty( $submenu ) ) {
106
+               $parent_check = array(
107
+                    'edit.php?post_type=plan',
108
+                    'edit.php?post_type=workout',
109
+                    'edit.php?post_type=meal',
110
+               );
111
+               foreach ( $submenu as $menu_id => $menu_values ) {
112
+                    if ( in_array( $menu_id, $parent_check ) ) {
113
+                         foreach ( $menu_values as $sub_menu_key => $sub_menu_values ) {
114
+                              switch ( $sub_menu_values[0] ) {
115
+
116
+                                   case __( 'Add New', 'lsx-health-plan' ):
117
+                                        unset( $submenu[ $menu_id ][ $sub_menu_key ] );
118
+                                        break;
119
+
120
+                                   case __( 'All', 'lsx-health-plan' ):
121
+                                        $title = $sub_menu_values[0];
122
+                                        // Check and change the label.
123
+                                        switch ( $sub_menu_values[2] ) {
124
+                                             case 'edit.php?post_type=meal':
125
+                                                  $title = esc_attr__( 'Meals', 'lsx-health-plan' );
126
+                                                  break;
127
+
128
+                                             case 'edit.php?post_type=recipe':
129
+                                                  $title = esc_attr__( 'Recipes', 'lsx-health-plan' );
130
+                                                  break;
131
+
132
+                                             case 'edit.php?post_type=workout':
133
+                                                  $title = esc_attr__( 'Workouts', 'lsx-health-plan' );
134
+                                                  break;
135
+
136
+                                             case 'edit.php?post_type=plan':
137
+                                                  $title = esc_attr__( 'Plans', 'lsx-health-plan' );
138
+                                                  break;
139
+
140
+                                             case 'edit.php?post_type=video':
141
+                                                  $title = esc_attr__( 'Videos', 'lsx-health-plan' );
142
+                                                  break;
143
+
144
+                                             case 'edit.php?post_type=exercise':
145
+                                                  $title = esc_attr__( 'Exercises', 'lsx-health-plan' );
146
+                                                  break;
147
+
148
+                                             case 'edit.php?post_type=tip':
149
+                                                  $title = esc_attr__( 'Tips', 'lsx-health-plan' );
150
+                                                  break;
151
+
152
+                                             default:
153
+                                                  break;
154
+                                        }
155
+                                        $submenu[ $menu_id ][ $sub_menu_key ][0] = $title; // @codingStandardsIgnoreLine
156
+                                        break;
157
+
158
+                                   default:
159
+                                        break;
160
+                              }
161
+                         }
162
+                    }
163
+               }
164
+          }
165
+     }
166
+
167
+     /**
168
+      * Undocumented function
169
+      *
170
+      * @return void
171
+      */
172
+     public function assets() {
173
+          wp_enqueue_script( 'media-upload' );
174
+          wp_enqueue_script( 'thickbox' );
175
+          wp_enqueue_style( 'thickbox' );
176
+
177
+          wp_enqueue_script( 'lsx-health-plan-admin', LSX_HEALTH_PLAN_URL . 'assets/js/lsx-health-plan-admin.min.js', array( 'jquery' ), LSX_HEALTH_PLAN_VER, true );
178
+          wp_enqueue_style( 'lsx-health-plan-admin', LSX_HEALTH_PLAN_URL . 'assets/css/lsx-health-plan-admin.css', array(), LSX_HEALTH_PLAN_VER );
179
+     }
180
+
181
+     /**
182
+      * Returns the registered connections.
183
+      *
184
+      * @return void
185
+      */
186
+     public function get_connections() {
187
+          return apply_filters( 'lsx_health_plan_connections', $this->connections );
188
+     }
189
+
190
+     /**
191
+      * Saves the previous values before they are overwritten by the new ones.
192
+      *
193
+      * @param [type] $value_to_save
194
+      * @param [type] $a
195
+      * @param [type] $args
196
+      * @param [type] $cmb2
197
+      * @return void
198
+      */
199
+     public function save_previous_values( $value_to_save, $a, $args, $cmb2 ) {
200
+          if ( isset( $cmb2->data_to_save['ID'] ) ) {
201
+               $connections = $this->get_connections();
202
+               $post_type   = get_post_type( $cmb2->data_to_save['ID'] );
203
+               if ( isset( $connections[ $post_type ] ) && array_key_exists( $a['field_id'], $connections[ $post_type ] ) ) {
204
+                    // Get the previous values if the field, so we can run through them and remove the current ID from them later.
205
+                    $this->previous_values = get_post_meta( $a['id'], $a['field_id'], true );
206
+               }
207
+          }
208
+          return $value_to_save;
209
+     }
210
+
211
+     /**
212
+      * Sets up the "post relations"
213
+      *
214
+      * @return    void
215
+      */
216
+     public function post_relations( $field_id, $updated, $action, $cmb2 ) {
217
+          // If the connections are empty then skip this function.
218
+          $connections = $this->get_connections();
219
+          if ( empty( $connections ) ) {
220
+               return;
221
+          }
222
+
223
+          // If the field has been updated.
224
+          if ( isset( $cmb2->data_to_save['ID'] ) ) {
225
+               $post_type = get_post_type( $cmb2->data_to_save['ID'] );
226
+               if ( isset( $connections[ $post_type ] ) && array_key_exists( $field_id, $connections[ $post_type ] ) ) {
227
+                    $saved_values = get_post_meta( $cmb2->data_to_save['ID'], $field_id, true );
228
+
229
+                    if ( 'updated' === $action ) {
230
+                         $this->add_connected_posts( $saved_values, $cmb2->data_to_save['ID'], $connections[ $post_type ][ $field_id ] );
231
+                         // Check if any posts have been removed.
232
+                         if ( count( $this->previous_values ) > count( $saved_values ) ) {
233
+                              $posts_to_remove = array_diff( $this->previous_values, $saved_values );
234
+                              if ( ! empty( $posts_to_remove ) ) {
235
+                                   $this->remove_connected_posts( $posts_to_remove, $cmb2->data_to_save['ID'], $connections[ $post_type ][ $field_id ] );
236
+                              }
237
+                         }
238
+                    } else if ( 'removed' === $action && ! empty( $this->previous_values ) ) {
239
+                         $this->remove_connected_posts( $this->previous_values, $cmb2->data_to_save['ID'], $connections[ $post_type ][ $field_id ] );
240
+                    }
241
+               }
242
+          }
243
+     }
244
+
245
+     /**
246
+      * Updates the connected posts witht he current post ID
247
+      *
248
+      * @param [type] $values
249
+      * @param [type] $current_id
250
+      * @param [type] $connected_key
251
+      * @return void
252
+      */
253
+     public function add_connected_posts( $values, $current_id, $connected_key ) {
254
+          foreach ( $values as $value ) {
255
+               $current_post_array = get_post_meta( $value, $connected_key, true );
256
+               $previous_values    = $current_post_array;
257
+
258
+               if ( ! empty( $current_post_array ) ) {
259
+                    $current_post_array = array_map( 'strval', $current_post_array );
260
+                    array_unique( $current_post_array );
261
+               }
262
+
263
+               // If the current connected post has no saved connections then we create it.
264
+               if ( false === $current_post_array || empty( $current_post_array ) ) {
265
+                    $current_post_array = array( $current_id );
266
+               } elseif ( ! in_array( (string) $current_id, $current_post_array, true ) ) {
267
+                    $current_post_array[] = $current_id;
268
+               }
269
+
270
+               // Check if the values are empty, if not update them.
271
+               if ( ! empty( $current_post_array ) ) {
272
+                    update_post_meta( $value, $connected_key, $current_post_array, $previous_values );
273
+               }
274
+          }
275
+     }
276
+
277
+     /**
278
+      * Removes the post ID from the connected posts.
279
+      *
280
+      * @param [type] $values
281
+      * @param [type] $current_ID
282
+      * @param [type] $connected_key
283
+      * @return void
284
+      */
285
+     public function remove_connected_posts( $values, $current_ID, $connected_key ) {
286
+          foreach ( $values as $value ) {
287
+               $current_post_array = get_post_meta( $value, $connected_key, true );
288
+               $new_array          = array();
289
+               // Loop through only if the current ID has been saved against the post.
290
+               if ( in_array( $current_ID, $current_post_array, false ) ) {
291
+
292
+                    // Loop through all the connected saved IDS.
293
+                    foreach ( $current_post_array as $cpa ) {
294
+                         if ( (int) $cpa !== (int) $current_ID ) {
295
+                              $new_array[] = $cpa;
296
+                         }
297
+                    }
298
+                    if ( ! empty( $new_array ) ) {
299
+                         $new_array = array_unique( $new_array );
300
+                         delete_post_meta( $value, $connected_key );
301
+                         add_post_meta( $value, $connected_key, $new_array, true );
302
+                    } else {
303
+                         delete_post_meta( $value, $connected_key );
304
+                    }
305
+               }
306
+          }
307
+     }
308
+
309
+     /**
310
+      * Runs on 'before_delete_post' to run through and remove this post ID from its connected values.
311
+      *
312
+      * @param string $item_id
313
+      * @return void
314
+      */
315
+     public function delete_post_meta_connections( $item_id = '' ) {
316
+          if ( '' !== $item_id ) {
317
+               $post_type   = get_post_type( $item_id );
318
+               $connections = $this->get_connections();
319
+               if ( isset( $connections[ $post_type ] ) && ! empty( $connections[ $post_type ] ) && is_array( $connections[ $post_type ] ) ) {
320
+                    foreach ( $connections[ $post_type ] as $this_key => $connected_key ) {
321
+                         $this->delete_connected_items( $item_id, $this_key, $connected_key );
322
+                    }
323
+               }
324
+          }
325
+     }
326
+
327
+     /**
328
+      * This function will remvoe the post id fomr its connected posts.
329
+      *
330
+      * @param string $item_id
331
+      * @param string $this_key
332
+      * @param string $connected_key
333
+      * @return void
334
+      */
335
+     public function delete_connected_items( $item_id = '', $this_key, $connected_key ) {
336
+          if ( '' !== $item_id ) {
337
+               $connected_items = get_post_meta( $item_id, $this_key, true );
338
+               if ( ! empty( $connected_items ) ) {
339
+                    foreach ( $connected_items as $con_id ) {
340
+                         // Get the connected item array from the connected item.
341
+                         $their_connections = get_post_meta( $con_id, $connected_key, true );
342
+                         if ( ! empty( $their_connections ) ) {
343
+                              $new_connections = $their_connections;
344
+                              // Run through the array and remove the post to be deleteds ID.
345
+                              foreach ( $their_connections as $ckey => $cvalue ) {
346
+                                   if ( (int) $item_id === (int) $cvalue ) {
347
+                                        unset( $new_connections[ $ckey ] );
348
+                                   }
349
+                              }
350
+                              // Now we save the field.
351
+                              update_post_meta( $con_id, $connected_key, $new_connections, $their_connections );
352
+                         }
353
+                    }
354
+               }
355
+          }
356
+     }
357
+
358
+     /**
359
+      * Saves the serialized post ids in singular custom fields so they are easily queried using WP_Query
360
+      *
361
+      * @return    void
362
+      */
363
+     public function create_query_fields( $field_id, $updated, $action, $cmb2 ) {
364
+          // If the connections are empty then skip this function.
365
+          $search_fields = array(
366
+               'plan_product',
367
+          );
368
+          if ( ! in_array( $field_id, $search_fields ) ) {
369
+               return;
370
+          }
371
+
372
+          // If the field has been updated.
373
+          if ( isset( $cmb2->data_to_save['ID'] ) && isset( $cmb2->data_to_save[ $field_id . '_results' ] ) && ! empty( $cmb2->data_to_save[ $field_id . '_results' ] ) ) {
374
+               delete_post_meta( $cmb2->data_to_save['ID'], '_' . $field_id . '_id' );
375
+               foreach ( $cmb2->data_to_save[ $field_id . '_results' ] as $temp ) {
376
+                    add_post_meta( $cmb2->data_to_save['ID'], '_' . $field_id . '_id', $temp, false );
377
+               }
378
+          }
379
+     }
380
+
381
+     /**
382
+      * Extract the plan fields so they save to an indexable array.
383
+      *
384
+      * @param [type] $object_id
385
+      * @param [type] $cmb_id
386
+      * @param [type] $updated
387
+      * @param [type] $cmb2
388
+      * @return void
389
+      */
390
+     public function extract_plan_fields( $object_id, $cmb_id, $updated, $cmb2 ) {
391
+          if ( 'plan_sections_metabox' === $cmb_id ) {
392
+               // Check if our fields are available, and cycle through them.
393
+               if ( isset( $cmb2->data_to_save['plan_sections'] ) && ! empty( $cmb2->data_to_save['plan_sections'] ) ) {
394
+                    $fields_to_save = array();
395
+                    // Run through each row of fields.
396
+                    foreach ( $cmb2->data_to_save['plan_sections'] as $field_index => $fields ) {
397
+                         // Run through each field in that section.
398
+                         foreach ( $fields as $field_key => $field_value ) {
399
+                              $stored_values_key = 'plan_sections_' . $field_index . '_' . $field_key . '_store';
400
+                              if ( isset( $cmb2->data_to_save[ $stored_values_key ] ) && ! empty( $cmb2->data_to_save[ $stored_values_key ] ) ) {
401
+                                   $stored_values = $cmb2->data_to_save[ $stored_values_key ];
402
+                                   $stored_values = explode( ',', $stored_values );
403
+                                   foreach ( $stored_values as $id_to_save ) {
404
+                                        $fields_to_save[ $field_key ][] = $id_to_save;
405
+                                   }
406
+                              }
407
+                         }
408
+                    }
409
+                    $this->save_field_array( $object_id, $fields_to_save );
410
+               }
411
+          }
412
+     }
413
+
414
+     /**
415
+      * Runs through the supplied array and saved the fields to the current Object.
416
+      *
417
+      * @param integer $object_id
418
+      * @param array   $fields_to_save
419
+      * @return void
420
+      */
421
+     public function save_field_array( $object_id = 0, $fields_to_save = array() ) {
422
+
423
+          // Run through the fields and save the meta items.
424
+          if ( ! empty( $fields_to_save ) ) {
425
+               foreach ( $fields_to_save as $field_key => $field_values ) {
426
+                    delete_post_meta( $object_id, $field_key );
427
+
428
+                    $field_values = array_unique( $field_values );
429
+                    foreach ( $field_values as $field_value ) {
430
+                         add_post_meta( $object_id, $field_key, $field_value, false );
431
+                    }
432
+               }
433
+          }
434
+     }
435
+
436
+     public function debugger_for_cmb2( $object_id, $cmb_id, $updated, $cmb2 ) {
437
+          if ( 'workout_section_6_metabox' === $cmb_id ) {
438
+               die();
439
+          }
440
+     }
441
+
442
+     /**
443
+      * Handle body colours that might be change by LSX Customizer.
444
+      */
445
+     public function customizer_body_colours_handler( $css, $colors ) {
446
+          $css .= '
447 447
 			@import "' . LSX_HEALTH_PLAN_PATH . '/assets/css/scss/partials/customizer-health-plan-body-colours";
448 448
 
449 449
 			/**
@@ -459,6 +459,6 @@  discard block
 block discarded – undo
459 459
 			);
460 460
 		';
461 461
 
462
-		return $css;
463
-	}
462
+          return $css;
463
+     }
464 464
 }
Please login to merge, or discard this patch.
classes/class-post-type.php 1 patch
Indentation   +73 added lines, -73 removed lines patch added patch discarded remove patch
@@ -9,83 +9,83 @@
 block discarded – undo
9 9
  */
10 10
 class Post_Type {
11 11
 
12
-	/**
13
-	 * Holds class instance
14
-	 *
15
-	 * @since 1.0.0
16
-	 *
17
-	 * @var      object \lsx_health_plan\classes\Post_Type()
18
-	 */
19
-	protected static $instance = null;
12
+     /**
13
+      * Holds class instance
14
+      *
15
+      * @since 1.0.0
16
+      *
17
+      * @var      object \lsx_health_plan\classes\Post_Type()
18
+      */
19
+     protected static $instance = null;
20 20
 
21
-	/**
22
-	 * The post types available
23
-	 *
24
-	 * @var array
25
-	 */
26
-	public $post_types = array();
21
+     /**
22
+      * The post types available
23
+      *
24
+      * @var array
25
+      */
26
+     public $post_types = array();
27 27
 
28
-	/**
29
-	 * The related post type connections
30
-	 *
31
-	 * @var array
32
-	 */
33
-	public $connections = array();
28
+     /**
29
+      * The related post type connections
30
+      *
31
+      * @var array
32
+      */
33
+     public $connections = array();
34 34
 
35
-	/**
36
-	 * Constructor
37
-	 */
38
-	public function __construct() {
39
-		$this->enable_post_types();
40
-		add_filter( 'lsx_health_plan_post_types', array( $this, 'enable_post_types' ) );
41
-		foreach ( $this->post_types as $index => $post_type ) {
42
-			$is_disabled = \lsx_health_plan\functions\get_option( $post_type . '_disabled', false );
43
-			// Check if exercises is enabled, if so disable the videos.
44
-			if ( 'video' === $post_type && false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
45
-				$is_disabled = true;
46
-			}
35
+     /**
36
+      * Constructor
37
+      */
38
+     public function __construct() {
39
+          $this->enable_post_types();
40
+          add_filter( 'lsx_health_plan_post_types', array( $this, 'enable_post_types' ) );
41
+          foreach ( $this->post_types as $index => $post_type ) {
42
+               $is_disabled = \lsx_health_plan\functions\get_option( $post_type . '_disabled', false );
43
+               // Check if exercises is enabled, if so disable the videos.
44
+               if ( 'video' === $post_type && false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
45
+                    $is_disabled = true;
46
+               }
47 47
 
48
-			if ( true === $is_disabled || 1 === $is_disabled || 'on' === $is_disabled ) {
49
-				unset( $this->post_types[ $index ] );
50
-			} else {
51
-				require_once LSX_HEALTH_PLAN_PATH . 'classes/post-types/class-' . $post_type . '.php';
52
-				$classname        = ucwords( $post_type );
53
-				$this->$post_type = call_user_func_array( '\\lsx_health_plan\classes\\' . $classname . '::get_instance', array() );
54
-			}
55
-		}
56
-	}
48
+               if ( true === $is_disabled || 1 === $is_disabled || 'on' === $is_disabled ) {
49
+                    unset( $this->post_types[ $index ] );
50
+               } else {
51
+                    require_once LSX_HEALTH_PLAN_PATH . 'classes/post-types/class-' . $post_type . '.php';
52
+                    $classname        = ucwords( $post_type );
53
+                    $this->$post_type = call_user_func_array( '\\lsx_health_plan\classes\\' . $classname . '::get_instance', array() );
54
+               }
55
+          }
56
+     }
57 57
 
58
-	/**
59
-	 * Return an instance of this class.
60
-	 *
61
-	 * @since 1.0.0
62
-	 *
63
-	 * @return    object \lsx_health_plan\classes\Post_Type()    A single instance of this class.
64
-	 */
65
-	public static function get_instance() {
66
-		// If the single instance hasn't been set, set it now.
67
-		if ( null === self::$instance ) {
68
-			self::$instance = new self();
69
-		}
70
-		return self::$instance;
71
-	}
58
+     /**
59
+      * Return an instance of this class.
60
+      *
61
+      * @since 1.0.0
62
+      *
63
+      * @return    object \lsx_health_plan\classes\Post_Type()    A single instance of this class.
64
+      */
65
+     public static function get_instance() {
66
+          // If the single instance hasn't been set, set it now.
67
+          if ( null === self::$instance ) {
68
+               self::$instance = new self();
69
+          }
70
+          return self::$instance;
71
+     }
72 72
 
73
-	/**
74
-	 * Enable our post types
75
-	 *
76
-	 * @return void
77
-	 */
78
-	public function enable_post_types( $post_types = array() ) {
79
-		$post_types       = array(
80
-			'plan',
81
-			'workout',
82
-			'meal',
83
-			'recipe',
84
-			'tip',
85
-			'video',
86
-			'exercise',
87
-		);
88
-		$this->post_types = $post_types;
89
-		return $post_types;
90
-	}
73
+     /**
74
+      * Enable our post types
75
+      *
76
+      * @return void
77
+      */
78
+     public function enable_post_types( $post_types = array() ) {
79
+          $post_types       = array(
80
+               'plan',
81
+               'workout',
82
+               'meal',
83
+               'recipe',
84
+               'tip',
85
+               'video',
86
+               'exercise',
87
+          );
88
+          $this->post_types = $post_types;
89
+          return $post_types;
90
+     }
91 91
 }
Please login to merge, or discard this patch.
classes/class-setup.php 1 patch
Indentation   +72 added lines, -72 removed lines patch added patch discarded remove patch
@@ -8,86 +8,86 @@
 block discarded – undo
8 8
  */
9 9
 class Setup {
10 10
 
11
-	/**
12
-	 * Holds class instance
13
-	 *
14
-	 * @since 1.0.0
15
-	 *
16
-	 * @var      object \lsx_health_plan\classes\Setup()
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\Setup()
17
+      */
18
+     protected static $instance = null;
19 19
 
20
-	/**
21
-	 * @var object \lsx_health_plan\classes\Post_Type();
22
-	 */
23
-	public $post_types;
20
+     /**
21
+      * @var object \lsx_health_plan\classes\Post_Type();
22
+      */
23
+     public $post_types;
24 24
 
25
-	/**
26
-	 * Constructor
27
-	 */
28
-	public function __construct() {
29
-		add_action( 'init', array( $this, 'load_plugin_textdomain' ) );
30
-		add_action( 'wp_head', array( $this, 'load_shortcodes' ) );
31
-		$this->load_classes();
32
-	}
25
+     /**
26
+      * Constructor
27
+      */
28
+     public function __construct() {
29
+          add_action( 'init', array( $this, 'load_plugin_textdomain' ) );
30
+          add_action( 'wp_head', array( $this, 'load_shortcodes' ) );
31
+          $this->load_classes();
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\Setup()    A single instance of this class.
40
-	 */
41
-	public static function get_instance() {
34
+     /**
35
+      * Return an instance of this class.
36
+      *
37
+      * @since 1.0.0
38
+      *
39
+      * @return    object \lsx_health_plan\classes\Setup()    A single instance of this class.
40
+      */
41
+     public static function get_instance() {
42 42
 
43
-		// If the single instance hasn't been set, set it now.
44
-		if ( null === self::$instance ) {
45
-			self::$instance = new self();
46
-		}
43
+          // If the single instance hasn't been set, set it now.
44
+          if ( null === self::$instance ) {
45
+               self::$instance = new self();
46
+          }
47 47
 
48
-		return self::$instance;
48
+          return self::$instance;
49 49
 
50
-	}
50
+     }
51 51
 
52
-	/**
53
-	 * Adds text domain.
54
-	 */
55
-	public function load_plugin_textdomain() {
56
-		load_plugin_textdomain( 'lsx-health-plan', false, basename( LSX_HEALTH_PLAN_PATH ) . '/languages' );
57
-	}
52
+     /**
53
+      * Adds text domain.
54
+      */
55
+     public function load_plugin_textdomain() {
56
+          load_plugin_textdomain( 'lsx-health-plan', false, basename( LSX_HEALTH_PLAN_PATH ) . '/languages' );
57
+     }
58 58
 
59
-	/**
60
-	 * Registers our shortcodes.
61
-	 *
62
-	 * @return void
63
-	 */
64
-	public function load_classes() {
65
-		require_once LSX_HEALTH_PLAN_PATH . 'classes/class-post-type.php';
66
-		$this->post_types = Post_Type::get_instance();
67
-	}
59
+     /**
60
+      * Registers our shortcodes.
61
+      *
62
+      * @return void
63
+      */
64
+     public function load_classes() {
65
+          require_once LSX_HEALTH_PLAN_PATH . 'classes/class-post-type.php';
66
+          $this->post_types = Post_Type::get_instance();
67
+     }
68 68
 
69
-	/**
70
-	 * Registers our shortcodes.
71
-	 *
72
-	 * @return void
73
-	 */
74
-	public function load_shortcodes() {
75
-		add_shortcode( 'lsx_health_plan_restricted_content', '\lsx_health_plan\shortcodes\restricted_content' );
76
-		add_shortcode( 'lsx_health_plan_my_profile_tabs', '\lsx_health_plan\shortcodes\my_profile_tabs' );
77
-		add_shortcode( 'lsx_health_plan_my_profile_block', '\lsx_health_plan\shortcodes\my_profile_box' );
78
-		add_shortcode( 'lsx_health_plan_all_plans_block', '\lsx_health_plan\shortcodes\all_plans_box' );
79
-		add_shortcode( 'lsx_health_plan_day_plan_block', '\lsx_health_plan\shortcodes\day_plan_box' );
80
-		add_shortcode( 'lsx_health_plan_account_notices', '\lsx_health_plan\shortcodes\account_notices' );
69
+     /**
70
+      * Registers our shortcodes.
71
+      *
72
+      * @return void
73
+      */
74
+     public function load_shortcodes() {
75
+          add_shortcode( 'lsx_health_plan_restricted_content', '\lsx_health_plan\shortcodes\restricted_content' );
76
+          add_shortcode( 'lsx_health_plan_my_profile_tabs', '\lsx_health_plan\shortcodes\my_profile_tabs' );
77
+          add_shortcode( 'lsx_health_plan_my_profile_block', '\lsx_health_plan\shortcodes\my_profile_box' );
78
+          add_shortcode( 'lsx_health_plan_all_plans_block', '\lsx_health_plan\shortcodes\all_plans_box' );
79
+          add_shortcode( 'lsx_health_plan_day_plan_block', '\lsx_health_plan\shortcodes\day_plan_box' );
80
+          add_shortcode( 'lsx_health_plan_account_notices', '\lsx_health_plan\shortcodes\account_notices' );
81 81
 
82
-		if ( post_type_exists( 'video' ) ) {
83
-			add_shortcode( 'lsx_health_plan_featured_video_block', '\lsx_health_plan\shortcodes\feature_video_box' );
84
-		}
85
-		if ( post_type_exists( 'recipe' ) ) {
86
-			add_shortcode( 'lsx_health_plan_featured_recipes_block', '\lsx_health_plan\shortcodes\feature_recipes_box' );
87
-		}
88
-		if ( post_type_exists( 'tip' ) ) {
89
-			add_shortcode( 'lsx_health_plan_featured_tips_block', '\lsx_health_plan\shortcodes\feature_tips_box' );
90
-		}
91
-		add_shortcode( 'lsx_health_plan_items', '\lsx_health_plan\shortcodes\exercise_box' );
92
-	}
82
+          if ( post_type_exists( 'video' ) ) {
83
+               add_shortcode( 'lsx_health_plan_featured_video_block', '\lsx_health_plan\shortcodes\feature_video_box' );
84
+          }
85
+          if ( post_type_exists( 'recipe' ) ) {
86
+               add_shortcode( 'lsx_health_plan_featured_recipes_block', '\lsx_health_plan\shortcodes\feature_recipes_box' );
87
+          }
88
+          if ( post_type_exists( 'tip' ) ) {
89
+               add_shortcode( 'lsx_health_plan_featured_tips_block', '\lsx_health_plan\shortcodes\feature_tips_box' );
90
+          }
91
+          add_shortcode( 'lsx_health_plan_items', '\lsx_health_plan\shortcodes\exercise_box' );
92
+     }
93 93
 }
Please login to merge, or discard this patch.