Version Description
- Improvement: scripts and styles are now versioned to avoid cache problems after an update.
- Bug fix: Permalinks are now flushed upon activation to avoid 404 errors.
- Bug fix: Dropdown arrows were not clickable and didn't reflect part value color set in Style step.
Download this release
Release Info
Developer | thethemefoundry |
Plugin | Form builder to get in touch with visitors, grow your email list and collect payments — Happyforms |
Version | 1.4.6 |
Comparing to | |
See all releases |
Code changes from version 1.4.5 to 1.4.6
- assets/css/frontend.css +47 -32
- happyforms.php +2 -2
- inc/classes/class-happyforms-plugin.php +9 -8
- inc/classes/class-tracking.php +1 -1
- inc/classes/class-wp-customize-form-manager.php +4 -6
- inc/classes/parts/class-part-address.php +2 -2
- inc/classes/parts/class-part-checkbox.php +1 -3
- inc/classes/parts/class-part-date.php +3 -5
- inc/classes/parts/class-part-email.php +1 -3
- inc/classes/parts/class-part-legal.php +1 -3
- inc/classes/parts/class-part-multi-line-text.php +1 -3
- inc/classes/parts/class-part-number.php +4 -5
- inc/classes/parts/class-part-phone.php +5 -8
- inc/classes/parts/class-part-placeholder.php +1 -3
- inc/classes/parts/class-part-radio.php +1 -3
- inc/classes/parts/class-part-rating.php +1 -3
- inc/classes/parts/class-part-scale.php +2 -4
- inc/classes/parts/class-part-select.php +1 -3
- inc/classes/parts/class-part-single-line-text.php +1 -3
- inc/classes/parts/class-part-title.php +1 -3
- inc/classes/parts/class-part-website-url.php +1 -3
- inc/helpers/helper-activation.php +9 -1
- inc/templates/parts/frontend-date.php +33 -25
- inc/templates/parts/frontend-select.php +11 -9
- inc/templates/parts/frontend-title.php +8 -6
- languages/happyforms.pot +31 -31
- readme.txt +9 -1
assets/css/frontend.css
CHANGED
@@ -907,22 +907,22 @@ h3.happyforms-form__title {
|
|
907 |
.happyforms-part--date select,
|
908 |
.happyforms-part--title select {
|
909 |
position: relative;
|
|
|
910 |
-webkit-appearance: none;
|
911 |
-moz-appearance: none;
|
912 |
appearance: none;
|
913 |
width: 100%;
|
914 |
max-width: none;
|
915 |
height: auto !important;
|
|
|
|
|
916 |
padding: 10px;
|
917 |
-
border: 1px solid;
|
918 |
-
border-radius: 6px;
|
919 |
-
border-color: #dbdbdb;
|
920 |
-
border-color: var(--happyforms-color-part-border);
|
921 |
line-height: 1.4;
|
922 |
-
background-color:
|
923 |
-
background-color: var(--happyforms-color-part-background);
|
924 |
font-size: 16px;
|
925 |
font-size: var(--happyforms-part-value-font-size);
|
|
|
|
|
926 |
}
|
927 |
|
928 |
.happyforms-form--part-border-off .happyforms-part--select select,
|
@@ -949,6 +949,15 @@ h3.happyforms-form__title {
|
|
949 |
padding: 0 0 0 2%;
|
950 |
}
|
951 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
952 |
.happyforms-part__select-wrap:first-of-type,
|
953 |
.happyforms-part--date__input-wrap:first-of-type {
|
954 |
padding-left: 0 !important;
|
@@ -1000,29 +1009,20 @@ h3.happyforms-form__title {
|
|
1000 |
.happyforms-part__select-wrap:after {
|
1001 |
content: '';
|
1002 |
position: absolute;
|
1003 |
-
top:
|
1004 |
right: 15px;
|
1005 |
-
z-index:
|
1006 |
display: block;
|
1007 |
-
width:
|
1008 |
-
height:
|
1009 |
-
|
1010 |
-
|
1011 |
-
|
1012 |
-
|
1013 |
-
fill: var(--happyforms-color-part-value);
|
1014 |
-
stroke: #000;
|
1015 |
-
stroke: var(--happyforms-color-part-value);
|
1016 |
-
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij48cGF0aCBkPSJNNSA4bDQgNCA0LTR6Ii8+PC9zdmc+);
|
1017 |
background-size: cover;
|
1018 |
background-repeat: no-repeat;
|
1019 |
}
|
1020 |
|
1021 |
-
.happyforms-part--date .happyforms-part__select-wrap:after {
|
1022 |
-
top: calc(46% - 12px);
|
1023 |
-
right: 15px;
|
1024 |
-
}
|
1025 |
-
|
1026 |
.happyforms-part--select select:focus,
|
1027 |
.happyforms-part--date select:focus {
|
1028 |
outline-width: 1px;
|
@@ -1044,17 +1044,20 @@ h3.happyforms-form__title {
|
|
1044 |
content: '';
|
1045 |
display: block;
|
1046 |
position: absolute;
|
1047 |
-
bottom:
|
1048 |
-
right:
|
1049 |
-
width:
|
1050 |
-
height:
|
1051 |
-
|
|
|
|
|
|
|
1052 |
background-position: left top;
|
1053 |
background-size: cover;
|
1054 |
}
|
1055 |
|
1056 |
.happyforms-part-date__time-input .happyforms-spinner-arrow--up {
|
1057 |
-
top:
|
1058 |
bottom: auto;
|
1059 |
transform: rotateX(-180deg);
|
1060 |
}
|
@@ -1485,7 +1488,7 @@ input[type=submit].happyforms-button--submit:focus {
|
|
1485 |
.happyforms-form--part-border-radius-square .happyforms-part input[type=number],
|
1486 |
.happyforms-form--part-border-radius-square .happyforms-part input[type=range],
|
1487 |
.happyforms-form--part-border-radius-square .happyforms-part textarea,
|
1488 |
-
.happyforms-form--part-border-radius-square .happyforms-part
|
1489 |
.happyforms-form--part-border-radius-square .happyforms-part--address__results ul {
|
1490 |
border-radius: 0px;
|
1491 |
}
|
@@ -1499,13 +1502,17 @@ input[type=submit].happyforms-button--submit:focus {
|
|
1499 |
.happyforms-form--part-border-radius-pill .happyforms-part input[type=tel],
|
1500 |
.happyforms-form--part-border-radius-pill .happyforms-part input[type=number],
|
1501 |
.happyforms-form--part-border-radius-pill .happyforms-part input[type=range],
|
1502 |
-
.happyforms-form--part-border-radius-pill .happyforms-part textarea
|
1503 |
-
.happyforms-form--part-border-radius-pill .happyforms-part select {
|
1504 |
border-radius: 25px;
|
1505 |
padding-left: 25px;
|
1506 |
padding-right: 25px;
|
1507 |
}
|
1508 |
|
|
|
|
|
|
|
|
|
|
|
1509 |
.happyforms-form--part-border-radius-pill .happyforms-part--address__results ul {
|
1510 |
border-radius: 25px;
|
1511 |
}
|
@@ -1514,6 +1521,10 @@ input[type=submit].happyforms-button--submit:focus {
|
|
1514 |
border-radius: 25px;
|
1515 |
}
|
1516 |
|
|
|
|
|
|
|
|
|
1517 |
.happyforms-form--part-placeholder-toggle .happyforms-part ::-webkit-input-placeholder {
|
1518 |
color: transparent;
|
1519 |
transition: color var(--happyforms-transition-duration);
|
@@ -1701,6 +1712,10 @@ input[type=submit].happyforms-button--submit:focus {
|
|
1701 |
padding: 15px;
|
1702 |
}
|
1703 |
|
|
|
|
|
|
|
|
|
1704 |
.happyforms-form--part-inner-padding-wide .happyforms-part--checkbox .option-label {
|
1705 |
padding-left: 0;
|
1706 |
padding-right: 0;
|
907 |
.happyforms-part--date select,
|
908 |
.happyforms-part--title select {
|
909 |
position: relative;
|
910 |
+
z-index: 3;
|
911 |
-webkit-appearance: none;
|
912 |
-moz-appearance: none;
|
913 |
appearance: none;
|
914 |
width: 100%;
|
915 |
max-width: none;
|
916 |
height: auto !important;
|
917 |
+
border: 0;
|
918 |
+
border-radius: 0;
|
919 |
padding: 10px;
|
|
|
|
|
|
|
|
|
920 |
line-height: 1.4;
|
921 |
+
background-color: transparent;
|
|
|
922 |
font-size: 16px;
|
923 |
font-size: var(--happyforms-part-value-font-size);
|
924 |
+
color: #000;
|
925 |
+
color: var(--happyforms-color-part-value);
|
926 |
}
|
927 |
|
928 |
.happyforms-form--part-border-off .happyforms-part--select select,
|
949 |
padding: 0 0 0 2%;
|
950 |
}
|
951 |
|
952 |
+
.happyforms-part__select-bg {
|
953 |
+
border: 1px solid;
|
954 |
+
border-radius: 6px;
|
955 |
+
border-color: #dbdbdb;
|
956 |
+
border-color: var(--happyforms-color-part-border);
|
957 |
+
background-color: #fff;
|
958 |
+
background-color: var(--happyforms-color-part-background);
|
959 |
+
}
|
960 |
+
|
961 |
.happyforms-part__select-wrap:first-of-type,
|
962 |
.happyforms-part--date__input-wrap:first-of-type {
|
963 |
padding-left: 0 !important;
|
1009 |
.happyforms-part__select-wrap:after {
|
1010 |
content: '';
|
1011 |
position: absolute;
|
1012 |
+
top: 44%;
|
1013 |
right: 15px;
|
1014 |
+
z-index: 1;
|
1015 |
display: block;
|
1016 |
+
width: 0;
|
1017 |
+
height: 0;
|
1018 |
+
border-left: 6px solid transparent;
|
1019 |
+
border-right: 6px solid transparent;
|
1020 |
+
border-top: 6px solid #000;
|
1021 |
+
border-top: 6px solid var(--happyforms-color-part-value);
|
|
|
|
|
|
|
|
|
1022 |
background-size: cover;
|
1023 |
background-repeat: no-repeat;
|
1024 |
}
|
1025 |
|
|
|
|
|
|
|
|
|
|
|
1026 |
.happyforms-part--select select:focus,
|
1027 |
.happyforms-part--date select:focus {
|
1028 |
outline-width: 1px;
|
1044 |
content: '';
|
1045 |
display: block;
|
1046 |
position: absolute;
|
1047 |
+
bottom: 8px;
|
1048 |
+
right: 7px;
|
1049 |
+
width: 0;
|
1050 |
+
height: 0;
|
1051 |
+
border-left: 6px solid transparent;
|
1052 |
+
border-right: 6px solid transparent;
|
1053 |
+
border-top: 6px solid #000;
|
1054 |
+
border-top: 6px solid var(--happyforms-color-part-value);
|
1055 |
background-position: left top;
|
1056 |
background-size: cover;
|
1057 |
}
|
1058 |
|
1059 |
.happyforms-part-date__time-input .happyforms-spinner-arrow--up {
|
1060 |
+
top: 8px;
|
1061 |
bottom: auto;
|
1062 |
transform: rotateX(-180deg);
|
1063 |
}
|
1488 |
.happyforms-form--part-border-radius-square .happyforms-part input[type=number],
|
1489 |
.happyforms-form--part-border-radius-square .happyforms-part input[type=range],
|
1490 |
.happyforms-form--part-border-radius-square .happyforms-part textarea,
|
1491 |
+
.happyforms-form--part-border-radius-square .happyforms-part .happyforms-part__select-bg,
|
1492 |
.happyforms-form--part-border-radius-square .happyforms-part--address__results ul {
|
1493 |
border-radius: 0px;
|
1494 |
}
|
1502 |
.happyforms-form--part-border-radius-pill .happyforms-part input[type=tel],
|
1503 |
.happyforms-form--part-border-radius-pill .happyforms-part input[type=number],
|
1504 |
.happyforms-form--part-border-radius-pill .happyforms-part input[type=range],
|
1505 |
+
.happyforms-form--part-border-radius-pill .happyforms-part textarea {
|
|
|
1506 |
border-radius: 25px;
|
1507 |
padding-left: 25px;
|
1508 |
padding-right: 25px;
|
1509 |
}
|
1510 |
|
1511 |
+
.happyforms-form--part-border-radius-pill .happyforms-part .happyforms-part__select-bg {
|
1512 |
+
border-radius: 25px;
|
1513 |
+
padding-left: 15px;
|
1514 |
+
}
|
1515 |
+
|
1516 |
.happyforms-form--part-border-radius-pill .happyforms-part--address__results ul {
|
1517 |
border-radius: 25px;
|
1518 |
}
|
1521 |
border-radius: 25px;
|
1522 |
}
|
1523 |
|
1524 |
+
.happyforms-form--part-border-radius-pill .happyforms-part-date__time-input .happyforms-spinner-arrow {
|
1525 |
+
right: 15px;
|
1526 |
+
}
|
1527 |
+
|
1528 |
.happyforms-form--part-placeholder-toggle .happyforms-part ::-webkit-input-placeholder {
|
1529 |
color: transparent;
|
1530 |
transition: color var(--happyforms-transition-duration);
|
1712 |
padding: 15px;
|
1713 |
}
|
1714 |
|
1715 |
+
.happyforms-form--part-inner-padding-wide .happyforms-part .happyforms-part__select-wrap:after {
|
1716 |
+
top: 45%;
|
1717 |
+
}
|
1718 |
+
|
1719 |
.happyforms-form--part-inner-padding-wide .happyforms-part--checkbox .option-label {
|
1720 |
padding-left: 0;
|
1721 |
padding-right: 0;
|
happyforms.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* Plugin URI: https://happyforms.me
|
6 |
* Description: Your friendly drag and drop contact form builder for creating contact forms, lead generation forms, feedback forms, quote forms, survey forms and more!
|
7 |
* Author: The Theme Foundry
|
8 |
-
* Version: 1.4.
|
9 |
* Author URI: https://thethemefoundry.com
|
10 |
* Upgrade URI: https://thethemefoundry.com
|
11 |
*/
|
@@ -13,7 +13,7 @@
|
|
13 |
/**
|
14 |
* The current version of the plugin.
|
15 |
*/
|
16 |
-
define( 'HAPPYFORMS_VERSION', '1.4.
|
17 |
|
18 |
if ( ! function_exists( 'happyforms_plugin_file' ) ):
|
19 |
/**
|
5 |
* Plugin URI: https://happyforms.me
|
6 |
* Description: Your friendly drag and drop contact form builder for creating contact forms, lead generation forms, feedback forms, quote forms, survey forms and more!
|
7 |
* Author: The Theme Foundry
|
8 |
+
* Version: 1.4.6
|
9 |
* Author URI: https://thethemefoundry.com
|
10 |
* Upgrade URI: https://thethemefoundry.com
|
11 |
*/
|
13 |
/**
|
14 |
* The current version of the plugin.
|
15 |
*/
|
16 |
+
define( 'HAPPYFORMS_VERSION', '1.4.6' );
|
17 |
|
18 |
if ( ! function_exists( 'happyforms_plugin_file' ) ):
|
19 |
/**
|
inc/classes/class-happyforms-plugin.php
CHANGED
@@ -194,15 +194,14 @@ class HappyForms_Plugin {
|
|
194 |
public function admin_enqueue_scripts() {
|
195 |
wp_enqueue_style(
|
196 |
'happyforms-admin',
|
197 |
-
happyforms_get_plugin_url() . 'assets/css/admin.css'
|
|
|
198 |
);
|
199 |
|
200 |
wp_enqueue_script(
|
201 |
'happyforms-admin',
|
202 |
happyforms_get_plugin_url() . 'assets/js/happyforms.js',
|
203 |
-
|
204 |
-
'',
|
205 |
-
true
|
206 |
);
|
207 |
}
|
208 |
|
@@ -346,13 +345,15 @@ class HappyForms_Plugin {
|
|
346 |
public function enqueue_styles() {
|
347 |
wp_enqueue_style(
|
348 |
'happyforms-frontend',
|
349 |
-
happyforms_get_plugin_url() . 'assets/css/frontend.css'
|
|
|
350 |
);
|
351 |
|
352 |
if ( happyforms_is_preview() ) {
|
353 |
wp_enqueue_style(
|
354 |
'happyforms-preview',
|
355 |
-
happyforms_get_plugin_url() . 'assets/css/preview.css'
|
|
|
356 |
);
|
357 |
}
|
358 |
}
|
@@ -449,7 +450,7 @@ class HappyForms_Plugin {
|
|
449 |
wp_enqueue_script(
|
450 |
'happyforms-frontend',
|
451 |
happyforms_get_plugin_url() . 'assets/js/frontend.js',
|
452 |
-
$dependencies,
|
453 |
);
|
454 |
|
455 |
/**
|
@@ -487,7 +488,7 @@ class HappyForms_Plugin {
|
|
487 |
wp_enqueue_script(
|
488 |
'happyforms-preview',
|
489 |
happyforms_get_plugin_url() . 'assets/js/preview.js',
|
490 |
-
$preview_deps,
|
491 |
);
|
492 |
|
493 |
require_once( happyforms_get_include_folder() . '/templates/preview-form-pencil.php' );
|
194 |
public function admin_enqueue_scripts() {
|
195 |
wp_enqueue_style(
|
196 |
'happyforms-admin',
|
197 |
+
happyforms_get_plugin_url() . 'assets/css/admin.css',
|
198 |
+
array(), HAPPYFORMS_VERSION
|
199 |
);
|
200 |
|
201 |
wp_enqueue_script(
|
202 |
'happyforms-admin',
|
203 |
happyforms_get_plugin_url() . 'assets/js/happyforms.js',
|
204 |
+
array(), HAPPYFORMS_VERSION, true
|
|
|
|
|
205 |
);
|
206 |
}
|
207 |
|
345 |
public function enqueue_styles() {
|
346 |
wp_enqueue_style(
|
347 |
'happyforms-frontend',
|
348 |
+
happyforms_get_plugin_url() . 'assets/css/frontend.css',
|
349 |
+
array(), HAPPYFORMS_VERSION
|
350 |
);
|
351 |
|
352 |
if ( happyforms_is_preview() ) {
|
353 |
wp_enqueue_style(
|
354 |
'happyforms-preview',
|
355 |
+
happyforms_get_plugin_url() . 'assets/css/preview.css',
|
356 |
+
array(), HAPPYFORMS_VERSION
|
357 |
);
|
358 |
}
|
359 |
}
|
450 |
wp_enqueue_script(
|
451 |
'happyforms-frontend',
|
452 |
happyforms_get_plugin_url() . 'assets/js/frontend.js',
|
453 |
+
$dependencies, HAPPYFORMS_VERSION, true
|
454 |
);
|
455 |
|
456 |
/**
|
488 |
wp_enqueue_script(
|
489 |
'happyforms-preview',
|
490 |
happyforms_get_plugin_url() . 'assets/js/preview.js',
|
491 |
+
$preview_deps, HAPPYFORMS_VERSION, true
|
492 |
);
|
493 |
|
494 |
require_once( happyforms_get_include_folder() . '/templates/preview-form-pencil.php' );
|
inc/classes/class-tracking.php
CHANGED
@@ -187,7 +187,7 @@ class HappyForms_Tracking {
|
|
187 |
wp_enqueue_script(
|
188 |
'happyforms-tracking',
|
189 |
happyforms_get_plugin_url() . 'assets/js/tracking.js',
|
190 |
-
|
191 |
);
|
192 |
}
|
193 |
}
|
187 |
wp_enqueue_script(
|
188 |
'happyforms-tracking',
|
189 |
happyforms_get_plugin_url() . 'assets/js/tracking.js',
|
190 |
+
array(), HAPPYFORMS_VERSION, true
|
191 |
);
|
192 |
}
|
193 |
}
|
inc/classes/class-wp-customize-form-manager.php
CHANGED
@@ -287,15 +287,13 @@ class HappyForms_WP_Customize_Form_Manager {
|
|
287 |
wp_enqueue_style(
|
288 |
'happyforms-customize',
|
289 |
happyforms_get_plugin_url() . 'assets/css/customize.css',
|
290 |
-
array(
|
291 |
-
'wp-color-picker',
|
292 |
-
'wp-pointer'
|
293 |
-
)
|
294 |
);
|
295 |
|
296 |
wp_enqueue_style(
|
297 |
'happyforms-font-awesome',
|
298 |
-
happyforms_get_plugin_url() . 'assets/css/font-awesome.min.css'
|
|
|
299 |
);
|
300 |
|
301 |
$customize_deps = apply_filters(
|
@@ -318,7 +316,7 @@ class HappyForms_WP_Customize_Form_Manager {
|
|
318 |
wp_register_script(
|
319 |
'happyforms-customize',
|
320 |
happyforms_get_plugin_url() . 'assets/js/customize.js',
|
321 |
-
$customize_deps,
|
322 |
);
|
323 |
|
324 |
$data = array(
|
287 |
wp_enqueue_style(
|
288 |
'happyforms-customize',
|
289 |
happyforms_get_plugin_url() . 'assets/css/customize.css',
|
290 |
+
array( 'wp-color-picker', 'wp-pointer' ), HAPPYFORMS_VERSION
|
|
|
|
|
|
|
291 |
);
|
292 |
|
293 |
wp_enqueue_style(
|
294 |
'happyforms-font-awesome',
|
295 |
+
happyforms_get_plugin_url() . 'assets/css/font-awesome.min.css',
|
296 |
+
array(), HAPPYFORMS_VERSION
|
297 |
);
|
298 |
|
299 |
$customize_deps = apply_filters(
|
316 |
wp_register_script(
|
317 |
'happyforms-customize',
|
318 |
happyforms_get_plugin_url() . 'assets/js/customize.js',
|
319 |
+
$customize_deps, HAPPYFORMS_VERSION, true
|
320 |
);
|
321 |
|
322 |
$data = array(
|
inc/classes/parts/class-part-address.php
CHANGED
@@ -305,7 +305,7 @@ class HappyForms_Part_Address extends HappyForms_Form_Part {
|
|
305 |
wp_enqueue_script(
|
306 |
'part-address',
|
307 |
happyforms_get_plugin_url() . 'assets/js/parts/part-address.js',
|
308 |
-
$deps,
|
309 |
);
|
310 |
}
|
311 |
|
@@ -338,7 +338,7 @@ class HappyForms_Part_Address extends HappyForms_Form_Part {
|
|
338 |
wp_register_script(
|
339 |
'happyforms-part-address',
|
340 |
happyforms_get_plugin_url() . 'assets/js/frontend/address.js',
|
341 |
-
array( 'jquery-ui-autocomplete' ),
|
342 |
);
|
343 |
|
344 |
$settings = array(
|
305 |
wp_enqueue_script(
|
306 |
'part-address',
|
307 |
happyforms_get_plugin_url() . 'assets/js/parts/part-address.js',
|
308 |
+
$deps, HAPPYFORMS_VERSION, true
|
309 |
);
|
310 |
}
|
311 |
|
338 |
wp_register_script(
|
339 |
'happyforms-part-address',
|
340 |
happyforms_get_plugin_url() . 'assets/js/frontend/address.js',
|
341 |
+
array( 'jquery-ui-autocomplete' ), HAPPYFORMS_VERSION, true
|
342 |
);
|
343 |
|
344 |
$settings = array(
|
inc/classes/parts/class-part-checkbox.php
CHANGED
@@ -115,9 +115,7 @@ class HappyForms_Part_Checkbox extends HappyForms_Form_Part {
|
|
115 |
wp_enqueue_script(
|
116 |
'part-checkbox',
|
117 |
happyforms_get_plugin_url() . 'assets/js/parts/part-checkbox.js',
|
118 |
-
$deps,
|
119 |
-
false,
|
120 |
-
true
|
121 |
);
|
122 |
}
|
123 |
|
115 |
wp_enqueue_script(
|
116 |
'part-checkbox',
|
117 |
happyforms_get_plugin_url() . 'assets/js/parts/part-checkbox.js',
|
118 |
+
$deps, HAPPYFORMS_VERSION, true
|
|
|
|
|
119 |
);
|
120 |
}
|
121 |
|
inc/classes/parts/class-part-date.php
CHANGED
@@ -239,7 +239,7 @@ class HappyForms_Part_Date extends HappyForms_Form_Part {
|
|
239 |
|
240 |
if ( 'date' !== $part_data['date_type'] && isset( $part_data['min_hour'] ) && isset( $part_data['max_hour'] ) ) {
|
241 |
$hour = (12 === $part_data['time_format']) ? intval( date( 'g', $date ) ) : intval( date( 'G', $date ) );
|
242 |
-
|
243 |
$min_hour = intval( $part_data['min_hour'] );
|
244 |
$max_hour = intval( $part_data['max_hour'] );
|
245 |
|
@@ -287,9 +287,7 @@ class HappyForms_Part_Date extends HappyForms_Form_Part {
|
|
287 |
wp_enqueue_script(
|
288 |
'part-date',
|
289 |
happyforms_get_plugin_url() . 'assets/js/parts/part-date.js',
|
290 |
-
$deps,
|
291 |
-
false,
|
292 |
-
true
|
293 |
);
|
294 |
}
|
295 |
|
@@ -311,7 +309,7 @@ class HappyForms_Part_Date extends HappyForms_Form_Part {
|
|
311 |
wp_register_script(
|
312 |
'happyforms-part-date',
|
313 |
happyforms_get_plugin_url() . 'assets/js/frontend/date.js',
|
314 |
-
array(),
|
315 |
);
|
316 |
|
317 |
$deps[] = 'happyforms-part-date';
|
239 |
|
240 |
if ( 'date' !== $part_data['date_type'] && isset( $part_data['min_hour'] ) && isset( $part_data['max_hour'] ) ) {
|
241 |
$hour = (12 === $part_data['time_format']) ? intval( date( 'g', $date ) ) : intval( date( 'G', $date ) );
|
242 |
+
|
243 |
$min_hour = intval( $part_data['min_hour'] );
|
244 |
$max_hour = intval( $part_data['max_hour'] );
|
245 |
|
287 |
wp_enqueue_script(
|
288 |
'part-date',
|
289 |
happyforms_get_plugin_url() . 'assets/js/parts/part-date.js',
|
290 |
+
$deps, HAPPYFORMS_VERSION, true
|
|
|
|
|
291 |
);
|
292 |
}
|
293 |
|
309 |
wp_register_script(
|
310 |
'happyforms-part-date',
|
311 |
happyforms_get_plugin_url() . 'assets/js/frontend/date.js',
|
312 |
+
array(), HAPPYFORMS_VERSION, true
|
313 |
);
|
314 |
|
315 |
$deps[] = 'happyforms-part-date';
|
inc/classes/parts/class-part-email.php
CHANGED
@@ -209,9 +209,7 @@ class HappyForms_Part_Email extends HappyForms_Form_Part {
|
|
209 |
wp_enqueue_script(
|
210 |
'part-email',
|
211 |
happyforms_get_plugin_url() . 'assets/js/parts/part-email.js',
|
212 |
-
$deps,
|
213 |
-
false,
|
214 |
-
true
|
215 |
);
|
216 |
}
|
217 |
|
209 |
wp_enqueue_script(
|
210 |
'part-email',
|
211 |
happyforms_get_plugin_url() . 'assets/js/parts/part-email.js',
|
212 |
+
$deps, HAPPYFORMS_VERSION, true
|
|
|
|
|
213 |
);
|
214 |
}
|
215 |
|
inc/classes/parts/class-part-legal.php
CHANGED
@@ -153,9 +153,7 @@ class HappyForms_Part_Legal extends HappyForms_Form_Part {
|
|
153 |
wp_enqueue_script(
|
154 |
'part-legal',
|
155 |
happyforms_get_plugin_url() . 'assets/js/parts/part-legal.js',
|
156 |
-
$deps,
|
157 |
-
false,
|
158 |
-
true
|
159 |
);
|
160 |
}
|
161 |
|
153 |
wp_enqueue_script(
|
154 |
'part-legal',
|
155 |
happyforms_get_plugin_url() . 'assets/js/parts/part-legal.js',
|
156 |
+
$deps, HAPPYFORMS_VERSION, true
|
|
|
|
|
157 |
);
|
158 |
}
|
159 |
|
inc/classes/parts/class-part-multi-line-text.php
CHANGED
@@ -114,9 +114,7 @@ class HappyForms_Part_MultiLineText extends HappyForms_Form_Part {
|
|
114 |
wp_enqueue_script(
|
115 |
'part-multi-line-text',
|
116 |
happyforms_get_plugin_url() . 'assets/js/parts/part-multi-line-text.js',
|
117 |
-
$deps,
|
118 |
-
false,
|
119 |
-
true
|
120 |
);
|
121 |
}
|
122 |
|
114 |
wp_enqueue_script(
|
115 |
'part-multi-line-text',
|
116 |
happyforms_get_plugin_url() . 'assets/js/parts/part-multi-line-text.js',
|
117 |
+
$deps, HAPPYFORMS_VERSION, true
|
|
|
|
|
118 |
);
|
119 |
}
|
120 |
|
inc/classes/parts/class-part-number.php
CHANGED
@@ -224,9 +224,7 @@ class HappyForms_Part_Number extends HappyForms_Form_Part {
|
|
224 |
wp_enqueue_script(
|
225 |
'part-number',
|
226 |
happyforms_get_plugin_url() . 'assets/js/parts/part-number.js',
|
227 |
-
$deps,
|
228 |
-
false,
|
229 |
-
true
|
230 |
);
|
231 |
}
|
232 |
|
@@ -277,13 +275,14 @@ class HappyForms_Part_Number extends HappyForms_Form_Part {
|
|
277 |
|
278 |
wp_register_script(
|
279 |
'cleave',
|
280 |
-
happyforms_get_plugin_url() . 'assets/js/lib/cleave.min.js'
|
|
|
281 |
);
|
282 |
|
283 |
wp_register_script(
|
284 |
'happyforms-part-number',
|
285 |
happyforms_get_plugin_url() . 'assets/js/frontend/number.js',
|
286 |
-
array( 'cleave' ),
|
287 |
);
|
288 |
|
289 |
$deps[] = 'happyforms-part-number';
|
224 |
wp_enqueue_script(
|
225 |
'part-number',
|
226 |
happyforms_get_plugin_url() . 'assets/js/parts/part-number.js',
|
227 |
+
$deps, HAPPYFORMS_VERSION, true
|
|
|
|
|
228 |
);
|
229 |
}
|
230 |
|
275 |
|
276 |
wp_register_script(
|
277 |
'cleave',
|
278 |
+
happyforms_get_plugin_url() . 'assets/js/lib/cleave.min.js',
|
279 |
+
array(), HAPPYFORMS_VERSION
|
280 |
);
|
281 |
|
282 |
wp_register_script(
|
283 |
'happyforms-part-number',
|
284 |
happyforms_get_plugin_url() . 'assets/js/frontend/number.js',
|
285 |
+
array( 'cleave' ), HAPPYFORMS_VERSION, true
|
286 |
);
|
287 |
|
288 |
$deps[] = 'happyforms-part-number';
|
inc/classes/parts/class-part-phone.php
CHANGED
@@ -173,7 +173,6 @@ class HappyForms_Part_Phone extends HappyForms_Form_Part {
|
|
173 |
'BY'=>array('name'=>'BELARUS','code'=>'375'),
|
174 |
'BZ'=>array('name'=>'BELIZE','code'=>'501'),
|
175 |
'CA'=>array('name'=>'CANADA','code'=>'1'),
|
176 |
-
'CC'=>array('name'=>'COCOS (KEELING) ISLANDS','code'=>'61'),
|
177 |
'CD'=>array('name'=>'CONGO, THE DEMOCRATIC REPUBLIC OF THE','code'=>'243'),
|
178 |
'CF'=>array('name'=>'CENTRAL AFRICAN REPUBLIC','code'=>'236'),
|
179 |
'CG'=>array('name'=>'CONGO','code'=>'242'),
|
@@ -187,7 +186,6 @@ class HappyForms_Part_Phone extends HappyForms_Form_Part {
|
|
187 |
'CR'=>array('name'=>'COSTA RICA','code'=>'506'),
|
188 |
'CU'=>array('name'=>'CUBA','code'=>'53'),
|
189 |
'CV'=>array('name'=>'CAPE VERDE','code'=>'238'),
|
190 |
-
'CX'=>array('name'=>'CHRISTMAS ISLAND','code'=>'61'),
|
191 |
'CY'=>array('name'=>'CYPRUS','code'=>'357'),
|
192 |
'CZ'=>array('name'=>'CZECH REPUBLIC','code'=>'420'),
|
193 |
'DE'=>array('name'=>'GERMANY','code'=>'49'),
|
@@ -467,9 +465,7 @@ class HappyForms_Part_Phone extends HappyForms_Form_Part {
|
|
467 |
wp_enqueue_script(
|
468 |
'part-phone',
|
469 |
happyforms_get_plugin_url() . 'assets/js/parts/part-phone.js',
|
470 |
-
$deps,
|
471 |
-
false,
|
472 |
-
true
|
473 |
);
|
474 |
}
|
475 |
|
@@ -501,19 +497,20 @@ class HappyForms_Part_Phone extends HappyForms_Form_Part {
|
|
501 |
|
502 |
wp_register_script(
|
503 |
'cleave',
|
504 |
-
happyforms_get_plugin_url() . 'assets/js/lib/cleave.min.js'
|
|
|
505 |
);
|
506 |
|
507 |
wp_register_script(
|
508 |
'cleave-phone',
|
509 |
happyforms_get_plugin_url() . 'assets/js/lib/cleave-phone.i18n.js',
|
510 |
-
array( 'cleave' ),
|
511 |
);
|
512 |
|
513 |
wp_register_script(
|
514 |
'happyforms-part-phone',
|
515 |
happyforms_get_plugin_url() . 'assets/js/frontend/phone.js',
|
516 |
-
array( 'cleave-phone' ),
|
517 |
);
|
518 |
|
519 |
$deps[] = 'happyforms-part-phone';
|
173 |
'BY'=>array('name'=>'BELARUS','code'=>'375'),
|
174 |
'BZ'=>array('name'=>'BELIZE','code'=>'501'),
|
175 |
'CA'=>array('name'=>'CANADA','code'=>'1'),
|
|
|
176 |
'CD'=>array('name'=>'CONGO, THE DEMOCRATIC REPUBLIC OF THE','code'=>'243'),
|
177 |
'CF'=>array('name'=>'CENTRAL AFRICAN REPUBLIC','code'=>'236'),
|
178 |
'CG'=>array('name'=>'CONGO','code'=>'242'),
|
186 |
'CR'=>array('name'=>'COSTA RICA','code'=>'506'),
|
187 |
'CU'=>array('name'=>'CUBA','code'=>'53'),
|
188 |
'CV'=>array('name'=>'CAPE VERDE','code'=>'238'),
|
|
|
189 |
'CY'=>array('name'=>'CYPRUS','code'=>'357'),
|
190 |
'CZ'=>array('name'=>'CZECH REPUBLIC','code'=>'420'),
|
191 |
'DE'=>array('name'=>'GERMANY','code'=>'49'),
|
465 |
wp_enqueue_script(
|
466 |
'part-phone',
|
467 |
happyforms_get_plugin_url() . 'assets/js/parts/part-phone.js',
|
468 |
+
$deps, HAPPYFORMS_VERSION, true
|
|
|
|
|
469 |
);
|
470 |
}
|
471 |
|
497 |
|
498 |
wp_register_script(
|
499 |
'cleave',
|
500 |
+
happyforms_get_plugin_url() . 'assets/js/lib/cleave.min.js',
|
501 |
+
array(), HAPPYFORMS_VERSION
|
502 |
);
|
503 |
|
504 |
wp_register_script(
|
505 |
'cleave-phone',
|
506 |
happyforms_get_plugin_url() . 'assets/js/lib/cleave-phone.i18n.js',
|
507 |
+
array( 'cleave' ), HAPPYFORMS_VERSION, true
|
508 |
);
|
509 |
|
510 |
wp_register_script(
|
511 |
'happyforms-part-phone',
|
512 |
happyforms_get_plugin_url() . 'assets/js/frontend/phone.js',
|
513 |
+
array( 'cleave-phone' ), HAPPYFORMS_VERSION, true
|
514 |
);
|
515 |
|
516 |
$deps[] = 'happyforms-part-phone';
|
inc/classes/parts/class-part-placeholder.php
CHANGED
@@ -137,9 +137,7 @@ class HappyForms_Part_Placeholder extends HappyForms_Form_Part {
|
|
137 |
wp_enqueue_script(
|
138 |
'part-placeholder',
|
139 |
happyforms_get_plugin_url() . 'assets/js/parts/part-placeholder.js',
|
140 |
-
$deps,
|
141 |
-
false,
|
142 |
-
true
|
143 |
);
|
144 |
}
|
145 |
}
|
137 |
wp_enqueue_script(
|
138 |
'part-placeholder',
|
139 |
happyforms_get_plugin_url() . 'assets/js/parts/part-placeholder.js',
|
140 |
+
$deps, HAPPYFORMS_VERSION, true
|
|
|
|
|
141 |
);
|
142 |
}
|
143 |
}
|
inc/classes/parts/class-part-radio.php
CHANGED
@@ -124,9 +124,7 @@ class HappyForms_Part_Radio extends HappyForms_Form_Part {
|
|
124 |
wp_enqueue_script(
|
125 |
'part-radio',
|
126 |
happyforms_get_plugin_url() . 'assets/js/parts/part-radio.js',
|
127 |
-
$deps,
|
128 |
-
false,
|
129 |
-
true
|
130 |
);
|
131 |
}
|
132 |
|
124 |
wp_enqueue_script(
|
125 |
'part-radio',
|
126 |
happyforms_get_plugin_url() . 'assets/js/parts/part-radio.js',
|
127 |
+
$deps, HAPPYFORMS_VERSION, true
|
|
|
|
|
128 |
);
|
129 |
}
|
130 |
|
inc/classes/parts/class-part-rating.php
CHANGED
@@ -165,9 +165,7 @@ class HappyForms_Part_Rating extends HappyForms_Form_Part {
|
|
165 |
wp_enqueue_script(
|
166 |
'part-rating',
|
167 |
happyforms_get_plugin_url() . 'assets/js/parts/part-rating.js',
|
168 |
-
$deps,
|
169 |
-
false,
|
170 |
-
true
|
171 |
);
|
172 |
}
|
173 |
|
165 |
wp_enqueue_script(
|
166 |
'part-rating',
|
167 |
happyforms_get_plugin_url() . 'assets/js/parts/part-rating.js',
|
168 |
+
$deps, HAPPYFORMS_VERSION, true
|
|
|
|
|
169 |
);
|
170 |
}
|
171 |
|
inc/classes/parts/class-part-scale.php
CHANGED
@@ -193,9 +193,7 @@ class HappyForms_Part_Scale extends HappyForms_Form_Part {
|
|
193 |
wp_enqueue_script(
|
194 |
'part-scale',
|
195 |
happyforms_get_plugin_url() . 'assets/js/parts/part-scale.js',
|
196 |
-
$deps,
|
197 |
-
false,
|
198 |
-
true
|
199 |
);
|
200 |
}
|
201 |
|
@@ -217,7 +215,7 @@ class HappyForms_Part_Scale extends HappyForms_Form_Part {
|
|
217 |
wp_register_script(
|
218 |
'happyforms-part-scale',
|
219 |
happyforms_get_plugin_url() . 'assets/js/frontend/scale.js',
|
220 |
-
array(),
|
221 |
);
|
222 |
|
223 |
$deps[] = 'happyforms-part-scale';
|
193 |
wp_enqueue_script(
|
194 |
'part-scale',
|
195 |
happyforms_get_plugin_url() . 'assets/js/parts/part-scale.js',
|
196 |
+
$deps, HAPPYFORMS_VERSION, true
|
|
|
|
|
197 |
);
|
198 |
}
|
199 |
|
215 |
wp_register_script(
|
216 |
'happyforms-part-scale',
|
217 |
happyforms_get_plugin_url() . 'assets/js/frontend/scale.js',
|
218 |
+
array(), HAPPYFORMS_VERSION, true
|
219 |
);
|
220 |
|
221 |
$deps[] = 'happyforms-part-scale';
|
inc/classes/parts/class-part-select.php
CHANGED
@@ -116,9 +116,7 @@ class HappyForms_Part_Select extends HappyForms_Form_Part {
|
|
116 |
wp_enqueue_script(
|
117 |
'part-select',
|
118 |
happyforms_get_plugin_url() . 'assets/js/parts/part-select.js',
|
119 |
-
$deps,
|
120 |
-
false,
|
121 |
-
true
|
122 |
);
|
123 |
}
|
124 |
|
116 |
wp_enqueue_script(
|
117 |
'part-select',
|
118 |
happyforms_get_plugin_url() . 'assets/js/parts/part-select.js',
|
119 |
+
$deps, HAPPYFORMS_VERSION, true
|
|
|
|
|
120 |
);
|
121 |
}
|
122 |
|
inc/classes/parts/class-part-single-line-text.php
CHANGED
@@ -154,9 +154,7 @@ class HappyForms_Part_SingleLineText extends HappyForms_Form_Part {
|
|
154 |
wp_enqueue_script(
|
155 |
'part-single-line-text',
|
156 |
happyforms_get_plugin_url() . 'assets/js/parts/part-single-line-text.js',
|
157 |
-
$deps,
|
158 |
-
false,
|
159 |
-
true
|
160 |
);
|
161 |
}
|
162 |
|
154 |
wp_enqueue_script(
|
155 |
'part-single-line-text',
|
156 |
happyforms_get_plugin_url() . 'assets/js/parts/part-single-line-text.js',
|
157 |
+
$deps, HAPPYFORMS_VERSION, true
|
|
|
|
|
158 |
);
|
159 |
}
|
160 |
|
inc/classes/parts/class-part-title.php
CHANGED
@@ -112,9 +112,7 @@ class HappyForms_Part_Title extends HappyForms_Form_Part {
|
|
112 |
wp_enqueue_script(
|
113 |
'part-title',
|
114 |
happyforms_get_plugin_url() . 'assets/js/parts/part-title.js',
|
115 |
-
$deps,
|
116 |
-
false,
|
117 |
-
true
|
118 |
);
|
119 |
}
|
120 |
|
112 |
wp_enqueue_script(
|
113 |
'part-title',
|
114 |
happyforms_get_plugin_url() . 'assets/js/parts/part-title.js',
|
115 |
+
$deps, HAPPYFORMS_VERSION, true
|
|
|
|
|
116 |
);
|
117 |
}
|
118 |
|
inc/classes/parts/class-part-website-url.php
CHANGED
@@ -164,9 +164,7 @@ class HappyForms_Part_WebsiteUrl extends HappyForms_Form_Part {
|
|
164 |
wp_enqueue_script(
|
165 |
'part-website-url',
|
166 |
happyforms_get_plugin_url() . 'assets/js/parts/part-website-url.js',
|
167 |
-
$deps,
|
168 |
-
false,
|
169 |
-
true
|
170 |
);
|
171 |
}
|
172 |
|
164 |
wp_enqueue_script(
|
165 |
'part-website-url',
|
166 |
happyforms_get_plugin_url() . 'assets/js/parts/part-website-url.js',
|
167 |
+
$deps, HAPPYFORMS_VERSION, true
|
|
|
|
|
168 |
);
|
169 |
}
|
170 |
|
inc/helpers/helper-activation.php
CHANGED
@@ -15,16 +15,21 @@ if ( ! function_exists( 'happyforms_first_run' ) ):
|
|
15 |
*/
|
16 |
function happyforms_first_run() {
|
17 |
require_once( happyforms_get_include_folder() . '/classes/class-tracking.php' );
|
|
|
18 |
|
19 |
$tracking = happyforms_get_tracking();
|
20 |
$status = $tracking->get_status();
|
21 |
|
22 |
if ( 0 < $status['status'] ) {
|
|
|
|
|
|
|
|
|
|
|
23 |
return;
|
24 |
}
|
25 |
|
26 |
require_once( happyforms_get_include_folder() . '/classes/class-form-part-library.php' );
|
27 |
-
require_once( happyforms_get_include_folder() . '/classes/class-form-controller.php' );
|
28 |
require_once( happyforms_get_include_folder() . '/classes/class-form-styles.php' );
|
29 |
require_once( happyforms_get_include_folder() . '/classes/class-message-controller.php' );
|
30 |
require_once( happyforms_get_include_folder() . '/helpers/helper-form-templates.php' );
|
@@ -164,6 +169,9 @@ function happyforms_first_run() {
|
|
164 |
|
165 |
// Store an option to avoid creating new forms on reactivation
|
166 |
$tracking->update_status( 1 );
|
|
|
|
|
|
|
167 |
}
|
168 |
|
169 |
endif;
|
15 |
*/
|
16 |
function happyforms_first_run() {
|
17 |
require_once( happyforms_get_include_folder() . '/classes/class-tracking.php' );
|
18 |
+
require_once( happyforms_get_include_folder() . '/classes/class-form-controller.php' );
|
19 |
|
20 |
$tracking = happyforms_get_tracking();
|
21 |
$status = $tracking->get_status();
|
22 |
|
23 |
if ( 0 < $status['status'] ) {
|
24 |
+
// Immediately register our custom post type
|
25 |
+
// and force a permalinks refresh
|
26 |
+
happyforms_get_form_controller()->register_post_type();
|
27 |
+
flush_rewrite_rules();
|
28 |
+
|
29 |
return;
|
30 |
}
|
31 |
|
32 |
require_once( happyforms_get_include_folder() . '/classes/class-form-part-library.php' );
|
|
|
33 |
require_once( happyforms_get_include_folder() . '/classes/class-form-styles.php' );
|
34 |
require_once( happyforms_get_include_folder() . '/classes/class-message-controller.php' );
|
35 |
require_once( happyforms_get_include_folder() . '/helpers/helper-form-templates.php' );
|
169 |
|
170 |
// Store an option to avoid creating new forms on reactivation
|
171 |
$tracking->update_status( 1 );
|
172 |
+
|
173 |
+
// Force a permalinks refresh
|
174 |
+
flush_rewrite_rules();
|
175 |
}
|
176 |
|
177 |
endif;
|
inc/templates/parts/frontend-date.php
CHANGED
@@ -11,34 +11,40 @@
|
|
11 |
<?php if ( $part['date_type'] === 'datetime' || $part['date_type'] === 'date' ) : ?>
|
12 |
<?php $month_value = ( 'current' === $part['default_datetime'] ) ? date( 'n' ) : happyforms_get_part_value( $part, $form, 'month' ); ?>
|
13 |
<div class="happyforms-part-date__date-input happyforms-part__select-wrap">
|
14 |
-
<
|
15 |
-
<
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
|
|
|
|
20 |
</div>
|
21 |
<?php $day_value = ( 'current' === $part['default_datetime'] ) ? date( 'j' ) : happyforms_get_part_value( $part, $form, 'day' ); ?>
|
22 |
<div class="happyforms-part-date__date-input happyforms-part__select-wrap">
|
23 |
-
<
|
24 |
-
<
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
|
|
|
|
29 |
</div>
|
30 |
<?php $year_value = ( 'current' === $part['default_datetime'] ) ? date( 'Y', $current_timestamp ) : happyforms_get_part_value( $part, $form, 'year' ); ?>
|
31 |
<div class="happyforms-part-date__date-input happyforms-part__select-wrap">
|
32 |
-
<
|
33 |
-
<
|
34 |
-
|
35 |
-
|
36 |
-
|
|
|
37 |
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
|
|
42 |
</div>
|
43 |
<?php endif; ?>
|
44 |
<?php if ( $part['date_type'] === 'datetime' || $part['date_type'] === 'time' ) : ?>
|
@@ -72,10 +78,12 @@
|
|
72 |
<?php if ( 12 == intval( $part['time_format'] ) ) : ?>
|
73 |
<?php $period_value = ( 'current' === $part['default_datetime'] ) ? date( 'A', $current_timestamp ) : happyforms_get_part_value( $part, $form, 'period' ); ?>
|
74 |
<div class="happyforms-part--date__input-wrap happyforms-part-date__time-input happyforms-part-date__time-input--period happyforms-part__select-wrap">
|
75 |
-
<
|
76 |
-
<
|
77 |
-
|
78 |
-
|
|
|
|
|
79 |
</div>
|
80 |
<?php endif; ?>
|
81 |
<?php endif; ?>
|
11 |
<?php if ( $part['date_type'] === 'datetime' || $part['date_type'] === 'date' ) : ?>
|
12 |
<?php $month_value = ( 'current' === $part['default_datetime'] ) ? date( 'n' ) : happyforms_get_part_value( $part, $form, 'month' ); ?>
|
13 |
<div class="happyforms-part-date__date-input happyforms-part__select-wrap">
|
14 |
+
<div class="happyforms-part__select-bg">
|
15 |
+
<select name="<?php happyforms_the_part_name( $part, $form ); ?>[month]"<?php if ( 1 === $part['required'] ) : ?> required aria-required="true"<?php endif; ?>>
|
16 |
+
<option value=""><?php _e( 'Month', 'happyforms' ); ?></option>
|
17 |
+
<?php for ( $i = 1; $i <= 12; $i++ ) : ?>
|
18 |
+
<option value="<?php echo $i; ?>" <?php selected( $month_value, $i ); ?>><?php echo date( 'F', mktime( 0, 0, 0, $i) ); ?></option>
|
19 |
+
<?php endfor; ?>
|
20 |
+
</select>
|
21 |
+
</div>
|
22 |
</div>
|
23 |
<?php $day_value = ( 'current' === $part['default_datetime'] ) ? date( 'j' ) : happyforms_get_part_value( $part, $form, 'day' ); ?>
|
24 |
<div class="happyforms-part-date__date-input happyforms-part__select-wrap">
|
25 |
+
<div class="happyforms-part__select-bg">
|
26 |
+
<select name="<?php happyforms_the_part_name( $part, $form ); ?>[day]"<?php if ( 1 === $part['required'] ) : ?> required aria-required="true"<?php endif; ?>>
|
27 |
+
<option value=""><?php _e( 'Day', 'happyforms' ); ?></option>
|
28 |
+
<?php for ( $i = 1; $i <= 31; $i++ ) : ?>
|
29 |
+
<option value="<?php echo $i; ?>" <?php selected( $day_value, $i ); ?>><?php echo $i; ?></option>
|
30 |
+
<?php endfor; ?>
|
31 |
+
</select>
|
32 |
+
</div>
|
33 |
</div>
|
34 |
<?php $year_value = ( 'current' === $part['default_datetime'] ) ? date( 'Y', $current_timestamp ) : happyforms_get_part_value( $part, $form, 'year' ); ?>
|
35 |
<div class="happyforms-part-date__date-input happyforms-part__select-wrap">
|
36 |
+
<div class="happyforms-part__select-bg">
|
37 |
+
<select name="<?php happyforms_the_part_name( $part, $form ); ?>[year]"<?php if ( 1 === $part['required'] ) : ?> required aria-required="true"<?php endif; ?>>
|
38 |
+
<option value=""><?php _e( 'Year', 'happyforms' ); ?></option>
|
39 |
+
<?php
|
40 |
+
$min_year = $part['min_year'];
|
41 |
+
$max_year = ( $part['max_year'] > $min_year ) ? $part['max_year'] : date('Y');
|
42 |
|
43 |
+
for ( $i = $max_year; $i >= $min_year; $i-- ) : ?>
|
44 |
+
<option value="<?php echo $i; ?>" <?php selected( $year_value, $i ); ?>><?php echo $i; ?></option>
|
45 |
+
<?php endfor; ?>
|
46 |
+
</select>
|
47 |
+
</div>
|
48 |
</div>
|
49 |
<?php endif; ?>
|
50 |
<?php if ( $part['date_type'] === 'datetime' || $part['date_type'] === 'time' ) : ?>
|
78 |
<?php if ( 12 == intval( $part['time_format'] ) ) : ?>
|
79 |
<?php $period_value = ( 'current' === $part['default_datetime'] ) ? date( 'A', $current_timestamp ) : happyforms_get_part_value( $part, $form, 'period' ); ?>
|
80 |
<div class="happyforms-part--date__input-wrap happyforms-part-date__time-input happyforms-part-date__time-input--period happyforms-part__select-wrap">
|
81 |
+
<div class="happyforms-part__select-bg">
|
82 |
+
<select name="<?php happyforms_the_part_name( $part, $form ); ?>[period]"<?php if ( 1 === $part['required'] ) : ?> required aria-required="true"<?php endif; ?>>
|
83 |
+
<option value="AM" <?php selected( $period_value, 'AM' ); ?>><?php _e( 'AM', 'happyforms' ); ?></option>
|
84 |
+
<option value="PM" <?php selected( $period_value, 'PM' ); ?>><?php _e( 'PM', 'happyforms' ); ?></option>
|
85 |
+
</select>
|
86 |
+
</div>
|
87 |
</div>
|
88 |
<?php endif; ?>
|
89 |
<?php endif; ?>
|
inc/templates/parts/frontend-select.php
CHANGED
@@ -5,15 +5,17 @@
|
|
5 |
<?php happyforms_message_notices( $form, happyforms_get_part_name( $part, $form ) ); ?>
|
6 |
<?php endif; ?>
|
7 |
<div class="happyforms-part__select-wrap">
|
8 |
-
<
|
9 |
-
<?php
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
|
|
|
|
17 |
</div>
|
18 |
<?php happyforms_print_part_description( $part ); ?>
|
19 |
<?php if ( 'happyforms-form--part-error-notices-below' === happyforms_get_form_property( $form, 'part_error_notices_location' ) || ( '' === happyforms_get_form_property( $form, 'part_error_notices_location' ) ) ) : ?>
|
5 |
<?php happyforms_message_notices( $form, happyforms_get_part_name( $part, $form ) ); ?>
|
6 |
<?php endif; ?>
|
7 |
<div class="happyforms-part__select-wrap">
|
8 |
+
<div class="happyforms-part__select-bg">
|
9 |
+
<select id="<?php happyforms_the_part_id( $part, $form ); ?>" name="<?php happyforms_the_part_name( $part, $form ); ?>" class="happyforms-part__el"<?php if ( 1 === $part['required'] ) : ?> required aria-required="true"<?php endif; ?>>
|
10 |
+
<?php foreach( $part['options'] as $option ) : ?>
|
11 |
+
<?php
|
12 |
+
$selected = selected( $option['is_default'], 1, false );
|
13 |
+
$selected = $selected ? $selected : selected( happyforms_get_part_value( $part, $form, $option['label'] ), $option['label'], false );
|
14 |
+
?>
|
15 |
+
<option id="<?php echo esc_attr( $option['id'] ); ?>" value="<?php echo esc_attr( $option['label'] ); ?>" <?php echo $selected; ?>><?php echo esc_attr( $option['label'] ); ?></option>
|
16 |
+
<?php endforeach; ?>
|
17 |
+
</select>
|
18 |
+
</div>
|
19 |
</div>
|
20 |
<?php happyforms_print_part_description( $part ); ?>
|
21 |
<?php if ( 'happyforms-form--part-error-notices-below' === happyforms_get_form_property( $form, 'part_error_notices_location' ) || ( '' === happyforms_get_form_property( $form, 'part_error_notices_location' ) ) ) : ?>
|
inc/templates/parts/frontend-title.php
CHANGED
@@ -2,12 +2,14 @@
|
|
2 |
<div class="happyforms-part-wrap">
|
3 |
<?php happyforms_the_part_label( $part, $form ); ?>
|
4 |
<div class="happyforms-part__select-wrap">
|
5 |
-
<
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
|
|
|
|
11 |
</div>
|
12 |
<?php happyforms_print_part_description( $part ); ?>
|
13 |
<?php happyforms_message_notices( $form, happyforms_get_part_name( $part, $form ) ); ?>
|
2 |
<div class="happyforms-part-wrap">
|
3 |
<?php happyforms_the_part_label( $part, $form ); ?>
|
4 |
<div class="happyforms-part__select-wrap">
|
5 |
+
<div class="happyforms-part__select-bg">
|
6 |
+
<select id="<?php happyforms_the_part_id( $part, $form ); ?>" name="<?php happyforms_the_part_name( $part, $form ); ?>" class="happyforms-part__el"<?php if ( 1 === $part['required'] ) : ?> required aria-required="true"<?php endif; ?>>
|
7 |
+
<option value="">- <?php _e( 'Select', 'happyforms' ); ?> -</option>
|
8 |
+
<?php $honorifics = $this->get_honorifics(); foreach ( $honorifics as $title ) : ?>
|
9 |
+
<option value="<?php echo $title; ?>" <?php selected( happyforms_get_part_value( $part, $form ), $title ); ?>><?php echo $title; ?></option>
|
10 |
+
<?php endforeach; ?>
|
11 |
+
</select>
|
12 |
+
</div>
|
13 |
</div>
|
14 |
<?php happyforms_print_part_description( $part ); ?>
|
15 |
<?php happyforms_message_notices( $form, happyforms_get_part_name( $part, $form ) ); ?>
|
languages/happyforms.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the same license as the HappyForms package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: HappyForms 1.4.
|
6 |
"Report-Msgid-Bugs-To: https://thethemefoundry.com/support/\n"
|
7 |
-
"POT-Creation-Date: 2018-06-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -553,15 +553,15 @@ msgstr ""
|
|
553 |
msgid "Welcome"
|
554 |
msgstr ""
|
555 |
|
556 |
-
#: inc/classes/class-happyforms-plugin.php:
|
557 |
msgid "HappyForm"
|
558 |
msgstr ""
|
559 |
|
560 |
-
#: inc/classes/class-happyforms-plugin.php:
|
561 |
msgid "New HappyForm"
|
562 |
msgstr ""
|
563 |
|
564 |
-
#: inc/classes/class-happyforms-plugin.php:
|
565 |
msgid "Add HappyForms"
|
566 |
msgstr ""
|
567 |
|
@@ -843,19 +843,19 @@ msgid "For geographical locations. Includes Google Maps intergration."
|
|
843 |
msgstr ""
|
844 |
|
845 |
#: inc/classes/parts/class-part-address.php:127
|
846 |
-
#: inc/classes/parts/class-part-checkbox.php:
|
847 |
#: inc/classes/parts/class-part-date.php:130
|
848 |
#: inc/classes/parts/class-part-email.php:109
|
849 |
#: inc/classes/parts/class-part-legal.php:88
|
850 |
#: inc/classes/parts/class-part-multi-line-text.php:99
|
851 |
#: inc/classes/parts/class-part-number.php:134
|
852 |
#: inc/classes/parts/class-part-phone.php:118
|
853 |
-
#: inc/classes/parts/class-part-radio.php:
|
854 |
#: inc/classes/parts/class-part-rating.php:100
|
855 |
#: inc/classes/parts/class-part-scale.php:122
|
856 |
-
#: inc/classes/parts/class-part-select.php:
|
857 |
#: inc/classes/parts/class-part-single-line-text.php:99
|
858 |
-
#: inc/classes/parts/class-part-title.php:
|
859 |
#: inc/classes/parts/class-part-website-url.php:99
|
860 |
msgid "This field is required."
|
861 |
msgstr ""
|
@@ -876,7 +876,7 @@ msgstr ""
|
|
876 |
msgid "Options"
|
877 |
msgstr ""
|
878 |
|
879 |
-
#: inc/classes/parts/class-part-checkbox.php:
|
880 |
msgid "Checkbox values are not valid."
|
881 |
msgstr ""
|
882 |
|
@@ -1005,7 +1005,7 @@ msgstr ""
|
|
1005 |
msgid "For radio buttons allowing one selection."
|
1006 |
msgstr ""
|
1007 |
|
1008 |
-
#: inc/classes/parts/class-part-radio.php:
|
1009 |
msgid "Radio values are not valid."
|
1010 |
msgstr ""
|
1011 |
|
@@ -1044,7 +1044,7 @@ msgstr ""
|
|
1044 |
msgid "For selecting one option from a long list. Default value adjustable."
|
1045 |
msgstr ""
|
1046 |
|
1047 |
-
#: inc/classes/parts/class-part-select.php:
|
1048 |
msgid "Select values are not valid."
|
1049 |
msgstr ""
|
1050 |
|
@@ -1084,7 +1084,7 @@ msgstr ""
|
|
1084 |
msgid "Dr."
|
1085 |
msgstr ""
|
1086 |
|
1087 |
-
#: inc/classes/parts/class-part-title.php:
|
1088 |
msgid "Values is not valid."
|
1089 |
msgstr ""
|
1090 |
|
@@ -1101,51 +1101,51 @@ msgstr ""
|
|
1101 |
msgid "Not a valid URL."
|
1102 |
msgstr ""
|
1103 |
|
1104 |
-
#: inc/helpers/helper-activation.php:
|
1105 |
msgid "Sample Contact Form"
|
1106 |
msgstr ""
|
1107 |
|
1108 |
-
#: inc/helpers/helper-activation.php:
|
1109 |
msgid "First name"
|
1110 |
msgstr ""
|
1111 |
|
1112 |
-
#: inc/helpers/helper-activation.php:
|
1113 |
msgid "Last name"
|
1114 |
msgstr ""
|
1115 |
|
1116 |
-
#: inc/helpers/helper-activation.php:
|
1117 |
msgid "What's your reason for contacting us?"
|
1118 |
msgstr ""
|
1119 |
|
1120 |
-
#: inc/helpers/helper-activation.php:
|
1121 |
msgid "Need technical help"
|
1122 |
msgstr ""
|
1123 |
|
1124 |
-
#: inc/helpers/helper-activation.php:
|
1125 |
msgid "Want to suggest a feature"
|
1126 |
msgstr ""
|
1127 |
|
1128 |
-
#: inc/helpers/helper-activation.php:
|
1129 |
msgid "Asking about my account"
|
1130 |
msgstr ""
|
1131 |
|
1132 |
-
#: inc/helpers/helper-activation.php:
|
1133 |
msgid "Age"
|
1134 |
msgstr ""
|
1135 |
|
1136 |
-
#: inc/helpers/helper-activation.php:
|
1137 |
msgid "Your message"
|
1138 |
msgstr ""
|
1139 |
|
1140 |
-
#: inc/helpers/helper-activation.php:
|
1141 |
msgid "It would be great if I could use Google ReCaptcha instead of Honeypot."
|
1142 |
msgstr ""
|
1143 |
|
1144 |
-
#: inc/helpers/helper-activation.php:
|
1145 |
msgid "How do I embed a HappyForm in my sidebar?"
|
1146 |
msgstr ""
|
1147 |
|
1148 |
-
#: inc/helpers/helper-activation.php:
|
1149 |
msgid "How can I access my premium upgrade credentials?"
|
1150 |
msgstr ""
|
1151 |
|
@@ -2799,7 +2799,7 @@ msgid "Pre-format phone number region"
|
|
2799 |
msgstr ""
|
2800 |
|
2801 |
#: inc/templates/parts/customize-phone.php:50
|
2802 |
-
#: inc/templates/parts/frontend-title.php:
|
2803 |
msgid "Select"
|
2804 |
msgstr ""
|
2805 |
|
@@ -2833,23 +2833,23 @@ msgstr ""
|
|
2833 |
msgid "City"
|
2834 |
msgstr ""
|
2835 |
|
2836 |
-
#: inc/templates/parts/frontend-date.php:
|
2837 |
msgid "Month"
|
2838 |
msgstr ""
|
2839 |
|
2840 |
-
#: inc/templates/parts/frontend-date.php:
|
2841 |
msgid "Day"
|
2842 |
msgstr ""
|
2843 |
|
2844 |
-
#: inc/templates/parts/frontend-date.php:
|
2845 |
msgid "Year"
|
2846 |
msgstr ""
|
2847 |
|
2848 |
-
#: inc/templates/parts/frontend-date.php:
|
2849 |
msgid "AM"
|
2850 |
msgstr ""
|
2851 |
|
2852 |
-
#: inc/templates/parts/frontend-date.php:
|
2853 |
msgid "PM"
|
2854 |
msgstr ""
|
2855 |
|
2 |
# This file is distributed under the same license as the HappyForms package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: HappyForms 1.4.6\n"
|
6 |
"Report-Msgid-Bugs-To: https://thethemefoundry.com/support/\n"
|
7 |
+
"POT-Creation-Date: 2018-06-07 09:06:05+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
553 |
msgid "Welcome"
|
554 |
msgstr ""
|
555 |
|
556 |
+
#: inc/classes/class-happyforms-plugin.php:270
|
557 |
msgid "HappyForm"
|
558 |
msgstr ""
|
559 |
|
560 |
+
#: inc/classes/class-happyforms-plugin.php:274
|
561 |
msgid "New HappyForm"
|
562 |
msgstr ""
|
563 |
|
564 |
+
#: inc/classes/class-happyforms-plugin.php:398
|
565 |
msgid "Add HappyForms"
|
566 |
msgstr ""
|
567 |
|
843 |
msgstr ""
|
844 |
|
845 |
#: inc/classes/parts/class-part-address.php:127
|
846 |
+
#: inc/classes/parts/class-part-checkbox.php:133
|
847 |
#: inc/classes/parts/class-part-date.php:130
|
848 |
#: inc/classes/parts/class-part-email.php:109
|
849 |
#: inc/classes/parts/class-part-legal.php:88
|
850 |
#: inc/classes/parts/class-part-multi-line-text.php:99
|
851 |
#: inc/classes/parts/class-part-number.php:134
|
852 |
#: inc/classes/parts/class-part-phone.php:118
|
853 |
+
#: inc/classes/parts/class-part-radio.php:142
|
854 |
#: inc/classes/parts/class-part-rating.php:100
|
855 |
#: inc/classes/parts/class-part-scale.php:122
|
856 |
+
#: inc/classes/parts/class-part-select.php:134
|
857 |
#: inc/classes/parts/class-part-single-line-text.php:99
|
858 |
+
#: inc/classes/parts/class-part-title.php:130
|
859 |
#: inc/classes/parts/class-part-website-url.php:99
|
860 |
msgid "This field is required."
|
861 |
msgstr ""
|
876 |
msgid "Options"
|
877 |
msgstr ""
|
878 |
|
879 |
+
#: inc/classes/parts/class-part-checkbox.php:137
|
880 |
msgid "Checkbox values are not valid."
|
881 |
msgstr ""
|
882 |
|
1005 |
msgid "For radio buttons allowing one selection."
|
1006 |
msgstr ""
|
1007 |
|
1008 |
+
#: inc/classes/parts/class-part-radio.php:146
|
1009 |
msgid "Radio values are not valid."
|
1010 |
msgstr ""
|
1011 |
|
1044 |
msgid "For selecting one option from a long list. Default value adjustable."
|
1045 |
msgstr ""
|
1046 |
|
1047 |
+
#: inc/classes/parts/class-part-select.php:138
|
1048 |
msgid "Select values are not valid."
|
1049 |
msgstr ""
|
1050 |
|
1084 |
msgid "Dr."
|
1085 |
msgstr ""
|
1086 |
|
1087 |
+
#: inc/classes/parts/class-part-title.php:134
|
1088 |
msgid "Values is not valid."
|
1089 |
msgstr ""
|
1090 |
|
1101 |
msgid "Not a valid URL."
|
1102 |
msgstr ""
|
1103 |
|
1104 |
+
#: inc/helpers/helper-activation.php:48
|
1105 |
msgid "Sample Contact Form"
|
1106 |
msgstr ""
|
1107 |
|
1108 |
+
#: inc/helpers/helper-activation.php:59
|
1109 |
msgid "First name"
|
1110 |
msgstr ""
|
1111 |
|
1112 |
+
#: inc/helpers/helper-activation.php:64
|
1113 |
msgid "Last name"
|
1114 |
msgstr ""
|
1115 |
|
1116 |
+
#: inc/helpers/helper-activation.php:69
|
1117 |
msgid "What's your reason for contacting us?"
|
1118 |
msgstr ""
|
1119 |
|
1120 |
+
#: inc/helpers/helper-activation.php:72
|
1121 |
msgid "Need technical help"
|
1122 |
msgstr ""
|
1123 |
|
1124 |
+
#: inc/helpers/helper-activation.php:75
|
1125 |
msgid "Want to suggest a feature"
|
1126 |
msgstr ""
|
1127 |
|
1128 |
+
#: inc/helpers/helper-activation.php:78
|
1129 |
msgid "Asking about my account"
|
1130 |
msgstr ""
|
1131 |
|
1132 |
+
#: inc/helpers/helper-activation.php:84
|
1133 |
msgid "Age"
|
1134 |
msgstr ""
|
1135 |
|
1136 |
+
#: inc/helpers/helper-activation.php:89
|
1137 |
msgid "Your message"
|
1138 |
msgstr ""
|
1139 |
|
1140 |
+
#: inc/helpers/helper-activation.php:121
|
1141 |
msgid "It would be great if I could use Google ReCaptcha instead of Honeypot."
|
1142 |
msgstr ""
|
1143 |
|
1144 |
+
#: inc/helpers/helper-activation.php:128
|
1145 |
msgid "How do I embed a HappyForm in my sidebar?"
|
1146 |
msgstr ""
|
1147 |
|
1148 |
+
#: inc/helpers/helper-activation.php:135
|
1149 |
msgid "How can I access my premium upgrade credentials?"
|
1150 |
msgstr ""
|
1151 |
|
2799 |
msgstr ""
|
2800 |
|
2801 |
#: inc/templates/parts/customize-phone.php:50
|
2802 |
+
#: inc/templates/parts/frontend-title.php:7
|
2803 |
msgid "Select"
|
2804 |
msgstr ""
|
2805 |
|
2833 |
msgid "City"
|
2834 |
msgstr ""
|
2835 |
|
2836 |
+
#: inc/templates/parts/frontend-date.php:16
|
2837 |
msgid "Month"
|
2838 |
msgstr ""
|
2839 |
|
2840 |
+
#: inc/templates/parts/frontend-date.php:27
|
2841 |
msgid "Day"
|
2842 |
msgstr ""
|
2843 |
|
2844 |
+
#: inc/templates/parts/frontend-date.php:38
|
2845 |
msgid "Year"
|
2846 |
msgstr ""
|
2847 |
|
2848 |
+
#: inc/templates/parts/frontend-date.php:83
|
2849 |
msgid "AM"
|
2850 |
msgstr ""
|
2851 |
|
2852 |
+
#: inc/templates/parts/frontend-date.php:84
|
2853 |
msgid "PM"
|
2854 |
msgstr ""
|
2855 |
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: contact, contact form, email, feedback form, form, form builder, custom fo
|
|
5 |
Requires at least: 4.8
|
6 |
Tested up to: 4.9.6
|
7 |
Requires PHP: 5.2.4
|
8 |
-
Stable tag: 1.4.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -74,6 +74,11 @@ Absolutely! HappyForms gets out of the way and is designed to work with any them
|
|
74 |
|
75 |
== Changelog ==
|
76 |
|
|
|
|
|
|
|
|
|
|
|
77 |
= 1.4.5 =
|
78 |
* Improvement: Submit button state is now connected to reCaptcha result and remains disabled until reCaptcha is filled.
|
79 |
* Improvement: Better compatibility with various themes.
|
@@ -149,6 +154,9 @@ Absolutely! HappyForms gets out of the way and is designed to work with any them
|
|
149 |
|
150 |
== Upgrade Notice ==
|
151 |
|
|
|
|
|
|
|
152 |
= 1.4.5 =
|
153 |
* Improvements and bug fixes.
|
154 |
|
5 |
Requires at least: 4.8
|
6 |
Tested up to: 4.9.6
|
7 |
Requires PHP: 5.2.4
|
8 |
+
Stable tag: 1.4.6
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
74 |
|
75 |
== Changelog ==
|
76 |
|
77 |
+
= 1.4.6 =
|
78 |
+
* Improvement: scripts and styles are now versioned to avoid cache problems after an update.
|
79 |
+
* Bug fix: Permalinks are now flushed upon activation to avoid 404 errors.
|
80 |
+
* Bug fix: Dropdown arrows were not clickable and didn't reflect part value color set in Style step.
|
81 |
+
|
82 |
= 1.4.5 =
|
83 |
* Improvement: Submit button state is now connected to reCaptcha result and remains disabled until reCaptcha is filled.
|
84 |
* Improvement: Better compatibility with various themes.
|
154 |
|
155 |
== Upgrade Notice ==
|
156 |
|
157 |
+
= 1.4.6 =
|
158 |
+
* Improvements and bug fixes.
|
159 |
+
|
160 |
= 1.4.5 =
|
161 |
* Improvements and bug fixes.
|
162 |
|