Custom Login Page Customizer | LoginPress - Version 1.0.13

Version Description

  • 2017-04-14 =
  • Bugfix: Code improvement
  • Enhancement: Introducing Pro features e.g Google fonts, Google reCaptcha. Adding compatibility for those features in Free version.
Download this release

Release Info

Developer hiddenpearls
Plugin Icon 128x128 Custom Login Page Customizer | LoginPress
Version 1.0.13
Comparing to
See all releases

Code changes from version 1.0.12 to 1.0.13

classes/loginpress-settings-api.php CHANGED
@@ -538,7 +538,7 @@ if ( !class_exists( 'LoginPress_Settings_API' ) ):
538
  <ul>
539
  <li><span class="dashicons dashicons-admin-post"></span><strong><?php _e( 'Secure login with Google reCaptcha', 'loginpress' ); ?></strong></li>
540
  <li><span class="dashicons dashicons-admin-post"></span><strong><?php _e( '20+ Custom Login Themes', 'loginpress' ); ?></strong></li>
541
- <li><span class="dashicons dashicons-admin-post"></span><strong><?php _e( 'Full customizatin with Custom CSS & JS', 'loginpress' ); ?>
542
  </strong></li>
543
  <li><hr style=" border-top: 1px solid #734726; border-bottom: none"></li>
544
  </ul>
538
  <ul>
539
  <li><span class="dashicons dashicons-admin-post"></span><strong><?php _e( 'Secure login with Google reCaptcha', 'loginpress' ); ?></strong></li>
540
  <li><span class="dashicons dashicons-admin-post"></span><strong><?php _e( '20+ Custom Login Themes', 'loginpress' ); ?></strong></li>
541
+ <li><span class="dashicons dashicons-admin-post"></span><strong><?php _e( 'Full customization with Custom CSS & JS', 'loginpress' ); ?>
542
  </strong></li>
543
  <li><hr style=" border-top: 1px solid #734726; border-bottom: none"></li>
544
  </ul>
classes/loginpress-setup.php CHANGED
@@ -55,7 +55,12 @@ class LoginPress_Settings {
55
 
56
  function loginpress_setting_menu() {
57
 
58
- add_submenu_page( 'loginpress', __( 'Settings', 'loginpress' ), __( 'Settings', 'loginpress' ), 'manage_options', "loginpress-settings", array( $this, 'plugin_page' ) );
 
 
 
 
 
59
  }
60
 
61
  function get_settings_sections() {
55
 
56
  function loginpress_setting_menu() {
57
 
58
+ add_menu_page( __( 'LoginPress', 'loginpress' ), __( 'LoginPress', 'loginpress' ), 'manage_options', "loginpress-settings", array( $this, 'plugin_page' ), '', 50 );
59
+
60
+ add_submenu_page( 'loginpress-settings', __( 'Settings', 'loginpress' ), __( 'Settings', 'loginpress' ), 'manage_options', "loginpress-settings", array( $this, 'plugin_page' ) );
61
+
62
+ add_submenu_page( 'loginpress-settings', __( 'Customizer', 'loginpress' ), __( 'Customizer', 'loginpress' ), 'manage_options', "loginpress", '__return_null' );
63
+
64
  }
65
 
66
  function get_settings_sections() {
js/customize-controls.js CHANGED
@@ -1,466 +1,611 @@
1
- jQuery( document ).ready( function() {
2
 
3
- /* === Checkbox Multiple Control === */
4
 
5
- jQuery( '.customize-control-checkbox-multiple input[type="radio"]' ).on(
6
- 'change',
7
- function() {
8
 
9
- checkbox_values = jQuery( this ).parents( '.customize-control' ).find( 'input[type="radio"]:checked' ).val();
 
10
 
11
- style_values = jQuery( this ).parents( '.customize-control' ).find( 'input[type="radio"]:checked' ).data('style');
 
12
 
13
- // console.log(style_values);
14
- // console.log(checkbox_values);
15
- var val = [];
16
- val.push(checkbox_values);
17
- val.push(style_values);
18
- console.log(val);
19
- jQuery( this ).parents( '.customize-control' ).find( 'input[type="hidden"]' ).val( checkbox_values ).delay(500).trigger( 'change' );
20
- // jQuery( this ).parents( '.customize-control' ).find( 'input[type="hidden"]' ).trigger( 'change' );
 
 
21
 
22
- }
23
- );
24
 
25
- } ); // jQuery( document ).ready
26
 
27
 
28
- ( function( $ ) {
29
 
30
  // function for change LoginPress background-image in real time...
31
- function loginpress_background_img( setting, target ) {
32
- wp.customize( setting, function( value ) {
33
- value.bind( function( loginPressVal ) {
34
- if( loginPressVal == '' ) {
35
- $('#customize-preview iframe').contents().find( target ).css( 'background-image', '' );
 
36
  } else {
37
- $('#customize-preview iframe').contents().find( target ).css( 'background-image', 'url(' + loginPressVal + ')' );
 
38
  }
39
- } );
40
- } );
41
  }
42
 
43
  // function for change LoginPress CSS in real time...
44
- function loginpress_css_property( setting, target, property ){
45
  // Update the login logo width in real time...
46
- wp.customize( setting, function( value ) {
47
- value.bind( function( loginPressVal ) {
48
 
49
- if( loginPressVal == '' ) {
50
- $('#customize-preview iframe').contents().find( target ).css( property, '' );
 
51
  } else {
52
- $('#customize-preview iframe').contents().find( target ).css( property, loginPressVal );
 
53
  }
54
- } );
55
- } );
56
  }
57
  // function for change LoginPress attribute in real time...
58
- function loginpress_attr_property( setting, target, property ) {
59
- wp.customize( setting, function( value ) {
60
- value.bind( function( loginPressVal ) {
61
 
62
- if( loginPressVal == '' ) {
63
- $('#customize-preview iframe').contents().find( target ).attr( property, '' );
 
64
  } else {
65
- $('#customize-preview iframe').contents().find( target ).attr( property, loginPressVal );
 
66
  }
67
- } );
68
- } );
69
  }
70
  // function for change LoginPress input fields in real time...
71
- function loginpress_input_property( setting, property ) {
72
- wp.customize( setting, function( value ) {
73
- value.bind( function( loginPressVal ) {
74
- if( loginPressVal == '' ) {
75
- $('#customize-preview iframe').contents().find('.login input[type="text"]').css( property, '' );
76
- $('#customize-preview iframe').contents().find('.login input[type="password"]').css( property, '' );
 
 
77
  } else {
78
- $('#customize-preview iframe').contents().find('.login input[type="text"]').css( property, loginPressVal );
79
- $('#customize-preview iframe').contents().find('.login input[type="password"]').css( property, loginPressVal );
 
 
 
 
80
  }
81
- } );
82
- } );
83
  }
84
 
85
  // function for change LoginPress error and welcome messages in real time...
86
- function loginpress_text_message( errorlog, target ) {
87
- wp.customize( errorlog, function( value ) {
88
- value.bind( function( loginPressVal ) {
89
 
90
- if( loginPressVal == '' ) {
91
- $('#customize-preview iframe').contents().find( target ).text( '' );
 
92
  } else {
93
- $('#customize-preview iframe').contents().find( target ).text( loginPressVal );
 
94
  }
95
- } );
96
- } );
97
  }
98
 
99
- var change_theme;
100
  // function for change LoginPress error and welcome messages in real time...
101
 
102
- wp.customize( 'customize_presets_settings', function( value ) {
103
- value.bind( function( loginPressVal ) {
104
 
105
  change_theme = loginPressVal;
106
 
107
 
108
- } );
109
- } );
110
 
111
 
112
  // function for change LoginPress CSS in real time...
113
- function loginpress_display_control( setting ){
114
  // Update the login logo width in real time...
115
- wp.customize( setting, function( value ) {
116
- value.bind( function( loginPressVal ) {
117
 
118
  // Control on footer text.
119
- if ( 'loginpress_customization[footer_display_text]' == setting && 'none' == loginPressVal ) {
120
-
121
- $('#customize-control-login_footer_text_decoration').css('display', 'none');
122
- $('#customize-control-login_footer_color').css('display', 'none');
123
- $('#customize-control-login_footer_color_hover').css('display', 'none');
124
- $('#customize-control-login_footer_font_size').css('display', 'none');
125
- $('#customize-control-login_footer_bg_color').css('display', 'none');
126
-
127
- } else if ( 'loginpress_customization[footer_display_text]' == setting && 'block' == loginPressVal ) {
128
-
129
- $('#customize-control-login_footer_text_decoration').css('display', 'list-item');
130
- $('#customize-control-login_footer_color').css('display', 'list-item');
131
- $('#customize-control-login_footer_color_hover').css('display', 'list-item');
132
- $('#customize-control-login_footer_font_size').css('display', 'list-item');
133
- $('#customize-control-login_footer_bg_color').css('display', 'list-item');
 
 
 
 
 
 
 
 
 
 
 
 
134
 
135
  }
136
 
137
  // Control on footer back link text.
138
- if ( 'loginpress_customization[back_display_text]' == setting && 'none' == loginPressVal ) {
139
-
140
- $('#customize-control-login_back_text_decoration').css('display', 'none');
141
- $('#customize-control-login_back_color').css('display', 'none');
142
- $('#customize-control-login_back_color_hover').css('display', 'none');
143
- $('#customize-control-login_back_font_size').css('display', 'none');
144
- $('#customize-control-login_back_bg_color').css('display', 'none');
145
-
146
- } else if ( 'loginpress_customization[back_display_text]' == setting && 'block' == loginPressVal ) {
147
-
148
- $('#customize-control-login_back_text_decoration').css('display', 'list-item');
149
- $('#customize-control-login_back_color').css('display', 'list-item');
150
- $('#customize-control-login_back_color_hover').css('display', 'list-item');
151
- $('#customize-control-login_back_font_size').css('display', 'list-item');
152
- $('#customize-control-login_back_bg_color').css('display', 'list-item');
 
 
 
 
 
 
 
 
 
 
 
 
153
 
154
  }
155
- } );
156
- } );
157
  }
158
 
159
  // function for change LoginPress error and welcome messages in real time...
160
- function loginpress_footer_text_message( errorlog, target ) {
161
- wp.customize( errorlog, function( value ) {
162
- value.bind( function( loginPressVal ) {
163
-
164
- if( loginPressVal == '' ) {
165
- $('#customize-preview iframe').contents().find( target ).text( '' );
166
- if ( errorlog == 'loginpress_customization[login_footer_copy_right]') {
167
- $('#customize-preview iframe').contents().find( target ).css( 'display', 'none' );
 
 
 
168
  }
169
  } else {
170
- $('#customize-preview iframe').contents().find( target ).text( loginPressVal );
171
- if ( errorlog == 'loginpress_customization[login_footer_copy_right]') {
172
- $('#customize-preview iframe').contents().find( target ).css( 'display', 'block' );
 
 
 
173
  }
174
  }
175
- } );
176
- } );
177
  }
178
 
179
  // LoginPress Customizer Background Image Control.
180
- function loginpress_customizer_bg( customizer_bg ) {
181
-
182
- if ( 'default1' == customizer_bg ) {
183
- loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress/img/bg.jpg)';
184
- } else if ( 'default2' == customizer_bg ) {
185
- loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress/img/bg2.jpg)';
186
- } else if ( 'default3' == customizer_bg ) {
187
- loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress-pro/img/bg3.jpg)';
188
- } else if ( 'default4' == customizer_bg ) {
189
- loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress-pro/img/bg4.jpg)';
190
- } else if ( 'default5' == customizer_bg ) {
191
- loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress-pro/img/bg5.jpg)';
192
- } else if ( 'default6' == customizer_bg ) {
193
- loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress-pro/img/bg6.jpg)';
194
- } else if ( 'default7' == customizer_bg ) {
195
- loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress-pro/img/bg7.jpg)';
196
- } else if ( 'default8' == customizer_bg ) {
197
- loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress-pro/img/bg8.jpg)';
198
- } else if ( 'default9' == customizer_bg ) {
199
- loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress-pro/img/bg9.jpg)';
200
- } else if ( 'default10' == customizer_bg ) {
201
- loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress-pro/img/bg10.jpg)';
202
- } else if ( 'default11' == customizer_bg ) {
203
- loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress-pro/img/bg11.png)';
204
- } else if ( 'default12' == customizer_bg ) {
205
- loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress-pro/img/bg12.jpg)';
206
- } else if ( 'default13' == customizer_bg ) {
207
- loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress-pro/img/bg13.jpg)';
208
- } else if ( 'default14' == customizer_bg ) {
209
- loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress-pro/img/bg14.jpg)';
210
- } else if ( 'default15' == customizer_bg ) {
211
- loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress-pro/img/bg15.jpg)';
212
- } else if ( 'default16' == customizer_bg ) {
213
- loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress-pro/img/bg16.jpg)';
214
- } else if ( 'default17' == customizer_bg ) {
215
- loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress-pro/img/bg17.jpg)';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
216
  }
