Passed
Push — imgbot ( 14b5e4 )
by
unknown
08:51 queued 03:14
created
classes/class-lsx-customizer-colour-control.php 1 patch
Indentation   +42 added lines, -42 removed lines patch added patch discarded remove patch
@@ -1,66 +1,66 @@
 block discarded – undo
1 1
 <?php
2 2
 if ( ! class_exists( 'LSX_Customizer_Colour_Control' ) ) {
3 3
 
4
-	/**
5
-	 * LSX Customizer Colour Control Class
6
-	 *
7
-	 * @package   LSX Customizer
8
-	 * @author    LightSpeed
9
-	 * @license   GPL3
10
-	 * @link
11
-	 * @copyright 2016 LightSpeed
12
-	 */
13
-	class LSX_Customizer_Colour_Control extends WP_Customize_Control {
4
+     /**
5
+      * LSX Customizer Colour Control Class
6
+      *
7
+      * @package   LSX Customizer
8
+      * @author    LightSpeed
9
+      * @license   GPL3
10
+      * @link
11
+      * @copyright 2016 LightSpeed
12
+      */
13
+     class LSX_Customizer_Colour_Control extends WP_Customize_Control {
14 14
 
15
-		/**
16
-		 * Enqueue control related scripts/styles.
17
-		 *
18
-		 * @since 1.0.0
19
-		 */
20
-		public function enqueue() {
21
-			wp_enqueue_script( 'lsx_customizer_colour_admin', LSX_CUSTOMIZER_URL . 'assets/js/lsx-customizer-colour-admin.min.js', array( 'customize-controls', 'iris', 'underscore', 'wp-util' ), LSX_CUSTOMIZER_VER, true );
22
-			//wp_localize_script( 'lsx_customizer_colour_admin', 'color_scheme', $this->choices );
15
+          /**
16
+           * Enqueue control related scripts/styles.
17
+           *
18
+           * @since 1.0.0
19
+           */
20
+          public function enqueue() {
21
+               wp_enqueue_script( 'lsx_customizer_colour_admin', LSX_CUSTOMIZER_URL . 'assets/js/lsx-customizer-colour-admin.min.js', array( 'customize-controls', 'iris', 'underscore', 'wp-util' ), LSX_CUSTOMIZER_VER, true );
22
+               //wp_localize_script( 'lsx_customizer_colour_admin', 'color_scheme', $this->choices );
23 23
 
24
-			global $customizer_colour_names;
25
-			$colors = array();
26
-			foreach ( $customizer_colour_names as $key => $value ) {
27
-				$colors[] = $key;
28
-			}
29
-			wp_localize_script( 'lsx_customizer_colour_admin', 'color_scheme_keys', $colors );
30
-		}
24
+               global $customizer_colour_names;
25
+               $colors = array();
26
+               foreach ( $customizer_colour_names as $key => $value ) {
27
+                    $colors[] = $key;
28
+               }
29
+               wp_localize_script( 'lsx_customizer_colour_admin', 'color_scheme_keys', $colors );
30
+          }
31 31
 
32
-		/**
33
-		 * Render the control's content.
34
-		 *
35
-		 * @since 1.0.0
36
-		 */
37
-		public function render_content() {
38
-			if ( empty( $this->choices ) ) {
39
-				return;
40
-			}
32
+          /**
33
+           * Render the control's content.
34
+           *
35
+           * @since 1.0.0
36
+           */
37
+          public function render_content() {
38
+               if ( empty( $this->choices ) ) {
39
+                    return;
40
+               }
41 41
 
42
-			?>
42
+               ?>
43 43
 			<label>
44 44
 				<?php if ( ! empty( $this->label ) ) { ?>
45 45
 					<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
46 46
 				<?php
47 47
 }
48 48
 if ( ! empty( $this->description ) ) {
49
-					?>
49
+                         ?>
50 50
 					<span class="description customize-control-description"><?php echo esc_html( $this->description ); ?></span>
51 51
 				<?php } ?>
52 52
 				<select <?php $this->link(); ?>>
53 53
 					<?php
54
-					foreach ( $this->choices as $value => $label ) {
55
-							echo '<option value="' . esc_attr( $value ) . '"' . selected( $this->value(), $value, false ) . '>' . esc_html( $label['label'] ) . '</option>';
56
-					}
57
-					?>
54
+                         foreach ( $this->choices as $value => $label ) {
55
+                                   echo '<option value="' . esc_attr( $value ) . '"' . selected( $this->value(), $value, false ) . '>' . esc_html( $label['label'] ) . '</option>';
56
+                         }
57
+                         ?>
58 58
 				</select>
59 59
 			</label>
60 60
 		<?php
61
-		}
61
+          }
62 62
 
63
-	}
63
+     }
64 64
 
65 65
 }
66 66
 
