Passed
Push — add/multiplan ( dea22a...7aa48d )
by Virginia
10:43
created
classes/integrations/woocommerce/class-plans.php 1 patch
Indentation   +121 added lines, -121 removed lines patch added patch discarded remove patch
@@ -8,137 +8,137 @@
 block discarded – undo
8 8
  */
9 9
 class Plans {
10 10
 
11
-	/**
12
-	 * Holds class instance
13
-	 *
14
-	 * @since 1.0.0
15
-	 *
16
-	 * @var      object \lsx_health_plan\classes\integrations\woocommerce\Plans()
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\integrations\woocommerce\Plans()
17
+      */
18
+     protected static $instance = null;
19 19
 
20
-	/**
21
-	 * Holds the current screen var if it is active.
22
-	 *
23
-	 * @var string
24
-	 */
25
-	public $screen = '';
20
+     /**
21
+      * Holds the current screen var if it is active.
22
+      *
23
+      * @var string
24
+      */
25
+     public $screen = '';
26 26
 
27
-	/**
28
-	 * Holds the current array of product IDS.
29
-	 *
30
-	 * @var array
31
-	 */
32
-	public $product_ids = array();
27
+     /**
28
+      * Holds the current array of product IDS.
29
+      *
30
+      * @var array
31
+      */
32
+     public $product_ids = array();
33 33
 
34
-	/**
35
-	 * Holds the curret parent ID.
36
-	 *
37
-	 * @var int
38
-	 */
39
-	public $parent_id = 0;
34
+     /**
35
+      * Holds the curret parent ID.
36
+      *
37
+      * @var int
38
+      */
39
+     public $parent_id = 0;
40 40
 
41
-	/**
42
-	 * Constructor
43
-	 */
44
-	public function __construct() {
45
-		// Remove the default restrictions, as we will add our own.
46
-		add_action( 'wp', array( $this, 'set_screen' ), 1 );
47
-		add_action( 'wp', array( $this, 'disable_parent_plan_restrictions' ), 2 );
48
-		add_action( 'wp', array( $this, 'child_plan_redirect_restrictions' ), 2 );
41
+     /**
42
+      * Constructor
43
+      */
44
+     public function __construct() {
45
+          // Remove the default restrictions, as we will add our own.
46
+          add_action( 'wp', array( $this, 'set_screen' ), 1 );
47
+          add_action( 'wp', array( $this, 'disable_parent_plan_restrictions' ), 2 );
48
+          add_action( 'wp', array( $this, 'child_plan_redirect_restrictions' ), 2 );
49 49
 
50
-		// Initiate the WP Head functions.
51
-		add_action( 'wp_head', array( $this, 'set_screen' ) );
52
-		add_action( 'lsx_content_top', 'lsx_hp_single_plan_products' );
50
+          // Initiate the WP Head functions.
51
+          add_action( 'wp_head', array( $this, 'set_screen' ) );
52
+          add_action( 'lsx_content_top', 'lsx_hp_single_plan_products' );
53 53
 
54
-		// Plan Archive Actions.
55
-		add_action( 'lsx_entry_before', array( $this, 'set_product_ids' ) );
56
-	}
54
+          // Plan Archive Actions.
55
+          add_action( 'lsx_entry_before', array( $this, 'set_product_ids' ) );
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\integrations\woocommerce\Plans()    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\integrations\woocommerce\Plans()    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
-	 * Define the product metabox on the plan post type
75
-	 */
76
-	public function set_screen() {
77
-		if ( is_singular( 'plan' ) ) {
78
-			$section = get_query_var( 'section' );
79
-			if ( ! empty( $section ) ) {
80
-				$this->screen = 'child_plan';
81
-			} else {
82
-				$this->screen = 'parent_plan';
83
-			}
84
-			$product_ids = get_post_meta( get_the_ID(), 'plan_product', true );
85
-			if ( false !== $product_ids && ! empty( $product_ids ) ) {
86
-				$this->product_ids = $product_ids;
87
-			}
88
-		}
89
-		if ( is_post_type_archive( 'plan' ) ) {
90
-			$this->screen = 'plan_archive';
91
-		}
92
-	}
73
+     /**
74
+      * Define the product metabox on the plan post type
75
+      */
76
+     public function set_screen() {
77
+          if ( is_singular( 'plan' ) ) {
78
+               $section = get_query_var( 'section' );
79
+               if ( ! empty( $section ) ) {
80
+                    $this->screen = 'child_plan';
81
+               } else {
82
+                    $this->screen = 'parent_plan';
83
+               }
84
+               $product_ids = get_post_meta( get_the_ID(), 'plan_product', true );
85
+               if ( false !== $product_ids && ! empty( $product_ids ) ) {
86
+                    $this->product_ids = $product_ids;
87
+               }
88
+          }
89
+          if ( is_post_type_archive( 'plan' ) ) {
90
+               $this->screen = 'plan_archive';
91
+          }
92
+     }
93 93
 
94
-	/**
95
-	 * Sets the post type archive product ids.
96
-	 *
97
-	 * @return void
98
-	 */
99
-	public function set_product_ids() {
100
-		$this->product_ids = false;
101
-		if ( 'plan' === get_post_type() ) {
102
-			$product_ids = get_post_meta( get_the_ID(), 'plan_product', true );
103
-			if ( false !== $product_ids && ! empty( $product_ids ) ) {
104
-				$this->product_ids = $product_ids;
105
-			}
106
-		}
107
-	}
94
+     /**
95
+      * Sets the post type archive product ids.
96
+      *
97
+      * @return void
98
+      */
99
+     public function set_product_ids() {
100
+          $this->product_ids = false;
101
+          if ( 'plan' === get_post_type() ) {
102
+               $product_ids = get_post_meta( get_the_ID(), 'plan_product', true );
103
+               if ( false !== $product_ids && ! empty( $product_ids ) ) {
104
+                    $this->product_ids = $product_ids;
105
+               }
106
+          }
107
+     }
108 108
 
109
-	/**
110
-	 * Disable WC Memberships restrictions for plan parents. We add our own custom
111
-	 * restriction functionality elsewhere.
112
-	 */
113
-	public function disable_parent_plan_restrictions() {
114
-		if ( '' === $this->screen ) {
115
-			return;
116
-		}
117
-		$restrictions = wc_memberships()->get_restrictions_instance()->get_posts_restrictions_instance();
118
-		remove_action( 'wp', array( $restrictions, 'handle_restriction_modes' ) );
119
-	}
109
+     /**
110
+      * Disable WC Memberships restrictions for plan parents. We add our own custom
111
+      * restriction functionality elsewhere.
112
+      */
113
+     public function disable_parent_plan_restrictions() {
114
+          if ( '' === $this->screen ) {
115
+               return;
116
+          }
117
+          $restrictions = wc_memberships()->get_restrictions_instance()->get_posts_restrictions_instance();
118
+          remove_action( 'wp', array( $restrictions, 'handle_restriction_modes' ) );
119
+     }
120 120
 
121
-	/**
122
-	 * Disable WC Memberships restrictions for plan parents. We add our own custom
123
-	 * restriction functionality elsewhere.
124
-	 */
125
-	public function child_plan_redirect_restrictions() {
126
-		if ( ! is_singular( 'plan' ) || 'child_plan' !== $this->screen || ! function_exists( 'wc_memberships_is_post_content_restricted' ) ) {
127
-			return;
128
-		}
129
-		$restricted = wc_memberships_is_post_content_restricted() && ! current_user_can( 'wc_memberships_view_restricted_post_content', get_the_ID() );
130
-		if ( true === $restricted ) {
131
-			wp_redirect( get_permalink( get_the_ID() ) );
132
-			exit;
133
-		}
134
-	}
121
+     /**
122
+      * Disable WC Memberships restrictions for plan parents. We add our own custom
123
+      * restriction functionality elsewhere.
124
+      */
125
+     public function child_plan_redirect_restrictions() {
126
+          if ( ! is_singular( 'plan' ) || 'child_plan' !== $this->screen || ! function_exists( 'wc_memberships_is_post_content_restricted' ) ) {
127
+               return;
128
+          }
129
+          $restricted = wc_memberships_is_post_content_restricted() && ! current_user_can( 'wc_memberships_view_restricted_post_content', get_the_ID() );
130
+          if ( true === $restricted ) {
131
+               wp_redirect( get_permalink( get_the_ID() ) );
132
+               exit;
133
+          }
134
+     }
135 135
 
136
-	/**
137
-	 * Returns the ids of the attached products.
138
-	 *
139
-	 * @return array
140
-	 */
141
-	public function get_products() {
142
-		return $this->product_ids;
143
-	}
136
+     /**
137
+      * Returns the ids of the attached products.
138
+      *
139
+      * @return array
140
+      */
141
+     public function get_products() {
142
+          return $this->product_ids;
143
+     }
144 144
 }
Please login to merge, or discard this patch.
classes/integrations/woocommerce/class-login.php 1 patch
Indentation   +63 added lines, -63 removed lines patch added patch discarded remove patch
@@ -8,76 +8,76 @@
 block discarded – undo
8 8
  */
9 9
 class Login {
10 10
 
11
-	/**
12
-	 * Holds class instance
13
-	 *
14
-	 * @since 1.0.0
15
-	 *
16
-	 * @var      object \lsx_health_plan\classes\integrations\woocommerce\Login()
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\integrations\woocommerce\Login()
17
+      */
18
+     protected static $instance = null;
19 19
 
20
-	/**
21
-	 * Constructor
22
-	 */
23
-	public function __construct() {
24
-		// Lost Password fields
25
-		add_action( 'woocommerce_before_lost_password_form', array( $this, 'lost_password_page_title' ), 10 );
20
+     /**
21
+      * Constructor
22
+      */
23
+     public function __construct() {
24
+          // Lost Password fields
25
+          add_action( 'woocommerce_before_lost_password_form', array( $this, 'lost_password_page_title' ), 10 );
26 26
 
27
-		add_action( 'wp', array( $this, 'allow_reset_password_page' ), 9 );
28
-	}
27
+          add_action( 'wp', array( $this, 'allow_reset_password_page' ), 9 );
28
+     }
29 29
 
30
-	/**
31
-	 * Return an instance of this class.
32
-	 *
33
-	 * @since 1.0.0
34
-	 *
35
-	 * @return    object \lsx_health_plan\classes\integrations\woocommerce\Login()    A single instance of this class.
36
-	 */
37
-	public static function get_instance() {
38
-		// If the single instance hasn't been set, set it now.
39
-		if ( null === self::$instance ) {
40
-			self::$instance = new self();
41
-		}
42
-		return self::$instance;
43
-	}
30
+     /**
31
+      * Return an instance of this class.
32
+      *
33
+      * @since 1.0.0
34
+      *
35
+      * @return    object \lsx_health_plan\classes\integrations\woocommerce\Login()    A single instance of this class.
36
+      */
37
+     public static function get_instance() {
38
+          // If the single instance hasn't been set, set it now.
39
+          if ( null === self::$instance ) {
40
+               self::$instance = new self();
41
+          }
42
+          return self::$instance;
43
+     }
44 44
 
45
-	public function lost_password_page_title() {
46
-		?>
45
+     public function lost_password_page_title() {
46
+          ?>
47 47
 		<h1 class="lost-your-password-title"><?php esc_html_e( 'Lost your password?', 'lsx-health-plan' ); ?></h1>
48 48
 		<?php
49
-	}
49
+     }
50 50
 
51
-	/**
52
-	 * Removes the content restriction class to allow the password page to show.
53
-	 *
54
-	 * @return void
55
-	 */
56
-	public function allow_reset_password_page() {
57
-		if ( ! is_user_logged_in() && function_exists( 'wc_memberships' ) && is_wc_endpoint_url( 'lost-password' ) ) {
51
+     /**
52
+      * Removes the content restriction class to allow the password page to show.
53
+      *
54
+      * @return void
55
+      */
56
+     public function allow_reset_password_page() {
57
+          if ( ! is_user_logged_in() && function_exists( 'wc_memberships' ) && is_wc_endpoint_url( 'lost-password' ) ) {
58 58
 
59
-			$members_instance           = wc_memberships();
60
-			$restriction_instance       = $members_instance->get_restrictions_instance();
61
-			$post_restrictions_instance = $restriction_instance->get_posts_restrictions_instance();
62
-			remove_action( 'wp', array( $post_restrictions_instance, 'handle_restriction_modes' ), 10, 1 );
63
-			add_action( 'body_class', array( $this, 'remove_body_classes' ) );
64
-		}
65
-	}
59
+               $members_instance           = wc_memberships();
60
+               $restriction_instance       = $members_instance->get_restrictions_instance();
61
+               $post_restrictions_instance = $restriction_instance->get_posts_restrictions_instance();
62
+               remove_action( 'wp', array( $post_restrictions_instance, 'handle_restriction_modes' ), 10, 1 );
63
+               add_action( 'body_class', array( $this, 'remove_body_classes' ) );
64
+          }
65
+     }
66 66
 
67
-	/**
68
-	 * Remove the gutenberg classes from the lost password page.
69
-	 *
70
-	 * @param array $classes
71
-	 * @return void
72
-	 */
73
-	public function remove_body_classes( $classes = array() ) {
74
-		if ( ! empty( $classes ) ) {
75
-			foreach ( $classes as $class_key => $class_value ) {
76
-				if ( 'gutenberg-compatible-template' === $class_value || 'using-gutenberg' === $class_value ) {
77
-					unset( $classes[ $class_key ] );
78
-				}
79
-			}
80
-		}
81
-		return $classes;
82
-	}
67
+     /**
68
+      * Remove the gutenberg classes from the lost password page.
69
+      *
70
+      * @param array $classes
71
+      * @return void
72
+      */
73
+     public function remove_body_classes( $classes = array() ) {
74
+          if ( ! empty( $classes ) ) {
75
+               foreach ( $classes as $class_key => $class_value ) {
76
+                    if ( 'gutenberg-compatible-template' === $class_value || 'using-gutenberg' === $class_value ) {
77
+                         unset( $classes[ $class_key ] );
78
+                    }
79
+               }
80
+          }
81
+          return $classes;
82
+     }
83 83
 }
Please login to merge, or discard this patch.
classes/integrations/woocommerce/class-account.php 1 patch
Indentation   +514 added lines, -514 removed lines patch added patch discarded remove patch
@@ -8,326 +8,326 @@  discard block
 block discarded – undo
8 8
  */
9 9
 class Account {
10 10
 
11
-	/**
12
-	 * Holds class instance
13
-	 *
14
-	 * @since 1.0.0
15
-	 *
16
-	 * @var      object \lsx_health_plan\classes\integrations\woocommerce\Account()
17
-	 */
18
-	protected static $instance = null;
19
-
20
-	/**
21
-	 * Constructor
22
-	 */
23
-	public function __construct() {
24
-		add_action( 'init', array( $this, 'init' ), 20, 1 );
25
-
26
-		// Redirect to the Edit Account Template.
27
-		add_filter( 'template_include', array( $this, 'account_endpoint_redirect' ), 99 );
28
-
29
-		add_action( 'woocommerce_edit_account_form', array( $this, 'print_user_frontend_fields' ), 10 );
30
-
31
-		add_filter( 'lsx_hp_profile_fields', array( $this, 'add_post_data_to_account_fields' ), 10, 1 );
32
-		add_action( 'show_user_profile', array( $this, 'print_user_admin_fields' ), 30 );
33
-
34
-		add_action( 'personal_options_update', array( $this, 'save_account_fields' ) );
35
-		add_action( 'edit_user_profile_update', array( $this, 'save_account_fields' ) );
36
-
37
-		add_action( 'woocommerce_save_account_details', array( $this, 'save_account_fields' ) );
38
-		add_filter( 'woocommerce_save_account_details_errors', array( $this, 'validate_user_frontend_fields' ), 10 );
39
-
40
-		// Profile Fields.
41
-		add_filter( 'woocommerce_form_field_text', array( $this, 'lsx_profile_photo_field_filter' ), 10, 4 );
42
-		add_action( 'woocommerce_after_edit_account_form', array( $this, 'action_woocommerce_after_edit_account_form' ), 10, 0 );
43
-	}
44
-
45
-	/**
46
-	 * Return an instance of this class.
47
-	 *
48
-	 * @since 1.0.0
49
-	 *
50
-	 * @return    object \lsx_health_plan\classes\integration\woocommerce\Account()    A single instance of this class.
51
-	 */
52
-	public static function get_instance() {
53
-		// If the single instance hasn't been set, set it now.
54
-		if ( null === self::$instance ) {
55
-			self::$instance = new self();
56
-		}
57
-		return self::$instance;
58
-	}
59
-
60
-	/**
61
-	 * Runs on init
62
-	 *
63
-	 * @return void
64
-	 */
65
-	public function init() {
66
-		remove_action( 'woocommerce_account_navigation', 'woocommerce_account_navigation' );
67
-	}
68
-
69
-	/**
70
-	 * Redirects to the my account template.
71
-	 *
72
-	 * @param string $template
73
-	 * @return string
74
-	 */
75
-	public function account_endpoint_redirect( $template ) {
76
-		if ( function_exists( 'is_account_page' ) && is_account_page() ) {
77
-			if ( empty( locate_template( array( 'page-template-my-plan.php' ) ) ) && file_exists( LSX_HEALTH_PLAN_PATH . 'templates/page-template-my-plan.php' ) ) {
78
-				$template = LSX_HEALTH_PLAN_PATH . 'templates/page-template-my-plan.php';
79
-			}
80
-		}
81
-		return $template;
82
-	}
83
-
84
-	/**
85
-	 * Add post values to account fields if set.
86
-	 *
87
-	 * @param array $fields
88
-	 *
89
-	 * @return array
90
-	 */
91
-	public function add_post_data_to_account_fields( $fields ) {
92
-		if ( empty( $_POST ) && wp_verify_nonce( sanitize_key( $_POST ) ) ) {
93
-			return $fields;
94
-		}
95
-
96
-		foreach ( $fields as $key => $field_args ) {
97
-			if ( isset( $_POST[ $key ] ) && empty( $_POST[ $key ] ) && wp_verify_nonce( sanitize_key( $_POST[ $key ] ) ) ) {
98
-				$fields[ $key ]['value'] = '';
99
-				continue;
100
-			}
101
-
102
-			if ( isset( $_POST[ $key ] ) ) {
103
-				$fields[ $key ]['value'] = sanitize_key( $_POST[ $key ] );
104
-			}
105
-		}
106
-
107
-		return $fields;
108
-	}
109
-
110
-	/**
111
-	 * Add fields to registration form and account area.
112
-	 */
113
-	public function print_user_frontend_fields() {
114
-		$fields            = $this->get_account_fields();
115
-		$is_user_logged_in = is_user_logged_in();
116
-
117
-		$all_disabled = \lsx_health_plan\functions\get_option( 'disable_all_stats', false );
118
-		if ( 'on' !== $all_disabled ) {
119
-			echo wp_kses_post( '<h2 class="title-lined my-stats-title">' . __( 'My Stats', 'lsx-health-plan' ) . '</h2><p><strong>' . __( 'My physical info', 'lsx-health-plan' ) . '</strong></p>' );
120
-			echo wp_kses_post( '<div class="my-stats-wrap"><div class="my-stats">' );
121
-			foreach ( $fields as $key => $field_args ) {
122
-				$value = null;
123
-				if ( ! $this->is_field_visible( $field_args ) ) {
124
-					continue;
125
-				}
126
-				if ( $is_user_logged_in ) {
127
-					$user_id = $this->get_edit_user_id();
128
-					$value   = $this->get_userdata( $user_id, $key );
129
-				}
130
-				$value = ( isset( $field_args['value'] ) && '' !== $field_args['value'] ) ? $field_args['value'] : $value;
131
-				woocommerce_form_field( $key, $field_args, $value );
132
-			}
133
-			$is_bmi_disabled = \lsx_health_plan\functions\get_option( 'disable_bmi_checkbox', false );
134
-			if ( 'on' !== $is_bmi_disabled ) {
135
-				echo wp_kses_post( '<p class="form-row calculate-bmi"><label>BMI</label><button class="btn border-btn">' . __( 'Calculate', 'lsx-health-plan' ) . '<i class="fa fa-calculator" aria-hidden="true"></i></button></p>' );
136
-				echo wp_kses_post( '</div>' );
137
-				echo wp_kses_post( '<div class="description"><p class="bmi-title"><strong>' . __( 'Your BMI score', 'lsx-health-plan' ) . '</strong></p>' );
138
-				echo wp_kses_post( '<p>' . __( "BMI is a measurement of a person's leanness or corpulence based on their height and weight, and is intended to quantify tissue mass. It is widely used as a general indicator of whether a person has a healthy body weight for their height.", 'lsx-health-plan' ) . '</p></div></div>' );
139
-			}
11
+     /**
12
+      * Holds class instance
13
+      *
14
+      * @since 1.0.0
15
+      *
16
+      * @var      object \lsx_health_plan\classes\integrations\woocommerce\Account()
17
+      */
18
+     protected static $instance = null;
19
+
20
+     /**
21
+      * Constructor
22
+      */
23
+     public function __construct() {
24
+          add_action( 'init', array( $this, 'init' ), 20, 1 );
25
+
26
+          // Redirect to the Edit Account Template.
27
+          add_filter( 'template_include', array( $this, 'account_endpoint_redirect' ), 99 );
28
+
29
+          add_action( 'woocommerce_edit_account_form', array( $this, 'print_user_frontend_fields' ), 10 );
30
+
31
+          add_filter( 'lsx_hp_profile_fields', array( $this, 'add_post_data_to_account_fields' ), 10, 1 );
32
+          add_action( 'show_user_profile', array( $this, 'print_user_admin_fields' ), 30 );
33
+
34
+          add_action( 'personal_options_update', array( $this, 'save_account_fields' ) );
35
+          add_action( 'edit_user_profile_update', array( $this, 'save_account_fields' ) );
36
+
37
+          add_action( 'woocommerce_save_account_details', array( $this, 'save_account_fields' ) );
38
+          add_filter( 'woocommerce_save_account_details_errors', array( $this, 'validate_user_frontend_fields' ), 10 );
39
+
40
+          // Profile Fields.
41
+          add_filter( 'woocommerce_form_field_text', array( $this, 'lsx_profile_photo_field_filter' ), 10, 4 );
42
+          add_action( 'woocommerce_after_edit_account_form', array( $this, 'action_woocommerce_after_edit_account_form' ), 10, 0 );
43
+     }
44
+
45
+     /**
46
+      * Return an instance of this class.
47
+      *
48
+      * @since 1.0.0
49
+      *
50
+      * @return    object \lsx_health_plan\classes\integration\woocommerce\Account()    A single instance of this class.
51
+      */
52
+     public static function get_instance() {
53
+          // If the single instance hasn't been set, set it now.
54
+          if ( null === self::$instance ) {
55
+               self::$instance = new self();
56
+          }
57
+          return self::$instance;
58
+     }
59
+
60
+     /**
61
+      * Runs on init
62
+      *
63
+      * @return void
64
+      */
65
+     public function init() {
66
+          remove_action( 'woocommerce_account_navigation', 'woocommerce_account_navigation' );
67
+     }
68
+
69
+     /**
70
+      * Redirects to the my account template.
71
+      *
72
+      * @param string $template
73
+      * @return string
74
+      */
75
+     public function account_endpoint_redirect( $template ) {
76
+          if ( function_exists( 'is_account_page' ) && is_account_page() ) {
77
+               if ( empty( locate_template( array( 'page-template-my-plan.php' ) ) ) && file_exists( LSX_HEALTH_PLAN_PATH . 'templates/page-template-my-plan.php' ) ) {
78
+                    $template = LSX_HEALTH_PLAN_PATH . 'templates/page-template-my-plan.php';
79
+               }
80
+          }
81
+          return $template;
82
+     }
83
+
84
+     /**
85
+      * Add post values to account fields if set.
86
+      *
87
+      * @param array $fields
88
+      *
89
+      * @return array
90
+      */
91
+     public function add_post_data_to_account_fields( $fields ) {
92
+          if ( empty( $_POST ) && wp_verify_nonce( sanitize_key( $_POST ) ) ) {
93
+               return $fields;
94
+          }
95
+
96
+          foreach ( $fields as $key => $field_args ) {
97
+               if ( isset( $_POST[ $key ] ) && empty( $_POST[ $key ] ) && wp_verify_nonce( sanitize_key( $_POST[ $key ] ) ) ) {
98
+                    $fields[ $key ]['value'] = '';
99
+                    continue;
100
+               }
101
+
102
+               if ( isset( $_POST[ $key ] ) ) {
103
+                    $fields[ $key ]['value'] = sanitize_key( $_POST[ $key ] );
104
+               }
105
+          }
106
+
107
+          return $fields;
108
+     }
109
+
110
+     /**
111
+      * Add fields to registration form and account area.
112
+      */
113
+     public function print_user_frontend_fields() {
114
+          $fields            = $this->get_account_fields();
115
+          $is_user_logged_in = is_user_logged_in();
116
+
117
+          $all_disabled = \lsx_health_plan\functions\get_option( 'disable_all_stats', false );
118
+          if ( 'on' !== $all_disabled ) {
119
+               echo wp_kses_post( '<h2 class="title-lined my-stats-title">' . __( 'My Stats', 'lsx-health-plan' ) . '</h2><p><strong>' . __( 'My physical info', 'lsx-health-plan' ) . '</strong></p>' );
120
+               echo wp_kses_post( '<div class="my-stats-wrap"><div class="my-stats">' );
121
+               foreach ( $fields as $key => $field_args ) {
122
+                    $value = null;
123
+                    if ( ! $this->is_field_visible( $field_args ) ) {
124
+                         continue;
125
+                    }
126
+                    if ( $is_user_logged_in ) {
127
+                         $user_id = $this->get_edit_user_id();
128
+                         $value   = $this->get_userdata( $user_id, $key );
129
+                    }
130
+                    $value = ( isset( $field_args['value'] ) && '' !== $field_args['value'] ) ? $field_args['value'] : $value;
131
+                    woocommerce_form_field( $key, $field_args, $value );
132
+               }
133
+               $is_bmi_disabled = \lsx_health_plan\functions\get_option( 'disable_bmi_checkbox', false );
134
+               if ( 'on' !== $is_bmi_disabled ) {
135
+                    echo wp_kses_post( '<p class="form-row calculate-bmi"><label>BMI</label><button class="btn border-btn">' . __( 'Calculate', 'lsx-health-plan' ) . '<i class="fa fa-calculator" aria-hidden="true"></i></button></p>' );
136
+                    echo wp_kses_post( '</div>' );
137
+                    echo wp_kses_post( '<div class="description"><p class="bmi-title"><strong>' . __( 'Your BMI score', 'lsx-health-plan' ) . '</strong></p>' );
138
+                    echo wp_kses_post( '<p>' . __( "BMI is a measurement of a person's leanness or corpulence based on their height and weight, and is intended to quantify tissue mass. It is widely used as a general indicator of whether a person has a healthy body weight for their height.", 'lsx-health-plan' ) . '</p></div></div>' );
139
+               }
140 140
 			
141
-		}
142
-	}
143
-
144
-	/**
145
-	 * Get user data.
146
-	 *
147
-	 * @param $user_id
148
-	 * @param $key
149
-	 *
150
-	 * @return mixed|string
151
-	 */
152
-	public function get_userdata( $user_id, $key ) {
153
-		if ( ! $this->is_userdata( $key ) ) {
154
-			return get_user_meta( $user_id, $key, true );
155
-		}
156
-
157
-		$userdata = get_userdata( $user_id );
158
-
159
-		if ( ! $userdata || ! isset( $userdata->{$key} ) ) {
160
-			return '';
161
-		}
162
-
163
-		return $userdata->{$key};
164
-	}
165
-
166
-	/**
167
-	 * Get currently editing user ID (frontend account/edit profile/edit other user).
168
-	 *
169
-	 * @return int
170
-	 */
171
-	public function get_edit_user_id() {
172
-		return ( isset( $_GET['user_id'] ) && wp_verify_nonce( sanitize_key( $_GET['user_id'] ) ) ) ? (int) $_GET['user_id'] : get_current_user_id();
173
-	}
174
-
175
-
176
-	/**
177
-	 * Save registration fields.
178
-	 *
179
-	 * @param int $customer_id
180
-	 */
181
-	public function save_account_fields( $customer_id ) {
182
-		$nonce_value = wc_get_var( $_REQUEST['save-account-details-nonce'], wc_get_var( $_REQUEST['_wpnonce'], '' ) ); // @codingStandardsIgnoreLine.
183
-		if ( ! wp_verify_nonce( $nonce_value, 'save_account_details' ) ) {
184
-			return;
185
-		}
186
-
187
-		$fields         = $this->get_account_fields();
188
-		$sanitized_data = array();
189
-		foreach ( $fields as $key => $field_args ) {
190
-			if ( ! $this->is_field_visible( $field_args ) ) {
191
-				continue;
192
-			}
193
-
194
-			$sanitize = isset( $field_args['sanitize'] ) ? $field_args['sanitize'] : 'wc_clean';
195
-			$value    = ( isset( $_POST[ $key ] ) ) ? call_user_func( $sanitize, $_POST[ $key ] ) : '';
196
-			if ( $this->is_userdata( $key ) ) {
197
-
198
-				$sanitized_data[ $key ] = $value;
199
-				continue;
200
-			}
201
-
202
-			if ( 'profile_photo' === $key ) {
203
-				// This handles the image uploads.
204
-				require_once ABSPATH . 'wp-admin/includes/image.php';
205
-				require_once ABSPATH . 'wp-admin/includes/file.php';
206
-				require_once ABSPATH . 'wp-admin/includes/media.php';
207
-
208
-				$id = media_handle_upload( $key, 0, '' );
209
-				if ( ! is_wp_error( $id ) ) {
210
-					update_term_meta( $customer_id, $key . '_id', $id );
211
-					update_term_meta( $customer_id, $key, $id );
212
-				}
213
-			} else {
214
-				delete_user_meta( $customer_id, $key );
215
-				update_user_meta( $customer_id, $key, $value );
216
-			}
217
-		}
218
-
219
-		if ( ! empty( $sanitized_data ) ) {
220
-			$sanitized_data['ID'] = $customer_id;
221
-			wp_update_user( $sanitized_data );
222
-		}
223
-	}
224
-
225
-
226
-	/**
227
-	 * Is this field core user data.
228
-	 *
229
-	 * @param $key
230
-	 *
231
-	 * @return bool
232
-	 */
233
-	public function is_userdata( $key ) {
234
-		$userdata = array(
235
-			'user_pass',
236
-			'user_login',
237
-			'user_nicename',
238
-			'user_url',
239
-			'user_email',
240
-			'display_name',
241
-			'nickname',
242
-			'first_name',
243
-			'last_name',
244
-			'description',
245
-			'rich_editing',
246
-			'user_registered',
247
-			'role',
248
-			'jabber',
249
-			'aim',
250
-			'yim',
251
-			'show_admin_bar_front',
252
-		);
253
-
254
-		return in_array( $key, $userdata, true );
255
-	}
256
-
257
-	/**
258
-	 * Is field visible.
259
-	 *
260
-	 * @param $field_args
261
-	 *
262
-	 * @return bool
263
-	 */
264
-	public function is_field_visible( $field_args ) {
265
-		$visible = true;
266
-		$action  = filter_input( INPUT_POST, 'action' );
267
-
268
-		if ( is_admin() && ! empty( $field_args['hide_in_admin'] ) ) {
269
-			$visible = false;
270
-		} elseif ( ( is_account_page() || 'save_account_details' === $action ) && is_user_logged_in() && ! empty( $field_args['hide_in_account'] ) ) {
271
-			$visible = false;
272
-		} elseif ( ( is_account_page() || 'save_account_details' === $action ) && ! is_user_logged_in() && ! empty( $field_args['hide_in_registration'] ) ) {
273
-			$visible = false;
274
-		} elseif ( is_checkout() && ! empty( $field_args['hide_in_checkout'] ) ) {
275
-			$visible = false;
276
-		}
277
-
278
-		// Disable the fitness fields if needed.
279
-		$weight_key  = __( 'Weight:' );
280
-		$waist_key   = __( 'Waist:' );
281
-		$fitness_key = __( 'BMI Score:' );
282
-		if ( $weight_key === $field_args['label'] || $waist_key === $field_args['label'] || $fitness_key === $field_args['label'] ) {
283
-
284
-			// Check if all stats are disabled.
285
-			$all_disabled = \lsx_health_plan\functions\get_option( 'disable_all_stats', false );
286
-
287
-			$option_key = '';
288
-			switch ( $field_args['label'] ) {
289
-				case $weight_key:
290
-					$option_key = 'disable_weight_checkbox';
291
-					break;
292
-
293
-				case $weight_key:
294
-					$option_key = 'disable_height_checkbox';
295
-					break;
141
+          }
142
+     }
143
+
144
+     /**
145
+      * Get user data.
146
+      *
147
+      * @param $user_id
148
+      * @param $key
149
+      *
150
+      * @return mixed|string
151
+      */
152
+     public function get_userdata( $user_id, $key ) {
153
+          if ( ! $this->is_userdata( $key ) ) {
154
+               return get_user_meta( $user_id, $key, true );
155
+          }
156
+
157
+          $userdata = get_userdata( $user_id );
158
+
159
+          if ( ! $userdata || ! isset( $userdata->{$key} ) ) {
160
+               return '';
161
+          }
162
+
163
+          return $userdata->{$key};
164
+     }
165
+
166
+     /**
167
+      * Get currently editing user ID (frontend account/edit profile/edit other user).
168
+      *
169
+      * @return int
170
+      */
171
+     public function get_edit_user_id() {
172
+          return ( isset( $_GET['user_id'] ) && wp_verify_nonce( sanitize_key( $_GET['user_id'] ) ) ) ? (int) $_GET['user_id'] : get_current_user_id();
173
+     }
174
+
175
+
176
+     /**
177
+      * Save registration fields.
178
+      *
179
+      * @param int $customer_id
180
+      */
181
+     public function save_account_fields( $customer_id ) {
182
+          $nonce_value = wc_get_var( $_REQUEST['save-account-details-nonce'], wc_get_var( $_REQUEST['_wpnonce'], '' ) ); // @codingStandardsIgnoreLine.
183
+          if ( ! wp_verify_nonce( $nonce_value, 'save_account_details' ) ) {
184
+               return;
185
+          }
186
+
187
+          $fields         = $this->get_account_fields();
188
+          $sanitized_data = array();
189
+          foreach ( $fields as $key => $field_args ) {
190
+               if ( ! $this->is_field_visible( $field_args ) ) {
191
+                    continue;
192
+               }
193
+
194
+               $sanitize = isset( $field_args['sanitize'] ) ? $field_args['sanitize'] : 'wc_clean';
195
+               $value    = ( isset( $_POST[ $key ] ) ) ? call_user_func( $sanitize, $_POST[ $key ] ) : '';
196
+               if ( $this->is_userdata( $key ) ) {
197
+
198
+                    $sanitized_data[ $key ] = $value;
199
+                    continue;
200
+               }
201
+
202
+               if ( 'profile_photo' === $key ) {
203
+                    // This handles the image uploads.
204
+                    require_once ABSPATH . 'wp-admin/includes/image.php';
205
+                    require_once ABSPATH . 'wp-admin/includes/file.php';
206
+                    require_once ABSPATH . 'wp-admin/includes/media.php';
207
+
208
+                    $id = media_handle_upload( $key, 0, '' );
209
+                    if ( ! is_wp_error( $id ) ) {
210
+                         update_term_meta( $customer_id, $key . '_id', $id );
211
+                         update_term_meta( $customer_id, $key, $id );
212
+                    }
213
+               } else {
214
+                    delete_user_meta( $customer_id, $key );
215
+                    update_user_meta( $customer_id, $key, $value );
216
+               }
217
+          }
218
+
219
+          if ( ! empty( $sanitized_data ) ) {
220
+               $sanitized_data['ID'] = $customer_id;
221
+               wp_update_user( $sanitized_data );
222
+          }
223
+     }
224
+
225
+
226
+     /**
227
+      * Is this field core user data.
228
+      *
229
+      * @param $key
230
+      *
231
+      * @return bool
232
+      */
233
+     public function is_userdata( $key ) {
234
+          $userdata = array(
235
+               'user_pass',
236
+               'user_login',
237
+               'user_nicename',
238
+               'user_url',
239
+               'user_email',
240
+               'display_name',
241
+               'nickname',
242
+               'first_name',
243
+               'last_name',
244
+               'description',
245
+               'rich_editing',
246
+               'user_registered',
247
+               'role',
248
+               'jabber',
249
+               'aim',
250
+               'yim',
251
+               'show_admin_bar_front',
252
+          );
253
+
254
+          return in_array( $key, $userdata, true );
255
+     }
256
+
257
+     /**
258
+      * Is field visible.
259
+      *
260
+      * @param $field_args
261
+      *
262
+      * @return bool
263
+      */
264
+     public function is_field_visible( $field_args ) {
265
+          $visible = true;
266
+          $action  = filter_input( INPUT_POST, 'action' );
267
+
268
+          if ( is_admin() && ! empty( $field_args['hide_in_admin'] ) ) {
269
+               $visible = false;
270
+          } elseif ( ( is_account_page() || 'save_account_details' === $action ) && is_user_logged_in() && ! empty( $field_args['hide_in_account'] ) ) {
271
+               $visible = false;
272
+          } elseif ( ( is_account_page() || 'save_account_details' === $action ) && ! is_user_logged_in() && ! empty( $field_args['hide_in_registration'] ) ) {
273
+               $visible = false;
274
+          } elseif ( is_checkout() && ! empty( $field_args['hide_in_checkout'] ) ) {
275
+               $visible = false;
276
+          }
277
+
278
+          // Disable the fitness fields if needed.
279
+          $weight_key  = __( 'Weight:' );
280
+          $waist_key   = __( 'Waist:' );
281
+          $fitness_key = __( 'BMI Score:' );
282
+          if ( $weight_key === $field_args['label'] || $waist_key === $field_args['label'] || $fitness_key === $field_args['label'] ) {
283
+
284
+               // Check if all stats are disabled.
285
+               $all_disabled = \lsx_health_plan\functions\get_option( 'disable_all_stats', false );
286
+
287
+               $option_key = '';
288
+               switch ( $field_args['label'] ) {
289
+                    case $weight_key:
290
+                         $option_key = 'disable_weight_checkbox';
291
+                         break;
292
+
293
+                    case $weight_key:
294
+                         $option_key = 'disable_height_checkbox';
295
+                         break;
296 296
 				
297
-				case $waist_key:
298
-					$option_key = 'disable_waist_checkbox';
299
-					break;
300
-
301
-				case $fitness_key:
302
-					$option_key = 'disable_bmi_checkbox';
303
-					break;
304
-			}
305
-			$is_disabled = \lsx_health_plan\functions\get_option( $option_key, false );
306
-			if ( 'on' === $all_disabled || 'on' === $is_disabled ) {
307
-				$visible = false;
308
-			}
309
-		}
310
-		return $visible;
311
-	}
312
-
313
-	/**
314
-	 * Add fields to admin area.
315
-	 */
316
-	public function print_user_admin_fields() {
317
-		$fields = $this->get_account_fields();
318
-		?>
297
+                    case $waist_key:
298
+                         $option_key = 'disable_waist_checkbox';
299
+                         break;
300
+
301
+                    case $fitness_key:
302
+                         $option_key = 'disable_bmi_checkbox';
303
+                         break;
304
+               }
305
+               $is_disabled = \lsx_health_plan\functions\get_option( $option_key, false );
306
+               if ( 'on' === $all_disabled || 'on' === $is_disabled ) {
307
+                    $visible = false;
308
+               }
309
+          }
310
+          return $visible;
311
+     }
312
+
313
+     /**
314
+      * Add fields to admin area.
315
+      */
316
+     public function print_user_admin_fields() {
317
+          $fields = $this->get_account_fields();
318
+          ?>
319 319
 		<h2><?php esc_html_e( 'Additional Information', 'lsx-health-plan' ); ?></h2>
320 320
 		<table class="form-table" id="iconic-additional-information">
321 321
 			<tbody>
322 322
 			<?php foreach ( $fields as $key => $field_args ) { ?>
323 323
 				<?php
324
-				if ( ! $this->is_field_visible( $field_args ) ) {
325
-					continue;
326
-				}
324
+                    if ( ! $this->is_field_visible( $field_args ) ) {
325
+                         continue;
326
+                    }
327 327
 
328
-				$user_id = $this->get_edit_user_id();
329
-				$value   = get_user_meta( $user_id, $key, true );
330
-				?>
328
+                    $user_id = $this->get_edit_user_id();
329
+                    $value   = get_user_meta( $user_id, $key, true );
330
+                    ?>
331 331
 				<tr>
332 332
 					<th>
333 333
 						<label for="<?php echo esc_html( $key ); ?>"><?php echo esc_html( $field_args['label'] ); ?></label>
@@ -341,209 +341,209 @@  discard block
 block discarded – undo
341 341
 			</tbody>
342 342
 		</table>
343 343
 		<?php
344
-	}
345
-
346
-	/**
347
-	 * Validate fields on frontend.
348
-	 *
349
-	 * @param WP_Error $errors
350
-	 *
351
-	 * @return WP_Error
352
-	 */
353
-	public function validate_user_frontend_fields( $errors ) {
354
-		$fields = $this->get_account_fields();
355
-
356
-		foreach ( $fields as $key => $field_args ) {
357
-			if ( empty( $field_args['required'] ) ) {
358
-				continue;
359
-			}
360
-
361
-			/*if ( ! isset( $_POST['register'] ) && wp_verify_nonce( sanitize_key( $_POST['register'] ) ) && ! empty( $field_args['hide_in_account'] ) ) {
344
+     }
345
+
346
+     /**
347
+      * Validate fields on frontend.
348
+      *
349
+      * @param WP_Error $errors
350
+      *
351
+      * @return WP_Error
352
+      */
353
+     public function validate_user_frontend_fields( $errors ) {
354
+          $fields = $this->get_account_fields();
355
+
356
+          foreach ( $fields as $key => $field_args ) {
357
+               if ( empty( $field_args['required'] ) ) {
358
+                    continue;
359
+               }
360
+
361
+               /*if ( ! isset( $_POST['register'] ) && wp_verify_nonce( sanitize_key( $_POST['register'] ) ) && ! empty( $field_args['hide_in_account'] ) ) {
362 362
 				continue;
363 363
 			}*/
364 364
 
365
-			if ( isset( $_POST['register'] ) && wp_verify_nonce( sanitize_key( $_POST['register'] ) ) && ! empty( $field_args['hide_in_registration'] ) ) {
366
-				continue;
367
-			}
368
-
369
-			if ( empty( $_POST[ $key ] ) ) {
370
-				/* translators: %s: field */
371
-				$message = sprintf( __( '%s is a required field.', 'lsx-health-plan' ), '<strong>' . $field_args['label'] . '</strong>' );
372
-				$errors->add( $key, $message );
373
-			}
374
-		}
375
-
376
-		return $errors;
377
-	}
378
-
379
-	/**
380
-	 * Changes the text into a file upload.
381
-	 * @param $field
382
-	 * @param $key
383
-	 * @param $args
384
-	 * @param $value
385
-	 *
386
-	 * @return mixed
387
-	 */
388
-	public function lsx_profile_photo_field_filter( $field, $key, $args, $value ) {
389
-		if ( 'profile_photo' === $args['id'] ) {
390
-
391
-			if ( $args['required'] ) {
392
-				$args['class'][] = 'validate-required';
393
-				$required        = ' <abbr class="required" title="' . esc_attr__( 'required', 'lsx-health-plan' ) . '">*</abbr>';
394
-			} else {
395
-				$required = '';
396
-			}
397
-
398
-			if ( is_string( $args['label_class'] ) ) {
399
-				$args['label_class'] = array( $args['label_class'] );
400
-			}
401
-
402
-			if ( is_null( $value ) ) {
403
-				$value = $args['default'];
404
-			}
405
-
406
-			// Custom attribute handling.
407
-			$custom_attributes         = array();
408
-			$args['custom_attributes'] = array_filter( (array) $args['custom_attributes'], 'strlen' );
409
-
410
-			if ( $args['maxlength'] ) {
411
-				$args['custom_attributes']['maxlength'] = absint( $args['maxlength'] );
412
-			}
413
-
414
-			if ( ! empty( $args['autocomplete'] ) ) {
415
-				$args['custom_attributes']['autocomplete'] = $args['autocomplete'];
416
-			}
417
-
418
-			if ( true === $args['autofocus'] ) {
419
-				$args['custom_attributes']['autofocus'] = 'autofocus';
420
-			}
421
-
422
-			if ( ! empty( $args['custom_attributes'] ) && is_array( $args['custom_attributes'] ) ) {
423
-				foreach ( $args['custom_attributes'] as $attribute => $attribute_value ) {
424
-					$custom_attributes[] = esc_attr( $attribute ) . '="' . esc_attr( $attribute_value ) . '"';
425
-				}
426
-			}
427
-
428
-			if ( ! empty( $args['validate'] ) ) {
429
-				foreach ( $args['validate'] as $validate ) {
430
-					$args['class'][] = 'validate-' . $validate;
431
-				}
432
-			}
433
-
434
-			$field_html      = '';
435
-			$field           = '';
436
-			$label_id        = $args['id'];
437
-			$sort            = $args['priority'] ? $args['priority'] : '';
438
-			$field_container = '<p class="form-row %1$s" id="%2$s" data-priority="' . esc_attr( $sort ) . '">%3$s</p>';
439
-			$args['class'][] = 'validate-required';
440
-			$required        = ' <abbr class="required" title="' . esc_attr__( 'required', 'lsx-health-plan' ) . '">*</abbr>';
441
-
442
-			$field .= '<input accept="image/*" type="file" class="input-text ' . esc_attr( implode( ' ', $args['input_class'] ) ) . '" name="' . esc_attr( $key ) . '" id="' . esc_attr( $args['id'] ) . '" placeholder="' . esc_attr( $args['placeholder'] ) . '"  value="" ' . implode( ' ', $custom_attributes ) . ' />';
443
-
444
-			if ( '' !== $value && $value !== $args['default'] ) {
445
-				$field .= '<input type="text" class="input-text ' . esc_attr( implode( ' ', $args['input_class'] ) ) . '" name="' . esc_attr( $key ) . '_id" id="' . esc_attr( $args['id'] ) . '_id" placeholder="' . esc_attr( $args['placeholder'] ) . '_id"  value="' . esc_attr( $value ) . '" ' . implode( ' ', $custom_attributes ) . ' />';
446
-			}
447
-
448
-			$field .= '<input type="hidden" name="MAX_FILE_SIZE" value="500000" />';
449
-
450
-			if ( $args['label'] && 'checkbox' !== $args['type'] ) {
451
-				$field_html .= '<label for="' . esc_attr( $label_id ) . '" class="' . esc_attr( implode( ' ', $args['label_class'] ) ) . '">' . $args['label'] . $required . '</label>';
452
-			}
453
-
454
-			$field_html .= $field;
455
-
456
-			if ( $args['description'] ) {
457
-				$field_html .= '<span class="description">' . esc_html( $args['description'] ) . '</span>';
458
-			}
459
-
460
-			$container_class = esc_attr( implode( ' ', $args['class'] ) );
461
-			$container_id    = esc_attr( $args['id'] ) . '_field';
462
-			$field           = sprintf( $field_container, $container_class, $container_id, $field_html );
463
-		}
464
-		return $field;
465
-	}
466
-
467
-
468
-	public function action_woocommerce_after_edit_account_form() {
469
-		echo do_shortcode( '[avatar_upload /]' );
470
-	}
471
-
472
-	/**
473
-	 * Get additional account fields.
474
-	 *
475
-	 * @return array
476
-	 */
477
-	public function get_account_fields() {
478
-		$account_fields = apply_filters( 'lsx_hp_profile_fields', array(
479
-			'age'  => array(
480
-				'type'                 => 'text',
481
-				'label'                => __( 'Age:', 'lsx-health-plan' ),
482
-				'placeholder'          => __( '#', 'lsx-health-plan' ),
483
-				'hide_in_account'      => false,
484
-				'hide_in_admin'        => false,
485
-				'hide_in_checkout'     => false,
486
-				'hide_in_registration' => false,
487
-				'required'             => false,
488
-			),
489
-			'weight'  => array(
490
-				'type'                 => 'text',
491
-				'label'                => __( 'Weight:', 'lsx-health-plan' ),
492
-				'placeholder'          => __( 'kg', 'lsx-health-plan' ),
493
-				'hide_in_account'      => false,
494
-				'hide_in_admin'        => false,
495
-				'hide_in_checkout'     => false,
496
-				'hide_in_registration' => false,
497
-				'required'             => false,
498
-			),
499
-			'gender'   => array(
500
-				'type'                 => 'select',
501
-				'label'                => __( 'Gender:', 'lsx-health-plan' ),
502
-				'placeholder'          => __( 'm/f', 'lsx-health-plan' ),
503
-				'hide_in_account'      => false,
504
-				'hide_in_admin'        => false,
505
-				'hide_in_checkout'     => false,
506
-				'hide_in_registration' => false,
507
-				'required'             => false,
508
-				'options'     => array(
509
-					'male'   => __( 'Male', 'lsx-health-plan' ),
510
-					'female' => __( 'Female', 'lsx-health-plan' ),
511
-				),
512
-			),
513
-			'waist'   => array(
514
-				'type'                 => 'text',
515
-				'label'                => __( 'Waist:', 'lsx-health-plan' ),
516
-				'placeholder'          => __( 'cm', 'lsx-health-plan' ),
517
-				'hide_in_account'      => false,
518
-				'hide_in_admin'        => false,
519
-				'hide_in_checkout'     => false,
520
-				'hide_in_registration' => false,
521
-				'required'             => false,
522
-			),
523
-			'height'     => array(
524
-				'type'                 => 'text',
525
-				'label'                => __( 'Height:', 'lsx-health-plan' ),
526
-				'placeholder'          => __( 'cm', 'lsx-health-plan' ),
527
-				'hide_in_account'      => false,
528
-				'hide_in_admin'        => false,
529
-				'hide_in_checkout'     => false,
530
-				'hide_in_registration' => false,
531
-				'required'             => false,
532
-			),
533
-		) );
534
-
535
-		$is_weight_disabled = \lsx_health_plan\functions\get_option( 'disable_weight_checkbox', false );
536
-		if ( 'on' === $is_weight_disabled ) {
537
-			$account_fields['weight']['required'] = false;
538
-		}
539
-		$is_height_disabled = \lsx_health_plan\functions\get_option( 'disable_height_checkbox', false );
540
-		if ( 'on' === $is_height_disabled ) {
541
-			$account_fields['height']['required'] = false;
542
-		}
543
-		$is_waist_disabled = \lsx_health_plan\functions\get_option( 'disable_waist_checkbox', false );
544
-		if ( 'on' === $is_waist_disabled ) {
545
-			$account_fields['waist']['required'] = false;
546
-		}
547
-		return $account_fields;
548
-	}
365
+               if ( isset( $_POST['register'] ) && wp_verify_nonce( sanitize_key( $_POST['register'] ) ) && ! empty( $field_args['hide_in_registration'] ) ) {
366
+                    continue;
367
+               }
368
+
369
+               if ( empty( $_POST[ $key ] ) ) {
370
+                    /* translators: %s: field */
371
+                    $message = sprintf( __( '%s is a required field.', 'lsx-health-plan' ), '<strong>' . $field_args['label'] . '</strong>' );
372
+                    $errors->add( $key, $message );
373
+               }
374
+          }
375
+
376
+          return $errors;
377
+     }
378
+
379
+     /**
380
+      * Changes the text into a file upload.
381
+      * @param $field
382
+      * @param $key
383
+      * @param $args
384
+      * @param $value
385
+      *
386
+      * @return mixed
387
+      */
388
+     public function lsx_profile_photo_field_filter( $field, $key, $args, $value ) {
389
+          if ( 'profile_photo' === $args['id'] ) {
390
+
391
+               if ( $args['required'] ) {
392
+                    $args['class'][] = 'validate-required';
393
+                    $required        = ' <abbr class="required" title="' . esc_attr__( 'required', 'lsx-health-plan' ) . '">*</abbr>';
394
+               } else {
395
+                    $required = '';
396
+               }
397
+
398
+               if ( is_string( $args['label_class'] ) ) {
399
+                    $args['label_class'] = array( $args['label_class'] );
400
+               }
401
+
402
+               if ( is_null( $value ) ) {
403
+                    $value = $args['default'];
404
+               }
405
+
406
+               // Custom attribute handling.
407
+               $custom_attributes         = array();
408
+               $args['custom_attributes'] = array_filter( (array) $args['custom_attributes'], 'strlen' );
409
+
410
+               if ( $args['maxlength'] ) {
411
+                    $args['custom_attributes']['maxlength'] = absint( $args['maxlength'] );
412
+               }
413
+
414
+               if ( ! empty( $args['autocomplete'] ) ) {
415
+                    $args['custom_attributes']['autocomplete'] = $args['autocomplete'];
416
+               }
417
+
418
+               if ( true === $args['autofocus'] ) {
419
+                    $args['custom_attributes']['autofocus'] = 'autofocus';
420
+               }
421
+
422
+               if ( ! empty( $args['custom_attributes'] ) && is_array( $args['custom_attributes'] ) ) {
423
+                    foreach ( $args['custom_attributes'] as $attribute => $attribute_value ) {
424
+                         $custom_attributes[] = esc_attr( $attribute ) . '="' . esc_attr( $attribute_value ) . '"';
425
+                    }
426
+               }
427
+
428
+               if ( ! empty( $args['validate'] ) ) {
429
+                    foreach ( $args['validate'] as $validate ) {
430
+                         $args['class'][] = 'validate-' . $validate;
431
+                    }
432
+               }
433
+
434
+               $field_html      = '';
435
+               $field           = '';
436
+               $label_id        = $args['id'];
437
+               $sort            = $args['priority'] ? $args['priority'] : '';
438
+               $field_container = '<p class="form-row %1$s" id="%2$s" data-priority="' . esc_attr( $sort ) . '">%3$s</p>';
439
+               $args['class'][] = 'validate-required';
440
+               $required        = ' <abbr class="required" title="' . esc_attr__( 'required', 'lsx-health-plan' ) . '">*</abbr>';
441
+
442
+               $field .= '<input accept="image/*" type="file" class="input-text ' . esc_attr( implode( ' ', $args['input_class'] ) ) . '" name="' . esc_attr( $key ) . '" id="' . esc_attr( $args['id'] ) . '" placeholder="' . esc_attr( $args['placeholder'] ) . '"  value="" ' . implode( ' ', $custom_attributes ) . ' />';
443
+
444
+               if ( '' !== $value && $value !== $args['default'] ) {
445
+                    $field .= '<input type="text" class="input-text ' . esc_attr( implode( ' ', $args['input_class'] ) ) . '" name="' . esc_attr( $key ) . '_id" id="' . esc_attr( $args['id'] ) . '_id" placeholder="' . esc_attr( $args['placeholder'] ) . '_id"  value="' . esc_attr( $value ) . '" ' . implode( ' ', $custom_attributes ) . ' />';
446
+               }
447
+
448
+               $field .= '<input type="hidden" name="MAX_FILE_SIZE" value="500000" />';
449
+
450
+               if ( $args['label'] && 'checkbox' !== $args['type'] ) {
451
+                    $field_html .= '<label for="' . esc_attr( $label_id ) . '" class="' . esc_attr( implode( ' ', $args['label_class'] ) ) . '">' . $args['label'] . $required . '</label>';
452
+               }
453
+
454
+               $field_html .= $field;
455
+
456
+               if ( $args['description'] ) {
457
+                    $field_html .= '<span class="description">' . esc_html( $args['description'] ) . '</span>';
458
+               }
459
+
460
+               $container_class = esc_attr( implode( ' ', $args['class'] ) );
461
+               $container_id    = esc_attr( $args['id'] ) . '_field';
462
+               $field           = sprintf( $field_container, $container_class, $container_id, $field_html );
463
+          }
464
+          return $field;
465
+     }
466
+
467
+
468
+     public function action_woocommerce_after_edit_account_form() {
469
+          echo do_shortcode( '[avatar_upload /]' );
470
+     }
471
+
472
+     /**
473
+      * Get additional account fields.
474
+      *
475
+      * @return array
476
+      */
477
+     public function get_account_fields() {
478
+          $account_fields = apply_filters( 'lsx_hp_profile_fields', array(
479
+               'age'  => array(
480
+                    'type'                 => 'text',
481
+                    'label'                => __( 'Age:', 'lsx-health-plan' ),
482
+                    'placeholder'          => __( '#', 'lsx-health-plan' ),
483
+                    'hide_in_account'      => false,
484
+                    'hide_in_admin'        => false,
485
+                    'hide_in_checkout'     => false,
486
+                    'hide_in_registration' => false,
487
+                    'required'             => false,
488
+               ),
489
+               'weight'  => array(
490
+                    'type'                 => 'text',
491
+                    'label'                => __( 'Weight:', 'lsx-health-plan' ),
492
+                    'placeholder'          => __( 'kg', 'lsx-health-plan' ),
493
+                    'hide_in_account'      => false,
494
+                    'hide_in_admin'        => false,
495
+                    'hide_in_checkout'     => false,
496
+                    'hide_in_registration' => false,
497
+                    'required'             => false,
498
+               ),
499
+               'gender'   => array(
500
+                    'type'                 => 'select',
501
+                    'label'                => __( 'Gender:', 'lsx-health-plan' ),
502
+                    'placeholder'          => __( 'm/f', 'lsx-health-plan' ),
503
+                    'hide_in_account'      => false,
504
+                    'hide_in_admin'        => false,
505
+                    'hide_in_checkout'     => false,
506
+                    'hide_in_registration' => false,
507
+                    'required'             => false,
508
+                    'options'     => array(
509
+                         'male'   => __( 'Male', 'lsx-health-plan' ),
510
+                         'female' => __( 'Female', 'lsx-health-plan' ),
511
+                    ),
512
+               ),
513
+               'waist'   => array(
514
+                    'type'                 => 'text',
515
+                    'label'                => __( 'Waist:', 'lsx-health-plan' ),
516
+                    'placeholder'          => __( 'cm', 'lsx-health-plan' ),
517
+                    'hide_in_account'      => false,
518
+                    'hide_in_admin'        => false,
519
+                    'hide_in_checkout'     => false,
520
+                    'hide_in_registration' => false,
521
+                    'required'             => false,
522
+               ),
523
+               'height'     => array(
524
+                    'type'                 => 'text',
525
+                    'label'                => __( 'Height:', 'lsx-health-plan' ),
526
+                    'placeholder'          => __( 'cm', 'lsx-health-plan' ),
527
+                    'hide_in_account'      => false,
528
+                    'hide_in_admin'        => false,
529
+                    'hide_in_checkout'     => false,
530
+                    'hide_in_registration' => false,
531
+                    'required'             => false,
532
+               ),
533
+          ) );
534
+
535
+          $is_weight_disabled = \lsx_health_plan\functions\get_option( 'disable_weight_checkbox', false );
536
+          if ( 'on' === $is_weight_disabled ) {
537
+               $account_fields['weight']['required'] = false;
538
+          }
539
+          $is_height_disabled = \lsx_health_plan\functions\get_option( 'disable_height_checkbox', false );
540
+          if ( 'on' === $is_height_disabled ) {
541
+               $account_fields['height']['required'] = false;
542
+          }
543
+          $is_waist_disabled = \lsx_health_plan\functions\get_option( 'disable_waist_checkbox', false );
544
+          if ( 'on' === $is_waist_disabled ) {
545
+               $account_fields['waist']['required'] = false;
546
+          }
547
+          return $account_fields;
548
+     }
549 549
 }
Please login to merge, or discard this patch.
classes/integrations/woocommerce/class-admin.php 1 patch
Indentation   +58 added lines, -58 removed lines patch added patch discarded remove patch
@@ -8,66 +8,66 @@
 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\integrations\woocommerce\Admin()
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\integrations\woocommerce\Admin()
17
+      */
18
+     protected static $instance = null;
19 19
 
20
-	/**
21
-	 * Constructor
22
-	 */
23
-	public function __construct() {
24
-		add_action( 'cmb2_admin_init', array( $this, 'products_metaboxes' ), 5 );
25
-	}
20
+     /**
21
+      * Constructor
22
+      */
23
+     public function __construct() {
24
+          add_action( 'cmb2_admin_init', array( $this, 'products_metaboxes' ), 5 );
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\integrations\woocommerce\Admin()    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\integrations\woocommerce\Admin()    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
-	 * Define the product metabox on the plan post type
44
-	 */
45
-	public function products_metaboxes() {
46
-		$cmb = new_cmb2_box(
47
-			array(
48
-				'id'           => 'plan_product_metabox',
49
-				'title'        => __( 'Products', 'lsx-health-plan' ),
50
-				'object_types' => array( 'plan' ), // Post type.
51
-				'context'      => 'side',
52
-				'priority'     => 'low',
53
-				'show_names'   => true,
54
-			)
55
-		);
42
+     /**
43
+      * Define the product metabox on the plan post type
44
+      */
45
+     public function products_metaboxes() {
46
+          $cmb = new_cmb2_box(
47
+               array(
48
+                    'id'           => 'plan_product_metabox',
49
+                    'title'        => __( 'Products', 'lsx-health-plan' ),
50
+                    'object_types' => array( 'plan' ), // Post type.
51
+                    'context'      => 'side',
52
+                    'priority'     => 'low',
53
+                    'show_names'   => true,
54
+               )
55
+          );
56 56
 
57
-		$cmb->add_field(
58
-			array(
59
-				'name'       => __( 'Search your products', 'lsx-health-plan' ),
60
-				'desc'       => __( 'Connect the product(s) which sell access to this plan.', 'lsx-health-plan' ),
61
-				'id'         => 'plan_product',
62
-				'type'       => 'post_search_ajax',
63
-				'limit'      => 5,  // Limit selection to X items only (default 1).
64
-				'sortable'   => false, // Allow selected items to be sortable (default false).
65
-				'query_args' => array(
66
-					'post_type'      => 'product',
67
-					'post_status'    => array( 'publish' ),
68
-					'posts_per_page' => -1,
69
-				),
70
-			)
71
-		);
72
-	}
57
+          $cmb->add_field(
58
+               array(
59
+                    'name'       => __( 'Search your products', 'lsx-health-plan' ),
60
+                    'desc'       => __( 'Connect the product(s) which sell access to this plan.', 'lsx-health-plan' ),
61
+                    'id'         => 'plan_product',
62
+                    'type'       => 'post_search_ajax',
63
+                    'limit'      => 5,  // Limit selection to X items only (default 1).
64
+                    'sortable'   => false, // Allow selected items to be sortable (default false).
65
+                    'query_args' => array(
66
+                         'post_type'      => 'product',
67
+                         'post_status'    => array( 'publish' ),
68
+                         'posts_per_page' => -1,
69
+                    ),
70
+               )
71
+          );
72
+     }
73 73
 }
Please login to merge, or discard this patch.
classes/integrations/class-wp-user-avatar.php 1 patch
Indentation   +39 added lines, -39 removed lines patch added patch discarded remove patch
@@ -8,46 +8,46 @@
 block discarded – undo
8 8
  */
9 9
 class WP_User_Avatar {
10 10
 
11
-	/**
12
-	 * Holds class instance
13
-	 *
14
-	 * @since 1.0.0
15
-	 *
16
-	 * @var      object \lsx_health_plan\classes\Woocommerce()
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\Woocommerce()
17
+      */
18
+     protected static $instance = null;
19 19
 
20
-	/**
21
-	 * Constructor
22
-	 */
23
-	public function __construct() {
24
-		add_filter( 'wpua_profile_title', array( $this, 'profile_title' ), 10, 1 );
25
-	}
20
+     /**
21
+      * Constructor
22
+      */
23
+     public function __construct() {
24
+          add_filter( 'wpua_profile_title', array( $this, 'profile_title' ), 10, 1 );
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\Woocommerce()    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\Woocommerce()    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
-	 * Changes the profile title
44
-	 *
45
-	 * @param  string $title
46
-	 * @return string
47
-	 */
48
-	public function profile_title( $title ) {
49
-		$title = '<h3>' . __( 'My Profile', 'lsx-health-plan' ) . '</h3>';
50
-		$title .= '<p class="tagline">' . __( 'Please upload an image of yourself in .jpeg format. Images should be square, to best fit the cropping area, and files sizes kept below 500kb.', 'lsx-health-plan' ) . '</p>';
51
-		return $title;
52
-	}
42
+     /**
43
+      * Changes the profile title
44
+      *
45
+      * @param  string $title
46
+      * @return string
47
+      */
48
+     public function profile_title( $title ) {
49
+          $title = '<h3>' . __( 'My Profile', 'lsx-health-plan' ) . '</h3>';
50
+          $title .= '<p class="tagline">' . __( 'Please upload an image of yourself in .jpeg format. Images should be square, to best fit the cropping area, and files sizes kept below 500kb.', 'lsx-health-plan' ) . '</p>';
51
+          return $title;
52
+     }
53 53
 }
Please login to merge, or discard this patch.
classes/integrations/class-facetwp.php 1 patch
Indentation   +55 added lines, -55 removed lines patch added patch discarded remove patch
@@ -8,65 +8,65 @@
 block discarded – undo
8 8
  */
9 9
 class FacetWP {
10 10
 
11
-	/**
12
-	 * Holds class instance
13
-	 *
14
-	 * @var      object \lsx_health_plan\classes\FacetWP()
15
-	 */
16
-	protected static $instance = null;
11
+     /**
12
+      * Holds class instance
13
+      *
14
+      * @var      object \lsx_health_plan\classes\FacetWP()
15
+      */
16
+     protected static $instance = null;
17 17
 
18
-	/**
19
-	 * Holds the indexer filters for the workouts.
20
-	 *
21
-	 * @var      object \lsx_health_plan\classes\integrations\FacetWP\Workouts_Indexer()
22
-	 */
23
-	public $workouts = null;
18
+     /**
19
+      * Holds the indexer filters for the workouts.
20
+      *
21
+      * @var      object \lsx_health_plan\classes\integrations\FacetWP\Workouts_Indexer()
22
+      */
23
+     public $workouts = null;
24 24
 
25
-	/**
26
-	 * Constructor
27
-	 */
28
-	public function __construct() {
29
-		$this->load_classes();
30
-		add_filter( 'facetwp_facet_sources', array( $this, 'register_sources' ) );
31
-	}
25
+     /**
26
+      * Constructor
27
+      */
28
+     public function __construct() {
29
+          $this->load_classes();
30
+          add_filter( 'facetwp_facet_sources', array( $this, 'register_sources' ) );
31
+     }
32 32
 
33
-	/**
34
-	 * Return an instance of this class.
35
-	 *
36
-	 * @since 1.0.0
37
-	 *
38
-	 * @return    object \lsx_health_plan\classes\FacetWP()    A single instance of this class.
39
-	 */
40
-	public static function get_instance() {
41
-		// If the single instance hasn't been set, set it now.
42
-		if ( null === self::$instance ) {
43
-			self::$instance = new self();
44
-		}
45
-		return self::$instance;
46
-	}
33
+     /**
34
+      * Return an instance of this class.
35
+      *
36
+      * @since 1.0.0
37
+      *
38
+      * @return    object \lsx_health_plan\classes\FacetWP()    A single instance of this class.
39
+      */
40
+     public static function get_instance() {
41
+          // If the single instance hasn't been set, set it now.
42
+          if ( null === self::$instance ) {
43
+               self::$instance = new self();
44
+          }
45
+          return self::$instance;
46
+     }
47 47
 
48
-	/**
49
-	 * Loads the variable classes and the static classes.
50
-	 */
51
-	private function load_classes() {
52
-		require_once LSX_HEALTH_PLAN_PATH . 'classes/integrations/facetwp/class-connected-plans.php';
53
-		$this->connected_plans = integrations\facetwp\Connected_Plans::get_instance();
54
-	}
48
+     /**
49
+      * Loads the variable classes and the static classes.
50
+      */
51
+     private function load_classes() {
52
+          require_once LSX_HEALTH_PLAN_PATH . 'classes/integrations/facetwp/class-connected-plans.php';
53
+          $this->connected_plans = integrations\facetwp\Connected_Plans::get_instance();
54
+     }
55 55
 
56
-	/**
57
-	 * Registers the custom sources.
58
-	 *
59
-	 * @param array $sources
60
-	 * @return array
61
-	 */
62
-	public function register_sources( $sources ) {
63
-		$sources['lsx_health_plan'] = array(
64
-			'label'   => __( 'LSX Health Plan', 'lsx-health-plan' ),
65
-			'choices' => array(
66
-				'lsx_hp/connected_plans' => 'Connected Plans',
67
-			),
68
-		);
56
+     /**
57
+      * Registers the custom sources.
58
+      *
59
+      * @param array $sources
60
+      * @return array
61
+      */
62
+     public function register_sources( $sources ) {
63
+          $sources['lsx_health_plan'] = array(
64
+               'label'   => __( 'LSX Health Plan', 'lsx-health-plan' ),
65
+               'choices' => array(
66
+                    'lsx_hp/connected_plans' => 'Connected Plans',
67
+               ),
68
+          );
69 69
 
70
-		return $sources;
71
-	}
70
+          return $sources;
71
+     }
72 72
 }
Please login to merge, or discard this patch.
classes/integrations/class-woocommerce.php 1 patch
Indentation   +79 added lines, -79 removed lines patch added patch discarded remove patch
@@ -8,95 +8,95 @@
 block discarded – undo
8 8
  */
9 9
 class Woocommerce {
10 10
 
11
-	/**
12
-	 * Holds class instance
13
-	 *
14
-	 * @var      object \lsx_health_plan\classes\Woocommerce()
15
-	 */
16
-	protected static $instance = null;
11
+     /**
12
+      * Holds class instance
13
+      *
14
+      * @var      object \lsx_health_plan\classes\Woocommerce()
15
+      */
16
+     protected static $instance = null;
17 17
 
18
-	/**
19
-	 * Holds class Account functionality
20
-	 *
21
-	 * @var      object \lsx_health_plan\classes\integrations\woocommerce\Admin()
22
-	 */
23
-	public $admin = null;
18
+     /**
19
+      * Holds class Account functionality
20
+      *
21
+      * @var      object \lsx_health_plan\classes\integrations\woocommerce\Admin()
22
+      */
23
+     public $admin = null;
24 24
 
25
-	/**
26
-	 * Holds class Account functionality
27
-	 *
28
-	 * @var      object \lsx_health_plan\classes\integrations\woocommerce\Account()
29
-	 */
30
-	public $account = null;
25
+     /**
26
+      * Holds class Account functionality
27
+      *
28
+      * @var      object \lsx_health_plan\classes\integrations\woocommerce\Account()
29
+      */
30
+     public $account = null;
31 31
 
32
-	/**
33
-	 * Holds class Plans functionality
34
-	 *
35
-	 * @var      object \lsx_health_plan\classes\integrations\woocommerce\Plans()
36
-	 */
37
-	public $plans = null;
32
+     /**
33
+      * Holds class Plans functionality
34
+      *
35
+      * @var      object \lsx_health_plan\classes\integrations\woocommerce\Plans()
36
+      */
37
+     public $plans = null;
38 38
 
39
-	/**
40
-	 * Holds class Login functionality
41
-	 *
42
-	 * @var      object \lsx_health_plan\classes\integrations\woocommerce\Login()
43
-	 */
44
-	public $login = null;
39
+     /**
40
+      * Holds class Login functionality
41
+      *
42
+      * @var      object \lsx_health_plan\classes\integrations\woocommerce\Login()
43
+      */
44
+     public $login = null;
45 45
 
46
-	/**
47
-	 * Holds class Checkout functionality
48
-	 *
49
-	 * @var      object \lsx_health_plan\classes\integrations\woocommerce\Checkout()
50
-	 */
51
-	public $checkout = null;
46
+     /**
47
+      * Holds class Checkout functionality
48
+      *
49
+      * @var      object \lsx_health_plan\classes\integrations\woocommerce\Checkout()
50
+      */
51
+     public $checkout = null;
52 52
 
53
-	/**
54
-	 * Constructor
55
-	 */
56
-	public function __construct() {
57
-		$this->load_classes();
58
-		$this->load_includes();
59
-	}
53
+     /**
54
+      * Constructor
55
+      */
56
+     public function __construct() {
57
+          $this->load_classes();
58
+          $this->load_includes();
59
+     }
60 60
 
61
-	/**
62
-	 * Return an instance of this class.
63
-	 *
64
-	 * @since 1.0.0
65
-	 *
66
-	 * @return    object \lsx_health_plan\classes\Woocommerce()    A single instance of this class.
67
-	 */
68
-	public static function get_instance() {
69
-		// If the single instance hasn't been set, set it now.
70
-		if ( null === self::$instance ) {
71
-			self::$instance = new self();
72
-		}
73
-		return self::$instance;
74
-	}
61
+     /**
62
+      * Return an instance of this class.
63
+      *
64
+      * @since 1.0.0
65
+      *
66
+      * @return    object \lsx_health_plan\classes\Woocommerce()    A single instance of this class.
67
+      */
68
+     public static function get_instance() {
69
+          // If the single instance hasn't been set, set it now.
70
+          if ( null === self::$instance ) {
71
+               self::$instance = new self();
72
+          }
73
+          return self::$instance;
74
+     }
75 75
 
76
-	/**
77
-	 * Loads the variable classes and the static classes.
78
-	 */
79
-	private function load_classes() {
80
-		require_once LSX_HEALTH_PLAN_PATH . 'classes/integrations/woocommerce/class-admin.php';
81
-		$this->admin = integrations\woocommerce\Admin::get_instance();
76
+     /**
77
+      * Loads the variable classes and the static classes.
78
+      */
79
+     private function load_classes() {
80
+          require_once LSX_HEALTH_PLAN_PATH . 'classes/integrations/woocommerce/class-admin.php';
81
+          $this->admin = integrations\woocommerce\Admin::get_instance();
82 82
 
83
-		require_once LSX_HEALTH_PLAN_PATH . 'classes/integrations/woocommerce/class-account.php';
84
-		$this->account = integrations\woocommerce\Account::get_instance();
83
+          require_once LSX_HEALTH_PLAN_PATH . 'classes/integrations/woocommerce/class-account.php';
84
+          $this->account = integrations\woocommerce\Account::get_instance();
85 85
 
86
-		require_once LSX_HEALTH_PLAN_PATH . 'classes/integrations/woocommerce/class-plans.php';
87
-		$this->plans = integrations\woocommerce\Plans::get_instance();
86
+          require_once LSX_HEALTH_PLAN_PATH . 'classes/integrations/woocommerce/class-plans.php';
87
+          $this->plans = integrations\woocommerce\Plans::get_instance();
88 88
 
89
-		require_once LSX_HEALTH_PLAN_PATH . 'classes/integrations/woocommerce/class-login.php';
90
-		$this->login = integrations\woocommerce\Login::get_instance();
89
+          require_once LSX_HEALTH_PLAN_PATH . 'classes/integrations/woocommerce/class-login.php';
90
+          $this->login = integrations\woocommerce\Login::get_instance();
91 91
 
92
-		require_once LSX_HEALTH_PLAN_PATH . 'classes/integrations/woocommerce/class-checkout.php';
93
-		$this->checkout = integrations\woocommerce\Checkout::get_instance();
94
-	}
95
-	/**
96
-	 * Loads the includes
97
-	 */
98
-	private function load_includes() {
99
-		require_once LSX_HEALTH_PLAN_PATH . 'includes/functions/woocommerce.php';
100
-		require_once LSX_HEALTH_PLAN_PATH . 'includes/template-tags/woocommerce.php';
101
-	}
92
+          require_once LSX_HEALTH_PLAN_PATH . 'classes/integrations/woocommerce/class-checkout.php';
93
+          $this->checkout = integrations\woocommerce\Checkout::get_instance();
94
+     }
95
+     /**
96
+      * Loads the includes
97
+      */
98
+     private function load_includes() {
99
+          require_once LSX_HEALTH_PLAN_PATH . 'includes/functions/woocommerce.php';
100
+          require_once LSX_HEALTH_PLAN_PATH . 'includes/template-tags/woocommerce.php';
101
+     }
102 102
 }
Please login to merge, or discard this patch.
classes/integrations/facetwp/class-connected-plans.php 1 patch
Indentation   +169 added lines, -169 removed lines patch added patch discarded remove patch
@@ -8,173 +8,173 @@
 block discarded – undo
8 8
  */
9 9
 class Connected_Plans {
10 10
 
11
-	/**
12
-	 * Holds class instance
13
-	 *
14
-	 * @since 1.0.0
15
-	 *
16
-	 * @var      object \lsx_health_plan\classes\integrations\facetwp\Connected_Plans()
17
-	 */
18
-	protected static $instance = null;
19
-
20
-	/**
21
-	 * This hold the current plan IDS, in case they need to be used in additional functions.
22
-	 *
23
-	 * @var array
24
-	 */
25
-	public $current_plan_ids = array();
26
-
27
-	/**
28
-	 * Constructor
29
-	 */
30
-	public function __construct() {
31
-		//add_filter( 'facetwp_index_row', array( $this, 'facetwp_index_row' ), 10, 2 );
32
-		add_filter( 'facetwp_indexer_post_facet', array( $this, 'facetwp_indexer_post_facet' ), 10, 2 );
33
-	}
34
-
35
-	/**
36
-	 * Return an instance of this class.
37
-	 *
38
-	 * @since 1.0.0
39
-	 *
40
-	 * @return    object \lsx_health_plan\classes\integration\facetwp\Connected_Plans()    A single instance of this class.
41
-	 */
42
-	public static function get_instance() {
43
-		// If the single instance hasn't been set, set it now.
44
-		if ( null === self::$instance ) {
45
-			self::$instance = new self();
46
-		}
47
-		return self::$instance;
48
-	}
49
-
50
-	/**
51
-	 * Index the connected plan
52
-	 *
53
-	 * @param array $return
54
-	 * @param array $params
55
-	 * @return array
56
-	 */
57
-	public function facetwp_indexer_post_facet( $return, $params ) {
58
-		$facet    = $params['facet'];
59
-		$source   = isset( $facet['source'] ) ? $facet['source'] : '';
60
-
61
-		if ( 'lsx_hp/connected_plans' === $source ) {
62
-			$post_type = get_post_type( $params['defaults']['post_id'] );
63
-			switch ( $post_type ) {
64
-				case 'workout':
65
-					$return = $this->index_connected_plans( $params['defaults'] );
66
-					$this->index_exercises( $params['defaults'] );
67
-					break;
68
-
69
-				case 'recipe':
70
-					$return = $this->index_connected_plans( $params['defaults'] );
71
-					break;
72
-
73
-				case 'meal':
74
-					$return = $this->index_connected_plans( $params['defaults'] );
75
-					break;
76
-
77
-				default:
78
-					break;
79
-			}
80
-		}
81
-
82
-		// Reset the current plan ids array.
83
-		$this->current_plan_ids = array();
84
-		return $return;
85
-	}
86
-
87
-	/**
88
-	 * Adds the connected plan to the list of rows.
89
-	 *
90
-	 * @param array $rows
91
-	 * @param array $params
92
-	 * @return boolean
93
-	 */
94
-	public function index_connected_plans( $row ) {
95
-		$indexed         = false;
96
-		$top_level_plans = array();
97
-		// Get meals this exercise is connected to.
98
-		$plans = get_post_meta( $row['post_id'], 'connected_plans', true );
99
-
100
-		if ( ! empty( $plans ) ) {
101
-			$plan       = end( $plans );
102
-			$has_parent = wp_get_post_parent_id( $plan );
103
-			if ( 0 === $has_parent ) {
104
-				$top_level_plans[] = $plan;
105
-			} elseif ( false !== $top_level_plans ) {
106
-				$top_level_plans[] = $has_parent;
107
-			}
108
-		}
109
-		if ( ! empty( $top_level_plans ) && ( '' !== $top_level_plans ) ) {
110
-			$top_level_plans        = array_unique( $top_level_plans );
111
-			$this->current_plan_ids = $top_level_plans;
112
-			$indexed                = true;
113
-			foreach ( $top_level_plans as $plan_id ) {
114
-				$row['facet_value']         = $plan_id;
115
-				$row['facet_display_value'] = get_the_title( $plan_id );
116
-				FWP()->indexer->index_row( $row );
117
-			}
118
-		}
119
-		return $indexed;
120
-	}
121
-
122
-	/**
123
-	 * We index the exercises from the workouts.
124
-	 *
125
-	 * @param array $rows
126
-	 * @param array $params
127
-	 * @return void
128
-	 */
129
-	public function index_exercises( $row ) {
130
-		if ( empty( $this->current_plan_ids ) ) {
131
-			return;
132
-		}
133
-		$i                  = 1;
134
-		$section_counter    = 6;
135
-		$unique_connections = array();
136
-
137
-		while ( $i <= $section_counter ) {
138
-			// Here we grab the exercises and we add them to the index with the plan IDS.
139
-			$groups = get_post_meta( $row['post_id'], 'workout_section_' . $i, true );
140
-			if ( ! empty( $groups ) ) {
141
-				foreach ( $groups as $group ) {
142
-					if ( isset( $group['connected_exercises'] ) && '' !== $group['connected_exercises'] ) {
143
-
144
-						if ( ! is_array( $group['connected_exercises'] ) ) {
145
-							$group['connected_exercises'] = array( $group['connected_exercises'] );
146
-						}
147
-
148
-						// Loop through each exercise and add it to the plan.
149
-						foreach ( $group['connected_exercises'] as $eid ) {
150
-							$exercise_default            = $row;
151
-							$exercise_default['post_id'] = $eid;
152
-
153
-							foreach ( $this->current_plan_ids as $plan_id ) {
154
-								// Check to see if this connection has been added already.
155
-								if ( isset( $unique_connections[ $eid . '_' . $plan_id ] ) ) {
156
-									continue;
157
-								}
158
-
159
-								$title = get_the_title( $plan_id );
160
-								if ( ! empty( $title ) ) {
161
-									$exercise_default['facet_value']             = $plan_id;
162
-									$exercise_default['facet_display_value']     = $title;
163
-									$unique_connections[ $eid . '_' . $plan_id ] = $exercise_default;
164
-								}
165
-							}
166
-						}
167
-					}
168
-				}
169
-			}
170
-			$i++;
171
-		}
172
-
173
-		// If we have some unique connections, we index them.
174
-		if ( ! empty( $unique_connections ) ) {
175
-			foreach ( $unique_connections as $unique_row ) {
176
-				FWP()->indexer->index_row( $unique_row );
177
-			}
178
-		}
179
-	}
11
+     /**
12
+      * Holds class instance
13
+      *
14
+      * @since 1.0.0
15
+      *
16
+      * @var      object \lsx_health_plan\classes\integrations\facetwp\Connected_Plans()
17
+      */
18
+     protected static $instance = null;
19
+
20
+     /**
21
+      * This hold the current plan IDS, in case they need to be used in additional functions.
22
+      *
23
+      * @var array
24
+      */
25
+     public $current_plan_ids = array();
26
+
27
+     /**
28
+      * Constructor
29
+      */
30
+     public function __construct() {
31
+          //add_filter( 'facetwp_index_row', array( $this, 'facetwp_index_row' ), 10, 2 );
32
+          add_filter( 'facetwp_indexer_post_facet', array( $this, 'facetwp_indexer_post_facet' ), 10, 2 );
33
+     }
34
+
35
+     /**
36
+      * Return an instance of this class.
37
+      *
38
+      * @since 1.0.0
39
+      *
40
+      * @return    object \lsx_health_plan\classes\integration\facetwp\Connected_Plans()    A single instance of this class.
41
+      */
42
+     public static function get_instance() {
43
+          // If the single instance hasn't been set, set it now.
44
+          if ( null === self::$instance ) {
45
+               self::$instance = new self();
46
+          }
47
+          return self::$instance;
48
+     }
49
+
50
+     /**
51
+      * Index the connected plan
52
+      *
53
+      * @param array $return
54
+      * @param array $params
55
+      * @return array
56
+      */
57
+     public function facetwp_indexer_post_facet( $return, $params ) {
58
+          $facet    = $params['facet'];
59
+          $source   = isset( $facet['source'] ) ? $facet['source'] : '';
60
+
61
+          if ( 'lsx_hp/connected_plans' === $source ) {
62
+               $post_type = get_post_type( $params['defaults']['post_id'] );
63
+               switch ( $post_type ) {
64
+                    case 'workout':
65
+                         $return = $this->index_connected_plans( $params['defaults'] );
66
+                         $this->index_exercises( $params['defaults'] );
67
+                         break;
68
+
69
+                    case 'recipe':
70
+                         $return = $this->index_connected_plans( $params['defaults'] );
71
+                         break;
72
+
73
+                    case 'meal':
74
+                         $return = $this->index_connected_plans( $params['defaults'] );
75
+                         break;
76
+
77
+                    default:
78
+                         break;
79
+               }
80
+          }
81
+
82
+          // Reset the current plan ids array.
83
+          $this->current_plan_ids = array();
84
+          return $return;
85
+     }
86
+
87
+     /**
88
+      * Adds the connected plan to the list of rows.
89
+      *
90
+      * @param array $rows
91
+      * @param array $params
92
+      * @return boolean
93
+      */
94
+     public function index_connected_plans( $row ) {
95
+          $indexed         = false;
96
+          $top_level_plans = array();
97
+          // Get meals this exercise is connected to.
98
+          $plans = get_post_meta( $row['post_id'], 'connected_plans', true );
99
+
100
+          if ( ! empty( $plans ) ) {
101
+               $plan       = end( $plans );
102
+               $has_parent = wp_get_post_parent_id( $plan );
103
+               if ( 0 === $has_parent ) {
104
+                    $top_level_plans[] = $plan;
105
+               } elseif ( false !== $top_level_plans ) {
106
+                    $top_level_plans[] = $has_parent;
107
+               }
108
+          }
109
+          if ( ! empty( $top_level_plans ) && ( '' !== $top_level_plans ) ) {
110
+               $top_level_plans        = array_unique( $top_level_plans );
111
+               $this->current_plan_ids = $top_level_plans;
112
+               $indexed                = true;
113
+               foreach ( $top_level_plans as $plan_id ) {
114
+                    $row['facet_value']         = $plan_id;
115
+                    $row['facet_display_value'] = get_the_title( $plan_id );
116
+                    FWP()->indexer->index_row( $row );
117
+               }
118
+          }
119
+          return $indexed;
120
+     }
121
+
122
+     /**
123
+      * We index the exercises from the workouts.
124
+      *
125
+      * @param array $rows
126
+      * @param array $params
127
+      * @return void
128
+      */
129
+     public function index_exercises( $row ) {
130
+          if ( empty( $this->current_plan_ids ) ) {
131
+               return;
132
+          }
133
+          $i                  = 1;
134
+          $section_counter    = 6;
135
+          $unique_connections = array();
136
+
137
+          while ( $i <= $section_counter ) {
138
+               // Here we grab the exercises and we add them to the index with the plan IDS.
139
+               $groups = get_post_meta( $row['post_id'], 'workout_section_' . $i, true );
140
+               if ( ! empty( $groups ) ) {
141
+                    foreach ( $groups as $group ) {
142
+                         if ( isset( $group['connected_exercises'] ) && '' !== $group['connected_exercises'] ) {
143
+
144
+                              if ( ! is_array( $group['connected_exercises'] ) ) {
145
+                                   $group['connected_exercises'] = array( $group['connected_exercises'] );
146
+                              }
147
+
148
+                              // Loop through each exercise and add it to the plan.
149
+                              foreach ( $group['connected_exercises'] as $eid ) {
150
+                                   $exercise_default            = $row;
151
+                                   $exercise_default['post_id'] = $eid;
152
+
153
+                                   foreach ( $this->current_plan_ids as $plan_id ) {
154
+                                        // Check to see if this connection has been added already.
155
+                                        if ( isset( $unique_connections[ $eid . '_' . $plan_id ] ) ) {
156
+                                             continue;
157
+                                        }
158
+
159
+                                        $title = get_the_title( $plan_id );
160
+                                        if ( ! empty( $title ) ) {
161
+                                             $exercise_default['facet_value']             = $plan_id;
162
+                                             $exercise_default['facet_display_value']     = $title;
163
+                                             $unique_connections[ $eid . '_' . $plan_id ] = $exercise_default;
164
+                                        }
165
+                                   }
166
+                              }
167
+                         }
168
+                    }
169
+               }
170
+               $i++;
171
+          }
172
+
173
+          // If we have some unique connections, we index them.
174
+          if ( ! empty( $unique_connections ) ) {
175
+               foreach ( $unique_connections as $unique_row ) {
176
+                    FWP()->indexer->index_row( $unique_row );
177
+               }
178
+          }
179
+     }
180 180
 }
Please login to merge, or discard this patch.
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.