Issues (1724)

classes/class-lsx-customizer-frontend.php (2 issues)

1
<?php
2
if ( ! class_exists( 'LSX_Customizer_Frontend' ) ) {
3
4
	/**
5
	 * LSX Customizer Frontend Class
6
	 *
7
	 * @package   LSX Customizer
8
	 * @author    LightSpeed
9
	 * @license   GPL3
10
	 * @link
11
	 * @copyright 2016 LightSpeed
12
	 */
13
	class LSX_Customizer_Frontend extends LSX_Customizer {
14
15
		/**
16
		 * Constructor.
17
		 *
18
		 * @since 1.0.0
19
		 */
20
		public function __construct() {
21
			add_action( 'wp_enqueue_scripts', array( $this, 'assets' ), 2999 );
22
			add_action( 'wp_enqueue_scripts', array( $this, 'lsx_customizer_color_palette_css' ), 2999 );
23
			add_action( 'wp', array( $this, 'layout' ), 2999 );
24
			add_action( 'wp', array( $this, 'lsx_distraction_free_checkout' ), 2999 );
25
			add_action( 'wp', array( $this, 'lsx_customizer_two_step_checkout' ) );
26
			add_action( 'after_setup_theme', array( $this, 'lsx_customizer_color_palette_setup' ), 100 );
27
		}
28
29
		/**
30
		 * Enques the assets.
31
		 *
32
		 * @since 1.0.0
33
		 */
34
		public function assets() {
35
			wp_enqueue_script( 'lsx-customizer', LSX_CUSTOMIZER_URL . 'assets/js/lsx-customizer.min.js', array( 'jquery' ), LSX_CUSTOMIZER_VER, true );
36
37
			$params = apply_filters( 'lsx_customizer_js_params', array(
38
				'ajax_url' => admin_url( 'admin-ajax.php' ),
39
			));
40
41
			wp_localize_script( 'lsx-customizer', 'lsx_customizer_params', $params );
42
43
			wp_enqueue_style( 'lsx-customizer', LSX_CUSTOMIZER_URL . 'assets/css/lsx-customizer.css', array(), LSX_CUSTOMIZER_VER );
44
			wp_style_add_data( 'lsx-customizer', 'rtl', 'replace' );
45
46
			$two_step_checkout = get_theme_mod( 'lsx_two_step_checkout', false );
47
			if ( class_exists( 'WooCommerce' ) && function_exists( 'is_checkout' ) && is_checkout() && ! empty( $two_step_checkout ) ) {
48
49
				wp_enqueue_script( 'flexslider', LSX_CUSTOMIZER_URL . 'assets/js/jquery.flexslider.min.js', array( 'jquery' ), '2.5.0' );
0 ignored issues
show
In footer ($in_footer) is not set explicitly wp_enqueue_script; It is recommended to load scripts in the footer. Please set this value to true to load it in the footer, or explicitly false if it should be loaded in the header.
Loading history...
50
			}
51
52
		}
53
54
		/**
55
		 * Enqueues front-end colour palette CSS.
56
		 *
57
		 * @since 1.0.0
58
		 */
59
		public function lsx_customizer_color_palette_css() {
60
			$styles = '
61
			.container #primary.content-area .has-primary-color-background-color {
62
				background-color:' . get_theme_mod( 'primary_color', '#428bca' ) . ';
63
			}
64
			.container #primary.content-area .has-primary-color-color {
65
				color: ' . get_theme_mod( 'primary_color', '#428bca' ) . ';
66
			}
67
68
			.container #primary.content-area .has-strong-primary-color-background-color {
69
				background-color:' . get_theme_mod( 'strong_primary_color', '#2a6496' ) . ';
70
			}
71
			.container #primary.content-area .has-strong-primary-color-color {
72
				color: ' . get_theme_mod( 'strong_primary_color', '#2a6496' ) . ';
73
			}
74
75
			.container #primary.content-area .has-cta-color-background-color {
76
				background-color:' . get_theme_mod( 'call_to_action_color', '#f7941d' ) . ';
77
			}
78
			.container #primary.content-area .has-cta-color-color {
79
				color: ' . get_theme_mod( 'call_to_action_color', '#f7941d' ) . ';
