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' );
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
		}
0 ignored issues
show
Expected 1 blank line before closing function brace; 0 found
Loading history...
Expected 2 blank lines after function; 1 found
Loading history...
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 ) {
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