217
  }
218
 
219
- wp.customize( 'loginpress_customization[loginpress_display_bg]', function( value ) {
220
- value.bind( function( loginPressVal ) {
 
221
 
222
- // Check the theme id.
223
- customizer_bg = change_theme ? change_theme : loginpress_script.login_theme;
 
224
 
225
- // Set custom style on customizer.
226
- if ( $('#customize-preview iframe').contents().find('#loginpress-customize').length == 0 ) {
227
- $("<style type='text/css' id='loginpress-customize'></style>").appendTo($('#customize-preview iframe').contents().find('head'));
228
- }
 
 
 
229
 
230
- // Set conditions on behalf on themes.
231
- if( loginPressVal == false ) {
232
 
233
- if ( 'default6' == customizer_bg ) {
234
 
235
- $('#customize-preview iframe').contents().find('#loginpress-customize').html("#login::after{background-image: none}");
 
 
236
 
237
- } else if ( 'default8' == customizer_bg ) {
238
 
239
- $('#customize-preview iframe').contents().find('#loginpress-customize').html("body.login::after{background: none}");
 
 
240
 
241
- } else if ( 'default10' == customizer_bg ) {
242
 
243
- $('#customize-preview iframe').contents().find('#loginpress-customize').html("#login::after{background-image: none}");
 
 
244
 
245
- } else if ( 'default17' == customizer_bg ) {
246
 
247
- $('#customize-preview iframe').contents().find('#loginpress-customize').html("#login{background: none}");
 
 
248
 
249
- } else {
250
- $('#customize-preview iframe').contents().find( 'body.login' ).css( 'background-image', 'none' );
251
- }
 
252
 
253
- $('#customize-control-setting_background').hide();
254
- $('#customize-control-background_image_size').hide();
255
- $('#customize-control-background_repeat_radio').hide();
256
 
257
- } else {
258
 
259
- if ( localStorage.loginpress_bg ) {
260
 
261
- loginpress_bg_ = 'url(' + localStorage.loginpress_bg + ')';
262
 
263
- if ( 'default6' == customizer_bg ) {
264
 
265
- $('#customize-preview iframe').contents().find('#loginpress-customize').html("#login::after{background-image: "+loginpress_bg_+"}");
 
 
 
266
 
267
- } else if ( 'default8' == customizer_bg ) {
268
 
269
- $('#customize-preview iframe').contents().find('#loginpress-customize').html("body.login::after{background: "+loginpress_bg_+" no-repeat 0 0; background-size: cover}");
 
 
 
270
 
271
- } else if ( 'default10' == customizer_bg ) {
272
 
273
- $('#customize-preview iframe').contents().find('#loginpress-customize').html("#login::after{background-image: "+loginpress_bg_+"}");
 
 
 
274
 
275
- } else if ( 'default17' == customizer_bg ) {
276
 
277
- $('#customize-preview iframe').contents().find('#loginpress-customize').html("#login{background: "+loginpress_bg_+" no-repeat 0 0;}");
 
 
278
 
279
- } else {
280
 
281
- $('#customize-preview iframe').contents().find( 'body.login' ).css( 'background-image', loginpress_bg_ )
282
- }
 
283
 
284
- } else if ( loginpress_script.loginpress_bg_url == true ){
285
 
286
- if ( 'default6' == customizer_bg ) {
287
 
288
- $('#customize-preview iframe').contents().find('#loginpress-customize').html("#login::after{background-image: " + loginpress_script.loginpress_bg_url + "}");
 
 
 
289
 
290
- } else if ( 'default8' == customizer_bg ) {
291
 
292
- $('#customize-preview iframe').contents().find('#loginpress-customize').html("body.login::after{background: " + loginpress_script.loginpress_bg_url + " no-repeat 0 0; background-size: cover}");
 
 
 
293
 
294
- } else if ( 'default10' == customizer_bg ) {
295
 
296
- $('#customize-preview iframe').contents().find('#loginpress-customize').html("#login::after{background-image: " + loginpress_script.loginpress_bg_url + "}");
 
 
 
297
 
298
- } else if ( 'default17' == customizer_bg ) {
299
 
300
- $('#customize-preview iframe').contents().find('#loginpress-customize').html("#login{background: " + loginpress_script.loginpress_bg_url + " no-repeat 0 0;}");
 
 
 
301
 
302
- } else {
303
- $('#customize-preview iframe').contents().find( 'body.login' ).css( 'background-image', 'url(' + loginpress_script.loginpress_bg_url + ')' );
304
- }
305
  } else {
 
 
 
 
 
306
 
307
- loginpress_customizer_bg( customizer_bg );
308
- if ( 'default6' == customizer_bg ) {
309
 
310
- $('#customize-preview iframe').contents().find('#loginpress-customize').html("#login::after{background-image: " + loginpress_bg + "}");
 
 
 
311
 
312
- } else if ( 'default8' == customizer_bg ) {
313
 
314
- $('#customize-preview iframe').contents().find('#loginpress-customize').html("body.login::after{background: " + loginpress_bg + " no-repeat 0 0; background-size: cover}");
 
 
 
315
 
316
- } else if ( 'default10' == customizer_bg ) {
317
 
318
- $('#customize-preview iframe').contents().find('#loginpress-customize').html("#login::after{background-image: " + loginpress_bg + "}");
 
 
 
319
 
320
- } else if ( 'default17' == customizer_bg ) {
321
 
322
- $('#customize-preview iframe').contents().find('#loginpress-customize').html("#login{background: " + loginpress_bg + " no-repeat 0 0;}");
 
 
323
 
324
- } else {
325
- $('#customize-preview iframe').contents().find( 'body.login' ).css( 'background-image', loginpress_bg );
326
- }
327
  }
 
328
 
329
- $('#customize-control-setting_background').show();
330
- $('#customize-control-background_image_size').show();
331
- $('#customize-control-background_repeat_radio').show();
332
 
333
- } // endif; conditions on behalf on themes.
334
- } );
335
- } );
336
  // LoginPress Background Image Control.
337
- // wp.customize( 'loginpress_customization[loginpress_display_bg]', function( value ) {
338
- // value.bind( function( loginPressVal ) {
339
- // customizer_bg = change_theme ? change_theme : loginpress_script.login_theme;
340
- //
341
- // var bg = $('#customize-preview iframe').contents().find( 'body.login' ).css( 'background-image' );
342
- // console.log(bg);
343
- // if( loginPressVal == false ) {
344
- //
345
- // if ( ! localStorage.loginpress_bg_check ) {
346
- //
347
- // localStorage.setItem( "loginpress_bg_check", bg );
348
- // }
349
- //
350
- // if ( 'default6' == customizer_bg ) {
351
- // //Q ki hoya ?
352
- // console.log('bg of default6 is gone off');
353
- // // $('#customize-preview iframe').contents().find( '#login::after' ).appendTo( 'background-image', 'none' );
354
- // $("<style type='text/css'>#login::after{background-image: none}</style>").appendTo($('#customize-preview iframe').contents().find('head'));
355
- // } else {
356
- // console.log('bg gone off');
357
- // $('#customize-preview iframe').contents().find( 'body.login' ).css( 'background-image', 'none' );
358
- // }
359
- // $('#customize-control-setting_background').hide();
360
- // $('#customize-control-background_repeat_radio').hide();
361
- // $('#customize-control-background_image_size').hide();
362
- // } else {
363
- //
364
- // if ( localStorage.getItem("loginpress_bg") === null && localStorage.loginpress_bg_check ) {
365
- //
366
- // loginpress_bg = localStorage.loginpress_bg_check;
367
- // console.log('bg1');
368
- //
369
- // } else if ( localStorage.getItem("loginpress_bg") === null ) {
370
- //
371
- // loginpress_customizer_bg( customizer_bg );
372
- // console.log('bg2');
373
- // } else if ( localStorage.loginpress_bg ) {
374
- //
375
- // loginpress_bg = 'url(' + localStorage.loginpress_bg + ')';
376
- // console.log('bg3');
377
- // } else {
378
- //
379
- // loginpress_bg = localStorage.loginpress_bg_check;
380
- // console.log('bg4');
381
- // }
382
- //
383
- // if ( 'default6' == customizer_bg ) {
384
- // console.log('true default6 bg');
385
- // console.log(loginpress_bg);
386
- // // $('#customize-preview iframe').contents().find( '#login::after' ).appendTo( 'background-image', loginpress_bg );
387
- // $("<style type='text/css'>#login::after{background-image: "+loginpress_bg+"}</style>").appendTo($('#customize-preview iframe').contents().find('head'));
388
- // } else {
389
- // console.log('true bg');
390
- // console.log(loginpress_bg);
391
- // $('#customize-preview iframe').contents().find( 'body.login' ).css( 'background-image', loginpress_bg );
392
- // }
393
- // // $('#customize-preview iframe').contents().find( 'body.login' ).css( 'background-image', loginpress_bg );
394
- // $('#customize-control-setting_background').show();
395
- // $('#customize-control-background_repeat_radio').show();
396
- // $('#customize-control-background_image_size').show();
397
- // }
398
- // } );
399
- // } );
400
 
401
  // LoginPress Background instant change.
402
- wp.customize( 'loginpress_customization[setting_background]', function( value ) {
403
- value.bind( function( loginPressVal ) {
404
 
405
- customizer_bg = change_theme ? change_theme : loginpress_script.login_theme;
 
406
 
407
- if ( $('#customize-preview iframe').contents().find('#loginpress-customize').length == 0 ) {
408
- $("<style type='text/css' id='loginpress-customize'></style>").appendTo($('#customize-preview iframe').contents().find('head'));
 
 
 
409
  }
410
 
411
- if( loginPressVal == '' ) {
412
- if ( localStorage.loginpress_bg ) {
413
  localStorage.removeItem("loginpress_bg");
414
  }
415
 
416
- loginpress_customizer_bg( customizer_bg );
417
- if ( 'default6' == customizer_bg ) {
418
-
419
- $('#customize-preview iframe').contents().find('#loginpress-customize').html("#login::after{background-image: " + loginpress_bg + "}");
420
- } else if ( 'default8' == customizer_bg ) {
421
-
422
- $('#customize-preview iframe').contents().find('#loginpress-customize').html("body.login::after{background: " + loginpress_bg + " no-repeat 0 0; background-size: cover}");
423
- } else if ( 'default10' == customizer_bg ) {
424
-
425
- $('#customize-preview iframe').contents().find('#loginpress-customize').html("#login::after{background-image: " + loginpress_bg + "}");
426
- } else if ( 'default17' == customizer_bg ) {
427
-
428
- $('#customize-preview iframe').contents().find('#loginpress-customize').html("#login{background: " + loginpress_bg + " no-repeat 0 0;}");
 
 
 
 
 
 
 
 
 
 
 
429
  } else {
430
- $('#customize-preview iframe').contents().find( 'body.login' ).css( 'background-image', loginpress_bg );
 
431
  }
432
  } else {
433
 
434
- if ( ! localStorage.loginpress_bg ) {
435
- localStorage.setItem( "loginpress_bg", loginPressVal );
436
  }
437
 
438
- if ( 'default6' == customizer_bg ) {
439
 
440
  // console.log(loginPressVal);
441
- $('#customize-preview iframe').contents().find('#loginpress-customize').html("#login::after{background-image: url(" + loginPressVal + ")}");
442
- } else if ( 'default8' == customizer_bg ) {
 
 
 
443
 
444
  // console.log(loginPressVal);
445
- $('#customize-preview iframe').contents().find('#loginpress-customize').html("body.login::after{background: url(" + loginPressVal + ") no-repeat 0 0; background-size: cover}");
446
- } else if ( 'default10' == customizer_bg ) {
 
 
 
447
 
448
  // console.log(loginPressVal);
449
- $('#customize-preview iframe').contents().find('#loginpress-customize').html("#login::after{background-image: url(" + loginPressVal + ")}");
450
- } else if ( 'default17' == customizer_bg ) {
 
 
 
451
 
452
  // console.log(loginPressVal);
453
- $('#customize-preview iframe').contents().find('#loginpress-customize').html("#login{background: url(" + loginPressVal + ") no-repeat 0 0;}");
 
 
454
  } else {
455
- $('#customize-preview iframe').contents().find( 'body.login' ).css( 'background-image', 'url(' + loginPressVal + ')' );
 
456
  }
457
 
458
  }
459
 
460
- } );
461
- } );
462
  // loginpress_background_img( 'loginpress_customization[]', 'body.login' );