Please login to merge, or discard this patch.
classes/class-lsx-customizer-admin.php 1 patch
Indentation   +52 added lines, -52 removed lines patch added patch discarded remove patch
@@ -1,62 +1,62 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if ( ! class_exists( 'LSX_Customizer_Admin' ) ) {
3 3
 
4
-	/**
5
-	 * LSX Customizer Admin Class
6
-	 *
7
-	 * @package   LSX Customizer
8
-	 * @author    LightSpeed
9
-	 * @license   GPL3
10
-	 * @link
11
-	 * @copyright 2016 LightSpeed
12
-	 */
13
-	class LSX_Customizer_Admin extends LSX_Customizer {
4
+     /**
5
+      * LSX Customizer Admin Class
6
+      *
7
+      * @package   LSX Customizer
8
+      * @author    LightSpeed
9
+      * @license   GPL3
10
+      * @link
11
+      * @copyright 2016 LightSpeed
12
+      */
13
+     class LSX_Customizer_Admin extends LSX_Customizer {
14 14
 
15
-		/**
16
-		 * Constructor.
17
-		 *
18
-		 * @since 1.0.0
19
-		 */
20
-		public function __construct() {
21
-			add_action( 'customize_preview_init', array( $this, 'assets' ), 9999 );
22
-			add_action( 'customize_controls_enqueue_scripts', array( $this, 'assets_wysiwyg_editor' ), 9999 );
15
+          /**
16
+           * Constructor.
17
+           *
18
+           * @since 1.0.0
19
+           */
20
+          public function __construct() {
21
+               add_action( 'customize_preview_init', array( $this, 'assets' ), 9999 );
22
+               add_action( 'customize_controls_enqueue_scripts', array( $this, 'assets_wysiwyg_editor' ), 9999 );
23 23
 
24
-			if ( is_admin() ) {
25
-				add_filter( 'lsx_customizer_colour_selectors_body', array( $this, 'customizer_body_colours_handler' ), 15, 2 );
26
-			}
27
-		}
24
+               if ( is_admin() ) {
25
+                    add_filter( 'lsx_customizer_colour_selectors_body', array( $this, 'customizer_body_colours_handler' ), 15, 2 );
26
+               }
27
+          }
28 28
 
29
-		/**
30
-		 * Enques the assets.
31
-		 *
32
-		 * @since 1.0.0
33
-		 */
34
-		public function assets() {
35
-			wp_enqueue_script( 'lsx_customizer_admin', LSX_CUSTOMIZER_URL . 'assets/js/lsx-customizer-admin.min.js', array( 'jquery' ), LSX_CUSTOMIZER_VER, true );
29
+          /**
30
+           * Enques the assets.
31
+           *
32
+           * @since 1.0.0
33
+           */
34
+          public function assets() {
35
+               wp_enqueue_script( 'lsx_customizer_admin', LSX_CUSTOMIZER_URL . 'assets/js/lsx-customizer-admin.min.js', array( 'jquery' ), LSX_CUSTOMIZER_VER, true );
36 36
 
37
-			$params = apply_filters( 'lsx_customizer_admin_js_params', array(
38
-				'ajax_url' => admin_url( 'admin-ajax.php' ),
39
-			));
37
+               $params = apply_filters( 'lsx_customizer_admin_js_params', array(
38
+                    'ajax_url' => admin_url( 'admin-ajax.php' ),
39
+               ));
40 40
 
41
-			wp_localize_script( 'lsx_customizer_admin', 'lsx_customizer_params', $params );
41
+               wp_localize_script( 'lsx_customizer_admin', 'lsx_customizer_params', $params );
42 42
 
43
-			wp_enqueue_style( 'lsx_customizer_admin', LSX_CUSTOMIZER_URL . 'assets/css/lsx-customizer-admin.css', array(), LSX_CUSTOMIZER_VER );
44
-		}
43
+               wp_enqueue_style( 'lsx_customizer_admin', LSX_CUSTOMIZER_URL . 'assets/css/lsx-customizer-admin.css', array(), LSX_CUSTOMIZER_VER );
44
+          }
45 45
 
46
-		/**
47
-		 * Enques the assets for editor.
48
-		 *
49
-		 * @since 1.1.1
50
-		 */
51
-		public function assets_wysiwyg_editor() {
52
-			wp_enqueue_script( 'lsx_customizer_editor', LSX_CUSTOMIZER_URL . 'assets/js/lsx-customizer-editor.min.js', array( 'jquery' ), LSX_CUSTOMIZER_VER, true );
53
-		}
46
+          /**
47
+           * Enques the assets for editor.
48
+           *
49
+           * @since 1.1.1
50
+           */
51
+          public function assets_wysiwyg_editor() {
52
+               wp_enqueue_script( 'lsx_customizer_editor', LSX_CUSTOMIZER_URL . 'assets/js/lsx-customizer-editor.min.js', array( 'jquery' ), LSX_CUSTOMIZER_VER, true );
53
+          }
54 54
 
55
-		/**
56
-		 * Handle body colours that might be change by LSX Customizer.
57
-		 */
58
-		public function customizer_body_colours_handler( $css, $colors ) {
59
-			$css .= '
55
+          /**
56
+           * Handle body colours that might be change by LSX Customizer.
57
+           */
58
+          public function customizer_body_colours_handler( $css, $colors ) {
59
+               $css .= '
60 60
 				@import "' . LSX_CUSTOMIZER_PATH . '/assets/css/scss/customizer-customizer-body-colours";
61 61
 
62 62
 				/**
@@ -72,11 +72,11 @@  discard block
 block discarded – undo
72 72
 				);
73 73
 			';
74 74
 
75
-			return $css;
76
-		}
75
+               return $css;
76
+          }
77 77
 
78
-	}
78
+     }
79 79
 
80
-	new LSX_Customizer_Admin();
80
+     new LSX_Customizer_Admin();
81 81
 
82 82
 }
Please login to merge, or discard this patch.
classes/class-lsx-customizer-colour-body.php 1 patch
Indentation   +130 added lines, -130 removed lines patch added patch discarded remove patch
@@ -1,131 +1,131 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if ( ! class_exists( 'LSX_Customizer_Colour_Body' ) ) {
3 3
 
4
-	/**
5
-	 * LSX Customizer Colour Body Class
6
-	 *
7
-	 * @package   LSX Customizer
8
-	 * @author    LightSpeed
9
-	 * @license   GPL3
10
-	 * @link
11
-	 * @copyright 2016 LightSpeed
12
-	 */
13
-	class LSX_Customizer_Colour_Body extends LSX_Customizer_Colour {
14
-
15
-		/**
16
-		 * Constructor.
17
-		 *
18
-		 * @since 1.0.0
19
-		 */
20
-		public function __construct() {
21
-			add_action( 'after_switch_theme',   array( $this, 'set_theme_mod' ) );
22
-			add_action( 'customize_save_after', array( $this, 'set_theme_mod' ) );
23
-
24
-			add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_css' ), 2999 );
25
-		}
26
-
27
-		/**
28
-		 * Assign CSS to theme mod.
29
-		 *
30
-		 * @since 1.0.0
31
-		 */
32
-		public function set_theme_mod() {
33
-			$theme_mods = $this->get_theme_mods();
34
-			$styles     = $this->get_css( $theme_mods );
35
-
36
-			set_theme_mod( 'lsx_customizer_colour__body_theme_mod', $styles );
37
-		}
38
-
39
-		/**
40
-		 * Enqueues front-end CSS.
41
-		 *
42
-		 * @since 1.0.0
43
-		 */
44
-		public function enqueue_css() {
45
-			$styles_from_theme_mod = get_theme_mod( 'lsx_customizer_colour__body_theme_mod' );
46
-
47
-			if ( is_customize_preview() || false === $styles_from_theme_mod ) {
48
-				$theme_mods = $this->get_theme_mods();
49
-				$styles     = $this->get_css( $theme_mods );
50
-
51
-				if ( false === $styles_from_theme_mod ) {
52
-					set_theme_mod( 'lsx_customizer_colour__body_theme_mod', $styles );
53
-				}
54
-			} else {
55
-				$styles = $styles_from_theme_mod;
56
-			}
57
-
58
-			wp_add_inline_style( 'lsx-customizer', $styles );
59
-		}
60
-
61
-		/**
62
-		 * Get CSS theme mods.
63
-		 *
64
-		 * @since 1.0.0
65
-		 */
66
-		public function get_theme_mods() {
67
-			$colors = parent::get_color_scheme();
68
-
69
-			$background_color = get_theme_mod( 'background_color', $colors['background_color'] );
70
-
71
-			if ( '#' !== substr( $background_color, 0, 1 ) ) {
72
-				$background_color = '#' . $background_color;
73
-			}
74
-
75
-			return apply_filters( 'lsx_customizer_colours_body', array(
76
-				'background_color'                       => $background_color,
77
-				'body_line_color'                        => get_theme_mod( 'body_line_color',                        $colors['body_line_color'] ),
78
-				'body_text_heading_color'                => get_theme_mod( 'body_text_heading_color',                $colors['body_text_heading_color'] ),
79
-				'body_text_small_color'                  => get_theme_mod( 'body_text_small_color',                  $colors['body_text_small_color'] ),
80
-				'body_text_color'                        => get_theme_mod( 'body_text_color',                        $colors['body_text_color'] ),
81
-				'body_link_color'                        => get_theme_mod( 'body_link_color',                        $colors['body_link_color'] ),
82
-				'body_link_hover_color'                  => get_theme_mod( 'body_link_hover_color',                  $colors['body_link_hover_color'] ),
83
-				'body_section_full_background_color'     => get_theme_mod( 'body_section_full_background_color',     $colors['body_section_full_background_color'] ),
84
-				'body_section_full_text_color'           => get_theme_mod( 'body_section_full_text_color',           $colors['body_section_full_text_color'] ),
85
-				'body_section_full_link_color'           => get_theme_mod( 'body_section_full_link_color',           $colors['body_section_full_link_color'] ),
86
-				'body_section_full_link_hover_color'     => get_theme_mod( 'body_section_full_link_hover_color',     $colors['body_section_full_link_hover_color'] ),
87
-				'body_section_full_cta_background_color' => get_theme_mod( 'body_section_full_cta_background_color', $colors['body_section_full_cta_background_color'] ),
88
-				'body_section_full_cta_text_color'       => get_theme_mod( 'body_section_full_cta_text_color',       $colors['body_section_full_cta_text_color'] ),
89
-				'body_section_full_cta_link_color'       => get_theme_mod( 'body_section_full_cta_link_color',       $colors['body_section_full_cta_link_color'] ),
90
-				'body_section_full_cta_link_hover_color' => get_theme_mod( 'body_section_full_cta_link_hover_color', $colors['body_section_full_cta_link_hover_color'] ),
91
-			) );
92
-		}
93
-
94
-		/**
95
-		 * Returns CSS.
96
-		 *
97
-		 * @since 1.0.0
98
-		 */
99
-		function get_css( $colors ) {
100
-			global $customizer_colour_names;
101
-
102
-			$colors_template = array();
103
-
104
-			foreach ( $customizer_colour_names as $key => $value ) {
105
-				$colors_template[ $key ] = '';
106
-			}
107
-
108
-			$colors = wp_parse_args( $colors, $colors_template );
109
-
110
-			if ( empty( $colors['background_color'] )
111
-				|| empty( $colors['body_line_color'] )
112
-				|| empty( $colors['body_text_heading_color'] )
113
-				|| empty( $colors['body_text_color'] )
114
-				|| empty( $colors['body_link_color'] )
115
-				|| empty( $colors['body_link_hover_color'] )
116
-				|| empty( $colors['body_text_small_color'] )
117
-				|| empty( $colors['body_section_full_background_color'] )
118
-				|| empty( $colors['body_section_full_text_color'] )
119
-				|| empty( $colors['body_section_full_link_color'] )
120
-				|| empty( $colors['body_section_full_link_hover_color'] )
121
-				|| empty( $colors['body_section_full_cta_background_color'] )
122
-				|| empty( $colors['body_section_full_cta_text_color'] )
123
-				|| empty( $colors['body_section_full_cta_link_color'] )
124
-				|| empty( $colors['body_section_full_cta_link_hover_color'] ) ) {
125
-				return '';
126
-			}
127
-
128
-			$css = '
4
+     /**
5
+      * LSX Customizer Colour Body Class
6
+      *
7
+      * @package   LSX Customizer
8
+      * @author    LightSpeed
9
+      * @license   GPL3
10
+      * @link
11
+      * @copyright 2016 LightSpeed
12
+      */
13
+     class LSX_Customizer_Colour_Body extends LSX_Customizer_Colour {
14
+
15
+          /**
16
+           * Constructor.
17
+           *
18
+           * @since 1.0.0
19
+           */
20
+          public function __construct() {
21
+               add_action( 'after_switch_theme',   array( $this, 'set_theme_mod' ) );
22
+               add_action( 'customize_save_after', array( $this, 'set_theme_mod' ) );
23
+
24
+               add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_css' ), 2999 );
25
+          }
26
+
27
+          /**
28
+           * Assign CSS to theme mod.
29
+           *
30
+           * @since 1.0.0
31
+           */
32
+          public function set_theme_mod() {
33
+               $theme_mods = $this->get_theme_mods();
34
+               $styles     = $this->get_css( $theme_mods );
35
+
36
+               set_theme_mod( 'lsx_customizer_colour__body_theme_mod', $styles );
37
+          }
38
+
39
+          /**
40
+           * Enqueues front-end CSS.
41
+           *
42
+           * @since 1.0.0
43
+           */
44
+          public function enqueue_css() {
45
+               $styles_from_theme_mod = get_theme_mod( 'lsx_customizer_colour__body_theme_mod' );
46
+
47
+               if ( is_customize_preview() || false === $styles_from_theme_mod ) {
48
+                    $theme_mods = $this->get_theme_mods();
49
+                    $styles     = $this->get_css( $theme_mods );
50
+
51
+                    if ( false === $styles_from_theme_mod ) {
52
+                         set_theme_mod( 'lsx_customizer_colour__body_theme_mod', $styles );
53
+                    }
54
+               } else {
55
+                    $styles = $styles_from_theme_mod;
56
+               }
57
+
58
+               wp_add_inline_style( 'lsx-customizer', $styles );
59
+          }
60
+
61
+          /**
62
+           * Get CSS theme mods.
63
+           *
64
+           * @since 1.0.0
65
+           */
66
+          public function get_theme_mods() {
67
+               $colors = parent::get_color_scheme();
68
+
69
+               $background_color = get_theme_mod( 'background_color', $colors['background_color'] );
70
+
71
+               if ( '#' !== substr( $background_color, 0, 1 ) ) {
72
+                    $background_color = '#' . $background_color;
73
+               }
74
+
75
+               return apply_filters( 'lsx_customizer_colours_body', array(
76
+                    'background_color'                       => $background_color,
77
+                    'body_line_color'                        => get_theme_mod( 'body_line_color',                        $colors['body_line_color'] ),
78
+                    'body_text_heading_color'                => get_theme_mod( 'body_text_heading_color',                $colors['body_text_heading_color'] ),
79
+                    'body_text_small_color'                  => get_theme_mod( 'body_text_small_color',                  $colors['body_text_small_color'] ),
80
+                    'body_text_color'                        => get_theme_mod( 'body_text_color',                        $colors['body_text_color'] ),
81
+                    'body_link_color'                        => get_theme_mod( 'body_link_color',                        $colors['body_link_color'] ),
82
+                    'body_link_hover_color'                  => get_theme_mod( 'body_link_hover_color',                  $colors['body_link_hover_color'] ),
83
+                    'body_section_full_background_color'     => get_theme_mod( 'body_section_full_background_color',     $colors['body_section_full_background_color'] ),
84
+                    'body_section_full_text_color'           => get_theme_mod( 'body_section_full_text_color',           $colors['body_section_full_text_color'] ),
85
+                    'body_section_full_link_color'           => get_theme_mod( 'body_section_full_link_color',           $colors['body_section_full_link_color'] ),
86
+                    'body_section_full_link_hover_color'     => get_theme_mod( 'body_section_full_link_hover_color',     $colors['body_section_full_link_hover_color'] ),
87
+                    'body_section_full_cta_background_color' => get_theme_mod( 'body_section_full_cta_background_color', $colors['body_section_full_cta_background_color'] ),
88
+                    'body_section_full_cta_text_color'       => get_theme_mod( 'body_section_full_cta_text_color',       $colors['body_section_full_cta_text_color'] ),
89
+                    'body_section_full_cta_link_color'       => get_theme_mod( 'body_section_full_cta_link_color',       $colors['body_section_full_cta_link_color'] ),
90
+                    'body_section_full_cta_link_hover_color' => get_theme_mod( 'body_section_full_cta_link_hover_color', $colors['body_section_full_cta_link_hover_color'] ),
91
+               ) );
92
+          }
93
+
94
+          /**
95
+           * Returns CSS.
96
+           *
97
+           * @since 1.0.0
98
+           */
99
+          function get_css( $colors ) {
100
+               global $customizer_colour_names;
101
+
102
+               $colors_template = array();
103
+
104
+               foreach ( $customizer_colour_names as $key => $value ) {
105
+                    $colors_template[ $key ] = '';
106
+               }
107
+
108
+               $colors = wp_parse_args( $colors, $colors_template );
109
+
110
+               if ( empty( $colors['background_color'] )
111
+                    || empty( $colors['body_line_color'] )
112
+                    || empty( $colors['body_text_heading_color'] )
113
+                    || empty( $colors['body_text_color'] )
114
+                    || empty( $colors['body_link_color'] )
115
+                    || empty( $colors['body_link_hover_color'] )
116
+                    || empty( $colors['body_text_small_color'] )
117
+                    || empty( $colors['body_section_full_background_color'] )
118
+                    || empty( $colors['body_section_full_text_color'] )
119
+                    || empty( $colors['body_section_full_link_color'] )
120
+                    || empty( $colors['body_section_full_link_hover_color'] )
121
+                    || empty( $colors['body_section_full_cta_background_color'] )
122
+                    || empty( $colors['body_section_full_cta_text_color'] )
123
+                    || empty( $colors['body_section_full_cta_link_color'] )
124
+                    || empty( $colors['body_section_full_cta_link_hover_color'] ) ) {
125
+                    return '';
126
+               }
127
+
128
+               $css = '
129 129
 				@import "' . get_template_directory() . '/assets/css/scss/global/mixins/content";
130 130
 
131 131
 				/**
@@ -150,12 +150,12 @@  discard block
 block discarded – undo
150 150
 				);
151 151
 			';
152 152
 
153
-			$css = apply_filters( 'lsx_customizer_colour_selectors_body', $css, $colors );
154
-			$css = parent::scss_to_css( $css );
153
+               $css = apply_filters( 'lsx_customizer_colour_selectors_body', $css, $colors );
154
+               $css = parent::scss_to_css( $css );
155 155
 
156
-			return $css;
157
-		}
156
+               return $css;
157
+          }
158 158
 
159
-	}
159
+     }
160 160
 
161 161
 }
Please login to merge, or discard this patch.
classes/class-lsx-customizer-frontend.php 1 patch
Indentation   +174 added lines, -174 removed lines patch added patch discarded remove patch
@@ -1,63 +1,63 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if ( ! class_exists( 'LSX_Customizer_Frontend' ) ) {
3 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 = '
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 61
 			.container #primary.content-area .has-primary-color-background-color {
62 62
 				background-color:' . get_theme_mod( 'primary_color', '#428bca' ) . ';
63 63
 			}
@@ -136,122 +136,122 @@  discard block
 block discarded – undo
136 136
 			}
137 137
 
138 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 ) {
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();
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 ) {
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 256
 
257 257
 }
Please login to merge, or discard this patch.
classes/class-lsx-customizer-login.php 1 patch
Indentation   +547 added lines, -547 removed lines patch added patch discarded remove patch
@@ -1,526 +1,526 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if ( ! class_exists( 'LSX_Customizer_Login' ) ) {
3 3
 
4
-	/**
5
-	 * LSX Customizer Login Class
6
-	 *
7
-	 * @package   LSX Customizer
8
-	 * @author    LightSpeed
9
-	 * @license   GPL3
10
-	 * @link
11
-	 * @copyright 2019 LightSpeed
12
-	 */
13
-	class LSX_Customizer_Login extends LSX_Customizer {
14
-
15
-		/**
16
-		 * Constructor.
17
-		 *
18
-		 * @since 1.0.0
19
-		 */
20
-		public function __construct() {
21
-			add_action( 'customize_register', array( $this, 'register_general' ), 20 );
22
-			add_action( 'customize_register', array( $this, 'register_form' ), 30 );
23
-			add_action( 'customize_register', array( $this, 'register_background' ), 40 );
24
-
25
-			add_action( 'after_switch_theme', array( $this, 'set_theme_mod' ) );
26
-			add_action( 'customize_save_after', array( $this, 'set_theme_mod' ) );
27
-			add_action( 'login_enqueue_scripts', array( $this, 'enqueue_css' ), 2999 );
28
-		}
29
-
30
-		/**
31
-		 * Customizer Controls and Settings.
32
-		 *
33
-		 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
34
-		 * @since 1.0.0
35
-		 */
36
-		public function register_general( $wp_customize ) {
37
-			/**
38
-			 * Register the main panel
39
-			 */
40
-			$wp_customize->add_panel(
41
-				'login',
42
-				array(
43
-					'title'    => esc_html__( 'WP Login Screen', 'lsx-customizer' ),
44
-					'priority' => 60,
45
-				)
46
-			);
47
-
48
-			/**
49
-			 * Reigster the Form section
50
-			 */
51
-			$wp_customize->add_section(
52
-				'login-general',
53
-				array(
54
-					'title'    => esc_html__( 'General', 'lsx-customizer' ),
55
-					'priority' => 1,
56
-					'panel'    => 'login',
57
-				)
58
-			);
59
-
60
-			/**
61
-			 * Select the background repeat.
62
-			 */
63
-			$wp_customize->add_setting(
64
-				'lsx_login_logo',
65
-				array(
66
-					'default'   => '',
67
-					'type'      => 'theme_mod',
68
-					'transport' => 'postMessage',
69
-				)
70
-			);
71
-
72
-			$wp_customize->add_control(
73
-				new WP_Customize_Image_Control(
74
-					$wp_customize,
75
-					'lsx_login_logo',
76
-					array(
77
-						'label'    => __( 'Upload a logo', 'lsx-customizer' ),
78
-						'section'  => 'login-general',
79
-						'settings' => 'lsx_login_logo',
80
-					)
81
-				)
82
-			);
83
-
84
-			/**
85
-			 * Link Colour
86
-			 */
87
-			$wp_customize->add_setting(
88
-				'lsx_login_link_colour',
89
-				array(
90
-					'default'   => '0085ba',
91
-					'type'      => 'theme_mod',
92
-					'transport' => 'postMessage',
93
-				)
94
-			);
95
-			$wp_customize->add_control(
96
-				new WP_Customize_Color_Control(
97
-					$wp_customize,
98
-					'lsx_login_link_colour',
99
-					array(
100
-						'label'    => __( 'Link Colour', 'lsx-customizer' ),
101
-						'section'  => 'login-general',
102
-						'settings' => 'lsx_login_link_colour',
103
-					)
104
-				)
105
-			);
106
-
107
-			/**
108
-			 * Link Hover Colour
109
-			 */
110
-			$wp_customize->add_setting(
111
-				'lsx_login_link_hover_colour',
112
-				array(
113
-					'default'   => '000000',
114
-					'type'      => 'theme_mod',
115
-					'transport' => 'postMessage',
116
-				)
117
-			);
118
-			$wp_customize->add_control(
119
-				new WP_Customize_Color_Control(
120
-					$wp_customize,
121
-					'lsx_login_link_hover_colour',
122
-					array(
123
-						'label'    => __( 'Link Hover Colour', 'lsx-customizer' ),
124
-						'section'  => 'login-general',
125
-						'settings' => 'lsx_login_link_hover_colour',
126
-					)
127
-				)
128
-			);
129
-
130
-			/**
131
-			 * Add in the custom CSS.
132
-			 */
133
-			$wp_customize->add_setting(
134
-				'lsx_login_custom_css',
135
-				array(
136
-					'default'   => '',
137
-					'type'      => 'theme_mod',
138
-					'transport' => 'postMessage',
139
-				)
140
-			);
141
-			$wp_customize->add_control(
142
-				new WP_Customize_Control(
143
-					$wp_customize,
144
-					'lsx_login_custom_css',
145
-					array(
146
-						'label'    => __( 'Custom CSS', 'lsx-customizer' ),
147
-						'section'  => 'login-general',
148
-						'settings' => 'lsx_login_custom_css',
149
-						'type'     => 'textarea',
150
-					)
151
-				)
152
-			);
153
-		}
154
-
155
-		/**
156
-		 * Customizer Controls and Settings.
157
-		 *
158
-		 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
159
-		 * @since 1.0.0
160
-		 */
161
-		public function register_form( $wp_customize ) {
162
-			/**
163
-			 * Reigster the Form section
164
-			 */
165
-			$wp_customize->add_section(
166
-				'login-form',
167
-				array(
168
-					'title'    => esc_html__( 'Form', 'lsx-customizer' ),
169
-					'priority' => 1,
170
-					'panel'    => 'login',
171
-				)
172
-			);
173
-
174
-			/**
175
-			 * Form Background Colour
176
-			 */
177
-			$wp_customize->add_setting(
178
-				'lsx_login_form_colour',
179
-				array(
180
-					'default'   => 'ffffff',
181
-					'type'      => 'theme_mod',
182
-					'transport' => 'postMessage',
183
-				)
184
-			);
185
-			$wp_customize->add_control(
186
-				new WP_Customize_Color_Control(
187
-					$wp_customize,
188
-					'lsx_login_form_colour',
189
-					array(
190
-						'label'    => __( 'Form Background Colour', 'lsx-customizer' ),
191
-						'section'  => 'login-form',
192
-						'settings' => 'lsx_login_form_colour',
193
-					)
194
-				)
195
-			);
196
-
197
-			/**
198
-			 * Form Label Colour
199
-			 */
200
-			$wp_customize->add_setting(
201
-				'lsx_login_form_label_colour',
202
-				array(
203
-					'default'   => 'ffffff',
204
-					'type'      => 'theme_mod',
205
-					'transport' => 'postMessage',
206
-				)
207
-			);
208
-			$wp_customize->add_control(
209
-				new WP_Customize_Color_Control(
210
-					$wp_customize,
211
-					'lsx_login_form_label_colour',
212
-					array(
213
-						'label'    => __( 'Form Label Colour', 'lsx-customizer' ),
214
-						'section'  => 'login-form',
215
-						'settings' => 'lsx_login_form_label_colour',
216
-					)
217
-				)
218
-			);
219
-
220
-			/**
221
-			 * Button Colour
222
-			 */
223
-			$wp_customize->add_setting(
224
-				'lsx_login_button_colour',
225
-				array(
226
-					'default'   => '000000',
227
-					'type'      => 'theme_mod',
228
-					'transport' => 'postMessage',
229
-				)
230
-			);
231
-			$wp_customize->add_control(
232
-				new WP_Customize_Color_Control(
233
-					$wp_customize,
234
-					'lsx_login_button_colour',
235
-					array(
236
-						'label'    => __( 'Button Colour', 'lsx-customizer' ),
237
-						'section'  => 'login-form',
238
-						'settings' => 'lsx_login_button_colour',
239
-					)
240
-				)
241
-			);
242
-
243
-			/**
244
-			 * Button Shadow Colour
245
-			 */
246
-			$wp_customize->add_setting(
247
-				'lsx_login_button_shadow_colour',
248
-				array(
249
-					'default'   => '015d82',
250
-					'type'      => 'theme_mod',
251
-					'transport' => 'postMessage',
252
-				)
253
-			);
254
-			$wp_customize->add_control(
255
-				new WP_Customize_Color_Control(
256
-					$wp_customize,
257
-					'lsx_login_button_shadow_colour',
258
-					array(
259
-						'label'    => __( 'Button Shadow Colour', 'lsx-customizer' ),
260
-						'section'  => 'login-form',
261
-						'settings' => 'lsx_login_button_shadow_colour',
262
-					)
263
-				)
264
-			);
265
-
266
-			/**
267
-			 * Button Hover Colour
268
-			 */
269
-			$wp_customize->add_setting(
270
-				'lsx_login_button_hover_colour',
271
-				array(
272
-					'default'   => '000000',
273
-					'type'      => 'theme_mod',
274
-					'transport' => 'postMessage',
275
-				)
276
-			);
277
-			$wp_customize->add_control(
278
-				new WP_Customize_Color_Control(
279
-					$wp_customize,
280
-					'lsx_login_button_hover_colour',
281
-					array(
282
-						'label'    => __( 'Button Hover Colour', 'lsx-customizer' ),
283
-						'section'  => 'login-form',
284
-						'settings' => 'lsx_login_button_hover_colour',
285
-					)
286
-				)
287
-			);
288
-
289
-			/**
290
-			 * Button Text Colour
291
-			 */
292
-			$wp_customize->add_setting(
293
-				'lsx_login_button_text_colour',
294
-				array(
295
-					'default'   => '0085ba',
296
-					'type'      => 'theme_mod',
297
-					'transport' => 'postMessage',
298
-				)
299
-			);
300
-			$wp_customize->add_control(
301
-				new WP_Customize_Color_Control(
302
-					$wp_customize,
303
-					'lsx_login_button_text_colour',
304
-					array(
305
-						'label'    => __( 'Button Text Colour', 'lsx-customizer' ),
306
-						'section'  => 'login-form',
307
-						'settings' => 'lsx_login_button_text_colour',
308
-					)
309
-				)
310
-			);
311
-
312
-		}
313
-
314
-		/**
315
-		 * Customizer Controls and Settings.
316
-		 *
317
-		 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
318
-		 * @since 1.0.0
319
-		 */
320
-		public function register_background( $wp_customize ) {
321
-			$wp_customize->add_section(
322
-				'login-background',
323
-				array(
324
-					'title'    => esc_html__( 'Background', 'lsx-customizer' ),
325
-					'priority' => 1,
326
-					'panel'    => 'login',
327
-				)
328
-			);
329
-			/**
330
-			 * Background Colour
331
-			 */
332
-			$wp_customize->add_setting(
333
-				'lsx_login_bg_colour',
334
-				array(
335
-					'default'   => 'ffffff',
336
-					'type'      => 'theme_mod',
337
-					'transport' => 'postMessage',
338
-				)
339
-			);
340
-			$wp_customize->add_control(
341
-				new WP_Customize_Color_Control(
342
-					$wp_customize,
343
-					'lsx_login_bg_colour',
344
-					array(
345
-						'label'    => __( 'Background Colour', 'lsx-customizer' ),
346
-						'section'  => 'login-background',
347
-						'settings' => 'lsx_login_bg_colour',
348
-					)
349
-				)
350
-			);
351
-
352
-			/**
353
-			 * Upload a Background Image
354
-			 */
355
-			$wp_customize->add_setting(
356
-				'lsx_login_bg_image',
357
-				array(
358
-					'default'   => '',
359
-					'type'      => 'theme_mod',
360
-					'transport' => 'postMessage',
361
-				)
362
-			);
363
-
364
-			$wp_customize->add_control(
365
-				new WP_Customize_Image_Control(
366
-					$wp_customize,
367
-					'lsx_login_bg_image',
368
-					array(
369
-						'label'    => __( 'Background Image', 'lsx-customizer' ),
370
-						'section'  => 'login-background',
371
-						'settings' => 'lsx_login_bg_image',
372
-					)
373
-				)
374
-			);
375
-
376
-			/**
377
-			 * Select the background repeat.
378
-			 */
379
-			$wp_customize->add_setting(
380
-				'lsx_login_bg_repeat',
381
-				array(
382
-					'default'   => 'no-repeat',
383
-					'type'      => 'theme_mod',
384
-					'transport' => 'postMessage',
385
-				)
386
-			);
387
-			$wp_customize->add_control(
388
-				new WP_Customize_Control(
389
-					$wp_customize,
390
-					'lsx_login_bg_repeat',
391
-					array(
392
-						'label'    => __( 'Background Repeat', 'lsx-customizer' ),
393
-						'section'  => 'login-background',
394
-						'settings' => 'lsx_login_bg_repeat',
395
-						'type'     => 'select',
396
-						'choices'  => array(
397
-							'no-repeat'  => __( 'No Repeat', 'lsx-customizer' ),
398
-							'repeat'  => __( 'Repeat', 'lsx-customizer' ),
399
-							'repeat-x' => __( 'Repeat Horizontally', 'lsx-customizer' ),
400
-							'repeat-y' => __( 'Repeat Vertically', 'lsx-customizer' ),
401
-						),
402
-					)
403
-				)
404
-			);
405
-
406
-			/**
407
-			 * Select the background repeat.
408
-			 */
409
-			$wp_customize->add_setting(
410
-				'lsx_login_bg_size',
411
-				array(
412
-					'default'   => 'none',
413
-					'type'      => 'theme_mod',
414
-					'transport' => 'postMessage',
415
-				)
416
-			);
417
-			$wp_customize->add_control(
418
-				new WP_Customize_Control(
419
-					$wp_customize,
420
-					'lsx_login_bg_size',
421
-					array(
422
-						'label'    => __( 'Background Size', 'lsx-customizer' ),
423
-						'section'  => 'login-background',
424
-						'settings' => 'lsx_login_bg_size',
425
-						'type'     => 'select',
426
-						'choices'  => array(
427
-							'initial'  => __( 'None', 'lsx-customizer' ),
428
-							'cover'  => __( 'Cover', 'lsx-customizer' ),
429
-							'contain' => __( 'Contain', 'lsx-customizer' ),
430
-						),
431
-					)
432
-				)
433
-			);
434
-		}
435
-
436
-		/**
437
-		 * Assign CSS to theme mod.
438
-		 *
439
-		 * @since 1.0.0
440
-		 */
441
-		public function set_theme_mod() {
442
-			$theme_mods = $this->get_theme_mods();
443
-			$styles     = $this->get_css( $theme_mods );
444
-
445
-			set_theme_mod( 'lsx_customizer_login_styles', $styles );
446
-		}
447
-
448
-		/**
449
-		 * Enqueues front-end CSS.
450
-		 *
451
-		 * @since 1.0.0
452
-		 */
453
-		public function enqueue_css() {
454
-			$styles_from_theme_mod = get_theme_mod( 'lsx_customizer_login_styles' );
455
-			if ( is_customize_preview() || false === $styles_from_theme_mod ) {
456
-				$theme_mods = $this->get_theme_mods();
457
-				$styles     = $this->get_css( $theme_mods );
458
-
459
-				if ( false === $styles_from_theme_mod ) {
460
-					set_theme_mod( 'lsx_customizer_login_styles', $styles );
461
-				}
462
-			} else {
463
-				$styles = $styles_from_theme_mod;
464
-			}
465
-			echo wp_kses(
466
-				$styles,
467
-				array(
468
-					'style' => array(),
469
-				)
470
-			);
471
-		}
472
-
473
-		/**
474
-		 * Get CSS theme mods.
475
-		 *
476
-		 * @since 1.0.0
477
-		 */
478
-		public function get_theme_mods() {
479
-			$mods = apply_filters(
480
-				'lsx_customizer_login_styles',
481
-				array(
482
-					'logo'                    => get_theme_mod( 'lsx_login_logo', '' ),
483
-					'link_colour'             => get_theme_mod( 'lsx_login_link_colour', '#0085ba' ),
484
-					'link_hover_colour'       => get_theme_mod( 'lsx_login_link_hover_colour', '#0085ba' ),
485
-					'button_colour'           => get_theme_mod( 'lsx_login_button_colour', '#0085ba' ),
486
-					'button_shadow_colour'    => get_theme_mod( 'lsx_login_button_shadow_colour', '#015d82' ),
487
-					'button_hover_colour'     => get_theme_mod( 'lsx_login_button_hover_colour', '#015d82' ),
488
-					'button_text_colour'      => get_theme_mod( 'lsx_login_button_text_colour', '#ffffff' ),
489
-					'login_form_colour'       => get_theme_mod( 'lsx_login_form_colour', '#ffffff' ),
490
-					'login_form_label_colour' => get_theme_mod( 'lsx_login_form_label_colour', '#333333' ),
491
-					'background_colour'       => get_theme_mod( 'lsx_login_bg_colour', '#f2f2f2' ),
492
-					'background_image'        => get_theme_mod( 'lsx_login_bg_image', '' ),
493
-					'background_repeat'       => get_theme_mod( 'lsx_login_bg_repeat', 'no-repeat' ),
494
-					'background_size'         => get_theme_mod( 'lsx_login_bg_size', 'initial' ),
495
-					'custom_css'              => get_theme_mod( 'lsx_login_custom_css', '' ),
496
-				)
497
-			);
498
-			return $mods;
499
-		}
500
-
501
-		/**
502
-		 * Returns CSS.
503
-		 *
504
-		 * @since 1.0.0
505
-		 */
506
-		public function get_css( $theme_mods ) {
507
-			$css = '<style>';
508
-
509
-			$css .= "body.login #backtoblog a, body.login #nav a { color: {$theme_mods['link_colour']}; }";
510
-			$css .= "body.login #nav a:hover, .login h1 a:hover, body.login #backtoblog a:hover { color: {$theme_mods['link_hover_colour']}; }";
511
-			$css .= "body.login.wp-core-ui .button-primary { background-color: {$theme_mods['button_colour']}; }";
512
-			$css .= "body.login.wp-core-ui .button-primary { border-color: {$theme_mods['button_colour']}; }";
513
-			$css .= "body.login.wp-core-ui .button-primary:hover { background-color: {$theme_mods['button_hover_colour']}; }";
514
-			$css .= "body.login.wp-core-ui .button-primary:hover { border-color: {$theme_mods['button_hover_colour']}; }";
515
-			$css .= "body.login .button-primary { box-shadow: 0 1px 0 {$theme_mods['button_shadow_colour']}; }";
516
-			$css .= "body.login .button-primary:active { box-shadow: 0 2px 0 {$theme_mods['button_shadow_colour']}; }";
517
-			$css .= "body.login .button-primary { color: {$theme_mods['button_text_colour']} ; }";
518
-			$css .= 'body.login .button-primary { text-shadow: none; }';
519
-			$css .= "body.login form { background: {$theme_mods['login_form_colour']}; }";
520
-			$css .= "body.login label { color: {$theme_mods['login_form_label_colour']}; }";
521
-
522
-			if ( isset( $theme_mods['logo'] ) && '' !== $theme_mods['logo'] ) {
523
-				$css .= "
4
+     /**
5
+      * LSX Customizer Login Class
6
+      *
7
+      * @package   LSX Customizer
8
+      * @author    LightSpeed
9
+      * @license   GPL3
10
+      * @link
11
+      * @copyright 2019 LightSpeed
12
+      */
13
+     class LSX_Customizer_Login extends LSX_Customizer {
14
+
15
+          /**
16
+           * Constructor.
17
+           *
18
+           * @since 1.0.0
19
+           */
20
+          public function __construct() {
21
+               add_action( 'customize_register', array( $this, 'register_general' ), 20 );
22
+               add_action( 'customize_register', array( $this, 'register_form' ), 30 );
23
+               add_action( 'customize_register', array( $this, 'register_background' ), 40 );
24
+
25
+               add_action( 'after_switch_theme', array( $this, 'set_theme_mod' ) );
26
+               add_action( 'customize_save_after', array( $this, 'set_theme_mod' ) );
27
+               add_action( 'login_enqueue_scripts', array( $this, 'enqueue_css' ), 2999 );
28
+          }
29
+
30
+          /**
31
+           * Customizer Controls and Settings.
32
+           *
33
+           * @param WP_Customize_Manager $wp_customize Theme Customizer object.
34
+           * @since 1.0.0
35
+           */
36
+          public function register_general( $wp_customize ) {
37
+               /**
38
+                * Register the main panel
39
+                */
40
+               $wp_customize->add_panel(
41
+                    'login',
42
+                    array(
43
+                         'title'    => esc_html__( 'WP Login Screen', 'lsx-customizer' ),
44
+                         'priority' => 60,
45
+                    )
46
+               );
47
+
48
+               /**
49
+                * Reigster the Form section
50
+                */
51
+               $wp_customize->add_section(
52
+                    'login-general',
53
+                    array(
54
+                         'title'    => esc_html__( 'General', 'lsx-customizer' ),
55
+                         'priority' => 1,
56
+                         'panel'    => 'login',
57
+                    )
58
+               );
59
+
60
+               /**
61
+                * Select the background repeat.
62
+                */
63
+               $wp_customize->add_setting(
64
+                    'lsx_login_logo',
65
+                    array(
66
+                         'default'   => '',
67
+                         'type'      => 'theme_mod',
68
+                         'transport' => 'postMessage',
69
+                    )
70
+               );
71
+
72
+               $wp_customize->add_control(
73
+                    new WP_Customize_Image_Control(
74
+                         $wp_customize,
75
+                         'lsx_login_logo',
76
+                         array(
77
+                              'label'    => __( 'Upload a logo', 'lsx-customizer' ),
78
+                              'section'  => 'login-general',
79
+                              'settings' => 'lsx_login_logo',
80
+                         )
81
+                    )
82
+               );
83
+
84
+               /**
85
+                * Link Colour
86
+                */
87
+               $wp_customize->add_setting(
88
+                    'lsx_login_link_colour',
89
+                    array(
90
+                         'default'   => '0085ba',
91
+                         'type'      => 'theme_mod',
92
+                         'transport' => 'postMessage',
93
+                    )
94
+               );
95
+               $wp_customize->add_control(
96
+                    new WP_Customize_Color_Control(
97
+                         $wp_customize,
98
+                         'lsx_login_link_colour',
99
+                         array(
100
+                              'label'    => __( 'Link Colour', 'lsx-customizer' ),
101
+                              'section'  => 'login-general',
102
+                              'settings' => 'lsx_login_link_colour',
103
+                         )
104
+                    )
105
+               );
106
+
107
+               /**
108
+                * Link Hover Colour
109
+                */
110
+               $wp_customize->add_setting(
111
+                    'lsx_login_link_hover_colour',
112
+                    array(
113
+                         'default'   => '000000',
114
+                         'type'      => 'theme_mod',
115
+                         'transport' => 'postMessage',
116
+                    )
117
+               );
118
+               $wp_customize->add_control(
119
+                    new WP_Customize_Color_Control(
120
+                         $wp_customize,
121
+                         'lsx_login_link_hover_colour',
122
+                         array(
123
+                              'label'    => __( 'Link Hover Colour', 'lsx-customizer' ),
124
+                              'section'  => 'login-general',
125
+                              'settings' => 'lsx_login_link_hover_colour',
126
+                         )
127
+                    )
128
+               );
129
+
130
+               /**
131
+                * Add in the custom CSS.
132
+                */
133
+               $wp_customize->add_setting(
134
+                    'lsx_login_custom_css',
135
+                    array(
136
+                         'default'   => '',
137
+                         'type'      => 'theme_mod',
138
+                         'transport' => 'postMessage',
139
+                    )
140
+               );
141
+               $wp_customize->add_control(
142
+                    new WP_Customize_Control(
143
+                         $wp_customize,
144
+                         'lsx_login_custom_css',
145
+                         array(
146
+                              'label'    => __( 'Custom CSS', 'lsx-customizer' ),
147
+                              'section'  => 'login-general',
148
+                              'settings' => 'lsx_login_custom_css',
149
+                              'type'     => 'textarea',
150
+                         )
151
+                    )
152
+               );
153
+          }
154
+
155
+          /**
156
+           * Customizer Controls and Settings.
157
+           *
158
+           * @param WP_Customize_Manager $wp_customize Theme Customizer object.
159
+           * @since 1.0.0
160
+           */
161
+          public function register_form( $wp_customize ) {
162
+               /**
163
+                * Reigster the Form section
164
+                */
165
+               $wp_customize->add_section(
166
+                    'login-form',
167
+                    array(
168
+                         'title'    => esc_html__( 'Form', 'lsx-customizer' ),
169
+                         'priority' => 1,
170
+                         'panel'    => 'login',
171
+                    )
172
+               );
173
+
174
+               /**
175
+                * Form Background Colour
176
+                */
177
+               $wp_customize->add_setting(
178
+                    'lsx_login_form_colour',
179
+                    array(
180
+                         'default'   => 'ffffff',
181
+                         'type'      => 'theme_mod',
182
+                         'transport' => 'postMessage',
183
+                    )
184
+               );
185
+               $wp_customize->add_control(
186
+                    new WP_Customize_Color_Control(
187
+                         $wp_customize,
188
+                         'lsx_login_form_colour',
189
+                         array(
190
+                              'label'    => __( 'Form Background Colour', 'lsx-customizer' ),
191
+                              'section'  => 'login-form',
192
+                              'settings' => 'lsx_login_form_colour',
193
+                         )
194
+                    )
195
+               );
196
+
197
+               /**
198
+                * Form Label Colour
199
+                */
200
+               $wp_customize->add_setting(
201
+                    'lsx_login_form_label_colour',
202
+                    array(
203
+                         'default'   => 'ffffff',
204
+                         'type'      => 'theme_mod',
205
+                         'transport' => 'postMessage',
206
+                    )
207
+               );
208
+               $wp_customize->add_control(
209
+                    new WP_Customize_Color_Control(
210
+                         $wp_customize,
211
+                         'lsx_login_form_label_colour',
212
+                         array(
213
+                              'label'    => __( 'Form Label Colour', 'lsx-customizer' ),
214
+                              'section'  => 'login-form',
215
+                              'settings' => 'lsx_login_form_label_colour',
216
+                         )
217
+                    )
218
+               );
219
+
220
+               /**
221
+                * Button Colour
222
+                */
223
+               $wp_customize->add_setting(
224
+                    'lsx_login_button_colour',
225
+                    array(
226
+                         'default'   => '000000',
227
+                         'type'      => 'theme_mod',
228
+                         'transport' => 'postMessage',
229
+                    )
230
+               );
231
+               $wp_customize->add_control(
232
+                    new WP_Customize_Color_Control(
233
+                         $wp_customize,
234
+                         'lsx_login_button_colour',
235
+                         array(
236
+                              'label'    => __( 'Button Colour', 'lsx-customizer' ),
237
+                              'section'  => 'login-form',
238
+                              'settings' => 'lsx_login_button_colour',
239
+                         )
240
+                    )
241
+               );
242
+
243
+               /**
244
+                * Button Shadow Colour
245
+                */
246
+               $wp_customize->add_setting(
247
+                    'lsx_login_button_shadow_colour',
248
+                    array(
249
+                         'default'   => '015d82',
250
+                         'type'      => 'theme_mod',
251
+                         'transport' => 'postMessage',
252
+                    )
253
+               );
254
+               $wp_customize->add_control(
255
+                    new WP_Customize_Color_Control(
256
+                         $wp_customize,
257
+                         'lsx_login_button_shadow_colour',
258
+                         array(
259
+                              'label'    => __( 'Button Shadow Colour', 'lsx-customizer' ),
260
+                              'section'  => 'login-form',
261
+                              'settings' => 'lsx_login_button_shadow_colour',
262
+                         )
263
+                    )
264
+               );
265
+
266
+               /**
267
+                * Button Hover Colour
268
+                */
269
+               $wp_customize->add_setting(
270
+                    'lsx_login_button_hover_colour',
271
+                    array(
272
+                         'default'   => '000000',
273
+                         'type'      => 'theme_mod',
274
+                         'transport' => 'postMessage',
275
+                    )
276
+               );
277
+               $wp_customize->add_control(
278
+                    new WP_Customize_Color_Control(
279
+                         $wp_customize,
280
+                         'lsx_login_button_hover_colour',
281
+                         array(
282
+                              'label'    => __( 'Button Hover Colour', 'lsx-customizer' ),
283
+                              'section'  => 'login-form',
284
+                              'settings' => 'lsx_login_button_hover_colour',
285
+                         )
286
+                    )
287
+               );
288
+
289
+               /**
290
+                * Button Text Colour
291
+                */
292
+               $wp_customize->add_setting(
293
+                    'lsx_login_button_text_colour',
294
+                    array(
295
+                         'default'   => '0085ba',
296
+                         'type'      => 'theme_mod',
297
+                         'transport' => 'postMessage',
298
+                    )
299
+               );
300
+               $wp_customize->add_control(
301
+                    new WP_Customize_Color_Control(
302
+                         $wp_customize,
303
+                         'lsx_login_button_text_colour',
304
+                         array(
305
+                              'label'    => __( 'Button Text Colour', 'lsx-customizer' ),
306
+                              'section'  => 'login-form',
307
+                              'settings' => 'lsx_login_button_text_colour',
308
+                         )
309
+                    )
310
+               );
311
+
312
+          }
313
+
314
+          /**
315
+           * Customizer Controls and Settings.
316
+           *
317
+           * @param WP_Customize_Manager $wp_customize Theme Customizer object.
318
+           * @since 1.0.0
319
+           */
320
+          public function register_background( $wp_customize ) {
321
+               $wp_customize->add_section(
322
+                    'login-background',
323
+                    array(
324
+                         'title'    => esc_html__( 'Background', 'lsx-customizer' ),
325
+                         'priority' => 1,
326
+                         'panel'    => 'login',
327
+                    )
328
+               );
329
+               /**
330
+                * Background Colour
331
+                */
332
+               $wp_customize->add_setting(
333
+                    'lsx_login_bg_colour',
334
+                    array(
335
+                         'default'   => 'ffffff',
336
+                         'type'      => 'theme_mod',
337
+                         'transport' => 'postMessage',
338
+                    )
339
+               );
340
+               $wp_customize->add_control(
341
+                    new WP_Customize_Color_Control(
342
+                         $wp_customize,
343
+                         'lsx_login_bg_colour',
344
+                         array(
345
+                              'label'    => __( 'Background Colour', 'lsx-customizer' ),
346
+                              'section'  => 'login-background',
347
+                              'settings' => 'lsx_login_bg_colour',
348
+                         )
349
+                    )
350
+               );
351
+
352
+               /**
353
+                * Upload a Background Image
354
+                */
355
+               $wp_customize->add_setting(
356
+                    'lsx_login_bg_image',
357
+                    array(
358
+                         'default'   => '',
359
+                         'type'      => 'theme_mod',
360
+                         'transport' => 'postMessage',
361
+                    )
362
+               );
363
+
364
+               $wp_customize->add_control(
365
+                    new WP_Customize_Image_Control(
366
+                         $wp_customize,
367
+                         'lsx_login_bg_image',
368
+                         array(
369
+                              'label'    => __( 'Background Image', 'lsx-customizer' ),
370
+                              'section'  => 'login-background',
371
+                              'settings' => 'lsx_login_bg_image',
372
+                         )
373
+                    )
374
+               );
375
+
376
+               /**
377
+                * Select the background repeat.
378
+                */
379
+               $wp_customize->add_setting(
380
+                    'lsx_login_bg_repeat',
381
+                    array(
382
+                         'default'   => 'no-repeat',
383
+                         'type'      => 'theme_mod',
384
+                         'transport' => 'postMessage',
385
+                    )
386
+               );
387
+               $wp_customize->add_control(
388
+                    new WP_Customize_Control(
389
+                         $wp_customize,
390
+                         'lsx_login_bg_repeat',
391
+                         array(
392
+                              'label'    => __( 'Background Repeat', 'lsx-customizer' ),
393
+                              'section'  => 'login-background',
394
+                              'settings' => 'lsx_login_bg_repeat',
395
+                              'type'     => 'select',
396
+                              'choices'  => array(
397
+                                   'no-repeat'  => __( 'No Repeat', 'lsx-customizer' ),
398
+                                   'repeat'  => __( 'Repeat', 'lsx-customizer' ),
399
+                                   'repeat-x' => __( 'Repeat Horizontally', 'lsx-customizer' ),
400
+                                   'repeat-y' => __( 'Repeat Vertically', 'lsx-customizer' ),
401
+                              ),
402
+                         )
403
+                    )
404
+               );
405
+
406
+               /**
407
+                * Select the background repeat.
408
+                */
409
+               $wp_customize->add_setting(
410
+                    'lsx_login_bg_size',
411
+                    array(
412
+                         'default'   => 'none',
413
+                         'type'      => 'theme_mod',
414
+                         'transport' => 'postMessage',
415
+                    )
416
+               );
417
+               $wp_customize->add_control(
418
+                    new WP_Customize_Control(
419
+                         $wp_customize,
420
+                         'lsx_login_bg_size',
421
+                         array(
422
+                              'label'    => __( 'Background Size', 'lsx-customizer' ),
423
+                              'section'  => 'login-background',
424
+                              'settings' => 'lsx_login_bg_size',
425
+                              'type'     => 'select',
426
+                              'choices'  => array(
427
+                                   'initial'  => __( 'None', 'lsx-customizer' ),
428
+                                   'cover'  => __( 'Cover', 'lsx-customizer' ),
429
+                                   'contain' => __( 'Contain', 'lsx-customizer' ),
430
+                              ),
431
+                         )
432
+                    )
433
+               );
434
+          }
435
+
436
+          /**
437
+           * Assign CSS to theme mod.
438
+           *
439
+           * @since 1.0.0
440
+           */
441
+          public function set_theme_mod() {
442
+               $theme_mods = $this->get_theme_mods();
443
+               $styles     = $this->get_css( $theme_mods );
444
+
445
+               set_theme_mod( 'lsx_customizer_login_styles', $styles );
446
+          }
447
+
448
+          /**
449
+           * Enqueues front-end CSS.
450
+           *
451
+           * @since 1.0.0
452
+           */
453
+          public function enqueue_css() {
454
+               $styles_from_theme_mod = get_theme_mod( 'lsx_customizer_login_styles' );
455
+               if ( is_customize_preview() || false === $styles_from_theme_mod ) {
456
+                    $theme_mods = $this->get_theme_mods();
457
+                    $styles     = $this->get_css( $theme_mods );
458
+
459
+                    if ( false === $styles_from_theme_mod ) {
460
+                         set_theme_mod( 'lsx_customizer_login_styles', $styles );
461
+                    }
462
+               } else {
463
+                    $styles = $styles_from_theme_mod;
464
+               }
465
+               echo wp_kses(
466
+                    $styles,
467
+                    array(
468
+                         'style' => array(),
469
+                    )
470
+               );
471
+          }
472
+
473
+          /**
474
+           * Get CSS theme mods.
475
+           *
476
+           * @since 1.0.0
477
+           */
478
+          public function get_theme_mods() {
479
+               $mods = apply_filters(
480
+                    'lsx_customizer_login_styles',
481
+                    array(
482
+                         'logo'                    => get_theme_mod( 'lsx_login_logo', '' ),
483
+                         'link_colour'             => get_theme_mod( 'lsx_login_link_colour', '#0085ba' ),
484
+                         'link_hover_colour'       => get_theme_mod( 'lsx_login_link_hover_colour', '#0085ba' ),
485
+                         'button_colour'           => get_theme_mod( 'lsx_login_button_colour', '#0085ba' ),
486
+                         'button_shadow_colour'    => get_theme_mod( 'lsx_login_button_shadow_colour', '#015d82' ),
487
+                         'button_hover_colour'     => get_theme_mod( 'lsx_login_button_hover_colour', '#015d82' ),
488
+                         'button_text_colour'      => get_theme_mod( 'lsx_login_button_text_colour', '#ffffff' ),
489
+                         'login_form_colour'       => get_theme_mod( 'lsx_login_form_colour', '#ffffff' ),
490
+                         'login_form_label_colour' => get_theme_mod( 'lsx_login_form_label_colour', '#333333' ),
491
+                         'background_colour'       => get_theme_mod( 'lsx_login_bg_colour', '#f2f2f2' ),
492
+                         'background_image'        => get_theme_mod( 'lsx_login_bg_image', '' ),
493
+                         'background_repeat'       => get_theme_mod( 'lsx_login_bg_repeat', 'no-repeat' ),
494
+                         'background_size'         => get_theme_mod( 'lsx_login_bg_size', 'initial' ),
495
+                         'custom_css'              => get_theme_mod( 'lsx_login_custom_css', '' ),
496
+                    )
497
+               );
498
+               return $mods;
499
+          }
500
+
501
+          /**
502
+           * Returns CSS.
503
+           *
504
+           * @since 1.0.0
505
+           */
506
+          public function get_css( $theme_mods ) {
507
+               $css = '<style>';
508
+
509
+               $css .= "body.login #backtoblog a, body.login #nav a { color: {$theme_mods['link_colour']}; }";
510
+               $css .= "body.login #nav a:hover, .login h1 a:hover, body.login #backtoblog a:hover { color: {$theme_mods['link_hover_colour']}; }";
511
+               $css .= "body.login.wp-core-ui .button-primary { background-color: {$theme_mods['button_colour']}; }";
512
+               $css .= "body.login.wp-core-ui .button-primary { border-color: {$theme_mods['button_colour']}; }";
513
+               $css .= "body.login.wp-core-ui .button-primary:hover { background-color: {$theme_mods['button_hover_colour']}; }";
514
+               $css .= "body.login.wp-core-ui .button-primary:hover { border-color: {$theme_mods['button_hover_colour']}; }";
515
+               $css .= "body.login .button-primary { box-shadow: 0 1px 0 {$theme_mods['button_shadow_colour']}; }";
516
+               $css .= "body.login .button-primary:active { box-shadow: 0 2px 0 {$theme_mods['button_shadow_colour']}; }";
517
+               $css .= "body.login .button-primary { color: {$theme_mods['button_text_colour']} ; }";
518
+               $css .= 'body.login .button-primary { text-shadow: none; }';
519
+               $css .= "body.login form { background: {$theme_mods['login_form_colour']}; }";
520
+               $css .= "body.login label { color: {$theme_mods['login_form_label_colour']}; }";
521
+
522
+               if ( isset( $theme_mods['logo'] ) && '' !== $theme_mods['logo'] ) {
523
+                    $css .= "
524 524
 					#login h1 a, .login h1 a {
525 525
 						background-image: url('" . $theme_mods['logo'] . "');
526 526
 						max-height: 150px;
@@ -529,22 +529,22 @@  discard block
 block discarded – undo
529 529
 						background-repeat: no-repeat;
530 530
 					}
531 531
 				";
532
-			}
533
-
534
-			// Add in the background image options.
535
-			$background_image = '';
536
-			if ( isset( $theme_mods['background_image'] ) && '' !== $theme_mods['background_image'] ) {
537
-				$background_image = "background-image:url('{$theme_mods['background_image']}');";
538
-			}
539
-			$background_repeat = '';
540
-			if ( isset( $theme_mods['background_repeat'] ) && '' !== $theme_mods['background_repeat'] ) {
541
-				$background_repeat = "background-repeat:{$theme_mods['background_repeat']};";
542
-			}
543
-			$background_size = '';
544
-			if ( isset( $theme_mods['background_size'] ) && '' !== $theme_mods['background_size'] ) {
545
-				$background_size = "background-size:{$theme_mods['background_size']};";
546
-			}
547
-			$css .= "
532
+               }
533
+
534
+               // Add in the background image options.
535
+               $background_image = '';
536
+               if ( isset( $theme_mods['background_image'] ) && '' !== $theme_mods['background_image'] ) {
537
+                    $background_image = "background-image:url('{$theme_mods['background_image']}');";
538
+               }
539
+               $background_repeat = '';
540
+               if ( isset( $theme_mods['background_repeat'] ) && '' !== $theme_mods['background_repeat'] ) {
541
+                    $background_repeat = "background-repeat:{$theme_mods['background_repeat']};";
542
+               }
543
+               $background_size = '';
544
+               if ( isset( $theme_mods['background_size'] ) && '' !== $theme_mods['background_size'] ) {
545
+                    $background_size = "background-size:{$theme_mods['background_size']};";
546
+               }
547
+               $css .= "
548 548
 				.login {
549 549
 					background:{$theme_mods['background_colour']};
550 550
 					{$background_image}
@@ -555,15 +555,15 @@  discard block
 block discarded – undo
555 555
 					transition:0.4s;
556 556
 				}";
557 557
 
558
-			// Add in the custom css
559
-			if ( isset( $theme_mods['custom_css'] ) && '' !== $theme_mods['custom_css'] ) {
560
-				$css .= $theme_mods['custom_css'];
561
-			}
562
-
563
-			$css .= '</style>';
564
-			$css  = apply_filters( 'lsx_customizer_login_styles', $css );
565
-			return $css;
566
-		}
567
-	}
568
-	new LSX_Customizer_Login();
558
+               // Add in the custom css
559
+               if ( isset( $theme_mods['custom_css'] ) && '' !== $theme_mods['custom_css'] ) {
560
+                    $css .= $theme_mods['custom_css'];
561
+               }
562
+
563
+               $css .= '</style>';
564
+               $css  = apply_filters( 'lsx_customizer_login_styles', $css );
565
+               return $css;
566
+          }
567
+     }
568
+     new LSX_Customizer_Login();
569 569
 }
Please login to merge, or discard this patch.
classes/class-lsx-customizer-colour.php 1 patch
Indentation   +447 added lines, -447 removed lines patch added patch discarded remove patch
@@ -1,375 +1,375 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if ( ! class_exists( 'LSX_Customizer_Colour' ) ) {
3 3
 
4
-	/**
5
-	 * LSX Customizer Colour Class
6
-	 *
7
-	 * @package   LSX Customizer
8
-	 * @author    LightSpeed
9
-	 * @license   GPL3
10
-	 * @link
11
-	 * @copyright 2016 LightSpeed
12
-	 */
13
-	class LSX_Customizer_Colour extends LSX_Customizer {
14
-
15
-		/**
16
-		 * Button customizer instance.
17
-		 *
18
-		 * @var string
19
-		 * @since 1.0.0
20
-		 */
21
-		public $button;
22
-
23
-		/**
24
-		 * Button CTA customizer instance.
25
-		 *
26
-		 * @var string
27
-		 * @since 1.0.0
28
-		 */
29
-		public $button_cta;
30
-
31
-		/**
32
-		 * Button secondary customizer instance.
33
-		 *
34
-		 * @var string
35
-		 * @since 1.1.0
36
-		 */
37
-		public $button_secondary;
38
-
39
-		/**
40
-		 * Button tertiary customizer instance.
41
-		 *
42
-		 * @var string
43
-		 * @since 1.1.0
44
-		 */
45
-		public $button_tertiary;
46
-
47
-		/**
48
-		 * Top Menu customizer instance.
49
-		 *
50
-		 * @var string
51
-		 * @since 1.0.0
52
-		 */
53
-		public $top_menu;
54
-
55
-		/**
56
-		 * Header customizer instance.
57
-		 *
58
-		 * @var string
59
-		 * @since 1.0.0
60
-		 */
61
-		public $header;
62
-
63
-		/**
64
-		 * Main menu customizer instance.
65
-		 *
66
-		 * @var string
67
-		 * @since 1.0.0
68
-		 */
69
-		public $main_menu;
70
-
71
-		/**
72
-		 * Banner customizer instance.
73
-		 *
74
-		 * @var string
75
-		 * @since 1.0.0
76
-		 */
77
-		public $banner;
78
-
79
-		/**
80
-		 * Body customizer instance.
81
-		 *
82
-		 * @var string
83
-		 * @since 1.0.0
84
-		 */
85
-		public $body;
86
-
87
-		/**
88
-		 * Footer CTA customizer instance.
89
-		 *
90
-		 * @var string
91
-		 * @since 1.0.0
92
-		 */
93
-		public $footer_cta;
94
-
95
-		/**
96
-		 * Footer Widgets customizer instance.
97
-		 *
98
-		 * @var string
99
-		 * @since 1.0.0
100
-		 */
101
-		public $footer_widgets;
102
-
103
-		/**
104
-		 * Footer customizer instance.
105
-		 *
106
-		 * @var string
107
-		 * @since 1.0.0
108
-		 */
109
-		public $footer;
110
-
111
-		/**
112
-		 * Constructor.
113
-		 *
114
-		 * @since 1.0.0
115
-		 */
116
-		public function __construct() {
117
-			add_action( 'after_setup_theme',                       array( $this, 'after_setup_theme' ), 20 );
118
-			add_action( 'customize_register',                      array( $this, 'customize_register' ), 20 );
119
-			add_action( 'customize_controls_print_footer_scripts', array( $this, 'colour_scheme_css_template' ) );
120
-		}
121
-
122
-		/**
123
-		 * Customizer Controls and Settings.
124
-		 *
125
-		 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
126
-		 * @since 1.0.0
127
-		 */
128
-		public function after_setup_theme() {
129
-			require_once( LSX_CUSTOMIZER_PATH . 'includes/lsx-customizer-colour-options.php' );
130
-			require_once( LSX_CUSTOMIZER_PATH . 'includes/lsx-customizer-colour-deprecated.php' );
131
-			require_once( LSX_CUSTOMIZER_PATH . 'includes/lsx-customizer-templates.php' );
132
-
133
-			require_once( LSX_CUSTOMIZER_PATH . 'classes/class-lsx-customizer-colour-button.php' );
134
-			$this->button = new LSX_Customizer_Colour_Button();
135
-
136
-			require_once( LSX_CUSTOMIZER_PATH . 'classes/class-lsx-customizer-colour-button-cta.php' );
137
-			$this->button_cta = new LSX_Customizer_Colour_Button_CTA();
138
-
139
-			require_once( LSX_CUSTOMIZER_PATH . 'classes/class-lsx-customizer-colour-button-secondary.php' );
140
-			$this->button_secondary = new LSX_Customizer_Colour_Button_Secondary();
141
-
142
-			require_once( LSX_CUSTOMIZER_PATH . 'classes/class-lsx-customizer-colour-button-tertiary.php' );
143
-			$this->button_tertiary = new LSX_Customizer_Colour_Button_Tertiary();
144
-
145
-			require_once( LSX_CUSTOMIZER_PATH . 'classes/class-lsx-customizer-colour-top-menu.php' );
146
-			$this->top_menu = new LSX_Customizer_Colour_Top_Menu();
147
-
148
-			require_once( LSX_CUSTOMIZER_PATH . 'classes/class-lsx-customizer-colour-header.php' );
149
-			$this->header = new LSX_Customizer_Colour_Header();
150
-
151
-			require_once( LSX_CUSTOMIZER_PATH . 'classes/class-lsx-customizer-colour-main-menu.php' );
152
-			$this->main_menu = new LSX_Customizer_Colour_Main_Menu();
153
-
154
-			require_once( LSX_CUSTOMIZER_PATH . 'classes/class-lsx-customizer-colour-banner.php' );
155
-			$this->banner = new LSX_Customizer_Colour_Banner();
156
-
157
-			require_once( LSX_CUSTOMIZER_PATH . 'classes/class-lsx-customizer-colour-body.php' );
158
-			$this->body = new LSX_Customizer_Colour_Body();
159
-
160
-			require_once( LSX_CUSTOMIZER_PATH . 'classes/class-lsx-customizer-colour-footer-cta.php' );
161
-			$this->footer_cta = new LSX_Customizer_Colour_Footer_CTA();
162
-
163
-			require_once( LSX_CUSTOMIZER_PATH . 'classes/class-lsx-customizer-colour-footer-widgets.php' );
164
-			$this->footer_widgets = new LSX_Customizer_Colour_Footer_Widgets();
165
-
166
-			require_once( LSX_CUSTOMIZER_PATH . 'classes/class-lsx-customizer-colour-footer.php' );
167
-			$this->footer = new LSX_Customizer_Colour_Footer();
168
-		}
169
-
170
-		/**
171
-		 * Customizer Controls and Settings.
172
-		 *
173
-		 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
174
-		 * @since 1.0.0
175
-		 */
176
-		public function customize_register( $wp_customize ) {
177
-			global $customizer_colour_names;
178
-			global $customizer_colour_choices;
179
-
180
-			/**
181
-			 * Colors
182
-			 */
183
-			$wp_customize->add_panel( 'colors', array(
184
-				'title'             => esc_html__( 'Site Design', 'lsx-customizer' ),
185
-				'priority'          => 60,
186
-			) );
187
-
188
-			$wp_customize->add_section( 'colors-palette', array(
189
-				'title'             => esc_html__( 'Block Editor', 'lsx-customizer' ),
190
-				'description' => esc_html__( 'Define the block editor colour pallette.', 'lsx-customizer' ),
191
-				'priority'          => 2,
192
-				'panel'             => 'colors',
193
-			) );
194
-
195
-			$wp_customize->add_section( 'colors-button', array(
196
-				'title'             => esc_html__( 'Button', 'lsx-customizer' ),
197
-				'priority'          => 3,
198
-				'panel'             => 'colors',
199
-			) );
200
-
201
-			$wp_customize->add_section( 'colors-button-cta', array(
202
-				'title'             => esc_html__( 'Button CTA', 'lsx-customizer' ),
203
-				'priority'          => 4,
204
-				'panel'             => 'colors',
205
-			) );
206
-
207
-			$wp_customize->add_section( 'colors-button-secondary', array(
208
-				'title'             => esc_html__( 'Button Secondary', 'lsx-customizer' ),
209
-				'priority'          => 5,
210
-				'panel'             => 'colors',
211
-			) );
212
-
213
-			$wp_customize->add_section( 'colors-button-tertiary', array(
214
-				'title'             => esc_html__( 'Button Tertiary', 'lsx-customizer' ),
215
-				'priority'          => 6,
216
-				'panel'             => 'colors',
217
-			) );
218
-
219
-			$wp_customize->add_section( 'colors-top-menu', array(
220
-				'title'             => esc_html__( 'Top Menu', 'lsx-customizer' ),
221
-				'priority'          => 7,
222
-				'panel'             => 'colors',
223
-			) );
224
-
225
-			$wp_customize->add_section( 'colors-header', array(
226
-				'title'             => esc_html__( 'Header', 'lsx-customizer' ),
227
-				'priority'          => 8,
228
-				'panel'             => 'colors',
229
-			) );
230
-
231
-			$wp_customize->add_section( 'colors-main-menu', array(
232
-				'title'             => esc_html__( 'Main Menu', 'lsx-customizer' ),
233
-				'priority'          => 9,
234
-				'panel'             => 'colors',
235
-			) );
236
-
237
-			$wp_customize->add_section( 'colors-banner', array(
238
-				'title'             => esc_html__( 'Banner', 'lsx-customizer' ),
239
-				'priority'          => 10,
240
-				'panel'             => 'colors',
241
-			) );
242
-
243
-			$wp_customize->add_section( 'colors-body', array(
244
-				'title'             => esc_html__( 'Body', 'lsx-customizer' ),
245
-				'priority'          => 11,
246
-				'panel'             => 'colors',
247
-			) );
248
-
249
-			$wp_customize->add_section( 'colors-footer-cta', array(
250
-				'title'             => esc_html__( 'Footer CTA', 'lsx-customizer' ),
251
-				'priority'          => 12,
252
-				'panel'             => 'colors',
253
-			) );
254
-
255
-			$wp_customize->add_section( 'colors-footer-widgets', array(
256
-				'title'             => esc_html__( 'Footer Widgets', 'lsx-customizer' ),
257
-				'priority'          => 13,
258
-				'panel'             => 'colors',
259
-			) );
260
-
261
-			$wp_customize->add_section( 'colors-footer', array(
262
-				'title'             => esc_html__( 'Footer', 'lsx-customizer' ),
263
-				'priority'          => 14,
264
-				'panel'             => 'colors',
265
-			) );
266
-
267
-			/**
268
-			 * Colour Palette
269
-			 */
270
-			$colors = $this->get_color_scheme();
271
-
272
-			$customizer_colour_defaults = array(
273
-				__( 'Primary Colour', 'lsx-customizer' )   => get_theme_mod( 'button_background_color', $colors['button_background_color'] ),
274
-				__( 'Strong Primary Colour', 'lsx-button_shadow' ) => get_theme_mod( 'button_background_hover_color', $colors['button_background_hover_color'] ),
275
-				__( 'Call To Action Colour', 'lsx-customizer' ) => get_theme_mod( 'button_cta_background_color', $colors['button_cta_background_color'] ),
276
-				__( 'Strong CTA Colour', 'lsx-button_shadow' ) => get_theme_mod( 'button_cta_shadow', $colors['button_cta_shadow'] ),
277
-				__( 'Secondary Colour', 'lsx-customizer' ) => get_theme_mod( 'button_secondary_background_color', $colors['button_secondary_background_color'] ),
278
-				__( 'Strong Secondary Colour', 'lsx-button_shadow' ) => get_theme_mod( 'button_secondary_shadow', $colors['button_secondary_shadow'] ),
279
-				__( 'Tertiary Colour', 'lsx-customizer' )  => get_theme_mod( 'button_tertiary_background_color', $colors['button_tertiary_background_color'] ),
280
-				__( 'Strong Tertiary Colour', 'lsx-button_shadow' ) => get_theme_mod( 'button_tertiary_shadow', $colors['button_tertiary_shadow'] ),
281
-			);
282
-			foreach ( $customizer_colour_defaults as $key => $value ) {
283
-
284
-				$color_name = strtolower( str_replace( ' ', '_', $key ) );
285
-				$color_name = $color_name;
286
-
287
-				$wp_customize->add_setting( $color_name, array(
288
-					'default'           => $value,
289
-					'type'              => 'theme_mod',
290
-					'transport'         => 'postMessage',
291
-					'sanitize_callback' => 'sanitize_hex_color',
292
-				) );
293
-				$wp_customize->add_control(
294
-					new WP_Customize_Color_Control(
295
-						$wp_customize,
296
-						$color_name,
297
-						array(
298
-							'label'    => $key,
299
-							'section'  => 'colors-palette',
300
-							'settings' => $color_name,
301
-						)
302
-					)
303
-				);
304
-			}
305
-
306
-			/**
307
-			 * Colors
308
-			 */
309
-			foreach ( $customizer_colour_names as $key => $value ) {
310
-				$sanitize_callback = 'sanitize_hex_color';
311
-
312
-				if ( 'background_color' === $key ) {
313
-					$sanitize_callback = 'sanitize_hex_color_no_hash';
314
-				}
315
-
316
-				$section = 'colors-core';
317
-
318
-				if ( preg_match( '/^button_cta_.*/', $key ) ) {
319
-					$section = 'colors-button-cta';
320
-				} elseif ( preg_match( '/^button_secondary_.*/', $key ) ) {
321
-					$section = 'colors-button-secondary';
322
-				} elseif ( preg_match( '/^button_tertiary_.*/', $key ) ) {
323
-					$section = 'colors-button-tertiary';
324
-				} elseif ( preg_match( '/^button_.*/', $key ) ) {
325
-					$section = 'colors-button';
326
-				} elseif ( preg_match( '/^top_menu_.*/', $key ) ) {
327
-					$section = 'colors-top-menu';
328
-				} elseif ( preg_match( '/^header_.*/', $key ) ) {
329
-					$section = 'colors-header';
330
-				} elseif ( preg_match( '/^main_menu_.*/', $key ) ) {
331
-					$section = 'colors-main-menu';
332
-				} elseif ( preg_match( '/^banner_.*/', $key ) ) {
333
-					$section = 'colors-banner';
334
-				} elseif ( preg_match( '/^body_.*/', $key ) || 'background_color' === $key ) {
335
-					$section = 'colors-body';
336
-				} elseif ( preg_match( '/^footer_cta_.*/', $key ) ) {
337
-					$section = 'colors-footer-cta';
338
-				} elseif ( preg_match( '/^footer_widgets_.*/', $key ) ) {
339
-					$section = 'colors-footer-widgets';
340
-				} elseif ( preg_match( '/^footer_.*/', $key ) ) {
341
-					$section = 'colors-footer';
342
-				}
343
-
344
-				$wp_customize->add_setting( $key, array(
345
-					'default'           => $customizer_colour_choices['default']['colors'][ $key ],
346
-					'type'              => 'theme_mod',
347
-					'transport'         => 'postMessage',
348
-					'sanitize_callback' => $sanitize_callback,
349
-				) );
350
-
351
-				$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, $key, array(
352
-					'label'             => $value,
353
-					'section'           => $section,
354
-					'settings'          => $key,
355
-				) ) );
356
-			}
357
-		}
358
-
359
-		/**
360
-		 * Outputs an Underscore template for generating CSS for the color scheme.
361
-		 *
362
-		 * @since 1.0.0
363
-		 */
364
-		public function colour_scheme_css_template() {
365
-			global $customizer_colour_names;
366
-
367
-			$colors = array();
368
-
369
-			foreach ( $customizer_colour_names as $key => $value ) {
370
-				$colors[ $key ] = 'unquote("{{ data.' . $key . ' }}")';
371
-			}
372
-			?>
4
+     /**
5
+      * LSX Customizer Colour Class
6
+      *
7
+      * @package   LSX Customizer
8
+      * @author    LightSpeed
9
+      * @license   GPL3
10
+      * @link
11
+      * @copyright 2016 LightSpeed
12
+      */
13
+     class LSX_Customizer_Colour extends LSX_Customizer {
14
+
15
+          /**
16
+           * Button customizer instance.
17
+           *
18
+           * @var string
19
+           * @since 1.0.0
20
+           */
21
+          public $button;
22
+
23
+          /**
24
+           * Button CTA customizer instance.
25
+           *
26
+           * @var string
27
+           * @since 1.0.0
28
+           */
29
+          public $button_cta;
30
+
31
+          /**
32
+           * Button secondary customizer instance.
33
+           *
34
+           * @var string
35
+           * @since 1.1.0
36
+           */
37
+          public $button_secondary;
38
+
39
+          /**
40
+           * Button tertiary customizer instance.
41
+           *
42
+           * @var string
43
+           * @since 1.1.0
44
+           */
45
+          public $button_tertiary;
46
+
47
+          /**
48
+           * Top Menu customizer instance.
49
+           *
50
+           * @var string
51
+           * @since 1.0.0
52
+           */
53
+          public $top_menu;
54
+
55
+          /**
56
+           * Header customizer instance.
57
+           *
58
+           * @var string
59
+           * @since 1.0.0
60
+           */
61
+          public $header;
62
+
63
+          /**
64
+           * Main menu customizer instance.
65
+           *
66
+           * @var string
67
+           * @since 1.0.0
68
+           */
69
+          public $main_menu;
70
+
71
+          /**
72
+           * Banner customizer instance.
73
+           *
74
+           * @var string
75
+           * @since 1.0.0
76
+           */
77
+          public $banner;
78
+
79
+          /**
80
+           * Body customizer instance.
81
+           *
82
+           * @var string
83
+           * @since 1.0.0
84
+           */
85
+          public $body;
86
+
87
+          /**
88
+           * Footer CTA customizer instance.
89
+           *
90
+           * @var string
91
+           * @since 1.0.0
92
+           */
93
+          public $footer_cta;
94
+
95
+          /**
96
+           * Footer Widgets customizer instance.
97
+           *
98
+           * @var string
99
+           * @since 1.0.0
100
+           */
101
+          public $footer_widgets;
102
+
103
+          /**
104
+           * Footer customizer instance.
105
+           *
106
+           * @var string
107
+           * @since 1.0.0
108
+           */
109
+          public $footer;
110
+
111
+          /**
112
+           * Constructor.
113
+           *
114
+           * @since 1.0.0
115
+           */
116
+          public function __construct() {
117
+               add_action( 'after_setup_theme',                       array( $this, 'after_setup_theme' ), 20 );
118
+               add_action( 'customize_register',                      array( $this, 'customize_register' ), 20 );
119
+               add_action( 'customize_controls_print_footer_scripts', array( $this, 'colour_scheme_css_template' ) );
120
+          }
121
+
122
+          /**
123
+           * Customizer Controls and Settings.
124
+           *
125
+           * @param WP_Customize_Manager $wp_customize Theme Customizer object.
126
+           * @since 1.0.0
127
+           */
128
+          public function after_setup_theme() {
129
+               require_once( LSX_CUSTOMIZER_PATH . 'includes/lsx-customizer-colour-options.php' );
130
+               require_once( LSX_CUSTOMIZER_PATH . 'includes/lsx-customizer-colour-deprecated.php' );
131
+               require_once( LSX_CUSTOMIZER_PATH . 'includes/lsx-customizer-templates.php' );
132
+
133
+               require_once( LSX_CUSTOMIZER_PATH . 'classes/class-lsx-customizer-colour-button.php' );
134
+               $this->button = new LSX_Customizer_Colour_Button();
135
+
136
+               require_once( LSX_CUSTOMIZER_PATH . 'classes/class-lsx-customizer-colour-button-cta.php' );
137
+               $this->button_cta = new LSX_Customizer_Colour_Button_CTA();
138
+
139
+               require_once( LSX_CUSTOMIZER_PATH . 'classes/class-lsx-customizer-colour-button-secondary.php' );
140
+               $this->button_secondary = new LSX_Customizer_Colour_Button_Secondary();
141
+
142
+               require_once( LSX_CUSTOMIZER_PATH . 'classes/class-lsx-customizer-colour-button-tertiary.php' );
143
+               $this->button_tertiary = new LSX_Customizer_Colour_Button_Tertiary();
144
+
145
+               require_once( LSX_CUSTOMIZER_PATH . 'classes/class-lsx-customizer-colour-top-menu.php' );
146
+               $this->top_menu = new LSX_Customizer_Colour_Top_Menu();
147
+
148
+               require_once( LSX_CUSTOMIZER_PATH . 'classes/class-lsx-customizer-colour-header.php' );
149
+               $this->header = new LSX_Customizer_Colour_Header();
150
+
151
+               require_once( LSX_CUSTOMIZER_PATH . 'classes/class-lsx-customizer-colour-main-menu.php' );
152
+               $this->main_menu = new LSX_Customizer_Colour_Main_Menu();
153
+
154
+               require_once( LSX_CUSTOMIZER_PATH . 'classes/class-lsx-customizer-colour-banner.php' );
155
+               $this->banner = new LSX_Customizer_Colour_Banner();
156
+
157
+               require_once( LSX_CUSTOMIZER_PATH . 'classes/class-lsx-customizer-colour-body.php' );
158
+               $this->body = new LSX_Customizer_Colour_Body();
159
+
160
+               require_once( LSX_CUSTOMIZER_PATH . 'classes/class-lsx-customizer-colour-footer-cta.php' );
161
+               $this->footer_cta = new LSX_Customizer_Colour_Footer_CTA();
162
+
163
+               require_once( LSX_CUSTOMIZER_PATH . 'classes/class-lsx-customizer-colour-footer-widgets.php' );
164
+               $this->footer_widgets = new LSX_Customizer_Colour_Footer_Widgets();
165
+
166
+               require_once( LSX_CUSTOMIZER_PATH . 'classes/class-lsx-customizer-colour-footer.php' );
167
+               $this->footer = new LSX_Customizer_Colour_Footer();
168
+          }
169
+
170
+          /**
171
+           * Customizer Controls and Settings.
172
+           *
173
+           * @param WP_Customize_Manager $wp_customize Theme Customizer object.
174
+           * @since 1.0.0
175
+           */
176
+          public function customize_register( $wp_customize ) {
177
+               global $customizer_colour_names;
178
+               global $customizer_colour_choices;
179
+
180
+               /**
181
+                * Colors
182
+                */
183
+               $wp_customize->add_panel( 'colors', array(
184
+                    'title'             => esc_html__( 'Site Design', 'lsx-customizer' ),
185
+                    'priority'          => 60,
186
+               ) );
187
+
188
+               $wp_customize->add_section( 'colors-palette', array(
189
+                    'title'             => esc_html__( 'Block Editor', 'lsx-customizer' ),
190
+                    'description' => esc_html__( 'Define the block editor colour pallette.', 'lsx-customizer' ),
191
+                    'priority'          => 2,
192
+                    'panel'             => 'colors',
193
+               ) );
194
+
195
+               $wp_customize->add_section( 'colors-button', array(
196
+                    'title'             => esc_html__( 'Button', 'lsx-customizer' ),
197
+                    'priority'          => 3,
198
+                    'panel'             => 'colors',
199
+               ) );
200
+
201
+               $wp_customize->add_section( 'colors-button-cta', array(
202
+                    'title'             => esc_html__( 'Button CTA', 'lsx-customizer' ),
203
+                    'priority'          => 4,
204
+                    'panel'             => 'colors',
205
+               ) );
206
+
207
+               $wp_customize->add_section( 'colors-button-secondary', array(
208
+                    'title'             => esc_html__( 'Button Secondary', 'lsx-customizer' ),
209
+                    'priority'          => 5,
210
+                    'panel'             => 'colors',
211
+               ) );
212
+
213
+               $wp_customize->add_section( 'colors-button-tertiary', array(
214
+                    'title'             => esc_html__( 'Button Tertiary', 'lsx-customizer' ),
215
+                    'priority'          => 6,
216
+                    'panel'             => 'colors',
217
+               ) );
218
+
219
+               $wp_customize->add_section( 'colors-top-menu', array(
220
+                    'title'             => esc_html__( 'Top Menu', 'lsx-customizer' ),
221
+                    'priority'          => 7,
222
+                    'panel'             => 'colors',
223
+               ) );
224
+
225
+               $wp_customize->add_section( 'colors-header', array(
226
+                    'title'             => esc_html__( 'Header', 'lsx-customizer' ),
227
+                    'priority'          => 8,
228
+                    'panel'             => 'colors',
229
+               ) );
230
+
231
+               $wp_customize->add_section( 'colors-main-menu', array(
232
+                    'title'             => esc_html__( 'Main Menu', 'lsx-customizer' ),
233
+                    'priority'          => 9,
234
+                    'panel'             => 'colors',
235
+               ) );
236
+
237
+               $wp_customize->add_section( 'colors-banner', array(
238
+                    'title'             => esc_html__( 'Banner', 'lsx-customizer' ),
239
+                    'priority'          => 10,
240
+                    'panel'             => 'colors',
241
+               ) );
242
+
243
+               $wp_customize->add_section( 'colors-body', array(
244
+                    'title'             => esc_html__( 'Body', 'lsx-customizer' ),
245
+                    'priority'          => 11,
246
+                    'panel'             => 'colors',
247
+               ) );
248
+
249
+               $wp_customize->add_section( 'colors-footer-cta', array(
250
+                    'title'             => esc_html__( 'Footer CTA', 'lsx-customizer' ),
251
+                    'priority'          => 12,
252
+                    'panel'             => 'colors',
253
+               ) );
254
+
255
+               $wp_customize->add_section( 'colors-footer-widgets', array(
256
+                    'title'             => esc_html__( 'Footer Widgets', 'lsx-customizer' ),
257
+                    'priority'          => 13,
258
+                    'panel'             => 'colors',
259
+               ) );
260
+
261
+               $wp_customize->add_section( 'colors-footer', array(
262
+                    'title'             => esc_html__( 'Footer', 'lsx-customizer' ),
263
+                    'priority'          => 14,
264
+                    'panel'             => 'colors',
265
+               ) );
266
+
267
+               /**
268
+                * Colour Palette
269
+                */
270
+               $colors = $this->get_color_scheme();
271
+
272
+               $customizer_colour_defaults = array(
273
+                    __( 'Primary Colour', 'lsx-customizer' )   => get_theme_mod( 'button_background_color', $colors['button_background_color'] ),
274
+                    __( 'Strong Primary Colour', 'lsx-button_shadow' ) => get_theme_mod( 'button_background_hover_color', $colors['button_background_hover_color'] ),
275
+                    __( 'Call To Action Colour', 'lsx-customizer' ) => get_theme_mod( 'button_cta_background_color', $colors['button_cta_background_color'] ),
276
+                    __( 'Strong CTA Colour', 'lsx-button_shadow' ) => get_theme_mod( 'button_cta_shadow', $colors['button_cta_shadow'] ),
277
+                    __( 'Secondary Colour', 'lsx-customizer' ) => get_theme_mod( 'button_secondary_background_color', $colors['button_secondary_background_color'] ),
278
+                    __( 'Strong Secondary Colour', 'lsx-button_shadow' ) => get_theme_mod( 'button_secondary_shadow', $colors['button_secondary_shadow'] ),
279
+                    __( 'Tertiary Colour', 'lsx-customizer' )  => get_theme_mod( 'button_tertiary_background_color', $colors['button_tertiary_background_color'] ),
280
+                    __( 'Strong Tertiary Colour', 'lsx-button_shadow' ) => get_theme_mod( 'button_tertiary_shadow', $colors['button_tertiary_shadow'] ),
281
+               );
282
+               foreach ( $customizer_colour_defaults as $key => $value ) {
283
+
284
+                    $color_name = strtolower( str_replace( ' ', '_', $key ) );
285
+                    $color_name = $color_name;
286
+
287
+                    $wp_customize->add_setting( $color_name, array(
288
+                         'default'           => $value,
289
+                         'type'              => 'theme_mod',
290
+                         'transport'         => 'postMessage',
291
+                         'sanitize_callback' => 'sanitize_hex_color',
292
+                    ) );
293
+                    $wp_customize->add_control(
294
+                         new WP_Customize_Color_Control(
295
+                              $wp_customize,
296
+                              $color_name,
297
+                              array(
298
+                                   'label'    => $key,
299
+                                   'section'  => 'colors-palette',
300
+                                   'settings' => $color_name,
301
+                              )
302
+                         )
303
+                    );
304
+               }
305
+
306
+               /**
307
+                * Colors
308
+                */
309
+               foreach ( $customizer_colour_names as $key => $value ) {
310
+                    $sanitize_callback = 'sanitize_hex_color';
311
+
312
+                    if ( 'background_color' === $key ) {
313
+                         $sanitize_callback = 'sanitize_hex_color_no_hash';
314
+                    }
315
+
316
+                    $section = 'colors-core';
317
+
318
+                    if ( preg_match( '/^button_cta_.*/', $key ) ) {
319
+                         $section = 'colors-button-cta';
320
+                    } elseif ( preg_match( '/^button_secondary_.*/', $key ) ) {
321
+                         $section = 'colors-button-secondary';
322
+                    } elseif ( preg_match( '/^button_tertiary_.*/', $key ) ) {
323
+                         $section = 'colors-button-tertiary';
324
+                    } elseif ( preg_match( '/^button_.*/', $key ) ) {
325
+                         $section = 'colors-button';
326
+                    } elseif ( preg_match( '/^top_menu_.*/', $key ) ) {
327
+                         $section = 'colors-top-menu';
328
+                    } elseif ( preg_match( '/^header_.*/', $key ) ) {
329
+                         $section = 'colors-header';
330
+                    } elseif ( preg_match( '/^main_menu_.*/', $key ) ) {
331
+                         $section = 'colors-main-menu';
332
+                    } elseif ( preg_match( '/^banner_.*/', $key ) ) {
333
+                         $section = 'colors-banner';
334
+                    } elseif ( preg_match( '/^body_.*/', $key ) || 'background_color' === $key ) {
335
+                         $section = 'colors-body';
336
+                    } elseif ( preg_match( '/^footer_cta_.*/', $key ) ) {
337
+                         $section = 'colors-footer-cta';
338
+                    } elseif ( preg_match( '/^footer_widgets_.*/', $key ) ) {
339
+                         $section = 'colors-footer-widgets';
340
+                    } elseif ( preg_match( '/^footer_.*/', $key ) ) {
341
+                         $section = 'colors-footer';
342
+                    }
343
+
344
+                    $wp_customize->add_setting( $key, array(
345
+                         'default'           => $customizer_colour_choices['default']['colors'][ $key ],
346
+                         'type'              => 'theme_mod',
347
+                         'transport'         => 'postMessage',
348
+                         'sanitize_callback' => $sanitize_callback,
349
+                    ) );
350
+
351
+                    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, $key, array(
352
+                         'label'             => $value,
353
+                         'section'           => $section,
354
+                         'settings'          => $key,
355
+                    ) ) );
356
+               }
357
+          }
358
+
359
+          /**
360
+           * Outputs an Underscore template for generating CSS for the color scheme.
361
+           *
362
+           * @since 1.0.0
363
+           */
364
+          public function colour_scheme_css_template() {
365
+               global $customizer_colour_names;
366
+
367
+               $colors = array();
368
+
369
+               foreach ( $customizer_colour_names as $key => $value ) {
370
+                    $colors[ $key ] = 'unquote("{{ data.' . $key . ' }}")';
371
+               }
372
+               ?>
373 373
 			<script type="text/html" id="tmpl-lsx-color-scheme">
374 374
 				<?php echo esc_attr( $this->top_menu->get_css( $colors ) ); ?>
375 375
 				<?php echo esc_attr( $this->header->get_css( $colors ) ); ?>
@@ -388,89 +388,89 @@  discard block
 block discarded – undo
388 388
 				<?php echo esc_attr( $this->button_tertiary->get_css( $colors ) ); ?>
389 389
 			</script>
390 390
 			<?php
391
-		}
392
-
393
-		/**
394
-		 * Transform SCSS to CSS.
395
-		 *
396
-		 * @since 1.0.0
397
-		 */
398
-		public function scss_to_css( $scss ) {
399
-			$css                 = '';
400
-			$scss_php_file       = LSX_CUSTOMIZER_PATH . 'vendor/leafo/scssphp/scss.inc.php';
401
-			$lsx_theme_sass_file = get_template_directory() . '/assets/css/scss/lsx.scss';
402
-
403
-			if ( ! empty( $scss ) && file_exists( $scss_php_file ) && file_exists( $lsx_theme_sass_file ) ) {
404
-				require_once $scss_php_file;
405
-
406
-				$compiler = new \Leafo\ScssPhp\Compiler();
407
-				$compiler->setFormatter( 'Leafo\ScssPhp\Formatter\Compact' );
408
-
409
-				try {
410
-					$scss = '
391
+          }
392
+
393
+          /**
394
+           * Transform SCSS to CSS.
395
+           *
396
+           * @since 1.0.0
397
+           */
398
+          public function scss_to_css( $scss ) {
399
+               $css                 = '';
400
+               $scss_php_file       = LSX_CUSTOMIZER_PATH . 'vendor/leafo/scssphp/scss.inc.php';
401
+               $lsx_theme_sass_file = get_template_directory() . '/assets/css/scss/lsx.scss';
402
+
403
+               if ( ! empty( $scss ) && file_exists( $scss_php_file ) && file_exists( $lsx_theme_sass_file ) ) {
404
+                    require_once $scss_php_file;
405
+
406
+                    $compiler = new \Leafo\ScssPhp\Compiler();
407
+                    $compiler->setFormatter( 'Leafo\ScssPhp\Formatter\Compact' );
408
+
409
+                    try {
410
+                         $scss = '
411 411
 						@import "' . LSX_CUSTOMIZER_PATH . '/assets/css/scss/include-media";
412 412
 						@import "' . get_template_directory() . '/assets/css/scss/global/lsx-variables";
413 413
 						@import "' . get_template_directory() . '/assets/css/scss/global/mixins/colours-helper";
414 414
 						' . $scss . '
415 415
 					';
416 416
 
417
-					$css = $compiler->compile( $scss );
418
-				} catch ( \Exception $e ) {
419
-					$error = $e->getMessage();
420
-					return "/*\n\n\$error:\n\n{$error}\n\n\$scss:\n\n{$scss} */";
421
-				}
422
-			}
423
-
424
-			return $css;
425
-		}
426
-
427
-		/**
428
-		 * Converts a HEX value to RGB.
429
-		 *
430
-		 * @since 1.0.0
431
-		 */
432
-		public static function hex2rgb( $color ) {
433
-			$color = trim( $color, '#' );
434
-
435
-			if ( strlen( $color ) === 3 ) {
436
-				$r = hexdec( substr( $color, 0, 1 ) . substr( $color, 0, 1 ) );
437
-				$g = hexdec( substr( $color, 1, 1 ) . substr( $color, 1, 1 ) );
438
-				$b = hexdec( substr( $color, 2, 1 ) . substr( $color, 2, 1 ) );
439
-			} elseif ( strlen( $color ) === 6 ) {
440
-				$r = hexdec( substr( $color, 0, 2 ) );
441
-				$g = hexdec( substr( $color, 2, 2 ) );
442
-				$b = hexdec( substr( $color, 4, 2 ) );
443
-			} else {
444
-				return array();
445
-			}
446
-
447
-			return array(
448
-				'red'   => $r,
449
-				'green' => $g,
450
-				'blue'  => $b,
451
-			);
452
-		}
453
-
454
-		/**
455
-		 * Retrieves the current color scheme.
456
-		 *
457
-		 * @since 1.0.0
458
-		 */
459
-		public function get_color_scheme() {
460
-			global $customizer_colour_choices;
461
-
462
-			//$color_scheme_option = get_theme_mod( 'color_scheme', 'default' );
463
-			$color_schemes = $customizer_colour_choices;
464
-
465
-			// if ( array_key_exists( $color_scheme_option, $color_schemes ) ) {
466
-			// 	return $color_schemes[ $color_scheme_option ]['colors'];
467
-			// }
468
-
469
-			return $color_schemes['default']['colors'];
470
-		}
471
-
472
-	}
473
-
474
-	new LSX_Customizer_Colour();
417
+                         $css = $compiler->compile( $scss );
418
+                    } catch ( \Exception $e ) {
419
+                         $error = $e->getMessage();
420
+                         return "/*\n\n\$error:\n\n{$error}\n\n\$scss:\n\n{$scss} */";
421
+                    }
422
+               }
423
+
424
+               return $css;
425
+          }
426
+
427
+          /**
428
+           * Converts a HEX value to RGB.
429
+           *
430
+           * @since 1.0.0
431
+           */
432
+          public static function hex2rgb( $color ) {
433
+               $color = trim( $color, '#' );
434
+
435
+               if ( strlen( $color ) === 3 ) {
436
+                    $r = hexdec( substr( $color, 0, 1 ) . substr( $color, 0, 1 ) );
437
+                    $g = hexdec( substr( $color, 1, 1 ) . substr( $color, 1, 1 ) );
438
+                    $b = hexdec( substr( $color, 2, 1 ) . substr( $color, 2, 1 ) );
439
+               } elseif ( strlen( $color ) === 6 ) {
440
+                    $r = hexdec( substr( $color, 0, 2 ) );
441
+                    $g = hexdec( substr( $color, 2, 2 ) );
442
+                    $b = hexdec( substr( $color, 4, 2 ) );
443
+               } else {
444
+                    return array();
445
+               }
446
+
447
+               return array(
448
+                    'red'   => $r,
449
+                    'green' => $g,
450
+                    'blue'  => $b,
451
+               );
452
+          }
453
+
454
+          /**
455
+           * Retrieves the current color scheme.
456
+           *
457
+           * @since 1.0.0
458
+           */
459
+          public function get_color_scheme() {
460
+               global $customizer_colour_choices;
461
+
462
+               //$color_scheme_option = get_theme_mod( 'color_scheme', 'default' );
463
+               $color_schemes = $customizer_colour_choices;
464
+
465
+               // if ( array_key_exists( $color_scheme_option, $color_schemes ) ) {
466
+               // 	return $color_schemes[ $color_scheme_option ]['colors'];
467
+               // }
468
+
469
+               return $color_schemes['default']['colors'];
470
+          }
471
+
472
+     }
473
+
474
+     new LSX_Customizer_Colour();
475 475
 
476 476
 }
Please login to merge, or discard this patch.