80
			}
81
82
			.container #primary.content-area .has-strong-cta-color-background-color {
83
				background-color:' . get_theme_mod( 'strong_cta_color', '#f7741d' ) . ';
84
			}
85
			.container #primary.content-area .has-strong-cta-color-color {
86
				color: ' . get_theme_mod( 'strong_cta_color', '#f7741d' ) . ';
87
			}
88
89
			.container #primary.content-area .has-strong-cta-color-background-color {
90
				background-color:' . get_theme_mod( 'strong_cta_color', '#f7741d' ) . ';
91
			}
92
			.container #primary.content-area .has-strong-cta-color-color {
93
				color: ' . get_theme_mod( 'strong_cta_color', '#f7741d' ) . ';
94
			}
95
96
			.container #primary.content-area .has-secondary-color-background-color {
97
				background-color:' . get_theme_mod( 'secondary_color', '#eaeaea' ) . ';
98
			}
99
			.container #primary.content-area .has-secondary-color-color {
100
				color: ' . get_theme_mod( 'secondary_color', '#eaeaea' ) . ';
101
			}
102
103
			.container #primary.content-area .has-strong-secondary-color-background-color {
104
				background-color:' . get_theme_mod( 'strong_secondary_color', '#c4c4c4' ) . ';
105
			}
106
			.container #primary.content-area .has-strong-secondary-color-color {
107
				color: ' . get_theme_mod( 'strong_secondary_color', '#c4c4c4' ) . ';
108
			}
109
110
			.container #primary.content-area .has-tertiary-color-background-color {
111
				background-color:' . get_theme_mod( 'tertiary_color', '#6BA913' ) . ';
112
			}
113
			.container #primary.content-area .has-tertiary-color-color {
114
				color: ' . get_theme_mod( 'tertiary_color', '#6BA913' ) . ';
115
			}
116
117
			.container #primary.content-area .has-strong-tertiary-color-background-color {
118
				background-color:' . get_theme_mod( 'strong_tertiary_color', '#3F640B' ) . ';
119
			}
120
			.container #primary.content-area .has-strong-tertiary-color-color {
121
				color: ' . get_theme_mod( 'strong_tertiary_color', '#3F640B' ) . ';
122
			}
123
124
			.container #primary.content-area .has-heading-color-background-color {
125
				background-color:' . get_theme_mod( 'heading_color', '#4a4a4a' ) . ';
126
			}
127
			.container #primary.content-area .has-heading-color-color {
128
				color: ' . get_theme_mod( 'heading_color', '#4a4a4a' ) . ';
129
			}
130
131
			.container #primary.content-area .has-body-color-background-color {
132
				background-color:' . get_theme_mod( 'body_text_color_color', '#444444' ) . ';
133
			}
134
			.container #primary.content-area .has-body-color-color {
135
				color: ' . get_theme_mod( 'body_text_color_color', '#444444' ) . ';
136
			}
137
138
			';
139
			wp_add_inline_style( 'lsx-customizer', $styles );
140
		}
141
142
		/**
143
		 * Layout.
144
		 *
145
		 * @since 1.0.0
146
		 */
147
		public function layout() {
148
			$theme_credit = get_theme_mod( 'lsx_theme_credit_status', true );
149
150
			if ( false == $theme_credit ) {
0 ignored issues
show
Found: ==. Use strict comparisons (=== or !==).
Loading history...
151
				add_filter( 'lsx_credit_link', '__return_false' );
152
			}
153
		}
154
155
		/**
156
		 * Create the distraction free checkout.
157
		 *
158
		 * @since 1.0.0
159
		 * @return  void
160
		 */
161
		public function lsx_distraction_free_checkout() {
162
163
			$distraction_free = get_theme_mod( 'lsx_distraction_free_checkout', false );
164
165
			if ( class_exists( 'WooCommerce' ) && function_exists( 'is_checkout' ) && is_checkout() && ! empty( $distraction_free ) ) {
166
				remove_action( 'lsx_body_bottom', 'lsx_wc_footer_bar', 15 );
167
168
			}
169
		}
170
171
		/**
172
		 * Create the two step checkout.
173
		 *
174
		 * @since   1.0.0
175
		 * @return  void
176
		 */