463
- $('.customize-controls-close').on('click', function(){
464
  localStorage.removeItem("loginpress_bg_check");
465
  localStorage.removeItem("loginpress_bg");
466
  });
@@ -470,111 +615,160 @@ var change_theme;
470
  // loginpress_display_control( 'loginpress_customization[back_display_text]' );
471
 
472
  // Update the login logo in real time...
473
- wp.customize( 'loginpress_customization[setting_logo]', function( value ) {
474
- value.bind( function( loginPressVal ) {
475
 
476
- if( loginPressVal == '' ) {
477
- $('#customize-preview iframe').contents().find('#login h1 a').css( 'background-image', 'url(' + loginpress_script.admin_url + '/images/wordpress-logo.svg)' );
 
 
478
  } else {
479
- $('#customize-preview iframe').contents().find('#login h1 a').css( 'background-image', 'url(' + loginPressVal + ')' );
 
480
  }
481
- } );
482
- } );
483
-
484
- loginpress_css_property( 'loginpress_customization[customize_logo_width]', '#login h1 a', 'width' );
485
- loginpress_css_property( 'loginpress_customization[customize_logo_height]', '#login h1 a', 'height' );
486
- loginpress_css_property( 'loginpress_customization[customize_logo_padding]', '#login h1 a', 'padding-bottom' );
487
-
488
- loginpress_attr_property( 'loginpress_customization[customize_logo_hover]', '#login h1 a', 'href' );
489
- loginpress_attr_property( 'loginpress_customization[customize_logo_hover_title]', '#login h1 a', 'title' );
490
-
491
-
492
-
493
- loginpress_css_property( 'loginpress_customization[setting_background_color]', 'body.login', 'background-color' );
494
- loginpress_css_property( 'loginpress_customization[background_repeat_radio]', 'body.login', 'background-repeat' );
495
- loginpress_css_property( 'loginpress_customization[background_image_size]', 'body.login', 'background-size' );
496
-
497
- loginpress_background_img( 'loginpress_customization[setting_form_background]', '#loginform' );
498
-
499
- loginpress_css_property( 'loginpress_customization[customize_form_width]', '#login', 'max-width' );
500
- loginpress_css_property( 'loginpress_customization[customize_form_height]', '#loginform', 'min-height' );
501
- loginpress_css_property( 'loginpress_customization[customize_form_padding]', '#loginform', 'padding' );
502
- loginpress_css_property( 'loginpress_customization[customize_form_border]', '#loginform', 'border' );
503
-
504
- loginpress_input_property( 'loginpress_customization[textfield_width]', 'width' );
505
- loginpress_input_property( 'loginpress_customization[textfield_margin]', 'margin' );
506
- loginpress_input_property( 'loginpress_customization[textfield_background_color]', 'background' );
507
- loginpress_input_property( 'loginpress_customization[textfield_color]', 'color' );
508
-
509
-
510
- loginpress_css_property( 'loginpress_customization[form_background_color]', '#loginform', 'background-color' );
511
-
512
- loginpress_css_property( 'loginpress_customization[textfield_label_color]', '.login label', 'color' );
513
 
514
- loginpress_background_img( 'loginpress_customization[forget_form_background]', '#lostpasswordform' );
515
- loginpress_css_property( 'loginpress_customization[forget_form_background_color]','#lostpasswordform', 'background-color' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
516
 
517
  //Buttons starts.
518
  // Update the login form button background in real time...
519
  var loginPressBtnClr;
520
  var loginPressBtnHvr;
521
- wp.customize( 'loginpress_customization[custom_button_color]', function( value ) {
522
- value.bind( function( loginPressVal ) {
523
- if( loginPressVal == '' ) {
524
- $('#customize-preview iframe').contents().find('.wp-core-ui #login .button-primary').css('background', '');
525
- $('#customize-preview iframe').contents().find('.wp-core-ui #login .button-primary').on('mouseover', function(){
526
-
527
- if( typeof loginPressBtnHvr !== "undefined" || loginPressBtnHvr === null ){
528
- $(this).css('background', loginPressBtnHvr);
529
- }else{
530
- $(this).css('background', '');
531
- }
532
- }).on('mouseleave',function () {
 
 
 
 
 
 
533
  $(this).css('background', '');
534
  });
535
  } else {
536
- $('#customize-preview iframe').contents().find('.wp-core-ui #login .button-primary').css( 'background', loginPressVal );
 
 
537
  loginPressBtnClr = loginPressVal;
538
 
539
- $('#customize-preview iframe').contents().find('.wp-core-ui #login .button-primary').on('mouseover', function(){
 
 
540
 
541
- if( typeof loginPressBtnHvr !== "undefined" || loginPressBtnHvr === null ){
542
- $(this).css('background', loginPressBtnHvr);
543
- }else{
544
- $(this).css('background', '');
545
- }
546
- }).on('mouseleave',function () {
 
547
  $(this).css('background', loginPressVal);
548
  });
549
  }
550
- } );
551
- } );
552
 
553
  var loginPressBtnBrdrClr;
554
  // Update the login form button border-color in real time...
555
- wp.customize( 'loginpress_customization[button_border_color]', function( value ) {
556
- value.bind( function( loginPressVal ) {
557
- if( loginPressVal == '' ) {
558
- $('#customize-preview iframe').contents().find('.wp-core-ui #login .button-primary').css( 'border-color', '' );
 
 
 
559
  } else {
560
- $('#customize-preview iframe').contents().find('.wp-core-ui #login .button-primary').css( 'border-color', loginPressVal );
 
 
561
  loginPressBtnBrdrClr = loginPressVal;
562
  }
563
- } );
564
- } );
565
 
566
  // Update the login form button border-color in real time...
567
- wp.customize( 'loginpress_customization[button_hover_color]', function( value ) {
568
- value.bind( function( loginPressVal ) {
569
- if( loginPressVal == '' ) {
570
- $('#customize-preview iframe').contents().find('.wp-core-ui #login .button-primary').css('background', '');
571
- $('#customize-preview iframe').contents().find('.wp-core-ui #login .button-primary').on('mouseover', function(){
572
- $(this).css('background', '');
573
- }).on('mouseleave',function () {
 
 
 
 
574
 
575
- if( typeof loginPressBtnClr !== "undefined" || loginPressBtnClr === null ){
 
576
  $(this).css('background', loginPressBtnClr);
577
- }else{
578
  $(this).css('background', '');
579
  }
580
  });
@@ -582,264 +776,339 @@ var change_theme;
582
 
583
  loginPressBtnHvr = loginPressVal;
584
 
585
- $('#customize-preview iframe').contents().find('.wp-core-ui #login .button-primary').on('mouseover', function(){
 
 
586
 
587
- $(this).css('background', loginPressVal);
588
- }).on('mouseleave',function () {
589
 
590
- if( typeof loginPressBtnClr !== "undefined" || loginPressBtnClr === null ){
591
- $(this).css('background', loginPressBtnClr);
592
- }else{
593
- $(this).css('background', '');
594
- }
595
- });
 
596
  }
597
- } );
598
- } );
599
 
600
  // Update the login form button border-color in real time...
601
- wp.customize( 'loginpress_customization[button_hover_border]', function( value ) {
602
- value.bind( function( loginPressVal ) {
603
- if( loginPressVal == '' ) {
604
- $('#customize-preview iframe').contents().find('.wp-core-ui #login .button-primary').css( 'border-color', '' );
 
 
 
605
  } else {
606
- $('#customize-preview iframe').contents().find('.wp-core-ui #login .button-primary').on('mouseover', function(){
607
- $(this).css('border-color', loginPressVal);
608
- }).on('mouseleave',function () {
609
-
610
- if( typeof loginPressBtnBrdrClr !== "undefined" || loginPressBtnBrdrClr === null ){
 
 
 
611
  $(this).css('border-color', loginPressBtnBrdrClr);
612
- }else{
613
  $(this).css('border-color', '');
614
  }
615
  });
616
  }
617
- } );
618
- } );
619
 
620
  // Update the login form button border-color in real time...
621
- wp.customize( 'loginpress_customization[custom_button_shadow]', function( value ) {
622
- value.bind( function( loginPressVal ) {
623
- if( loginPressVal == '' ) {
624
- $('#customize-preview iframe').contents().find('.wp-core-ui #login .button-primary').css( 'box-shadow', '' );
 
 
 
625
  } else {
626
- $('#customize-preview iframe').contents().find('.wp-core-ui #login .button-primary').css( 'box-shadow', loginPressVal );
 
 
627
  }
628
- } );
629
- } );
630
 
631
  // Update the login form button border-color in real time...
632
- wp.customize( 'loginpress_customization[button_text_color]', function( value ) {
633
- value.bind( function( loginPressVal ) {
634
- if( loginPressVal == '' ) {
635
- $('#customize-preview iframe').contents().find('.wp-core-ui #login .button-primary').css( 'color', '' );
 
636
  } else {
637
- $('#customize-preview iframe').contents().find('.wp-core-ui #login .button-primary').css( 'color', loginPressVal );
 
 
638
  }
639
- } );
640
- } );
641
 
642
- loginpress_text_message( 'loginpress_customization[login_footer_text]', '.login #nav a:nth-child(2)' );
 
643
 
644
- loginpress_css_property( 'loginpress_customization[footer_display_text]', '.login #nav', 'display' );
645
- loginpress_css_property( 'loginpress_customization[login_footer_text_decoration]', '.login #nav a', 'text-decoration' );
 
 
 
646
 
647
  var loginPressFtrClr;
648
  var loginPressFtrHvr;
649
  // Update the login form button border-color in real time...
650
- wp.customize( 'loginpress_customization[login_footer_color]', function( value ) {
651
- value.bind( function( loginPressVal ) {
652
 
653
- if( loginPressVal == '' ) {
654
- $('#customize-preview iframe').contents().find('.login #nav a').css( 'color', '' );
655
- $('#customize-preview iframe').contents().find('.login #nav a').on( 'mouseover', function(){
 
 
656
 
657
- if( typeof loginPressFtrHvr !== "undefined" || loginPressFtrHvr === null ){
 
658
  $(this).css('color', loginPressFtrHvr);
659
- }else{
660
  $(this).css('color', '');
661
  }
662
- }).on('mouseleave',function () {
663
  $(this).css('color', '');
664
  });
665
  } else {
666
  loginPressFtrClr = loginPressVal;
667
- $('#customize-preview iframe').contents().find('.login #nav a').css( 'color', loginPressVal );
668
- $('#customize-preview iframe').contents().find('.login #nav a').on('mouseover', function(){
 
 
669
 
670
- if( typeof loginPressFtrHvr !== "undefined" || loginPressFtrHvr === null ){
 
671
  $(this).css('color', loginPressFtrHvr);
672
- }else{
673
  $(this).css('color', '');
674
  }
675
- }).on('mouseleave',function () {
676
  $(this).css('color', loginPressVal);
677
  });
678
  }
679
- } );
680
- } );
681
 
682
  // Update the login form button border-color in real time...
683
- wp.customize( 'loginpress_customization[login_footer_color_hover]', function( value ) {
684
- value.bind( function( loginPressVal ) {
 
685
 
686
- if( loginPressVal == '' ) {
687
 
688
- $('#customize-preview iframe').contents().find('.login #nav a').css( 'color', '' );
 
689
 
690
- $('#customize-preview iframe').contents().find('.login #nav a').on('mouseover', function(){
 
691
  $(this).css('color', '');
692
- }).on('mouseleave',function () {
693
 
694
- if( typeof loginPressFtrClr !== "undefined" || loginPressFtrClr === null ){
 
695
  $(this).css('color', loginPressFtrClr);
696
- }else{
697
  $(this).css('color', '');
698
  }
699
  });
700
  } else {
701
  loginPressFtrHvr = loginPressVal;
702
- $('#customize-preview iframe').contents().find('.login #nav a').on('mouseover', function(){
 
703
  $(this).css('color', loginPressVal);
704
- }).on('mouseleave',function () {
705
 
706
- if( typeof loginPressFtrClr !== "undefined" || loginPressFtrClr === null ){
 
707
  $(this).css('color', loginPressFtrClr);
708
- }else{
709
  $(this).css('color', '');
710
  }
711
  });
712
  }
713
- } );
714
- } );
715
 
716
- loginpress_css_property( 'loginpress_customization[login_footer_font_size]', '.login #nav a', 'font-size' );
717
- loginpress_css_property( 'loginpress_customization[login_footer_bg_color]', '.login #nav', 'background-color' );
 
 
718
 
719
- loginpress_css_property( 'loginpress_customization[back_display_text]', '.login #backtoblog', 'display' );
720
- loginpress_css_property( 'loginpress_customization[login_back_text_decoration]', '.login #backtoblog a', 'text-decoration' );
 
 
 
721
 
722
  var loginPressFtrBackClr;
723
  var loginPressFtrBackHvr;
724
  // Update the login form button border-color in real time...
725
- wp.customize( 'loginpress_customization[login_back_color]', function( value ) {
726
- value.bind( function( loginPressVal ) {
727
 
728
- if( loginPressVal == '' ) {
729
- $('#customize-preview iframe').contents().find('.login #backtoblog a').css( 'color', '' );
730
- $('#customize-preview iframe').contents().find('.login #backtoblog a').on( 'mouseover', function(){
 
 
731
 
732
- if( typeof loginPressFtrBackHvr !== "undefined" || loginPressFtrBackHvr === null ){
 
733
  $(this).css('color', loginPressFtrBackHvr);
734
- }else{
735
  $(this).css('color', '');
736
  }
737
- }).on('mouseleave',function () {
738
  $(this).css('color', '');
739
  });
740
  } else {
741
  loginPressFtrBackClr = loginPressVal;
742
- $('#customize-preview iframe').contents().find('.login #backtoblog a').css( 'color', loginPressVal );
743
- $('#customize-preview iframe').contents().find('.login #backtoblog a').on('mouseover', function(){
 
 
744
 
745
- if( typeof loginPressFtrBackHvr !== "undefined" || loginPressFtrBackHvr === null ){
 
746
  $(this).css('color', loginPressFtrBackHvr);
747
- }else{
748
  $(this).css('color', '');
749
  }
750
- }).on('mouseleave',function () {
751
  $(this).css('color', loginPressVal);
752
  });
753
  }
754
- } );
755
- } );
756
 
757
  // Update the login form button border-color in real time...
758
- wp.customize( 'loginpress_customization[login_back_color_hover]', function( value ) {
759
- value.bind( function( loginPressVal ) {
 
760
 
761
- if( loginPressVal == '' ) {
762
 
763
- $('#customize-preview iframe').contents().find('.login #backtoblog a').css( 'color', '' );
 
764
 
765
- $('#customize-preview iframe').contents().find('.login #backtoblog a').on('mouseover', function(){
 
766
  $(this).css('color', '');
767
- }).on('mouseleave',function () {
768
 
769
- if( typeof loginPressFtrBackClr !== "undefined" || loginPressFtrBackClr === null ){
 
770
  $(this).css('color', loginPressFtrBackClr);
771
- }else{
772
  $(this).css('color', '');
773
  }
774
  });
775
  } else {
776
  loginPressFtrBackHvr = loginPressVal;
777
- $('#customize-preview iframe').contents().find('.login #backtoblog a').on('mouseover', function(){
 
778
  $(this).css('color', loginPressVal);
779
- }).on('mouseleave',function () {
780
 
781
- if( typeof loginPressFtrBackClr !== "undefined" || loginPressFtrBackClr === null ){
 
782
  $(this).css('color', loginPressFtrBackClr);
783
- }else{
784
  $(this).css('color', '');
785
  }
786
  });
787
  }
788
- } );
789
- } );
790
-
791
- loginpress_css_property( 'loginpress_customization[login_back_font_size]', '.login #backtoblog a', 'font-size' );
792
- loginpress_css_property( 'loginpress_customization[login_back_bg_color]', '.login #backtoblog', 'background-color' );
793
- loginpress_footer_text_message( 'loginpress_customization[login_footer_copy_right]', '.copyRight' );
794
-
795
- loginpress_text_message( 'loginpress_customization[incorrect_username]', '#login_error' );
796
- loginpress_text_message( 'loginpress_customization[incorrect_password]', '#login_error' );
797
- loginpress_text_message( 'loginpress_customization[empty_username]', '#login_error' );
798
- loginpress_text_message( 'loginpress_customization[empty_password]', '#login_error' );
799
- loginpress_text_message( 'loginpress_customization[invalid_email]', '#login_error' );
800
- loginpress_text_message( 'loginpress_customization[empty_email]', '#login_error' );
801
- loginpress_text_message( 'loginpress_customization[invalidcombo_message]', '#login_error' );
802
-
803
- loginpress_text_message( 'loginpress_customization[lostpwd_welcome_message]', '.login .custom-message' );
804
- loginpress_text_message( 'loginpress_customization[welcome_message]', '.login .custom-message' );
805
- loginpress_text_message( 'loginpress_customization[register_welcome_message]', '.login .custom-message' );
806
- loginpress_text_message( 'loginpress_customization[logout_message]', '.login .custom-message' );
807
-
808
- loginpress_css_property( 'loginpress_customization[message_background_border]', '.login .custom-message', 'border' );
809
- loginpress_css_property( 'loginpress_customization[message_background_color]', '.login .custom-message', 'background-color' );
810
- // loginpress_css_property( 'loginpress_customization[google_font]', '#login', 'font-family' );
811
 
812
- wp.customize( 'loginpress_customization[google_font]', function( value ) {
813
- value.bind( function( loginPressVal ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
814
 
815
- if( loginPressVal == '' ) {
816
- $('#customize-preview iframe').contents().find( '#login' ).css( 'font-family', '' );
817
- } else {
818
- $('#customize-preview iframe').contents().find( '#login' ).css( 'font-family', loginPressVal );
819
- console.log(loginPressVal);
820
- }
821
- } );
822
- } );
823
- // console.log($('#customize-control-loginpress_display_bg').val());
 
 
 
824
 
825
- // function for change LoginPress background-image in real time...
826
 
827
- wp.customize( 'loginpress_customization[recaptcha_size]', function( value ) {
828
- value.bind( function( loginPressVal ) {
829
  console.log(loginPressVal);
830
- if( loginPressVal == '' ) {
831
- $('#customize-preview iframe').contents().find( '.loginpress_recaptcha_wrapper .g-recaptcha' ).css( 'transform', '' );
 
 
832
  } else {
833
- $('#customize-preview iframe').contents().find( '.loginpress_recaptcha_wrapper .g-recaptcha' ).css( 'transform', 'scale(' + loginPressVal + ')' );
 
 
834
  }
835
- } );
836
- } );
837
 
838
 
839
- $(window).on('load', function(){
840
 
841
  // console.log($('#customize-control-loginpress_display_bg input[type="checkbox"]').length);
842
- if ($('#customize-control-loginpress_display_bg input[type="checkbox"]').is(":checked") ) {
 
 
843
  $('#customize-control-setting_background').show();
844
  $('#customize-control-background_repeat_radio').show();
845
  $('#customize-control-background_image_size').show();
@@ -849,7 +1118,8 @@ var change_theme;
849
  $('#customize-control-background_image_size').hide();
850
  }
851
 
852
- $("<style type='text/css' id='loginpress-customize'></style>").appendTo($('#customize-preview iframe').contents().find('head'));
 
853
  });
854
 
855
- } )( jQuery );
1
+ jQuery(document).ready(function() {
2
 
3
+ /* === Checkbox Multiple Control === */
4
 
5
+ jQuery('.customize-control-checkbox-multiple input[type="radio"]').on(
6
+ 'change',
7
+ function() {
8
 
9
+ checkbox_values = jQuery(this).parents('.customize-control').find(
10
+ 'input[type="radio"]:checked').val();
11
 
12
+ style_values = jQuery(this).parents('.customize-control').find(
13
+ 'input[type="radio"]:checked').data('style');
14
 
15
+ // console.log(style_values);
16
+ // console.log(checkbox_values);
17
+ var val = [];
18
+ val.push(checkbox_values);
19
+ val.push(style_values);
20
+ console.log(val);
21
+ jQuery(this).parents('.customize-control').find(
22
+ 'input[type="hidden"]').val(checkbox_values).delay(500).trigger(
23
+ 'change');
24
+ // jQuery( this ).parents( '.customize-control' ).find( 'input[type="hidden"]' ).trigger( 'change' );
25
 
26
+ }
27
+ );
28
 
29
+ }); // jQuery( document ).ready
30
 
31
 