177
		public function lsx_customizer_two_step_checkout() {
178
			$two_step_checkout = get_theme_mod( 'lsx_two_step_checkout', false );
179
180
			if ( class_exists( 'WooCommerce' ) && function_exists( 'is_checkout' ) && is_checkout() && ! empty( $two_step_checkout ) ) {
181
				add_action( 'woocommerce_checkout_before_customer_details', 'lsx_customizer_checkout_form_wrapper_div', 1 );
182
				add_action( 'woocommerce_checkout_before_customer_details', 'lsx_customizer_checkout_form_wrapper', 2 );
183
				add_action( 'woocommerce_checkout_order_review', 'lsx_customizer_close_div', 30 );
184
				add_action( 'woocommerce_checkout_order_review', 'lsx_customizer_close_ul', 30 );
185
				add_action( 'woocommerce_checkout_before_customer_details', 'lsx_customizer_address_wrapper', 5 );
186
				add_action( 'woocommerce_checkout_after_customer_details', 'lsx_customizer_close_li' );
187
				add_action( 'wp_footer', 'lsx_customizer_fire_flexslider' );
188
				add_action( 'woocommerce_checkout_before_order_review', 'lsx_customizer_order_review_wrap', 1 );
189
				add_action( 'woocommerce_checkout_after_order_review', 'lsx_customizer_close_li', 40 );
190
			}
191
		}
192
193
		/**
194
		 * Editor color palette.
195
		 *
196
		 * @return void
197
		 */
198
		public function lsx_customizer_color_palette_setup() {
199
			add_theme_support( 'editor-color-palette', array(
200
				array(
201
					'name'  => esc_html__( 'Primary Colour', 'lsx-customizer' ),
202
					'slug'  => 'primary-color',
203
					'color' => get_theme_mod( 'primary_color', '#428bca' ),
204
				),
205
				array(
206
					'name'  => esc_html__( 'Strong Primary Colour', 'lsx-customizer' ),
207
					'slug'  => 'strong-primary-color',
208
					'color' => get_theme_mod( 'strong_primary_color', '#2a6496' ),
209
				),
210
				array(
211
					'name'  => esc_html__( 'CTA Colour', 'lsx-customizer' ),
212
					'slug'  => 'cta-color',
213
					'color' => get_theme_mod( 'call_to_action_color', '#f7941d' ),
214
				),
215
				array(
216
					'name'  => esc_html__( 'Strong CTA Colour', 'lsx-customizer' ),
217
					'slug'  => 'strong-cta-color',
218
					'color' => get_theme_mod( 'strong_cta_color', '#f7741d' ),
219
				),
220
				array(
221
					'name'  => esc_html__( 'Secondary Colour', 'lsx-customizer' ),
222
					'slug'  => 'secondary-color',
223
					'color' => get_theme_mod( 'secondary_color', '#eaeaea' ),
224
				),
225
				array(
226
					'name'  => esc_html__( 'Strong Secondary Colour', 'lsx-customizer' ),
227
					'slug'  => 'strong-secondary-color',
228
					'color' => get_theme_mod( 'strong_secondary_color', '#c4c4c4' ),
229
				),
230
				array(
231
					'name'  => esc_html__( 'Tertiary Colour', 'lsx-customizer' ),
232
					'slug'  => 'tertiary-color',
233
					'color' => get_theme_mod( 'tertiary_color', '#6BA913' ),
234
				),
235
				array(
236
					'name'  => esc_html__( 'Strong Tertiary Colour', 'lsx-customizer' ),
237
					'slug'  => 'strong-tertiary-color',
238
					'color' => get_theme_mod( 'strong_tertiary_color', '#3F640B' ),
239
				),
240
				array(
241
					'name'  => esc_html__( 'White', 'lsx-customizer' ),
242
					'slug'  => 'white',
243
					'color' => '#ffffff',
244
				),
245
				array(
246
					'name'  => esc_html__( 'Black', 'lsx-customizer' ),
247
					'slug'  => 'black',
248
					'color' => '#000000',
249
				),
250
			));
251
		}
252
253
	}
254
255
	new LSX_Customizer_Frontend();
256
257
}
258