32
+ (function($) {
33
 
34
  // function for change LoginPress background-image in real time...
35
+ function loginpress_background_img(setting, target) {
36
+ wp.customize(setting, function(value) {
37
+ value.bind(function(loginPressVal) {
38
+ if (loginPressVal == '') {
39
+ $('#customize-preview iframe').contents().find(target).css(
40
+ 'background-image', '');
41
  } else {
42
+ $('#customize-preview iframe').contents().find(target).css(
43
+ 'background-image', 'url(' + loginPressVal + ')');
44
  }
45
+ });
46
+ });
47
  }
48
 
49
  // function for change LoginPress CSS in real time...
50
+ function loginpress_css_property(setting, target, property) {
51
  // Update the login logo width in real time...
52
+ wp.customize(setting, function(value) {
53
+ value.bind(function(loginPressVal) {
54
 
55
+ if (loginPressVal == '') {
56
+ $('#customize-preview iframe').contents().find(target).css(
57
+ property, '');
58
  } else {
59
+ $('#customize-preview iframe').contents().find(target).css(
60
+ property, loginPressVal);
61
  }
62
+ });
63
+ });
64
  }
65
  // function for change LoginPress attribute in real time...
66
+ function loginpress_attr_property(setting, target, property) {
67
+ wp.customize(setting, function(value) {
68
+ value.bind(function(loginPressVal) {
69
 
70
+ if (loginPressVal == '') {
71
+ $('#customize-preview iframe').contents().find(target).attr(
72
+ property, '');
73
  } else {
74
+ $('#customize-preview iframe').contents().find(target).attr(
75
+ property, loginPressVal);
76
  }
77
+ });
78
+ });
79
  }
80
  // function for change LoginPress input fields in real time...
81
+ function loginpress_input_property(setting, property) {
82
+ wp.customize(setting, function(value) {
83
+ value.bind(function(loginPressVal) {
84
+ if (loginPressVal == '') {
85
+ $('#customize-preview iframe').contents().find(
86
+ '.login input[type="text"]').css(property, '');
87
+ $('#customize-preview iframe').contents().find(
88
+ '.login input[type="password"]').css(property, '');
89
  } else {
90
+ $('#customize-preview iframe').contents().find(
91
+ '.login input[type="text"]').css(property,
92
+ loginPressVal);
93
+ $('#customize-preview iframe').contents().find(
94
+ '.login input[type="password"]').css(property,
95
+ loginPressVal);
96
  }
97
+ });
98
+ });
99
  }
100
 
101
  // function for change LoginPress error and welcome messages in real time...
102
+ function loginpress_text_message(errorlog, target) {
103
+ wp.customize(errorlog, function(value) {
104
+ value.bind(function(loginPressVal) {
105
 
106
+ if (loginPressVal == '') {
107
+ $('#customize-preview iframe').contents().find(target).text(
108
+ '');
109
  } else {
110
+ $('#customize-preview iframe').contents().find(target).text(
111
+ loginPressVal);
112
  }
113
+ });
114
+ });
115
  }
116
 
117
+ var change_theme;
118
  // function for change LoginPress error and welcome messages in real time...
119
 
120
+ wp.customize('customize_presets_settings', function(value) {
121
+ value.bind(function(loginPressVal) {
122
 
123
  change_theme = loginPressVal;
124
 
125
 
126
+ });
127
+ });
128
 
129
 
130
  // function for change LoginPress CSS in real time...
131
+ function loginpress_display_control(setting) {
132
  // Update the login logo width in real time...
133
+ wp.customize(setting, function(value) {
134
+ value.bind(function(loginPressVal) {
135
 
136
  // Control on footer text.
137
+ if ('loginpress_customization[footer_display_text]' ==
138
+ setting && 'none' == loginPressVal) {
139
+
140
+ $('#customize-control-login_footer_text_decoration').css(
141
+ 'display', 'none');
142
+ $('#customize-control-login_footer_color').css('display',
143
+ 'none');
144
+ $('#customize-control-login_footer_color_hover').css(
145
+ 'display', 'none');
146
+ $('#customize-control-login_footer_font_size').css(
147
+ 'display', 'none');
148
+ $('#customize-control-login_footer_bg_color').css('display',
149
+ 'none');
150
+
151
+ } else if ('loginpress_customization[footer_display_text]' ==
152
+ setting && 'block' == loginPressVal) {
153
+
154
+ $('#customize-control-login_footer_text_decoration').css(
155
+ 'display', 'list-item');
156
+ $('#customize-control-login_footer_color').css('display',
157
+ 'list-item');
158
+ $('#customize-control-login_footer_color_hover').css(
159
+ 'display', 'list-item');
160
+ $('#customize-control-login_footer_font_size').css(
161
+ 'display', 'list-item');
162
+ $('#customize-control-login_footer_bg_color').css('display',
163
+ 'list-item');
164
 
165
  }
166
 
167
  // Control on footer back link text.
168
+ if ('loginpress_customization[back_display_text]' == setting &&
169
+ 'none' == loginPressVal) {
170
+
171
+ $('#customize-control-login_back_text_decoration').css(
172
+ 'display', 'none');
173
+ $('#customize-control-login_back_color').css('display',
174
+ 'none');
175
+ $('#customize-control-login_back_color_hover').css(
176
+ 'display', 'none');
177
+ $('#customize-control-login_back_font_size').css('display',
178
+ 'none');
179
+ $('#customize-control-login_back_bg_color').css('display',
180
+ 'none');
181
+
182
+ } else if ('loginpress_customization[back_display_text]' ==
183
+ setting && 'block' == loginPressVal) {
184
+
185
+ $('#customize-control-login_back_text_decoration').css(
186
+ 'display', 'list-item');
187
+ $('#customize-control-login_back_color').css('display',
188
+ 'list-item');
189
+ $('#customize-control-login_back_color_hover').css(
190
+ 'display', 'list-item');
191
+ $('#customize-control-login_back_font_size').css('display',
192
+ 'list-item');
193
+ $('#customize-control-login_back_bg_color').css('display',
194
+ 'list-item');
195
 
196
  }
197
+ });
198
+ });
199
  }
200
 
201
  // function for change LoginPress error and welcome messages in real time...
202
+ function loginpress_footer_text_message(errorlog, target) {
203
+ wp.customize(errorlog, function(value) {
204
+ value.bind(function(loginPressVal) {
205
+
206
+ if (loginPressVal == '') {
207
+ $('#customize-preview iframe').contents().find(target).text(
208
+ '');
209
+ if (errorlog ==
210
+ 'loginpress_customization[login_footer_copy_right]') {
211
+ $('#customize-preview iframe').contents().find(target).css(
212
+ 'display', 'none');
213
  }
214
  } else {
215
+ $('#customize-preview iframe').contents().find(target).text(
216
+ loginPressVal);
217
+ if (errorlog ==
218
+ 'loginpress_customization[login_footer_copy_right]') {
219
+ $('#customize-preview iframe').contents().find(target).css(
220
+ 'display', 'block');
221
  }
222
  }
223
+ });
224
+ });
225
  }
226
 
227
  // LoginPress Customizer Background Image Control.
228
+ function loginpress_customizer_bg(customizer_bg) {
229
+
230
+ if ('default1' == customizer_bg) {
231
+ loginpress_bg = 'url(' + loginpress_script.plugin_url +
232
+ '/loginpress/img/bg.jpg)';
233
+ } else if ('default2' == customizer_bg) {
234
+ loginpress_bg = 'url(' + loginpress_script.plugin_url +
235
+ '/loginpress/img/bg2.jpg)';
236
+ } else if ('default3' == customizer_bg) {
237
+ loginpress_bg = 'url(' + loginpress_script.plugin_url +
238
+ '/loginpress-pro/img/bg3.jpg)';
239
+ } else if ('default4' == customizer_bg) {
240
+ loginpress_bg = 'url(' + loginpress_script.plugin_url +
241
+ '/loginpress-pro/img/bg4.jpg)';
242
+ } else if ('default5' == customizer_bg) {
243
+ loginpress_bg = 'url(' + loginpress_script.plugin_url +
244
+ '/loginpress-pro/img/bg5.jpg)';
245
+ } else if ('default6' == customizer_bg) {
246
+ loginpress_bg = 'url(' + loginpress_script.plugin_url +
247
+ '/loginpress-pro/img/bg6.jpg)';
248
+ } else if ('default7' == customizer_bg) {
249
+ loginpress_bg = 'url(' + loginpress_script.plugin_url +
250
+ '/loginpress-pro/img/bg7.jpg)';
251
+ } else if ('default8' == customizer_bg) {
252
+ loginpress_bg = 'url(' + loginpress_script.plugin_url +
253
+ '/loginpress-pro/img/bg8.jpg)';
254
+ } else if ('default9' == customizer_bg) {
255
+ loginpress_bg = 'url(' + loginpress_script.plugin_url +
256
+ '/loginpress-pro/img/bg9.jpg)';
257
+ } else if ('default10' == customizer_bg) {
258
+ loginpress_bg = 'url(' + loginpress_script.plugin_url +
259
+ '/loginpress-pro/img/bg10.jpg)';
260
+ } else if ('default11' == customizer_bg) {
261
+ loginpress_bg = 'url(' + loginpress_script.plugin_url +
262
+ '/loginpress-pro/img/bg11.png)';
263
+ } else if ('default12' == customizer_bg) {
264
+ loginpress_bg = 'url(' + loginpress_script.plugin_url +
265
+ '/loginpress-pro/img/bg12.jpg)';
266
+ } else if ('default13' == customizer_bg) {
267
+ loginpress_bg = 'url(' + loginpress_script.plugin_url +
268
+ '/loginpress-pro/img/bg13.jpg)';
269
+ } else if ('default14' == customizer_bg) {
270
+ loginpress_bg = 'url(' + loginpress_script.plugin_url +
271
+ '/loginpress-pro/img/bg14.jpg)';
272
+ } else if ('default15' == customizer_bg) {
273
+ loginpress_bg = 'url(' + loginpress_script.plugin_url +
274
+ '/loginpress-pro/img/bg15.jpg)';
275
+ } else if ('default16' == customizer_bg) {
276
+ loginpress_bg = 'url(' + loginpress_script.plugin_url +
277
+ '/loginpress-pro/img/bg16.jpg)';
278
+ } else if ('default17' == customizer_bg) {
279
+ loginpress_bg = 'url(' + loginpress_script.plugin_url +
280
+ '/loginpress-pro/img/bg17.jpg)';
281
  }
282
  }
283
 
284
+ wp.customize('loginpress_customization[loginpress_display_bg]', function(
285
+ value) {
286
+ value.bind(function(loginPressVal) {
287
 
288
+ // Check the theme id.
289
+ customizer_bg = change_theme ? change_theme : loginpress_script
290
+ .login_theme;
291
 
292
+ // Set custom style on customizer.
293
+ if ($('#customize-preview iframe').contents().find(
294
+ '#loginpress-customize').length == 0) {
295
+ $("<style type='text/css' id='loginpress-customize'></style>")
296
+ .appendTo($('#customize-preview iframe').contents().find(
297
+ 'head'));
298
+ }
299
 
300
+ // Set conditions on behalf on themes.
301
+ if (loginPressVal == false) {
302
 
303
+ if ('default6' == customizer_bg) {
304
 
305
+ $('#customize-preview iframe').contents().find(
306
+ '#loginpress-customize').html(
307
+ "#login::after{background-image: none}");
308
 
309
+ } else if ('default8' == customizer_bg) {
310
 
311
+ $('#customize-preview iframe').contents().find(
312
+ '#loginpress-customize').html(
313
+ "body.login::after{background: none}");
314
 
315
+ } else if ('default10' == customizer_bg) {
316
 
317
+ $('#customize-preview iframe').contents().find(
318
+ '#loginpress-customize').html(
319
+ "#login::after{background-image: none}");
320
 
321
+ } else if ('default17' == customizer_bg) {
322
 
323
+ $('#customize-preview iframe').contents().find(
324
+ '#loginpress-customize').html(
325
+ "#login{background: none}");
326
 
327
+ } else {
328
+ $('#customize-preview iframe').contents().find('body.login')
329
+ .css('background-image', 'none');
330
+ }
331
 
332
+ $('#customize-control-setting_background').hide();
333
+ $('#customize-control-background_image_size').hide();
334
+ $('#customize-control-background_repeat_radio').hide();
335
 
336
+ } else {
337
 
338
+ if (localStorage.loginpress_bg) {
339
 
340
+ loginpress_bg_ = 'url(' + localStorage.loginpress_bg + ')';
341
 
342
+ if ('default6' == customizer_bg) {
343
 
344
+ $('#customize-preview iframe').contents().find(
345
+ '#loginpress-customize').html(
346
+ "#login::after{background-image: " + loginpress_bg_ +
347
+ "}");
348
 
349
+ } else if ('default8' == customizer_bg) {
350
 
351
+ $('#customize-preview iframe').contents().find(
352
+ '#loginpress-customize').html(
353
+ "body.login::after{background: " + loginpress_bg_ +
354
+ " no-repeat 0 0; background-size: cover}");
355
 
356
+ } else if ('default10' == customizer_bg) {
357
 
358
+ $('#customize-preview iframe').contents().find(
359
+ '#loginpress-customize').html(
360
+ "#login::after{background-image: " + loginpress_bg_ +
361
+ "}");
362
 
363
+ } else if ('default17' == customizer_bg) {
364
 
365
+ $('#customize-preview iframe').contents().find(
366
+ '#loginpress-customize').html("#login{background: " +
367
+ loginpress_bg_ + " no-repeat 0 0;}");
368
 
369
+ } else {
370
 
371
+ $('#customize-preview iframe').contents().find(
372
+ 'body.login').css('background-image', loginpress_bg_)
373
+ }
374
 
375
+ } else if (loginpress_script.loginpress_bg_url == true) {
376
 
377
+ if ('default6' == customizer_bg) {
378
 
379
+ $('#customize-preview iframe').contents().find(
380
+ '#loginpress-customize').html(
381
+ "#login::after{background-image: " +
382
+ loginpress_script.loginpress_bg_url + "}");
383
 
384
+ } else if ('default8' == customizer_bg) {
385
 
386
+ $('#customize-preview iframe').contents().find(
387
+ '#loginpress-customize').html(
388
+ "body.login::after{background: " + loginpress_script.loginpress_bg_url +
389
+ " no-repeat 0 0; background-size: cover}");
390
 
391
+ } else if ('default10' == customizer_bg) {
392
 
393
+ $('#customize-preview iframe').contents().find(
394
+ '#loginpress-customize').html(
395
+ "#login::after{background-image: " +
396
+ loginpress_script.loginpress_bg_url + "}");
397
 
398
+ } else if ('default17' == customizer_bg) {
399
 
400
+ $('#customize-preview iframe').contents().find(
401
+ '#loginpress-customize').html("#login{background: " +
402
+ loginpress_script.loginpress_bg_url +
403
+ " no-repeat 0 0;}");
404
 
 
 
 
405
  } else {
406
+ $('#customize-preview iframe').contents().find(
407
+ 'body.login').css('background-image', 'url(' +
408
+ loginpress_script.loginpress_bg_url + ')');
409
+ }
410
+ } else {
411
 
412
+ loginpress_customizer_bg(customizer_bg);
413
+ if ('default6' == customizer_bg) {
414
 
415
+ $('#customize-preview iframe').contents().find(
416
+ '#loginpress-customize').html(
417
+ "#login::after{background-image: " + loginpress_bg +
418
+ "}");
419
 
420
+ } else if ('default8' == customizer_bg) {
421
 
422
+ $('#customize-preview iframe').contents().find(
423
+ '#loginpress-customize').html(
424
+ "body.login::after{background: " + loginpress_bg +
425
+ " no-repeat 0 0; background-size: cover}");
426
 
427
+ } else if ('default10' == customizer_bg) {
428
 
429
+ $('#customize-preview iframe').contents().find(
430
+ '#loginpress-customize').html(
431
+ "#login::after{background-image: " + loginpress_bg +
432
+ "}");
433
 
434
+ } else if ('default17' == customizer_bg) {
435
 
436
+ $('#customize-preview iframe').contents().find(
437
+ '#loginpress-customize').html("#login{background: " +
438
+ loginpress_bg + " no-repeat 0 0;}");
439
 
440
+ } else {
441
+ $('#customize-preview iframe').contents().find(
442
+ 'body.login').css('background-image', loginpress_bg);
443
  }
444
+ }
445
 
446
+ $('#customize-control-setting_background').show();
447
+ $('#customize-control-background_image_size').show();
448
+ $('#customize-control-background_repeat_radio').show();
449
 
450
+ } // endif; conditions on behalf on themes.
451
+ });
452
+ });
453
  // LoginPress Background Image Control.
454
+ // wp.customize( 'loginpress_customization[loginpress_display_bg]', function( value ) {
455
+ // value.bind( function( loginPressVal ) {
456
+ // customizer_bg = change_theme ? change_theme : loginpress_script.login_theme;
457
+ //
458
+ // var bg = $('#customize-preview iframe').contents().find( 'body.login' ).css( 'background-image' );
459
+ // console.log(bg);
460
+ // if( loginPressVal == false ) {
461
+ //
462
+ // if ( ! localStorage.loginpress_bg_check ) {
463
+ //
464
+ // localStorage.setItem( "loginpress_bg_check", bg );
465
+ // }
466
+ //
467
+ // if ( 'default6' == customizer_bg ) {
468
+ // //Q ki hoya ?
469
+ // console.log('bg of default6 is gone off');
470
+ // // $('#customize-preview iframe').contents().find( '#login::after' ).appendTo( 'background-image', 'none' );
471
+ // $("<style type='text/css'>#login::after{background-image: none}</style>").appendTo($('#customize-preview iframe').contents().find('head'));
472
+ // } else {
473
+ // console.log('bg gone off');
474
+ // $('#customize-preview iframe').contents().find( 'body.login' ).css( 'background-image', 'none' );
475
+ // }
476
+ // $('#customize-control-setting_background').hide();
477
+ // $('#customize-control-background_repeat_radio').hide();
478
+ // $('#customize-control-background_image_size').hide();
479
+ // } else {
480
+ //
481
+ // if ( localStorage.getItem("loginpress_bg") === null && localStorage.loginpress_bg_check ) {
482
+ //
483
+ // loginpress_bg = localStorage.loginpress_bg_check;
484
+ // console.log('bg1');
485
+ //
486
+ // } else if ( localStorage.getItem("loginpress_bg") === null ) {
487
+ //
488
+ // loginpress_customizer_bg( customizer_bg );
489
+ // console.log('bg2');
490
+ // } else if ( localStorage.loginpress_bg ) {
491
+ //
492
+ // loginpress_bg = 'url(' + localStorage.loginpress_bg + ')';
493
+ // console.log('bg3');
494
+ // } else {
495
+ //
496
+ // loginpress_bg = localStorage.loginpress_bg_check;
497
+ // console.log('bg4');
498
+ // }
499
+ //
500
+ // if ( 'default6' == customizer_bg ) {
501
+ // console.log('true default6 bg');
502
+ // console.log(loginpress_bg);
503
+ // // $('#customize-preview iframe').contents().find( '#login::after' ).appendTo( 'background-image', loginpress_bg );
504
+ // $("<style type='text/css'>#login::after{background-image: "+loginpress_bg+"}</style>").appendTo($('#customize-preview iframe').contents().find('head'));
505
+ // } else {
506
+ // console.log('true bg');
507
+ // console.log(loginpress_bg);
508
+ // $('#customize-preview iframe').contents().find( 'body.login' ).css( 'background-image', loginpress_bg );
509
+ // }
510
+ // // $('#customize-preview iframe').contents().find( 'body.login' ).css( 'background-image', loginpress_bg );
511
+ // $('#customize-control-setting_background').show();
512
+ // $('#customize-control-background_repeat_radio').show();
513
+ // $('#customize-control-background_image_size').show();
514
+ // }
515
+ // } );
516
+ // } );
517
 
518
  // LoginPress Background instant change.
519
+ wp.customize('loginpress_customization[setting_background]', function(value) {
520
+ value.bind(function(loginPressVal) {
521
 
522
+ customizer_bg = change_theme ? change_theme : loginpress_script
523
+ .login_theme;
524
 
525
+ if ($('#customize-preview iframe').contents().find(
526
+ '#loginpress-customize').length == 0) {
527
+ $("<style type='text/css' id='loginpress-customize'></style>")
528
+ .appendTo($('#customize-preview iframe').contents().find(
529
+ 'head'));
530
  }
531
 
532
+ if (loginPressVal == '') {
533
+ if (localStorage.loginpress_bg) {
534
  localStorage.removeItem("loginpress_bg");
535
  }
536
 
537
+ loginpress_customizer_bg(customizer_bg);
538
+ if ('default6' == customizer_bg) {
539
+
540
+ $('#customize-preview iframe').contents().find(
541
+ '#loginpress-customize').html(
542
+ "#login::after{background-image: " + loginpress_bg +
543
+ "}");
544
+ } else if ('default8' == customizer_bg) {
545
+
546
+ $('#customize-preview iframe').contents().find(
547
+ '#loginpress-customize').html(
548
+ "body.login::after{background: " + loginpress_bg +
549
+ " no-repeat 0 0; background-size: cover}");
550
+ } else if ('default10' == customizer_bg) {
551
+
552
+ $('#customize-preview iframe').contents().find(
553
+ '#loginpress-customize').html(
554
+ "#login::after{background-image: " + loginpress_bg +
555
+ "}");
556
+ } else if ('default17' == customizer_bg) {
557
+
558
+ $('#customize-preview iframe').contents().find(
559
+ '#loginpress-customize').html("#login{background: " +
560
+ loginpress_bg + " no-repeat 0 0;}");
561
  } else {
562
+ $('#customize-preview iframe').contents().find('body.login')
563
+ .css('background-image', loginpress_bg);
564
  }
565
  } else {
566
 
567
+ if (!localStorage.loginpress_bg) {
568
+ localStorage.setItem("loginpress_bg", loginPressVal);
569
  }
570
 
571
+ if ('default6' == customizer_bg) {
572
 
573
  // console.log(loginPressVal);
574
+ $('#customize-preview iframe').contents().find(
575
+ '#loginpress-customize').html(
576
+ "#login::after{background-image: url(" + loginPressVal +
577
+ ")}");
578
+ } else if ('default8' == customizer_bg) {
579
 
580
  // console.log(loginPressVal);
581
+ $('#customize-preview iframe').contents().find(
582
+ '#loginpress-customize').html(
583
+ "body.login::after{background: url(" + loginPressVal +
584
+ ") no-repeat 0 0; background-size: cover}");
585
+ } else if ('default10' == customizer_bg) {
586
 
587
  // console.log(loginPressVal);
588
+ $('#customize-preview iframe').contents().find(
589
+ '#loginpress-customize').html(
590
+ "#login::after{background-image: url(" + loginPressVal +
591
+ ")}");
592
+ } else if ('default17' == customizer_bg) {
593
 
594
  // console.log(loginPressVal);
595
+ $('#customize-preview iframe').contents().find(
596
+ '#loginpress-customize').html("#login{background: url(" +
597
+ loginPressVal + ") no-repeat 0 0;}");
598
  } else {
599
+ $('#customize-preview iframe').contents().find('body.login')
600
+ .css('background-image', 'url(' + loginPressVal + ')');
601
  }
602
 
603
  }
604
 
605
+ });
606
+ });
607
  // loginpress_background_img( 'loginpress_customization[]', 'body.login' );
608
+ $('.customize-controls-close').on('click', function() {
609
  localStorage.removeItem("loginpress_bg_check");
610
  localStorage.removeItem("loginpress_bg");
611
  });
615
  // loginpress_display_control( 'loginpress_customization[back_display_text]' );
616
 
617
  // Update the login logo in real time...
618
+ wp.customize('loginpress_customization[setting_logo]', function(value) {
619
+ value.bind(function(loginPressVal) {
620
 
621
+ if (loginPressVal == '') {
622
+ $('#customize-preview iframe').contents().find('#login h1 a')
623
+ .css('background-image', 'url(' + loginpress_script.admin_url +
624
+ '/images/wordpress-logo.svg)');
625
  } else {
626
+ $('#customize-preview iframe').contents().find('#login h1 a')
627
+ .css('background-image', 'url(' + loginPressVal + ')');
628
  }
629
+ });
630
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
631
 
632
+ loginpress_css_property('loginpress_customization[customize_logo_width]',
633
+ '#login h1 a', 'width');
634
+ loginpress_css_property('loginpress_customization[customize_logo_height]',
635
+ '#login h1 a', 'height');
636
+ loginpress_css_property('loginpress_customization[customize_logo_padding]',
637
+ '#login h1 a', 'padding-bottom');
638
+
639
+ loginpress_attr_property('loginpress_customization[customize_logo_hover]',
640
+ '#login h1 a', 'href');
641
+ loginpress_attr_property(
642
+ 'loginpress_customization[customize_logo_hover_title]', '#login h1 a',
643
+ 'title');
644
+
645
+
646
+
647
+ loginpress_css_property(
648
+ 'loginpress_customization[setting_background_color]', 'body.login',
649
+ 'background-color');
650
+ loginpress_css_property('loginpress_customization[background_repeat_radio]',
651
+ 'body.login', 'background-repeat');
652
+ loginpress_css_property('loginpress_customization[background_image_size]',
653
+ 'body.login', 'background-size');
654
+
655
+ loginpress_background_img(
656
+ 'loginpress_customization[setting_form_background]', '#loginform');
657
+
658
+ loginpress_css_property('loginpress_customization[customize_form_width]',
659
+ '#login', 'max-width');
660
+ loginpress_css_property('loginpress_customization[customize_form_height]',
661
+ '#loginform', 'min-height');
662
+ loginpress_css_property('loginpress_customization[customize_form_padding]',
663
+ '#loginform', 'padding');
664
+ loginpress_css_property('loginpress_customization[customize_form_border]',
665
+ '#loginform', 'border');
666
+
667
+ loginpress_input_property('loginpress_customization[textfield_width]',
668
+ 'width');
669
+ loginpress_input_property('loginpress_customization[textfield_margin]',
670
+ 'margin');
671
+ loginpress_input_property(
672
+ 'loginpress_customization[textfield_background_color]', 'background');
673
+ loginpress_input_property('loginpress_customization[textfield_color]',
674
+ 'color');
675
+
676
+
677
+ loginpress_css_property('loginpress_customization[form_background_color]',
678
+ '#loginform', 'background-color');
679
+
680
+ loginpress_css_property('loginpress_customization[textfield_label_color]',
681
+ '.login label', 'color');
682
+
683
+ loginpress_background_img(
684
+ 'loginpress_customization[forget_form_background]', '#lostpasswordform'
685
+ );
686
+ loginpress_css_property(
687
+ 'loginpress_customization[forget_form_background_color]',
688
+ '#lostpasswordform', 'background-color');
689
 
690
  //Buttons starts.
691
  // Update the login form button background in real time...
692
  var loginPressBtnClr;
693
  var loginPressBtnHvr;
694
+ wp.customize('loginpress_customization[custom_button_color]', function(
695
+ value) {
696
+ value.bind(function(loginPressVal) {
697
+ if (loginPressVal == '') {
698
+ $('#customize-preview iframe').contents().find(
699
+ '.wp-core-ui #login .button-primary').css('background',
700
+ '');
701
+ $('#customize-preview iframe').contents().find(
702
+ '.wp-core-ui #login .button-primary').on('mouseover',
703
+ function() {
704
+
705
+ if (typeof loginPressBtnHvr !== "undefined" ||
706
+ loginPressBtnHvr === null) {
707
+ $(this).css('background', loginPressBtnHvr);
708
+ } else {
709
+ $(this).css('background', '');
710
+ }
711
+ }).on('mouseleave', function() {
712
  $(this).css('background', '');
713
  });
714
  } else {
715
+ $('#customize-preview iframe').contents().find(
716
+ '.wp-core-ui #login .button-primary').css('background',
717
+ loginPressVal);
718
  loginPressBtnClr = loginPressVal;
719
 
720
+ $('#customize-preview iframe').contents().find(
721
+ '.wp-core-ui #login .button-primary').on('mouseover',
722
+ function() {
723
 
724
+ if (typeof loginPressBtnHvr !== "undefined" ||
725
+ loginPressBtnHvr === null) {
726
+ $(this).css('background', loginPressBtnHvr);
727
+ } else {
728
+ $(this).css('background', '');
729
+ }
730
+ }).on('mouseleave', function() {
731
  $(this).css('background', loginPressVal);
732
  });
733
  }
734
+ });
735
+ });
736
 
737
  var loginPressBtnBrdrClr;
738
  // Update the login form button border-color in real time...
739
+ wp.customize('loginpress_customization[button_border_color]', function(
740
+ value) {
741
+ value.bind(function(loginPressVal) {
742
+ if (loginPressVal == '') {
743
+ $('#customize-preview iframe').contents().find(
744
+ '.wp-core-ui #login .button-primary').css('border-color',
745
+ '');
746
  } else {
747
+ $('#customize-preview iframe').contents().find(
748
+ '.wp-core-ui #login .button-primary').css('border-color',
749
+ loginPressVal);
750
  loginPressBtnBrdrClr = loginPressVal;
751
  }
752
+ });
753
+ });
754
 
755
  // Update the login form button border-color in real time...
756
+ wp.customize('loginpress_customization[button_hover_color]', function(value) {
757
+ value.bind(function(loginPressVal) {
758
+ if (loginPressVal == '') {
759
+ $('#customize-preview iframe').contents().find(
760
+ '.wp-core-ui #login .button-primary').css('background',
761
+ '');
762
+ $('#customize-preview iframe').contents().find(
763
+ '.wp-core-ui #login .button-primary').on('mouseover',
764
+ function() {
765
+ $(this).css('background', '');
766
+ }).on('mouseleave', function() {
767
 
768
+ if (typeof loginPressBtnClr !== "undefined" ||
769
+ loginPressBtnClr === null) {
770
  $(this).css('background', loginPressBtnClr);
771
+ } else {
772
  $(this).css('background', '');
773
  }
774
  });
776
 
777
  loginPressBtnHvr = loginPressVal;
778
 
779
+ $('#customize-preview iframe').contents().find(
780
+ '.wp-core-ui #login .button-primary').on('mouseover',
781
+ function() {
782
 
783
+ $(this).css('background', loginPressVal);
784
+ }).on('mouseleave', function() {
785
 
786
+ if (typeof loginPressBtnClr !== "undefined" ||
787
+ loginPressBtnClr === null) {
788
+ $(this).css('background', loginPressBtnClr);
789
+ } else {
790
+ $(this).css('background', '');
791
+ }
792
+ });
793
  }
794
+ });
795
+ });
796
 
797
  // Update the login form button border-color in real time...
798
+ wp.customize('loginpress_customization[button_hover_border]', function(
799
+ value) {
800
+ value.bind(function(loginPressVal) {
801
+ if (loginPressVal == '') {
802
+ $('#customize-preview iframe').contents().find(
803
+ '.wp-core-ui #login .button-primary').css('border-color',
804
+ '');
805
  } else {
806
+ $('#customize-preview iframe').contents().find(
807
+ '.wp-core-ui #login .button-primary').on('mouseover',
808
+ function() {
809
+ $(this).css('border-color', loginPressVal);
810
+ }).on('mouseleave', function() {
811
+
812
+ if (typeof loginPressBtnBrdrClr !== "undefined" ||
813
+ loginPressBtnBrdrClr === null) {
814
  $(this).css('border-color', loginPressBtnBrdrClr);
815
+ } else {
816
  $(this).css('border-color', '');
817
  }
818
  });
819
  }
820
+ });
821
+ });
822
 
823
  // Update the login form button border-color in real time...
824
+ wp.customize('loginpress_customization[custom_button_shadow]', function(
825
+ value) {
826
+ value.bind(function(loginPressVal) {
827
+ if (loginPressVal == '') {
828
+ $('#customize-preview iframe').contents().find(
829
+ '.wp-core-ui #login .button-primary').css('box-shadow',
830
+ '');
831
  } else {
832
+ $('#customize-preview iframe').contents().find(
833
+ '.wp-core-ui #login .button-primary').css('box-shadow',
834
+ loginPressVal);
835
  }
836
+ });
837
+ });
838
 
839
  // Update the login form button border-color in real time...
840
+ wp.customize('loginpress_customization[button_text_color]', function(value) {
841
+ value.bind(function(loginPressVal) {
842
+ if (loginPressVal == '') {
843
+ $('#customize-preview iframe').contents().find(
844
+ '.wp-core-ui #login .button-primary').css('color', '');
845
  } else {
846
+ $('#customize-preview iframe').contents().find(
847
+ '.wp-core-ui #login .button-primary').css('color',
848
+ loginPressVal);
849
  }
850
+ });
851
+ });
852
 
853
+ loginpress_text_message('loginpress_customization[login_footer_text]',
854
+ '.login #nav a:nth-child(2)');
855
 
856
+ loginpress_css_property('loginpress_customization[footer_display_text]',
857
+ '.login #nav', 'display');
858
+ loginpress_css_property(
859
+ 'loginpress_customization[login_footer_text_decoration]',
860
+ '.login #nav a', 'text-decoration');
861
 
862
  var loginPressFtrClr;
863
  var loginPressFtrHvr;
864
  // Update the login form button border-color in real time...
865
+ wp.customize('loginpress_customization[login_footer_color]', function(value) {
866
+ value.bind(function(loginPressVal) {
867
 
868
+ if (loginPressVal == '') {
869
+ $('#customize-preview iframe').contents().find(
870
+ '.login #nav a').css('color', '');
871
+ $('#customize-preview iframe').contents().find(
872
+ '.login #nav a').on('mouseover', function() {
873
 
874
+ if (typeof loginPressFtrHvr !== "undefined" ||
875
+ loginPressFtrHvr === null) {
876
  $(this).css('color', loginPressFtrHvr);
877
+ } else {
878
  $(this).css('color', '');
879
  }
880
+ }).on('mouseleave', function() {
881
  $(this).css('color', '');
882
  });
883
  } else {
884
  loginPressFtrClr = loginPressVal;
885
+ $('#customize-preview iframe').contents().find(
886
+ '.login #nav a').css('color', loginPressVal);
887
+ $('#customize-preview iframe').contents().find(
888
+ '.login #nav a').on('mouseover', function() {
889
 
890
+ if (typeof loginPressFtrHvr !== "undefined" ||
891
+ loginPressFtrHvr === null) {
892
  $(this).css('color', loginPressFtrHvr);
893
+ } else {
894
  $(this).css('color', '');
895
  }
896
+ }).on('mouseleave', function() {
897
  $(this).css('color', loginPressVal);
898
  });
899
  }
900
+ });
901
+ });
902
 
903
  // Update the login form button border-color in real time...
904
+ wp.customize('loginpress_customization[login_footer_color_hover]', function(
905
+ value) {
906
+ value.bind(function(loginPressVal) {
907
 
908
+ if (loginPressVal == '') {
909
 
910
+ $('#customize-preview iframe').contents().find(
911
+ '.login #nav a').css('color', '');
912
 
913
+ $('#customize-preview iframe').contents().find(
914
+ '.login #nav a').on('mouseover', function() {
915
  $(this).css('color', '');
916
+ }).on('mouseleave', function() {
917
 
918
+ if (typeof loginPressFtrClr !== "undefined" ||
919
+ loginPressFtrClr === null) {
920
  $(this).css('color', loginPressFtrClr);
921
+ } else {
922
  $(this).css('color', '');
923
  }
924
  });
925
  } else {
926
  loginPressFtrHvr = loginPressVal;
927
+ $('#customize-preview iframe').contents().find(
928
+ '.login #nav a').on('mouseover', function() {
929
  $(this).css('color', loginPressVal);
930
+ }).on('mouseleave', function() {
931
 
932
+ if (typeof loginPressFtrClr !== "undefined" ||
933
+ loginPressFtrClr === null) {
934
  $(this).css('color', loginPressFtrClr);
935
+ } else {
936
  $(this).css('color', '');
937
  }
938
  });
939
  }
940
+ });
941
+ });
942
 
943
+ loginpress_css_property('loginpress_customization[login_footer_font_size]',
944
+ '.login #nav a', 'font-size');
945
+ loginpress_css_property('loginpress_customization[login_footer_bg_color]',
946
+ '.login #nav', 'background-color');
947
 
948
+ loginpress_css_property('loginpress_customization[back_display_text]',
949
+ '.login #backtoblog', 'display');
950
+ loginpress_css_property(
951
+ 'loginpress_customization[login_back_text_decoration]',
952
+ '.login #backtoblog a', 'text-decoration');
953
 
954
  var loginPressFtrBackClr;
955
  var loginPressFtrBackHvr;
956
  // Update the login form button border-color in real time...
957
+ wp.customize('loginpress_customization[login_back_color]', function(value) {
958
+ value.bind(function(loginPressVal) {
959
 
960
+ if (loginPressVal == '') {
961
+ $('#customize-preview iframe').contents().find(
962
+ '.login #backtoblog a').css('color', '');
963
+ $('#customize-preview iframe').contents().find(
964
+ '.login #backtoblog a').on('mouseover', function() {
965
 
966
+ if (typeof loginPressFtrBackHvr !== "undefined" ||
967
+ loginPressFtrBackHvr === null) {
968
  $(this).css('color', loginPressFtrBackHvr);
969
+ } else {
970
  $(this).css('color', '');
971
  }
972
+ }).on('mouseleave', function() {
973
  $(this).css('color', '');
974
  });
975
  } else {
976
  loginPressFtrBackClr = loginPressVal;
977
+ $('#customize-preview iframe').contents().find(
978
+ '.login #backtoblog a').css('color', loginPressVal);
979
+ $('#customize-preview iframe').contents().find(
980
+ '.login #backtoblog a').on('mouseover', function() {
981
 
982
+ if (typeof loginPressFtrBackHvr !== "undefined" ||
983
+ loginPressFtrBackHvr === null) {
984
  $(this).css('color', loginPressFtrBackHvr);
985
+ } else {
986
  $(this).css('color', '');
987
  }
988
+ }).on('mouseleave', function() {
989
  $(this).css('color', loginPressVal);
990
  });
991
  }
992
+ });
993
+ });
994
 
995
  // Update the login form button border-color in real time...
996
+ wp.customize('loginpress_customization[login_back_color_hover]', function(
997
+ value) {
998
+ value.bind(function(loginPressVal) {
999
 
1000
+ if (loginPressVal == '') {
1001
 
1002
+ $('#customize-preview iframe').contents().find(
1003
+ '.login #backtoblog a').css('color', '');
1004
 
1005
+ $('#customize-preview iframe').contents().find(
1006
+ '.login #backtoblog a').on('mouseover', function() {
1007
  $(this).css('color', '');
1008
+ }).on('mouseleave', function() {
1009
 
1010
+ if (typeof loginPressFtrBackClr !== "undefined" ||
1011
+ loginPressFtrBackClr === null) {
1012
  $(this).css('color', loginPressFtrBackClr);
1013
+ } else {
1014
  $(this).css('color', '');
1015
  }
1016
  });
1017
  } else {
1018
  loginPressFtrBackHvr = loginPressVal;
1019
+ $('#customize-preview iframe').contents().find(
1020
+ '.login #backtoblog a').on('mouseover', function() {
1021
  $(this).css('color', loginPressVal);
1022
+ }).on('mouseleave', function() {
1023
 
1024
+ if (typeof loginPressFtrBackClr !== "undefined" ||
1025
+ loginPressFtrBackClr === null) {
1026
  $(this).css('color', loginPressFtrBackClr);
1027
+ } else {
1028
  $(this).css('color', '');
1029
  }
1030
  });
1031
  }
1032
+ });
1033
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1034
 
1035
+ loginpress_css_property('loginpress_customization[login_back_font_size]',
1036
+ '.login #backtoblog a', 'font-size');
1037
+ loginpress_css_property('loginpress_customization[login_back_bg_color]',
1038
+ '.login #backtoblog', 'background-color');
1039
+ loginpress_footer_text_message(
1040
+ 'loginpress_customization[login_footer_copy_right]', '.copyRight');
1041
+
1042
+ loginpress_text_message('loginpress_customization[incorrect_username]',
1043
+ '#login_error');
1044
+ loginpress_text_message('loginpress_customization[incorrect_password]',
1045
+ '#login_error');
1046
+ loginpress_text_message('loginpress_customization[empty_username]',
1047
+ '#login_error');
1048
+ loginpress_text_message('loginpress_customization[empty_password]',
1049
+ '#login_error');
1050
+ loginpress_text_message('loginpress_customization[invalid_email]',
1051
+ '#login_error');
1052
+ loginpress_text_message('loginpress_customization[empty_email]',
1053
+ '#login_error');
1054
+ loginpress_text_message('loginpress_customization[invalidcombo_message]',
1055
+ '#login_error');
1056
+
1057
+ loginpress_text_message('loginpress_customization[lostpwd_welcome_message]',
1058
+ '.login .custom-message');
1059
+ loginpress_text_message('loginpress_customization[welcome_message]',
1060
+ '.login .custom-message');
1061
+ loginpress_text_message(
1062
+ 'loginpress_customization[register_welcome_message]',
1063
+ '.login .custom-message');
1064
+ loginpress_text_message('loginpress_customization[logout_message]',
1065
+ '.login .custom-message');
1066
+
1067
+ loginpress_css_property(
1068
+ 'loginpress_customization[message_background_border]',
1069
+ '.login .custom-message', 'border');
1070
+ loginpress_css_property(
1071
+ 'loginpress_customization[message_background_color]',
1072
+ '.login .custom-message', 'background-color');
1073
+ // loginpress_css_property( 'loginpress_customization[google_font]', '#login', 'font-family' );
1074
 
1075
+ // wp.customize( 'loginpress_customization[google_font]', function( value ) {
1076
+ // value.bind( function( loginPressVal ) {
1077
+ //
1078
+ // if( loginPressVal == '' ) {
1079
+ // $('#customize-preview iframe').contents().find( '#login' ).css( 'font-family', '' );
1080
+ // } else {
1081
+ // $('#customize-preview iframe').contents().find( '#login' ).css( 'font-family', loginPressVal );
1082
+ // console.log(loginPressVal);
1083
+ // }
1084
+ // } );
1085
+ // } );
1086
+ // console.log($('#customize-control-loginpress_display_bg').val());
1087
 
1088
+ // function for change LoginPress background-image in real time...
1089
 
1090
+ wp.customize('loginpress_customization[recaptcha_size]', function(value) {
1091
+ value.bind(function(loginPressVal) {
1092
  console.log(loginPressVal);
1093
+ if (loginPressVal == '') {
1094
+ $('#customize-preview iframe').contents().find(
1095
+ '.loginpress_recaptcha_wrapper .g-recaptcha').css(
1096
+ 'transform', '');
1097
  } else {
1098
+ $('#customize-preview iframe').contents().find(
1099
+ '.loginpress_recaptcha_wrapper .g-recaptcha').css(
1100
+ 'transform', 'scale(' + loginPressVal + ')');
1101
  }
1102
+ });
1103
+ });
1104
 
1105
 
1106
+ $(window).on('load', function() {
1107
 
1108
  // console.log($('#customize-control-loginpress_display_bg input[type="checkbox"]').length);
1109
+ if ($(
1110
+ '#customize-control-loginpress_display_bg input[type="checkbox"]'
1111
+ ).is(":checked")) {
1112
  $('#customize-control-setting_background').show();
1113
  $('#customize-control-background_repeat_radio').show();
1114
  $('#customize-control-background_image_size').show();
1118
  $('#customize-control-background_image_size').hide();
1119
  }
1120
 
1121
+ $("<style type='text/css' id='loginpress-customize'></style>").appendTo(
1122
+ $('#customize-preview iframe').contents().find('head'));
1123
  });
1124
 
1125
+ })(jQuery);
loginpress.php CHANGED
@@ -2,12 +2,10 @@
2
  /**
3
  * Plugin Name: LoginPress - Customizing the WordPress Login
4
  * Plugin URI: http://www.WPBrigade.com/wordpress/plugins/loginpress/
5
- * Description: LoginPress is the best Login Page Customizer in WordPress which allows you to completely change the layout of login, register and forgot password forms.
6
- * Version: 1.0.12
7
  * Author: WPBrigade
8
  * Author URI: http://www.WPBrigade.com/
9
- * Requires at least: 4.0
10
- * Tested up to: 4.7.3
11
  * Text Domain: loginpress
12
  * Domain Path: /languages
13
  *
@@ -24,7 +22,7 @@ if ( ! class_exists( 'LoginPress' ) ) :
24
  /**
25
  * @var string
26
  */
27
- public $version = '1.0.12';
28
 
29
  /**
30
  * @var The single instance of the class
@@ -152,20 +150,16 @@ if ( ! class_exists( 'LoginPress' ) ) :
152
  public function register_options_page() {
153
 
154
  add_theme_page( __( 'LoginPress', 'loginpress' ), __( 'LoginPress', 'loginpress' ), 'manage_options', "abw", '__return_null' );
155
-
156
- add_menu_page( __( 'LoginPress', 'loginpress' ), __( 'LoginPress', 'loginpress' ), 'manage_options', "loginpress", '__return_null', '', 50 );
157
-
158
- add_submenu_page( 'loginpress', __( 'Customizer', 'loginpress' ), __( 'Customizer', 'loginpress' ), 'manage_options', "loginpress", '__return_null' );
159
  }
160
 
161
 
162
  public function _loginpress_settings() {
163
 
164
- if ( isset( $_GET['get-premium'] ) && 'loginpress' == $_GET['get-premium'] ) {
165
- include_once LOGINPRESS_DIR_PATH . '/include/get-premium.php';
166
- } else {
167
- include_once LOGINPRESS_DIR_PATH . '/include/settings.php';
168
- }
169
  }
170
 
171
  function _admin_scripts() {
2
  /**
3
  * Plugin Name: LoginPress - Customizing the WordPress Login
4
  * Plugin URI: http://www.WPBrigade.com/wordpress/plugins/loginpress/
5
+ * Description: LoginPress is the best <code>wp-login</code> Login Page Customizer plugin by <a href="https://wpbrigade.com/">WPBrigade</a> which allows you to completely change the layout of login, register and forgot password forms.
6
+ * Version: 1.0.13
7
  * Author: WPBrigade
8
  * Author URI: http://www.WPBrigade.com/
 
 
9
  * Text Domain: loginpress
10
  * Domain Path: /languages
11
  *
22
  /**
23
  * @var string
24
  */
25
+ public $version = '1.0.13';
26
 
27
  /**
28
  * @var The single instance of the class
150
  public function register_options_page() {
151
 
152
  add_theme_page( __( 'LoginPress', 'loginpress' ), __( 'LoginPress', 'loginpress' ), 'manage_options', "abw", '__return_null' );
 
 
 
 
153
  }
154
 
155
 
156
  public function _loginpress_settings() {
157
 
158
+ if ( isset( $_GET['get-premium'] ) && 'loginpress' == $_GET['get-premium'] ) {
159
+ include_once LOGINPRESS_DIR_PATH . '/include/get-premium.php';
160
+ } else {
161
+ include_once LOGINPRESS_DIR_PATH . '/include/settings.php';
162
+ }
163
  }
164
 
165
  function _admin_scripts() {
readme.txt CHANGED
@@ -1,19 +1,19 @@
1
- === Login ===
2
  Requires at least: 4.0
3
- Tested up to: 4.7.3
4
  Contributors: WPBrigade, hiddenpearls, AbdulWahab610
5
  Author URI: https://wpbrigade.com
6
- Tags: login, wp-login, customizer, custom login, login logo, login customizer, custom login page, admin, customization, forgot password, login error, login page style, loginpress
7
- Stable tag: 1.0.12
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
- LOGIN plugin allows you to easily customize the layout of login, admin login, client login, register and forgot password forms/pages.
12
 
13
  == Description ==
14
 
15
- <a href="http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=link&utm_campaign=pro-upgrade" rel="friend">Login Plugin</a> by LoginPress holds a lot of customization fields to change the layout of the login page of WordPress. You can modify the look and feel of login page completely even the login error messages, forgot error messages, registration error messages and many more.
16
- Login Plugin would give you and your users a feeling that it is a custom login page and a part of the site layout. You must checkout the Demo video of how you can customize WordPress login page.
17
 
18
  **Getting Started video for customizing login page using LoginPress**
19
 
@@ -24,7 +24,7 @@ Login Plugin would give you and your users a feeling that it is a custom login p
24
 
25
  [Checkout the Pro version](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=link&utm_campaign=pro-upgrade)
26
 
27
- Login plugin is built using The Customizer API which is getting popular for live-previewing any changes to the layouts of WordPress. So, with LoginPress you can preview your login page changes instantly. This login customizer plugin is easy enough & required no coding skills. Just have options for each element on the login form and make a new customized login page within seconds.
28
 
29
 
30
  > Multilingual & Translatable
@@ -163,6 +163,10 @@ Please visit <a target="_blank" rel="friend" href="http://www.WPBrigade.com/word
163
 
164
  == Changelog ==
165
 
 
 
 
 
166
  = 1.0.12 - 2017-03-23 =
167
  * Bugfix: Remove conflictions
168
  * Enhancement: Add Button to deactivate plugin without feedback.
@@ -215,5 +219,5 @@ Please visit <a target="_blank" rel="friend" href="http://www.WPBrigade.com/word
215
 
216
  == Upgrade Notice ==
217
 
218
- = 1.0.12 =
219
- * bugfix release: Please upgrade immediately.
1
+ === WordPress Custom Login Page Customizer | LoginPress ===
2
  Requires at least: 4.0
3
+ Tested up to: 4.7
4
  Contributors: WPBrigade, hiddenpearls, AbdulWahab610
5
  Author URI: https://wpbrigade.com
6
+ Tags: wp-login, custom wp-login, login customizer, custom login, custom login logo, login customizer, custom login page, login error, login page style, loginpress
7
+ Stable tag: 1.0.13
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
+ LoginPress is a WordPress Custom Login Page Customizer plugin allows you to easily customize the layout of login, admin login, client login, register and forgot password forms/pages.
12
 
13
  == Description ==
14
 
15
+ <a href="http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=link&utm_campaign=pro-upgrade" rel="friend">LoginPress Plugin</a> by LoginPress holds a lot of customization fields to change the layout of the login page of WordPress. You can modify the look and feel of login page completely even the login error messages, forgot error messages, registration error messages and many more.
16
+ LoginPress Plugin would give you and your users a feeling that it is a custom login page and a part of the site layout. You must checkout the Demo video of how you can customize WordPress login page.
17
 
18
  **Getting Started video for customizing login page using LoginPress**
19
 
24
 
25
  [Checkout the Pro version](http://www.WPBrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-lite&utm_medium=link&utm_campaign=pro-upgrade)
26
 
27
+ LoginPress plugin is built using The Customizer API which is getting popular for live-previewing any changes to the layouts of WordPress. So, with LoginPress you can preview your login page changes instantly. This login customizer plugin is easy enough & required no coding skills. Just have options for each element on the login form and make a new customized login page within seconds.
28
 
29
 
30
  > Multilingual & Translatable
163
 
164
  == Changelog ==
165
 
166
+ = 1.0.13 - 2017-04-14 =
167
+ * Bugfix: Code improvement
168
+ * Enhancement: Introducing Pro features e.g Google fonts, Google reCaptcha. Adding compatibility for those features in Free version.
169
+
170
  = 1.0.12 - 2017-03-23 =
171
  * Bugfix: Remove conflictions
172
  * Enhancement: Add Button to deactivate plugin without feedback.
219
 
220
  == Upgrade Notice ==
221
 
222
+ = 1.0.13 =
223
+ * Important release, Please upgrade immediately.