Version Description
- 06/08/2020 =
- Added: EA Login | Register Widget
- Removed: Upsell Notices
- Added: Compatibility with WooCommerce 4.3.1
- Fixed: SSL Issue
- Few minor bugfix and improvements
Download this release
Release Info
| Developer | re_enter_rupok |
| Plugin | |
| Version | 4.2.0 |
| Comparing to | |
| See all releases | |
Code changes from version 4.1.2 to 4.2.0
- assets/admin/css/eaicon.css +3 -0
- assets/admin/css/editor.css +9 -0
- assets/admin/fonts/eaicon.eot +0 -0
- assets/admin/fonts/eaicon.svg +1 -0
- assets/admin/fonts/eaicon.ttf +0 -0
- assets/admin/fonts/eaicon.woff +0 -0
- assets/admin/js/admin.js +1 -0
- assets/front-end/css/view/login-register.css +427 -0
- assets/front-end/css/view/login-register.min.css +1 -0
- assets/front-end/js/edit/advanced-data-table.min.js +1 -1
- assets/front-end/js/edit/promotion.min.js +1 -1
- assets/front-end/js/view/general.min.js +1 -1
- assets/front-end/js/view/login-register.js +100 -0
- assets/front-end/js/view/login-register.min.js +1 -0
- assets/front-end/js/view/post-grid.min.js +1 -1
- assets/front-end/js/view/price-table.min.js +1 -1
- assets/front-end/js/view/progress-bar.min.js +1 -1
- assets/front-end/js/view/reading-progress.min.js +1 -1
- assets/front-end/js/view/sticky-video.min.js +1 -1
- assets/front-end/js/view/table-of-content.min.js +1 -1
- assets/front-end/js/view/twitter-feed.min.js +1 -1
- assets/front-end/js/view/typeform.min.js +1 -1
- assets/front-end/js/view/woo-checkout.min.js +1 -1
- config.php +354 -327
- essential_adons_elementor.php +4 -4
- includes/Classes/Bootstrap.php +26 -13
- includes/Elements/Login_Register.php +3569 -0
- includes/Elements/Woocommerce_Review.php +73 -0
- includes/Traits/Admin.php +14 -25
- includes/Traits/Core.php +10 -7
- includes/Traits/Login_Registration.php +612 -0
- includes/Traits/Shared.php +3 -1
- includes/templates/admin/elements.php +22 -8
- readme.txt +9 -2
assets/admin/css/eaicon.css
CHANGED
|
@@ -23,6 +23,9 @@
|
|
| 23 |
speak: none;
|
| 24 |
}
|
| 25 |
|
|
|
|
|
|
|
|
|
|
| 26 |
.eaicon-login:before {
|
| 27 |
content: "\e900";
|
| 28 |
}
|
| 23 |
speak: none;
|
| 24 |
}
|
| 25 |
|
| 26 |
+
.eaicon-reviewx:before {
|
| 27 |
+
content: "\e951";
|
| 28 |
+
}
|
| 29 |
.eaicon-login:before {
|
| 30 |
content: "\e900";
|
| 31 |
}
|
assets/admin/css/editor.css
CHANGED
|
@@ -135,3 +135,12 @@
|
|
| 135 |
.elementor-control-ea_woo_checkout_notices_border_color {
|
| 136 |
display: none;
|
| 137 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 135 |
.elementor-control-ea_woo_checkout_notices_border_color {
|
| 136 |
display: none;
|
| 137 |
}
|
| 138 |
+
/*hide popup reset button for login register general control as they are used only for grouping controls*/
|
| 139 |
+
.elementor-control-gen_lgn_content_po_toggle .elementor-control-popover-toggle-reset-label,
|
| 140 |
+
.elementor-control-gen_reg_content_po_toggle .elementor-control-popover-toggle-reset-label {
|
| 141 |
+
display: none !important;
|
| 142 |
+
}
|
| 143 |
+
.elementor-control-gen_lgn_content_po_toggle .elementor-control-popover-toggle-toggle:checked + .elementor-control-popover-toggle-toggle-label,
|
| 144 |
+
.elementor-control-gen_reg_content_po_toggle .elementor-control-popover-toggle-toggle:checked + .elementor-control-popover-toggle-toggle-label {
|
| 145 |
+
color: inherit !important;
|
| 146 |
+
}
|
assets/admin/fonts/eaicon.eot
CHANGED
|
Binary file
|
assets/admin/fonts/eaicon.svg
CHANGED
|
@@ -103,4 +103,5 @@
|
|
| 103 |
<glyph unicode="" glyph-name="wpforms" data-tags="wpforms" horiz-adv-x="965" d="M639.269 648.411h141.897c11.703 0 19.017 7.314 19.017 19.017s-7.314 19.017-19.017 19.017h-141.897c-10.24 0-16.091-5.851-19.017-14.629-1.463-1.463-1.463-4.389-1.463-7.314 1.463-8.777 8.777-16.091 20.48-16.091zM896.731 929.28h-830.903c-35.109 0-65.829-26.331-65.829-65.829v-830.903c0-35.109 30.72-65.829 65.829-65.829h830.903c35.109 0 65.829 30.72 65.829 65.829v830.903c0 39.497-27.794 65.829-65.829 65.829zM35.109 32.549v734.354h893.806c-1.463 0-1.463-734.354-1.463-734.354 0-16.091-16.091-30.72-30.72-30.72h-830.903c-16.091 0-30.72 16.091-30.72 30.72zM896.731 894.171c16.091 0 30.72-16.091 30.72-30.72v-61.44h-892.343v61.44c0 16.091 16.091 30.72 30.72 30.72h830.903zM757.76 478.72h-550.034c-19.017 0-35.109-16.091-35.109-35.109v-193.097c2.926-13.166 10.24-23.406 19.017-29.257 4.389-2.926 10.24-4.389 16.091-4.389h554.423c19.017 0 30.72 16.091 30.72 30.72v196.023c0 19.017-16.091 35.109-35.109 35.109zM212.114 440.686h545.646v-188.709h-545.646v188.709zM84.846 829.806h16.091c11.703 0 19.017 7.314 19.017 19.017 0 16.091-11.703 19.017-20.48 19.017h-14.629c-11.703 0-19.017-7.314-19.017-19.017s7.314-19.017 19.017-19.017zM160.914 829.806h16.091c11.703 0 19.017 7.314 19.017 19.017s-7.314 19.017-19.017 19.017h-16.091c-11.703 0-19.017-7.314-19.017-19.017s7.314-19.017 19.017-19.017zM241.371 829.806h16.091c11.703 0 19.017 7.314 19.017 19.017s-7.314 19.017-19.017 19.017h-16.091c-11.703 0-19.017-7.314-19.017-19.017s7.314-19.017 19.017-19.017zM181.394 652.8c2.926-2.926 7.314-4.389 11.703-4.389h124.343c1.463 0 2.926 0 4.389 1.463 8.777 1.463 13.166 8.777 13.166 17.554 0 11.703-7.314 19.017-19.017 19.017h-122.88c-11.703 0-19.017-7.314-19.017-19.017 1.463-5.851 4.389-10.24 7.314-14.629zM403.749 648.411h143.36c1.463 0 2.926 0 4.389 1.463 8.777 1.463 13.166 8.777 13.166 17.554 0 11.703-7.314 19.017-19.017 19.017h-141.897c-11.703 0-19.017-7.314-19.017-19.017s7.314-19.017 19.017-19.017zM754.834 132.023h-551.497c-11.703 0-19.017-7.314-19.017-19.017s7.314-19.017 19.017-19.017h550.034c11.703 0 19.017 7.314 19.017 19.017s-5.851 19.017-17.554 19.017zM785.554 582.583h-592.457c-11.703 0-19.017-7.314-19.017-19.017 1.463-4.389 2.926-7.314 4.389-8.777 2.926-5.851 8.777-11.703 14.629-11.703h589.531c2.926 0 4.389 1.463 7.314 1.463 8.777 1.463 14.629 8.777 14.629 19.017 0 11.703-7.314 19.017-19.017 19.017z" />
|
| 104 |
<glyph unicode="" glyph-name="woo-checkout" data-tags="woo-checkout" horiz-adv-x="1164" d="M472.436 182.691c-67.491 0-123.345-55.855-123.345-123.345s55.855-123.345 123.345-123.345 123.345 55.855 123.345 123.345c0 67.491-55.855 123.345-123.345 123.345zM472.436 5.818c-30.255 0-53.527 23.273-53.527 53.527s23.273 53.527 53.527 53.527c30.255 0 53.527-23.273 53.527-53.527s-23.273-53.527-53.527-53.527zM907.636 182.691c-67.491 0-123.345-55.855-123.345-123.345s55.855-123.345 123.345-123.345c67.491 0 123.345 55.855 123.345 123.345s-55.855 123.345-123.345 123.345zM907.636 5.818c-30.255 0-53.527 23.273-53.527 53.527s23.273 53.527 53.527 53.527c30.255 0 53.527-23.273 53.527-53.527s-23.273-53.527-53.527-53.527zM1154.327 778.473c-6.982 9.309-16.291 13.964-27.927 13.964h-844.8l-37.236 141.964c-2.327 13.964-16.291 25.6-32.582 25.6h-172.218c-20.945 0-34.909-16.291-34.909-34.909s13.964-34.909 34.909-34.909h146.618l167.564-642.327c4.655-16.291 18.618-25.6 32.582-25.6h609.745c16.291 0 30.255 11.636 32.582 25.6l130.327 502.691c2.327 9.309 0 20.945-4.655 27.927zM968.145 292.073h-556.218l-111.709 430.545h781.964l-114.036-430.545zM870.4 645.818c11.636-11.636 11.636-32.582 0-44.218l-209.455-209.455c-11.636-11.636-32.582-11.636-44.218 0l-100.073 100.073c-11.636 11.636-11.636 32.582 0 44.218s32.582 11.636 44.218 0l76.8-76.8 186.182 186.182c13.964 11.636 32.582 11.636 46.545 0v0z" />
|
| 105 |
<glyph unicode="" glyph-name="typeform" data-tags="typeform" d="M954.182 960h-884.364c-37.236 0-69.818-32.582-69.818-69.818v-884.364c0-37.236 32.582-69.818 69.818-69.818h884.364c37.236 0 69.818 32.582 69.818 69.818v884.364c0 40.339-29.479 69.818-69.818 69.818zM986.764 823.467c0 0 0 0 0-4.655v-809.891c0-17.067-17.067-32.582-32.582-32.582h-884.364c-17.067 0-32.582 17.067-32.582 32.582 0 1.552 0 814.545 0 814.545v69.818c0 17.067 17.067 32.582 32.582 32.582h884.364c17.067 0 32.582-17.067 32.582-32.582v-69.818zM800.582 506.958h-595.782c-20.17 0-37.236-17.067-37.236-37.236v-204.8c0-24.824 17.067-37.236 37.236-37.236h597.333c20.17 0 37.236 17.067 37.236 37.236v204.8c-1.552 20.17-18.618 37.236-38.788 37.236zM797.479 266.473h-592.679v201.697h594.23v-201.697zM169.115 717.964c-1.552-12.412 7.758-20.17 20.17-20.17h265.309c12.412 0 20.17 7.758 20.17 20.17s-7.758 20.17-20.17 20.17h-265.309c-12.412 0-20.17-7.758-20.17-20.17zM564.752 697.794h246.691c12.412 0 20.17 7.758 20.17 20.17s-7.758 20.17-20.17 20.17h-246.691c-12.412 0-20.17-7.758-20.17-20.17s7.758-20.17 20.17-20.17zM380.121 148.558h-183.079c-12.412 0-20.17-7.758-20.17-20.17s7.758-20.17 20.17-20.17h184.63c12.412 0 20.17 7.758 20.17 20.17s-9.309 20.17-21.721 20.17zM817.648 626.424h-628.364c-12.412 0-20.17-7.758-20.17-20.17s7.758-20.17 20.17-20.17h629.915c12.412 0 20.17 7.758 20.17 20.17-1.552 12.412-9.309 20.17-21.721 20.17zM99.297 887.079v0c-10.861 0-18.618-6.206-18.618-18.618s7.758-17.067 18.618-17.067v0c10.861 0 18.618 6.206 18.618 18.618s-7.758 17.067-18.618 17.067zM167.564 851.394c0 0 0 0 0 0s0 0 0 0v0zM167.564 887.079c0 0 0 0 0 0s0 0 0 0v0zM186.182 868.461c0 10.861-6.206 18.618-17.067 18.618s-17.067-6.206-17.067-18.618c0-10.861 6.206-18.618 17.067-18.618 9.309 1.552 17.067 7.758 17.067 18.618zM234.279 851.394c10.861 0 18.618 6.206 18.618 18.618 0 10.861-6.206 18.618-18.618 18.618-10.861 0-18.618-6.206-18.618-18.618s7.758-18.618 18.618-18.618zM234.279 851.394v0 0zM234.279 887.079v0 0z" />
|
|
|
|
| 106 |
</font></defs></svg>
|
| 103 |
<glyph unicode="" glyph-name="wpforms" data-tags="wpforms" horiz-adv-x="965" d="M639.269 648.411h141.897c11.703 0 19.017 7.314 19.017 19.017s-7.314 19.017-19.017 19.017h-141.897c-10.24 0-16.091-5.851-19.017-14.629-1.463-1.463-1.463-4.389-1.463-7.314 1.463-8.777 8.777-16.091 20.48-16.091zM896.731 929.28h-830.903c-35.109 0-65.829-26.331-65.829-65.829v-830.903c0-35.109 30.72-65.829 65.829-65.829h830.903c35.109 0 65.829 30.72 65.829 65.829v830.903c0 39.497-27.794 65.829-65.829 65.829zM35.109 32.549v734.354h893.806c-1.463 0-1.463-734.354-1.463-734.354 0-16.091-16.091-30.72-30.72-30.72h-830.903c-16.091 0-30.72 16.091-30.72 30.72zM896.731 894.171c16.091 0 30.72-16.091 30.72-30.72v-61.44h-892.343v61.44c0 16.091 16.091 30.72 30.72 30.72h830.903zM757.76 478.72h-550.034c-19.017 0-35.109-16.091-35.109-35.109v-193.097c2.926-13.166 10.24-23.406 19.017-29.257 4.389-2.926 10.24-4.389 16.091-4.389h554.423c19.017 0 30.72 16.091 30.72 30.72v196.023c0 19.017-16.091 35.109-35.109 35.109zM212.114 440.686h545.646v-188.709h-545.646v188.709zM84.846 829.806h16.091c11.703 0 19.017 7.314 19.017 19.017 0 16.091-11.703 19.017-20.48 19.017h-14.629c-11.703 0-19.017-7.314-19.017-19.017s7.314-19.017 19.017-19.017zM160.914 829.806h16.091c11.703 0 19.017 7.314 19.017 19.017s-7.314 19.017-19.017 19.017h-16.091c-11.703 0-19.017-7.314-19.017-19.017s7.314-19.017 19.017-19.017zM241.371 829.806h16.091c11.703 0 19.017 7.314 19.017 19.017s-7.314 19.017-19.017 19.017h-16.091c-11.703 0-19.017-7.314-19.017-19.017s7.314-19.017 19.017-19.017zM181.394 652.8c2.926-2.926 7.314-4.389 11.703-4.389h124.343c1.463 0 2.926 0 4.389 1.463 8.777 1.463 13.166 8.777 13.166 17.554 0 11.703-7.314 19.017-19.017 19.017h-122.88c-11.703 0-19.017-7.314-19.017-19.017 1.463-5.851 4.389-10.24 7.314-14.629zM403.749 648.411h143.36c1.463 0 2.926 0 4.389 1.463 8.777 1.463 13.166 8.777 13.166 17.554 0 11.703-7.314 19.017-19.017 19.017h-141.897c-11.703 0-19.017-7.314-19.017-19.017s7.314-19.017 19.017-19.017zM754.834 132.023h-551.497c-11.703 0-19.017-7.314-19.017-19.017s7.314-19.017 19.017-19.017h550.034c11.703 0 19.017 7.314 19.017 19.017s-5.851 19.017-17.554 19.017zM785.554 582.583h-592.457c-11.703 0-19.017-7.314-19.017-19.017 1.463-4.389 2.926-7.314 4.389-8.777 2.926-5.851 8.777-11.703 14.629-11.703h589.531c2.926 0 4.389 1.463 7.314 1.463 8.777 1.463 14.629 8.777 14.629 19.017 0 11.703-7.314 19.017-19.017 19.017z" />
|
| 104 |
<glyph unicode="" glyph-name="woo-checkout" data-tags="woo-checkout" horiz-adv-x="1164" d="M472.436 182.691c-67.491 0-123.345-55.855-123.345-123.345s55.855-123.345 123.345-123.345 123.345 55.855 123.345 123.345c0 67.491-55.855 123.345-123.345 123.345zM472.436 5.818c-30.255 0-53.527 23.273-53.527 53.527s23.273 53.527 53.527 53.527c30.255 0 53.527-23.273 53.527-53.527s-23.273-53.527-53.527-53.527zM907.636 182.691c-67.491 0-123.345-55.855-123.345-123.345s55.855-123.345 123.345-123.345c67.491 0 123.345 55.855 123.345 123.345s-55.855 123.345-123.345 123.345zM907.636 5.818c-30.255 0-53.527 23.273-53.527 53.527s23.273 53.527 53.527 53.527c30.255 0 53.527-23.273 53.527-53.527s-23.273-53.527-53.527-53.527zM1154.327 778.473c-6.982 9.309-16.291 13.964-27.927 13.964h-844.8l-37.236 141.964c-2.327 13.964-16.291 25.6-32.582 25.6h-172.218c-20.945 0-34.909-16.291-34.909-34.909s13.964-34.909 34.909-34.909h146.618l167.564-642.327c4.655-16.291 18.618-25.6 32.582-25.6h609.745c16.291 0 30.255 11.636 32.582 25.6l130.327 502.691c2.327 9.309 0 20.945-4.655 27.927zM968.145 292.073h-556.218l-111.709 430.545h781.964l-114.036-430.545zM870.4 645.818c11.636-11.636 11.636-32.582 0-44.218l-209.455-209.455c-11.636-11.636-32.582-11.636-44.218 0l-100.073 100.073c-11.636 11.636-11.636 32.582 0 44.218s32.582 11.636 44.218 0l76.8-76.8 186.182 186.182c13.964 11.636 32.582 11.636 46.545 0v0z" />
|
| 105 |
<glyph unicode="" glyph-name="typeform" data-tags="typeform" d="M954.182 960h-884.364c-37.236 0-69.818-32.582-69.818-69.818v-884.364c0-37.236 32.582-69.818 69.818-69.818h884.364c37.236 0 69.818 32.582 69.818 69.818v884.364c0 40.339-29.479 69.818-69.818 69.818zM986.764 823.467c0 0 0 0 0-4.655v-809.891c0-17.067-17.067-32.582-32.582-32.582h-884.364c-17.067 0-32.582 17.067-32.582 32.582 0 1.552 0 814.545 0 814.545v69.818c0 17.067 17.067 32.582 32.582 32.582h884.364c17.067 0 32.582-17.067 32.582-32.582v-69.818zM800.582 506.958h-595.782c-20.17 0-37.236-17.067-37.236-37.236v-204.8c0-24.824 17.067-37.236 37.236-37.236h597.333c20.17 0 37.236 17.067 37.236 37.236v204.8c-1.552 20.17-18.618 37.236-38.788 37.236zM797.479 266.473h-592.679v201.697h594.23v-201.697zM169.115 717.964c-1.552-12.412 7.758-20.17 20.17-20.17h265.309c12.412 0 20.17 7.758 20.17 20.17s-7.758 20.17-20.17 20.17h-265.309c-12.412 0-20.17-7.758-20.17-20.17zM564.752 697.794h246.691c12.412 0 20.17 7.758 20.17 20.17s-7.758 20.17-20.17 20.17h-246.691c-12.412 0-20.17-7.758-20.17-20.17s7.758-20.17 20.17-20.17zM380.121 148.558h-183.079c-12.412 0-20.17-7.758-20.17-20.17s7.758-20.17 20.17-20.17h184.63c12.412 0 20.17 7.758 20.17 20.17s-9.309 20.17-21.721 20.17zM817.648 626.424h-628.364c-12.412 0-20.17-7.758-20.17-20.17s7.758-20.17 20.17-20.17h629.915c12.412 0 20.17 7.758 20.17 20.17-1.552 12.412-9.309 20.17-21.721 20.17zM99.297 887.079v0c-10.861 0-18.618-6.206-18.618-18.618s7.758-17.067 18.618-17.067v0c10.861 0 18.618 6.206 18.618 18.618s-7.758 17.067-18.618 17.067zM167.564 851.394c0 0 0 0 0 0s0 0 0 0v0zM167.564 887.079c0 0 0 0 0 0s0 0 0 0v0zM186.182 868.461c0 10.861-6.206 18.618-17.067 18.618s-17.067-6.206-17.067-18.618c0-10.861 6.206-18.618 17.067-18.618 9.309 1.552 17.067 7.758 17.067 18.618zM234.279 851.394c10.861 0 18.618 6.206 18.618 18.618 0 10.861-6.206 18.618-18.618 18.618-10.861 0-18.618-6.206-18.618-18.618s7.758-18.618 18.618-18.618zM234.279 851.394v0 0zM234.279 887.079v0 0z" />
|
| 106 |
+
<glyph unicode="" glyph-name="reviewx" data-tags="reviewx" horiz-adv-x="884" d="M372.364 94.255l-16.291 2.327c-169.891 20.945-307.2 144.291-344.436 311.855-25.6 109.382-6.982 221.091 53.527 316.509 46.545 72.145 111.709 128 188.509 162.909l4.655 2.327c2.327 0 6.982 2.327 9.309 2.327 20.945 0 37.236-16.291 37.236-37.236 0-13.964-6.982-25.6-16.291-30.255l-2.327-2.327c0 0-2.327-2.327-4.655-2.327h-4.655c-65.164-30.255-116.364-74.473-153.6-132.655-48.873-79.127-62.836-172.218-41.891-262.982 37.236-155.927 169.891-258.327 330.473-258.327h39.564c0 0 2.327 0 2.327-2.327l-13.964-128 27.927 11.636c144.291 65.164 258.327 195.491 293.236 337.455 0 0 0 2.327 0 2.327l2.327 2.327v2.327c4.655 13.964 18.618 23.273 32.582 23.273 18.618 0 34.909-16.291 34.909-34.909 0-2.327 0-4.655 0-6.982l-2.327-6.982c-16.291-60.509-44.218-118.691-81.455-174.545-81.455-118.691-207.127-207.127-342.109-242.036l-48.873-13.964 16.291 158.255zM816.873 557.382l-34.909-16.291 11.636 37.236-27.927 30.255h39.564l18.618 34.909 11.636-37.236 39.564-6.982-32.582-25.6 4.655-37.236zM467.782 876.218l-37.236-16.291 13.964 37.236-27.927 27.927h39.564l20.945 34.909 11.636-37.236 37.236-6.982-32.582-23.273 6.982-39.564zM674.909 778.473l-51.2 9.309 44.218 32.582-6.982 53.527 41.891-32.582 48.873 23.273-16.291-53.527 37.236-37.236h-53.527l-25.6-46.545z" />
|
| 107 |
</font></defs></svg>
|
assets/admin/fonts/eaicon.ttf
CHANGED
|
Binary file
|
assets/admin/fonts/eaicon.woff
CHANGED
|
Binary file
|
assets/admin/js/admin.js
CHANGED
|
@@ -222,3 +222,4 @@
|
|
| 222 |
})
|
| 223 |
|
| 224 |
})(jQuery);
|
|
|
| 222 |
})
|
| 223 |
|
| 224 |
})(jQuery);
|
| 225 |
+
|
assets/front-end/css/view/login-register.css
ADDED
|
@@ -0,0 +1,427 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*------------------------------*/
|
| 2 |
+
/* Login Register
|
| 3 |
+
/*------------------------------*/
|
| 4 |
+
/*-----General---*/
|
| 5 |
+
.eael-w-10 {
|
| 6 |
+
width: 10%;
|
| 7 |
+
}
|
| 8 |
+
.eael-w-20 {
|
| 9 |
+
width: 20%;
|
| 10 |
+
}
|
| 11 |
+
.eael-w-25 {
|
| 12 |
+
width: 25%;
|
| 13 |
+
}
|
| 14 |
+
.eael-w-30 {
|
| 15 |
+
width: 30%;
|
| 16 |
+
}
|
| 17 |
+
.eael-w-33 {
|
| 18 |
+
width: 33%;
|
| 19 |
+
}
|
| 20 |
+
.eael-w-40 {
|
| 21 |
+
width: 40%;
|
| 22 |
+
}
|
| 23 |
+
.eael-w-50 {
|
| 24 |
+
width: 50%;
|
| 25 |
+
}
|
| 26 |
+
.eael-w-60 {
|
| 27 |
+
width: 60%;
|
| 28 |
+
}
|
| 29 |
+
.eael-w-66 {
|
| 30 |
+
width: 66%;
|
| 31 |
+
}
|
| 32 |
+
.eael-w-70 {
|
| 33 |
+
width: 70%;
|
| 34 |
+
}
|
| 35 |
+
.eael-w-75 {
|
| 36 |
+
width: 75%;
|
| 37 |
+
}
|
| 38 |
+
.eael-w-80 {
|
| 39 |
+
width: 80%;
|
| 40 |
+
}
|
| 41 |
+
.eael-w-90 {
|
| 42 |
+
width: 90%;
|
| 43 |
+
}
|
| 44 |
+
.eael-w-100 {
|
| 45 |
+
width: 100%;
|
| 46 |
+
}
|
| 47 |
+
.d-none {
|
| 48 |
+
display: none;
|
| 49 |
+
}
|
| 50 |
+
.d-ib {
|
| 51 |
+
display: inline-block;
|
| 52 |
+
}
|
| 53 |
+
.mr-auto {
|
| 54 |
+
margin-right: auto;
|
| 55 |
+
}
|
| 56 |
+
.ml-auto {
|
| 57 |
+
margin-left: auto;
|
| 58 |
+
}
|
| 59 |
+
.fd-row {
|
| 60 |
+
-webkit-box-orient: horizontal;
|
| 61 |
+
-webkit-box-direction: normal;
|
| 62 |
+
-ms-flex-direction: row;
|
| 63 |
+
flex-direction: row;
|
| 64 |
+
}
|
| 65 |
+
.fd-col {
|
| 66 |
+
-webkit-box-orient: vertical;
|
| 67 |
+
-webkit-box-direction: normal;
|
| 68 |
+
-ms-flex-direction: column;
|
| 69 |
+
flex-direction: column;
|
| 70 |
+
}
|
| 71 |
+
/*-----Form Specific---*/
|
| 72 |
+
.eael-lr-form-wrapper {
|
| 73 |
+
width: 370px;
|
| 74 |
+
margin: 0 auto;
|
| 75 |
+
background-color: #fff;
|
| 76 |
+
padding: 35px;
|
| 77 |
+
border-radius: 10px;
|
| 78 |
+
-webkit-box-shadow: 0 0 37.5px 14px rgba(2, 8, 53, 0.06);
|
| 79 |
+
box-shadow: 0 0 37.5px 14px rgba(2, 8, 53, 0.06);
|
| 80 |
+
}
|
| 81 |
+
.eael-lr-form-wrapper.style-2 {
|
| 82 |
+
display: -webkit-box;
|
| 83 |
+
display: -ms-flexbox;
|
| 84 |
+
display: flex;
|
| 85 |
+
-ms-flex-wrap: wrap;
|
| 86 |
+
flex-wrap: wrap;
|
| 87 |
+
-webkit-box-align: stretch;
|
| 88 |
+
-ms-flex-align: stretch;
|
| 89 |
+
align-items: stretch;
|
| 90 |
+
padding: 0;
|
| 91 |
+
border-radius: 0;
|
| 92 |
+
}
|
| 93 |
+
@media (max-width: 767px) {
|
| 94 |
+
.eael-lr-form-wrapper.style-2 {
|
| 95 |
+
-webkit-box-orient: vertical;
|
| 96 |
+
-webkit-box-direction: normal;
|
| 97 |
+
-ms-flex-direction: column;
|
| 98 |
+
flex-direction: column;
|
| 99 |
+
}
|
| 100 |
+
}
|
| 101 |
+
.eael-lr-form-wrapper.style-2 .lr-form-illustration {
|
| 102 |
+
width: 50%;
|
| 103 |
+
background-repeat: no-repeat;
|
| 104 |
+
background-size: cover;
|
| 105 |
+
background-position: center;
|
| 106 |
+
position: relative;
|
| 107 |
+
z-index: 1;
|
| 108 |
+
}
|
| 109 |
+
@media (max-width: 767px) {
|
| 110 |
+
.eael-lr-form-wrapper.style-2 .lr-form-illustration {
|
| 111 |
+
padding-bottom: 200px;
|
| 112 |
+
}
|
| 113 |
+
}
|
| 114 |
+
.eael-lr-form-wrapper.style-2 .lr-form-wrapper {
|
| 115 |
+
padding: 35px;
|
| 116 |
+
width: 370px;
|
| 117 |
+
}
|
| 118 |
+
.eael-lr-form-wrapper .eael-lr-form-group {
|
| 119 |
+
margin-bottom: 1rem;
|
| 120 |
+
}
|
| 121 |
+
.eael-lr-form-wrapper .eael-lr-form-group label {
|
| 122 |
+
display: inline-block;
|
| 123 |
+
margin-bottom: 0.5rem;
|
| 124 |
+
}
|
| 125 |
+
.eael-lr-form-wrapper .eael-lr-form-group label.mark-required {
|
| 126 |
+
position: relative;
|
| 127 |
+
}
|
| 128 |
+
.eael-lr-form-wrapper .eael-lr-form-group label.mark-required::after {
|
| 129 |
+
content: " *";
|
| 130 |
+
color: #ff0000;
|
| 131 |
+
position: absolute;
|
| 132 |
+
line-height: 0;
|
| 133 |
+
top: 17px;
|
| 134 |
+
right: -10px;
|
| 135 |
+
}
|
| 136 |
+
.eael-lr-form-wrapper .eael-lr-form-group .eael-lr-form-control {
|
| 137 |
+
display: block;
|
| 138 |
+
width: 100%;
|
| 139 |
+
padding: 15px;
|
| 140 |
+
font-size: 1rem;
|
| 141 |
+
line-height: 1.5;
|
| 142 |
+
color: #495057;
|
| 143 |
+
background-color: #fff;
|
| 144 |
+
background-clip: padding-box;
|
| 145 |
+
border: 1px solid #cfcfe8;
|
| 146 |
+
border-radius: 3px;
|
| 147 |
+
-webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
| 148 |
+
transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
| 149 |
+
-o-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
|
| 150 |
+
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
|
| 151 |
+
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
| 152 |
+
outline: none;
|
| 153 |
+
}
|
| 154 |
+
.eael-lr-form-wrapper .eael-forever-forget {
|
| 155 |
+
display: -webkit-box;
|
| 156 |
+
display: -ms-flexbox;
|
| 157 |
+
display: flex;
|
| 158 |
+
font-size: 0.9em;
|
| 159 |
+
}
|
| 160 |
+
.eael-lr-form-wrapper .eael-forever-forget .forget-menot {
|
| 161 |
+
display: -webkit-box;
|
| 162 |
+
display: -ms-flexbox;
|
| 163 |
+
display: flex;
|
| 164 |
+
-webkit-box-align: center;
|
| 165 |
+
-ms-flex-align: center;
|
| 166 |
+
align-items: center;
|
| 167 |
+
}
|
| 168 |
+
.eael-lr-form-wrapper .eael-forever-forget .forget-menot label {
|
| 169 |
+
margin: 0 0 0 10px;
|
| 170 |
+
}
|
| 171 |
+
.eael-lr-form-wrapper .eael-forever-forget .forget-menot, .eael-lr-form-wrapper .eael-forever-forget .forget-pass {
|
| 172 |
+
-webkit-box-flex: 1;
|
| 173 |
+
-ms-flex: 1;
|
| 174 |
+
flex: 1;
|
| 175 |
+
margin: 0;
|
| 176 |
+
}
|
| 177 |
+
.eael-lr-form-wrapper .eael-forever-forget .forget-pass {
|
| 178 |
+
text-align: right;
|
| 179 |
+
}
|
| 180 |
+
.eael-lr-form-wrapper .eael-lr-password-wrapper {
|
| 181 |
+
position: relative;
|
| 182 |
+
}
|
| 183 |
+
.eael-lr-form-wrapper .eael-lr-password-wrapper button {
|
| 184 |
+
position: absolute;
|
| 185 |
+
top: 0;
|
| 186 |
+
right: 0;
|
| 187 |
+
height: 100%;
|
| 188 |
+
background: transparent;
|
| 189 |
+
border: none;
|
| 190 |
+
color: red;
|
| 191 |
+
}
|
| 192 |
+
.eael-lr-form-wrapper .eael-lr-btn {
|
| 193 |
+
background-color: #744ffb;
|
| 194 |
+
color: #fff;
|
| 195 |
+
position: relative;
|
| 196 |
+
overflow: hidden;
|
| 197 |
+
display: inline-block;
|
| 198 |
+
vertical-align: top;
|
| 199 |
+
text-decoration: none;
|
| 200 |
+
border: none;
|
| 201 |
+
-webkit-transition: all 0.2s;
|
| 202 |
+
-o-transition: all 0.2s;
|
| 203 |
+
transition: all 0.2s;
|
| 204 |
+
padding: 15px;
|
| 205 |
+
width: 130px;
|
| 206 |
+
}
|
| 207 |
+
.eael-lr-form-wrapper .eael-lr-btn.eael-lr-btn-block {
|
| 208 |
+
display: block;
|
| 209 |
+
}
|
| 210 |
+
.eael-lr-form-wrapper .eael-lr-btn.eael-lr-btn-inline {
|
| 211 |
+
display: inline-block;
|
| 212 |
+
}
|
| 213 |
+
.eael-lr-form-wrapper .eael-lr-link {
|
| 214 |
+
display: inline-block;
|
| 215 |
+
}
|
| 216 |
+
.eael-lr-form-wrapper .eael-sign-wrapper {
|
| 217 |
+
text-align: center;
|
| 218 |
+
padding: 20px 0 0;
|
| 219 |
+
}
|
| 220 |
+
.eael-lr-form-wrapper .lr-form-header.header-inline {
|
| 221 |
+
display: -webkit-box;
|
| 222 |
+
display: -ms-flexbox;
|
| 223 |
+
display: flex;
|
| 224 |
+
}
|
| 225 |
+
.eael-lr-form-wrapper .lr-form-header.header-inline .form-logo {
|
| 226 |
+
-webkit-box-flex: 0;
|
| 227 |
+
-ms-flex: 0 0 30%;
|
| 228 |
+
flex: 0 0 30%;
|
| 229 |
+
}
|
| 230 |
+
.eael-lr-form-wrapper .lr-form-header.header-inline .form-dsc {
|
| 231 |
+
-webkit-box-flex: 0;
|
| 232 |
+
-ms-flex: 0 0 70%;
|
| 233 |
+
flex: 0 0 70%;
|
| 234 |
+
padding-left: 15px;
|
| 235 |
+
}
|
| 236 |
+
.eael-lr-form-wrapper .lr-form-header img {
|
| 237 |
+
width: 100px;
|
| 238 |
+
}
|
| 239 |
+
.eael-lr-form-wrapper .lr-form-header h4 {
|
| 240 |
+
font-size: 18px;
|
| 241 |
+
font-weight: 500;
|
| 242 |
+
margin-top: 0;
|
| 243 |
+
}
|
| 244 |
+
.eael-lr-form-wrapper .lr-form-header p {
|
| 245 |
+
font-size: 14px;
|
| 246 |
+
}
|
| 247 |
+
.eael-lr-form-wrapper .eael-form-msg {
|
| 248 |
+
display: block;
|
| 249 |
+
width: 100%;
|
| 250 |
+
margin-top: 1rem;
|
| 251 |
+
font-size: 1rem;
|
| 252 |
+
padding: 10px 15px;
|
| 253 |
+
border-top-right-radius: 8px;
|
| 254 |
+
border-bottom-right-radius: 8px;
|
| 255 |
+
}
|
| 256 |
+
.eael-lr-form-wrapper .eael-form-msg.invalid {
|
| 257 |
+
color: #721c24;
|
| 258 |
+
background-color: #f8d7da;
|
| 259 |
+
border-left: 3px solid red;
|
| 260 |
+
}
|
| 261 |
+
.eael-lr-form-wrapper .eael-form-msg.valid {
|
| 262 |
+
color: #155724;
|
| 263 |
+
background-color: #d4edda;
|
| 264 |
+
border-left: 3px solid green;
|
| 265 |
+
}
|
| 266 |
+
.eael-lr-form-wrapper ul, .eael-lr-form-wrapper ol, .eael-lr-form-wrapper .eael-form-msg ul, .eael-lr-form-wrapper .eael-form-msg ol {
|
| 267 |
+
margin: 0;
|
| 268 |
+
padding-left: 30px;
|
| 269 |
+
}
|
| 270 |
+
.eael-lr-form-wrapper ul li:not(:last-child), .eael-lr-form-wrapper ol li:not(:last-child), .eael-lr-form-wrapper .eael-form-msg ul li:not(:last-child), .eael-lr-form-wrapper .eael-form-msg ol li:not(:last-child) {
|
| 271 |
+
padding-bottom: 10px;
|
| 272 |
+
}
|
| 273 |
+
.eael-lr-form-wrapper .eael_accept_tnc_wrap {
|
| 274 |
+
display: -webkit-box;
|
| 275 |
+
display: -ms-flexbox;
|
| 276 |
+
display: flex;
|
| 277 |
+
margin-bottom: 1rem;
|
| 278 |
+
-webkit-box-align: center;
|
| 279 |
+
-ms-flex-align: center;
|
| 280 |
+
align-items: center;
|
| 281 |
+
}
|
| 282 |
+
.eael-lr-form-wrapper .eael_accept_tnc_wrap .eael-lr-tnc-link {
|
| 283 |
+
margin-left: 5px;
|
| 284 |
+
display: inline-block;
|
| 285 |
+
}
|
| 286 |
+
.eael-lr-form-wrapper .eael-lr-footer {
|
| 287 |
+
display: -webkit-box;
|
| 288 |
+
display: -ms-flexbox;
|
| 289 |
+
display: flex;
|
| 290 |
+
-webkit-box-pack: center;
|
| 291 |
+
-ms-flex-pack: center;
|
| 292 |
+
justify-content: center;
|
| 293 |
+
-webkit-box-align: center;
|
| 294 |
+
-ms-flex-align: center;
|
| 295 |
+
align-items: center;
|
| 296 |
+
}
|
| 297 |
+
@supports (-webkit-appearance: none) or (-moz-appearance: none) {
|
| 298 |
+
.eael-lr-form-wrapper input[type=checkbox] {
|
| 299 |
+
--active: #275EFE;
|
| 300 |
+
--active-inner: #fff;
|
| 301 |
+
--focus: 0;
|
| 302 |
+
--border: #b7b7b7;
|
| 303 |
+
--border-hover: var(--active);
|
| 304 |
+
--background: #fff;
|
| 305 |
+
--disabled: #F6F8FF;
|
| 306 |
+
--disabled-inner: #E1E6F9;
|
| 307 |
+
-webkit-appearance: none;
|
| 308 |
+
-moz-appearance: none;
|
| 309 |
+
height: 18px;
|
| 310 |
+
outline: none;
|
| 311 |
+
display: inline-block;
|
| 312 |
+
vertical-align: top;
|
| 313 |
+
position: relative;
|
| 314 |
+
top: 2px;
|
| 315 |
+
margin: 0;
|
| 316 |
+
cursor: pointer;
|
| 317 |
+
border: 2px solid var(--bc, var(--border));
|
| 318 |
+
background: var(--b, var(--background));
|
| 319 |
+
-webkit-transition: background 0.3s, border-color 0.3s, -webkit-box-shadow 0.2s;
|
| 320 |
+
transition: background 0.3s, border-color 0.3s, -webkit-box-shadow 0.2s;
|
| 321 |
+
-o-transition: background 0.3s, border-color 0.3s, box-shadow 0.2s;
|
| 322 |
+
transition: background 0.3s, border-color 0.3s, box-shadow 0.2s;
|
| 323 |
+
transition: background 0.3s, border-color 0.3s, box-shadow 0.2s, -webkit-box-shadow 0.2s;
|
| 324 |
+
}
|
| 325 |
+
.eael-lr-form-wrapper input[type=checkbox]:after {
|
| 326 |
+
content: "";
|
| 327 |
+
display: block;
|
| 328 |
+
left: 0;
|
| 329 |
+
top: 0;
|
| 330 |
+
position: absolute;
|
| 331 |
+
-webkit-transition: opacity var(--d-o, 0.2s), -webkit-transform var(--d-t, 0.3s) var(--d-t-e, ease);
|
| 332 |
+
transition: opacity var(--d-o, 0.2s), -webkit-transform var(--d-t, 0.3s) var(--d-t-e, ease);
|
| 333 |
+
-o-transition: transform var(--d-t, 0.3s) var(--d-t-e, ease), opacity var(--d-o, 0.2s);
|
| 334 |
+
transition: transform var(--d-t, 0.3s) var(--d-t-e, ease), opacity var(--d-o, 0.2s);
|
| 335 |
+
transition: transform var(--d-t, 0.3s) var(--d-t-e, ease), opacity var(--d-o, 0.2s), -webkit-transform var(--d-t, 0.3s) var(--d-t-e, ease);
|
| 336 |
+
}
|
| 337 |
+
.eael-lr-form-wrapper input[type=checkbox]:before {
|
| 338 |
+
content: none;
|
| 339 |
+
}
|
| 340 |
+
.eael-lr-form-wrapper input[type=checkbox]:checked {
|
| 341 |
+
--b: var(--active);
|
| 342 |
+
--bc: var(--active);
|
| 343 |
+
--d-o: .3s;
|
| 344 |
+
--d-t: .6s;
|
| 345 |
+
--d-t-e: cubic-bezier(.2, .85, .32, 1.2);
|
| 346 |
+
}
|
| 347 |
+
.eael-lr-form-wrapper input[type=checkbox]:checked:before {
|
| 348 |
+
content: none;
|
| 349 |
+
}
|
| 350 |
+
.eael-lr-form-wrapper input[type=checkbox]:disabled {
|
| 351 |
+
--b: var(--disabled);
|
| 352 |
+
cursor: not-allowed;
|
| 353 |
+
opacity: 0.9;
|
| 354 |
+
}
|
| 355 |
+
.eael-lr-form-wrapper input[type=checkbox]:disabled:checked {
|
| 356 |
+
--b: var(--disabled-inner);
|
| 357 |
+
--bc: var(--border);
|
| 358 |
+
}
|
| 359 |
+
.eael-lr-form-wrapper input[type=checkbox]:disabled + label {
|
| 360 |
+
cursor: not-allowed;
|
| 361 |
+
}
|
| 362 |
+
.eael-lr-form-wrapper input[type=checkbox]:hover:not(:checked):not(:disabled) {
|
| 363 |
+
--bc: var(--border-hover);
|
| 364 |
+
}
|
| 365 |
+
.eael-lr-form-wrapper input[type=checkbox]:focus {
|
| 366 |
+
-webkit-box-shadow: 0 0 0 var(--focus);
|
| 367 |
+
box-shadow: 0 0 0 var(--focus);
|
| 368 |
+
}
|
| 369 |
+
.eael-lr-form-wrapper input[type=checkbox]:not(#eael_accept_tnc) {
|
| 370 |
+
width: 18px;
|
| 371 |
+
}
|
| 372 |
+
.eael-lr-form-wrapper input[type=checkbox]:not(#eael_accept_tnc):after {
|
| 373 |
+
opacity: var(--o, 0);
|
| 374 |
+
}
|
| 375 |
+
.eael-lr-form-wrapper input[type=checkbox]:not(#eael_accept_tnc):checked {
|
| 376 |
+
--o: 1;
|
| 377 |
+
}
|
| 378 |
+
.eael-lr-form-wrapper input[type=checkbox] + label {
|
| 379 |
+
font-size: 14px;
|
| 380 |
+
line-height: 21px;
|
| 381 |
+
display: inline-block;
|
| 382 |
+
vertical-align: top;
|
| 383 |
+
cursor: pointer;
|
| 384 |
+
margin-left: 4px;
|
| 385 |
+
}
|
| 386 |
+
.eael-lr-form-wrapper input[type=checkbox]:not(#eael_accept_tnc) {
|
| 387 |
+
border-radius: 3px;
|
| 388 |
+
}
|
| 389 |
+
.eael-lr-form-wrapper input[type=checkbox]:not(#eael_accept_tnc):after {
|
| 390 |
+
width: 5px;
|
| 391 |
+
height: 9px;
|
| 392 |
+
border: 2px solid var(--active-inner);
|
| 393 |
+
border-top: 0;
|
| 394 |
+
border-left: 0;
|
| 395 |
+
left: 5px;
|
| 396 |
+
top: 1px;
|
| 397 |
+
-webkit-transform: rotate(var(--r, 20deg));
|
| 398 |
+
-ms-transform: rotate(var(--r, 20deg));
|
| 399 |
+
transform: rotate(var(--r, 20deg));
|
| 400 |
+
}
|
| 401 |
+
.eael-lr-form-wrapper input[type=checkbox]:not(#eael_accept_tnc):checked {
|
| 402 |
+
--r: 43deg;
|
| 403 |
+
}
|
| 404 |
+
.eael-lr-form-wrapper input[type=checkbox]#eael_accept_tnc {
|
| 405 |
+
width: 31px;
|
| 406 |
+
border-radius: 11px;
|
| 407 |
+
border-width: 1px;
|
| 408 |
+
}
|
| 409 |
+
.eael-lr-form-wrapper input[type=checkbox]#eael_accept_tnc:after {
|
| 410 |
+
left: 2px;
|
| 411 |
+
top: 2px;
|
| 412 |
+
border-radius: 50%;
|
| 413 |
+
width: 12px;
|
| 414 |
+
height: 12px;
|
| 415 |
+
background: var(--ab, var(--border));
|
| 416 |
+
-webkit-transform: translateX(var(--x, 0));
|
| 417 |
+
-ms-transform: translateX(var(--x, 0));
|
| 418 |
+
transform: translateX(var(--x, 0));
|
| 419 |
+
}
|
| 420 |
+
.eael-lr-form-wrapper input[type=checkbox]#eael_accept_tnc:checked {
|
| 421 |
+
--ab: var(--active-inner);
|
| 422 |
+
--x: 13px;
|
| 423 |
+
}
|
| 424 |
+
.eael-lr-form-wrapper input[type=checkbox]#eael_accept_tnc:disabled:not(:checked):after {
|
| 425 |
+
opacity: 0.6;
|
| 426 |
+
}
|
| 427 |
+
}
|
assets/front-end/css/view/login-register.min.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
| 1 |
+
.eael-w-10{width:10%}.eael-w-20{width:20%}.eael-w-25{width:25%}.eael-w-30{width:30%}.eael-w-33{width:33%}.eael-w-40{width:40%}.eael-w-50{width:50%}.eael-w-60{width:60%}.eael-w-66{width:66%}.eael-w-70{width:70%}.eael-w-75{width:75%}.eael-w-80{width:80%}.eael-w-90{width:90%}.eael-w-100{width:100%}.d-none{display:none}.d-ib{display:inline-block}.mr-auto{margin-right:auto}.ml-auto{margin-left:auto}.fd-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.fd-col{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.eael-lr-form-wrapper{width:370px;margin:0 auto;background-color:#fff;padding:35px;border-radius:10px;-webkit-box-shadow:0 0 37.5px 14px rgba(2,8,53,.06);box-shadow:0 0 37.5px 14px rgba(2,8,53,.06)}.eael-lr-form-wrapper.style-2{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;padding:0;border-radius:0}@media(max-width: 767px){.eael-lr-form-wrapper.style-2{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.eael-lr-form-wrapper.style-2 .lr-form-illustration{width:50%;background-repeat:no-repeat;background-size:cover;background-position:center;position:relative;z-index:1}@media(max-width: 767px){.eael-lr-form-wrapper.style-2 .lr-form-illustration{padding-bottom:200px}}.eael-lr-form-wrapper.style-2 .lr-form-wrapper{padding:35px;width:370px}.eael-lr-form-wrapper .eael-lr-form-group{margin-bottom:1rem}.eael-lr-form-wrapper .eael-lr-form-group label{display:inline-block;margin-bottom:.5rem}.eael-lr-form-wrapper .eael-lr-form-group label.mark-required{position:relative}.eael-lr-form-wrapper .eael-lr-form-group label.mark-required::after{content:" *";color:red;position:absolute;line-height:0;top:17px;right:-10px}.eael-lr-form-wrapper .eael-lr-form-group .eael-lr-form-control{display:block;width:100%;padding:15px;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #cfcfe8;border-radius:3px;-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;-o-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;outline:none}.eael-lr-form-wrapper .eael-forever-forget{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:.9em}.eael-lr-form-wrapper .eael-forever-forget .forget-menot{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-lr-form-wrapper .eael-forever-forget .forget-menot label{margin:0 0 0 10px}.eael-lr-form-wrapper .eael-forever-forget .forget-menot,.eael-lr-form-wrapper .eael-forever-forget .forget-pass{-webkit-box-flex:1;-ms-flex:1;flex:1;margin:0}.eael-lr-form-wrapper .eael-forever-forget .forget-pass{text-align:right}.eael-lr-form-wrapper .eael-lr-password-wrapper{position:relative}.eael-lr-form-wrapper .eael-lr-password-wrapper button{position:absolute;top:0;right:0;height:100%;background:transparent;border:none;color:red}.eael-lr-form-wrapper .eael-lr-btn{background-color:#744ffb;color:#fff;position:relative;overflow:hidden;display:inline-block;vertical-align:top;text-decoration:none;border:none;-webkit-transition:all .2s;-o-transition:all .2s;transition:all .2s;padding:15px;width:130px}.eael-lr-form-wrapper .eael-lr-btn.eael-lr-btn-block{display:block}.eael-lr-form-wrapper .eael-lr-btn.eael-lr-btn-inline{display:inline-block}.eael-lr-form-wrapper .eael-lr-link{display:inline-block}.eael-lr-form-wrapper .eael-sign-wrapper{text-align:center;padding:20px 0 0}.eael-lr-form-wrapper .lr-form-header.header-inline{display:-webkit-box;display:-ms-flexbox;display:flex}.eael-lr-form-wrapper .lr-form-header.header-inline .form-logo{-webkit-box-flex:0;-ms-flex:0 0 30%;flex:0 0 30%}.eael-lr-form-wrapper .lr-form-header.header-inline .form-dsc{-webkit-box-flex:0;-ms-flex:0 0 70%;flex:0 0 70%;padding-left:15px}.eael-lr-form-wrapper .lr-form-header img{width:100px}.eael-lr-form-wrapper .lr-form-header h4{font-size:18px;font-weight:500;margin-top:0}.eael-lr-form-wrapper .lr-form-header p{font-size:14px}.eael-lr-form-wrapper .eael-form-msg{display:block;width:100%;margin-top:1rem;font-size:1rem;padding:10px 15px;border-top-right-radius:8px;border-bottom-right-radius:8px}.eael-lr-form-wrapper .eael-form-msg.invalid{color:#721c24;background-color:#f8d7da;border-left:3px solid red}.eael-lr-form-wrapper .eael-form-msg.valid{color:#155724;background-color:#d4edda;border-left:3px solid green}.eael-lr-form-wrapper ul,.eael-lr-form-wrapper ol,.eael-lr-form-wrapper .eael-form-msg ul,.eael-lr-form-wrapper .eael-form-msg ol{margin:0;padding-left:30px}.eael-lr-form-wrapper ul li:not(:last-child),.eael-lr-form-wrapper ol li:not(:last-child),.eael-lr-form-wrapper .eael-form-msg ul li:not(:last-child),.eael-lr-form-wrapper .eael-form-msg ol li:not(:last-child){padding-bottom:10px}.eael-lr-form-wrapper .eael_accept_tnc_wrap{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:1rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-lr-form-wrapper .eael_accept_tnc_wrap .eael-lr-tnc-link{margin-left:5px;display:inline-block}.eael-lr-form-wrapper .eael-lr-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@supports(-webkit-appearance: none) or (-moz-appearance: none){.eael-lr-form-wrapper input[type=checkbox]{--active: #275EFE;--active-inner: #fff;--focus: 0;--border: #b7b7b7;--border-hover: var(--active);--background: #fff;--disabled: #F6F8FF;--disabled-inner: #E1E6F9;-webkit-appearance:none;-moz-appearance:none;height:18px;outline:none;display:inline-block;vertical-align:top;position:relative;top:2px;margin:0;cursor:pointer;border:2px solid var(--bc, var(--border));background:var(--b, var(--background));-webkit-transition:background .3s,border-color .3s,-webkit-box-shadow .2s;transition:background .3s,border-color .3s,-webkit-box-shadow .2s;-o-transition:background .3s,border-color .3s,box-shadow .2s;transition:background .3s,border-color .3s,box-shadow .2s;transition:background .3s,border-color .3s,box-shadow .2s,-webkit-box-shadow .2s}.eael-lr-form-wrapper input[type=checkbox]:after{content:"";display:block;left:0;top:0;position:absolute;-webkit-transition:opacity var(--d-o, 0.2s),-webkit-transform var(--d-t, 0.3s) var(--d-t-e, ease);transition:opacity var(--d-o, 0.2s),-webkit-transform var(--d-t, 0.3s) var(--d-t-e, ease);-o-transition:transform var(--d-t, 0.3s) var(--d-t-e, ease),opacity var(--d-o, 0.2s);transition:transform var(--d-t, 0.3s) var(--d-t-e, ease),opacity var(--d-o, 0.2s);transition:transform var(--d-t, 0.3s) var(--d-t-e, ease),opacity var(--d-o, 0.2s),-webkit-transform var(--d-t, 0.3s) var(--d-t-e, ease)}.eael-lr-form-wrapper input[type=checkbox]:before{content:none}.eael-lr-form-wrapper input[type=checkbox]:checked{--b: var(--active);--bc: var(--active);--d-o: .3s;--d-t: .6s;--d-t-e: cubic-bezier(.2, .85, .32, 1.2)}.eael-lr-form-wrapper input[type=checkbox]:checked:before{content:none}.eael-lr-form-wrapper input[type=checkbox]:disabled{--b: var(--disabled);cursor:not-allowed;opacity:.9}.eael-lr-form-wrapper input[type=checkbox]:disabled:checked{--b: var(--disabled-inner);--bc: var(--border)}.eael-lr-form-wrapper input[type=checkbox]:disabled+label{cursor:not-allowed}.eael-lr-form-wrapper input[type=checkbox]:hover:not(:checked):not(:disabled){--bc: var(--border-hover)}.eael-lr-form-wrapper input[type=checkbox]:focus{-webkit-box-shadow:0 0 0 var(--focus);box-shadow:0 0 0 var(--focus)}.eael-lr-form-wrapper input[type=checkbox]:not(#eael_accept_tnc){width:18px}.eael-lr-form-wrapper input[type=checkbox]:not(#eael_accept_tnc):after{opacity:var(--o, 0)}.eael-lr-form-wrapper input[type=checkbox]:not(#eael_accept_tnc):checked{--o: 1}.eael-lr-form-wrapper input[type=checkbox]+label{font-size:14px;line-height:21px;display:inline-block;vertical-align:top;cursor:pointer;margin-left:4px}.eael-lr-form-wrapper input[type=checkbox]:not(#eael_accept_tnc){border-radius:3px}.eael-lr-form-wrapper input[type=checkbox]:not(#eael_accept_tnc):after{width:5px;height:9px;border:2px solid var(--active-inner);border-top:0;border-left:0;left:5px;top:1px;-webkit-transform:rotate(var(--r, 20deg));-ms-transform:rotate(var(--r, 20deg));transform:rotate(var(--r, 20deg))}.eael-lr-form-wrapper input[type=checkbox]:not(#eael_accept_tnc):checked{--r: 43deg}.eael-lr-form-wrapper input[type=checkbox]#eael_accept_tnc{width:31px;border-radius:11px;border-width:1px}.eael-lr-form-wrapper input[type=checkbox]#eael_accept_tnc:after{left:2px;top:2px;border-radius:50%;width:12px;height:12px;background:var(--ab, var(--border));-webkit-transform:translateX(var(--x, 0));-ms-transform:translateX(var(--x, 0));transform:translateX(var(--x, 0))}.eael-lr-form-wrapper input[type=checkbox]#eael_accept_tnc:checked{--ab: var(--active-inner);--x: 13px}.eael-lr-form-wrapper input[type=checkbox]#eael_accept_tnc:disabled:not(:checked):after{opacity:.6}}
|
assets/front-end/js/edit/advanced-data-table.min.js
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
!function(e){var a={};function t(n){if(a[n])return a[n].exports;var l=a[n]={i:n,l:!1,exports:{}};return e[n].call(l.exports,l,l.exports,t),l.l=!0,l.exports}t.m=e,t.c=a,t.d=function(e,a,n){t.o(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,a){if(1&a&&(e=t(e)),8&a)return e;if(4&a&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&a&&"string"!=typeof e)for(var l in e)t.d(n,l,function(a){return e[a]}.bind(null,l));return n},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},t.p="",t(t.s=22)}({22:function(e,a){function t(e,a){for(var t=0;t<a.length;t++){var n=a[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var n=function(){function e(){!function(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")}(this,e),this.panel=null,this.model=null,this.view=null,this.table=null,this.timeout=null,this.activeCell=null,this.dragStartX=null,this.dragStartWidth=null,this.dragEl=null,this.dragging=!1,ea.hooks.addFilter("advancedDataTable.getClassProps","ea",this.getClassProps.bind(this)),ea.hooks.addFilter("advancedDataTable.setClassProps","ea",this.setClassProps.bind(this)),ea.hooks.addFilter("advancedDataTable.parseHTML","ea",this.parseHTML),ea.hooks.addAction("advancedDataTable.initEditor","ea",this.initEditor.bind(this)),ea.hooks.addAction("advancedDataTable.updateFromView","ea",this.updateFromView.bind(this)),ea.hooks.addAction("advancedDataTable.initInlineEdit","ea",this.initInlineEdit.bind(this)),ea.hooks.addAction("advancedDataTable.initPanelAction","ea",this.initPanelAction.bind(this)),elementor.hooks.addFilter("elements/widget/contextMenuGroups",this.initContextMenu),elementor.hooks.addAction("panel/open_editor/widget/eael-advanced-data-table",this.initPanel.bind(this))}var a,n,l;return a=e,(n=[{key:"updateFromView",value:function(e,a){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=e.model;if(n.remoteRender=t,elementor.config.version>"2.7.6"){var l=e.getContainer(),o=e.getContainer().settings.attributes;Object.keys(a).forEach((function(e){o[e]=a[e]})),parent.window.$e.run("document/elements/settings",{container:l,settings:o,options:{external:t}})}else Object.keys(a).forEach((function(e){n.setSetting(e,a[e])}));this.timeout=setTimeout((function(){n.remoteRender=!0}),1001)}},{key:"getClassProps",value:function(){return{view:this.view,model:this.model,table:this.table,activeCell:this.activeCell}}},{key:"setClassProps",value:function(e){var a=this;Object.keys(e).forEach((function(t){a[t]=e[t]}))}},{key:"parseHTML",value:function(e){return e.querySelectorAll("th, td").forEach((function(e){null!==e.querySelector(".inline-editor")&&(e.innerHTML=decodeURI(e.dataset.quill||""),delete e.dataset.quill)})),e}},{key:"initEditor",value:function(e){var a=this;e.dataset.quill=encodeURI(e.innerHTML),e.innerHTML='<div class="inline-editor">'.concat(e.innerHTML,"</div>");var t=new Quill(e.querySelector(".inline-editor"),{theme:"bubble",modules:{toolbar:["bold","italic","underline","strike","link",{list:"ordered"},{list:"bullet"}]}});t.on("text-change",(function(n,l,o){clearTimeout(a.timeout),e.dataset.quill=encodeURI(t.root.innerHTML);var i=a.parseHTML(a.table.cloneNode(!0));a.updateFromView(a.view,{ea_adv_data_table_static_html:i.innerHTML})}))}},{key:"initInlineEdit",value:function(){var e=this,a=setInterval((function(){e.view.el.querySelector(".ea-advanced-data-table")&&(e.table!==e.view.el.querySelector(".ea-advanced-data-table")&&(e.table=e.view.el.querySelector(".ea-advanced-data-table"),e.table.classList.contains("ea-advanced-data-table-static")&&e.table.querySelectorAll("th, td").forEach((function(a){e.initEditor(a)})),e.table.addEventListener("mousedown",(function(a){a.stopPropagation(),"th"===a.target.tagName.toLowerCase()&&(e.dragging=!0,e.dragEl=a.target,e.dragStartX=a.pageX,e.dragStartWidth=a.target.offsetWidth),"th"===a.target.tagName.toLowerCase()||"td"===a.target.tagName.toLowerCase()?e.activeCell=a.target:"th"===a.target.parentNode.tagName.toLowerCase()||"td"===a.target.parentNode.tagName.toLowerCase()?e.activeCell=a.target.parentNode:"th"===a.target.parentNode.parentNode.tagName.toLowerCase()||"td"===a.target.parentNode.parentNode.tagName.toLowerCase()?e.activeCell=a.target.parentNode.parentNode:"th"!==a.target.parentNode.parentNode.parentNode.tagName.toLowerCase()&&"td"!==a.target.parentNode.parentNode.parentNode.tagName.toLowerCase()||(e.activeCell=a.target.parentNode.parentNode.parentNode)})),e.table.addEventListener("mousemove",(function(a){e.dragging&&(e.dragEl.style.width="".concat(e.dragStartWidth+(event.pageX-e.dragStartX),"px"))})),e.table.addEventListener("mouseup",(function(a){if(e.dragging)if(e.dragging=!1,clearTimeout(e.timeout),e.table.classList.contains("ea-advanced-data-table-static")){var t=e.parseHTML(e.table.cloneNode(!0));e.updateFromView(e.view,{ea_adv_data_table_static_html:t.innerHTML})}else{var n=[];e.table.querySelectorAll("th").forEach((function(e,a){n[a]=e.style.width})),e.updateFromView(e.view,{ea_adv_data_table_dynamic_th_width:n})}})),e.table.addEventListener("dblclick",(function(a){if("th"===a.target.tagName.toLowerCase())if(a.stopPropagation(),clearTimeout(e.timeout),e.table.classList.contains("ea-advanced-data-table-static")){var t=e.parseHTML(e.table.cloneNode(!0));e.updateFromView(e.view,{ea_adv_data_table_static_html:t.innerHTML})}else{var n=[];e.table.querySelectorAll("th").forEach((function(e,a){n[a]=e.style.width})),e.updateFromView(e.view,{ea_adv_data_table_dynamic_th_width:n})}}))),clearInterval(a))}),500)}},{key:"initPanelAction",value:function(){var e=this;this.panel.content.el.onclick=function(a){if("ea:advTable:export"==a.target.dataset.event){for(var t=e.table.querySelectorAll("table tr"),n=[],l=0;l<t.length;l++){var o=[],i=t[l].querySelectorAll("th, td");if(e.table.classList.contains("ea-advanced-data-table-static"))for(var r=0;r<i.length;r++)o.push(JSON.stringify(decodeURI(i[r].dataset.quill)));else for(var d=0;d<i.length;d++)o.push(JSON.stringify(i[d].innerHTML.replace(/(\r\n|\n|\r)/gm," ").trim()));n.push(o.join(","))}var s=new Blob([n.join("\n")],{type:"text/csv"}),c=parent.document.createElement("a");c.classList.add("ea-adv-data-table-download-".concat(e.model.attributes.id)),c.download="ea-adv-data-table-".concat(e.model.attributes.id,".csv"),c.href=window.URL.createObjectURL(s),c.style.display="none",parent.document.body.appendChild(c),c.click(),parent.document.querySelector(".ea-adv-data-table-download-".concat(e.model.attributes.id)).remove()}else if("ea:advTable:import"==a.target.dataset.event){var v=e.panel.content.el.querySelector(".ea_adv_table_csv_string"),u=e.panel.content.el.querySelector(".ea_adv_table_csv_string_table").checked,h=v.value.split("\n"),p="",b="";if(v.value.length>0&&(b+="<tbody>",h.forEach((function(e,a){e.length>0&&(cols=e.match(/("(?:[^"\\]|\\.)*"|[^","]+)/gm),cols.length>0&&(u&&0==a?(p+="<thead><tr>",cols.forEach((function(e){e.match(/(^"")|(^")|("$)|(""$)/g)?p+="<th>".concat(JSON.parse(e),"</th>"):p+="<th>".concat(e,"</th>")})),p+="</tr></thead>"):(b+="<tr>",cols.forEach((function(e){e.match(/(^"")|(^")|("$)|(""$)/g)?b+="<td>".concat(JSON.parse(e),"</td>"):b+="<td>".concat(e,"</td>")})),b+="</tr>")))})),b+="</tbody>",p.length>0||b.length>0)){e.updateFromView(e.view,{ea_adv_data_table_static_html:p+b},!0);var f=setInterval((function(){e.view.el.querySelector(".ea-advanced-data-table").innerHTML==p+b&&(clearInterval(f),ea.hooks.doAction("advancedDataTable.initInlineEdit"))}),500)}v.value=""}ea.hooks.doAction("advancedDataTable.panelAction",e.panel,e.model,e.view,a)}}},{key:"initPanel",value:function(e,a,t){var n=this;this.panel=e,this.model=a,this.view=t,ea.hooks.doAction("advancedDataTable.initInlineEdit"),ea.hooks.doAction("advancedDataTable.initPanelAction"),ea.hooks.doAction("advancedDataTable.afterInitPanel",e,a,t),a.once("editor:close",(function(){var e=n.parseHTML(n.table.cloneNode(!0));n.updateFromView(n.view,{ea_adv_data_table_static_html:e.innerHTML},!0)}))}},{key:"initContextMenu",value:function(e,a){return"eael-advanced-data-table"==a.options.model.attributes.widgetType&&"static"==a.options.model.attributes.settings.attributes.ea_adv_data_table_source&&e.push({name:"ea_advanced_data_table",actions:[{name:"add_row_above",title:"Add Row Above",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n&&"th"!=n.tagName.toLowerCase()){for(var l=n.parentNode.rowIndex,o=t.insertRow(l),i=0;i<t.rows[0].cells.length;i++){var r=o.insertCell(i);ea.hooks.doAction("advancedDataTable.initEditor",r)}ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var d=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:d.innerHTML})}}},{name:"add_row_below",title:"Add Row Below",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){for(var l=n.parentNode.rowIndex+1,o=t.insertRow(l),i=0;i<t.rows[0].cells.length;i++){var r=o.insertCell(i);ea.hooks.doAction("advancedDataTable.initEditor",r)}ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var d=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:d.innerHTML})}}},{name:"add_column_left",title:"Add Column Left",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){for(var l=n.cellIndex,o=0;o<t.rows.length;o++)if("th"==t.rows[o].cells[0].tagName.toLowerCase()){var i=t.rows[o].insertBefore(document.createElement("th"),t.rows[o].cells[l]);ea.hooks.doAction("advancedDataTable.initEditor",i)}else{var r=t.rows[o].insertCell(l);ea.hooks.doAction("advancedDataTable.initEditor",r)}ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var d=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:d.innerHTML})}}},{name:"add_column_right",title:"Add Column Right",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){for(var l=n.cellIndex+1,o=0;o<t.rows.length;o++)if("th"==t.rows[o].cells[0].tagName.toLowerCase()){var i=t.rows[o].insertBefore(document.createElement("th"),t.rows[o].cells[l]);ea.hooks.doAction("advancedDataTable.initEditor",i)}else{var r=t.rows[o].insertCell(l);ea.hooks.doAction("advancedDataTable.initEditor",r)}ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var d=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:d.innerHTML})}}},{name:"delete_row",title:"Delete Row",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){var l=n.parentNode.rowIndex;t.deleteRow(l),ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var o=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:o.innerHTML})}}},{name:"delete_column",title:"Delete Column",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){for(var l=n.cellIndex,o=0;o<t.rows.length;o++)t.rows[o].deleteCell(l);ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var i=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:i.innerHTML})}}}]}),e}}])&&t(a.prototype,n),l&&t(a,l),e}();ea.hooks.addAction("editMode.init","ea",(function(){new n}))}});
|
| 1 |
+
!function(e){var a={};function t(n){if(a[n])return a[n].exports;var l=a[n]={i:n,l:!1,exports:{}};return e[n].call(l.exports,l,l.exports,t),l.l=!0,l.exports}t.m=e,t.c=a,t.d=function(e,a,n){t.o(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,a){if(1&a&&(e=t(e)),8&a)return e;if(4&a&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&a&&"string"!=typeof e)for(var l in e)t.d(n,l,function(a){return e[a]}.bind(null,l));return n},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},t.p="",t(t.s=23)}({23:function(e,a){function t(e,a){for(var t=0;t<a.length;t++){var n=a[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var n=function(){function e(){!function(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")}(this,e),this.panel=null,this.model=null,this.view=null,this.table=null,this.timeout=null,this.activeCell=null,this.dragStartX=null,this.dragStartWidth=null,this.dragEl=null,this.dragging=!1,ea.hooks.addFilter("advancedDataTable.getClassProps","ea",this.getClassProps.bind(this)),ea.hooks.addFilter("advancedDataTable.setClassProps","ea",this.setClassProps.bind(this)),ea.hooks.addFilter("advancedDataTable.parseHTML","ea",this.parseHTML),ea.hooks.addAction("advancedDataTable.initEditor","ea",this.initEditor.bind(this)),ea.hooks.addAction("advancedDataTable.updateFromView","ea",this.updateFromView.bind(this)),ea.hooks.addAction("advancedDataTable.initInlineEdit","ea",this.initInlineEdit.bind(this)),ea.hooks.addAction("advancedDataTable.initPanelAction","ea",this.initPanelAction.bind(this)),elementor.hooks.addFilter("elements/widget/contextMenuGroups",this.initContextMenu),elementor.hooks.addAction("panel/open_editor/widget/eael-advanced-data-table",this.initPanel.bind(this))}var a,n,l;return a=e,(n=[{key:"updateFromView",value:function(e,a){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=e.model;if(n.remoteRender=t,elementor.config.version>"2.7.6"){var l=e.getContainer(),o=e.getContainer().settings.attributes;Object.keys(a).forEach((function(e){o[e]=a[e]})),parent.window.$e.run("document/elements/settings",{container:l,settings:o,options:{external:t}})}else Object.keys(a).forEach((function(e){n.setSetting(e,a[e])}));this.timeout=setTimeout((function(){n.remoteRender=!0}),1001)}},{key:"getClassProps",value:function(){return{view:this.view,model:this.model,table:this.table,activeCell:this.activeCell}}},{key:"setClassProps",value:function(e){var a=this;Object.keys(e).forEach((function(t){a[t]=e[t]}))}},{key:"parseHTML",value:function(e){return e.querySelectorAll("th, td").forEach((function(e){null!==e.querySelector(".inline-editor")&&(e.innerHTML=decodeURI(e.dataset.quill||""),delete e.dataset.quill)})),e}},{key:"initEditor",value:function(e){var a=this;e.dataset.quill=encodeURI(e.innerHTML),e.innerHTML='<div class="inline-editor">'.concat(e.innerHTML,"</div>");var t=new Quill(e.querySelector(".inline-editor"),{theme:"bubble",modules:{toolbar:["bold","italic","underline","strike","link",{list:"ordered"},{list:"bullet"}]}});t.on("text-change",(function(n,l,o){clearTimeout(a.timeout),e.dataset.quill=encodeURI(t.root.innerHTML);var i=a.parseHTML(a.table.cloneNode(!0));a.updateFromView(a.view,{ea_adv_data_table_static_html:i.innerHTML})}))}},{key:"initInlineEdit",value:function(){var e=this,a=setInterval((function(){e.view.el.querySelector(".ea-advanced-data-table")&&(e.table!==e.view.el.querySelector(".ea-advanced-data-table")&&(e.table=e.view.el.querySelector(".ea-advanced-data-table"),e.table.classList.contains("ea-advanced-data-table-static")&&e.table.querySelectorAll("th, td").forEach((function(a){e.initEditor(a)})),e.table.addEventListener("mousedown",(function(a){a.stopPropagation(),"th"===a.target.tagName.toLowerCase()&&(e.dragging=!0,e.dragEl=a.target,e.dragStartX=a.pageX,e.dragStartWidth=a.target.offsetWidth),"th"===a.target.tagName.toLowerCase()||"td"===a.target.tagName.toLowerCase()?e.activeCell=a.target:"th"===a.target.parentNode.tagName.toLowerCase()||"td"===a.target.parentNode.tagName.toLowerCase()?e.activeCell=a.target.parentNode:"th"===a.target.parentNode.parentNode.tagName.toLowerCase()||"td"===a.target.parentNode.parentNode.tagName.toLowerCase()?e.activeCell=a.target.parentNode.parentNode:"th"!==a.target.parentNode.parentNode.parentNode.tagName.toLowerCase()&&"td"!==a.target.parentNode.parentNode.parentNode.tagName.toLowerCase()||(e.activeCell=a.target.parentNode.parentNode.parentNode)})),e.table.addEventListener("mousemove",(function(a){e.dragging&&(e.dragEl.style.width="".concat(e.dragStartWidth+(event.pageX-e.dragStartX),"px"))})),e.table.addEventListener("mouseup",(function(a){if(e.dragging)if(e.dragging=!1,clearTimeout(e.timeout),e.table.classList.contains("ea-advanced-data-table-static")){var t=e.parseHTML(e.table.cloneNode(!0));e.updateFromView(e.view,{ea_adv_data_table_static_html:t.innerHTML})}else{var n=[];e.table.querySelectorAll("th").forEach((function(e,a){n[a]=e.style.width})),e.updateFromView(e.view,{ea_adv_data_table_dynamic_th_width:n})}})),e.table.addEventListener("dblclick",(function(a){if("th"===a.target.tagName.toLowerCase())if(a.stopPropagation(),clearTimeout(e.timeout),e.table.classList.contains("ea-advanced-data-table-static")){var t=e.parseHTML(e.table.cloneNode(!0));e.updateFromView(e.view,{ea_adv_data_table_static_html:t.innerHTML})}else{var n=[];e.table.querySelectorAll("th").forEach((function(e,a){n[a]=e.style.width})),e.updateFromView(e.view,{ea_adv_data_table_dynamic_th_width:n})}}))),clearInterval(a))}),500)}},{key:"initPanelAction",value:function(){var e=this;this.panel.content.el.onclick=function(a){if("ea:advTable:export"==a.target.dataset.event){for(var t=e.table.querySelectorAll("table tr"),n=[],l=0;l<t.length;l++){var o=[],i=t[l].querySelectorAll("th, td");if(e.table.classList.contains("ea-advanced-data-table-static"))for(var r=0;r<i.length;r++)o.push(JSON.stringify(decodeURI(i[r].dataset.quill)));else for(var d=0;d<i.length;d++)o.push(JSON.stringify(i[d].innerHTML.replace(/(\r\n|\n|\r)/gm," ").trim()));n.push(o.join(","))}var s=new Blob([n.join("\n")],{type:"text/csv"}),c=parent.document.createElement("a");c.classList.add("ea-adv-data-table-download-".concat(e.model.attributes.id)),c.download="ea-adv-data-table-".concat(e.model.attributes.id,".csv"),c.href=window.URL.createObjectURL(s),c.style.display="none",parent.document.body.appendChild(c),c.click(),parent.document.querySelector(".ea-adv-data-table-download-".concat(e.model.attributes.id)).remove()}else if("ea:advTable:import"==a.target.dataset.event){var v=e.panel.content.el.querySelector(".ea_adv_table_csv_string"),u=e.panel.content.el.querySelector(".ea_adv_table_csv_string_table").checked,h=v.value.split("\n"),p="",b="";if(v.value.length>0&&(b+="<tbody>",h.forEach((function(e,a){e.length>0&&(cols=e.match(/("(?:[^"\\]|\\.)*"|[^","]+)/gm),cols.length>0&&(u&&0==a?(p+="<thead><tr>",cols.forEach((function(e){e.match(/(^"")|(^")|("$)|(""$)/g)?p+="<th>".concat(JSON.parse(e),"</th>"):p+="<th>".concat(e,"</th>")})),p+="</tr></thead>"):(b+="<tr>",cols.forEach((function(e){e.match(/(^"")|(^")|("$)|(""$)/g)?b+="<td>".concat(JSON.parse(e),"</td>"):b+="<td>".concat(e,"</td>")})),b+="</tr>")))})),b+="</tbody>",p.length>0||b.length>0)){e.updateFromView(e.view,{ea_adv_data_table_static_html:p+b},!0);var f=setInterval((function(){e.view.el.querySelector(".ea-advanced-data-table").innerHTML==p+b&&(clearInterval(f),ea.hooks.doAction("advancedDataTable.initInlineEdit"))}),500)}v.value=""}ea.hooks.doAction("advancedDataTable.panelAction",e.panel,e.model,e.view,a)}}},{key:"initPanel",value:function(e,a,t){var n=this;this.panel=e,this.model=a,this.view=t,ea.hooks.doAction("advancedDataTable.initInlineEdit"),ea.hooks.doAction("advancedDataTable.initPanelAction"),ea.hooks.doAction("advancedDataTable.afterInitPanel",e,a,t),a.once("editor:close",(function(){var e=n.parseHTML(n.table.cloneNode(!0));n.updateFromView(n.view,{ea_adv_data_table_static_html:e.innerHTML},!0)}))}},{key:"initContextMenu",value:function(e,a){return"eael-advanced-data-table"==a.options.model.attributes.widgetType&&"static"==a.options.model.attributes.settings.attributes.ea_adv_data_table_source&&e.push({name:"ea_advanced_data_table",actions:[{name:"add_row_above",title:"Add Row Above",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n&&"th"!=n.tagName.toLowerCase()){for(var l=n.parentNode.rowIndex,o=t.insertRow(l),i=0;i<t.rows[0].cells.length;i++){var r=o.insertCell(i);ea.hooks.doAction("advancedDataTable.initEditor",r)}ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var d=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:d.innerHTML})}}},{name:"add_row_below",title:"Add Row Below",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){for(var l=n.parentNode.rowIndex+1,o=t.insertRow(l),i=0;i<t.rows[0].cells.length;i++){var r=o.insertCell(i);ea.hooks.doAction("advancedDataTable.initEditor",r)}ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var d=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:d.innerHTML})}}},{name:"add_column_left",title:"Add Column Left",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){for(var l=n.cellIndex,o=0;o<t.rows.length;o++)if("th"==t.rows[o].cells[0].tagName.toLowerCase()){var i=t.rows[o].insertBefore(document.createElement("th"),t.rows[o].cells[l]);ea.hooks.doAction("advancedDataTable.initEditor",i)}else{var r=t.rows[o].insertCell(l);ea.hooks.doAction("advancedDataTable.initEditor",r)}ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var d=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:d.innerHTML})}}},{name:"add_column_right",title:"Add Column Right",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){for(var l=n.cellIndex+1,o=0;o<t.rows.length;o++)if("th"==t.rows[o].cells[0].tagName.toLowerCase()){var i=t.rows[o].insertBefore(document.createElement("th"),t.rows[o].cells[l]);ea.hooks.doAction("advancedDataTable.initEditor",i)}else{var r=t.rows[o].insertCell(l);ea.hooks.doAction("advancedDataTable.initEditor",r)}ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var d=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:d.innerHTML})}}},{name:"delete_row",title:"Delete Row",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){var l=n.parentNode.rowIndex;t.deleteRow(l),ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var o=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:o.innerHTML})}}},{name:"delete_column",title:"Delete Column",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){for(var l=n.cellIndex,o=0;o<t.rows.length;o++)t.rows[o].deleteCell(l);ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var i=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:i.innerHTML})}}}]}),e}}])&&t(a.prototype,n),l&&t(a,l),e}();ea.hooks.addAction("editMode.init","ea",(function(){new n}))}});
|
assets/front-end/js/edit/promotion.min.js
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=
|
| 1 |
+
!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=24)}({24:function(e,t){ea.hooks.addAction("editMode.init","ea",(function(){parent.document.addEventListener("mousedown",(function(e){var t=parent.document.querySelectorAll(".elementor-element--promotion");if(t.length>0)for(var n=0;n<t.length;n++)if(t[n].contains(e.target)){var o=parent.document.querySelector("#elementor-element--promotion__dialog");if(t[n].querySelector(".icon > i").classList.toString().indexOf("eaicon")>=0)if(o.querySelector(".dialog-buttons-action").style.display="none",null===o.querySelector(".ea-dialog-buttons-action")){var r=document.createElement("a"),a=document.createTextNode("Upgrade Essential Addons");r.setAttribute("href","https://wpdeveloper.net/upgrade/ea-pro"),r.setAttribute("target","_blank"),r.classList.add("dialog-button","dialog-action","dialog-buttons-action","elementor-button","elementor-button-success","ea-dialog-buttons-action"),r.appendChild(a),o.querySelector(".dialog-buttons-action").insertAdjacentHTML("afterend",r.outerHTML)}else o.querySelector(".ea-dialog-buttons-action").style.display="";else o.querySelector(".dialog-buttons-action").style.display="",null!==o.querySelector(".ea-dialog-buttons-action")&&(o.querySelector(".ea-dialog-buttons-action").style.display="none");break}}))}))}});
|
assets/front-end/js/view/general.min.js
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
!function(e){var n={};function r(t){if(n[t])return n[t].exports;var o=n[t]={i:t,l:!1,exports:{}};return e[t].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=n,r.d=function(e,n,t){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,n){if(1&n&&(e=r(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var o in e)r.d(t,o,function(n){return e[n]}.bind(null,o));return t},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,"a",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p="",r(r.s=
|
| 1 |
+
!function(e){var n={};function r(t){if(n[t])return n[t].exports;var o=n[t]={i:t,l:!1,exports:{}};return e[t].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=n,r.d=function(e,n,t){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,n){if(1&n&&(e=r(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var o in e)r.d(t,o,function(n){return e[n]}.bind(null,o));return t},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,"a",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p="",r(r.s=69)}({69:function(e,n,r){"use strict";r.r(n);var t=function(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)};var o=function(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)};var i=function(e){return function(n,r,i){var u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10;if(o(n)&&t(r))if("function"==typeof i)if("number"==typeof u){var c={callback:i,priority:u,namespace:r};if(e[n]){var a,l=e[n].handlers;for(a=l.length;a>0&&!(u>=l[a-1].priority);a--);a===l.length?l[a]=c:l.splice(a,0,c),(e.__current||[]).forEach((function(e){e.name===n&&e.currentIndex>=a&&e.currentIndex++}))}else e[n]={handlers:[c],runs:0};"hookAdded"!==n&&p("hookAdded",n,r,i,u)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}};var u=function(e,n){return function(r,i){if(o(r)&&(n||t(i))){if(!e[r])return 0;var u=0;if(n)u=e[r].handlers.length,e[r]={runs:e[r].runs,handlers:[]};else for(var c=e[r].handlers,a=function(n){c[n].namespace===i&&(c.splice(n,1),u++,(e.__current||[]).forEach((function(e){e.name===r&&e.currentIndex>=n&&e.currentIndex--})))},l=c.length-1;l>=0;l--)a(l);return"hookRemoved"!==r&&p("hookRemoved",r,i),u}}};var c=function(e){return function(n,r){return void 0!==r?n in e&&e[n].handlers.some((function(e){return e.namespace===r})):n in e}};var a=function(e,n){return function(r){e[r]||(e[r]={handlers:[],runs:0}),e[r].runs++;var t=e[r].handlers;for(var o=arguments.length,i=new Array(o>1?o-1:0),u=1;u<o;u++)i[u-1]=arguments[u];if(!t||!t.length)return n?i[0]:void 0;var c={name:r,currentIndex:0};for(e.__current.push(c);c.currentIndex<t.length;){var a=t[c.currentIndex],l=a.callback.apply(null,i);n&&(i[0]=l),c.currentIndex++}return e.__current.pop(),n?i[0]:void 0}};var l=function(e){return function(){return e.__current&&e.__current.length?e.__current[e.__current.length-1].name:null}};var d=function(e){return function(n){return void 0===n?void 0!==e.__current[0]:!!e.__current[0]&&n===e.__current[0].name}};var s=function(e){return function(n){if(o(n))return e[n]&&e[n].runs?e[n].runs:0}};var f=function(){var e=Object.create(null),n=Object.create(null);return e.__current=[],n.__current=[],{addAction:i(e),addFilter:i(n),removeAction:u(e),removeFilter:u(n),hasAction:c(e),hasFilter:c(n),removeAllActions:u(e,!0),removeAllFilters:u(n,!0),doAction:a(e),applyFilters:a(n,!0),currentAction:l(e),currentFilter:l(n),doingAction:d(e),doingFilter:d(n),didAction:s(e),didFilter:s(n),actions:e,filters:n}},h=f(),p=(h.addAction,h.addFilter,h.removeAction,h.removeFilter,h.hasAction,h.hasFilter,h.removeAllActions,h.removeAllFilters,h.doAction);h.applyFilters,h.currentAction,h.currentFilter,h.doingAction,h.doingFilter,h.didAction,h.didFilter,h.actions,h.filters;window.isEditMode=!1,window.ea={hooks:f(),isEditMode:!1},jQuery(window).on("elementor/frontend/init",(function(){window.isEditMode=elementorFrontend.isEditMode(),window.ea.isEditMode=elementorFrontend.isEditMode(),ea.hooks.doAction("init"),ea.isEditMode&&ea.hooks.doAction("editMode.init")}))}});
|
assets/front-end/js/view/login-register.js
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/******/ (function(modules) { // webpackBootstrap
|
| 2 |
+
/******/ // The module cache
|
| 3 |
+
/******/ var installedModules = {};
|
| 4 |
+
/******/
|
| 5 |
+
/******/ // The require function
|
| 6 |
+
/******/ function __webpack_require__(moduleId) {
|
| 7 |
+
/******/
|
| 8 |
+
/******/ // Check if module is in cache
|
| 9 |
+
/******/ if(installedModules[moduleId]) {
|
| 10 |
+
/******/ return installedModules[moduleId].exports;
|
| 11 |
+
/******/ }
|
| 12 |
+
/******/ // Create a new module (and put it into the cache)
|
| 13 |
+
/******/ var module = installedModules[moduleId] = {
|
| 14 |
+
/******/ i: moduleId,
|
| 15 |
+
/******/ l: false,
|
| 16 |
+
/******/ exports: {}
|
| 17 |
+
/******/ };
|
| 18 |
+
/******/
|
| 19 |
+
/******/ // Execute the module function
|
| 20 |
+
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
| 21 |
+
/******/
|
| 22 |
+
/******/ // Flag the module as loaded
|
| 23 |
+
/******/ module.l = true;
|
| 24 |
+
/******/
|
| 25 |
+
/******/ // Return the exports of the module
|
| 26 |
+
/******/ return module.exports;
|
| 27 |
+
/******/ }
|
| 28 |
+
/******/
|
| 29 |
+
/******/
|
| 30 |
+
/******/ // expose the modules object (__webpack_modules__)
|
| 31 |
+
/******/ __webpack_require__.m = modules;
|
| 32 |
+
/******/
|
| 33 |
+
/******/ // expose the module cache
|
| 34 |
+
/******/ __webpack_require__.c = installedModules;
|
| 35 |
+
/******/
|
| 36 |
+
/******/ // define getter function for harmony exports
|
| 37 |
+
/******/ __webpack_require__.d = function(exports, name, getter) {
|
| 38 |
+
/******/ if(!__webpack_require__.o(exports, name)) {
|
| 39 |
+
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
| 40 |
+
/******/ }
|
| 41 |
+
/******/ };
|
| 42 |
+
/******/
|
| 43 |
+
/******/ // define __esModule on exports
|
| 44 |
+
/******/ __webpack_require__.r = function(exports) {
|
| 45 |
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
| 46 |
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
| 47 |
+
/******/ }
|
| 48 |
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
| 49 |
+
/******/ };
|
| 50 |
+
/******/
|
| 51 |
+
/******/ // create a fake namespace object
|
| 52 |
+
/******/ // mode & 1: value is a module id, require it
|
| 53 |
+
/******/ // mode & 2: merge all properties of value into the ns
|
| 54 |
+
/******/ // mode & 4: return value when already ns object
|
| 55 |
+
/******/ // mode & 8|1: behave like require
|
| 56 |
+
/******/ __webpack_require__.t = function(value, mode) {
|
| 57 |
+
/******/ if(mode & 1) value = __webpack_require__(value);
|
| 58 |
+
/******/ if(mode & 8) return value;
|
| 59 |
+
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
| 60 |
+
/******/ var ns = Object.create(null);
|
| 61 |
+
/******/ __webpack_require__.r(ns);
|
| 62 |
+
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
| 63 |
+
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
| 64 |
+
/******/ return ns;
|
| 65 |
+
/******/ };
|
| 66 |
+
/******/
|
| 67 |
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
| 68 |
+
/******/ __webpack_require__.n = function(module) {
|
| 69 |
+
/******/ var getter = module && module.__esModule ?
|
| 70 |
+
/******/ function getDefault() { return module['default']; } :
|
| 71 |
+
/******/ function getModuleExports() { return module; };
|
| 72 |
+
/******/ __webpack_require__.d(getter, 'a', getter);
|
| 73 |
+
/******/ return getter;
|
| 74 |
+
/******/ };
|
| 75 |
+
/******/
|
| 76 |
+
/******/ // Object.prototype.hasOwnProperty.call
|
| 77 |
+
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
| 78 |
+
/******/
|
| 79 |
+
/******/ // __webpack_public_path__
|
| 80 |
+
/******/ __webpack_require__.p = "";
|
| 81 |
+
/******/
|
| 82 |
+
/******/
|
| 83 |
+
/******/ // Load entry module and return exports
|
| 84 |
+
/******/ return __webpack_require__(__webpack_require__.s = "./src/js/view/login-register.js");
|
| 85 |
+
/******/ })
|
| 86 |
+
/************************************************************************/
|
| 87 |
+
/******/ ({
|
| 88 |
+
|
| 89 |
+
/***/ "./src/js/view/login-register.js":
|
| 90 |
+
/*!***************************************!*\
|
| 91 |
+
!*** ./src/js/view/login-register.js ***!
|
| 92 |
+
\***************************************/
|
| 93 |
+
/*! no static exports found */
|
| 94 |
+
/***/ (function(module, exports) {
|
| 95 |
+
|
| 96 |
+
eval("ea.hooks.addAction(\"init\", \"ea\", function () {\n var EALoginRegister = function EALoginRegister($scope, $) {\n var $loginFormWrapper = $scope.find(\"#eael-login-form-wrapper\");\n var $regFormWrapper = $scope.find(\"#eael-register-form-wrapper\");\n var $regLinkAction = $scope.find('#eael-lr-reg-toggle');\n var $loginLinkAction = $scope.find('#eael-lr-login-toggle');\n var $passField = $loginFormWrapper.find('#eael-user-password');\n\n if ('form' === $regLinkAction.data('action')) {\n $regLinkAction.on('click', function (e) {\n e.preventDefault();\n $loginFormWrapper.hide();\n $regFormWrapper.fadeIn();\n });\n }\n\n if ('form' === $loginLinkAction.data('action')) {\n $loginLinkAction.on('click', function (e) {\n e.preventDefault();\n $regFormWrapper.hide();\n $loginFormWrapper.fadeIn();\n });\n } // Password Visibility Toggle\n\n\n var pass_shown = false;\n $(document).on('click', '#wp-hide-pw', function (e) {\n var $icon = $(this).find('span'); // cache\n\n if (pass_shown) {\n $passField.attr('type', 'password');\n $icon.removeClass('dashicons-hidden').addClass('dashicons-visibility');\n pass_shown = false;\n } else {\n $passField.attr('type', 'text');\n $icon.removeClass('dashicons-visibility').addClass('dashicons-hidden');\n pass_shown = true;\n }\n });\n };\n\n elementorFrontend.hooks.addAction(\"frontend/element_ready/eael-login-register.default\", EALoginRegister);\n});\n\n//# sourceURL=webpack:///./src/js/view/login-register.js?");
|
| 97 |
+
|
| 98 |
+
/***/ })
|
| 99 |
+
|
| 100 |
+
/******/ });
|
assets/front-end/js/view/login-register.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
| 1 |
+
!function(e){var n={};function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var o in e)t.d(r,o,function(n){return e[n]}.bind(null,o));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=13)}({13:function(e,n){ea.hooks.addAction("init","ea",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-login-register.default",(function(e,n){var t=e.find("#eael-login-form-wrapper"),r=e.find("#eael-register-form-wrapper"),o=e.find("#eael-lr-reg-toggle"),i=e.find("#eael-lr-login-toggle"),a=t.find("#eael-user-password");"form"===o.data("action")&&o.on("click",(function(e){e.preventDefault(),t.hide(),r.fadeIn()})),"form"===i.data("action")&&i.on("click",(function(e){e.preventDefault(),r.hide(),t.fadeIn()}));var d=!1;n(document).on("click","#wp-hide-pw",(function(e){var t=n(this).find("span");d?(a.attr("type","password"),t.removeClass("dashicons-hidden").addClass("dashicons-visibility"),d=!1):(a.attr("type","text"),t.removeClass("dashicons-visibility").addClass("dashicons-hidden"),d=!0)}))}))}))}});
|
assets/front-end/js/view/post-grid.min.js
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=
|
| 1 |
+
!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=14)}({14:function(e,t){var n=function(e,t){var n=t(".eael-post-appender",e),o=n.data("layout-mode");"masonry"===o&&(n.isotope({itemSelector:".eael-grid-post",layoutMode:o,percentPosition:!0}),n.imagesLoaded().progress((function(){n.isotope("layout")})))};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-post-grid.default",n)}))}});
|
assets/front-end/js/view/price-table.min.js
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
!function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=
|
| 1 |
+
!function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=15)}({15:function(t,e){var n=function(t,e){if(e.fn.tooltipster){var n,r=t.find(".tooltip");for(n=0;n<r.length;n++){var o=e("#"+e(r[n]).attr("id")),a=void 0!==o.data("side")&&o.data("side"),i=void 0!==o.data("trigger")?o.data("trigger"):"hover",d=void 0!==o.data("animation")?o.data("animation"):"fade",u=void 0!==o.data("animation_duration")?o.data("animation_duration"):300,f=void 0!==o.data("theme")?o.data("theme"):"default",l="yes"==o.data("arrow");o.tooltipster({animation:d,trigger:i,side:a,delay:u,arrow:l,theme:"tooltipster-"+f})}}};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-pricing-table.default",n)}))}});
|
assets/front-end/js/view/progress-bar.min.js
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
!function(e){var r={};function t(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var o in e)t.d(n,o,function(r){return e[r]}.bind(null,o));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=
|
| 1 |
+
!function(e){var r={};function t(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var o in e)t.d(n,o,function(r){return e[r]}.bind(null,o));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=16)}({16:function(e,r){var t=function(e,r){var t=r(".eael-progressbar",e),n=t.data("layout"),o=t.data("count"),i=t.data("duration");o>100&&(o=100),t.one("inview",(function(){"line"==n?r(".eael-progressbar-line-fill",t).css({width:o+"%"}):"half_circle"==n&&r(".eael-progressbar-circle-half",t).css({transform:"rotate("+1.8*o+"deg)"}),ea.hooks.doAction("progressBar.initValue",t,n,o),r(".eael-progressbar-count",t).prop({counter:0}).animate({counter:o},{duration:i,easing:"linear",step:function(e){if("circle"==n||"circle_fill"==n){var o=3.6*e;r(".eael-progressbar-circle-half-left",t).css({transform:"rotate("+o+"deg)"}),o>180&&(r(".eael-progressbar-circle-pie",t).css({"-webkit-clip-path":"inset(0)","clip-path":"inset(0)"}),r(".eael-progressbar-circle-half-right",t).css({visibility:"visible"}))}r(this).text(Math.ceil(e))}})}))};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-progress-bar.default",t)}))}});
|
assets/front-end/js/view/reading-progress.min.js
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
!function(e){var r={};function a(s){if(r[s])return r[s].exports;var n=r[s]={i:s,l:!1,exports:{}};return e[s].call(n.exports,n,n.exports,a),n.l=!0,n.exports}a.m=e,a.c=r,a.d=function(e,r,s){a.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:s})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,r){if(1&r&&(e=a(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(a.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)a.d(s,n,function(r){return e[r]}.bind(null,n));return s},a.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(r,"a",r),r},a.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},a.p="",a(a.s=
|
| 1 |
+
!function(e){var r={};function a(s){if(r[s])return r[s].exports;var n=r[s]={i:s,l:!1,exports:{}};return e[s].call(n.exports,n,n.exports,a),n.l=!0,n.exports}a.m=e,a.c=r,a.d=function(e,r,s){a.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:s})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,r){if(1&r&&(e=a(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(a.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)a.d(s,n,function(r){return e[r]}.bind(null,n));return s},a.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(r,"a",r),r},a.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},a.p="",a(a.s=17)}({17:function(e,r){jQuery(document).ready((function(){jQuery(window).scroll((function(){var e=(document.body.scrollTop||document.documentElement.scrollTop)/(document.documentElement.scrollHeight-document.documentElement.clientHeight)*100;jQuery(".eael-reading-progress-fill").css({width:e+"%"})})),isEditMode&&(elementor.settings.page.addChangeCallback("eael_ext_reading_progress",(function(e){var r=elementor.settings.page.getSettings();"yes"==e?(0==jQuery(".eael-reading-progress-wrap").length&&jQuery("body").append('<div class="eael-reading-progress-wrap eael-reading-progress-wrap-local"><div class="eael-reading-progress eael-reading-progress-local eael-reading-progress-'+r.settings.eael_ext_reading_progress_position+'"><div class="eael-reading-progress-fill"></div></div><div class="eael-reading-progress eael-reading-progress-global eael-reading-progress-'+r.settings.eael_ext_reading_progress_position+'"><div class="eael-reading-progress-fill"></div></div></div>'),jQuery(".eael-reading-progress-wrap").addClass("eael-reading-progress-wrap-local").removeClass("eael-reading-progress-wrap-global eael-reading-progress-wrap-disabled")):(jQuery(".eael-reading-progress-wrap").removeClass("eael-reading-progress-wrap-local eael-reading-progress-wrap-global"),1==r.settings.eael_ext_reading_progress_has_global?jQuery(".eael-reading-progress-wrap").addClass("eael-reading-progress-wrap-global"):jQuery(".eael-reading-progress-wrap").addClass("eael-reading-progress-wrap-disabled"))})),elementor.settings.page.addChangeCallback("eael_ext_reading_progress_position",(function(e){elementor.settings.page.setSettings("eael_ext_reading_progress_position",e),jQuery(".eael-reading-progress").removeClass("eael-reading-progress-top eael-reading-progress-bottom").addClass("eael-reading-progress-"+e)})))}))}});
|
assets/front-end/js/view/sticky-video.min.js
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
!function(e){var t={};function i(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,i),r.l=!0,r.exports}i.m=e,i.c=t,i.d=function(e,t,o){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(i.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(o,r,function(t){return e[t]}.bind(null,r));return o},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=
|
| 1 |
+
!function(e){var t={};function i(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,i),r.l=!0,r.exports}i.m=e,i.c=t,i.d=function(e,t,o){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(i.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(o,r,function(t){return e[t]}.bind(null,r));return o},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=18)}({18:function(e,t){var i="",o=0,r=0,a=0,s="off",n=0;function l(e){var t=jQuery(e).parent().height(),i=n*t/100;return jQuery(e).parent().offset().top+i}function u(e,t,i){"top-left"==e&&(jQuery(".eael-sticky-video-player2.out").css("top","40px"),jQuery(".eael-sticky-video-player2.out").css("left","40px")),"top-right"==e&&(jQuery(".eael-sticky-video-player2.out").css("top","40px"),jQuery(".eael-sticky-video-player2.out").css("right","40px")),"bottom-right"==e&&(jQuery(".eael-sticky-video-player2.out").css("bottom","40px"),jQuery(".eael-sticky-video-player2.out").css("right","40px")),"bottom-left"==e&&(jQuery(".eael-sticky-video-player2.out").css("bottom","40px"),jQuery(".eael-sticky-video-player2.out").css("left","40px")),jQuery(".eael-sticky-video-player2.out").css("width",i+"px"),jQuery(".eael-sticky-video-player2.out").css("height",t+"px")}jQuery(window).on("elementor/frontend/init",(function(){isEditMode&&elementor.hooks.addAction("panel/open_editor/widget/eael-sticky-video",(function(e,t,i){var o;t.attributes.settings.on("change:eaelsv_sticky_width",(function(){clearTimeout(o),o=setTimeout((function(){var i=Math.ceil(t.getSetting("eaelsv_sticky_width")/1.78);t.attributes.settings.attributes.eaelsv_sticky_height=i,e.el.querySelector('[data-setting="eaelsv_sticky_height"]').value=i}),250)})),t.attributes.settings.on("change:eaelsv_sticky_height",(function(){clearTimeout(o),o=setTimeout((function(){var i=Math.ceil(1.78*t.getSetting("eaelsv_sticky_height"));t.attributes.settings.attributes.eaelsv_sticky_width=i,e.el.querySelector('[data-setting="eaelsv_sticky_width"]').value=i}),250)}))})),elementorFrontend.hooks.addAction("frontend/element_ready/eael-sticky-video.default",(function(e,t){t(".eaelsv-sticky-player-close",e).hide();var c,y,d,p=e.find(".eael-sticky-video-player2");c=p.data("sticky"),y=p.data("autoplay"),i=p.data("position"),r=p.data("sheight"),o=p.data("swidth"),d=p.data("overlay"),n=p.data("scroll_height"),u(i,r,o);var v,f=new Plyr("#eaelsv-player-"+e.data("id"));if("no"===d&&"yes"===y&&"yes"===c&&(a=l(p),p.attr("id","videobox"),s="on",v=p,f.on("play",(function(e){a=l(v),jQuery(".eael-sticky-video-player2").removeAttr("id"),jQuery(".eael-sticky-video-player2").removeClass("out"),v.attr("id","videobox"),s="on",i=v.data("position"),r=v.data("sheight"),o=v.data("swidth")}))),"yes"===d){var h=p.prev();s="off",t(h).on("click",(function(){t(".eael-sticky-video-wrapper > i").hide(),t(this).css("display","none"),f.play(),"yes"===t(this).next().data("autoplay")&&(f.restart(),a=l(this),"yes"===c&&(t(this).next().attr("id","videobox"),s="on"))}))}f.on("pause",(function(e){s="off"})),f.on("play",(function(e){s="on"})),t(".eaelsv-sticky-player-close").on("click",(function(){p.removeClass("out").addClass("in"),t(".eael-sticky-video-player2").removeAttr("style"),s="off"})),p.parent().css("height",p.height()+"px"),t(window).resize((function(){p.parent().css("height",p.height()+"px")}))}))})),jQuery(window).scroll((function(){var e=jQuery(window).scrollTop();jQuery(document).height()-e>jQuery(window).height()+400&&(e>=a?"on"==s&&(jQuery("#videobox").find(".eaelsv-sticky-player-close").css("display","block"),jQuery("#videobox").removeClass("in").addClass("out"),u(i,r,o)):(jQuery(".eaelsv-sticky-player-close").hide(),jQuery("#videobox").removeClass("out").addClass("in"),jQuery(".eael-sticky-video-player2").removeAttr("style")))}))}});
|
assets/front-end/js/view/table-of-content.min.js
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
!function(e){var t={};function a(l){if(t[l])return t[l].exports;var o=t[l]={i:l,l:!1,exports:{}};return e[l].call(o.exports,o,o.exports,a),o.l=!0,o.exports}a.m=e,a.c=t,a.d=function(e,t,l){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:l})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var l=Object.create(null);if(a.r(l),Object.defineProperty(l,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)a.d(l,o,function(t){return e[t]}.bind(null,o));return l},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=
|
| 1 |
+
!function(e){var t={};function a(l){if(t[l])return t[l].exports;var o=t[l]={i:l,l:!1,exports:{}};return e[l].call(o.exports,o,o.exports,a),o.l=!0,o.exports}a.m=e,a.c=t,a.d=function(e,t,l){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:l})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var l=Object.create(null);if(a.r(l),Object.defineProperty(l,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)a.d(l,o,function(t){return e[t]}.bind(null,o));return l},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=19)}({19:function(e,t){function a(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return l(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return l(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,l=new Array(t);a<t;a++)l[a]=e[a];return l}var o;o=jQuery,jQuery(document).ready((function(){function e(e,t){var c=document.getElementById("eael-toc-list");if(null===e||void 0===t||!c)return null;for(var r=document.getElementById("eael-toc"),s=void 0!==r.dataset.titleurl?r.dataset.titleurl:"false",i=void 0!==r.dataset.excludeSelector?r.dataset.excludeSelector.replace(/^,|,$/g,""):"",d=[],u=document.querySelectorAll(e),g=0,m=0;m<u.length;m++)d=[].concat(a(d),a(u[m].querySelectorAll(t)));(d=Array.from(new Set(d))).forEach((function(e){l(i,e)||(e.id=g+"-"+n(s,e.textContent),e.classList.add("eael-heading-content"),g++)})),function(e,t,a){var o=t,c=a,r=document.getElementById("eael-toc"),s=void 0!==r.dataset.titleurl?r.dataset.titleurl:"false",i=document.getElementById("eael-toc-list"),d=void 0!==r.dataset.excludeselector?r.dataset.excludeselector.replace(/^,|,$/g,""):"",u="",g=u=o.trim().split(",")[0].substr(1,1),m=i;i.innerHTML="",c.length>0&&document.getElementById("eael-toc").classList.remove("eael-toc-disable");for(var p=0,f=c.length;p<f;++p){var h=c[p];if(!l(d,h)){var _=parseInt(h.tagName.substr(1,1)),b=_-u;if(b>0){var v=m.lastChild;if(v){var C=document.createElement("UL");v.appendChild(C),m=C,u=_}}var y=!1;if(b<0){for(;0!=b++;)m.parentNode.parentNode&&(m=m.parentNode.parentNode);u=_,y=!0}if("UL"!==m.tagName&&(m=i),""!==h.textContent.trim()){var x=document.createElement("LI"),w=document.createElement("A"),k=document.createElement("SPAN");(g===u||y)&&(x.setAttribute("itemscope",""),x.setAttribute("itemtype","http://schema.org/ListItem"),x.setAttribute("itemprop","itemListElement"));var S="#"+p+"-"+n(s,h.textContent);w.className="eael-toc-link",w.setAttribute("itemprop","item"),w.setAttribute("href",S),k.appendChild(document.createTextNode(h.textContent)),w.appendChild(k),x.appendChild(w),m.appendChild(x)}}}}(0,t,d);var p=o("ul.eael-toc-list > li");p.length<1&&document.getElementById("eael-toc").classList.add("eael-toc-disable"),p.each((function(){this.classList.add("eael-first-child")}))}o(document).on("click","ul.eael-toc-list a",(function(e){e.preventDefault(),o(document).off("scroll");var t=this.hash;if(history.pushState("",document.title,window.location.pathname+window.location.search),o(this).parent().is(".eael-highlight-parent.eael-highlight-active"))return window.location.hash=t,!1;o(".eael-highlight-active, .eael-highlight-parent").removeClass("eael-highlight-active eael-highlight-parent"),o(this).closest(".eael-first-child").addClass("eael-highlight-parent"),o(this).parent().addClass("eael-highlight-active"),window.location.hash=t})),window.addEventListener("scroll",(function(e){var a;(a=document.getElementById("eael-toc"))&&(t=void 0!==t?t:200,window.pageYOffset>=t&&!a.classList.contains("eael-toc-disable")?a.classList.add("eael-sticky"):a.classList.remove("eael-sticky"))}));var t=o("#eael-toc").data("stickyscroll");function l(e,t){return o(t).closest(e).length}function n(e,t){return"true"==e&&""!=t?t.toString().toLowerCase().normalize("NFD").trim().replace(/[^a-z0-9 -]/g,"").replace(/\s+/g,"-").replace(/^-+/,"").replace(/-+$/,"").replace(/-+/g,"-"):"eael-table-of-content"}function c(){var e=document.getElementById("eael-toc");if(e&&e.dataset.contentselector)return e.dataset.contentselector;var t=".site-content";return o(".site-content")[0]?t=".site-content":o(".elementor-inner")[0]?t=".elementor-inner":o("#site-content")[0]&&(t="#site-content"),t}o("body").click((function(e){var t=o(e.target),a=o("#eael-toc");a.hasClass("eael-toc-auto-collapse")&&a.hasClass("eael-sticky")&&!a.hasClass("collapsed")&&0===o(t).closest("#eael-toc").length&&a.toggleClass("collapsed")})),o(document).on("click",".eael-toc-close ,.eael-toc-button",(function(e){e.stopPropagation(),o(".eael-toc").toggleClass("collapsed")}));var r=o("#eael-toc").data("eaeltoctag");""===r||isEditMode||e(c(),r),isEditMode&&(elementorFrontend.hooks.addAction("frontend/element_ready/widget",(function(t,a){var l=a("#eael-toc #eael-toc-list");if(l.find("li.eael-first-child").length<1&&l.length>=1){var o=a("#eael-toc").data("eaeltoctag");o&&e(c(),o)}})),elementor.settings.page.addChangeCallback("eael_ext_table_of_content",(function(t){var a=o(".eael-toc-global");if(a.length>0&&(a.attr("id","eael-toc-temp").removeClass("eael-toc").hide(),o(".eael-toc-global #eael-toc-list").attr("id","")),o("#eael-toc").remove(),"yes"===t){var l=elementor.settings.page.getSettings();o("body").append(function(e){var t=e.settings,a=t.eael_ext_toc_title,l="eael-toc-list eael-toc-list-"+t.eael_ext_table_of_content_list_style,o=t.eael_ext_table_of_content_header_icon.value,n="right"===t.eael_ext_toc_position?" eael-toc-right":" ";return l+="yes"===t.eael_ext_toc_collapse_sub_heading?" eael-toc-collapse":" ",'<div id="eael-toc" class="eael-toc eael-toc-disable '+n+'"><div class="eael-toc-header"><span class="eael-toc-close">×</span><h2 class="eael-toc-title">'+a+'</h2></div><div class="eael-toc-body"><ul id="eael-toc-list" class="'+(l+="number"===t.eael_ext_toc_list_icon?" eael-toc-number":" eael-toc-bullet")+'"></ul></div><button class="eael-toc-button"><i class="'+o+'"></i><span>'+a+"</span></button></div>"}(l)),e(c(),l.settings.eael_ext_toc_supported_heading_tag.join(", "))}else a.length>0&&a.addClass("eael-toc").attr("id","eael-toc").show()})),elementor.settings.page.addChangeCallback("eael_ext_toc_position",(function(e){"right"===e?o("#eael-toc").addClass("eael-toc-right"):o("#eael-toc").removeClass("eael-toc-right")})),elementor.settings.page.addChangeCallback("eael_ext_table_of_content_list_style",(function(e){var t=o(".eael-toc-list");t.removeClass("eael-toc-list-bar eael-toc-list-arrow"),"none"!==e&&t.addClass("eael-toc-list-"+e)})),elementor.settings.page.addChangeCallback("eael_ext_toc_collapse_sub_heading",(function(e){var t=o(".eael-toc-list");"yes"===e?t.addClass("eael-toc-collapse"):t.removeClass("eael-toc-collapse")})),elementor.settings.page.addChangeCallback("eael_ext_table_of_content_header_icon",(function(e){o(".eael-toc-button i").removeClass().addClass(e.value)})),elementor.settings.page.addChangeCallback("eael_ext_toc_list_icon",(function(e){var t=o(".eael-toc-list");"number"===e?t.addClass("eael-toc-number").removeClass("eael-toc-bullet"):t.addClass("eael-toc-bullet").removeClass("eael-toc-number")})),elementor.settings.page.addChangeCallback("eael_ext_toc_word_wrap",(function(e){var t=o(".eael-toc-list");"yes"===e?t.addClass("eael-toc-word-wrap"):t.removeClass("eael-toc-word-wrap")})),elementor.settings.page.addChangeCallback("eael_ext_toc_close_button_text_style",(function(e){var t=o("#eael-toc");"bottom_to_top"===e?t.addClass("eael-bottom-to-top"):t.removeClass("eael-bottom-to-top")})),elementor.settings.page.addChangeCallback("eael_ext_toc_box_shadow",(function(e){var t=o("#eael-toc");"yes"===e?t.addClass("eael-box-shadow"):t.removeClass("eael-box-shadow")})),elementor.settings.page.addChangeCallback("eael_ext_toc_auto_collapse",(function(e){var t=o("#eael-toc");"yes"===e?t.addClass("eael-toc-auto-collapse"):t.removeClass("eael-toc-auto-collapse")})),elementor.settings.page.addChangeCallback("eael_ext_toc_title",(function(e){elementorFrontend.elements.$document.find(".eael-toc-title").text(e),elementorFrontend.elements.$document.find(".eael-toc-button span").text(e)})))}))}});
|
assets/front-end/js/view/twitter-feed.min.js
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=
|
| 1 |
+
!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=20)}({20:function(e,t){var r=function(e,t){isEditMode||($gutter=t(".eael-twitter-feed-masonry",e).data("gutter"),$settings={itemSelector:".eael-twitter-feed-item",percentPosition:!0,masonry:{columnWidth:".eael-twitter-feed-item",gutter:$gutter}},$twitter_feed_gallery=t(".eael-twitter-feed-masonry",e).isotope($settings),$twitter_feed_gallery.imagesLoaded().progress((function(){$twitter_feed_gallery.isotope("layout")})))};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-twitter-feed.default",r)}))}});
|
assets/front-end/js/view/typeform.min.js
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=
|
| 1 |
+
!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=21)}({21:function(e,t){var r=function(e,t){if(typeformEmbed){var r=e.find(".eael-typeform"),n=r.attr("id"),o=r.data("typeform");if(void 0!==n&&void 0!==o){var i=document.getElementById(n);o.url&&typeformEmbed.makeWidget(i,o.url,{hideFooter:o.hideFooter,hideHeaders:o.hideHeaders,opacity:o.opacity})}}};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-typeform.default",r)}))}});
|
assets/front-end/js/view/woo-checkout.min.js
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
!function(e){var o={};function t(r){if(o[r])return o[r].exports;var n=o[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,t),n.l=!0,n.exports}t.m=e,t.c=o,t.d=function(e,o,r){t.o(e,o)||Object.defineProperty(e,o,{enumerable:!0,get:r})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,o){if(1&o&&(e=t(e)),8&o)return e;if(4&o&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&o&&"string"!=typeof e)for(var n in e)t.d(r,n,function(o){return e[o]}.bind(null,n));return r},t.n=function(e){var o=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(o,"a",o),o},t.o=function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},t.p="",t(t.s=
|
| 1 |
+
!function(e){var o={};function t(r){if(o[r])return o[r].exports;var n=o[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,t),n.l=!0,n.exports}t.m=e,t.c=o,t.d=function(e,o,r){t.o(e,o)||Object.defineProperty(e,o,{enumerable:!0,get:r})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,o){if(1&o&&(e=t(e)),8&o)return e;if(4&o&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&o&&"string"!=typeof e)for(var n in e)t.d(r,n,function(o){return e[o]}.bind(null,n));return r},t.n=function(e){var o=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(o,"a",o),o},t.o=function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},t.p="",t(t.s=22)}({22:function(e,o){var t=function(e,o){function t(){var e=o(".ea-woo-checkout");setTimeout((function(){o(".ea-checkout-review-order-table").addClass("processing").block({message:null,overlayCSS:{background:"#fff",opacity:.6}}),o.ajax({type:"POST",url:localize.ajaxurl,data:{action:"woo_checkout_update_order_review",orderReviewData:e.data("checkout")},success:function(e){o(".ea-checkout-review-order-table").replaceWith(e.order_review),setTimeout((function(){o(".ea-checkout-review-order-table").removeClass("processing").unblock()}),1e5)}})}),2e3)}o.blockUI.defaults.overlayCSS.cursor="default",o(document).on("click",".woocommerce-remove-coupon",(function(e){t()})),o("form.checkout_coupon").submit((function(e){t()}))};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-woo-checkout.default",t)}))}});
|
config.php
CHANGED
|
@@ -1,665 +1,665 @@
|
|
| 1 |
<?php
|
| 2 |
|
| 3 |
$config = [
|
| 4 |
-
'elements'
|
| 5 |
-
'post-grid'
|
| 6 |
-
'class'
|
| 7 |
'dependency' => [
|
| 8 |
'css' => [
|
| 9 |
[
|
| 10 |
-
'file'
|
| 11 |
-
'type'
|
| 12 |
'context' => 'view',
|
| 13 |
],
|
| 14 |
[
|
| 15 |
-
'file'
|
| 16 |
-
'type'
|
| 17 |
'context' => 'view',
|
| 18 |
],
|
| 19 |
[
|
| 20 |
-
'file'
|
| 21 |
-
'type'
|
| 22 |
'context' => 'view',
|
| 23 |
],
|
| 24 |
],
|
| 25 |
-
'js'
|
| 26 |
[
|
| 27 |
-
'file'
|
| 28 |
-
'type'
|
| 29 |
'context' => 'view',
|
| 30 |
],
|
| 31 |
[
|
| 32 |
-
'file'
|
| 33 |
-
'type'
|
| 34 |
'context' => 'view',
|
| 35 |
],
|
| 36 |
[
|
| 37 |
-
'file'
|
| 38 |
-
'type'
|
| 39 |
'context' => 'view',
|
| 40 |
],
|
| 41 |
[
|
| 42 |
-
'file'
|
| 43 |
-
'type'
|
| 44 |
'context' => 'view',
|
| 45 |
],
|
| 46 |
],
|
| 47 |
],
|
| 48 |
],
|
| 49 |
-
'post-timeline'
|
| 50 |
-
'class'
|
| 51 |
'dependency' => [
|
| 52 |
'css' => [
|
| 53 |
[
|
| 54 |
-
'file'
|
| 55 |
-
'type'
|
| 56 |
'context' => 'view',
|
| 57 |
],
|
| 58 |
[
|
| 59 |
-
'file'
|
| 60 |
-
'type'
|
| 61 |
'context' => 'view',
|
| 62 |
],
|
| 63 |
],
|
| 64 |
-
'js'
|
| 65 |
[
|
| 66 |
-
'file'
|
| 67 |
-
'type'
|
| 68 |
'context' => 'view',
|
| 69 |
],
|
| 70 |
],
|
| 71 |
],
|
| 72 |
],
|
| 73 |
-
'fancy-text'
|
| 74 |
-
'class'
|
| 75 |
'dependency' => [
|
| 76 |
'css' => [
|
| 77 |
[
|
| 78 |
-
'file'
|
| 79 |
-
'type'
|
| 80 |
'context' => 'view',
|
| 81 |
],
|
| 82 |
],
|
| 83 |
-
'js'
|
| 84 |
[
|
| 85 |
-
'file'
|
| 86 |
-
'type'
|
| 87 |
'context' => 'view',
|
| 88 |
],
|
| 89 |
[
|
| 90 |
-
'file'
|
| 91 |
-
'type'
|
| 92 |
'context' => 'view',
|
| 93 |
],
|
| 94 |
[
|
| 95 |
-
'file'
|
| 96 |
-
'type'
|
| 97 |
'context' => 'view',
|
| 98 |
],
|
| 99 |
],
|
| 100 |
],
|
| 101 |
],
|
| 102 |
-
'creative-btn'
|
| 103 |
-
'class'
|
| 104 |
'dependency' => [
|
| 105 |
'css' => [
|
| 106 |
[
|
| 107 |
-
'file'
|
| 108 |
-
'type'
|
| 109 |
'context' => 'view',
|
| 110 |
],
|
| 111 |
],
|
| 112 |
],
|
| 113 |
],
|
| 114 |
-
'count-down'
|
| 115 |
-
'class'
|
| 116 |
'dependency' => [
|
| 117 |
'css' => [
|
| 118 |
[
|
| 119 |
-
'file'
|
| 120 |
-
'type'
|
| 121 |
'context' => 'view',
|
| 122 |
],
|
| 123 |
],
|
| 124 |
-
'js'
|
| 125 |
[
|
| 126 |
-
'file'
|
| 127 |
-
'type'
|
| 128 |
'context' => 'view',
|
| 129 |
],
|
| 130 |
[
|
| 131 |
-
'file'
|
| 132 |
-
'type'
|
| 133 |
'context' => 'view',
|
| 134 |
],
|
| 135 |
],
|
| 136 |
],
|
| 137 |
],
|
| 138 |
-
'team-members'
|
| 139 |
-
'class'
|
| 140 |
'dependency' => [
|
| 141 |
'css' => [
|
| 142 |
[
|
| 143 |
-
'file'
|
| 144 |
-
'type'
|
| 145 |
'context' => 'view',
|
| 146 |
],
|
| 147 |
],
|
| 148 |
],
|
| 149 |
],
|
| 150 |
-
'testimonials'
|
| 151 |
-
'class'
|
| 152 |
'dependency' => [
|
| 153 |
'css' => [
|
| 154 |
[
|
| 155 |
-
'file'
|
| 156 |
-
'type'
|
| 157 |
'context' => 'view',
|
| 158 |
],
|
| 159 |
],
|
| 160 |
],
|
| 161 |
],
|
| 162 |
-
'info-box'
|
| 163 |
-
'class'
|
| 164 |
'dependency' => [
|
| 165 |
'css' => [
|
| 166 |
[
|
| 167 |
-
'file'
|
| 168 |
-
'type'
|
| 169 |
'context' => 'view',
|
| 170 |
],
|
| 171 |
],
|
| 172 |
],
|
| 173 |
],
|
| 174 |
-
'flip-box'
|
| 175 |
-
'class'
|
| 176 |
'dependency' => [
|
| 177 |
'css' => [
|
| 178 |
[
|
| 179 |
-
'file'
|
| 180 |
-
'type'
|
| 181 |
'context' => 'view',
|
| 182 |
],
|
| 183 |
],
|
| 184 |
],
|
| 185 |
],
|
| 186 |
-
'call-to-action'
|
| 187 |
-
'class'
|
| 188 |
'dependency' => [
|
| 189 |
'css' => [
|
| 190 |
[
|
| 191 |
-
'file'
|
| 192 |
-
'type'
|
| 193 |
'context' => 'view',
|
| 194 |
],
|
| 195 |
],
|
| 196 |
],
|
| 197 |
],
|
| 198 |
-
'dual-header'
|
| 199 |
-
'class'
|
| 200 |
'dependency' => [
|
| 201 |
'css' => [
|
| 202 |
[
|
| 203 |
-
'file'
|
| 204 |
-
'type'
|
| 205 |
'context' => 'view',
|
| 206 |
],
|
| 207 |
],
|
| 208 |
],
|
| 209 |
],
|
| 210 |
-
'price-table'
|
| 211 |
-
'class'
|
| 212 |
'dependency' => [
|
| 213 |
'css' => [
|
| 214 |
[
|
| 215 |
-
'file'
|
| 216 |
-
'type'
|
| 217 |
'context' => 'view',
|
| 218 |
],
|
| 219 |
[
|
| 220 |
-
'file'
|
| 221 |
-
'type'
|
| 222 |
'context' => 'view',
|
| 223 |
],
|
| 224 |
],
|
| 225 |
-
'js'
|
| 226 |
[
|
| 227 |
-
'file'
|
| 228 |
-
'type'
|
| 229 |
'context' => 'view',
|
| 230 |
],
|
| 231 |
[
|
| 232 |
-
'file'
|
| 233 |
-
'type'
|
| 234 |
'context' => 'view',
|
| 235 |
],
|
| 236 |
],
|
| 237 |
],
|
| 238 |
],
|
| 239 |
-
'twitter-feed'
|
| 240 |
-
'class'
|
| 241 |
'dependency' => [
|
| 242 |
'css' => [
|
| 243 |
[
|
| 244 |
-
'file'
|
| 245 |
-
'type'
|
| 246 |
'context' => 'view',
|
| 247 |
],
|
| 248 |
],
|
| 249 |
-
'js'
|
| 250 |
[
|
| 251 |
-
'file'
|
| 252 |
-
'type'
|
| 253 |
'context' => 'view',
|
| 254 |
],
|
| 255 |
[
|
| 256 |
-
'file'
|
| 257 |
-
'type'
|
| 258 |
'context' => 'view',
|
| 259 |
],
|
| 260 |
[
|
| 261 |
-
'file'
|
| 262 |
-
'type'
|
| 263 |
'context' => 'view',
|
| 264 |
],
|
| 265 |
],
|
| 266 |
],
|
| 267 |
],
|
| 268 |
-
'facebook-feed'
|
| 269 |
-
'class'
|
| 270 |
'dependency' => [
|
| 271 |
'css' => [
|
| 272 |
[
|
| 273 |
-
'file'
|
| 274 |
-
'type'
|
| 275 |
'context' => 'view',
|
| 276 |
],
|
| 277 |
[
|
| 278 |
-
'file'
|
| 279 |
-
'type'
|
| 280 |
'context' => 'view',
|
| 281 |
],
|
| 282 |
],
|
| 283 |
-
'js'
|
| 284 |
[
|
| 285 |
-
'file'
|
| 286 |
-
'type'
|
| 287 |
'context' => 'view',
|
| 288 |
],
|
| 289 |
[
|
| 290 |
-
'file'
|
| 291 |
-
'type'
|
| 292 |
'context' => 'view',
|
| 293 |
],
|
| 294 |
[
|
| 295 |
-
'file'
|
| 296 |
-
'type'
|
| 297 |
'context' => 'view',
|
| 298 |
],
|
| 299 |
],
|
| 300 |
],
|
| 301 |
],
|
| 302 |
-
'advanced-data-table'
|
| 303 |
-
'class'
|
| 304 |
'dependency' => [
|
| 305 |
'css' => [
|
| 306 |
[
|
| 307 |
-
'file'
|
| 308 |
-
'type'
|
| 309 |
'context' => 'edit',
|
| 310 |
],
|
| 311 |
[
|
| 312 |
-
'file'
|
| 313 |
-
'type'
|
| 314 |
'context' => 'view',
|
| 315 |
],
|
| 316 |
],
|
| 317 |
-
'js'
|
| 318 |
[
|
| 319 |
-
'file'
|
| 320 |
-
'type'
|
| 321 |
'context' => 'edit',
|
| 322 |
],
|
| 323 |
[
|
| 324 |
-
'file'
|
| 325 |
-
'type'
|
| 326 |
'context' => 'view',
|
| 327 |
],
|
| 328 |
[
|
| 329 |
-
'file'
|
| 330 |
-
'type'
|
| 331 |
'context' => 'edit',
|
| 332 |
],
|
| 333 |
],
|
| 334 |
],
|
| 335 |
],
|
| 336 |
-
'data-table'
|
| 337 |
-
'class'
|
| 338 |
'dependency' => [
|
| 339 |
'css' => [
|
| 340 |
[
|
| 341 |
-
'file'
|
| 342 |
-
'type'
|
| 343 |
'context' => 'view',
|
| 344 |
],
|
| 345 |
],
|
| 346 |
-
'js'
|
| 347 |
[
|
| 348 |
-
'file'
|
| 349 |
-
'type'
|
| 350 |
'context' => 'view',
|
| 351 |
],
|
| 352 |
],
|
| 353 |
],
|
| 354 |
],
|
| 355 |
-
'filter-gallery'
|
| 356 |
-
'class'
|
| 357 |
'dependency' => [
|
| 358 |
'css' => [
|
| 359 |
[
|
| 360 |
-
'file'
|
| 361 |
-
'type'
|
| 362 |
'context' => 'view',
|
| 363 |
],
|
| 364 |
[
|
| 365 |
-
'file'
|
| 366 |
-
'type'
|
| 367 |
'context' => 'view',
|
| 368 |
],
|
| 369 |
[
|
| 370 |
-
'file'
|
| 371 |
-
'type'
|
| 372 |
'context' => 'view',
|
| 373 |
],
|
| 374 |
],
|
| 375 |
-
'js'
|
| 376 |
[
|
| 377 |
-
'file'
|
| 378 |
-
'type'
|
| 379 |
'context' => 'view',
|
| 380 |
],
|
| 381 |
[
|
| 382 |
-
'file'
|
| 383 |
-
'type'
|
| 384 |
'context' => 'view',
|
| 385 |
],
|
| 386 |
[
|
| 387 |
-
'file'
|
| 388 |
-
'type'
|
| 389 |
'context' => 'view',
|
| 390 |
],
|
| 391 |
[
|
| 392 |
-
'file'
|
| 393 |
-
'type'
|
| 394 |
'context' => 'view',
|
| 395 |
],
|
| 396 |
],
|
| 397 |
],
|
| 398 |
],
|
| 399 |
-
'image-accordion'
|
| 400 |
-
'class'
|
| 401 |
'dependency' => [
|
| 402 |
'css' => [
|
| 403 |
[
|
| 404 |
-
'file'
|
| 405 |
-
'type'
|
| 406 |
'context' => 'view',
|
| 407 |
],
|
| 408 |
],
|
| 409 |
-
'js'
|
| 410 |
[
|
| 411 |
-
'file'
|
| 412 |
-
'type'
|
| 413 |
'context' => 'view',
|
| 414 |
],
|
| 415 |
],
|
| 416 |
],
|
| 417 |
],
|
| 418 |
-
'content-ticker'
|
| 419 |
-
'class'
|
| 420 |
'dependency' => [
|
| 421 |
'css' => [
|
| 422 |
[
|
| 423 |
-
'file'
|
| 424 |
-
'type'
|
| 425 |
'context' => 'view',
|
| 426 |
],
|
| 427 |
],
|
| 428 |
-
'js'
|
| 429 |
[
|
| 430 |
-
'file'
|
| 431 |
-
'type'
|
| 432 |
'context' => 'view',
|
| 433 |
],
|
| 434 |
],
|
| 435 |
],
|
| 436 |
],
|
| 437 |
-
'tooltip'
|
| 438 |
-
'class'
|
| 439 |
'dependency' => [
|
| 440 |
'css' => [
|
| 441 |
|
| 442 |
[
|
| 443 |
-
'file'
|
| 444 |
-
'type'
|
| 445 |
'context' => 'view',
|
| 446 |
],
|
| 447 |
],
|
| 448 |
],
|
| 449 |
],
|
| 450 |
-
'adv-accordion'
|
| 451 |
-
'class'
|
| 452 |
'dependency' => [
|
| 453 |
'css' => [
|
| 454 |
[
|
| 455 |
-
'file'
|
| 456 |
-
'type'
|
| 457 |
'context' => 'view',
|
| 458 |
],
|
| 459 |
],
|
| 460 |
-
'js'
|
| 461 |
[
|
| 462 |
-
'file'
|
| 463 |
-
'type'
|
| 464 |
'context' => 'view',
|
| 465 |
],
|
| 466 |
],
|
| 467 |
],
|
| 468 |
],
|
| 469 |
-
'adv-tabs'
|
| 470 |
-
'class'
|
| 471 |
'dependency' => [
|
| 472 |
'css' => [
|
| 473 |
[
|
| 474 |
-
'file'
|
| 475 |
-
'type'
|
| 476 |
'context' => 'view',
|
| 477 |
],
|
| 478 |
],
|
| 479 |
-
'js'
|
| 480 |
[
|
| 481 |
-
'file'
|
| 482 |
-
'type'
|
| 483 |
'context' => 'view',
|
| 484 |
],
|
| 485 |
],
|
| 486 |
],
|
| 487 |
],
|
| 488 |
-
'progress-bar'
|
| 489 |
-
'class'
|
| 490 |
'dependency' => [
|
| 491 |
'css' => [
|
| 492 |
[
|
| 493 |
-
'file'
|
| 494 |
-
'type'
|
| 495 |
'context' => 'view',
|
| 496 |
],
|
| 497 |
],
|
| 498 |
-
'js'
|
| 499 |
[
|
| 500 |
-
'file'
|
| 501 |
-
'type'
|
| 502 |
'context' => 'view',
|
| 503 |
],
|
| 504 |
[
|
| 505 |
-
'file'
|
| 506 |
-
'type'
|
| 507 |
'context' => 'view',
|
| 508 |
],
|
| 509 |
],
|
| 510 |
],
|
| 511 |
],
|
| 512 |
-
'feature-list'
|
| 513 |
-
'class'
|
| 514 |
'dependency' => [
|
| 515 |
'css' => [
|
| 516 |
[
|
| 517 |
-
'file'
|
| 518 |
-
'type'
|
| 519 |
'context' => 'view',
|
| 520 |
],
|
| 521 |
],
|
| 522 |
],
|
| 523 |
],
|
| 524 |
-
'product-grid'
|
| 525 |
-
'class'
|
| 526 |
'dependency' => [
|
| 527 |
'css' => [
|
| 528 |
[
|
| 529 |
-
'file'
|
| 530 |
-
'type'
|
| 531 |
'context' => 'view',
|
| 532 |
],
|
| 533 |
[
|
| 534 |
-
'file'
|
| 535 |
-
'type'
|
| 536 |
'context' => 'view',
|
| 537 |
],
|
| 538 |
],
|
| 539 |
-
'js'
|
| 540 |
[
|
| 541 |
-
'file'
|
| 542 |
-
'type'
|
| 543 |
'context' => 'view',
|
| 544 |
],
|
| 545 |
],
|
| 546 |
],
|
| 547 |
],
|
| 548 |
-
'contact-form-7'
|
| 549 |
-
'class'
|
| 550 |
'dependency' => [
|
| 551 |
'css' => [
|
| 552 |
[
|
| 553 |
-
'file'
|
| 554 |
-
'type'
|
| 555 |
'context' => 'view',
|
| 556 |
],
|
| 557 |
],
|
| 558 |
],
|
| 559 |
],
|
| 560 |
-
'weforms'
|
| 561 |
-
'class'
|
| 562 |
'dependency' => [
|
| 563 |
'css' => [
|
| 564 |
[
|
| 565 |
-
'file'
|
| 566 |
-
'type'
|
| 567 |
'context' => 'view',
|
| 568 |
],
|
| 569 |
],
|
| 570 |
],
|
| 571 |
],
|
| 572 |
-
'ninja-form'
|
| 573 |
-
'class'
|
| 574 |
'dependency' => [
|
| 575 |
'css' => [
|
| 576 |
[
|
| 577 |
-
'file'
|
| 578 |
-
'type'
|
| 579 |
'context' => 'view',
|
| 580 |
],
|
| 581 |
],
|
| 582 |
],
|
| 583 |
],
|
| 584 |
-
'formstack'
|
| 585 |
-
'class'
|
| 586 |
'dependency' => [
|
| 587 |
'css' => [
|
| 588 |
[
|
| 589 |
-
'file'
|
| 590 |
-
'type'
|
| 591 |
'context' => 'view',
|
| 592 |
],
|
| 593 |
],
|
| 594 |
],
|
| 595 |
],
|
| 596 |
-
'gravity-form'
|
| 597 |
-
'class'
|
| 598 |
'dependency' => [
|
| 599 |
'css' => [
|
| 600 |
[
|
| 601 |
-
'file'
|
| 602 |
-
'type'
|
| 603 |
'context' => 'view',
|
| 604 |
],
|
| 605 |
],
|
| 606 |
],
|
| 607 |
],
|
| 608 |
-
'caldera-form'
|
| 609 |
-
'class'
|
| 610 |
'dependency' => [
|
| 611 |
'css' => [
|
| 612 |
[
|
| 613 |
-
'file'
|
| 614 |
-
'type'
|
| 615 |
'context' => 'view',
|
| 616 |
],
|
| 617 |
],
|
| 618 |
],
|
| 619 |
],
|
| 620 |
-
'wpforms'
|
| 621 |
-
'class'
|
| 622 |
'dependency' => [
|
| 623 |
'css' => [
|
| 624 |
[
|
| 625 |
-
'file'
|
| 626 |
-
'type'
|
| 627 |
'context' => 'view',
|
| 628 |
],
|
| 629 |
],
|
| 630 |
],
|
| 631 |
],
|
| 632 |
-
'fluentform'
|
| 633 |
-
'class'
|
| 634 |
'dependency' => [
|
| 635 |
'css' => [
|
| 636 |
[
|
| 637 |
-
'file'
|
| 638 |
-
'type'
|
| 639 |
'context' => 'view',
|
| 640 |
],
|
| 641 |
],
|
| 642 |
],
|
| 643 |
],
|
| 644 |
-
'typeform'
|
| 645 |
-
'class'
|
| 646 |
'dependency' => [
|
| 647 |
'css' => [
|
| 648 |
[
|
| 649 |
-
'file'
|
| 650 |
-
'type'
|
| 651 |
'context' => 'view',
|
| 652 |
],
|
| 653 |
],
|
| 654 |
-
'js'
|
| 655 |
[
|
| 656 |
-
'file'
|
| 657 |
-
'type'
|
| 658 |
'context' => 'view',
|
| 659 |
],
|
| 660 |
[
|
| 661 |
-
'file'
|
| 662 |
-
'type'
|
| 663 |
'context' => 'view',
|
| 664 |
],
|
| 665 |
],
|
|
@@ -667,215 +667,242 @@ $config = [
|
|
| 667 |
],
|
| 668 |
'betterdocs-category-grid' => [
|
| 669 |
'class' => '\Essential_Addons_Elementor\Elements\Betterdocs_Category_Grid',
|
| 670 |
-
'dependency'
|
| 671 |
-
'css'
|
| 672 |
[
|
| 673 |
-
'file'
|
| 674 |
-
'type'
|
| 675 |
-
'context'
|
| 676 |
-
]
|
| 677 |
],
|
| 678 |
-
'js'
|
| 679 |
[
|
| 680 |
-
'file'
|
| 681 |
-
'type'
|
| 682 |
'context' => 'view',
|
| 683 |
],
|
| 684 |
[
|
| 685 |
-
'file'
|
| 686 |
-
'type'
|
| 687 |
'context' => 'view',
|
| 688 |
-
]
|
| 689 |
-
]
|
| 690 |
-
]
|
| 691 |
],
|
| 692 |
-
'betterdocs-category-box'
|
| 693 |
'class' => '\Essential_Addons_Elementor\Elements\Betterdocs_Category_Box',
|
| 694 |
-
'dependency'
|
| 695 |
-
'css'
|
| 696 |
[
|
| 697 |
-
'file'
|
| 698 |
-
'type'
|
| 699 |
-
'context'
|
| 700 |
-
]
|
| 701 |
],
|
| 702 |
-
]
|
| 703 |
],
|
| 704 |
-
'betterdocs-search-form'
|
| 705 |
'class' => '\Essential_Addons_Elementor\Elements\Betterdocs_Search_Form',
|
| 706 |
],
|
| 707 |
-
'sticky-video'
|
| 708 |
-
'class'
|
| 709 |
'dependency' => [
|
| 710 |
'css' => [
|
| 711 |
[
|
| 712 |
-
'file'
|
| 713 |
-
'type'
|
| 714 |
'context' => 'view',
|
| 715 |
],
|
| 716 |
[
|
| 717 |
-
'file'
|
| 718 |
-
'type'
|
| 719 |
'context' => 'view',
|
| 720 |
],
|
| 721 |
],
|
| 722 |
-
'js'
|
| 723 |
[
|
| 724 |
-
'file'
|
| 725 |
-
'type'
|
| 726 |
'context' => 'view',
|
| 727 |
],
|
| 728 |
[
|
| 729 |
-
'file'
|
| 730 |
-
'type'
|
| 731 |
'context' => 'view',
|
| 732 |
],
|
| 733 |
],
|
| 734 |
],
|
| 735 |
],
|
| 736 |
-
'event-calendar'
|
| 737 |
-
'class'
|
| 738 |
'dependency' => [
|
| 739 |
'css' => [
|
| 740 |
[
|
| 741 |
-
'file'
|
| 742 |
-
'type'
|
| 743 |
'context' => 'view',
|
| 744 |
],
|
| 745 |
[
|
| 746 |
-
'file'
|
| 747 |
-
'type'
|
| 748 |
'context' => 'view',
|
| 749 |
],
|
| 750 |
[
|
| 751 |
-
'file'
|
| 752 |
-
'type'
|
| 753 |
'context' => 'view',
|
| 754 |
],
|
| 755 |
[
|
| 756 |
-
'file'
|
| 757 |
-
'type'
|
| 758 |
'context' => 'view',
|
| 759 |
],
|
| 760 |
[
|
| 761 |
-
'file'
|
| 762 |
-
'type'
|
| 763 |
'context' => 'view',
|
| 764 |
],
|
| 765 |
],
|
| 766 |
-
'js'
|
| 767 |
[
|
| 768 |
-
'file'
|
| 769 |
-
'type'
|
| 770 |
'context' => 'view',
|
| 771 |
],
|
| 772 |
[
|
| 773 |
-
'file'
|
| 774 |
-
'type'
|
| 775 |
'context' => 'view',
|
| 776 |
],
|
| 777 |
[
|
| 778 |
-
'file'
|
| 779 |
-
'type'
|
| 780 |
'context' => 'view',
|
| 781 |
],
|
| 782 |
[
|
| 783 |
-
'file'
|
| 784 |
-
'type'
|
| 785 |
'context' => 'view',
|
| 786 |
],
|
| 787 |
[
|
| 788 |
-
'file'
|
| 789 |
-
'type'
|
| 790 |
'context' => 'view',
|
| 791 |
],
|
| 792 |
[
|
| 793 |
-
'file'
|
| 794 |
-
'type'
|
| 795 |
'context' => 'view',
|
| 796 |
],
|
| 797 |
[
|
| 798 |
-
'file'
|
| 799 |
-
'type'
|
| 800 |
'context' => 'view',
|
| 801 |
],
|
| 802 |
],
|
| 803 |
],
|
| 804 |
],
|
| 805 |
-
'embedpress'
|
| 806 |
-
'class'
|
| 807 |
'condition' => [
|
| 808 |
'class_exists',
|
| 809 |
'\EmbedPress\Elementor\Embedpress_Elementor_Integration',
|
| 810 |
true,
|
| 811 |
],
|
| 812 |
],
|
| 813 |
-
'woo-checkout'
|
| 814 |
-
'class'
|
| 815 |
'dependency' => [
|
| 816 |
'css' => [
|
| 817 |
[
|
| 818 |
-
'file'
|
| 819 |
-
'type'
|
| 820 |
'context' => 'view',
|
| 821 |
],
|
| 822 |
],
|
| 823 |
-
'js'
|
| 824 |
[
|
| 825 |
-
'file'
|
| 826 |
-
'type'
|
| 827 |
'context' => 'view',
|
| 828 |
],
|
| 829 |
],
|
| 830 |
],
|
| 831 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 832 |
],
|
| 833 |
'extensions' => [
|
| 834 |
-
'eael-promotion'
|
| 835 |
'class' => '\Essential_Addons_Elementor\Extensions\Promotion',
|
| 836 |
],
|
| 837 |
-
'eael-custom-js'
|
| 838 |
'class' => '\Essential_Addons_Elementor\Extensions\Custom_JS',
|
| 839 |
],
|
| 840 |
'eael-reading-progress' => [
|
| 841 |
-
'class'
|
| 842 |
'dependency' => [
|
| 843 |
'css' => [
|
| 844 |
[
|
| 845 |
-
'file'
|
| 846 |
-
'type'
|
| 847 |
'context' => 'view',
|
| 848 |
],
|
| 849 |
],
|
| 850 |
-
'js'
|
| 851 |
[
|
| 852 |
-
'file'
|
| 853 |
-
'type'
|
| 854 |
'context' => 'view',
|
| 855 |
],
|
| 856 |
],
|
| 857 |
],
|
| 858 |
],
|
| 859 |
'eael-table-of-content' => [
|
| 860 |
-
'class'
|
| 861 |
'dependency' => [
|
| 862 |
'css' => [
|
| 863 |
[
|
| 864 |
-
'file'
|
| 865 |
-
'type'
|
| 866 |
'context' => 'view',
|
| 867 |
],
|
| 868 |
],
|
| 869 |
-
'js'
|
| 870 |
[
|
| 871 |
-
'file'
|
| 872 |
-
'type'
|
| 873 |
'context' => 'view',
|
| 874 |
],
|
| 875 |
],
|
| 876 |
],
|
| 877 |
],
|
| 878 |
-
'eael-post-duplicator'
|
| 879 |
'class' => '\Essential_Addons_Elementor\Extensions\Post_Duplicator',
|
| 880 |
],
|
| 881 |
],
|
| 1 |
<?php
|
| 2 |
|
| 3 |
$config = [
|
| 4 |
+
'elements' => [
|
| 5 |
+
'post-grid' => [
|
| 6 |
+
'class' => '\Essential_Addons_Elementor\Elements\Post_Grid',
|
| 7 |
'dependency' => [
|
| 8 |
'css' => [
|
| 9 |
[
|
| 10 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/load-more.min.css',
|
| 11 |
+
'type' => 'self',
|
| 12 |
'context' => 'view',
|
| 13 |
],
|
| 14 |
[
|
| 15 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/post-grid.min.css',
|
| 16 |
+
'type' => 'self',
|
| 17 |
'context' => 'view',
|
| 18 |
],
|
| 19 |
[
|
| 20 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/product-grid.min.css',
|
| 21 |
+
'type' => 'self',
|
| 22 |
'context' => 'view',
|
| 23 |
],
|
| 24 |
],
|
| 25 |
+
'js' => [
|
| 26 |
[
|
| 27 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/imagesloaded/imagesloaded.pkgd.min.js',
|
| 28 |
+
'type' => 'lib',
|
| 29 |
'context' => 'view',
|
| 30 |
],
|
| 31 |
[
|
| 32 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/isotope/isotope.pkgd.min.js',
|
| 33 |
+
'type' => 'lib',
|
| 34 |
'context' => 'view',
|
| 35 |
],
|
| 36 |
[
|
| 37 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/load-more.min.js',
|
| 38 |
+
'type' => 'self',
|
| 39 |
'context' => 'view',
|
| 40 |
],
|
| 41 |
[
|
| 42 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/post-grid.min.js',
|
| 43 |
+
'type' => 'self',
|
| 44 |
'context' => 'view',
|
| 45 |
],
|
| 46 |
],
|
| 47 |
],
|
| 48 |
],
|
| 49 |
+
'post-timeline' => [
|
| 50 |
+
'class' => '\Essential_Addons_Elementor\Elements\Post_Timeline',
|
| 51 |
'dependency' => [
|
| 52 |
'css' => [
|
| 53 |
[
|
| 54 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/load-more.min.css',
|
| 55 |
+
'type' => 'self',
|
| 56 |
'context' => 'view',
|
| 57 |
],
|
| 58 |
[
|
| 59 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/post-timeline.min.css',
|
| 60 |
+
'type' => 'self',
|
| 61 |
'context' => 'view',
|
| 62 |
],
|
| 63 |
],
|
| 64 |
+
'js' => [
|
| 65 |
[
|
| 66 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/load-more.min.js',
|
| 67 |
+
'type' => 'self',
|
| 68 |
'context' => 'view',
|
| 69 |
],
|
| 70 |
],
|
| 71 |
],
|
| 72 |
],
|
| 73 |
+
'fancy-text' => [
|
| 74 |
+
'class' => '\Essential_Addons_Elementor\Elements\Fancy_Text',
|
| 75 |
'dependency' => [
|
| 76 |
'css' => [
|
| 77 |
[
|
| 78 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/fancy-text.min.css',
|
| 79 |
+
'type' => 'self',
|
| 80 |
'context' => 'view',
|
| 81 |
],
|
| 82 |
],
|
| 83 |
+
'js' => [
|
| 84 |
[
|
| 85 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/morphext/morphext.min.js',
|
| 86 |
+
'type' => 'lib',
|
| 87 |
'context' => 'view',
|
| 88 |
],
|
| 89 |
[
|
| 90 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/typed/typed.min.js',
|
| 91 |
+
'type' => 'lib',
|
| 92 |
'context' => 'view',
|
| 93 |
],
|
| 94 |
[
|
| 95 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/fancy-text.min.js',
|
| 96 |
+
'type' => 'self',
|
| 97 |
'context' => 'view',
|
| 98 |
],
|
| 99 |
],
|
| 100 |
],
|
| 101 |
],
|
| 102 |
+
'creative-btn' => [
|
| 103 |
+
'class' => '\Essential_Addons_Elementor\Elements\Creative_Button',
|
| 104 |
'dependency' => [
|
| 105 |
'css' => [
|
| 106 |
[
|
| 107 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/creative-btn.min.css',
|
| 108 |
+
'type' => 'self',
|
| 109 |
'context' => 'view',
|
| 110 |
],
|
| 111 |
],
|
| 112 |
],
|
| 113 |
],
|
| 114 |
+
'count-down' => [
|
| 115 |
+
'class' => '\Essential_Addons_Elementor\Elements\Countdown',
|
| 116 |
'dependency' => [
|
| 117 |
'css' => [
|
| 118 |
[
|
| 119 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/count-down.min.css',
|
| 120 |
+
'type' => 'self',
|
| 121 |
'context' => 'view',
|
| 122 |
],
|
| 123 |
],
|
| 124 |
+
'js' => [
|
| 125 |
[
|
| 126 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/countdown/countdown.min.js',
|
| 127 |
+
'type' => 'lib',
|
| 128 |
'context' => 'view',
|
| 129 |
],
|
| 130 |
[
|
| 131 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/count-down.min.js',
|
| 132 |
+
'type' => 'self',
|
| 133 |
'context' => 'view',
|
| 134 |
],
|
| 135 |
],
|
| 136 |
],
|
| 137 |
],
|
| 138 |
+
'team-members' => [
|
| 139 |
+
'class' => '\Essential_Addons_Elementor\Elements\Team_Member',
|
| 140 |
'dependency' => [
|
| 141 |
'css' => [
|
| 142 |
[
|
| 143 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/team-members.min.css',
|
| 144 |
+
'type' => 'self',
|
| 145 |
'context' => 'view',
|
| 146 |
],
|
| 147 |
],
|
| 148 |
],
|
| 149 |
],
|
| 150 |
+
'testimonials' => [
|
| 151 |
+
'class' => '\Essential_Addons_Elementor\Elements\Testimonial',
|
| 152 |
'dependency' => [
|
| 153 |
'css' => [
|
| 154 |
[
|
| 155 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/testimonials.min.css',
|
| 156 |
+
'type' => 'self',
|
| 157 |
'context' => 'view',
|
| 158 |
],
|
| 159 |
],
|
| 160 |
],
|
| 161 |
],
|
| 162 |
+
'info-box' => [
|
| 163 |
+
'class' => '\Essential_Addons_Elementor\Elements\Info_Box',
|
| 164 |
'dependency' => [
|
| 165 |
'css' => [
|
| 166 |
[
|
| 167 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/info-box.min.css',
|
| 168 |
+
'type' => 'self',
|
| 169 |
'context' => 'view',
|
| 170 |
],
|
| 171 |
],
|
| 172 |
],
|
| 173 |
],
|
| 174 |
+
'flip-box' => [
|
| 175 |
+
'class' => '\Essential_Addons_Elementor\Elements\Flip_Box',
|
| 176 |
'dependency' => [
|
| 177 |
'css' => [
|
| 178 |
[
|
| 179 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/flip-box.min.css',
|
| 180 |
+
'type' => 'self',
|
| 181 |
'context' => 'view',
|
| 182 |
],
|
| 183 |
],
|
| 184 |
],
|
| 185 |
],
|
| 186 |
+
'call-to-action' => [
|
| 187 |
+
'class' => '\Essential_Addons_Elementor\Elements\Cta_Box',
|
| 188 |
'dependency' => [
|
| 189 |
'css' => [
|
| 190 |
[
|
| 191 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/call-to-action.min.css',
|
| 192 |
+
'type' => 'self',
|
| 193 |
'context' => 'view',
|
| 194 |
],
|
| 195 |
],
|
| 196 |
],
|
| 197 |
],
|
| 198 |
+
'dual-header' => [
|
| 199 |
+
'class' => '\Essential_Addons_Elementor\Elements\Dual_Color_Header',
|
| 200 |
'dependency' => [
|
| 201 |
'css' => [
|
| 202 |
[
|
| 203 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/dual-header.min.css',
|
| 204 |
+
'type' => 'self',
|
| 205 |
'context' => 'view',
|
| 206 |
],
|
| 207 |
],
|
| 208 |
],
|
| 209 |
],
|
| 210 |
+
'price-table' => [
|
| 211 |
+
'class' => '\Essential_Addons_Elementor\Elements\Pricing_Table',
|
| 212 |
'dependency' => [
|
| 213 |
'css' => [
|
| 214 |
[
|
| 215 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/lib-view/tooltipster/tooltipster.bundle.min.css',
|
| 216 |
+
'type' => 'lib',
|
| 217 |
'context' => 'view',
|
| 218 |
],
|
| 219 |
[
|
| 220 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/price-table.min.css',
|
| 221 |
+
'type' => 'self',
|
| 222 |
'context' => 'view',
|
| 223 |
],
|
| 224 |
],
|
| 225 |
+
'js' => [
|
| 226 |
[
|
| 227 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/tooltipster/tooltipster.bundle.min.js',
|
| 228 |
+
'type' => 'lib',
|
| 229 |
'context' => 'view',
|
| 230 |
],
|
| 231 |
[
|
| 232 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/price-table.min.js',
|
| 233 |
+
'type' => 'self',
|
| 234 |
'context' => 'view',
|
| 235 |
],
|
| 236 |
],
|
| 237 |
],
|
| 238 |
],
|
| 239 |
+
'twitter-feed' => [
|
| 240 |
+
'class' => '\Essential_Addons_Elementor\Elements\Twitter_Feed',
|
| 241 |
'dependency' => [
|
| 242 |
'css' => [
|
| 243 |
[
|
| 244 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/twitter-feed.min.css',
|
| 245 |
+
'type' => 'self',
|
| 246 |
'context' => 'view',
|
| 247 |
],
|
| 248 |
],
|
| 249 |
+
'js' => [
|
| 250 |
[
|
| 251 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/imagesloaded/imagesloaded.pkgd.min.js',
|
| 252 |
+
'type' => 'lib',
|
| 253 |
'context' => 'view',
|
| 254 |
],
|
| 255 |
[
|
| 256 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/isotope/isotope.pkgd.min.js',
|
| 257 |
+
'type' => 'lib',
|
| 258 |
'context' => 'view',
|
| 259 |
],
|
| 260 |
[
|
| 261 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/twitter-feed.min.js',
|
| 262 |
+
'type' => 'self',
|
| 263 |
'context' => 'view',
|
| 264 |
],
|
| 265 |
],
|
| 266 |
],
|
| 267 |
],
|
| 268 |
+
'facebook-feed' => [
|
| 269 |
+
'class' => '\Essential_Addons_Elementor\Elements\Facebook_Feed',
|
| 270 |
'dependency' => [
|
| 271 |
'css' => [
|
| 272 |
[
|
| 273 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/load-more.min.css',
|
| 274 |
+
'type' => 'self',
|
| 275 |
'context' => 'view',
|
| 276 |
],
|
| 277 |
[
|
| 278 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/facebook-feed.min.css',
|
| 279 |
+
'type' => 'self',
|
| 280 |
'context' => 'view',
|
| 281 |
],
|
| 282 |
],
|
| 283 |
+
'js' => [
|
| 284 |
[
|
| 285 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/imagesloaded/imagesloaded.pkgd.min.js',
|
| 286 |
+
'type' => 'lib',
|
| 287 |
'context' => 'view',
|
| 288 |
],
|
| 289 |
[
|
| 290 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/isotope/isotope.pkgd.min.js',
|
| 291 |
+
'type' => 'lib',
|
| 292 |
'context' => 'view',
|
| 293 |
],
|
| 294 |
[
|
| 295 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/facebook-feed.min.js',
|
| 296 |
+
'type' => 'self',
|
| 297 |
'context' => 'view',
|
| 298 |
],
|
| 299 |
],
|
| 300 |
],
|
| 301 |
],
|
| 302 |
+
'advanced-data-table' => [
|
| 303 |
+
'class' => '\Essential_Addons_Elementor\Elements\Advanced_Data_Table',
|
| 304 |
'dependency' => [
|
| 305 |
'css' => [
|
| 306 |
[
|
| 307 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/lib-edit/quill/quill.bubble.min.css',
|
| 308 |
+
'type' => 'lib',
|
| 309 |
'context' => 'edit',
|
| 310 |
],
|
| 311 |
[
|
| 312 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/advanced-data-table.min.css',
|
| 313 |
+
'type' => 'self',
|
| 314 |
'context' => 'view',
|
| 315 |
],
|
| 316 |
],
|
| 317 |
+
'js' => [
|
| 318 |
[
|
| 319 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-edit/quill/quill.min.js',
|
| 320 |
+
'type' => 'lib',
|
| 321 |
'context' => 'edit',
|
| 322 |
],
|
| 323 |
[
|
| 324 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/advanced-data-table.min.js',
|
| 325 |
+
'type' => 'self',
|
| 326 |
'context' => 'view',
|
| 327 |
],
|
| 328 |
[
|
| 329 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/edit/advanced-data-table.min.js',
|
| 330 |
+
'type' => 'self',
|
| 331 |
'context' => 'edit',
|
| 332 |
],
|
| 333 |
],
|
| 334 |
],
|
| 335 |
],
|
| 336 |
+
'data-table' => [
|
| 337 |
+
'class' => '\Essential_Addons_Elementor\Elements\Data_Table',
|
| 338 |
'dependency' => [
|
| 339 |
'css' => [
|
| 340 |
[
|
| 341 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/data-table.min.css',
|
| 342 |
+
'type' => 'self',
|
| 343 |
'context' => 'view',
|
| 344 |
],
|
| 345 |
],
|
| 346 |
+
'js' => [
|
| 347 |
[
|
| 348 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/data-table.min.js',
|
| 349 |
+
'type' => 'self',
|
| 350 |
'context' => 'view',
|
| 351 |
],
|
| 352 |
],
|
| 353 |
],
|
| 354 |
],
|
| 355 |
+
'filter-gallery' => [
|
| 356 |
+
'class' => '\Essential_Addons_Elementor\Elements\Filterable_Gallery',
|
| 357 |
'dependency' => [
|
| 358 |
'css' => [
|
| 359 |
[
|
| 360 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/load-more.min.css',
|
| 361 |
+
'type' => 'self',
|
| 362 |
'context' => 'view',
|
| 363 |
],
|
| 364 |
[
|
| 365 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/lib-view/magnific-popup/magnific-popup.min.css',
|
| 366 |
+
'type' => 'lib',
|
| 367 |
'context' => 'view',
|
| 368 |
],
|
| 369 |
[
|
| 370 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/filterable-gallery.min.css',
|
| 371 |
+
'type' => 'self',
|
| 372 |
'context' => 'view',
|
| 373 |
],
|
| 374 |
],
|
| 375 |
+
'js' => [
|
| 376 |
[
|
| 377 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/imagesloaded/imagesloaded.pkgd.min.js',
|
| 378 |
+
'type' => 'lib',
|
| 379 |
'context' => 'view',
|
| 380 |
],
|
| 381 |
[
|
| 382 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/isotope/isotope.pkgd.min.js',
|
| 383 |
+
'type' => 'lib',
|
| 384 |
'context' => 'view',
|
| 385 |
],
|
| 386 |
[
|
| 387 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/magnific-popup/jquery.magnific-popup.min.js',
|
| 388 |
+
'type' => 'lib',
|
| 389 |
'context' => 'view',
|
| 390 |
],
|
| 391 |
[
|
| 392 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/filterable-gallery.min.js',
|
| 393 |
+
'type' => 'self',
|
| 394 |
'context' => 'view',
|
| 395 |
],
|
| 396 |
],
|
| 397 |
],
|
| 398 |
],
|
| 399 |
+
'image-accordion' => [
|
| 400 |
+
'class' => '\Essential_Addons_Elementor\Elements\Image_Accordion',
|
| 401 |
'dependency' => [
|
| 402 |
'css' => [
|
| 403 |
[
|
| 404 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/image-accordion.min.css',
|
| 405 |
+
'type' => 'self',
|
| 406 |
'context' => 'view',
|
| 407 |
],
|
| 408 |
],
|
| 409 |
+
'js' => [
|
| 410 |
[
|
| 411 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/image-accordion.min.js',
|
| 412 |
+
'type' => 'self',
|
| 413 |
'context' => 'view',
|
| 414 |
],
|
| 415 |
],
|
| 416 |
],
|
| 417 |
],
|
| 418 |
+
'content-ticker' => [
|
| 419 |
+
'class' => '\Essential_Addons_Elementor\Elements\Content_Ticker',
|
| 420 |
'dependency' => [
|
| 421 |
'css' => [
|
| 422 |
[
|
| 423 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/content-ticker.min.css',
|
| 424 |
+
'type' => 'self',
|
| 425 |
'context' => 'view',
|
| 426 |
],
|
| 427 |
],
|
| 428 |
+
'js' => [
|
| 429 |
[
|
| 430 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/content-ticker.min.js',
|
| 431 |
+
'type' => 'self',
|
| 432 |
'context' => 'view',
|
| 433 |
],
|
| 434 |
],
|
| 435 |
],
|
| 436 |
],
|
| 437 |
+
'tooltip' => [
|
| 438 |
+
'class' => '\Essential_Addons_Elementor\Elements\Tooltip',
|
| 439 |
'dependency' => [
|
| 440 |
'css' => [
|
| 441 |
|
| 442 |
[
|
| 443 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/tooltip.min.css',
|
| 444 |
+
'type' => 'self',
|
| 445 |
'context' => 'view',
|
| 446 |
],
|
| 447 |
],
|
| 448 |
],
|
| 449 |
],
|
| 450 |
+
'adv-accordion' => [
|
| 451 |
+
'class' => '\Essential_Addons_Elementor\Elements\Adv_Accordion',
|
| 452 |
'dependency' => [
|
| 453 |
'css' => [
|
| 454 |
[
|
| 455 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/advanced-accordion.min.css',
|
| 456 |
+
'type' => 'self',
|
| 457 |
'context' => 'view',
|
| 458 |
],
|
| 459 |
],
|
| 460 |
+
'js' => [
|
| 461 |
[
|
| 462 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/advanced-accordion.min.js',
|
| 463 |
+
'type' => 'self',
|
| 464 |
'context' => 'view',
|
| 465 |
],
|
| 466 |
],
|
| 467 |
],
|
| 468 |
],
|
| 469 |
+
'adv-tabs' => [
|
| 470 |
+
'class' => '\Essential_Addons_Elementor\Elements\Adv_Tabs',
|
| 471 |
'dependency' => [
|
| 472 |
'css' => [
|
| 473 |
[
|
| 474 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/advanced-tabs.min.css',
|
| 475 |
+
'type' => 'self',
|
| 476 |
'context' => 'view',
|
| 477 |
],
|
| 478 |
],
|
| 479 |
+
'js' => [
|
| 480 |
[
|
| 481 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/advanced-tabs.min.js',
|
| 482 |
+
'type' => 'self',
|
| 483 |
'context' => 'view',
|
| 484 |
],
|
| 485 |
],
|
| 486 |
],
|
| 487 |
],
|
| 488 |
+
'progress-bar' => [
|
| 489 |
+
'class' => '\Essential_Addons_Elementor\Elements\Progress_Bar',
|
| 490 |
'dependency' => [
|
| 491 |
'css' => [
|
| 492 |
[
|
| 493 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/progress-bar.min.css',
|
| 494 |
+
'type' => 'self',
|
| 495 |
'context' => 'view',
|
| 496 |
],
|
| 497 |
],
|
| 498 |
+
'js' => [
|
| 499 |
[
|
| 500 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/inview/inview.min.js',
|
| 501 |
+
'type' => 'lib',
|
| 502 |
'context' => 'view',
|
| 503 |
],
|
| 504 |
[
|
| 505 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/progress-bar.min.js',
|
| 506 |
+
'type' => 'self',
|
| 507 |
'context' => 'view',
|
| 508 |
],
|
| 509 |
],
|
| 510 |
],
|
| 511 |
],
|
| 512 |
+
'feature-list' => [
|
| 513 |
+
'class' => '\Essential_Addons_Elementor\Elements\Feature_List',
|
| 514 |
'dependency' => [
|
| 515 |
'css' => [
|
| 516 |
[
|
| 517 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/feature-list.min.css',
|
| 518 |
+
'type' => 'self',
|
| 519 |
'context' => 'view',
|
| 520 |
],
|
| 521 |
],
|
| 522 |
],
|
| 523 |
],
|
| 524 |
+
'product-grid' => [
|
| 525 |
+
'class' => '\Essential_Addons_Elementor\Elements\Product_Grid',
|
| 526 |
'dependency' => [
|
| 527 |
'css' => [
|
| 528 |
[
|
| 529 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/load-more.min.css',
|
| 530 |
+
'type' => 'self',
|
| 531 |
'context' => 'view',
|
| 532 |
],
|
| 533 |
[
|
| 534 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/product-grid.min.css',
|
| 535 |
+
'type' => 'self',
|
| 536 |
'context' => 'view',
|
| 537 |
],
|
| 538 |
],
|
| 539 |
+
'js' => [
|
| 540 |
[
|
| 541 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/load-more.min.js',
|
| 542 |
+
'type' => 'self',
|
| 543 |
'context' => 'view',
|
| 544 |
],
|
| 545 |
],
|
| 546 |
],
|
| 547 |
],
|
| 548 |
+
'contact-form-7' => [
|
| 549 |
+
'class' => '\Essential_Addons_Elementor\Elements\Contact_Form_7',
|
| 550 |
'dependency' => [
|
| 551 |
'css' => [
|
| 552 |
[
|
| 553 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/contact-form-7.min.css',
|
| 554 |
+
'type' => 'self',
|
| 555 |
'context' => 'view',
|
| 556 |
],
|
| 557 |
],
|
| 558 |
],
|
| 559 |
],
|
| 560 |
+
'weforms' => [
|
| 561 |
+
'class' => '\Essential_Addons_Elementor\Elements\WeForms',
|
| 562 |
'dependency' => [
|
| 563 |
'css' => [
|
| 564 |
[
|
| 565 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/weforms.min.css',
|
| 566 |
+
'type' => 'self',
|
| 567 |
'context' => 'view',
|
| 568 |
],
|
| 569 |
],
|
| 570 |
],
|
| 571 |
],
|
| 572 |
+
'ninja-form' => [
|
| 573 |
+
'class' => '\Essential_Addons_Elementor\Elements\NinjaForms',
|
| 574 |
'dependency' => [
|
| 575 |
'css' => [
|
| 576 |
[
|
| 577 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/ninja-form.min.css',
|
| 578 |
+
'type' => 'self',
|
| 579 |
'context' => 'view',
|
| 580 |
],
|
| 581 |
],
|
| 582 |
],
|
| 583 |
],
|
| 584 |
+
'formstack' => [
|
| 585 |
+
'class' => '\Essential_Addons_Elementor\Elements\Formstack',
|
| 586 |
'dependency' => [
|
| 587 |
'css' => [
|
| 588 |
[
|
| 589 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/formstack.min.css',
|
| 590 |
+
'type' => 'self',
|
| 591 |
'context' => 'view',
|
| 592 |
],
|
| 593 |
],
|
| 594 |
],
|
| 595 |
],
|
| 596 |
+
'gravity-form' => [
|
| 597 |
+
'class' => '\Essential_Addons_Elementor\Elements\GravityForms',
|
| 598 |
'dependency' => [
|
| 599 |
'css' => [
|
| 600 |
[
|
| 601 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/gravity-form.min.css',
|
| 602 |
+
'type' => 'self',
|
| 603 |
'context' => 'view',
|
| 604 |
],
|
| 605 |
],
|
| 606 |
],
|
| 607 |
],
|
| 608 |
+
'caldera-form' => [
|
| 609 |
+
'class' => '\Essential_Addons_Elementor\Elements\Caldera_Forms',
|
| 610 |
'dependency' => [
|
| 611 |
'css' => [
|
| 612 |
[
|
| 613 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/caldera-form.min.css',
|
| 614 |
+
'type' => 'self',
|
| 615 |
'context' => 'view',
|
| 616 |
],
|
| 617 |
],
|
| 618 |
],
|
| 619 |
],
|
| 620 |
+
'wpforms' => [
|
| 621 |
+
'class' => '\Essential_Addons_Elementor\Elements\WpForms',
|
| 622 |
'dependency' => [
|
| 623 |
'css' => [
|
| 624 |
[
|
| 625 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/wpforms.min.css',
|
| 626 |
+
'type' => 'self',
|
| 627 |
'context' => 'view',
|
| 628 |
],
|
| 629 |
],
|
| 630 |
],
|
| 631 |
],
|
| 632 |
+
'fluentform' => [
|
| 633 |
+
'class' => '\Essential_Addons_Elementor\Elements\FluentForm',
|
| 634 |
'dependency' => [
|
| 635 |
'css' => [
|
| 636 |
[
|
| 637 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/fluentform.min.css',
|
| 638 |
+
'type' => 'self',
|
| 639 |
'context' => 'view',
|
| 640 |
],
|
| 641 |
],
|
| 642 |
],
|
| 643 |
],
|
| 644 |
+
'typeform' => [
|
| 645 |
+
'class' => '\Essential_Addons_Elementor\Elements\TypeForm',
|
| 646 |
'dependency' => [
|
| 647 |
'css' => [
|
| 648 |
[
|
| 649 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/typeform.min.css',
|
| 650 |
+
'type' => 'self',
|
| 651 |
'context' => 'view',
|
| 652 |
],
|
| 653 |
],
|
| 654 |
+
'js' => [
|
| 655 |
[
|
| 656 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/embed/embed.min.js',
|
| 657 |
+
'type' => 'lib',
|
| 658 |
'context' => 'view',
|
| 659 |
],
|
| 660 |
[
|
| 661 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/typeform.min.js',
|
| 662 |
+
'type' => 'self',
|
| 663 |
'context' => 'view',
|
| 664 |
],
|
| 665 |
],
|
| 667 |
],
|
| 668 |
'betterdocs-category-grid' => [
|
| 669 |
'class' => '\Essential_Addons_Elementor\Elements\Betterdocs_Category_Grid',
|
| 670 |
+
'dependency' => [
|
| 671 |
+
'css' => [
|
| 672 |
[
|
| 673 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/betterdocs-category-grid.min.css',
|
| 674 |
+
'type' => 'self',
|
| 675 |
+
'context' => 'view',
|
| 676 |
+
],
|
| 677 |
],
|
| 678 |
+
'js' => [
|
| 679 |
[
|
| 680 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/isotope/isotope.pkgd.min.js',
|
| 681 |
+
'type' => 'lib',
|
| 682 |
'context' => 'view',
|
| 683 |
],
|
| 684 |
[
|
| 685 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/betterdocs-category-grid.min.js',
|
| 686 |
+
'type' => 'self',
|
| 687 |
'context' => 'view',
|
| 688 |
+
],
|
| 689 |
+
],
|
| 690 |
+
],
|
| 691 |
],
|
| 692 |
+
'betterdocs-category-box' => [
|
| 693 |
'class' => '\Essential_Addons_Elementor\Elements\Betterdocs_Category_Box',
|
| 694 |
+
'dependency' => [
|
| 695 |
+
'css' => [
|
| 696 |
[
|
| 697 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/betterdocs-category-box.min.css',
|
| 698 |
+
'type' => 'self',
|
| 699 |
+
'context' => 'view',
|
| 700 |
+
],
|
| 701 |
],
|
| 702 |
+
],
|
| 703 |
],
|
| 704 |
+
'betterdocs-search-form' => [
|
| 705 |
'class' => '\Essential_Addons_Elementor\Elements\Betterdocs_Search_Form',
|
| 706 |
],
|
| 707 |
+
'sticky-video' => [
|
| 708 |
+
'class' => '\Essential_Addons_Elementor\Elements\Sticky_Video',
|
| 709 |
'dependency' => [
|
| 710 |
'css' => [
|
| 711 |
[
|
| 712 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/lib-view/plyr/plyr.min.css',
|
| 713 |
+
'type' => 'lib',
|
| 714 |
'context' => 'view',
|
| 715 |
],
|
| 716 |
[
|
| 717 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/sticky-video.min.css',
|
| 718 |
+
'type' => 'self',
|
| 719 |
'context' => 'view',
|
| 720 |
],
|
| 721 |
],
|
| 722 |
+
'js' => [
|
| 723 |
[
|
| 724 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/plyr/plyr.min.js',
|
| 725 |
+
'type' => 'lib',
|
| 726 |
'context' => 'view',
|
| 727 |
],
|
| 728 |
[
|
| 729 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/sticky-video.min.js',
|
| 730 |
+
'type' => 'self',
|
| 731 |
'context' => 'view',
|
| 732 |
],
|
| 733 |
],
|
| 734 |
],
|
| 735 |
],
|
| 736 |
+
'event-calendar' => [
|
| 737 |
+
'class' => '\Essential_Addons_Elementor\Elements\Event_Calendar',
|
| 738 |
'dependency' => [
|
| 739 |
'css' => [
|
| 740 |
[
|
| 741 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/lib-view/full-calendar/calendar-main.min.css',
|
| 742 |
+
'type' => 'lib',
|
| 743 |
'context' => 'view',
|
| 744 |
],
|
| 745 |
[
|
| 746 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/lib-view/full-calendar/daygrid.min.css',
|
| 747 |
+
'type' => 'lib',
|
| 748 |
'context' => 'view',
|
| 749 |
],
|
| 750 |
[
|
| 751 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/lib-view/full-calendar/timegrid.min.css',
|
| 752 |
+
'type' => 'lib',
|
| 753 |
'context' => 'view',
|
| 754 |
],
|
| 755 |
[
|
| 756 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/lib-view/full-calendar/listgrid.min.css',
|
| 757 |
+
'type' => 'lib',
|
| 758 |
'context' => 'view',
|
| 759 |
],
|
| 760 |
[
|
| 761 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/event-calendar.min.css',
|
| 762 |
+
'type' => 'self',
|
| 763 |
'context' => 'view',
|
| 764 |
],
|
| 765 |
],
|
| 766 |
+
'js' => [
|
| 767 |
[
|
| 768 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/full-calendar/locales-all.min.js',
|
| 769 |
+
'type' => 'lib',
|
| 770 |
'context' => 'view',
|
| 771 |
],
|
| 772 |
[
|
| 773 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/moment/moment.min.js',
|
| 774 |
+
'type' => 'lib',
|
| 775 |
'context' => 'view',
|
| 776 |
],
|
| 777 |
[
|
| 778 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/full-calendar/calendar-main.min.js',
|
| 779 |
+
'type' => 'lib',
|
| 780 |
'context' => 'view',
|
| 781 |
],
|
| 782 |
[
|
| 783 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/full-calendar/daygrid.min.js',
|
| 784 |
+
'type' => 'lib',
|
| 785 |
'context' => 'view',
|
| 786 |
],
|
| 787 |
[
|
| 788 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/full-calendar/timegrid.min.js',
|
| 789 |
+
'type' => 'lib',
|
| 790 |
'context' => 'view',
|
| 791 |
],
|
| 792 |
[
|
| 793 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/full-calendar/listgrid.min.js',
|
| 794 |
+
'type' => 'lib',
|
| 795 |
'context' => 'view',
|
| 796 |
],
|
| 797 |
[
|
| 798 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/event-calendar.min.js',
|
| 799 |
+
'type' => 'self',
|
| 800 |
'context' => 'view',
|
| 801 |
],
|
| 802 |
],
|
| 803 |
],
|
| 804 |
],
|
| 805 |
+
'embedpress' => [
|
| 806 |
+
'class' => '\Essential_Addons_Elementor\Elements\EmbedPress',
|
| 807 |
'condition' => [
|
| 808 |
'class_exists',
|
| 809 |
'\EmbedPress\Elementor\Embedpress_Elementor_Integration',
|
| 810 |
true,
|
| 811 |
],
|
| 812 |
],
|
| 813 |
+
'woo-checkout' => [
|
| 814 |
+
'class' => '\Essential_Addons_Elementor\Elements\Woo_Checkout',
|
| 815 |
'dependency' => [
|
| 816 |
'css' => [
|
| 817 |
[
|
| 818 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/woo-checkout.min.css',
|
| 819 |
+
'type' => 'self',
|
| 820 |
'context' => 'view',
|
| 821 |
],
|
| 822 |
],
|
| 823 |
+
'js' => [
|
| 824 |
[
|
| 825 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/woo-checkout.min.js',
|
| 826 |
+
'type' => 'self',
|
| 827 |
'context' => 'view',
|
| 828 |
],
|
| 829 |
],
|
| 830 |
],
|
| 831 |
],
|
| 832 |
+
'login-register' => [
|
| 833 |
+
'class' => '\Essential_Addons_Elementor\Elements\Login_Register',
|
| 834 |
+
'dependency' => [
|
| 835 |
+
'css' => [
|
| 836 |
+
[
|
| 837 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/login-register.min.css',
|
| 838 |
+
'type' => 'self',
|
| 839 |
+
'context' => 'view',
|
| 840 |
+
],
|
| 841 |
+
],
|
| 842 |
+
'js' => [
|
| 843 |
+
[
|
| 844 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/login-register.min.js',
|
| 845 |
+
'type' => 'self',
|
| 846 |
+
'context' => 'view',
|
| 847 |
+
],
|
| 848 |
+
],
|
| 849 |
+
],
|
| 850 |
+
],
|
| 851 |
+
'woocommerce-review' => [
|
| 852 |
+
'class' => '\Essential_Addons_Elementor\Elements\Woocommerce_Review',
|
| 853 |
+
'condition' => [
|
| 854 |
+
'class_exists',
|
| 855 |
+
'\ReviewX\Elementor\Elements\Review',
|
| 856 |
+
true,
|
| 857 |
+
],
|
| 858 |
+
],
|
| 859 |
],
|
| 860 |
'extensions' => [
|
| 861 |
+
'eael-promotion' => [
|
| 862 |
'class' => '\Essential_Addons_Elementor\Extensions\Promotion',
|
| 863 |
],
|
| 864 |
+
'eael-custom-js' => [
|
| 865 |
'class' => '\Essential_Addons_Elementor\Extensions\Custom_JS',
|
| 866 |
],
|
| 867 |
'eael-reading-progress' => [
|
| 868 |
+
'class' => '\Essential_Addons_Elementor\Extensions\Reading_Progress',
|
| 869 |
'dependency' => [
|
| 870 |
'css' => [
|
| 871 |
[
|
| 872 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/reading-progress.min.css',
|
| 873 |
+
'type' => 'self',
|
| 874 |
'context' => 'view',
|
| 875 |
],
|
| 876 |
],
|
| 877 |
+
'js' => [
|
| 878 |
[
|
| 879 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/reading-progress.min.js',
|
| 880 |
+
'type' => 'self',
|
| 881 |
'context' => 'view',
|
| 882 |
],
|
| 883 |
],
|
| 884 |
],
|
| 885 |
],
|
| 886 |
'eael-table-of-content' => [
|
| 887 |
+
'class' => '\Essential_Addons_Elementor\Extensions\Table_of_Content',
|
| 888 |
'dependency' => [
|
| 889 |
'css' => [
|
| 890 |
[
|
| 891 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/table-of-content.min.css',
|
| 892 |
+
'type' => 'self',
|
| 893 |
'context' => 'view',
|
| 894 |
],
|
| 895 |
],
|
| 896 |
+
'js' => [
|
| 897 |
[
|
| 898 |
+
'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/view/table-of-content.min.js',
|
| 899 |
+
'type' => 'self',
|
| 900 |
'context' => 'view',
|
| 901 |
],
|
| 902 |
],
|
| 903 |
],
|
| 904 |
],
|
| 905 |
+
'eael-post-duplicator' => [
|
| 906 |
'class' => '\Essential_Addons_Elementor\Extensions\Post_Duplicator',
|
| 907 |
],
|
| 908 |
],
|
essential_adons_elementor.php
CHANGED
|
@@ -4,12 +4,12 @@
|
|
| 4 |
* Description: The Essential plugin you install after Elementor! 70+ Premium elements, including WooCommerce, Event Calender, Data Table, Post Grid, Instagram Feed.
|
| 5 |
* Plugin URI: https://essential-addons.com/elementor/
|
| 6 |
* Author: WPDeveloper
|
| 7 |
-
* Version: 4.
|
| 8 |
* Author URI: https://wpdeveloper.net/
|
| 9 |
* Text Domain: essential-addons-for-elementor-lite
|
| 10 |
* Domain Path: /languages
|
| 11 |
*
|
| 12 |
-
* WC tested up to: 4.1
|
| 13 |
*/
|
| 14 |
|
| 15 |
if (!defined('ABSPATH')) {
|
|
@@ -26,10 +26,10 @@ define('EAEL_PLUGIN_FILE', __FILE__);
|
|
| 26 |
define('EAEL_PLUGIN_BASENAME', plugin_basename(__FILE__));
|
| 27 |
define('EAEL_PLUGIN_PATH', trailingslashit(plugin_dir_path(__FILE__)));
|
| 28 |
define('EAEL_PLUGIN_URL', trailingslashit(plugins_url('/', __FILE__)));
|
| 29 |
-
define('EAEL_PLUGIN_VERSION', '4.
|
| 30 |
define('EAEL_ASSET_PATH', wp_upload_dir()['basedir'] . '/essential-addons-elementor');
|
| 31 |
define('EAEL_ASSET_URL', wp_upload_dir()['baseurl'] . '/essential-addons-elementor');
|
| 32 |
-
|
| 33 |
/**
|
| 34 |
* Including composer autoloader globally.
|
| 35 |
*
|
| 4 |
* Description: The Essential plugin you install after Elementor! 70+ Premium elements, including WooCommerce, Event Calender, Data Table, Post Grid, Instagram Feed.
|
| 5 |
* Plugin URI: https://essential-addons.com/elementor/
|
| 6 |
* Author: WPDeveloper
|
| 7 |
+
* Version: 4.2.0
|
| 8 |
* Author URI: https://wpdeveloper.net/
|
| 9 |
* Text Domain: essential-addons-for-elementor-lite
|
| 10 |
* Domain Path: /languages
|
| 11 |
*
|
| 12 |
+
* WC tested up to: 4.3.1
|
| 13 |
*/
|
| 14 |
|
| 15 |
if (!defined('ABSPATH')) {
|
| 26 |
define('EAEL_PLUGIN_BASENAME', plugin_basename(__FILE__));
|
| 27 |
define('EAEL_PLUGIN_PATH', trailingslashit(plugin_dir_path(__FILE__)));
|
| 28 |
define('EAEL_PLUGIN_URL', trailingslashit(plugins_url('/', __FILE__)));
|
| 29 |
+
define('EAEL_PLUGIN_VERSION', '4.2.0');
|
| 30 |
define('EAEL_ASSET_PATH', wp_upload_dir()['basedir'] . '/essential-addons-elementor');
|
| 31 |
define('EAEL_ASSET_URL', wp_upload_dir()['baseurl'] . '/essential-addons-elementor');
|
| 32 |
+
define('EAEL_TEXTDOMAIN', 'essential-addons-for-elementor-lite');
|
| 33 |
/**
|
| 34 |
* Including composer autoloader globally.
|
| 35 |
*
|
includes/Classes/Bootstrap.php
CHANGED
|
@@ -7,18 +7,29 @@ if (!defined('ABSPATH')) {
|
|
| 7 |
} // Exit if accessed directly
|
| 8 |
|
| 9 |
use Essential_Addons_Elementor\Classes\WPDeveloper_Dashboard_Widget;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
|
| 11 |
class Bootstrap
|
| 12 |
{
|
| 13 |
-
use
|
| 14 |
-
use
|
| 15 |
-
use
|
| 16 |
-
use
|
| 17 |
-
use
|
| 18 |
-
use
|
| 19 |
-
use
|
| 20 |
-
use
|
| 21 |
-
use
|
|
|
|
| 22 |
|
| 23 |
// instance container
|
| 24 |
private static $instance = null;
|
|
@@ -37,7 +48,7 @@ class Bootstrap
|
|
| 37 |
|
| 38 |
// loaded templates in a request
|
| 39 |
public $loaded_templates = [];
|
| 40 |
-
|
| 41 |
// loaded widgets in a request
|
| 42 |
public $loaded_widgets = [];
|
| 43 |
|
|
@@ -130,6 +141,9 @@ class Bootstrap
|
|
| 130 |
add_filter('eael/event-calendar/source', [$this, 'eael_event_calendar_source']);
|
| 131 |
add_action('eael/advanced-data-table/source/control', [$this, 'advanced_data_table_source_control']);
|
| 132 |
add_filter('eael/advanced-data-table/table_html/integration/ninja', [$this, 'advanced_data_table_ninja_integration'], 10, 1);
|
|
|
|
|
|
|
|
|
|
| 133 |
|
| 134 |
//rank math support
|
| 135 |
add_filter('rank_math/researches/toc_plugins', [$this, 'eael_toc_rank_math_support']);
|
|
@@ -137,10 +151,9 @@ class Bootstrap
|
|
| 137 |
// Admin
|
| 138 |
if (is_admin()) {
|
| 139 |
// Admin
|
| 140 |
-
if (
|
| 141 |
-
|
| 142 |
}
|
| 143 |
-
$this->admin_notice(); // this line of code
|
| 144 |
|
| 145 |
// dashboard feed
|
| 146 |
WPDeveloper_Dashboard_Widget::instance();
|
| 7 |
} // Exit if accessed directly
|
| 8 |
|
| 9 |
use Essential_Addons_Elementor\Classes\WPDeveloper_Dashboard_Widget;
|
| 10 |
+
use Essential_Addons_Elementor\Classes\WPML\Eael_WPML;
|
| 11 |
+
use Essential_Addons_Elementor\Traits\Admin;
|
| 12 |
+
use Essential_Addons_Elementor\Traits\Core;
|
| 13 |
+
use Essential_Addons_Elementor\Traits\Elements;
|
| 14 |
+
use Essential_Addons_Elementor\Traits\Enqueue;
|
| 15 |
+
use Essential_Addons_Elementor\Traits\Generator;
|
| 16 |
+
use Essential_Addons_Elementor\Traits\Helper;
|
| 17 |
+
use Essential_Addons_Elementor\Traits\Library;
|
| 18 |
+
use Essential_Addons_Elementor\Traits\Login_Registration;
|
| 19 |
+
use Essential_Addons_Elementor\Traits\Shared;
|
| 20 |
|
| 21 |
class Bootstrap
|
| 22 |
{
|
| 23 |
+
use Library;
|
| 24 |
+
use Shared;
|
| 25 |
+
use Core;
|
| 26 |
+
use Helper;
|
| 27 |
+
use Generator;
|
| 28 |
+
use Enqueue;
|
| 29 |
+
use Admin;
|
| 30 |
+
use Elements;
|
| 31 |
+
use Eael_WPML;
|
| 32 |
+
use Login_Registration;
|
| 33 |
|
| 34 |
// instance container
|
| 35 |
private static $instance = null;
|
| 48 |
|
| 49 |
// loaded templates in a request
|
| 50 |
public $loaded_templates = [];
|
| 51 |
+
|
| 52 |
// loaded widgets in a request
|
| 53 |
public $loaded_widgets = [];
|
| 54 |
|
| 141 |
add_filter('eael/event-calendar/source', [$this, 'eael_event_calendar_source']);
|
| 142 |
add_action('eael/advanced-data-table/source/control', [$this, 'advanced_data_table_source_control']);
|
| 143 |
add_filter('eael/advanced-data-table/table_html/integration/ninja', [$this, 'advanced_data_table_ninja_integration'], 10, 1);
|
| 144 |
+
add_action( 'init', [ $this, 'login_or_register_user'] ); //@TODO; add AJAX later
|
| 145 |
+
add_filter( 'wp_new_user_notification_email', array( $this, 'new_user_notification_email' ), 10, 3 );
|
| 146 |
+
add_filter( 'wp_new_user_notification_email_admin', array( $this, 'new_user_notification_email_admin' ), 10, 3 );
|
| 147 |
|
| 148 |
//rank math support
|
| 149 |
add_filter('rank_math/researches/toc_plugins', [$this, 'eael_toc_rank_math_support']);
|
| 151 |
// Admin
|
| 152 |
if (is_admin()) {
|
| 153 |
// Admin
|
| 154 |
+
if ( ! $this->pro_enabled ) {
|
| 155 |
+
$this->admin_notice();
|
| 156 |
}
|
|
|
|
| 157 |
|
| 158 |
// dashboard feed
|
| 159 |
WPDeveloper_Dashboard_Widget::instance();
|
includes/Elements/Login_Register.php
ADDED
|
@@ -0,0 +1,3569 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
|
| 3 |
+
namespace Essential_Addons_Elementor\Elements;
|
| 4 |
+
|
| 5 |
+
use Elementor\Controls_Manager;
|
| 6 |
+
use Elementor\Group_Control_Background;
|
| 7 |
+
use Elementor\Group_Control_Border;
|
| 8 |
+
use Elementor\Group_Control_Box_Shadow;
|
| 9 |
+
use Elementor\Group_Control_Image_Size;
|
| 10 |
+
use Elementor\Group_Control_Typography;
|
| 11 |
+
use Elementor\Plugin;
|
| 12 |
+
use Elementor\Repeater;
|
| 13 |
+
use Elementor\Utils;
|
| 14 |
+
use Elementor\Widget_Base;
|
| 15 |
+
use Essential_Addons_Elementor\Traits\Login_Registration;
|
| 16 |
+
|
| 17 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
| 18 |
+
exit;
|
| 19 |
+
} // Exit if accessed directly
|
| 20 |
+
|
| 21 |
+
/**
|
| 22 |
+
* Class Login_Register
|
| 23 |
+
* @package Essential_Addons_Elementor\Elements
|
| 24 |
+
*/
|
| 25 |
+
class Login_Register extends Widget_Base {
|
| 26 |
+
|
| 27 |
+
use Login_Registration;
|
| 28 |
+
|
| 29 |
+
/**
|
| 30 |
+
* Does the site allows new user registration?
|
| 31 |
+
* @var bool
|
| 32 |
+
*/
|
| 33 |
+
protected $user_can_register;
|
| 34 |
+
|
| 35 |
+
/**
|
| 36 |
+
* Are you currently in Elementor Editor Screen?
|
| 37 |
+
* @var bool
|
| 38 |
+
*/
|
| 39 |
+
protected $in_editor;
|
| 40 |
+
|
| 41 |
+
/**
|
| 42 |
+
* Should login form be printed?
|
| 43 |
+
* @var bool
|
| 44 |
+
*/
|
| 45 |
+
protected $should_print_login_form;
|
| 46 |
+
|
| 47 |
+
/**
|
| 48 |
+
* Should registration form be printed?
|
| 49 |
+
* @var bool
|
| 50 |
+
*/
|
| 51 |
+
protected $should_print_register_form;
|
| 52 |
+
|
| 53 |
+
/**
|
| 54 |
+
* It contains an array of settings for the display
|
| 55 |
+
* @var array
|
| 56 |
+
*/
|
| 57 |
+
protected $ds;
|
| 58 |
+
/**
|
| 59 |
+
* @var bool|false|int
|
| 60 |
+
*/
|
| 61 |
+
protected $page_id;
|
| 62 |
+
/**
|
| 63 |
+
* @var bool|string
|
| 64 |
+
*/
|
| 65 |
+
protected $form_illustration_url;
|
| 66 |
+
|
| 67 |
+
/**
|
| 68 |
+
* @var bool|string
|
| 69 |
+
*/
|
| 70 |
+
protected $form_logo;
|
| 71 |
+
/**
|
| 72 |
+
* What form to show by default on initial page load. login or register ?
|
| 73 |
+
* @var string
|
| 74 |
+
*/
|
| 75 |
+
protected $default_form;
|
| 76 |
+
/**
|
| 77 |
+
* Form illustration position
|
| 78 |
+
* @var mixed|string
|
| 79 |
+
*/
|
| 80 |
+
protected $form_illustration_pos;
|
| 81 |
+
/**
|
| 82 |
+
* Form logo position
|
| 83 |
+
* @var mixed|string
|
| 84 |
+
*/
|
| 85 |
+
protected $form_logo_pos;
|
| 86 |
+
|
| 87 |
+
/**
|
| 88 |
+
* Login_Register constructor.
|
| 89 |
+
* Initializing the Login_Register widget class.
|
| 90 |
+
* @inheritDoc
|
| 91 |
+
*/
|
| 92 |
+
public function __construct( $data = [], $args = null ) {
|
| 93 |
+
parent::__construct( $data, $args );
|
| 94 |
+
$this->user_can_register = get_option( 'users_can_register' );
|
| 95 |
+
$this->in_editor = Plugin::instance()->editor->is_edit_mode();
|
| 96 |
+
}
|
| 97 |
+
|
| 98 |
+
/**
|
| 99 |
+
* @inheritDoc
|
| 100 |
+
*/
|
| 101 |
+
public function get_name() {
|
| 102 |
+
return 'eael-login-register';
|
| 103 |
+
}
|
| 104 |
+
|
| 105 |
+
/**
|
| 106 |
+
* @inheritDoc
|
| 107 |
+
*/
|
| 108 |
+
public function get_title() {
|
| 109 |
+
return esc_html__( 'Login | Register Form', EAEL_TEXTDOMAIN );
|
| 110 |
+
}
|
| 111 |
+
|
| 112 |
+
/**
|
| 113 |
+
* @inheritDoc
|
| 114 |
+
*/
|
| 115 |
+
public function get_icon() {
|
| 116 |
+
return 'eaicon-login'; //@TODO; use better icon later
|
| 117 |
+
}
|
| 118 |
+
|
| 119 |
+
/**
|
| 120 |
+
* @inheritDoc
|
| 121 |
+
*/
|
| 122 |
+
public function get_style_depends() {
|
| 123 |
+
return [ 'dashicons' ];
|
| 124 |
+
}
|
| 125 |
+
|
| 126 |
+
/**
|
| 127 |
+
* @inheritDoc
|
| 128 |
+
*/
|
| 129 |
+
public function get_keywords() {
|
| 130 |
+
return [
|
| 131 |
+
'ea login register',
|
| 132 |
+
'ea register login',
|
| 133 |
+
'signin form',
|
| 134 |
+
'signup form',
|
| 135 |
+
'sign in form',
|
| 136 |
+
'sign up form',
|
| 137 |
+
'authentication',
|
| 138 |
+
'google',
|
| 139 |
+
'facebook',
|
| 140 |
+
'ea',
|
| 141 |
+
'essential addons',
|
| 142 |
+
];
|
| 143 |
+
}
|
| 144 |
+
|
| 145 |
+
public function get_custom_help_url()
|
| 146 |
+
{
|
| 147 |
+
return 'https://essential-addons.com/elementor/docs/login-register-form/';
|
| 148 |
+
}
|
| 149 |
+
|
| 150 |
+
/**
|
| 151 |
+
* @inheritDoc
|
| 152 |
+
*/
|
| 153 |
+
public function get_categories() {
|
| 154 |
+
return [ 'essential-addons-elementor' ];
|
| 155 |
+
}
|
| 156 |
+
|
| 157 |
+
/**
|
| 158 |
+
* Get an array of form field types.
|
| 159 |
+
* @return array
|
| 160 |
+
*/
|
| 161 |
+
protected function get_form_field_types() {
|
| 162 |
+
return apply_filters( 'eael/registration-form-fields', [
|
| 163 |
+
'user_name' => __( 'Username', EAEL_TEXTDOMAIN ),
|
| 164 |
+
'email' => __( 'Email', EAEL_TEXTDOMAIN ),
|
| 165 |
+
'password' => __( 'Password', EAEL_TEXTDOMAIN ),
|
| 166 |
+
'confirm_pass' => __( 'Confirm Password', EAEL_TEXTDOMAIN ),
|
| 167 |
+
'first_name' => __( 'First Name', EAEL_TEXTDOMAIN ),
|
| 168 |
+
'last_name' => __( 'Last Name', EAEL_TEXTDOMAIN ),
|
| 169 |
+
'website' => __( 'Website', EAEL_TEXTDOMAIN ),
|
| 170 |
+
] );
|
| 171 |
+
}
|
| 172 |
+
|
| 173 |
+
/**
|
| 174 |
+
* @inheritDoc
|
| 175 |
+
*/
|
| 176 |
+
protected function _register_controls() {
|
| 177 |
+
/*----Content Tab----*/
|
| 178 |
+
do_action( 'eael/login-register/before-content-controls', $this );
|
| 179 |
+
$this->init_content_general_controls();
|
| 180 |
+
$this->init_form_header_controls();
|
| 181 |
+
// Login Form Related---
|
| 182 |
+
$this->init_content_login_fields_controls();
|
| 183 |
+
$this->init_content_login_options_controls();
|
| 184 |
+
// Registration For Related---
|
| 185 |
+
$this->init_content_register_fields_controls();
|
| 186 |
+
$this->init_content_register_options_controls();
|
| 187 |
+
$this->init_content_register_user_email_controls();
|
| 188 |
+
$this->init_content_register_admin_email_controls();
|
| 189 |
+
//Terms & Conditions
|
| 190 |
+
$this->init_content_terms_controls();
|
| 191 |
+
do_action( 'eael/login-register/after-content-controls', $this );
|
| 192 |
+
|
| 193 |
+
/*----Style Tab----*/
|
| 194 |
+
do_action( 'eael/login-register/before-style-controls', $this );
|
| 195 |
+
$this->init_style_general_controls();
|
| 196 |
+
$this->init_style_header_content_controls( 'login' );
|
| 197 |
+
$this->init_style_header_content_controls( 'register' );
|
| 198 |
+
$this->init_style_input_fields_controls();
|
| 199 |
+
$this->init_style_input_labels_controls();
|
| 200 |
+
$this->init_style_login_button_controls();
|
| 201 |
+
$this->init_style_register_button_controls();
|
| 202 |
+
$this->init_style_login_link_controls();
|
| 203 |
+
$this->init_style_register_link_controls();
|
| 204 |
+
do_action( 'eael/login-register/after-style-controls', $this );
|
| 205 |
+
|
| 206 |
+
}
|
| 207 |
+
|
| 208 |
+
/**
|
| 209 |
+
* It adds controls related to Login Form Types section to the Widget Content Tab
|
| 210 |
+
*/
|
| 211 |
+
protected function init_content_general_controls() {
|
| 212 |
+
$this->start_controls_section( 'section_content_general', [
|
| 213 |
+
'label' => __( 'General', EAEL_TEXTDOMAIN ),
|
| 214 |
+
] );
|
| 215 |
+
$this->add_control( 'default_form_type_notice', [
|
| 216 |
+
'type' => Controls_Manager::RAW_HTML,
|
| 217 |
+
'raw' => __( 'Choose the type of form you want to show by default. Note: you can show both forms in a single page even if you select only login or registration from below.', EAEL_TEXTDOMAIN ),
|
| 218 |
+
'content_classes' => 'elementor-panel-alert elementor-panel-alert-info',
|
| 219 |
+
] );
|
| 220 |
+
$this->add_control( 'default_form_type', [
|
| 221 |
+
'label' => __( 'Default Form Type', EAEL_TEXTDOMAIN ),
|
| 222 |
+
'type' => Controls_Manager::SELECT,
|
| 223 |
+
'options' => [
|
| 224 |
+
'login' => __( 'Login', EAEL_TEXTDOMAIN ),
|
| 225 |
+
'register' => __( 'Registration', EAEL_TEXTDOMAIN ),
|
| 226 |
+
],
|
| 227 |
+
'default' => 'login',
|
| 228 |
+
] );
|
| 229 |
+
if ( ! $this->user_can_register ) {
|
| 230 |
+
$this->add_control( 'registration_off_notice', [
|
| 231 |
+
'type' => Controls_Manager::RAW_HTML,
|
| 232 |
+
/* translators: %1$s is settings page link open tag, %2$s is link closing tag */
|
| 233 |
+
'raw' => sprintf( __( 'Registration is disabled on your site. Please enable it to use registration form. You can enable it from Dashboard » Settings » General » %1$sMembership%2$s.', EAEL_TEXTDOMAIN ), '<a href="' . esc_attr( esc_url( admin_url( 'options-general.php' ) ) ) . '" target="_blank">', '</a>' ),
|
| 234 |
+
'content_classes' => 'elementor-panel-alert elementor-panel-alert-warning',
|
| 235 |
+
'condition' => [
|
| 236 |
+
'default_form_type' => 'register',
|
| 237 |
+
],
|
| 238 |
+
] );
|
| 239 |
+
}
|
| 240 |
+
$this->add_control( 'hide_for_logged_in_user', [
|
| 241 |
+
'label' => __( 'Hide all Forms from Logged-in Users', EAEL_TEXTDOMAIN ),
|
| 242 |
+
'type' => Controls_Manager::SWITCHER,
|
| 243 |
+
'default' => 'yes',
|
| 244 |
+
] );
|
| 245 |
+
$this->add_control( 'gen_lgn_content_po_toggle', [
|
| 246 |
+
'label' => __( 'Login Form General', EAEL_TEXTDOMAIN ),
|
| 247 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
| 248 |
+
'label_off' => __( 'Controls', EAEL_TEXTDOMAIN ),
|
| 249 |
+
'label_on' => __( 'Custom', EAEL_TEXTDOMAIN ),
|
| 250 |
+
'return_value' => 'yes',
|
| 251 |
+
'default' => 'yes',
|
| 252 |
+
] );
|
| 253 |
+
$this->start_popover();
|
| 254 |
+
$this->add_control( 'show_log_out_message', [
|
| 255 |
+
'label' => __( 'Show Logout Link', EAEL_TEXTDOMAIN ),
|
| 256 |
+
'type' => Controls_Manager::SWITCHER,
|
| 257 |
+
'default' => 'yes',
|
| 258 |
+
] );
|
| 259 |
+
$this->add_control( 'show_lost_password', [
|
| 260 |
+
'label' => __( 'Show Lost your password?', EAEL_TEXTDOMAIN ),
|
| 261 |
+
'type' => Controls_Manager::SWITCHER,
|
| 262 |
+
'default' => 'yes',
|
| 263 |
+
] );
|
| 264 |
+
|
| 265 |
+
$this->add_control( 'lost_password_text', [
|
| 266 |
+
'label' => __( 'Lost Password Text', EAEL_TEXTDOMAIN ),
|
| 267 |
+
'label_block' => true,
|
| 268 |
+
'type' => Controls_Manager::TEXT,
|
| 269 |
+
'dynamic' => [
|
| 270 |
+
'active' => true,
|
| 271 |
+
],
|
| 272 |
+
'default' => __( 'Forgot password?', EAEL_TEXTDOMAIN ),
|
| 273 |
+
'condition' => [
|
| 274 |
+
'show_lost_password' => 'yes',
|
| 275 |
+
],
|
| 276 |
+
] );
|
| 277 |
+
$this->add_control( 'lost_password_link_type', [
|
| 278 |
+
'label' => __( 'Lost Password Link to', EAEL_TEXTDOMAIN ),
|
| 279 |
+
'label_block' => true,
|
| 280 |
+
'type' => Controls_Manager::SELECT,
|
| 281 |
+
'options' => [
|
| 282 |
+
'default' => __( 'Default WordPress Page', EAEL_TEXTDOMAIN ),
|
| 283 |
+
'custom' => __( 'Custom URL', EAEL_TEXTDOMAIN ),
|
| 284 |
+
],
|
| 285 |
+
'default' => 'default',
|
| 286 |
+
'condition' => [
|
| 287 |
+
'show_lost_password' => 'yes',
|
| 288 |
+
],
|
| 289 |
+
] );
|
| 290 |
+
$this->add_control( 'lost_password_url', [
|
| 291 |
+
'label' => __( 'Custom Lost Password URL', EAEL_TEXTDOMAIN ),
|
| 292 |
+
'label_block' => true,
|
| 293 |
+
'type' => Controls_Manager::URL,
|
| 294 |
+
'show_external' => false,
|
| 295 |
+
'dynamic' => [
|
| 296 |
+
'active' => true,
|
| 297 |
+
],
|
| 298 |
+
'condition' => [
|
| 299 |
+
'lost_password_link_type' => 'custom',
|
| 300 |
+
'show_lost_password' => 'yes',
|
| 301 |
+
],
|
| 302 |
+
] );
|
| 303 |
+
|
| 304 |
+
if ( $this->user_can_register ) {
|
| 305 |
+
$this->add_control( 'reg_hr', [
|
| 306 |
+
'type' => Controls_Manager::DIVIDER,
|
| 307 |
+
] );
|
| 308 |
+
$this->add_control( 'show_register_link', [
|
| 309 |
+
'label' => __( 'Show Register Link', EAEL_TEXTDOMAIN ),
|
| 310 |
+
'type' => Controls_Manager::SWITCHER,
|
| 311 |
+
'default' => 'yes',
|
| 312 |
+
'separator' => 'before',
|
| 313 |
+
|
| 314 |
+
] );
|
| 315 |
+
$this->add_control( 'registration_link_text', [
|
| 316 |
+
'label' => __( 'Register Link Text', EAEL_TEXTDOMAIN ),
|
| 317 |
+
'label_block' => true,
|
| 318 |
+
'description' => __( 'You can put text in two lines to make the last line linkable. Pro Tip: You can keep the first line empty and put the text only in the second line to get a link only.', EAEL_TEXTDOMAIN ),
|
| 319 |
+
'type' => Controls_Manager::TEXTAREA,
|
| 320 |
+
'rows' => 2,
|
| 321 |
+
'dynamic' => [
|
| 322 |
+
'active' => true,
|
| 323 |
+
],
|
| 324 |
+
'default' => __( " \nRegister Now", EAEL_TEXTDOMAIN ),
|
| 325 |
+
'condition' => [
|
| 326 |
+
'show_register_link' => 'yes',
|
| 327 |
+
],
|
| 328 |
+
] );
|
| 329 |
+
$this->add_control( 'registration_link_action', [
|
| 330 |
+
'label' => __( 'Registration Link Action', EAEL_TEXTDOMAIN ),
|
| 331 |
+
'label_block' => true,
|
| 332 |
+
'type' => Controls_Manager::SELECT,
|
| 333 |
+
'options' => [
|
| 334 |
+
'default' => __( 'WordPress Registration Page', EAEL_TEXTDOMAIN ),
|
| 335 |
+
'custom' => __( 'Custom URL', EAEL_TEXTDOMAIN ),
|
| 336 |
+
'form' => __( 'Show Register Form', EAEL_TEXTDOMAIN ),
|
| 337 |
+
],
|
| 338 |
+
'default' => 'form',
|
| 339 |
+
'condition' => [
|
| 340 |
+
'show_register_link' => 'yes',
|
| 341 |
+
],
|
| 342 |
+
] );
|
| 343 |
+
$this->add_control( 'custom_register_url', [
|
| 344 |
+
'label' => __( 'Custom Register URL', EAEL_TEXTDOMAIN ),
|
| 345 |
+
'label_block' => true,
|
| 346 |
+
'type' => Controls_Manager::URL,
|
| 347 |
+
'show_external' => false,
|
| 348 |
+
'dynamic' => [
|
| 349 |
+
'active' => true,
|
| 350 |
+
],
|
| 351 |
+
'condition' => [
|
| 352 |
+
'registration_link_action' => 'custom',
|
| 353 |
+
'show_register_link' => 'yes',
|
| 354 |
+
],
|
| 355 |
+
] );
|
| 356 |
+
} else {
|
| 357 |
+
$this->add_control( 'show_register_link', [
|
| 358 |
+
'label' => __( 'Show Register Link', EAEL_TEXTDOMAIN ),
|
| 359 |
+
'type' => Controls_Manager::HIDDEN,
|
| 360 |
+
'default' => 'no',
|
| 361 |
+
'separator' => 'before',
|
| 362 |
+
] );
|
| 363 |
+
}
|
| 364 |
+
$this->end_popover();
|
| 365 |
+
|
| 366 |
+
|
| 367 |
+
/*--show registration related control only if registration is enable on the site--*/
|
| 368 |
+
if ( $this->user_can_register ) {
|
| 369 |
+
$this->add_control( 'gen_reg_content_po_toggle', [
|
| 370 |
+
'label' => __( 'Register Form General', EAEL_TEXTDOMAIN ),
|
| 371 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
| 372 |
+
'label_off' => __( 'Default', EAEL_TEXTDOMAIN ),
|
| 373 |
+
'label_on' => __( 'Custom', EAEL_TEXTDOMAIN ),
|
| 374 |
+
'return_value' => 'yes',
|
| 375 |
+
'default' => 'yes',
|
| 376 |
+
] );
|
| 377 |
+
$this->start_popover();
|
| 378 |
+
$this->add_control( 'show_login_link', [
|
| 379 |
+
'label' => __( 'Show Login Link', EAEL_TEXTDOMAIN ),
|
| 380 |
+
'type' => Controls_Manager::SWITCHER,
|
| 381 |
+
'default' => 'yes',
|
| 382 |
+
] );
|
| 383 |
+
$this->add_control( 'login_link_text', [
|
| 384 |
+
'label' => __( 'Login Link Text', EAEL_TEXTDOMAIN ),
|
| 385 |
+
'label_block' => true,
|
| 386 |
+
'description' => __( 'You can put text in two lines to make the last line linkable. Pro Tip: You can keep the first line empty and put the text only in the second line to get a link only.', EAEL_TEXTDOMAIN ),
|
| 387 |
+
'type' => Controls_Manager::TEXTAREA,
|
| 388 |
+
'rows' => 2,
|
| 389 |
+
'dynamic' => [
|
| 390 |
+
'active' => true,
|
| 391 |
+
],
|
| 392 |
+
'default' => __( " \nSign In", EAEL_TEXTDOMAIN ),
|
| 393 |
+
'condition' => [
|
| 394 |
+
'show_login_link' => 'yes',
|
| 395 |
+
],
|
| 396 |
+
] );
|
| 397 |
+
$this->add_control( 'login_link_action', [
|
| 398 |
+
'label' => __( 'Login Link Action', EAEL_TEXTDOMAIN ),
|
| 399 |
+
'label_block' => true,
|
| 400 |
+
'type' => Controls_Manager::SELECT,
|
| 401 |
+
'options' => [
|
| 402 |
+
'default' => __( 'Default WordPress Page', EAEL_TEXTDOMAIN ),
|
| 403 |
+
'custom' => __( 'Custom URL', EAEL_TEXTDOMAIN ),
|
| 404 |
+
'form' => __( 'Show Login Form', EAEL_TEXTDOMAIN ),
|
| 405 |
+
],
|
| 406 |
+
'default' => 'form',
|
| 407 |
+
'condition' => [
|
| 408 |
+
'show_login_link' => 'yes',
|
| 409 |
+
],
|
| 410 |
+
] );
|
| 411 |
+
$this->add_control( 'custom_login_url', [
|
| 412 |
+
'label' => __( 'Custom Login URL', EAEL_TEXTDOMAIN ),
|
| 413 |
+
'label_block' => true,
|
| 414 |
+
'show_external' => false,
|
| 415 |
+
'type' => Controls_Manager::URL,
|
| 416 |
+
'dynamic' => [
|
| 417 |
+
'active' => true,
|
| 418 |
+
],
|
| 419 |
+
'condition' => [
|
| 420 |
+
'login_link_action' => 'custom',
|
| 421 |
+
'show_login_link' => 'yes',
|
| 422 |
+
],
|
| 423 |
+
] );
|
| 424 |
+
$this->end_popover();
|
| 425 |
+
} else {
|
| 426 |
+
$this->add_control( 'show_login_link', [
|
| 427 |
+
'label' => __( 'Show Login Link', EAEL_TEXTDOMAIN ),
|
| 428 |
+
'type' => Controls_Manager::HIDDEN,
|
| 429 |
+
'default' => 'no',
|
| 430 |
+
] );
|
| 431 |
+
}
|
| 432 |
+
|
| 433 |
+
do_action( 'eael/login-register/after-general-controls', $this );
|
| 434 |
+
$this->end_controls_section();
|
| 435 |
+
}
|
| 436 |
+
|
| 437 |
+
/**
|
| 438 |
+
* It adds controls related to Login Form Fields section to the Widget Content Tab
|
| 439 |
+
*/
|
| 440 |
+
protected function init_content_login_fields_controls() {
|
| 441 |
+
$this->start_controls_section( 'section_content_login_fields', [
|
| 442 |
+
'label' => __( 'Login Form Fields', EAEL_TEXTDOMAIN ),
|
| 443 |
+
'conditions' => $this->get_form_controls_display_condition( 'login' ),
|
| 444 |
+
] );
|
| 445 |
+
|
| 446 |
+
$this->add_control( 'login_label_types', [
|
| 447 |
+
'label' => __( 'Labels & Placeholders', EAEL_TEXTDOMAIN ),
|
| 448 |
+
'type' => Controls_Manager::SELECT,
|
| 449 |
+
'options' => [
|
| 450 |
+
'default' => __( 'Default', EAEL_TEXTDOMAIN ),
|
| 451 |
+
'custom' => __( 'Custom', EAEL_TEXTDOMAIN ),
|
| 452 |
+
'none' => __( 'Hide', EAEL_TEXTDOMAIN ),
|
| 453 |
+
],
|
| 454 |
+
'default' => 'default',
|
| 455 |
+
] );
|
| 456 |
+
|
| 457 |
+
$this->add_control( 'login_labels_heading', [
|
| 458 |
+
'label' => __( 'Labels', EAEL_TEXTDOMAIN ),
|
| 459 |
+
'type' => Controls_Manager::HEADING,
|
| 460 |
+
'separator' => 'before',
|
| 461 |
+
'condition' => [ 'login_label_types' => 'custom', ],
|
| 462 |
+
] );
|
| 463 |
+
|
| 464 |
+
|
| 465 |
+
$this->add_control( 'login_user_label', [
|
| 466 |
+
'label' => __( 'Username Label', EAEL_TEXTDOMAIN ),
|
| 467 |
+
'placeholder' => __( 'Username or Email Address', EAEL_TEXTDOMAIN ),
|
| 468 |
+
'default' => __( 'Username or Email Address', EAEL_TEXTDOMAIN ),
|
| 469 |
+
'type' => Controls_Manager::TEXT,
|
| 470 |
+
'dynamic' => [ 'active' => true, ],
|
| 471 |
+
'label_block' => true,
|
| 472 |
+
'condition' => [ 'login_label_types' => 'custom', ],
|
| 473 |
+
] );
|
| 474 |
+
|
| 475 |
+
$this->add_control( 'login_password_label', [
|
| 476 |
+
'label' => __( 'Password Label', EAEL_TEXTDOMAIN ),
|
| 477 |
+
'placeholder' => __( 'Password', EAEL_TEXTDOMAIN ),
|
| 478 |
+
'default' => __( 'Password', EAEL_TEXTDOMAIN ),
|
| 479 |
+
'type' => Controls_Manager::TEXT,
|
| 480 |
+
'dynamic' => [ 'active' => true, ],
|
| 481 |
+
'label_block' => true,
|
| 482 |
+
'condition' => [ 'login_label_types' => 'custom', ],
|
| 483 |
+
] );
|
| 484 |
+
|
| 485 |
+
$this->add_control( 'login_placeholders_heading', [
|
| 486 |
+
'label' => esc_html__( 'Placeholders', EAEL_TEXTDOMAIN ),
|
| 487 |
+
'type' => Controls_Manager::HEADING,
|
| 488 |
+
'condition' => [ 'login_label_types' => 'custom', ],
|
| 489 |
+
'separator' => 'before',
|
| 490 |
+
] );
|
| 491 |
+
|
| 492 |
+
$this->add_control( 'login_user_placeholder', [
|
| 493 |
+
'label' => __( 'Username Placeholder', EAEL_TEXTDOMAIN ),
|
| 494 |
+
'placeholder' => __( 'Username or Email Address', EAEL_TEXTDOMAIN ),
|
| 495 |
+
'default' => __( 'Username or Email Address', EAEL_TEXTDOMAIN ),
|
| 496 |
+
'type' => Controls_Manager::TEXT,
|
| 497 |
+
'dynamic' => [ 'active' => true, ],
|
| 498 |
+
'label_block' => true,
|
| 499 |
+
'condition' => [ 'login_label_types' => 'custom', ],
|
| 500 |
+
] );
|
| 501 |
+
|
| 502 |
+
$this->add_control( 'login_password_placeholder', [
|
| 503 |
+
'label' => __( 'Password Placeholder', EAEL_TEXTDOMAIN ),
|
| 504 |
+
'placeholder' => __( 'Password', EAEL_TEXTDOMAIN ),
|
| 505 |
+
'default' => __( 'Password', EAEL_TEXTDOMAIN ),
|
| 506 |
+
'type' => Controls_Manager::TEXT,
|
| 507 |
+
'dynamic' => [ 'active' => true, ],
|
| 508 |
+
'label_block' => true,
|
| 509 |
+
'condition' => [ 'login_label_types' => 'custom', ],
|
| 510 |
+
] );
|
| 511 |
+
|
| 512 |
+
$this->add_responsive_control( 'login_field_width', [
|
| 513 |
+
'label' => esc_html__( 'Input Fields width', EAEL_TEXTDOMAIN ),
|
| 514 |
+
'type' => Controls_Manager::SLIDER,
|
| 515 |
+
'size_units' => [
|
| 516 |
+
'px',
|
| 517 |
+
'%',
|
| 518 |
+
],
|
| 519 |
+
'range' => [
|
| 520 |
+
'px' => [
|
| 521 |
+
'min' => 0,
|
| 522 |
+
'max' => 500,
|
| 523 |
+
'step' => 5,
|
| 524 |
+
],
|
| 525 |
+
'%' => [
|
| 526 |
+
'min' => 0,
|
| 527 |
+
'max' => 100,
|
| 528 |
+
],
|
| 529 |
+
],
|
| 530 |
+
'default' => [
|
| 531 |
+
'unit' => '%',
|
| 532 |
+
'size' => 100,
|
| 533 |
+
],
|
| 534 |
+
'selectors' => [
|
| 535 |
+
'{{WRAPPER}} .eael-login-form input:not(.eael-lr-btn)' => 'width: {{SIZE}}{{UNIT}};',
|
| 536 |
+
],
|
| 537 |
+
'separator' => 'before',
|
| 538 |
+
] );
|
| 539 |
+
|
| 540 |
+
$this->add_control( 'login_show_remember_me', [
|
| 541 |
+
'label' => __( 'Remember Me Checkbox', EAEL_TEXTDOMAIN ),
|
| 542 |
+
'type' => Controls_Manager::SWITCHER,
|
| 543 |
+
'default' => 'yes',
|
| 544 |
+
'label_off' => __( 'Hide', EAEL_TEXTDOMAIN ),
|
| 545 |
+
'label_on' => __( 'Show', EAEL_TEXTDOMAIN ),
|
| 546 |
+
] );
|
| 547 |
+
|
| 548 |
+
$this->add_control( 'password_toggle', [
|
| 549 |
+
'label' => __( 'Password Visibility Icon', EAEL_TEXTDOMAIN ),
|
| 550 |
+
'type' => Controls_Manager::SWITCHER,
|
| 551 |
+
'label_off' => __( 'Hide', EAEL_TEXTDOMAIN ),
|
| 552 |
+
'label_on' => __( 'Show', EAEL_TEXTDOMAIN ),
|
| 553 |
+
'default' => 'yes',
|
| 554 |
+
] );
|
| 555 |
+
|
| 556 |
+
/*--Login Fields Button--*/
|
| 557 |
+
$this->add_control( 'login_button_heading', [
|
| 558 |
+
'label' => esc_html__( 'Login Button', EAEL_TEXTDOMAIN ),
|
| 559 |
+
'type' => Controls_Manager::HEADING,
|
| 560 |
+
'separator' => 'before',
|
| 561 |
+
] );
|
| 562 |
+
|
| 563 |
+
$this->add_control( 'login_button_text', [
|
| 564 |
+
'label' => __( 'Button Text', EAEL_TEXTDOMAIN ),
|
| 565 |
+
'type' => Controls_Manager::TEXT,
|
| 566 |
+
'dynamic' => [ 'active' => true, ],
|
| 567 |
+
'default' => __( 'Log In', EAEL_TEXTDOMAIN ),
|
| 568 |
+
'placeholder' => __( 'Log In', EAEL_TEXTDOMAIN ),
|
| 569 |
+
] );
|
| 570 |
+
|
| 571 |
+
$this->end_controls_section();
|
| 572 |
+
}
|
| 573 |
+
|
| 574 |
+
protected function init_form_header_controls() {
|
| 575 |
+
$this->start_controls_section( 'section_content_lr_form_header', [
|
| 576 |
+
'label' => __( 'Form Header Content', EAEL_TEXTDOMAIN ),
|
| 577 |
+
] );
|
| 578 |
+
|
| 579 |
+
$this->add_control( 'lr_form_image', [
|
| 580 |
+
'label' => __( 'Form Header Image', EAEL_TEXTDOMAIN ),
|
| 581 |
+
'type' => Controls_Manager::MEDIA,
|
| 582 |
+
'dynamic' => [
|
| 583 |
+
'active' => true,
|
| 584 |
+
],
|
| 585 |
+
'default' => [
|
| 586 |
+
'url' => Utils::get_placeholder_image_src(),
|
| 587 |
+
],
|
| 588 |
+
] );
|
| 589 |
+
|
| 590 |
+
$this->add_group_control( Group_Control_Image_Size::get_type(), [
|
| 591 |
+
'name' => 'lr_form_image',
|
| 592 |
+
// Usage: `{name}_size` and `{name}_custom_dimension`, in this case `image_size` and `image_custom_dimension`.
|
| 593 |
+
'default' => 'full',
|
| 594 |
+
'separator' => 'none',
|
| 595 |
+
] );
|
| 596 |
+
|
| 597 |
+
$this->add_control( "lr_form_image_position", [
|
| 598 |
+
'label' => __( 'Header Image Position', EAEL_TEXTDOMAIN ),
|
| 599 |
+
'type' => Controls_Manager::CHOOSE,
|
| 600 |
+
'options' => [
|
| 601 |
+
'left' => [
|
| 602 |
+
'title' => __( 'Left', EAEL_TEXTDOMAIN ),
|
| 603 |
+
'icon' => 'eicon-arrow-left',
|
| 604 |
+
],
|
| 605 |
+
'right' => [
|
| 606 |
+
'title' => __( 'Right', EAEL_TEXTDOMAIN ),
|
| 607 |
+
'icon' => 'eicon-arrow-right',
|
| 608 |
+
],
|
| 609 |
+
],
|
| 610 |
+
'default' => 'left',
|
| 611 |
+
'separator' => 'after',
|
| 612 |
+
] );
|
| 613 |
+
|
| 614 |
+
$this->add_control( 'lr_form_logo', [
|
| 615 |
+
'label' => __( 'Form Header Logo', EAEL_TEXTDOMAIN ),
|
| 616 |
+
'type' => Controls_Manager::MEDIA,
|
| 617 |
+
'dynamic' => [
|
| 618 |
+
'active' => true,
|
| 619 |
+
],
|
| 620 |
+
'default' => [
|
| 621 |
+
'url' => Utils::get_placeholder_image_src(),
|
| 622 |
+
],
|
| 623 |
+
] );
|
| 624 |
+
|
| 625 |
+
$this->add_group_control( Group_Control_Image_Size::get_type(), [
|
| 626 |
+
'name' => 'lr_form_logo',
|
| 627 |
+
'default' => 'full',
|
| 628 |
+
'separator' => 'none',
|
| 629 |
+
] );
|
| 630 |
+
$this->add_control( "lr_form_logo_position", [
|
| 631 |
+
'label' => __( 'Form Logo Position', EAEL_TEXTDOMAIN ),
|
| 632 |
+
'type' => Controls_Manager::CHOOSE,
|
| 633 |
+
'options' => [
|
| 634 |
+
'inline' => [
|
| 635 |
+
'title' => __( 'Left', EAEL_TEXTDOMAIN ),
|
| 636 |
+
'icon' => 'eicon-arrow-left',
|
| 637 |
+
],
|
| 638 |
+
'block' => [
|
| 639 |
+
'title' => __( 'Top', EAEL_TEXTDOMAIN ),
|
| 640 |
+
'icon' => 'eicon-arrow-up',
|
| 641 |
+
],
|
| 642 |
+
],
|
| 643 |
+
'default' => 'left',
|
| 644 |
+
'separator' => 'after',
|
| 645 |
+
] );
|
| 646 |
+
|
| 647 |
+
$this->add_control( 'login_form_title', [
|
| 648 |
+
'label' => __( 'Login Form Title', EAEL_TEXTDOMAIN ),
|
| 649 |
+
'type' => Controls_Manager::TEXT,
|
| 650 |
+
'dynamic' => [ 'active' => true, ],
|
| 651 |
+
'placeholder' => __( 'Welcome Back!', EAEL_TEXTDOMAIN ),
|
| 652 |
+
'separator' => 'before',
|
| 653 |
+
] );
|
| 654 |
+
$this->add_control( 'login_form_subtitle', [
|
| 655 |
+
'label' => __( 'Login Form Sub Title', EAEL_TEXTDOMAIN ),
|
| 656 |
+
'type' => Controls_Manager::TEXTAREA,
|
| 657 |
+
'dynamic' => [ 'active' => true, ],
|
| 658 |
+
'placeholder' => __( 'Please login to your account', EAEL_TEXTDOMAIN ),
|
| 659 |
+
] );
|
| 660 |
+
|
| 661 |
+
$this->add_control( 'register_form_title', [
|
| 662 |
+
'label' => __( 'Register Form Title', EAEL_TEXTDOMAIN ),
|
| 663 |
+
'type' => Controls_Manager::TEXT,
|
| 664 |
+
'dynamic' => [ 'active' => true, ],
|
| 665 |
+
'placeholder' => __( 'Create a New Account', EAEL_TEXTDOMAIN ),
|
| 666 |
+
'separator' => 'before',
|
| 667 |
+
] );
|
| 668 |
+
$this->add_control( 'register_form_subtitle', [
|
| 669 |
+
'label' => __( 'Register Form Sub Title', EAEL_TEXTDOMAIN ),
|
| 670 |
+
'type' => Controls_Manager::TEXTAREA,
|
| 671 |
+
'dynamic' => [ 'active' => true, ],
|
| 672 |
+
'placeholder' => __( 'Create an account to enjoy awesome features.', EAEL_TEXTDOMAIN ),
|
| 673 |
+
] );
|
| 674 |
+
|
| 675 |
+
$this->end_controls_section();
|
| 676 |
+
}
|
| 677 |
+
|
| 678 |
+
protected function init_content_login_options_controls() {
|
| 679 |
+
|
| 680 |
+
$this->start_controls_section( 'section_content_login_options', [
|
| 681 |
+
'label' => __( 'Login Form Options', EAEL_TEXTDOMAIN ),
|
| 682 |
+
'conditions' => $this->get_form_controls_display_condition( 'login' ),
|
| 683 |
+
] );
|
| 684 |
+
|
| 685 |
+
$this->add_control( 'redirect_after_login', [
|
| 686 |
+
'label' => __( 'Redirect After Login', EAEL_TEXTDOMAIN ),
|
| 687 |
+
'type' => Controls_Manager::SWITCHER,
|
| 688 |
+
] );
|
| 689 |
+
|
| 690 |
+
$this->add_control( 'redirect_url', [
|
| 691 |
+
'type' => Controls_Manager::URL,
|
| 692 |
+
'show_label' => false,
|
| 693 |
+
'show_external' => false,
|
| 694 |
+
'placeholder' => admin_url(),
|
| 695 |
+
'description' => __( 'Please note that only your current domain is allowed here to keep your site secure.', EAEL_TEXTDOMAIN ),
|
| 696 |
+
'condition' => [
|
| 697 |
+
'redirect_after_login' => 'yes',
|
| 698 |
+
],
|
| 699 |
+
'default' => [
|
| 700 |
+
'url' => admin_url(),
|
| 701 |
+
'is_external' => false,
|
| 702 |
+
'nofollow' => true,
|
| 703 |
+
],
|
| 704 |
+
'separator' => 'after',
|
| 705 |
+
] );
|
| 706 |
+
// @todo; in future
|
| 707 |
+
//$this->add_control( 'redirect_after_logout', [
|
| 708 |
+
// 'label' => __( 'Redirect After Logout', EAEL_TEXTDOMAIN ),
|
| 709 |
+
// 'type' => Controls_Manager::SWITCHER,
|
| 710 |
+
//] );
|
| 711 |
+
//
|
| 712 |
+
//$this->add_control( 'redirect_logout_url', [
|
| 713 |
+
// 'type' => Controls_Manager::URL,
|
| 714 |
+
// 'show_label' => false,
|
| 715 |
+
// 'show_external' => false,
|
| 716 |
+
// 'placeholder' => __( 'https://your-link.com', EAEL_TEXTDOMAIN ),
|
| 717 |
+
// 'description' => __( 'Please note that only your current domain is allowed here to keep your site secure.', EAEL_TEXTDOMAIN ),
|
| 718 |
+
// 'condition' => [
|
| 719 |
+
// 'redirect_after_logout' => 'yes',
|
| 720 |
+
// ],
|
| 721 |
+
// 'separator' => 'after',
|
| 722 |
+
//] );
|
| 723 |
+
|
| 724 |
+
$this->end_controls_section();
|
| 725 |
+
}
|
| 726 |
+
|
| 727 |
+
protected function init_content_terms_controls() {
|
| 728 |
+
$this->start_controls_section( 'section_content_terms_conditions', [
|
| 729 |
+
'label' => __( 'Terms & Conditions', EAEL_TEXTDOMAIN ),
|
| 730 |
+
'conditions' => $this->get_form_controls_display_condition( 'register' ),
|
| 731 |
+
] );
|
| 732 |
+
|
| 733 |
+
$this->add_control( 'show_terms_conditions', [
|
| 734 |
+
'label' => __( 'Enforce Terms & Conditions', EAEL_TEXTDOMAIN ),
|
| 735 |
+
'type' => Controls_Manager::SWITCHER,
|
| 736 |
+
'label_on' => __( 'Yes', EAEL_TEXTDOMAIN ),
|
| 737 |
+
'label_off' => __( 'No', EAEL_TEXTDOMAIN ),
|
| 738 |
+
'default' => 'no',
|
| 739 |
+
'return_value' => 'yes',
|
| 740 |
+
] );
|
| 741 |
+
|
| 742 |
+
$this->add_control( 'acceptance_label', [
|
| 743 |
+
'label' => __( 'Acceptance Label', EAEL_TEXTDOMAIN ),
|
| 744 |
+
'description' => __( 'Eg. I accept the terms & conditions. Note: First line is checkbox label & Last line will be used as link text.', EAEL_TEXTDOMAIN ),
|
| 745 |
+
'type' => Controls_Manager::TEXTAREA,
|
| 746 |
+
'rows' => 2,
|
| 747 |
+
'label_block' => true,
|
| 748 |
+
'placeholder' => __( 'I Accept the Terms and Conditions.', EAEL_TEXTDOMAIN ),
|
| 749 |
+
/* translators: \n means new line. So, Don't translate this*/
|
| 750 |
+
'default' => __( "I Accept\n the Terms and Conditions.", EAEL_TEXTDOMAIN ),
|
| 751 |
+
'condition' => [
|
| 752 |
+
'show_terms_conditions' => 'yes',
|
| 753 |
+
],
|
| 754 |
+
] );
|
| 755 |
+
|
| 756 |
+
$this->add_control( 'acceptance_text_source', [
|
| 757 |
+
'label' => __( 'Content Source', EAEL_TEXTDOMAIN ),
|
| 758 |
+
'type' => Controls_Manager::SELECT,
|
| 759 |
+
'options' => [
|
| 760 |
+
'editor' => __( 'Editor', EAEL_TEXTDOMAIN ),
|
| 761 |
+
'custom' => __( 'Custom', EAEL_TEXTDOMAIN ),
|
| 762 |
+
],
|
| 763 |
+
'default' => 'custom',
|
| 764 |
+
'condition' => [
|
| 765 |
+
'show_terms_conditions' => 'yes',
|
| 766 |
+
],
|
| 767 |
+
] );
|
| 768 |
+
|
| 769 |
+
$this->add_control( 'acceptance_text', [
|
| 770 |
+
'label' => __( 'Terms and Conditions', EAEL_TEXTDOMAIN ),
|
| 771 |
+
'type' => Controls_Manager::WYSIWYG,
|
| 772 |
+
'rows' => 3,
|
| 773 |
+
'default' => __( 'Please go through the following terms and conditions carefully.', EAEL_TEXTDOMAIN ),
|
| 774 |
+
'condition' => [
|
| 775 |
+
'show_terms_conditions' => 'yes',
|
| 776 |
+
'acceptance_text_source' => 'editor',
|
| 777 |
+
],
|
| 778 |
+
] );
|
| 779 |
+
|
| 780 |
+
|
| 781 |
+
$this->add_control( 'acceptance_text_url', [
|
| 782 |
+
'label' => __( 'Terms & Conditions URL', EAEL_TEXTDOMAIN ),
|
| 783 |
+
'description' => __( 'Enter the link where your terms & condition or privacy policy is found.', EAEL_TEXTDOMAIN ),
|
| 784 |
+
'type' => Controls_Manager::URL,
|
| 785 |
+
'dynamic' => [
|
| 786 |
+
'active' => true,
|
| 787 |
+
],
|
| 788 |
+
'default' => [
|
| 789 |
+
'url' => get_the_permalink( get_option( 'wp_page_for_privacy_policy' ) ),
|
| 790 |
+
'is_external' => true,
|
| 791 |
+
'nofollow' => true,
|
| 792 |
+
],
|
| 793 |
+
'condition' => [
|
| 794 |
+
'show_terms_conditions' => 'yes',
|
| 795 |
+
'acceptance_text_source' => 'custom',
|
| 796 |
+
],
|
| 797 |
+
] );
|
| 798 |
+
|
| 799 |
+
$this->end_controls_section();
|
| 800 |
+
}
|
| 801 |
+
|
| 802 |
+
protected function init_content_register_fields_controls() {
|
| 803 |
+
|
| 804 |
+
$this->start_controls_section( 'section_content_register_fields', [
|
| 805 |
+
'label' => __( 'Register Form Fields', EAEL_TEXTDOMAIN ),
|
| 806 |
+
'conditions' => $this->get_form_controls_display_condition( 'register' ),
|
| 807 |
+
] );
|
| 808 |
+
$this->add_control( 'register_form_field_note', [
|
| 809 |
+
'type' => Controls_Manager::RAW_HTML,
|
| 810 |
+
'raw' => __( 'Select the type of fields you want to show in the registration form', EAEL_TEXTDOMAIN ),
|
| 811 |
+
'content_classes' => 'elementor-panel-alert elementor-panel-alert-info',
|
| 812 |
+
] );
|
| 813 |
+
$repeater = new Repeater();
|
| 814 |
+
|
| 815 |
+
$repeater->add_control( 'field_type', [
|
| 816 |
+
'label' => __( 'Type', EAEL_TEXTDOMAIN ),
|
| 817 |
+
'type' => Controls_Manager::SELECT,
|
| 818 |
+
'options' => $this->get_form_field_types(),
|
| 819 |
+
'default' => 'first_name',
|
| 820 |
+
] );
|
| 821 |
+
|
| 822 |
+
$repeater->add_control( 'field_label', [
|
| 823 |
+
'label' => __( 'Label', EAEL_TEXTDOMAIN ),
|
| 824 |
+
'type' => Controls_Manager::TEXT,
|
| 825 |
+
'default' => '',
|
| 826 |
+
'dynamic' => [
|
| 827 |
+
'active' => true,
|
| 828 |
+
],
|
| 829 |
+
] );
|
| 830 |
+
|
| 831 |
+
$repeater->add_control( 'placeholder', [
|
| 832 |
+
'label' => __( 'Placeholder', EAEL_TEXTDOMAIN ),
|
| 833 |
+
'type' => Controls_Manager::TEXT,
|
| 834 |
+
'default' => '',
|
| 835 |
+
'dynamic' => [
|
| 836 |
+
'active' => true,
|
| 837 |
+
],
|
| 838 |
+
] );
|
| 839 |
+
|
| 840 |
+
$repeater->add_control( 'required', [
|
| 841 |
+
'label' => __( 'Required', EAEL_TEXTDOMAIN ),
|
| 842 |
+
'type' => Controls_Manager::SWITCHER,
|
| 843 |
+
'condition' => [
|
| 844 |
+
'field_type!' => [
|
| 845 |
+
'email',
|
| 846 |
+
'password',
|
| 847 |
+
'confirm_pass',
|
| 848 |
+
],
|
| 849 |
+
],
|
| 850 |
+
] );
|
| 851 |
+
|
| 852 |
+
$repeater->add_control( 'required_note', [
|
| 853 |
+
'type' => Controls_Manager::RAW_HTML,
|
| 854 |
+
'raw' => __( 'Note: This field is required by default.', EAEL_TEXTDOMAIN ),
|
| 855 |
+
'condition' => [
|
| 856 |
+
'field_type' => [
|
| 857 |
+
'email',
|
| 858 |
+
'password',
|
| 859 |
+
'confirm_pass',
|
| 860 |
+
],
|
| 861 |
+
],
|
| 862 |
+
'content_classes' => 'elementor-panel-alert elementor-panel-alert-info',
|
| 863 |
+
] );
|
| 864 |
+
|
| 865 |
+
$repeater->add_responsive_control( 'width', [
|
| 866 |
+
'label' => __( 'Field Width', EAEL_TEXTDOMAIN ),
|
| 867 |
+
'type' => Controls_Manager::SELECT,
|
| 868 |
+
'options' => [
|
| 869 |
+
'' => __( 'Default', EAEL_TEXTDOMAIN ),
|
| 870 |
+
'100' => '100%',
|
| 871 |
+
'80' => '80%',
|
| 872 |
+
'75' => '75%',
|
| 873 |
+
'66' => '66%',
|
| 874 |
+
'60' => '60%',
|
| 875 |
+
'50' => '50%',
|
| 876 |
+
'40' => '40%',
|
| 877 |
+
'33' => '33%',
|
| 878 |
+
'25' => '25%',
|
| 879 |
+
'20' => '20%',
|
| 880 |
+
],
|
| 881 |
+
'default' => '100',
|
| 882 |
+
] );
|
| 883 |
+
|
| 884 |
+
$this->add_control( 'register_fields', [
|
| 885 |
+
'type' => Controls_Manager::REPEATER,
|
| 886 |
+
'fields' => array_values( $repeater->get_controls() ),
|
| 887 |
+
'default' => [
|
| 888 |
+
[
|
| 889 |
+
'field_type' => 'user_name',
|
| 890 |
+
'field_label' => __( 'Username', EAEL_TEXTDOMAIN ),
|
| 891 |
+
'placeholder' => __( 'Username', EAEL_TEXTDOMAIN ),
|
| 892 |
+
'width' => '100',
|
| 893 |
+
],
|
| 894 |
+
[
|
| 895 |
+
'field_type' => 'email',
|
| 896 |
+
'field_label' => __( 'Email', EAEL_TEXTDOMAIN ),
|
| 897 |
+
'placeholder' => __( 'Email', EAEL_TEXTDOMAIN ),
|
| 898 |
+
'required' => 'yes',
|
| 899 |
+
'width' => '100',
|
| 900 |
+
],
|
| 901 |
+
[
|
| 902 |
+
'field_type' => 'password',
|
| 903 |
+
'field_label' => __( 'Password', EAEL_TEXTDOMAIN ),
|
| 904 |
+
'placeholder' => __( 'Password', EAEL_TEXTDOMAIN ),
|
| 905 |
+
'required' => 'yes',
|
| 906 |
+
'width' => '100',
|
| 907 |
+
],
|
| 908 |
+
],
|
| 909 |
+
'title_field' => '{{{ field_label }}}',
|
| 910 |
+
] );
|
| 911 |
+
|
| 912 |
+
$this->add_control( 'show_labels', [
|
| 913 |
+
'label' => __( 'Show Label', EAEL_TEXTDOMAIN ),
|
| 914 |
+
'type' => Controls_Manager::SWITCHER,
|
| 915 |
+
'default' => 'yes',
|
| 916 |
+
] );
|
| 917 |
+
|
| 918 |
+
$this->add_control( 'mark_required', [
|
| 919 |
+
'label' => __( 'Show Required Mark', EAEL_TEXTDOMAIN ),
|
| 920 |
+
'type' => Controls_Manager::SWITCHER,
|
| 921 |
+
'condition' => [
|
| 922 |
+
'show_labels' => 'yes',
|
| 923 |
+
],
|
| 924 |
+
] );
|
| 925 |
+
|
| 926 |
+
|
| 927 |
+
/*--Register Fields Button--*/
|
| 928 |
+
$this->add_control( 'reg_button_heading', [
|
| 929 |
+
'label' => esc_html__( 'Register Button', EAEL_TEXTDOMAIN ),
|
| 930 |
+
'type' => Controls_Manager::HEADING,
|
| 931 |
+
'separator' => 'before',
|
| 932 |
+
] );
|
| 933 |
+
|
| 934 |
+
$this->add_control( 'reg_button_text', [
|
| 935 |
+
'label' => __( 'Button Text', EAEL_TEXTDOMAIN ),
|
| 936 |
+
'type' => Controls_Manager::TEXT,
|
| 937 |
+
'dynamic' => [ 'active' => true, ],
|
| 938 |
+
'default' => __( 'Register', EAEL_TEXTDOMAIN ),
|
| 939 |
+
] );
|
| 940 |
+
|
| 941 |
+
|
| 942 |
+
$this->end_controls_section();
|
| 943 |
+
}
|
| 944 |
+
|
| 945 |
+
protected function init_content_register_options_controls() {
|
| 946 |
+
|
| 947 |
+
$this->start_controls_section( 'section_content_register_actions', [
|
| 948 |
+
'label' => __( 'Register Form Options', EAEL_TEXTDOMAIN ),
|
| 949 |
+
'conditions' => $this->get_form_controls_display_condition( 'register' ),
|
| 950 |
+
] );
|
| 951 |
+
|
| 952 |
+
$this->add_control( 'register_action', [
|
| 953 |
+
'label' => __( 'Register Actions', EAEL_TEXTDOMAIN ),
|
| 954 |
+
'description' => __( 'You can select what should happen after a user registers successfully', EAEL_TEXTDOMAIN ),
|
| 955 |
+
'type' => Controls_Manager::SELECT2,
|
| 956 |
+
'multiple' => true,
|
| 957 |
+
'label_block' => true,
|
| 958 |
+
'default' => 'send_email',
|
| 959 |
+
'options' => [
|
| 960 |
+
'redirect' => __( 'Redirect', EAEL_TEXTDOMAIN ),
|
| 961 |
+
'auto_login' => __( 'Auto Login', EAEL_TEXTDOMAIN ),
|
| 962 |
+
'send_email' => __( 'Notify User By Email', EAEL_TEXTDOMAIN ),
|
| 963 |
+
],
|
| 964 |
+
] );
|
| 965 |
+
|
| 966 |
+
$this->add_control( 'register_redirect_url', [
|
| 967 |
+
'type' => Controls_Manager::URL,
|
| 968 |
+
'label' => __( 'Custom Redirect URL', EAEL_TEXTDOMAIN ),
|
| 969 |
+
'show_external' => false,
|
| 970 |
+
'placeholder' => __( 'eg. https://your-link.com/wp-admin/', EAEL_TEXTDOMAIN ),
|
| 971 |
+
'description' => __( 'Please note that only your current domain is allowed here to keep your site secure.', EAEL_TEXTDOMAIN ),
|
| 972 |
+
'default' => [
|
| 973 |
+
'url' => get_admin_url(),
|
| 974 |
+
'is_external' => false,
|
| 975 |
+
'nofollow' => true,
|
| 976 |
+
],
|
| 977 |
+
'condition' => [
|
| 978 |
+
'register_action' => 'redirect',
|
| 979 |
+
],
|
| 980 |
+
] );
|
| 981 |
+
|
| 982 |
+
$this->add_control( 'register_user_role', [
|
| 983 |
+
'label' => __( 'New User Role', EAEL_TEXTDOMAIN ),
|
| 984 |
+
'type' => Controls_Manager::SELECT,
|
| 985 |
+
'default' => 'default',
|
| 986 |
+
'options' => $this->get_user_roles(),
|
| 987 |
+
'separator' => 'before',
|
| 988 |
+
] );
|
| 989 |
+
|
| 990 |
+
|
| 991 |
+
$this->add_control( 'register_success_msg', [
|
| 992 |
+
'label' => __( 'Success Message', EAEL_TEXTDOMAIN ),
|
| 993 |
+
'type' => Controls_Manager::TEXTAREA,
|
| 994 |
+
'default' => __( 'Registration completed successfully, Check your inbox for password if you did not provided while registering.', EAEL_TEXTDOMAIN ),
|
| 995 |
+
'placeholder' => __( 'eg. Registration completed successfully', EAEL_TEXTDOMAIN ),
|
| 996 |
+
] );
|
| 997 |
+
|
| 998 |
+
$this->add_control( 'register_error_msg', [
|
| 999 |
+
'label' => __( 'Error Message', EAEL_TEXTDOMAIN ),
|
| 1000 |
+
'type' => Controls_Manager::TEXTAREA,
|
| 1001 |
+
'default' => __( 'Something went wrong, Please try again.', EAEL_TEXTDOMAIN ),
|
| 1002 |
+
'placeholder' => __( 'eg. Something went wrong, Please try again.', EAEL_TEXTDOMAIN ),
|
| 1003 |
+
] );
|
| 1004 |
+
|
| 1005 |
+
$this->end_controls_section();
|
| 1006 |
+
}
|
| 1007 |
+
|
| 1008 |
+
protected function init_content_register_user_email_controls() {
|
| 1009 |
+
/* translators: %s: Site Name */
|
| 1010 |
+
$default_subject = sprintf( __( 'Thank you for registering on "%s"!', EAEL_TEXTDOMAIN ), get_option( 'blogname' ) );
|
| 1011 |
+
$default_message = $default_subject . "\r\n\r\n";
|
| 1012 |
+
$default_message .= __( 'Username: [username]', EAEL_TEXTDOMAIN ) . "\r\n\r\n";
|
| 1013 |
+
$default_message .= __( 'Password: [password]', EAEL_TEXTDOMAIN ) . "\r\n\r\n";
|
| 1014 |
+
$default_message .= __( 'To reset your password, visit the following address:', EAEL_TEXTDOMAIN ) . "\r\n\r\n";
|
| 1015 |
+
$default_message .= "[password_reset_link]\r\n\r\n";
|
| 1016 |
+
$default_message .= __( 'Please click the following address to login to your account:', EAEL_TEXTDOMAIN ) . "\r\n\r\n";
|
| 1017 |
+
$default_message .= wp_login_url() . "\r\n";
|
| 1018 |
+
|
| 1019 |
+
$this->start_controls_section( 'section_content_reg_email', [
|
| 1020 |
+
'label' => __( 'Register User Email Options', EAEL_TEXTDOMAIN ),
|
| 1021 |
+
'conditions' => [
|
| 1022 |
+
'relation' => 'or',
|
| 1023 |
+
'terms' => [
|
| 1024 |
+
[
|
| 1025 |
+
'name' => 'show_register_link',
|
| 1026 |
+
'value' => 'yes',
|
| 1027 |
+
//@TODO; debug why multi-level condition is not working.
|
| 1028 |
+
//'relation' => 'and',
|
| 1029 |
+
//'terms' => [
|
| 1030 |
+
// [
|
| 1031 |
+
// 'name' => 'register_action',
|
| 1032 |
+
// 'value' => 'send_email',
|
| 1033 |
+
// 'operator' => '===',
|
| 1034 |
+
// ],
|
| 1035 |
+
//],
|
| 1036 |
+
],
|
| 1037 |
+
[
|
| 1038 |
+
'name' => 'default_form_type',
|
| 1039 |
+
'value' => 'register',
|
| 1040 |
+
//'relation' => 'and',
|
| 1041 |
+
//'terms' => [
|
| 1042 |
+
// [
|
| 1043 |
+
// 'name' => 'register_action',
|
| 1044 |
+
// 'value' => 'send_email',
|
| 1045 |
+
// 'operator' => '===',
|
| 1046 |
+
// ],
|
| 1047 |
+
//],
|
| 1048 |
+
],
|
| 1049 |
+
],
|
| 1050 |
+
],
|
| 1051 |
+
] );
|
| 1052 |
+
|
| 1053 |
+
$this->add_control( 'reg_email_template_type', [
|
| 1054 |
+
'label' => __( 'Email Template Type', EAEL_TEXTDOMAIN ),
|
| 1055 |
+
'description' => __( 'Default template uses WordPress Default email template. So, please select the Custom Option to send the user proper information if you used any username field.', EAEL_TEXTDOMAIN ),
|
| 1056 |
+
'type' => Controls_Manager::SELECT,
|
| 1057 |
+
'default' => 'default',
|
| 1058 |
+
'render_type' => 'none',
|
| 1059 |
+
'options' => [
|
| 1060 |
+
'default' => __( 'WordPres Default', EAEL_TEXTDOMAIN ),
|
| 1061 |
+
'custom' => __( 'Custom', EAEL_TEXTDOMAIN ),
|
| 1062 |
+
],
|
| 1063 |
+
] );
|
| 1064 |
+
|
| 1065 |
+
$this->add_control( 'reg_email_subject', [
|
| 1066 |
+
'label' => __( 'Email Subject', EAEL_TEXTDOMAIN ),
|
| 1067 |
+
'type' => Controls_Manager::TEXT,
|
| 1068 |
+
'placeholder' => $default_subject,
|
| 1069 |
+
'default' => $default_subject,
|
| 1070 |
+
'label_block' => true,
|
| 1071 |
+
'render_type' => 'none',
|
| 1072 |
+
'condition' => [
|
| 1073 |
+
'reg_email_template_type' => 'custom',
|
| 1074 |
+
],
|
| 1075 |
+
] );
|
| 1076 |
+
|
| 1077 |
+
$this->add_control( 'reg_email_message', [
|
| 1078 |
+
'label' => __( 'Email Message', EAEL_TEXTDOMAIN ),
|
| 1079 |
+
'type' => Controls_Manager::WYSIWYG,
|
| 1080 |
+
'placeholder' => __( 'Enter Your Custom Email Message..', EAEL_TEXTDOMAIN ),
|
| 1081 |
+
'default' => $default_message,
|
| 1082 |
+
'label_block' => true,
|
| 1083 |
+
'render_type' => 'none',
|
| 1084 |
+
'condition' => [
|
| 1085 |
+
'reg_email_template_type' => 'custom',
|
| 1086 |
+
],
|
| 1087 |
+
] );
|
| 1088 |
+
|
| 1089 |
+
$this->add_control( 'reg_email_content_note', [
|
| 1090 |
+
'type' => Controls_Manager::RAW_HTML,
|
| 1091 |
+
'raw' => __( '<strong>Note:</strong> You can use dynamic content in the email body like [fieldname]. For example [username] will be replaced by user-typed username. Available tags are: [password], [username], [email], [firstname],[lastname], [website], [loginurl], [password_reset_link] and [sitetitle] ', EAEL_TEXTDOMAIN ),
|
| 1092 |
+
'content_classes' => 'elementor-panel-alert elementor-panel-alert-info',
|
| 1093 |
+
'condition' => [
|
| 1094 |
+
'reg_email_template_type' => 'custom',
|
| 1095 |
+
],
|
| 1096 |
+
'render_type' => 'none',
|
| 1097 |
+
] );
|
| 1098 |
+
|
| 1099 |
+
$this->add_control( 'reg_email_content_type', [
|
| 1100 |
+
'label' => __( 'Email Content Type', EAEL_TEXTDOMAIN ),
|
| 1101 |
+
'type' => Controls_Manager::SELECT,
|
| 1102 |
+
'default' => 'html',
|
| 1103 |
+
'render_type' => 'none',
|
| 1104 |
+
'options' => [
|
| 1105 |
+
'html' => __( 'HTML', EAEL_TEXTDOMAIN ),
|
| 1106 |
+
'plain' => __( 'Plain', EAEL_TEXTDOMAIN ),
|
| 1107 |
+
],
|
| 1108 |
+
'condition' => [
|
| 1109 |
+
'reg_email_template_type' => 'custom',
|
| 1110 |
+
],
|
| 1111 |
+
] );
|
| 1112 |
+
|
| 1113 |
+
$this->end_controls_section();
|
| 1114 |
+
}
|
| 1115 |
+
|
| 1116 |
+
protected function init_content_register_admin_email_controls() {
|
| 1117 |
+
/* translators: %s: Site Name */
|
| 1118 |
+
$default_subject = sprintf( __( '["%s"] New User Registration', EAEL_TEXTDOMAIN ), get_option( 'blogname' ) );
|
| 1119 |
+
/* translators: %s: Site Name */
|
| 1120 |
+
$default_message = sprintf( __( "New user registration on your site %s", EAEL_TEXTDOMAIN ), get_option( 'blogname' ) ) . "\r\n\r\n";
|
| 1121 |
+
$default_message .= __( 'Username: [username]', EAEL_TEXTDOMAIN ) . "\r\n\r\n";
|
| 1122 |
+
$default_message .= __( 'Email: [email]', EAEL_TEXTDOMAIN ) . "\r\n\r\n";
|
| 1123 |
+
|
| 1124 |
+
|
| 1125 |
+
$this->start_controls_section( 'section_content_reg_admin_email', [
|
| 1126 |
+
'label' => __( 'Register Admin Email Options', EAEL_TEXTDOMAIN ),
|
| 1127 |
+
'conditions' => [
|
| 1128 |
+
'relation' => 'or',
|
| 1129 |
+
'terms' => [
|
| 1130 |
+
[
|
| 1131 |
+
'name' => 'show_register_link',
|
| 1132 |
+
'value' => 'yes',
|
| 1133 |
+
//@TODO; debug why multi-level condition is not working.
|
| 1134 |
+
//'relation' => 'and',
|
| 1135 |
+
//'terms' => [
|
| 1136 |
+
// [
|
| 1137 |
+
// 'name' => 'register_action',
|
| 1138 |
+
// 'value' => 'send_email',
|
| 1139 |
+
// 'operator' => '===',
|
| 1140 |
+
// ],
|
| 1141 |
+
//],
|
| 1142 |
+
],
|
| 1143 |
+
[
|
| 1144 |
+
'name' => 'default_form_type',
|
| 1145 |
+
'value' => 'register',
|
| 1146 |
+
//'relation' => 'and',
|
| 1147 |
+
//'terms' => [
|
| 1148 |
+
// [
|
| 1149 |
+
// 'name' => 'register_action',
|
| 1150 |
+
// 'value' => 'send_email',
|
| 1151 |
+
// 'operator' => '===',
|
| 1152 |
+
// ],
|
| 1153 |
+
//],
|
| 1154 |
+
],
|
| 1155 |
+
],
|
| 1156 |
+
],
|
| 1157 |
+
] );
|
| 1158 |
+
|
| 1159 |
+
$this->add_control( 'reg_admin_email_template_type', [
|
| 1160 |
+
'label' => __( 'Email Template Type', EAEL_TEXTDOMAIN ),
|
| 1161 |
+
'description' => __( 'Default template uses WordPress Default Admin email template. You can customize it by choosing the custom option.', EAEL_TEXTDOMAIN ),
|
| 1162 |
+
'type' => Controls_Manager::SELECT,
|
| 1163 |
+
'default' => 'default',
|
| 1164 |
+
'render_type' => 'none',
|
| 1165 |
+
'options' => [
|
| 1166 |
+
'default' => __( 'WordPres Default', EAEL_TEXTDOMAIN ),
|
| 1167 |
+
'custom' => __( 'Custom', EAEL_TEXTDOMAIN ),
|
| 1168 |
+
],
|
| 1169 |
+
] );
|
| 1170 |
+
|
| 1171 |
+
$this->add_control( 'reg_admin_email_subject', [
|
| 1172 |
+
'label' => __( 'Email Subject', EAEL_TEXTDOMAIN ),
|
| 1173 |
+
'type' => Controls_Manager::TEXT,
|
| 1174 |
+
'placeholder' => $default_subject,
|
| 1175 |
+
'default' => $default_subject,
|
| 1176 |
+
'label_block' => true,
|
| 1177 |
+
'render_type' => 'none',
|
| 1178 |
+
'condition' => [
|
| 1179 |
+
'reg_admin_email_template_type' => 'custom',
|
| 1180 |
+
],
|
| 1181 |
+
] );
|
| 1182 |
+
|
| 1183 |
+
$this->add_control( 'reg_admin_email_message', [
|
| 1184 |
+
'label' => __( 'Email Message', EAEL_TEXTDOMAIN ),
|
| 1185 |
+
'type' => Controls_Manager::WYSIWYG,
|
| 1186 |
+
'placeholder' => __( 'Enter Your Custom Email Message..', EAEL_TEXTDOMAIN ),
|
| 1187 |
+
'default' => $default_message,
|
| 1188 |
+
'label_block' => true,
|
| 1189 |
+
'render_type' => 'none',
|
| 1190 |
+
'condition' => [
|
| 1191 |
+
'reg_admin_email_template_type' => 'custom',
|
| 1192 |
+
],
|
| 1193 |
+
] );
|
| 1194 |
+
|
| 1195 |
+
$this->add_control( 'reg_admin_email_content_note', [
|
| 1196 |
+
'type' => Controls_Manager::RAW_HTML,
|
| 1197 |
+
'raw' => __( '<strong>Note:</strong> You can use dynamic content in the email body like [fieldname]. For example [username] will be replaced by user-typed username. Available tags are: [username], [email], [firstname],[lastname], [website], [loginurl] and [sitetitle] ', EAEL_TEXTDOMAIN ),
|
| 1198 |
+
'content_classes' => 'elementor-panel-alert elementor-panel-alert-info',
|
| 1199 |
+
'condition' => [
|
| 1200 |
+
'reg_admin_email_template_type' => 'custom',
|
| 1201 |
+
],
|
| 1202 |
+
'render_type' => 'none',
|
| 1203 |
+
] );
|
| 1204 |
+
|
| 1205 |
+
$this->add_control( 'reg_admin_email_content_type', [
|
| 1206 |
+
'label' => __( 'Email Content Type', EAEL_TEXTDOMAIN ),
|
| 1207 |
+
'type' => Controls_Manager::SELECT,
|
| 1208 |
+
'default' => 'html',
|
| 1209 |
+
'render_type' => 'none',
|
| 1210 |
+
'options' => [
|
| 1211 |
+
'html' => __( 'HTML', EAEL_TEXTDOMAIN ),
|
| 1212 |
+
'plain' => __( 'Plain', EAEL_TEXTDOMAIN ),
|
| 1213 |
+
],
|
| 1214 |
+
'condition' => [
|
| 1215 |
+
'reg_admin_email_template_type' => 'custom',
|
| 1216 |
+
],
|
| 1217 |
+
] );
|
| 1218 |
+
|
| 1219 |
+
$this->end_controls_section();
|
| 1220 |
+
}
|
| 1221 |
+
|
| 1222 |
+
/**
|
| 1223 |
+
* It prints controls for managing general style of both login and registration form
|
| 1224 |
+
*/
|
| 1225 |
+
protected function init_style_general_controls() {
|
| 1226 |
+
$this->start_controls_section( 'section_style_general', [
|
| 1227 |
+
'label' => __( 'General', EAEL_TEXTDOMAIN ),
|
| 1228 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
| 1229 |
+
] );
|
| 1230 |
+
//---Form Container or Box
|
| 1231 |
+
$this->add_control( 'form_form_wrap_po_toggle', [
|
| 1232 |
+
'label' => __( 'Container Box', EAEL_TEXTDOMAIN ),
|
| 1233 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
| 1234 |
+
'label_off' => __( 'Default', EAEL_TEXTDOMAIN ),
|
| 1235 |
+
'label_on' => __( 'Custom', EAEL_TEXTDOMAIN ),
|
| 1236 |
+
'return_value' => 'yes',
|
| 1237 |
+
] );
|
| 1238 |
+
$this->start_popover();
|
| 1239 |
+
$this->add_responsive_control( "eael_form_wrap_width", [
|
| 1240 |
+
'label' => esc_html__( 'width', EAEL_TEXTDOMAIN ),
|
| 1241 |
+
'type' => Controls_Manager::SLIDER,
|
| 1242 |
+
'size_units' => [
|
| 1243 |
+
'px',
|
| 1244 |
+
'rem',
|
| 1245 |
+
'%',
|
| 1246 |
+
],
|
| 1247 |
+
'range' => [
|
| 1248 |
+
'px' => [
|
| 1249 |
+
'min' => 0,
|
| 1250 |
+
'max' => 1000,
|
| 1251 |
+
'step' => 5,
|
| 1252 |
+
],
|
| 1253 |
+
'rem' => [
|
| 1254 |
+
'min' => 0,
|
| 1255 |
+
'max' => 10,
|
| 1256 |
+
'step' => .5,
|
| 1257 |
+
],
|
| 1258 |
+
'%' => [
|
| 1259 |
+
'min' => 0,
|
| 1260 |
+
'max' => 100,
|
| 1261 |
+
],
|
| 1262 |
+
],
|
| 1263 |
+
'desktop_default' => [
|
| 1264 |
+
'unit' => '%',
|
| 1265 |
+
'size' => 65,
|
| 1266 |
+
],
|
| 1267 |
+
'tablet_default' => [
|
| 1268 |
+
'unit' => '%',
|
| 1269 |
+
'size' => 75,
|
| 1270 |
+
],
|
| 1271 |
+
'mobile_default' => [
|
| 1272 |
+
'unit' => '%',
|
| 1273 |
+
'size' => 100,
|
| 1274 |
+
],
|
| 1275 |
+
'selectors' => [
|
| 1276 |
+
"{{WRAPPER}} .eael-lr-form-wrapper" => 'width: {{SIZE}}{{UNIT}};',
|
| 1277 |
+
],
|
| 1278 |
+
'condition' => [
|
| 1279 |
+
'form_form_wrap_po_toggle' => 'yes',
|
| 1280 |
+
],
|
| 1281 |
+
] );
|
| 1282 |
+
|
| 1283 |
+
$this->add_control( "eael_form_wrap_margin", [
|
| 1284 |
+
'label' => __( 'Margin', EAEL_TEXTDOMAIN ),
|
| 1285 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 1286 |
+
'size_units' => [
|
| 1287 |
+
'px',
|
| 1288 |
+
'em',
|
| 1289 |
+
'%',
|
| 1290 |
+
],
|
| 1291 |
+
'selectors' => [
|
| 1292 |
+
"{{WRAPPER}} .eael-lr-form-wrapper" => $this->apply_dim( 'margin' ),
|
| 1293 |
+
],
|
| 1294 |
+
'condition' => [
|
| 1295 |
+
'form_form_wrap_po_toggle' => 'yes',
|
| 1296 |
+
],
|
| 1297 |
+
] );
|
| 1298 |
+
$this->add_control( "eael_form_wrap_padding", [
|
| 1299 |
+
'label' => __( 'Padding', EAEL_TEXTDOMAIN ),
|
| 1300 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 1301 |
+
'size_units' => [
|
| 1302 |
+
'px',
|
| 1303 |
+
'em',
|
| 1304 |
+
'%',
|
| 1305 |
+
],
|
| 1306 |
+
'selectors' => [
|
| 1307 |
+
"{{WRAPPER}} .eael-lr-form-wrapper" => $this->apply_dim( 'padding' ),
|
| 1308 |
+
],
|
| 1309 |
+
'condition' => [
|
| 1310 |
+
'form_form_wrap_po_toggle' => 'yes',
|
| 1311 |
+
],
|
| 1312 |
+
] );
|
| 1313 |
+
$this->add_group_control( Group_Control_Border::get_type(), [
|
| 1314 |
+
'name' => "eael_form_wrap_border",
|
| 1315 |
+
'selector' => "{{WRAPPER}} .eael-lr-form-wrapper",
|
| 1316 |
+
'condition' => [
|
| 1317 |
+
'form_form_wrap_po_toggle' => 'yes',
|
| 1318 |
+
],
|
| 1319 |
+
] );
|
| 1320 |
+
$this->add_control( "eael_form_wrap_border_radius", [
|
| 1321 |
+
'label' => __( 'Border Radius', EAEL_TEXTDOMAIN ),
|
| 1322 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 1323 |
+
'size_units' => [
|
| 1324 |
+
'px',
|
| 1325 |
+
'%',
|
| 1326 |
+
],
|
| 1327 |
+
'selectors' => [
|
| 1328 |
+
"{{WRAPPER}} .eael-lr-form-wrapper" => $this->apply_dim( 'border-radius' ),
|
| 1329 |
+
],
|
| 1330 |
+
'condition' => [
|
| 1331 |
+
'form_form_wrap_po_toggle' => 'yes',
|
| 1332 |
+
],
|
| 1333 |
+
] );
|
| 1334 |
+
$this->add_group_control( Group_Control_Background::get_type(), [
|
| 1335 |
+
'name' => "eael_form_wrap_bg_color",
|
| 1336 |
+
'label' => __( 'Background Color', EAEL_TEXTDOMAIN ),
|
| 1337 |
+
'types' => [
|
| 1338 |
+
'classic',
|
| 1339 |
+
'gradient',
|
| 1340 |
+
],
|
| 1341 |
+
'selector' => "{{WRAPPER}} .eael-lr-form-wrapper",
|
| 1342 |
+
] );
|
| 1343 |
+
$this->end_popover();
|
| 1344 |
+
$this->add_group_control( Group_Control_Box_Shadow::get_type(), [
|
| 1345 |
+
'label' => __( 'Container Box Shadow', EAEL_TEXTDOMAIN ),
|
| 1346 |
+
'name' => 'eael_form_wrap_shadow',
|
| 1347 |
+
'selector' => "{{WRAPPER}} .eael-lr-form-wrapper",
|
| 1348 |
+
'exclude' => [
|
| 1349 |
+
'box_shadow_position',
|
| 1350 |
+
],
|
| 1351 |
+
] );
|
| 1352 |
+
|
| 1353 |
+
//----Form-----
|
| 1354 |
+
$this->add_control( 'form_form_po_toggle', [
|
| 1355 |
+
'label' => __( 'Form', EAEL_TEXTDOMAIN ),
|
| 1356 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
| 1357 |
+
'label_off' => __( 'Default', EAEL_TEXTDOMAIN ),
|
| 1358 |
+
'label_on' => __( 'Custom', EAEL_TEXTDOMAIN ),
|
| 1359 |
+
'return_value' => 'yes',
|
| 1360 |
+
'separator' => 'before',
|
| 1361 |
+
] );
|
| 1362 |
+
$this->start_popover();
|
| 1363 |
+
$this->add_responsive_control( "eael_form_width", [
|
| 1364 |
+
'label' => esc_html__( 'width', EAEL_TEXTDOMAIN ),
|
| 1365 |
+
'type' => Controls_Manager::SLIDER,
|
| 1366 |
+
'size_units' => [
|
| 1367 |
+
'px',
|
| 1368 |
+
'rem',
|
| 1369 |
+
'%',
|
| 1370 |
+
],
|
| 1371 |
+
'range' => [
|
| 1372 |
+
'px' => [
|
| 1373 |
+
'min' => 0,
|
| 1374 |
+
'max' => 1000,
|
| 1375 |
+
'step' => 5,
|
| 1376 |
+
],
|
| 1377 |
+
'rem' => [
|
| 1378 |
+
'min' => 0,
|
| 1379 |
+
'max' => 10,
|
| 1380 |
+
'step' => .5,
|
| 1381 |
+
],
|
| 1382 |
+
'%' => [
|
| 1383 |
+
'min' => 0,
|
| 1384 |
+
'max' => 100,
|
| 1385 |
+
],
|
| 1386 |
+
],
|
| 1387 |
+
'desktop_default' => [
|
| 1388 |
+
'unit' => '%',
|
| 1389 |
+
'size' => 50,
|
| 1390 |
+
],
|
| 1391 |
+
'tablet_default' => [
|
| 1392 |
+
'unit' => '%',
|
| 1393 |
+
'size' => 75,
|
| 1394 |
+
],
|
| 1395 |
+
'mobile_default' => [
|
| 1396 |
+
'unit' => '%',
|
| 1397 |
+
'size' => 100,
|
| 1398 |
+
],
|
| 1399 |
+
'selectors' => [
|
| 1400 |
+
"{{WRAPPER}} .lr-form-wrapper" => 'width: {{SIZE}}{{UNIT}};',
|
| 1401 |
+
],
|
| 1402 |
+
'condition' => [
|
| 1403 |
+
'form_form_po_toggle' => 'yes',
|
| 1404 |
+
],
|
| 1405 |
+
] );
|
| 1406 |
+
|
| 1407 |
+
$this->add_control( "eael_form_margin", [
|
| 1408 |
+
'label' => __( 'Form Margin', EAEL_TEXTDOMAIN ),
|
| 1409 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 1410 |
+
'size_units' => [
|
| 1411 |
+
'px',
|
| 1412 |
+
'em',
|
| 1413 |
+
'%',
|
| 1414 |
+
],
|
| 1415 |
+
'selectors' => [
|
| 1416 |
+
"{{WRAPPER}} .lr-form-wrapper" => $this->apply_dim( 'margin' ),
|
| 1417 |
+
],
|
| 1418 |
+
'condition' => [
|
| 1419 |
+
'form_form_po_toggle' => 'yes',
|
| 1420 |
+
],
|
| 1421 |
+
] );
|
| 1422 |
+
$this->add_control( "eael_form_padding", [
|
| 1423 |
+
'label' => __( 'Form Padding', EAEL_TEXTDOMAIN ),
|
| 1424 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 1425 |
+
'size_units' => [
|
| 1426 |
+
'px',
|
| 1427 |
+
'em',
|
| 1428 |
+
'%',
|
| 1429 |
+
],
|
| 1430 |
+
'selectors' => [
|
| 1431 |
+
"{{WRAPPER}} .lr-form-wrapper" => $this->apply_dim( 'padding' ),
|
| 1432 |
+
],
|
| 1433 |
+
'condition' => [
|
| 1434 |
+
'form_form_po_toggle' => 'yes',
|
| 1435 |
+
],
|
| 1436 |
+
] );
|
| 1437 |
+
$this->add_group_control( Group_Control_Border::get_type(), [
|
| 1438 |
+
'name' => "eael_form_border",
|
| 1439 |
+
'selector' => "{{WRAPPER}} .lr-form-wrapper",
|
| 1440 |
+
'condition' => [
|
| 1441 |
+
'form_form_po_toggle' => 'yes',
|
| 1442 |
+
],
|
| 1443 |
+
] );
|
| 1444 |
+
$this->add_control( "eael_form_border_radius", [
|
| 1445 |
+
'label' => __( 'Border Radius', EAEL_TEXTDOMAIN ),
|
| 1446 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 1447 |
+
'size_units' => [
|
| 1448 |
+
'px',
|
| 1449 |
+
'%',
|
| 1450 |
+
],
|
| 1451 |
+
'selectors' => [
|
| 1452 |
+
"{{WRAPPER}} .lr-form-wrapper" => $this->apply_dim( 'border-radius' ),
|
| 1453 |
+
],
|
| 1454 |
+
'condition' => [
|
| 1455 |
+
'form_form_po_toggle' => 'yes',
|
| 1456 |
+
],
|
| 1457 |
+
] );
|
| 1458 |
+
$this->add_group_control( Group_Control_Background::get_type(), [
|
| 1459 |
+
'name' => "eael_form_bg_color",
|
| 1460 |
+
'label' => __( 'Background Color', EAEL_TEXTDOMAIN ),
|
| 1461 |
+
'types' => [
|
| 1462 |
+
'classic',
|
| 1463 |
+
'gradient',
|
| 1464 |
+
],
|
| 1465 |
+
'selector' => "{{WRAPPER}} .lr-form-wrapper",
|
| 1466 |
+
] );
|
| 1467 |
+
$this->end_popover();
|
| 1468 |
+
$this->add_group_control( Group_Control_Box_Shadow::get_type(), [
|
| 1469 |
+
'label' => __( 'Form Shadow', EAEL_TEXTDOMAIN ),
|
| 1470 |
+
'name' => 'eael_form_shadow',
|
| 1471 |
+
'selector' => "{{WRAPPER}} .lr-form-wrapper",
|
| 1472 |
+
'exclude' => [
|
| 1473 |
+
'box_shadow_position',
|
| 1474 |
+
],
|
| 1475 |
+
] );
|
| 1476 |
+
$this->end_controls_section();
|
| 1477 |
+
}
|
| 1478 |
+
|
| 1479 |
+
protected function init_style_header_content_controls( $form_type = 'login' ) {
|
| 1480 |
+
$this->start_controls_section( "section_style_{$form_type}_header_content", [
|
| 1481 |
+
'label' => sprintf( __( '%s Form Header', EAEL_TEXTDOMAIN ), ucfirst( $form_type ) ),
|
| 1482 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
| 1483 |
+
'conditions' => $this->get_form_controls_display_condition( $form_type ),
|
| 1484 |
+
] );
|
| 1485 |
+
//Define all css selectors ahead for better management
|
| 1486 |
+
$illustration_selector = "{{WRAPPER}} .eael-{$form_type}-form-wrapper .lr-form-illustration";
|
| 1487 |
+
$header_selector = "{{WRAPPER}} .eael-{$form_type}-form-wrapper .lr-form-header";
|
| 1488 |
+
$logo_selector = "{{WRAPPER}} .eael-{$form_type}-form-wrapper .lr-form-header img";
|
| 1489 |
+
$title_selector = "{{WRAPPER}} .eael-{$form_type}-form-wrapper .lr-form-header .form-dsc h4";
|
| 1490 |
+
$subtitle_selector = "{{WRAPPER}} .eael-{$form_type}-form-wrapper .lr-form-header .form-dsc p";
|
| 1491 |
+
|
| 1492 |
+
$this->add_control( "{$form_type}_form_img_po_toggle", [
|
| 1493 |
+
'label' => __( 'Form Illustration', EAEL_TEXTDOMAIN ),
|
| 1494 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
| 1495 |
+
'label_off' => __( 'Default', EAEL_TEXTDOMAIN ),
|
| 1496 |
+
'label_on' => __( 'Custom', EAEL_TEXTDOMAIN ),
|
| 1497 |
+
'return_value' => 'yes',
|
| 1498 |
+
] );
|
| 1499 |
+
$this->start_popover();
|
| 1500 |
+
$this->add_responsive_control( "{$form_type}_form_img_width", [
|
| 1501 |
+
'label' => esc_html__( 'Width', EAEL_TEXTDOMAIN ),
|
| 1502 |
+
'type' => Controls_Manager::SLIDER,
|
| 1503 |
+
'size_units' => [
|
| 1504 |
+
'px',
|
| 1505 |
+
'rem',
|
| 1506 |
+
'%',
|
| 1507 |
+
],
|
| 1508 |
+
'range' => [
|
| 1509 |
+
'px' => [
|
| 1510 |
+
'min' => 0,
|
| 1511 |
+
'max' => 1000,
|
| 1512 |
+
'step' => 5,
|
| 1513 |
+
],
|
| 1514 |
+
'rem' => [
|
| 1515 |
+
'min' => 0,
|
| 1516 |
+
'max' => 10,
|
| 1517 |
+
'step' => .5,
|
| 1518 |
+
],
|
| 1519 |
+
'%' => [
|
| 1520 |
+
'min' => 0,
|
| 1521 |
+
'max' => 100,
|
| 1522 |
+
],
|
| 1523 |
+
],
|
| 1524 |
+
'desktop_default' => [
|
| 1525 |
+
'unit' => '%',
|
| 1526 |
+
'size' => 50,
|
| 1527 |
+
],
|
| 1528 |
+
'tablet_default' => [
|
| 1529 |
+
'unit' => '%',
|
| 1530 |
+
'size' => 100,
|
| 1531 |
+
],
|
| 1532 |
+
'mobile_default' => [
|
| 1533 |
+
'unit' => '%',
|
| 1534 |
+
'size' => 100,
|
| 1535 |
+
],
|
| 1536 |
+
'selectors' => [
|
| 1537 |
+
$illustration_selector => 'width: {{SIZE}}{{UNIT}};',
|
| 1538 |
+
],
|
| 1539 |
+
'condition' => [
|
| 1540 |
+
"{$form_type}_form_img_po_toggle" => 'yes',
|
| 1541 |
+
],
|
| 1542 |
+
] );
|
| 1543 |
+
$this->add_responsive_control( "{$form_type}_form_img_height", [
|
| 1544 |
+
'label' => esc_html__( 'Height', EAEL_TEXTDOMAIN ),
|
| 1545 |
+
'type' => Controls_Manager::SLIDER,
|
| 1546 |
+
'size_units' => [
|
| 1547 |
+
'px',
|
| 1548 |
+
'rem',
|
| 1549 |
+
],
|
| 1550 |
+
'range' => [
|
| 1551 |
+
'px' => [
|
| 1552 |
+
'min' => 0,
|
| 1553 |
+
'max' => 1000,
|
| 1554 |
+
'step' => 5,
|
| 1555 |
+
],
|
| 1556 |
+
'rem' => [
|
| 1557 |
+
'min' => 0,
|
| 1558 |
+
'max' => 10,
|
| 1559 |
+
'step' => .5,
|
| 1560 |
+
],
|
| 1561 |
+
],
|
| 1562 |
+
'desktop_default' => [
|
| 1563 |
+
'unit' => 'px',
|
| 1564 |
+
'size' => 375,
|
| 1565 |
+
],
|
| 1566 |
+
'tablet_default' => [
|
| 1567 |
+
'unit' => 'px',
|
| 1568 |
+
'size' => 375,
|
| 1569 |
+
],
|
| 1570 |
+
'mobile_default' => [
|
| 1571 |
+
'unit' => 'px',
|
| 1572 |
+
'size' => 375,
|
| 1573 |
+
],
|
| 1574 |
+
'selectors' => [
|
| 1575 |
+
$illustration_selector => 'height: {{SIZE}}{{UNIT}};',
|
| 1576 |
+
],
|
| 1577 |
+
'condition' => [
|
| 1578 |
+
"{$form_type}_form_img_po_toggle" => 'yes',
|
| 1579 |
+
],
|
| 1580 |
+
] );
|
| 1581 |
+
$this->add_control( "{$form_type}_form_img_margin", [
|
| 1582 |
+
'label' => __( 'Margin', EAEL_TEXTDOMAIN ),
|
| 1583 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 1584 |
+
'size_units' => [
|
| 1585 |
+
'px',
|
| 1586 |
+
'em',
|
| 1587 |
+
'%',
|
| 1588 |
+
],
|
| 1589 |
+
'selectors' => [
|
| 1590 |
+
$illustration_selector => $this->apply_dim( 'margin' ),
|
| 1591 |
+
],
|
| 1592 |
+
'condition' => [
|
| 1593 |
+
"{$form_type}_form_img_po_toggle" => 'yes',
|
| 1594 |
+
],
|
| 1595 |
+
] );
|
| 1596 |
+
$this->add_control( "{$form_type}_form_img_padding", [
|
| 1597 |
+
'label' => __( 'Padding', EAEL_TEXTDOMAIN ),
|
| 1598 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 1599 |
+
'size_units' => [
|
| 1600 |
+
'px',
|
| 1601 |
+
'em',
|
| 1602 |
+
'%',
|
| 1603 |
+
],
|
| 1604 |
+
'selectors' => [
|
| 1605 |
+
$illustration_selector => $this->apply_dim( 'padding' ),
|
| 1606 |
+
],
|
| 1607 |
+
'condition' => [
|
| 1608 |
+
"{$form_type}_form_img_po_toggle" => 'yes',
|
| 1609 |
+
],
|
| 1610 |
+
] );
|
| 1611 |
+
$this->add_group_control( Group_Control_Border::get_type(), [
|
| 1612 |
+
'name' => "{$form_type}_form_img_border",
|
| 1613 |
+
'selector' => $illustration_selector,
|
| 1614 |
+
'condition' => [
|
| 1615 |
+
"{$form_type}_form_img_po_toggle" => 'yes',
|
| 1616 |
+
],
|
| 1617 |
+
] );
|
| 1618 |
+
$this->add_control( "{$form_type}_form_img_border_radius", [
|
| 1619 |
+
'label' => __( 'Border Radius', EAEL_TEXTDOMAIN ),
|
| 1620 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 1621 |
+
'size_units' => [
|
| 1622 |
+
'px',
|
| 1623 |
+
'%',
|
| 1624 |
+
],
|
| 1625 |
+
'selectors' => [
|
| 1626 |
+
$illustration_selector => $this->apply_dim( 'border-radius' ),
|
| 1627 |
+
],
|
| 1628 |
+
'condition' => [
|
| 1629 |
+
"{$form_type}_form_img_po_toggle" => 'yes',
|
| 1630 |
+
],
|
| 1631 |
+
] );
|
| 1632 |
+
$this->end_popover();
|
| 1633 |
+
$this->add_group_control( Group_Control_Box_Shadow::get_type(), [
|
| 1634 |
+
'label' => __( 'Illustration Shadow', EAEL_TEXTDOMAIN ),
|
| 1635 |
+
'name' => "{$form_type}_form_img_shadow",
|
| 1636 |
+
'selector' => $illustration_selector,
|
| 1637 |
+
'exclude' => [
|
| 1638 |
+
'box_shadow_position',
|
| 1639 |
+
],
|
| 1640 |
+
] );
|
| 1641 |
+
$this->add_control( "{$form_type}_form_logo_po_toggle", [
|
| 1642 |
+
'label' => __( 'Form Logo', EAEL_TEXTDOMAIN ),
|
| 1643 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
| 1644 |
+
'label_off' => __( 'Default', EAEL_TEXTDOMAIN ),
|
| 1645 |
+
'label_on' => __( 'Custom', EAEL_TEXTDOMAIN ),
|
| 1646 |
+
'return_value' => 'yes',
|
| 1647 |
+
'separator' => 'before',
|
| 1648 |
+
] );
|
| 1649 |
+
$this->start_popover();
|
| 1650 |
+
$this->add_control( "{$form_type}_form_logo_margin", [
|
| 1651 |
+
'label' => __( 'Margin', EAEL_TEXTDOMAIN ),
|
| 1652 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 1653 |
+
'size_units' => [
|
| 1654 |
+
'px',
|
| 1655 |
+
'em',
|
| 1656 |
+
'%',
|
| 1657 |
+
],
|
| 1658 |
+
'selectors' => [
|
| 1659 |
+
$logo_selector => $this->apply_dim( 'margin' ),
|
| 1660 |
+
],
|
| 1661 |
+
'condition' => [
|
| 1662 |
+
"{$form_type}_form_logo_po_toggle" => 'yes',
|
| 1663 |
+
],
|
| 1664 |
+
] );
|
| 1665 |
+
$this->add_control( "{$form_type}_form_logo_padding", [
|
| 1666 |
+
'label' => __( 'Padding', EAEL_TEXTDOMAIN ),
|
| 1667 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 1668 |
+
'size_units' => [
|
| 1669 |
+
'px',
|
| 1670 |
+
'em',
|
| 1671 |
+
'%',
|
| 1672 |
+
],
|
| 1673 |
+
'selectors' => [
|
| 1674 |
+
$logo_selector => $this->apply_dim( 'padding' ),
|
| 1675 |
+
],
|
| 1676 |
+
'condition' => [
|
| 1677 |
+
"{$form_type}_form_logo_po_toggle" => 'yes',
|
| 1678 |
+
],
|
| 1679 |
+
] );
|
| 1680 |
+
$this->add_group_control( Group_Control_Border::get_type(), [
|
| 1681 |
+
'name' => "{$form_type}_form_logo_border",
|
| 1682 |
+
'selector' => $logo_selector,
|
| 1683 |
+
'condition' => [
|
| 1684 |
+
"{$form_type}_form_logo_po_toggle" => 'yes',
|
| 1685 |
+
],
|
| 1686 |
+
] );
|
| 1687 |
+
$this->add_control( "{$form_type}_form_logo_border_radius", [
|
| 1688 |
+
'label' => __( 'Border Radius', EAEL_TEXTDOMAIN ),
|
| 1689 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 1690 |
+
'size_units' => [
|
| 1691 |
+
'px',
|
| 1692 |
+
'%',
|
| 1693 |
+
],
|
| 1694 |
+
'selectors' => [
|
| 1695 |
+
$logo_selector => $this->apply_dim( 'border-radius' ),
|
| 1696 |
+
],
|
| 1697 |
+
'condition' => [
|
| 1698 |
+
"{$form_type}_form_logo_po_toggle" => 'yes',
|
| 1699 |
+
],
|
| 1700 |
+
] );
|
| 1701 |
+
$this->end_popover();
|
| 1702 |
+
$this->add_group_control( Group_Control_Box_Shadow::get_type(), [
|
| 1703 |
+
'label' => __( 'Logo Shadow', EAEL_TEXTDOMAIN ),
|
| 1704 |
+
'name' => "{$form_type}_form_logo_shadow",
|
| 1705 |
+
'selector' => $logo_selector,
|
| 1706 |
+
'exclude' => [
|
| 1707 |
+
'box_shadow_position',
|
| 1708 |
+
],
|
| 1709 |
+
] );
|
| 1710 |
+
|
| 1711 |
+
$this->add_group_control( Group_Control_Background::get_type(), [
|
| 1712 |
+
'name' => "{$form_type}_form_header_bg",
|
| 1713 |
+
'label' => __( 'Background Color', EAEL_TEXTDOMAIN ),
|
| 1714 |
+
'types' => [
|
| 1715 |
+
'classic',
|
| 1716 |
+
'gradient',
|
| 1717 |
+
],
|
| 1718 |
+
'selector' => $header_selector,
|
| 1719 |
+
] );
|
| 1720 |
+
|
| 1721 |
+
|
| 1722 |
+
/*-- Title Typography --*/
|
| 1723 |
+
$this->add_control( "{$form_type}_form_title_po_toggle", [
|
| 1724 |
+
'label' => __( 'Title', EAEL_TEXTDOMAIN ),
|
| 1725 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
| 1726 |
+
'label_off' => __( 'Default', EAEL_TEXTDOMAIN ),
|
| 1727 |
+
'label_on' => __( 'Custom', EAEL_TEXTDOMAIN ),
|
| 1728 |
+
'return_value' => 'yes',
|
| 1729 |
+
'separator' => 'before',
|
| 1730 |
+
] );
|
| 1731 |
+
$this->start_popover();
|
| 1732 |
+
$this->add_control( "{$form_type}_form_title_margin", [
|
| 1733 |
+
'label' => __( 'Margin', EAEL_TEXTDOMAIN ),
|
| 1734 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 1735 |
+
'size_units' => [
|
| 1736 |
+
'px',
|
| 1737 |
+
'em',
|
| 1738 |
+
'%',
|
| 1739 |
+
],
|
| 1740 |
+
'selectors' => [
|
| 1741 |
+
$title_selector => $this->apply_dim( 'margin' ),
|
| 1742 |
+
],
|
| 1743 |
+
'condition' => [
|
| 1744 |
+
"{$form_type}_form_title_po_toggle" => 'yes',
|
| 1745 |
+
],
|
| 1746 |
+
] );
|
| 1747 |
+
$this->add_control( "{$form_type}_form_title_padding", [
|
| 1748 |
+
'label' => __( 'Padding', EAEL_TEXTDOMAIN ),
|
| 1749 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 1750 |
+
'size_units' => [
|
| 1751 |
+
'px',
|
| 1752 |
+
'em',
|
| 1753 |
+
'%',
|
| 1754 |
+
],
|
| 1755 |
+
'selectors' => [
|
| 1756 |
+
$title_selector => $this->apply_dim( 'padding' ),
|
| 1757 |
+
],
|
| 1758 |
+
'condition' => [
|
| 1759 |
+
"{$form_type}_form_title_po_toggle" => 'yes',
|
| 1760 |
+
],
|
| 1761 |
+
] );
|
| 1762 |
+
$this->add_control( "{$form_type}_form_title_color", [
|
| 1763 |
+
'label' => __( 'Color', EAEL_TEXTDOMAIN ),
|
| 1764 |
+
'type' => Controls_Manager::COLOR,
|
| 1765 |
+
'selectors' => [
|
| 1766 |
+
$title_selector => 'color: {{VALUE}};',
|
| 1767 |
+
],
|
| 1768 |
+
'condition' => [
|
| 1769 |
+
"{$form_type}_form_title_po_toggle" => 'yes',
|
| 1770 |
+
],
|
| 1771 |
+
] );
|
| 1772 |
+
$this->add_control( "{$form_type}_form_title_bg_color", [
|
| 1773 |
+
'label' => __( 'Background Color', EAEL_TEXTDOMAIN ),
|
| 1774 |
+
'type' => Controls_Manager::COLOR,
|
| 1775 |
+
'selectors' => [
|
| 1776 |
+
$title_selector => 'background: {{VALUE}};',
|
| 1777 |
+
],
|
| 1778 |
+
'condition' => [
|
| 1779 |
+
"{$form_type}_form_title_po_toggle" => 'yes',
|
| 1780 |
+
],
|
| 1781 |
+
] );
|
| 1782 |
+
|
| 1783 |
+
|
| 1784 |
+
$this->add_group_control( Group_Control_Border::get_type(), [
|
| 1785 |
+
'name' => "{$form_type}_form_title_border",
|
| 1786 |
+
'selector' => $title_selector,
|
| 1787 |
+
'condition' => [
|
| 1788 |
+
"{$form_type}_form_title_po_toggle" => 'yes',
|
| 1789 |
+
],
|
| 1790 |
+
] );
|
| 1791 |
+
$this->add_control( "{$form_type}_form_title_border_radius", [
|
| 1792 |
+
'label' => __( 'Border Radius', EAEL_TEXTDOMAIN ),
|
| 1793 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 1794 |
+
'size_units' => [
|
| 1795 |
+
'px',
|
| 1796 |
+
'%',
|
| 1797 |
+
],
|
| 1798 |
+
'selectors' => [
|
| 1799 |
+
$title_selector => $this->apply_dim( 'border-radius' ),
|
| 1800 |
+
],
|
| 1801 |
+
'condition' => [
|
| 1802 |
+
"{$form_type}_form_title_po_toggle" => 'yes',
|
| 1803 |
+
],
|
| 1804 |
+
] );
|
| 1805 |
+
|
| 1806 |
+
$this->end_popover();
|
| 1807 |
+
$this->add_group_control( Group_Control_Typography::get_type(), [
|
| 1808 |
+
'name' => "{$form_type}_form_title_typo",
|
| 1809 |
+
'label' => __( 'Title Typography', EAEL_TEXTDOMAIN ),
|
| 1810 |
+
'selector' => $title_selector,
|
| 1811 |
+
] );
|
| 1812 |
+
|
| 1813 |
+
/*Subtitle----*/
|
| 1814 |
+
$this->add_control( "{$form_type}_form_subtitle_po_toggle", [
|
| 1815 |
+
'label' => __( 'Subtitle', EAEL_TEXTDOMAIN ),
|
| 1816 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
| 1817 |
+
'label_off' => __( 'Default', EAEL_TEXTDOMAIN ),
|
| 1818 |
+
'label_on' => __( 'Custom', EAEL_TEXTDOMAIN ),
|
| 1819 |
+
'return_value' => 'yes',
|
| 1820 |
+
'separator' => 'before',
|
| 1821 |
+
] );
|
| 1822 |
+
$this->start_popover();
|
| 1823 |
+
$this->add_control( "{$form_type}_form_subtitle_margin", [
|
| 1824 |
+
'label' => __( 'Margin', EAEL_TEXTDOMAIN ),
|
| 1825 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 1826 |
+
'size_units' => [
|
| 1827 |
+
'px',
|
| 1828 |
+
'em',
|
| 1829 |
+
'%',
|
| 1830 |
+
],
|
| 1831 |
+
'selectors' => [
|
| 1832 |
+
$subtitle_selector => $this->apply_dim( 'margin' ),
|
| 1833 |
+
],
|
| 1834 |
+
'condition' => [
|
| 1835 |
+
"{$form_type}_form_subtitle_po_toggle" => 'yes',
|
| 1836 |
+
],
|
| 1837 |
+
] );
|
| 1838 |
+
$this->add_control( "{$form_type}_form_subtitle_padding", [
|
| 1839 |
+
'label' => __( 'Padding', EAEL_TEXTDOMAIN ),
|
| 1840 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 1841 |
+
'size_units' => [
|
| 1842 |
+
'px',
|
| 1843 |
+
'em',
|
| 1844 |
+
'%',
|
| 1845 |
+
],
|
| 1846 |
+
'selectors' => [
|
| 1847 |
+
$subtitle_selector => $this->apply_dim( 'padding' ),
|
| 1848 |
+
],
|
| 1849 |
+
'condition' => [
|
| 1850 |
+
"{$form_type}_form_subtitle_po_toggle" => 'yes',
|
| 1851 |
+
],
|
| 1852 |
+
] );
|
| 1853 |
+
$this->add_control( "{$form_type}_form_subtitle_color", [
|
| 1854 |
+
'label' => __( 'Color', EAEL_TEXTDOMAIN ),
|
| 1855 |
+
'type' => Controls_Manager::COLOR,
|
| 1856 |
+
'selectors' => [
|
| 1857 |
+
$subtitle_selector => 'color: {{VALUE}};',
|
| 1858 |
+
],
|
| 1859 |
+
'condition' => [
|
| 1860 |
+
"{$form_type}_form_subtitle_po_toggle" => 'yes',
|
| 1861 |
+
],
|
| 1862 |
+
] );
|
| 1863 |
+
$this->add_control( "{$form_type}_form_subtitle_bg_color", [
|
| 1864 |
+
'label' => __( 'Background Color', EAEL_TEXTDOMAIN ),
|
| 1865 |
+
'type' => Controls_Manager::COLOR,
|
| 1866 |
+
'selectors' => [
|
| 1867 |
+
$subtitle_selector => 'background: {{VALUE}};',
|
| 1868 |
+
],
|
| 1869 |
+
'condition' => [
|
| 1870 |
+
"{$form_type}_form_subtitle_po_toggle" => 'yes',
|
| 1871 |
+
],
|
| 1872 |
+
] );
|
| 1873 |
+
|
| 1874 |
+
|
| 1875 |
+
$this->add_group_control( Group_Control_Border::get_type(), [
|
| 1876 |
+
'name' => "{$form_type}_form_subtitle_border",
|
| 1877 |
+
'selector' => $subtitle_selector,
|
| 1878 |
+
'condition' => [
|
| 1879 |
+
"{$form_type}_form_subtitle_po_toggle" => 'yes',
|
| 1880 |
+
],
|
| 1881 |
+
] );
|
| 1882 |
+
$this->add_control( "{$form_type}_form_subtitle_border_radius", [
|
| 1883 |
+
'label' => __( 'Border Radius', EAEL_TEXTDOMAIN ),
|
| 1884 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 1885 |
+
'size_units' => [
|
| 1886 |
+
'px',
|
| 1887 |
+
'%',
|
| 1888 |
+
],
|
| 1889 |
+
'selectors' => [
|
| 1890 |
+
$subtitle_selector => $this->apply_dim( 'border-radius' ),
|
| 1891 |
+
],
|
| 1892 |
+
'condition' => [
|
| 1893 |
+
"{$form_type}_form_subtitle_po_toggle" => 'yes',
|
| 1894 |
+
],
|
| 1895 |
+
] );
|
| 1896 |
+
|
| 1897 |
+
$this->end_popover();
|
| 1898 |
+
$this->add_group_control( Group_Control_Typography::get_type(), [
|
| 1899 |
+
'name' => "{$form_type}_form_subtitle_typo",
|
| 1900 |
+
'label' => __( 'Subtitle Typography', EAEL_TEXTDOMAIN ),
|
| 1901 |
+
'selector' => $subtitle_selector,
|
| 1902 |
+
] );
|
| 1903 |
+
|
| 1904 |
+
$this->end_controls_section();
|
| 1905 |
+
}
|
| 1906 |
+
|
| 1907 |
+
protected function init_style_input_fields_controls() {
|
| 1908 |
+
$this->start_controls_section( 'section_style_form_fields', [
|
| 1909 |
+
'label' => __( 'Form Fields', EAEL_TEXTDOMAIN ),
|
| 1910 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
| 1911 |
+
] );
|
| 1912 |
+
$this->add_control( 'eael_form_field_po_toggle', [
|
| 1913 |
+
'label' => __( 'Spacing', EAEL_TEXTDOMAIN ),
|
| 1914 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
| 1915 |
+
'label_off' => __( 'Default', EAEL_TEXTDOMAIN ),
|
| 1916 |
+
'label_on' => __( 'Custom', EAEL_TEXTDOMAIN ),
|
| 1917 |
+
'return_value' => 'yes',
|
| 1918 |
+
] );
|
| 1919 |
+
|
| 1920 |
+
$this->start_popover();
|
| 1921 |
+
$this->add_control( "eael_form_field_margin", [
|
| 1922 |
+
'label' => __( 'Margin', EAEL_TEXTDOMAIN ),
|
| 1923 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 1924 |
+
'size_units' => [
|
| 1925 |
+
'px',
|
| 1926 |
+
'em',
|
| 1927 |
+
'%',
|
| 1928 |
+
],
|
| 1929 |
+
'selectors' => [
|
| 1930 |
+
"{{WRAPPER}} .lr-form-wrapper .eael-lr-form-control" => $this->apply_dim( 'margin' ),
|
| 1931 |
+
],
|
| 1932 |
+
'condition' => [
|
| 1933 |
+
'eael_form_field_po_toggle' => 'yes',
|
| 1934 |
+
],
|
| 1935 |
+
] );
|
| 1936 |
+
|
| 1937 |
+
$this->add_control( "eael_form_field_padding", [
|
| 1938 |
+
'label' => __( 'Padding', EAEL_TEXTDOMAIN ),
|
| 1939 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 1940 |
+
'size_units' => [
|
| 1941 |
+
'px',
|
| 1942 |
+
'em',
|
| 1943 |
+
'%',
|
| 1944 |
+
],
|
| 1945 |
+
'selectors' => [
|
| 1946 |
+
"{{WRAPPER}} .lr-form-wrapper .eael-lr-form-control" => $this->apply_dim( 'padding' ),
|
| 1947 |
+
],
|
| 1948 |
+
'condition' => [
|
| 1949 |
+
'eael_form_field_po_toggle' => 'yes',
|
| 1950 |
+
],
|
| 1951 |
+
] );
|
| 1952 |
+
$this->end_popover();
|
| 1953 |
+
$this->add_group_control( Group_Control_Typography::get_type(), [
|
| 1954 |
+
'name' => "eael_fields_typography",
|
| 1955 |
+
'selector' => "{{WRAPPER}} .lr-form-wrapper .eael-lr-form-control",
|
| 1956 |
+
] );
|
| 1957 |
+
$this->add_control( 'eael_form_label_colors_heading', [
|
| 1958 |
+
'type' => Controls_Manager::HEADING,
|
| 1959 |
+
'label' => __( 'Colors & Border', EAEL_TEXTDOMAIN ),
|
| 1960 |
+
'separator' => 'before',
|
| 1961 |
+
] );
|
| 1962 |
+
$this->start_controls_tabs( "tabs_form_fields_style" );
|
| 1963 |
+
|
| 1964 |
+
/*-----Form Input Fields NORMAL state------ */
|
| 1965 |
+
$this->start_controls_tab( "tab_form_field_style_normal", [
|
| 1966 |
+
'label' => __( 'Normal', EAEL_TEXTDOMAIN ),
|
| 1967 |
+
] );
|
| 1968 |
+
$this->add_control( 'eael_field_color', [
|
| 1969 |
+
'label' => __( 'Text Color', EAEL_TEXTDOMAIN ),
|
| 1970 |
+
'type' => Controls_Manager::COLOR,
|
| 1971 |
+
'selectors' => [
|
| 1972 |
+
"{{WRAPPER}} .lr-form-wrapper .eael-lr-form-control" => 'color: {{VALUE}};',
|
| 1973 |
+
],
|
| 1974 |
+
] );
|
| 1975 |
+
$this->add_control( 'eael_field_placeholder_color', [
|
| 1976 |
+
'label' => __( 'Placeholder Color', EAEL_TEXTDOMAIN ),
|
| 1977 |
+
'type' => Controls_Manager::COLOR,
|
| 1978 |
+
'selectors' => [
|
| 1979 |
+
"{{WRAPPER}} .lr-form-wrapper input.eael-lr-form-control::placeholder" => 'color: {{VALUE}};',
|
| 1980 |
+
],
|
| 1981 |
+
] );
|
| 1982 |
+
$this->add_control( 'eael_field_bg_color', [
|
| 1983 |
+
'label' => __( 'Background Color', EAEL_TEXTDOMAIN ),
|
| 1984 |
+
'type' => Controls_Manager::COLOR,
|
| 1985 |
+
'default' => '#ffffff',
|
| 1986 |
+
'selectors' => [
|
| 1987 |
+
"{{WRAPPER}} .lr-form-wrapper .eael-lr-form-control" => 'background-color: {{VALUE}};',
|
| 1988 |
+
],
|
| 1989 |
+
] );
|
| 1990 |
+
|
| 1991 |
+
$this->add_group_control( Group_Control_Border::get_type(), [
|
| 1992 |
+
'name' => "eael_field_border",
|
| 1993 |
+
'selector' => "{{WRAPPER}} .lr-form-wrapper .eael-lr-form-control",
|
| 1994 |
+
] );
|
| 1995 |
+
$this->add_control( "eael_field_border_radius", [
|
| 1996 |
+
'label' => __( 'Border Radius', EAEL_TEXTDOMAIN ),
|
| 1997 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 1998 |
+
'size_units' => [
|
| 1999 |
+
'px',
|
| 2000 |
+
'%',
|
| 2001 |
+
],
|
| 2002 |
+
'selectors' => [
|
| 2003 |
+
"{{WRAPPER}} .lr-form-wrapper .eael-lr-form-control" => $this->apply_dim( 'border-radius' ),
|
| 2004 |
+
],
|
| 2005 |
+
] );
|
| 2006 |
+
|
| 2007 |
+
$this->end_controls_tab();
|
| 2008 |
+
|
| 2009 |
+
$this->start_controls_tab( "tab_form_field_style_active", [
|
| 2010 |
+
'label' => __( 'Focus', EAEL_TEXTDOMAIN ),
|
| 2011 |
+
] );
|
| 2012 |
+
|
| 2013 |
+
$this->add_control( 'eael_field_placeholder_color_active', [
|
| 2014 |
+
'label' => __( 'Placeholder Color', EAEL_TEXTDOMAIN ),
|
| 2015 |
+
'type' => Controls_Manager::COLOR,
|
| 2016 |
+
'selectors' => [
|
| 2017 |
+
"{{WRAPPER}} .lr-form-wrapper input.eael-lr-form-control:focus::placeholder" => 'color: {{VALUE}};',
|
| 2018 |
+
],
|
| 2019 |
+
] );
|
| 2020 |
+
$this->add_control( 'eael_field_bg_color_active', [
|
| 2021 |
+
'label' => __( 'Background Color', EAEL_TEXTDOMAIN ),
|
| 2022 |
+
'type' => Controls_Manager::COLOR,
|
| 2023 |
+
'default' => '#ffffff',
|
| 2024 |
+
'selectors' => [
|
| 2025 |
+
"{{WRAPPER}} .lr-form-wrapper .eael-lr-form-control:focus" => 'background-color: {{VALUE}};',
|
| 2026 |
+
],
|
| 2027 |
+
] );
|
| 2028 |
+
$this->add_group_control( Group_Control_Border::get_type(), [
|
| 2029 |
+
'name' => "eael_field_border_focus",
|
| 2030 |
+
'selector' => "{{WRAPPER}} .lr-form-wrapper .eael-lr-form-control:focus",
|
| 2031 |
+
] );
|
| 2032 |
+
$this->add_control( "eael_field_border_radius_focus", [
|
| 2033 |
+
'label' => __( 'Border Radius', EAEL_TEXTDOMAIN ),
|
| 2034 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 2035 |
+
'size_units' => [
|
| 2036 |
+
'px',
|
| 2037 |
+
'%',
|
| 2038 |
+
],
|
| 2039 |
+
'selectors' => [
|
| 2040 |
+
"{{WRAPPER}} .lr-form-wrapper .eael-lr-form-control:focus" => $this->apply_dim( 'border-radius' ),
|
| 2041 |
+
],
|
| 2042 |
+
] );
|
| 2043 |
+
$this->end_controls_tab();
|
| 2044 |
+
$this->end_controls_tabs();
|
| 2045 |
+
$this->end_controls_section();
|
| 2046 |
+
}
|
| 2047 |
+
|
| 2048 |
+
protected function init_style_input_labels_controls() {
|
| 2049 |
+
$this->start_controls_section( 'section_style_form_labels', [
|
| 2050 |
+
'label' => __( 'Form Labels', EAEL_TEXTDOMAIN ),
|
| 2051 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
| 2052 |
+
] );
|
| 2053 |
+
$this->add_control( 'eael_form_label_po_toggle', [
|
| 2054 |
+
'label' => __( 'Spacing', EAEL_TEXTDOMAIN ),
|
| 2055 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
| 2056 |
+
'label_off' => __( 'Default', EAEL_TEXTDOMAIN ),
|
| 2057 |
+
'label_on' => __( 'Custom', EAEL_TEXTDOMAIN ),
|
| 2058 |
+
'return_value' => 'yes',
|
| 2059 |
+
] );
|
| 2060 |
+
|
| 2061 |
+
$this->start_popover();
|
| 2062 |
+
$this->add_control( "eael_form_label_margin", [
|
| 2063 |
+
'label' => __( 'Margin', EAEL_TEXTDOMAIN ),
|
| 2064 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 2065 |
+
'size_units' => [
|
| 2066 |
+
'px',
|
| 2067 |
+
'em',
|
| 2068 |
+
'%',
|
| 2069 |
+
],
|
| 2070 |
+
'selectors' => [
|
| 2071 |
+
"{{WRAPPER}} .lr-form-wrapper .eael-field-label" => $this->apply_dim( 'margin' ),
|
| 2072 |
+
],
|
| 2073 |
+
'condition' => [
|
| 2074 |
+
'eael_form_label_po_toggle' => 'yes',
|
| 2075 |
+
],
|
| 2076 |
+
] );
|
| 2077 |
+
$this->add_control( "eael_form_label_padding", [
|
| 2078 |
+
'label' => __( 'Padding', EAEL_TEXTDOMAIN ),
|
| 2079 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 2080 |
+
'size_units' => [
|
| 2081 |
+
'px',
|
| 2082 |
+
'em',
|
| 2083 |
+
'%',
|
| 2084 |
+
],
|
| 2085 |
+
'selectors' => [
|
| 2086 |
+
"{{WRAPPER}} .lr-form-wrapper .eael-field-label" => $this->apply_dim( 'padding' ),
|
| 2087 |
+
],
|
| 2088 |
+
'condition' => [
|
| 2089 |
+
'eael_form_label_po_toggle' => 'yes',
|
| 2090 |
+
],
|
| 2091 |
+
] );
|
| 2092 |
+
$this->end_popover();
|
| 2093 |
+
$this->add_group_control( Group_Control_Typography::get_type(), [
|
| 2094 |
+
'name' => "eael_label_typography",
|
| 2095 |
+
'selector' => "{{WRAPPER}} .lr-form-wrapper .eael-field-label",
|
| 2096 |
+
] );
|
| 2097 |
+
|
| 2098 |
+
$this->add_control( 'eael_form_label_c_po_toggle', [
|
| 2099 |
+
'label' => __( 'Colors', EAEL_TEXTDOMAIN ),
|
| 2100 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
| 2101 |
+
'label_off' => __( 'Default', EAEL_TEXTDOMAIN ),
|
| 2102 |
+
'label_on' => __( 'Custom', EAEL_TEXTDOMAIN ),
|
| 2103 |
+
'return_value' => 'yes',
|
| 2104 |
+
] );
|
| 2105 |
+
|
| 2106 |
+
$this->start_popover();
|
| 2107 |
+
$this->add_control( 'eael_label_color', [
|
| 2108 |
+
'label' => __( 'Text Color', EAEL_TEXTDOMAIN ),
|
| 2109 |
+
'type' => Controls_Manager::COLOR,
|
| 2110 |
+
'selectors' => [
|
| 2111 |
+
"{{WRAPPER}} .lr-form-wrapper .eael-field-label" => 'color: {{VALUE}};',
|
| 2112 |
+
],
|
| 2113 |
+
'condition' => [
|
| 2114 |
+
'eael_form_label_c_po_toggle' => 'yes',
|
| 2115 |
+
],
|
| 2116 |
+
] );
|
| 2117 |
+
$this->add_control( 'eael_label_bg_color', [
|
| 2118 |
+
'label' => __( 'Background Color', EAEL_TEXTDOMAIN ),
|
| 2119 |
+
'type' => Controls_Manager::COLOR,
|
| 2120 |
+
'default' => '#ffffff',
|
| 2121 |
+
'selectors' => [
|
| 2122 |
+
"{{WRAPPER}} .lr-form-wrapper .eael-field-label" => 'background-color: {{VALUE}};',
|
| 2123 |
+
],
|
| 2124 |
+
'condition' => [
|
| 2125 |
+
'eael_form_label_c_po_toggle' => 'yes',
|
| 2126 |
+
],
|
| 2127 |
+
] );
|
| 2128 |
+
$this->end_popover();
|
| 2129 |
+
|
| 2130 |
+
$this->add_control( 'eael_form_label_b_po_toggle', [
|
| 2131 |
+
'label' => __( 'Border', EAEL_TEXTDOMAIN ),
|
| 2132 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
| 2133 |
+
'label_off' => __( 'Default', EAEL_TEXTDOMAIN ),
|
| 2134 |
+
'label_on' => __( 'Custom', EAEL_TEXTDOMAIN ),
|
| 2135 |
+
'return_value' => 'yes',
|
| 2136 |
+
] );
|
| 2137 |
+
|
| 2138 |
+
$this->start_popover();
|
| 2139 |
+
$this->add_group_control( Group_Control_Border::get_type(), [
|
| 2140 |
+
'name' => "eael_label_border",
|
| 2141 |
+
'selector' => "{{WRAPPER}} .lr-form-wrapper .eael-field-label",
|
| 2142 |
+
'condition' => [
|
| 2143 |
+
'eael_form_label_b_po_toggle' => 'yes',
|
| 2144 |
+
],
|
| 2145 |
+
] );
|
| 2146 |
+
$this->add_control( "eael_label_border_radius", [
|
| 2147 |
+
'label' => __( 'Border Radius', EAEL_TEXTDOMAIN ),
|
| 2148 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 2149 |
+
'size_units' => [
|
| 2150 |
+
'px',
|
| 2151 |
+
'%',
|
| 2152 |
+
],
|
| 2153 |
+
'selectors' => [
|
| 2154 |
+
"{{WRAPPER}} .lr-form-wrapper .eael-field-label" => $this->apply_dim( 'border-radius' ),
|
| 2155 |
+
],
|
| 2156 |
+
'condition' => [
|
| 2157 |
+
'eael_form_label_b_po_toggle' => 'yes',
|
| 2158 |
+
],
|
| 2159 |
+
] );
|
| 2160 |
+
$this->end_popover();
|
| 2161 |
+
|
| 2162 |
+
$this->add_control( 'rmark_po_toggle', [
|
| 2163 |
+
'label' => __( 'Required Mark Style', EAEL_TEXTDOMAIN ),
|
| 2164 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
| 2165 |
+
'condition' => [
|
| 2166 |
+
'show_labels' => 'yes',
|
| 2167 |
+
'mark_required' => 'yes',
|
| 2168 |
+
],
|
| 2169 |
+
] );
|
| 2170 |
+
|
| 2171 |
+
$this->start_popover();
|
| 2172 |
+
$this->add_control( 'rmark_sign', [
|
| 2173 |
+
'label' => __( 'Mark Sign', EAEL_TEXTDOMAIN ),
|
| 2174 |
+
'type' => Controls_Manager::TEXT,
|
| 2175 |
+
'default' => '*',
|
| 2176 |
+
'placeholder' => 'Enter * or (required) etc.',
|
| 2177 |
+
'selectors' => [
|
| 2178 |
+
"{{WRAPPER}} .eael-lr-form-wrapper .eael-lr-form-group label.mark-required:after" => 'content: "{{VALUE}}";',
|
| 2179 |
+
],
|
| 2180 |
+
'condition' => [
|
| 2181 |
+
'rmark_po_toggle' => 'yes',
|
| 2182 |
+
],
|
| 2183 |
+
] );
|
| 2184 |
+
$this->add_control( "rmark_size", [
|
| 2185 |
+
'label' => esc_html__( 'Size', EAEL_TEXTDOMAIN ),
|
| 2186 |
+
'type' => Controls_Manager::SLIDER,
|
| 2187 |
+
'size_units' => [
|
| 2188 |
+
'px',
|
| 2189 |
+
'rem',
|
| 2190 |
+
'%',
|
| 2191 |
+
],
|
| 2192 |
+
'range' => [
|
| 2193 |
+
'px' => [
|
| 2194 |
+
'min' => 0,
|
| 2195 |
+
'max' => 50,
|
| 2196 |
+
'step' => 1,
|
| 2197 |
+
],
|
| 2198 |
+
],
|
| 2199 |
+
'selectors' => [
|
| 2200 |
+
"{{WRAPPER}} .eael-lr-form-wrapper .eael-lr-form-group label.mark-required:after" => 'font-size: {{SIZE}}{{UNIT}};',
|
| 2201 |
+
],
|
| 2202 |
+
'condition' => [
|
| 2203 |
+
'rmark_po_toggle' => 'yes',
|
| 2204 |
+
],
|
| 2205 |
+
] );
|
| 2206 |
+
$this->add_control( "rmakr_color", [
|
| 2207 |
+
'label' => __( 'Color', EAEL_TEXTDOMAIN ),
|
| 2208 |
+
'type' => Controls_Manager::COLOR,
|
| 2209 |
+
'selectors' => [
|
| 2210 |
+
"{{WRAPPER}} .eael-lr-form-wrapper .eael-lr-form-group label.mark-required:after" => 'color: {{VALUE}};',
|
| 2211 |
+
],
|
| 2212 |
+
'condition' => [
|
| 2213 |
+
'rmark_po_toggle' => 'yes',
|
| 2214 |
+
],
|
| 2215 |
+
] );
|
| 2216 |
+
|
| 2217 |
+
$this->add_control( "rmark_valign", [
|
| 2218 |
+
'label' => esc_html__( 'Vertical Alignment', EAEL_TEXTDOMAIN ),
|
| 2219 |
+
'type' => Controls_Manager::SLIDER,
|
| 2220 |
+
'range' => [
|
| 2221 |
+
'px' => [
|
| 2222 |
+
'min' => - 50,
|
| 2223 |
+
'max' => 50,
|
| 2224 |
+
'step' => 0,
|
| 2225 |
+
],
|
| 2226 |
+
],
|
| 2227 |
+
'default' => [
|
| 2228 |
+
'unit' => 'px',
|
| 2229 |
+
'size' => 17,
|
| 2230 |
+
],
|
| 2231 |
+
'selectors' => [
|
| 2232 |
+
"{{WRAPPER}} .eael-lr-form-wrapper .eael-lr-form-group label.mark-required:after" => 'top: {{SIZE}}px;',
|
| 2233 |
+
],
|
| 2234 |
+
'condition' => [
|
| 2235 |
+
'rmark_po_toggle' => 'yes',
|
| 2236 |
+
],
|
| 2237 |
+
] );
|
| 2238 |
+
$this->add_control( "rmark_halign", [
|
| 2239 |
+
'label' => esc_html__( 'Horizontal Alignment', EAEL_TEXTDOMAIN ),
|
| 2240 |
+
'type' => Controls_Manager::SLIDER,
|
| 2241 |
+
'range' => [
|
| 2242 |
+
'px' => [
|
| 2243 |
+
'min' => - 50,
|
| 2244 |
+
'max' => 50,
|
| 2245 |
+
'step' => 0,
|
| 2246 |
+
],
|
| 2247 |
+
],
|
| 2248 |
+
'default' => [
|
| 2249 |
+
'unit' => 'px',
|
| 2250 |
+
'size' => - 10,
|
| 2251 |
+
],
|
| 2252 |
+
'selectors' => [
|
| 2253 |
+
"{{WRAPPER}} .eael-lr-form-wrapper .eael-lr-form-group label.mark-required:after" => 'right: {{SIZE}}px;',
|
| 2254 |
+
],
|
| 2255 |
+
'condition' => [
|
| 2256 |
+
'rmark_po_toggle' => 'yes',
|
| 2257 |
+
],
|
| 2258 |
+
] );
|
| 2259 |
+
|
| 2260 |
+
$this->end_popover();
|
| 2261 |
+
$this->add_control( 'lpv_po_toggle', [
|
| 2262 |
+
'label' => __( 'Password Visibility Style', EAEL_TEXTDOMAIN ),
|
| 2263 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
| 2264 |
+
'condition' => [
|
| 2265 |
+
'password_toggle' => 'yes',
|
| 2266 |
+
],
|
| 2267 |
+
] );
|
| 2268 |
+
$this->start_popover();
|
| 2269 |
+
|
| 2270 |
+
$this->add_control( "lpv_size", [
|
| 2271 |
+
'label' => esc_html__( 'Icon Size', EAEL_TEXTDOMAIN ),
|
| 2272 |
+
'type' => Controls_Manager::SLIDER,
|
| 2273 |
+
'size_units' => [
|
| 2274 |
+
'px',
|
| 2275 |
+
'rem',
|
| 2276 |
+
'%',
|
| 2277 |
+
],
|
| 2278 |
+
'range' => [
|
| 2279 |
+
'px' => [
|
| 2280 |
+
'min' => 0,
|
| 2281 |
+
'max' => 50,
|
| 2282 |
+
'step' => 1,
|
| 2283 |
+
],
|
| 2284 |
+
],
|
| 2285 |
+
'selectors' => [
|
| 2286 |
+
"{{WRAPPER}} .eael-lr-form-wrapper .eael-lr-form-group .dashicons" => 'font-size: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}}; width: {{SIZE}}{{UNIT}}',
|
| 2287 |
+
],
|
| 2288 |
+
'condition' => [
|
| 2289 |
+
'lpv_po_toggle' => 'yes',
|
| 2290 |
+
],
|
| 2291 |
+
] );
|
| 2292 |
+
$this->add_control( "lvp_open_color", [
|
| 2293 |
+
'label' => __( 'Open Eye Color', EAEL_TEXTDOMAIN ),
|
| 2294 |
+
'type' => Controls_Manager::COLOR,
|
| 2295 |
+
'selectors' => [
|
| 2296 |
+
"{{WRAPPER}} .eael-lr-form-wrapper .eael-lr-form-group .dashicons-visibility" => 'color: {{VALUE}};',
|
| 2297 |
+
],
|
| 2298 |
+
'condition' => [
|
| 2299 |
+
'lpv_po_toggle' => 'yes',
|
| 2300 |
+
],
|
| 2301 |
+
] );
|
| 2302 |
+
$this->add_control( "lvp_close_color", [
|
| 2303 |
+
'label' => __( 'Close Eye Color', EAEL_TEXTDOMAIN ),
|
| 2304 |
+
'type' => Controls_Manager::COLOR,
|
| 2305 |
+
'selectors' => [
|
| 2306 |
+
"{{WRAPPER}} .eael-lr-form-wrapper .eael-lr-form-group .dashicons-hidden" => 'color: {{VALUE}};',
|
| 2307 |
+
],
|
| 2308 |
+
'condition' => [
|
| 2309 |
+
'lpv_po_toggle' => 'yes',
|
| 2310 |
+
],
|
| 2311 |
+
] );
|
| 2312 |
+
|
| 2313 |
+
$this->add_control( "lpv_valign", [
|
| 2314 |
+
'label' => esc_html__( 'Vertical Alignment', EAEL_TEXTDOMAIN ),
|
| 2315 |
+
'type' => Controls_Manager::SLIDER,
|
| 2316 |
+
'range' => [
|
| 2317 |
+
'px' => [
|
| 2318 |
+
'min' => - 50,
|
| 2319 |
+
'max' => 50,
|
| 2320 |
+
'step' => 1,
|
| 2321 |
+
],
|
| 2322 |
+
],
|
| 2323 |
+
'default' => [
|
| 2324 |
+
'unit' => 'px',
|
| 2325 |
+
'size' => 0.73,
|
| 2326 |
+
],
|
| 2327 |
+
'selectors' => [
|
| 2328 |
+
"{{WRAPPER}} .eael-lr-form-wrapper .eael-lr-form-group .wp-hide-pw" => 'top: {{SIZE}}px;',
|
| 2329 |
+
],
|
| 2330 |
+
'condition' => [
|
| 2331 |
+
'lpv_po_toggle' => 'yes',
|
| 2332 |
+
],
|
| 2333 |
+
] );
|
| 2334 |
+
$this->add_control( "lpv_halign", [
|
| 2335 |
+
'label' => esc_html__( 'Horizontal Alignment', EAEL_TEXTDOMAIN ),
|
| 2336 |
+
'type' => Controls_Manager::SLIDER,
|
| 2337 |
+
'range' => [
|
| 2338 |
+
'px' => [
|
| 2339 |
+
'min' => - 50,
|
| 2340 |
+
'max' => 50,
|
| 2341 |
+
'step' => 1,
|
| 2342 |
+
],
|
| 2343 |
+
],
|
| 2344 |
+
'default' => [
|
| 2345 |
+
'unit' => 'px',
|
| 2346 |
+
'size' => - 27,
|
| 2347 |
+
],
|
| 2348 |
+
'selectors' => [
|
| 2349 |
+
"{{WRAPPER}} .eael-lr-form-wrapper .eael-lr-form-group .wp-hide-pw" => 'right: {{SIZE}}px;',
|
| 2350 |
+
],
|
| 2351 |
+
'condition' => [
|
| 2352 |
+
'lpv_po_toggle' => 'yes',
|
| 2353 |
+
],
|
| 2354 |
+
] );
|
| 2355 |
+
|
| 2356 |
+
$this->end_popover();
|
| 2357 |
+
|
| 2358 |
+
$this->end_controls_section();
|
| 2359 |
+
}
|
| 2360 |
+
|
| 2361 |
+
protected function init_style_login_button_controls() {
|
| 2362 |
+
$this->_init_button_style( 'login' );
|
| 2363 |
+
}
|
| 2364 |
+
|
| 2365 |
+
protected function init_style_register_button_controls() {
|
| 2366 |
+
$this->_init_button_style( 'register' );
|
| 2367 |
+
}
|
| 2368 |
+
|
| 2369 |
+
protected function init_style_login_link_controls() {
|
| 2370 |
+
$this->_init_link_style( 'login' );
|
| 2371 |
+
}
|
| 2372 |
+
|
| 2373 |
+
protected function init_style_register_link_controls() {
|
| 2374 |
+
$this->_init_link_style( 'register' );
|
| 2375 |
+
}
|
| 2376 |
+
|
| 2377 |
+
/**
|
| 2378 |
+
* Print style controls for a specific type of button.
|
| 2379 |
+
*
|
| 2380 |
+
* @param string $button_type the type of the button. accepts login or register.
|
| 2381 |
+
*/
|
| 2382 |
+
protected function _init_button_style( $button_type = 'login' ) {
|
| 2383 |
+
$this->start_controls_section( "section_style_{$button_type}_btn", [
|
| 2384 |
+
'label' => sprintf( __( '%s Button', EAEL_TEXTDOMAIN ), ucfirst( $button_type ) ),
|
| 2385 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
| 2386 |
+
'conditions' => $this->get_form_controls_display_condition( $button_type ),
|
| 2387 |
+
] );
|
| 2388 |
+
$this->add_control( "{$button_type}_btn_pot", [
|
| 2389 |
+
'label' => __( 'Spacing', EAEL_TEXTDOMAIN ),
|
| 2390 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
| 2391 |
+
'label_off' => __( 'Default', EAEL_TEXTDOMAIN ),
|
| 2392 |
+
'label_on' => __( 'Custom', EAEL_TEXTDOMAIN ),
|
| 2393 |
+
'return_value' => 'yes',
|
| 2394 |
+
] );
|
| 2395 |
+
$this->start_popover();
|
| 2396 |
+
$this->add_control( "{$button_type}_btn_margin", [
|
| 2397 |
+
'label' => __( 'Margin', EAEL_TEXTDOMAIN ),
|
| 2398 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 2399 |
+
'size_units' => [
|
| 2400 |
+
'px',
|
| 2401 |
+
'em',
|
| 2402 |
+
'%',
|
| 2403 |
+
],
|
| 2404 |
+
'selectors' => [
|
| 2405 |
+
"{{WRAPPER}} .eael-{$button_type}-form .eael-lr-btn" => $this->apply_dim( 'margin' ),
|
| 2406 |
+
],
|
| 2407 |
+
'condition' => [
|
| 2408 |
+
"{$button_type}_btn_pot" => 'yes',
|
| 2409 |
+
],
|
| 2410 |
+
] );
|
| 2411 |
+
$this->add_control( "{$button_type}_btn_padding", [
|
| 2412 |
+
'label' => __( 'Padding', EAEL_TEXTDOMAIN ),
|
| 2413 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 2414 |
+
'size_units' => [
|
| 2415 |
+
'px',
|
| 2416 |
+
'em',
|
| 2417 |
+
'%',
|
| 2418 |
+
],
|
| 2419 |
+
'selectors' => [
|
| 2420 |
+
"{{WRAPPER}} .eael-{$button_type}-form .eael-lr-btn" => $this->apply_dim( 'padding' ),
|
| 2421 |
+
],
|
| 2422 |
+
'condition' => [
|
| 2423 |
+
"{$button_type}_btn_pot" => 'yes',
|
| 2424 |
+
],
|
| 2425 |
+
] );
|
| 2426 |
+
$this->end_popover();
|
| 2427 |
+
$this->add_group_control( Group_Control_Typography::get_type(), [
|
| 2428 |
+
'name' => "{$button_type}_btn_typography",
|
| 2429 |
+
'selector' => "{{WRAPPER}} .eael-{$button_type}-form .eael-lr-btn",
|
| 2430 |
+
] );
|
| 2431 |
+
$this->add_control( "{$button_type}_btn_d_type", [
|
| 2432 |
+
'label' => __( 'Display as', EAEL_TEXTDOMAIN ),
|
| 2433 |
+
'type' => Controls_Manager::SELECT,
|
| 2434 |
+
'options' => [
|
| 2435 |
+
'row' => __( 'Inline', EAEL_TEXTDOMAIN ),
|
| 2436 |
+
'column' => __( 'Block', EAEL_TEXTDOMAIN ),
|
| 2437 |
+
],
|
| 2438 |
+
'default' => 'row',
|
| 2439 |
+
'selectors' => [
|
| 2440 |
+
"{{WRAPPER}} .eael-{$button_type}-form .eael-lr-footer" => 'flex-direction: {{VALUE}};',
|
| 2441 |
+
"{{WRAPPER}} .eael-{$button_type}-form .eael-sign-wrapper" => 'padding-top: 0;',
|
| 2442 |
+
],
|
| 2443 |
+
] );
|
| 2444 |
+
|
| 2445 |
+
|
| 2446 |
+
$this->add_responsive_control( "{$button_type}_btn_jc", [
|
| 2447 |
+
'label' => __( 'Justify Content', EAEL_TEXTDOMAIN ),
|
| 2448 |
+
'type' => Controls_Manager::SELECT,
|
| 2449 |
+
'options' => [
|
| 2450 |
+
'flex-start' => __( 'Start', EAEL_TEXTDOMAIN ),
|
| 2451 |
+
'flex-end' => __( 'End', EAEL_TEXTDOMAIN ),
|
| 2452 |
+
'center' => __( 'Center', EAEL_TEXTDOMAIN ),
|
| 2453 |
+
'space-between' => __( 'Space Between', EAEL_TEXTDOMAIN ),
|
| 2454 |
+
'space-around' => __( 'Space Around', EAEL_TEXTDOMAIN ),
|
| 2455 |
+
'space-evenly' => __( 'Space Evenly', EAEL_TEXTDOMAIN ),
|
| 2456 |
+
],
|
| 2457 |
+
'default' => 'space-between',
|
| 2458 |
+
'condition' => [
|
| 2459 |
+
"{$button_type}_btn_d_type" => 'row',
|
| 2460 |
+
],
|
| 2461 |
+
'selectors' => [
|
| 2462 |
+
"{{WRAPPER}} .eael-{$button_type}-form .eael-lr-footer" => 'justify-content: {{VALUE}};',
|
| 2463 |
+
],
|
| 2464 |
+
] );
|
| 2465 |
+
$this->add_control( "{$button_type}_btn_align", [
|
| 2466 |
+
'label' => __( 'Alignment', EAEL_TEXTDOMAIN ),
|
| 2467 |
+
'type' => Controls_Manager::CHOOSE,
|
| 2468 |
+
'options' => [
|
| 2469 |
+
'mr-auto' => [
|
| 2470 |
+
'title' => __( 'Left', EAEL_TEXTDOMAIN ),
|
| 2471 |
+
'icon' => 'eicon-h-align-left',
|
| 2472 |
+
],
|
| 2473 |
+
'ml-auto mr-auto' => [
|
| 2474 |
+
'title' => __( 'Center', EAEL_TEXTDOMAIN ),
|
| 2475 |
+
'icon' => 'eicon-h-align-center',
|
| 2476 |
+
],
|
| 2477 |
+
'ml-auto' => [
|
| 2478 |
+
'title' => __( 'Right', EAEL_TEXTDOMAIN ),
|
| 2479 |
+
'icon' => 'eicon-h-align-right',
|
| 2480 |
+
],
|
| 2481 |
+
],
|
| 2482 |
+
'default' => '',
|
| 2483 |
+
'condition' => [
|
| 2484 |
+
"{$button_type}_btn_d_type" => 'column',
|
| 2485 |
+
],
|
| 2486 |
+
] );
|
| 2487 |
+
$this->add_control( "tabs_{$button_type}_btn_colors_heading", [
|
| 2488 |
+
'type' => Controls_Manager::HEADING,
|
| 2489 |
+
'label' => __( 'Colors & Border', EAEL_TEXTDOMAIN ),
|
| 2490 |
+
'separator' => 'before',
|
| 2491 |
+
] );
|
| 2492 |
+
|
| 2493 |
+
$this->start_controls_tabs( "tabs_{$button_type}_btn_style" );
|
| 2494 |
+
/*-----Login Button NORMAL state------ */
|
| 2495 |
+
$this->start_controls_tab( "tab_{$button_type}_btn_normal", [
|
| 2496 |
+
'label' => __( 'Normal', EAEL_TEXTDOMAIN ),
|
| 2497 |
+
] );
|
| 2498 |
+
$this->add_control( "{$button_type}_btn_color", [
|
| 2499 |
+
'label' => __( 'Text Color', EAEL_TEXTDOMAIN ),
|
| 2500 |
+
'type' => Controls_Manager::COLOR,
|
| 2501 |
+
'selectors' => [
|
| 2502 |
+
"{{WRAPPER}} .eael-{$button_type}-form .eael-lr-btn" => 'color: {{VALUE}};',
|
| 2503 |
+
],
|
| 2504 |
+
] );
|
| 2505 |
+
$this->add_group_control( Group_Control_Background::get_type(), [
|
| 2506 |
+
'name' => "{$button_type}_btn_bg_color",
|
| 2507 |
+
'label' => __( 'Background Color', EAEL_TEXTDOMAIN ),
|
| 2508 |
+
'types' => [
|
| 2509 |
+
'classic',
|
| 2510 |
+
'gradient',
|
| 2511 |
+
],
|
| 2512 |
+
'selector' => "{{WRAPPER}} .eael-{$button_type}-form .eael-lr-btn",
|
| 2513 |
+
] );
|
| 2514 |
+
$this->add_group_control( Group_Control_Border::get_type(), [
|
| 2515 |
+
'name' => "{$button_type}_btn_border",
|
| 2516 |
+
'selector' => "{{WRAPPER}} .eael-{$button_type}-form .eael-lr-btn",
|
| 2517 |
+
] );
|
| 2518 |
+
$this->add_control( "{$button_type}_btn_border_radius", [
|
| 2519 |
+
'label' => __( 'Border Radius', EAEL_TEXTDOMAIN ),
|
| 2520 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 2521 |
+
'size_units' => [
|
| 2522 |
+
'px',
|
| 2523 |
+
'%',
|
| 2524 |
+
],
|
| 2525 |
+
'selectors' => [
|
| 2526 |
+
"{{WRAPPER}} .eael-{$button_type}-form .eael-lr-btn" => $this->apply_dim( 'border-radius' ),
|
| 2527 |
+
],
|
| 2528 |
+
] );
|
| 2529 |
+
$this->end_controls_tab();
|
| 2530 |
+
|
| 2531 |
+
/*-----Login Button HOVER state------ */
|
| 2532 |
+
$this->start_controls_tab( "tab_{$button_type}_button_hover", [
|
| 2533 |
+
'label' => __( 'Hover', EAEL_TEXTDOMAIN ),
|
| 2534 |
+
] );
|
| 2535 |
+
$this->add_control( "{$button_type}_button_color_hover", [
|
| 2536 |
+
'label' => __( 'Text Color', EAEL_TEXTDOMAIN ),
|
| 2537 |
+
'type' => Controls_Manager::COLOR,
|
| 2538 |
+
'selectors' => [
|
| 2539 |
+
"{{WRAPPER}} .eael-{$button_type}-form .eael-lr-btn:hover" => 'color: {{VALUE}};',
|
| 2540 |
+
],
|
| 2541 |
+
] );
|
| 2542 |
+
$this->add_group_control( Group_Control_Background::get_type(), [
|
| 2543 |
+
'name' => "{$button_type}_btn_bg_color_hover",
|
| 2544 |
+
'label' => __( 'Background Color', EAEL_TEXTDOMAIN ),
|
| 2545 |
+
'types' => [
|
| 2546 |
+
'classic',
|
| 2547 |
+
'gradient',
|
| 2548 |
+
],
|
| 2549 |
+
'selector' => "{{WRAPPER}} .eael-{$button_type}-form .eael-lr-btn:hover",
|
| 2550 |
+
] );
|
| 2551 |
+
$this->add_group_control( Group_Control_Border::get_type(), [
|
| 2552 |
+
'name' => "{$button_type}_btn_border_hover",
|
| 2553 |
+
'selector' => "{{WRAPPER}} .eael-{$button_type}-form .eael-lr-btn:hover",
|
| 2554 |
+
] );
|
| 2555 |
+
$this->add_control( "{$button_type}_btn_border_radius_hover", [
|
| 2556 |
+
'label' => __( 'Border Radius', EAEL_TEXTDOMAIN ),
|
| 2557 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 2558 |
+
'size_units' => [
|
| 2559 |
+
'px',
|
| 2560 |
+
'%',
|
| 2561 |
+
],
|
| 2562 |
+
'selectors' => [
|
| 2563 |
+
"{{WRAPPER}} .eael-{$button_type}-form .eael-lr-btn:hover" => $this->apply_dim( 'border-radius' ),
|
| 2564 |
+
],
|
| 2565 |
+
] );
|
| 2566 |
+
$this->end_controls_tab();
|
| 2567 |
+
$this->end_controls_tabs();
|
| 2568 |
+
/*-----ends Button tabs--------*/
|
| 2569 |
+
|
| 2570 |
+
$this->add_responsive_control( "{$button_type}_btn_width", [
|
| 2571 |
+
'label' => esc_html__( 'Button width', EAEL_TEXTDOMAIN ),
|
| 2572 |
+
'type' => Controls_Manager::SLIDER,
|
| 2573 |
+
'size_units' => [
|
| 2574 |
+
'px',
|
| 2575 |
+
'%',
|
| 2576 |
+
],
|
| 2577 |
+
'range' => [
|
| 2578 |
+
'px' => [
|
| 2579 |
+
'min' => 0,
|
| 2580 |
+
'max' => 500,
|
| 2581 |
+
'step' => 5,
|
| 2582 |
+
],
|
| 2583 |
+
'%' => [
|
| 2584 |
+
'min' => 0,
|
| 2585 |
+
'max' => 100,
|
| 2586 |
+
],
|
| 2587 |
+
],
|
| 2588 |
+
'selectors' => [
|
| 2589 |
+
"{{WRAPPER}} .eael-{$button_type}-form .eael-lr-btn" => 'width: {{SIZE}}{{UNIT}};',
|
| 2590 |
+
],
|
| 2591 |
+
'separator' => 'before',
|
| 2592 |
+
] );
|
| 2593 |
+
$this->add_responsive_control( "{$button_type}_btn_height", [
|
| 2594 |
+
'label' => esc_html__( 'Button Height', EAEL_TEXTDOMAIN ),
|
| 2595 |
+
'type' => Controls_Manager::SLIDER,
|
| 2596 |
+
'size_units' => [
|
| 2597 |
+
'px',
|
| 2598 |
+
'%',
|
| 2599 |
+
],
|
| 2600 |
+
'range' => [
|
| 2601 |
+
'px' => [
|
| 2602 |
+
'min' => 0,
|
| 2603 |
+
'max' => 500,
|
| 2604 |
+
'step' => 5,
|
| 2605 |
+
],
|
| 2606 |
+
'%' => [
|
| 2607 |
+
'min' => 0,
|
| 2608 |
+
'max' => 100,
|
| 2609 |
+
],
|
| 2610 |
+
],
|
| 2611 |
+
'selectors' => [
|
| 2612 |
+
"{{WRAPPER}} .eael-{$button_type}-form .eael-lr-btn" => 'height: {{SIZE}}{{UNIT}};',
|
| 2613 |
+
],
|
| 2614 |
+
] );
|
| 2615 |
+
$this->end_controls_section();
|
| 2616 |
+
}
|
| 2617 |
+
|
| 2618 |
+
/**
|
| 2619 |
+
* Print style controls for a specific type of link on register or login form.
|
| 2620 |
+
*
|
| 2621 |
+
* @param string $form_type the type of form where the link is being shown. accepts login or register.
|
| 2622 |
+
*/
|
| 2623 |
+
protected function _init_link_style( $form_type = 'login' ) {
|
| 2624 |
+
$form_name = 'login' === $form_type ? __( 'Register', EAEL_TEXTDOMAIN ) : __( 'Login', EAEL_TEXTDOMAIN );
|
| 2625 |
+
$this->start_controls_section( "section_style_{$form_type}_link", [
|
| 2626 |
+
'label' => sprintf( __( '%s Link', EAEL_TEXTDOMAIN ), ucfirst( $form_name ) ),
|
| 2627 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
| 2628 |
+
'condition' => [
|
| 2629 |
+
"show_{$form_type}_link" => 'yes',
|
| 2630 |
+
],
|
| 2631 |
+
] );
|
| 2632 |
+
$this->add_control( "{$form_type}_link_style_notice", [
|
| 2633 |
+
'type' => Controls_Manager::RAW_HTML,
|
| 2634 |
+
'raw' => sprintf( __( 'Here you can style the %s link displayed on the %s Form', EAEL_TEXTDOMAIN ), $form_name, ucfirst( $form_type ) ),
|
| 2635 |
+
'content_classes' => 'elementor-panel-alert elementor-panel-alert-info',
|
| 2636 |
+
] );
|
| 2637 |
+
$this->add_control( "{$form_type}_link_pot", [
|
| 2638 |
+
'label' => __( 'Spacing', EAEL_TEXTDOMAIN ),
|
| 2639 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
| 2640 |
+
'label_off' => __( 'Default', EAEL_TEXTDOMAIN ),
|
| 2641 |
+
'label_on' => __( 'Custom', EAEL_TEXTDOMAIN ),
|
| 2642 |
+
'return_value' => 'yes',
|
| 2643 |
+
] );
|
| 2644 |
+
$this->start_popover();
|
| 2645 |
+
$this->add_control( "{$form_type}_link_margin", [
|
| 2646 |
+
'label' => __( 'Margin', EAEL_TEXTDOMAIN ),
|
| 2647 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 2648 |
+
'size_units' => [
|
| 2649 |
+
'px',
|
| 2650 |
+
'em',
|
| 2651 |
+
'%',
|
| 2652 |
+
],
|
| 2653 |
+
'selectors' => [
|
| 2654 |
+
"{{WRAPPER}} .eael-{$form_type}-form .eael-lr-link" => $this->apply_dim( 'margin' ),
|
| 2655 |
+
],
|
| 2656 |
+
'condition' => [
|
| 2657 |
+
"{$form_type}_link_pot" => 'yes',
|
| 2658 |
+
],
|
| 2659 |
+
] );
|
| 2660 |
+
$this->add_control( "{$form_type}_link_padding", [
|
| 2661 |
+
'label' => __( 'Padding', EAEL_TEXTDOMAIN ),
|
| 2662 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 2663 |
+
'size_units' => [
|
| 2664 |
+
'px',
|
| 2665 |
+
'em',
|
| 2666 |
+
'%',
|
| 2667 |
+
],
|
| 2668 |
+
'selectors' => [
|
| 2669 |
+
"{{WRAPPER}} .eael-{$form_type}-form .eael-lr-link" => $this->apply_dim( 'padding' ),
|
| 2670 |
+
],
|
| 2671 |
+
'condition' => [
|
| 2672 |
+
"{$form_type}_link_pot" => 'yes',
|
| 2673 |
+
],
|
| 2674 |
+
] );
|
| 2675 |
+
$this->end_popover();
|
| 2676 |
+
$this->add_group_control( Group_Control_Typography::get_type(), [
|
| 2677 |
+
'name' => "{$form_type}_link_typography",
|
| 2678 |
+
'selector' => "{{WRAPPER}} .eael-{$form_type}-form .eael-lr-link",
|
| 2679 |
+
] );
|
| 2680 |
+
|
| 2681 |
+
$this->add_control( "{$form_type}_link_d_type", [
|
| 2682 |
+
'label' => __( 'Display as', EAEL_TEXTDOMAIN ),
|
| 2683 |
+
'type' => Controls_Manager::SELECT,
|
| 2684 |
+
'options' => [
|
| 2685 |
+
'row' => __( 'Inline', EAEL_TEXTDOMAIN ),
|
| 2686 |
+
'column' => __( 'Block', EAEL_TEXTDOMAIN ),
|
| 2687 |
+
],
|
| 2688 |
+
'default' => 'row',
|
| 2689 |
+
'selectors' => [
|
| 2690 |
+
"{{WRAPPER}} .eael-{$form_type}-form .eael-sign-wrapper" => 'display:flex; flex-direction: {{VALUE}};',
|
| 2691 |
+
],
|
| 2692 |
+
] );
|
| 2693 |
+
|
| 2694 |
+
|
| 2695 |
+
$this->add_responsive_control( "{$form_type}_link_jc", [
|
| 2696 |
+
'label' => __( 'Justify Content', EAEL_TEXTDOMAIN ),
|
| 2697 |
+
'type' => Controls_Manager::SELECT,
|
| 2698 |
+
'options' => [
|
| 2699 |
+
'flex-start' => __( 'Start', EAEL_TEXTDOMAIN ),
|
| 2700 |
+
'flex-end' => __( 'End', EAEL_TEXTDOMAIN ),
|
| 2701 |
+
'center' => __( 'Center', EAEL_TEXTDOMAIN ),
|
| 2702 |
+
'space-between' => __( 'Space Between', EAEL_TEXTDOMAIN ),
|
| 2703 |
+
'space-around' => __( 'Space Around', EAEL_TEXTDOMAIN ),
|
| 2704 |
+
'space-evenly' => __( 'Space Evenly', EAEL_TEXTDOMAIN ),
|
| 2705 |
+
],
|
| 2706 |
+
'default' => 'center',
|
| 2707 |
+
'condition' => [
|
| 2708 |
+
"{$form_type}_link_d_type" => 'row',
|
| 2709 |
+
],
|
| 2710 |
+
'selectors' => [
|
| 2711 |
+
"{{WRAPPER}} .eael-{$form_type}-form .eael-sign-wrapper" => 'justify-content: {{VALUE}};',
|
| 2712 |
+
],
|
| 2713 |
+
] );
|
| 2714 |
+
|
| 2715 |
+
$this->add_responsive_control( "{$form_type}_link_ai", [
|
| 2716 |
+
'label' => __( 'Align Items', EAEL_TEXTDOMAIN ),
|
| 2717 |
+
'type' => Controls_Manager::SELECT,
|
| 2718 |
+
'options' => [
|
| 2719 |
+
'flex-start' => __( 'Start', EAEL_TEXTDOMAIN ),
|
| 2720 |
+
'flex-end' => __( 'End', EAEL_TEXTDOMAIN ),
|
| 2721 |
+
'center' => __( 'Center', EAEL_TEXTDOMAIN ),
|
| 2722 |
+
'stretch' => __( 'Stretch', EAEL_TEXTDOMAIN ),
|
| 2723 |
+
'baseline' => __( 'Baseline', EAEL_TEXTDOMAIN ),
|
| 2724 |
+
'space-evenly' => __( 'Space Evenly', EAEL_TEXTDOMAIN ),
|
| 2725 |
+
],
|
| 2726 |
+
'default' => 'center',
|
| 2727 |
+
'condition' => [
|
| 2728 |
+
"{$form_type}_link_d_type" => 'column',
|
| 2729 |
+
],
|
| 2730 |
+
'selectors' => [
|
| 2731 |
+
"{{WRAPPER}} .eael-{$form_type}-form .eael-sign-wrapper" => 'align-items: {{VALUE}};',
|
| 2732 |
+
],
|
| 2733 |
+
] );
|
| 2734 |
+
|
| 2735 |
+
$this->add_control( "{$form_type}_link_align", [
|
| 2736 |
+
'label' => __( 'Alignment', EAEL_TEXTDOMAIN ),
|
| 2737 |
+
'type' => Controls_Manager::CHOOSE,
|
| 2738 |
+
'options' => [
|
| 2739 |
+
'mr-auto' => [
|
| 2740 |
+
'title' => __( 'Left', EAEL_TEXTDOMAIN ),
|
| 2741 |
+
'icon' => 'eicon-h-align-left',
|
| 2742 |
+
],
|
| 2743 |
+
'ml-auto mr-auto' => [
|
| 2744 |
+
'title' => __( 'Center', EAEL_TEXTDOMAIN ),
|
| 2745 |
+
'icon' => 'eicon-h-align-center',
|
| 2746 |
+
],
|
| 2747 |
+
'ml-auto' => [
|
| 2748 |
+
'title' => __( 'Right', EAEL_TEXTDOMAIN ),
|
| 2749 |
+
'icon' => 'eicon-h-align-right',
|
| 2750 |
+
],
|
| 2751 |
+
],
|
| 2752 |
+
'default' => '',
|
| 2753 |
+
'condition' => [
|
| 2754 |
+
"{$form_type}_link_d_type" => 'column',
|
| 2755 |
+
],
|
| 2756 |
+
] );
|
| 2757 |
+
|
| 2758 |
+
$this->add_control( "tabs_{$form_type}_link_colors_heading", [
|
| 2759 |
+
'type' => Controls_Manager::HEADING,
|
| 2760 |
+
'label' => __( 'Colors & Border', EAEL_TEXTDOMAIN ),
|
| 2761 |
+
'separator' => 'before',
|
| 2762 |
+
] );
|
| 2763 |
+
|
| 2764 |
+
$this->start_controls_tabs( "tabs_{$form_type}_link_style" );
|
| 2765 |
+
/*----- Link NORMAL state------ */
|
| 2766 |
+
$this->start_controls_tab( "tab_{$form_type}_link_normal", [
|
| 2767 |
+
'label' => __( 'Normal', EAEL_TEXTDOMAIN ),
|
| 2768 |
+
] );
|
| 2769 |
+
$this->add_control( "{$form_type}_link_color", [
|
| 2770 |
+
'label' => __( 'Text Color', EAEL_TEXTDOMAIN ),
|
| 2771 |
+
'type' => Controls_Manager::COLOR,
|
| 2772 |
+
'selectors' => [
|
| 2773 |
+
"{{WRAPPER}} .eael-{$form_type}-form .eael-lr-link" => 'color: {{VALUE}};',
|
| 2774 |
+
],
|
| 2775 |
+
] );
|
| 2776 |
+
$this->add_group_control( Group_Control_Background::get_type(), [
|
| 2777 |
+
'name' => "{$form_type}_link_bg_color",
|
| 2778 |
+
'label' => __( 'Background Color', EAEL_TEXTDOMAIN ),
|
| 2779 |
+
'types' => [
|
| 2780 |
+
'classic',
|
| 2781 |
+
'gradient',
|
| 2782 |
+
],
|
| 2783 |
+
'selector' => "{{WRAPPER}} .eael-{$form_type}-form .eael-lr-link",
|
| 2784 |
+
] );
|
| 2785 |
+
$this->add_group_control( Group_Control_Border::get_type(), [
|
| 2786 |
+
'name' => "{$form_type}_link_border",
|
| 2787 |
+
'selector' => "{{WRAPPER}} .eael-{$form_type}-form .eael-lr-link",
|
| 2788 |
+
] );
|
| 2789 |
+
$this->add_control( "{$form_type}_link_border_radius", [
|
| 2790 |
+
'label' => __( 'Border Radius', EAEL_TEXTDOMAIN ),
|
| 2791 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 2792 |
+
'size_units' => [
|
| 2793 |
+
'px',
|
| 2794 |
+
'%',
|
| 2795 |
+
],
|
| 2796 |
+
'selectors' => [
|
| 2797 |
+
"{{WRAPPER}} .eael-{$form_type}-form .eael-lr-link" => $this->apply_dim( 'border-radius' ),
|
| 2798 |
+
],
|
| 2799 |
+
] );
|
| 2800 |
+
$this->end_controls_tab();
|
| 2801 |
+
|
| 2802 |
+
/*-----Link HOVER state------ */
|
| 2803 |
+
$this->start_controls_tab( "tab_{$form_type}_link_hover", [
|
| 2804 |
+
'label' => __( 'Hover', EAEL_TEXTDOMAIN ),
|
| 2805 |
+
] );
|
| 2806 |
+
$this->add_control( "{$form_type}_link_color_hover", [
|
| 2807 |
+
'label' => __( 'Text Color', EAEL_TEXTDOMAIN ),
|
| 2808 |
+
'type' => Controls_Manager::COLOR,
|
| 2809 |
+
'selectors' => [
|
| 2810 |
+
"{{WRAPPER}} .eael-{$form_type}-form .eael-lr-link:hover" => 'color: {{VALUE}};',
|
| 2811 |
+
],
|
| 2812 |
+
] );
|
| 2813 |
+
$this->add_group_control( Group_Control_Background::get_type(), [
|
| 2814 |
+
'name' => "{$form_type}_link_bg_color_hover",
|
| 2815 |
+
'label' => __( 'Background Color', EAEL_TEXTDOMAIN ),
|
| 2816 |
+
'types' => [
|
| 2817 |
+
'classic',
|
| 2818 |
+
'gradient',
|
| 2819 |
+
],
|
| 2820 |
+
'selector' => "{{WRAPPER}} .eael-{$form_type}-form .eael-lr-link:hover",
|
| 2821 |
+
] );
|
| 2822 |
+
$this->add_group_control( Group_Control_Border::get_type(), [
|
| 2823 |
+
'name' => "{$form_type}_link_border_hover",
|
| 2824 |
+
'selector' => "{{WRAPPER}} .eael-{$form_type}-form .eael-lr-link:hover",
|
| 2825 |
+
] );
|
| 2826 |
+
$this->add_control( "{$form_type}_link_border_radius_hover", [
|
| 2827 |
+
'label' => __( 'Border Radius', EAEL_TEXTDOMAIN ),
|
| 2828 |
+
'type' => Controls_Manager::DIMENSIONS,
|
| 2829 |
+
'size_units' => [
|
| 2830 |
+
'px',
|
| 2831 |
+
'%',
|
| 2832 |
+
],
|
| 2833 |
+
'selectors' => [
|
| 2834 |
+
"{{WRAPPER}} .eael-{$form_type}-form .eael-lr-link:hover" => $this->apply_dim( 'border-radius' ),
|
| 2835 |
+
],
|
| 2836 |
+
] );
|
| 2837 |
+
$this->end_controls_tab();
|
| 2838 |
+
$this->end_controls_tabs();
|
| 2839 |
+
/*-----ends Link tabs--------*/
|
| 2840 |
+
$this->add_responsive_control( "{$form_type}_link_wrap_width", [
|
| 2841 |
+
'label' => esc_html__( 'Link Container width', EAEL_TEXTDOMAIN ),
|
| 2842 |
+
'type' => Controls_Manager::SLIDER,
|
| 2843 |
+
'size_units' => [
|
| 2844 |
+
'px',
|
| 2845 |
+
'%',
|
| 2846 |
+
],
|
| 2847 |
+
'range' => [
|
| 2848 |
+
'px' => [
|
| 2849 |
+
'min' => 0,
|
| 2850 |
+
'max' => 500,
|
| 2851 |
+
'step' => 5,
|
| 2852 |
+
],
|
| 2853 |
+
'%' => [
|
| 2854 |
+
'min' => 0,
|
| 2855 |
+
'max' => 100,
|
| 2856 |
+
],
|
| 2857 |
+
],
|
| 2858 |
+
'selectors' => [
|
| 2859 |
+
"{{WRAPPER}} .eael-{$form_type}-form .eael-sign-wrapper" => 'width: {{SIZE}}{{UNIT}};',
|
| 2860 |
+
],
|
| 2861 |
+
'separator' => 'before',
|
| 2862 |
+
] );
|
| 2863 |
+
$this->add_responsive_control( "{$form_type}_link_width", [
|
| 2864 |
+
'label' => esc_html__( 'Link width', EAEL_TEXTDOMAIN ),
|
| 2865 |
+
'type' => Controls_Manager::SLIDER,
|
| 2866 |
+
'size_units' => [
|
| 2867 |
+
'px',
|
| 2868 |
+
'%',
|
| 2869 |
+
],
|
| 2870 |
+
'range' => [
|
| 2871 |
+
'px' => [
|
| 2872 |
+
'min' => 0,
|
| 2873 |
+
'max' => 500,
|
| 2874 |
+
'step' => 5,
|
| 2875 |
+
],
|
| 2876 |
+
'%' => [
|
| 2877 |
+
'min' => 0,
|
| 2878 |
+
'max' => 100,
|
| 2879 |
+
],
|
| 2880 |
+
],
|
| 2881 |
+
'selectors' => [
|
| 2882 |
+
"{{WRAPPER}} .eael-{$form_type}-form .eael-lr-link" => 'width: {{SIZE}}{{UNIT}};',
|
| 2883 |
+
],
|
| 2884 |
+
] );
|
| 2885 |
+
|
| 2886 |
+
$this->add_responsive_control( "{$form_type}_link_height", [
|
| 2887 |
+
'label' => esc_html__( 'Link Height', EAEL_TEXTDOMAIN ),
|
| 2888 |
+
'type' => Controls_Manager::SLIDER,
|
| 2889 |
+
'size_units' => [
|
| 2890 |
+
'px',
|
| 2891 |
+
'%',
|
| 2892 |
+
],
|
| 2893 |
+
'range' => [
|
| 2894 |
+
'px' => [
|
| 2895 |
+
'min' => 0,
|
| 2896 |
+
'max' => 500,
|
| 2897 |
+
'step' => 5,
|
| 2898 |
+
],
|
| 2899 |
+
'%' => [
|
| 2900 |
+
'min' => 0,
|
| 2901 |
+
'max' => 100,
|
| 2902 |
+
],
|
| 2903 |
+
],
|
| 2904 |
+
'selectors' => [
|
| 2905 |
+
"{{WRAPPER}} .eael-{$form_type}-form .eael-lr-link" => 'height: {{SIZE}}{{UNIT}};',
|
| 2906 |
+
],
|
| 2907 |
+
] );
|
| 2908 |
+
|
| 2909 |
+
$this->end_controls_section();
|
| 2910 |
+
}
|
| 2911 |
+
|
| 2912 |
+
/**
|
| 2913 |
+
* Get conditions for displaying login form and registration
|
| 2914 |
+
*
|
| 2915 |
+
* @param string $type
|
| 2916 |
+
*
|
| 2917 |
+
* @return array
|
| 2918 |
+
*/
|
| 2919 |
+
protected function get_form_controls_display_condition( $type = 'login' ) {
|
| 2920 |
+
$form_type = in_array( $type, [
|
| 2921 |
+
'login',
|
| 2922 |
+
'register',
|
| 2923 |
+
] ) ? $type : 'login';
|
| 2924 |
+
|
| 2925 |
+
return [
|
| 2926 |
+
'relation' => 'or',
|
| 2927 |
+
'terms' => [
|
| 2928 |
+
[
|
| 2929 |
+
'name' => "show_{$form_type}_link",
|
| 2930 |
+
'value' => 'yes',
|
| 2931 |
+
],
|
| 2932 |
+
[
|
| 2933 |
+
'name' => 'default_form_type',
|
| 2934 |
+
'value' => $form_type,
|
| 2935 |
+
],
|
| 2936 |
+
],
|
| 2937 |
+
];
|
| 2938 |
+
}
|
| 2939 |
+
|
| 2940 |
+
|
| 2941 |
+
protected function render() {
|
| 2942 |
+
//Note. forms are handled in Login_Registration Trait used in the Bootstrap class.
|
| 2943 |
+
if ( ! $this->in_editor && 'yes' === $this->get_settings_for_display( 'hide_for_logged_in_user' ) && is_user_logged_in() ) {
|
| 2944 |
+
return; // do not show any form for already logged in user. but let edit on editor
|
| 2945 |
+
}
|
| 2946 |
+
|
| 2947 |
+
$this->ds = $this->get_settings_for_display();
|
| 2948 |
+
$this->default_form = $this->get_settings_for_display( 'default_form_type' );
|
| 2949 |
+
$this->should_print_login_form = ( 'login' === $this->default_form || 'yes' === $this->get_settings_for_display( 'show_login_link' ) );
|
| 2950 |
+
|
| 2951 |
+
$this->should_print_register_form = ( $this->user_can_register && ( 'register' === $this->get_settings_for_display( 'default_form_type' ) || 'yes' === $this->get_settings_for_display( 'show_register_link' ) ) );
|
| 2952 |
+
if ( Plugin::$instance->documents->get_current() ) {
|
| 2953 |
+
$this->page_id = Plugin::$instance->documents->get_current()->get_main_id();
|
| 2954 |
+
}
|
| 2955 |
+
|
| 2956 |
+
|
| 2957 |
+
//handle form illustration
|
| 2958 |
+
$form_image_id = ! empty( $this->ds['lr_form_image']['id'] ) ? $this->ds['lr_form_image']['id'] : '';
|
| 2959 |
+
$this->form_illustration_pos = ! empty( $this->ds['lr_form_image_position'] ) ? $this->ds['lr_form_image_position'] : 'left';
|
| 2960 |
+
$this->form_illustration_url = Group_Control_Image_Size::get_attachment_image_src( $form_image_id, 'lr_form_image', $this->ds );
|
| 2961 |
+
|
| 2962 |
+
$form_logo_id = ! empty( $this->ds['lr_form_logo']['id'] ) ? $this->ds['lr_form_logo']['id'] : '';
|
| 2963 |
+
$this->form_logo = Group_Control_Image_Size::get_attachment_image_src( $form_logo_id, 'lr_form_logo', $this->ds );
|
| 2964 |
+
$this->form_logo_pos = ! empty( $this->ds['lr_form_logo_position'] ) ? $this->ds['lr_form_logo_position'] : 'inline';
|
| 2965 |
+
?>
|
| 2966 |
+
<div class="eael-login-registration-wrapper" data-is-ajax="<?php echo esc_attr($this->get_settings_for_display('enable_ajax')); ?>" >
|
| 2967 |
+
<?php
|
| 2968 |
+
$this->print_login_form();
|
| 2969 |
+
$this->print_register_form();
|
| 2970 |
+
?>
|
| 2971 |
+
</div>
|
| 2972 |
+
<?php
|
| 2973 |
+
}
|
| 2974 |
+
|
| 2975 |
+
protected function print_login_form() {
|
| 2976 |
+
if ( $this->should_print_login_form ) {
|
| 2977 |
+
// prepare all login form related vars
|
| 2978 |
+
$default_hide_class = 'register' === $this->default_form ? 'd-none' : '';
|
| 2979 |
+
//Reg link related
|
| 2980 |
+
$reg_link_action = ! empty( $this->ds['registration_link_action'] ) ? $this->ds['registration_link_action'] : 'form';
|
| 2981 |
+
$show_reg_link = ( $this->user_can_register && 'yes' === $this->get_settings( 'show_register_link' ) );
|
| 2982 |
+
$reg_link_text = ! empty( $this->get_settings( 'registration_link_text' ) ) ? $this->get_settings( 'registration_link_text' ) : __( 'Register', EAEL_TEXTDOMAIN );
|
| 2983 |
+
$parts = explode( "\n", $reg_link_text );
|
| 2984 |
+
$reg_link_text = array_pop( $parts );
|
| 2985 |
+
$reg_message = array_shift( $parts );
|
| 2986 |
+
|
| 2987 |
+
$reg_link_placeholder = '<span class="d-ib">%1$s</span> <a href="%2$s" id="eael-lr-reg-toggle" class="eael-lr-link" data-action="%3$s" %5$s>%4$s</a>';
|
| 2988 |
+
$reg_atts = $reg_url = '';
|
| 2989 |
+
switch ( $reg_link_action ) {
|
| 2990 |
+
case 'custom':
|
| 2991 |
+
$reg_url = ! empty( $this->ds['custom_register_url']['url'] ) ? $this->ds['custom_register_url']['url'] : '';
|
| 2992 |
+
$reg_atts = ! empty( $this->ds['custom_register_url']['is_external'] ) ? ' target="_blank"' : '';
|
| 2993 |
+
$reg_atts .= ! empty( $this->ds['custom_register_url']['nofollow'] ) ? ' rel="nofollow"' : '';
|
| 2994 |
+
break;
|
| 2995 |
+
case 'default':
|
| 2996 |
+
$reg_url = wp_registration_url();
|
| 2997 |
+
break;
|
| 2998 |
+
}
|
| 2999 |
+
|
| 3000 |
+
$reg_link = sprintf( $reg_link_placeholder, $reg_message, esc_attr( $reg_url ), esc_attr( $reg_link_action ), $reg_link_text, $reg_atts );
|
| 3001 |
+
|
| 3002 |
+
|
| 3003 |
+
// login form fields related
|
| 3004 |
+
$label_type = ! empty( $this->ds['login_label_types'] ) ? $this->ds['login_label_types'] : 'default';
|
| 3005 |
+
$is_custom_label = ( 'custom' === $label_type );
|
| 3006 |
+
$display_label = ( 'none' !== $label_type );
|
| 3007 |
+
|
| 3008 |
+
//Default label n placeholder
|
| 3009 |
+
$u_label = $u_ph = __( 'Username or Email Address', EAEL_TEXTDOMAIN );
|
| 3010 |
+
$p_label = $p_ph = __( 'Password', EAEL_TEXTDOMAIN );
|
| 3011 |
+
// custom label n placeholder
|
| 3012 |
+
if ( $is_custom_label ) {
|
| 3013 |
+
$u_label = isset( $this->ds['login_user_label'] ) ? $this->ds['login_user_label'] : '';
|
| 3014 |
+
$p_label = isset( $this->ds['login_password_label'] ) ? $this->ds['login_password_label'] : '';
|
| 3015 |
+
$u_ph = isset( $this->ds['login_user_placeholder'] ) ? $this->ds['login_user_placeholder'] : '';
|
| 3016 |
+
$p_ph = isset( $this->ds['login_password_placeholder'] ) ? $this->ds['login_password_placeholder'] : '';
|
| 3017 |
+
}
|
| 3018 |
+
|
| 3019 |
+
|
| 3020 |
+
$btn_text = ! empty( $this->ds['login_button_text'] ) ? $this->ds['login_button_text'] : '';
|
| 3021 |
+
$show_logout_link = ( ! empty( $this->ds['show_log_out_message'] ) && 'yes' === $this->ds['show_log_out_message'] );
|
| 3022 |
+
$show_rememberme = ( ! empty( $this->ds['login_show_remember_me'] ) && 'yes' === $this->ds['login_show_remember_me'] );
|
| 3023 |
+
$show_pv_icon = ( ! empty( $this->ds['password_toggle'] ) && 'yes' === $this->ds['password_toggle'] );
|
| 3024 |
+
|
| 3025 |
+
//Loss password
|
| 3026 |
+
$show_lp = ( ! empty( $this->ds['show_lost_password'] ) && 'yes' === $this->ds['show_lost_password'] );
|
| 3027 |
+
$lp_text = ! empty( $this->ds['lost_password_text'] ) ? $this->ds['lost_password_text'] : __( 'Forgot password?', EAEL_TEXTDOMAIN );
|
| 3028 |
+
$lp_link = sprintf( '<a href="%s">%s</a>', esc_attr( wp_lostpassword_url() ), $lp_text );
|
| 3029 |
+
if ( ! empty( $this->ds['lost_password_link_type'] ) && 'custom' === $this->ds['lost_password_link_type'] ) {
|
| 3030 |
+
$lp_url = ! empty( $this->ds['lost_password_url']['url'] ) ? $this->ds['lost_password_url']['url'] : wp_lostpassword_url();
|
| 3031 |
+
$lp_atts = ! empty( $this->ds['lost_password_url']['is_external'] ) ? ' target="_blank"' : '';
|
| 3032 |
+
$lp_atts .= ! empty( $this->ds['lost_password_url']['nofollow'] ) ? ' rel="nofollow"' : '';
|
| 3033 |
+
$lp_link = sprintf( '<a href="%s" %s >%s</a>', esc_attr( $lp_url ), $lp_atts, $lp_text );
|
| 3034 |
+
}
|
| 3035 |
+
|
| 3036 |
+
// btn alignment
|
| 3037 |
+
$btn_align = isset( $this->ds['login_btn_align'] ) ? $this->ds['login_btn_align'] : '';
|
| 3038 |
+
// btn alignment
|
| 3039 |
+
$link_align = isset( $this->ds['login_link_align'] ) ? $this->ds['login_link_align'] : '';
|
| 3040 |
+
?>
|
| 3041 |
+
<section id="eael-login-form-wrapper" class="<?php echo esc_attr( $default_hide_class ); ?>">
|
| 3042 |
+
<div class="eael-login-form-wrapper eael-lr-form-wrapper style-2">
|
| 3043 |
+
<?php
|
| 3044 |
+
if ( $show_logout_link && is_user_logged_in() && ! $this->in_editor ) {
|
| 3045 |
+
/* translators: %s user display name */
|
| 3046 |
+
$logged_in_msg = sprintf( __( 'You are already logged in as %s. ', EAEL_TEXTDOMAIN ), wp_get_current_user()->display_name );
|
| 3047 |
+
printf( '%1$s (<a href="%2$s">%3$s</a>)', $logged_in_msg, esc_url( wp_logout_url() ), __( 'Logout', EAEL_TEXTDOMAIN ) );
|
| 3048 |
+
} else {
|
| 3049 |
+
if ( 'left' === $this->form_illustration_pos ) {
|
| 3050 |
+
$this->print_form_illustration();
|
| 3051 |
+
}
|
| 3052 |
+
?>
|
| 3053 |
+
<div class="lr-form-wrapper">
|
| 3054 |
+
<?php $this->print_form_header( 'login' ); ?>
|
| 3055 |
+
<?php do_action( 'eael/login-register/before-login-form', $this ); ?>
|
| 3056 |
+
<form class="eael-login-form eael-lr-form" id="eael-login-form" method="post">
|
| 3057 |
+
<?php do_action( 'eael/login-register/after-login-form-open', $this ); ?>
|
| 3058 |
+
<div class="eael-lr-form-group">
|
| 3059 |
+
<?php if ( $display_label && $u_label ) {
|
| 3060 |
+
printf( '<label for="eael-user-login" class="eael-field-label">%s</label>', $u_label );
|
| 3061 |
+
} ?>
|
| 3062 |
+
<input type="text" name="eael-user-login" id="eael-user-login" class="eael-lr-form-control"
|
| 3063 |
+
aria-describedby="emailHelp" placeholder="<?php if ( $display_label && $u_ph ) {
|
| 3064 |
+
echo esc_attr( $u_ph );
|
| 3065 |
+
} ?>" required>
|
| 3066 |
+
</div>
|
| 3067 |
+
<div class="eael-lr-form-group">
|
| 3068 |
+
<?php if ( $display_label && $p_label ) {
|
| 3069 |
+
printf( '<label for="eael-user-password" class="eael-field-label">%s</label>', $p_label );
|
| 3070 |
+
} ?>
|
| 3071 |
+
<div class="eael-lr-password-wrapper">
|
| 3072 |
+
<input type="password" name="eael-user-password" class="eael-lr-form-control" id="eael-user-password"
|
| 3073 |
+
placeholder="<?php if ( $display_label && $p_ph ) {
|
| 3074 |
+
echo esc_attr( $p_ph );
|
| 3075 |
+
} ?>" required>
|
| 3076 |
+
<?php if ( $show_pv_icon ) { ?>
|
| 3077 |
+
<button type="button" id="wp-hide-pw" class="wp-hide-pw hide-if-no-js" aria-label="Show password">
|
| 3078 |
+
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
|
| 3079 |
+
</button>
|
| 3080 |
+
<?php } ?>
|
| 3081 |
+
</div>
|
| 3082 |
+
</div>
|
| 3083 |
+
<div class="eael-forever-forget eael-lr-form-group">
|
| 3084 |
+
<?php if ( $show_rememberme ) { ?>
|
| 3085 |
+
<p class="forget-menot">
|
| 3086 |
+
<input name="eael-rememberme" type="checkbox" id="rememberme" value="forever">
|
| 3087 |
+
<label for="rememberme" class="eael-checkbox-label check-rememberme"><?php esc_html_e( 'Remember Me', EAEL_TEXTDOMAIN ); ?></label>
|
| 3088 |
+
</p>
|
| 3089 |
+
<?php }
|
| 3090 |
+
if ( $show_lp ) {
|
| 3091 |
+
echo '<p class="forget-pass">' . $lp_link . '</p>';//XSS ok. already escaped
|
| 3092 |
+
} ?>
|
| 3093 |
+
|
| 3094 |
+
</div>
|
| 3095 |
+
<div class="eael-lr-footer">
|
| 3096 |
+
<input type="submit" name="eael-login-submit" id="eael-login-submit" class="eael-lr-btn eael-lr-btn-block <?php echo esc_attr( $btn_align ); ?>" value="<?php echo esc_attr( $btn_text ); ?>"/>
|
| 3097 |
+
<?php if ( $show_reg_link ) { ?>
|
| 3098 |
+
<div class="eael-sign-wrapper <?php echo esc_attr( $link_align ); ?>">
|
| 3099 |
+
<?php echo $reg_link; // XSS ok. already escaped ?>
|
| 3100 |
+
</div>
|
| 3101 |
+
<?php } ?>
|
| 3102 |
+
|
| 3103 |
+
</div>
|
| 3104 |
+
<div class="eael-form-validation-container">
|
| 3105 |
+
<?php $this->print_login_validation_errors(); ?>
|
| 3106 |
+
</div>
|
| 3107 |
+
<?php
|
| 3108 |
+
$this->print_necessary_hidden_fields( 'login' );
|
| 3109 |
+
|
| 3110 |
+
$this->print_login_validation_errors();
|
| 3111 |
+
|
| 3112 |
+
do_action( 'eael/login-register/before-login-form-close', $this );
|
| 3113 |
+
?>
|
| 3114 |
+
</form>
|
| 3115 |
+
<?php do_action( 'eael/login-register/after-login-form', $this ); ?>
|
| 3116 |
+
</div>
|
| 3117 |
+
<?php
|
| 3118 |
+
if ( 'right' === $this->form_illustration_pos ) {
|
| 3119 |
+
$this->print_form_illustration();
|
| 3120 |
+
}
|
| 3121 |
+
}
|
| 3122 |
+
?>
|
| 3123 |
+
</div>
|
| 3124 |
+
</section>
|
| 3125 |
+
<?php
|
| 3126 |
+
}
|
| 3127 |
+
}
|
| 3128 |
+
|
| 3129 |
+
protected function print_register_form() {
|
| 3130 |
+
if ( $this->should_print_register_form ) {
|
| 3131 |
+
$default_hide_class = 'login' === $this->default_form ? 'd-none' : '';
|
| 3132 |
+
$is_pass_valid = false; // Does the form has a password field?
|
| 3133 |
+
$is_pass_confirmed = false;
|
| 3134 |
+
// placeholders to flag if user use one type of field more than once.
|
| 3135 |
+
$email_exists = 0;
|
| 3136 |
+
$user_name_exists = 0;
|
| 3137 |
+
$password_exists = 0;
|
| 3138 |
+
$confirm_pass_exists = 0;
|
| 3139 |
+
$first_name_exists = 0;
|
| 3140 |
+
$last_name_exists = 0;
|
| 3141 |
+
$website_exists = 0;
|
| 3142 |
+
$f_labels = [
|
| 3143 |
+
'email' => __( 'Email', EAEL_TEXTDOMAIN ),
|
| 3144 |
+
'password' => __( 'Password', EAEL_TEXTDOMAIN ),
|
| 3145 |
+
'confirm_password' => __( 'Confirm Password', EAEL_TEXTDOMAIN ),
|
| 3146 |
+
'user_name' => __( 'Username', EAEL_TEXTDOMAIN ),
|
| 3147 |
+
'first_name' => __( 'First Name', EAEL_TEXTDOMAIN ),
|
| 3148 |
+
'last_name' => __( 'Last Name', EAEL_TEXTDOMAIN ),
|
| 3149 |
+
'website' => __( 'Website', EAEL_TEXTDOMAIN ),
|
| 3150 |
+
];
|
| 3151 |
+
$repeated_f_labels = [];
|
| 3152 |
+
|
| 3153 |
+
|
| 3154 |
+
//Login link related
|
| 3155 |
+
$lgn_link_action = ! empty( $this->ds['login_link_action'] ) ? $this->ds['login_link_action'] : 'form';
|
| 3156 |
+
$show_lgn_link = 'yes' === $this->get_settings( 'show_login_link' );
|
| 3157 |
+
$lgn_link_text = ! empty( $this->get_settings( 'login_link_text' ) ) ? $this->get_settings( 'login_link_text' ) : __( 'Login', EAEL_TEXTDOMAIN );
|
| 3158 |
+
$btn_text = ! empty( $this->ds['reg_button_text'] ) ? $this->ds['reg_button_text'] : '';
|
| 3159 |
+
|
| 3160 |
+
$parts = explode( "\n", $lgn_link_text );
|
| 3161 |
+
$lgn_link_text = array_pop( $parts );
|
| 3162 |
+
$lgn_message = array_shift( $parts );
|
| 3163 |
+
$lgn_link_placeholder = '<span class="d-ib">%1$s</span> <a href="%2$s" id="eael-lr-login-toggle" class="eael-lr-link" data-action="%3$s" %5$s>%4$s</a>';
|
| 3164 |
+
$lgn_url = $lgn_atts = '';
|
| 3165 |
+
|
| 3166 |
+
switch ( $lgn_link_action ) {
|
| 3167 |
+
case 'custom':
|
| 3168 |
+
$lgn_url = ! empty( $this->ds['custom_login_url']['url'] ) ? $this->ds['custom_login_url']['url'] : '';
|
| 3169 |
+
$lgn_atts = ! empty( $this->ds['custom_login_url']['is_external'] ) ? ' target="_blank"' : '';
|
| 3170 |
+
$lgn_atts .= ! empty( $this->ds['custom_login_url']['nofollow'] ) ? ' rel="nofollow"' : '';
|
| 3171 |
+
break;
|
| 3172 |
+
case 'default':
|
| 3173 |
+
$lgn_url = wp_login_url();
|
| 3174 |
+
break;
|
| 3175 |
+
}
|
| 3176 |
+
$lgn_link = sprintf( $lgn_link_placeholder, $lgn_message, esc_attr( $lgn_url ), esc_attr( $lgn_link_action ), $lgn_link_text, $lgn_atts );
|
| 3177 |
+
|
| 3178 |
+
// btn alignment
|
| 3179 |
+
$btn_align = isset( $this->ds['register_btn_align'] ) ? $this->ds['register_btn_align'] : '';
|
| 3180 |
+
$link_align = isset( $this->ds['register_link_align'] ) ? $this->ds['register_link_align'] : '';
|
| 3181 |
+
ob_start();
|
| 3182 |
+
?>
|
| 3183 |
+
<section id="eael-register-form-wrapper" class="<?php echo esc_attr( $default_hide_class ); ?>">
|
| 3184 |
+
<div class="eael-register-form-wrapper eael-lr-form-wrapper style-2">
|
| 3185 |
+
<?php if ( 'left' === $this->form_illustration_pos ) {
|
| 3186 |
+
$this->print_form_illustration();
|
| 3187 |
+
} ?>
|
| 3188 |
+
<div class="lr-form-wrapper">
|
| 3189 |
+
<?php
|
| 3190 |
+
$this->print_form_header( 'register' );
|
| 3191 |
+
do_action( 'eael/login-register/before-register-form', $this );
|
| 3192 |
+
?>
|
| 3193 |
+
<form class="eael-register-form eael-lr-form" id="eael-register-form" method="post">
|
| 3194 |
+
<?php do_action( 'eael/login-register/after-register-form-open', $this); ?>
|
| 3195 |
+
<?php // Print all dynamic fields
|
| 3196 |
+
foreach ( $this->ds['register_fields'] as $f_index => $field ) :
|
| 3197 |
+
$field_type = $field['field_type'];
|
| 3198 |
+
$dynamic_field_name = "{$field_type}_exists";
|
| 3199 |
+
$$dynamic_field_name ++; //NOTE, double $$ intentional. Dynamically update the var check eg. $username_exists++ to prevent user from using the same field twice
|
| 3200 |
+
// is same field repeated?
|
| 3201 |
+
if ( $$dynamic_field_name > 1 ) {
|
| 3202 |
+
$repeated_f_labels[] = $f_labels[ $field_type ];
|
| 3203 |
+
}
|
| 3204 |
+
if ( 'password' === $field_type ) {
|
| 3205 |
+
$is_pass_valid = true;
|
| 3206 |
+
}
|
| 3207 |
+
|
| 3208 |
+
$current_field_required = ( ! empty( $field['required'] ) || in_array( $field_type, [
|
| 3209 |
+
'password',
|
| 3210 |
+
'confirm_pass',
|
| 3211 |
+
'email',
|
| 3212 |
+
] ) );
|
| 3213 |
+
|
| 3214 |
+
//keys for attribute binding
|
| 3215 |
+
$input_key = "input{$f_index}";
|
| 3216 |
+
$label_key = "label{$f_index}";
|
| 3217 |
+
$field_group_key = "field-group{$f_index}";
|
| 3218 |
+
|
| 3219 |
+
// determine proper input tag type
|
| 3220 |
+
switch ( $field_type ) {
|
| 3221 |
+
case 'user_name':
|
| 3222 |
+
case 'first_name':
|
| 3223 |
+
case 'last_name':
|
| 3224 |
+
$field_input_type = 'text';
|
| 3225 |
+
break;
|
| 3226 |
+
case 'confirm_pass':
|
| 3227 |
+
$field_input_type = 'password';
|
| 3228 |
+
break;
|
| 3229 |
+
case 'website':
|
| 3230 |
+
$field_input_type = 'url';
|
| 3231 |
+
break;
|
| 3232 |
+
default:
|
| 3233 |
+
$field_input_type = $field_type;
|
| 3234 |
+
}
|
| 3235 |
+
|
| 3236 |
+
$this->add_render_attribute( [
|
| 3237 |
+
$input_key => [
|
| 3238 |
+
'name' => $field_type,
|
| 3239 |
+
'type' => $field_input_type,
|
| 3240 |
+
'placeholder' => $field['placeholder'],
|
| 3241 |
+
'class' => [
|
| 3242 |
+
'eael-lr-form-control',
|
| 3243 |
+
'form-field-' . $field_type,
|
| 3244 |
+
],
|
| 3245 |
+
'id' => 'form-field-' . $field_type,
|
| 3246 |
+
],
|
| 3247 |
+
$label_key => [
|
| 3248 |
+
'for' => 'form-field-' . $field_type,
|
| 3249 |
+
'class' => 'eael-field-label',
|
| 3250 |
+
],
|
| 3251 |
+
] );
|
| 3252 |
+
|
| 3253 |
+
// print require field attributes
|
| 3254 |
+
if ( $current_field_required ) {
|
| 3255 |
+
$this->add_render_attribute( $input_key, [
|
| 3256 |
+
'required' => 'required',
|
| 3257 |
+
'aria-required' => 'true',
|
| 3258 |
+
] );
|
| 3259 |
+
if ( 'yes' === $this->ds['mark_required'] ) {
|
| 3260 |
+
$this->add_render_attribute( $label_key, [
|
| 3261 |
+
'class' => 'mark-required',
|
| 3262 |
+
] );
|
| 3263 |
+
}
|
| 3264 |
+
|
| 3265 |
+
}
|
| 3266 |
+
|
| 3267 |
+
|
| 3268 |
+
// add css classes to the main input field wrapper.
|
| 3269 |
+
$this->add_render_attribute( [
|
| 3270 |
+
$field_group_key => [
|
| 3271 |
+
'class' => [
|
| 3272 |
+
'eael-lr-form-group',
|
| 3273 |
+
'eael-field-type-' . $field_type,
|
| 3274 |
+
'eael-w-' . $field['width'],
|
| 3275 |
+
],
|
| 3276 |
+
],
|
| 3277 |
+
] );
|
| 3278 |
+
|
| 3279 |
+
if ( ! empty( $field['width_tablet'] ) ) {
|
| 3280 |
+
$this->add_render_attribute( $field_group_key, 'class', 'elementor-md-' . $field['width_tablet'] );
|
| 3281 |
+
}
|
| 3282 |
+
|
| 3283 |
+
if ( ! empty( $field['width_mobile'] ) ) {
|
| 3284 |
+
$this->add_render_attribute( $field_group_key, 'class', 'elementor-sm-' . $field['width_mobile'] );
|
| 3285 |
+
}
|
| 3286 |
+
|
| 3287 |
+
?>
|
| 3288 |
+
<div <?php $this->print_render_attribute_string( $field_group_key ) ?>>
|
| 3289 |
+
<?php
|
| 3290 |
+
if ( 'yes' === $this->ds['show_labels'] && ! empty( $field['field_label'] ) ) {
|
| 3291 |
+
echo '<label ' . $this->get_render_attribute_string( $label_key ) . '>' . esc_attr( $field['field_label'] ) . '</label>';
|
| 3292 |
+
}
|
| 3293 |
+
echo '<input ' . $this->get_render_attribute_string( $input_key ) . '>';
|
| 3294 |
+
?>
|
| 3295 |
+
</div>
|
| 3296 |
+
<?php
|
| 3297 |
+
endforeach;
|
| 3298 |
+
$this->print_necessary_hidden_fields( 'register' );
|
| 3299 |
+
$this->print_terms_condition_notice();
|
| 3300 |
+
?>
|
| 3301 |
+
<div class="eael-lr-footer">
|
| 3302 |
+
<input type="submit" name="eael-register-submit" id="eael-register-submit" class="eael-lr-btn eael-lr-btn-block<?php echo esc_attr( $btn_align ); ?>" value="<?php echo esc_attr( $btn_text ); ?>"/>
|
| 3303 |
+
<?php if ( $show_lgn_link ) { ?>
|
| 3304 |
+
<div class="eael-sign-wrapper <?php echo esc_attr( $link_align ); ?>">
|
| 3305 |
+
<?php echo $lgn_link; ?>
|
| 3306 |
+
</div>
|
| 3307 |
+
<?php } ?>
|
| 3308 |
+
</div>
|
| 3309 |
+
|
| 3310 |
+
<div class="eael-form-validation-container">
|
| 3311 |
+
<?php $this->print_validation_message(); ?>
|
| 3312 |
+
</div>
|
| 3313 |
+
<?php
|
| 3314 |
+
|
| 3315 |
+
do_action( 'eael/login-register/before-register-form-close', $this);
|
| 3316 |
+
?>
|
| 3317 |
+
</form>
|
| 3318 |
+
<?php do_action( 'eael/login-register/after-register-form', $this); ?>
|
| 3319 |
+
</div>
|
| 3320 |
+
<?php if ( 'right' === $this->form_illustration_pos ) {
|
| 3321 |
+
$this->print_form_illustration();
|
| 3322 |
+
} ?>
|
| 3323 |
+
</div>
|
| 3324 |
+
</section>
|
| 3325 |
+
<?php
|
| 3326 |
+
$form_markup = apply_filters('eael/login-register/register-form-markup', ob_get_clean());
|
| 3327 |
+
// if we are in the editor then show error related to different input field.
|
| 3328 |
+
if ( $this->in_editor ) {
|
| 3329 |
+
$repeated = $this->print_error_for_repeated_fields( $repeated_f_labels );
|
| 3330 |
+
$email_field_missing = $this->print_error_for_missing_email_field( $email_exists );
|
| 3331 |
+
$pass_missing = $this->print_error_for_missing_password_field( $password_exists, $confirm_pass_exists );
|
| 3332 |
+
if ( $repeated || $email_field_missing || $pass_missing ) {
|
| 3333 |
+
return false; // error found, exit, dont show form.
|
| 3334 |
+
}
|
| 3335 |
+
echo $form_markup; //XSS OK, data sanitized already.
|
| 3336 |
+
} else {
|
| 3337 |
+
echo $form_markup; //XSS OK, data sanitized already.
|
| 3338 |
+
}
|
| 3339 |
+
}
|
| 3340 |
+
}
|
| 3341 |
+
|
| 3342 |
+
protected function print_form_illustration() {
|
| 3343 |
+
if ( ! empty( $this->form_illustration_url ) ) { ?>
|
| 3344 |
+
<div class="lr-form-illustration lr-img-pos-<?php echo esc_attr( $this->form_illustration_pos ); ?>" style="background-image: url('<?php echo esc_attr( esc_url( $this->form_illustration_url ) ); ?>');"></div>
|
| 3345 |
+
<?php }
|
| 3346 |
+
}
|
| 3347 |
+
|
| 3348 |
+
/**
|
| 3349 |
+
* @param string $form_type the type of form. Available values: login and register
|
| 3350 |
+
*/
|
| 3351 |
+
protected function print_form_header( $form_type = 'login' ) {
|
| 3352 |
+
$title = ! empty( $this->ds["{$form_type}_form_title"] ) ? esc_html( $this->ds["{$form_type}_form_title"] ) : '';
|
| 3353 |
+
$subtitle = ! empty( $this->ds["{$form_type}_form_subtitle"] ) ? esc_html( $this->ds["{$form_type}_form_subtitle"] ) : '';
|
| 3354 |
+
if ( empty( $this->form_logo ) && empty( $title ) && empty( $subtitle ) ) {
|
| 3355 |
+
return;
|
| 3356 |
+
}
|
| 3357 |
+
|
| 3358 |
+
?>
|
| 3359 |
+
<div class="lr-form-header header-<?php echo esc_attr( $this->form_logo_pos ); ?>">
|
| 3360 |
+
<?php if ( ! empty( $this->form_logo ) ) { ?>
|
| 3361 |
+
<div class="form-logo">
|
| 3362 |
+
<img src="<?php echo esc_attr( esc_url( $this->form_logo ) ); ?>" alt="<?php esc_attr_e( 'Form Logo Image', EAEL_TEXTDOMAIN ); ?>">
|
| 3363 |
+
</div>
|
| 3364 |
+
<?php } ?>
|
| 3365 |
+
|
| 3366 |
+
<?php if ( ! empty( $title ) || ! empty( $subtitle ) ) { ?>
|
| 3367 |
+
<div class="form-dsc">
|
| 3368 |
+
<?php
|
| 3369 |
+
if ( ! empty( $title ) ) {
|
| 3370 |
+
echo "<h4>{$title}</h4>"; // data escaped already.
|
| 3371 |
+
}
|
| 3372 |
+
|
| 3373 |
+
if ( ! empty( $subtitle ) ) {
|
| 3374 |
+
echo "<p>{$subtitle}</p>"; // data escaped already.
|
| 3375 |
+
} ?>
|
| 3376 |
+
</div>
|
| 3377 |
+
<?php } ?>
|
| 3378 |
+
</div>
|
| 3379 |
+
<?php
|
| 3380 |
+
}
|
| 3381 |
+
|
| 3382 |
+
protected function print_necessary_hidden_fields( $form_type = 'login' ) {
|
| 3383 |
+
if ( 'login' === $form_type ) {
|
| 3384 |
+
if ( ! empty( $this->ds['redirect_after_login'] ) && 'yes' === $this->ds['redirect_after_login'] ) {
|
| 3385 |
+
$login_redirect_url = ! empty( $this->ds['redirect_url']['url'] ) ? esc_url( $this->ds['redirect_url']['url'] ) : '';
|
| 3386 |
+
?>
|
| 3387 |
+
<input type="hidden" name="redirect_to" value="<?php echo esc_attr( $login_redirect_url ); ?>">
|
| 3388 |
+
<?php }
|
| 3389 |
+
}
|
| 3390 |
+
// add login security nonce
|
| 3391 |
+
wp_nonce_field( "eael-{$form_type}-action", "eael-{$form_type}-nonce" );
|
| 3392 |
+
?>
|
| 3393 |
+
<input type="hidden" name="page_id" value="<?php echo esc_attr( $this->page_id ); ?>">
|
| 3394 |
+
<input type="hidden" name="widget_id" value="<?php echo esc_attr( $this->get_id() ); ?>">
|
| 3395 |
+
<?php
|
| 3396 |
+
}
|
| 3397 |
+
|
| 3398 |
+
protected function print_terms_condition_notice() {
|
| 3399 |
+
if ( empty( $this->ds['show_terms_conditions'] ) || 'yes' !== $this->ds['show_terms_conditions'] ) {
|
| 3400 |
+
return;
|
| 3401 |
+
}
|
| 3402 |
+
$l = isset( $this->ds['acceptance_label'] ) ? $this->ds['acceptance_label'] : '';
|
| 3403 |
+
$parts = explode( "\n", $l );
|
| 3404 |
+
$label = array_shift( $parts );
|
| 3405 |
+
$link_text = array_pop( $parts );
|
| 3406 |
+
$source = isset( $this->ds['acceptance_text_source'] ) ? $this->ds['acceptance_text_source'] : 'editor';
|
| 3407 |
+
$tc_text = isset( $this->ds['acceptance_text'] ) ? $this->ds['acceptance_text'] : '';
|
| 3408 |
+
$tc_link = '<a href="#" id="eael-lr-tnc-link" class="eael-lr-tnc-link">' . esc_html( $link_text ) . '</a>';
|
| 3409 |
+
if ( 'custom' === $source ) {
|
| 3410 |
+
$tc_url = ! empty( $this->ds['acceptance_text_url']['url'] ) ? esc_url( $this->ds['acceptance_text_url']['url'] ) : esc_url( get_the_permalink( get_option( 'wp_page_for_privacy_policy' ) ) );
|
| 3411 |
+
$tc_atts = ! empty( $this->ds['acceptance_text_url']['is_external'] ) ? ' target="_blank"' : '';
|
| 3412 |
+
$tc_atts .= ! empty( $this->ds['acceptance_text_url']['nofollow'] ) ? ' rel="nofollow"' : '';
|
| 3413 |
+
$tc_link = sprintf( '<a href="%1$s" id="eael-lr-tnc-link" class="eael-lr-tnc-link" %2$s>%3$s</a>', esc_attr( $tc_url ), $tc_atts, $link_text );
|
| 3414 |
+
}
|
| 3415 |
+
|
| 3416 |
+
?>
|
| 3417 |
+
<div class="eael_accept_tnc_wrap">
|
| 3418 |
+
<input type="hidden" name="eael_tnc_active" value="1">
|
| 3419 |
+
<input type="checkbox" name="eael_accept_tnc" value="1" id="eael_accept_tnc">
|
| 3420 |
+
<label for="eael_accept_tnc" class="eael-checkbox-label check-accept">
|
| 3421 |
+
<?php
|
| 3422 |
+
echo esc_html( $label );
|
| 3423 |
+
?>
|
| 3424 |
+
</label>
|
| 3425 |
+
<?php
|
| 3426 |
+
echo $tc_link; // XSS ok. already sanitized.
|
| 3427 |
+
?>
|
| 3428 |
+
</div>
|
| 3429 |
+
|
| 3430 |
+
<?php
|
| 3431 |
+
$tc = '<div class="eael-lr-tnc-wrap">';
|
| 3432 |
+
$tc .= $this->parse_text_editor( $tc_text );
|
| 3433 |
+
$tc .= '</div>';
|
| 3434 |
+
echo $tc;
|
| 3435 |
+
|
| 3436 |
+
|
| 3437 |
+
}
|
| 3438 |
+
|
| 3439 |
+
protected function print_login_validation_errors() {
|
| 3440 |
+
$error_key = 'eael_login_error_' . $this->get_id();
|
| 3441 |
+
if ( $login_error = apply_filters( 'eael/login-register/login-error-message', get_transient( $error_key ) ) ) {
|
| 3442 |
+
do_action( 'eael/login-register/before-showing-login-error', $login_error, $this );
|
| 3443 |
+
?>
|
| 3444 |
+
<p class="eael-form-msg invalid">
|
| 3445 |
+
<?php echo esc_html( $login_error ); ?>
|
| 3446 |
+
</p>
|
| 3447 |
+
<?php
|
| 3448 |
+
do_action( 'eael/login-register/after-showing-login-error', $login_error, $this );
|
| 3449 |
+
|
| 3450 |
+
delete_transient( $error_key );
|
| 3451 |
+
}
|
| 3452 |
+
}
|
| 3453 |
+
|
| 3454 |
+
protected function print_error_for_repeated_fields( $repeated_fields ) {
|
| 3455 |
+
if ( ! empty( $repeated_fields ) ) {
|
| 3456 |
+
$error_fields = '<strong>' . implode( "</strong>, <strong>", $repeated_fields ) . '</strong>';
|
| 3457 |
+
?>
|
| 3458 |
+
<p class='eael-register-form-error elementor-alert elementor-alert-warning'>
|
| 3459 |
+
<?php
|
| 3460 |
+
/* translators: %s: Error fields */
|
| 3461 |
+
printf( __( 'Error! you seem to have added %s field in the form more than once.', EAEL_TEXTDOMAIN ), $error_fields );
|
| 3462 |
+
?>
|
| 3463 |
+
</p>
|
| 3464 |
+
<?php
|
| 3465 |
+
return true;
|
| 3466 |
+
}
|
| 3467 |
+
|
| 3468 |
+
return false;
|
| 3469 |
+
}
|
| 3470 |
+
|
| 3471 |
+
protected function print_error_for_missing_email_field( $email_exist ) {
|
| 3472 |
+
if ( empty( $email_exist ) ) {
|
| 3473 |
+
?>
|
| 3474 |
+
<p class='eael-register-form-error elementor-alert elementor-alert-warning'>
|
| 3475 |
+
<?php
|
| 3476 |
+
/* translators: %s: Error String */
|
| 3477 |
+
printf( __( 'Error! It is required to use %s field.', EAEL_TEXTDOMAIN ), '<strong>Email</strong>' );
|
| 3478 |
+
?>
|
| 3479 |
+
</p>
|
| 3480 |
+
<?php
|
| 3481 |
+
return true;
|
| 3482 |
+
}
|
| 3483 |
+
|
| 3484 |
+
return false;
|
| 3485 |
+
}
|
| 3486 |
+
|
| 3487 |
+
/**
|
| 3488 |
+
* It shows error if Confirm Password Field is used without using Password Field.
|
| 3489 |
+
*
|
| 3490 |
+
* @param $password_exist
|
| 3491 |
+
* @param $confirm_pass_exist
|
| 3492 |
+
*
|
| 3493 |
+
* @return bool
|
| 3494 |
+
*/
|
| 3495 |
+
protected function print_error_for_missing_password_field( $password_exist, $confirm_pass_exist ) {
|
| 3496 |
+
if ( empty( $password_exist ) && ! empty( $confirm_pass_exist ) ) {
|
| 3497 |
+
?>
|
| 3498 |
+
<p class='eael-register-form-error elementor-alert elementor-alert-warning'>
|
| 3499 |
+
<?php
|
| 3500 |
+
/* translators: %s: Error String */
|
| 3501 |
+
printf( __( 'Error! It is required to use %s field with %s Field.', EAEL_TEXTDOMAIN ), '<strong>Password</strong>', '<strong>Password Confirmation</strong>' );
|
| 3502 |
+
?>
|
| 3503 |
+
</p>
|
| 3504 |
+
<?php
|
| 3505 |
+
return true;
|
| 3506 |
+
}
|
| 3507 |
+
|
| 3508 |
+
return false;
|
| 3509 |
+
}
|
| 3510 |
+
|
| 3511 |
+
protected function print_validation_message() {
|
| 3512 |
+
$errors = get_transient( 'eael_register_errors_' . $this->get_id() );
|
| 3513 |
+
$success = get_transient( 'eael_register_success_' . $this->get_id() );
|
| 3514 |
+
if ( empty( $errors ) && empty( $success ) ) {
|
| 3515 |
+
return;
|
| 3516 |
+
}
|
| 3517 |
+
if ( ! empty( $errors ) && is_array( $errors ) ) {
|
| 3518 |
+
$this->print_registration_errors_message( $errors );
|
| 3519 |
+
} else {
|
| 3520 |
+
$this->print_registration_success_message( $success );
|
| 3521 |
+
}
|
| 3522 |
+
}
|
| 3523 |
+
|
| 3524 |
+
protected function print_registration_errors_message( $errors ) {
|
| 3525 |
+
?>
|
| 3526 |
+
<div class="eael-form-msg invalid">
|
| 3527 |
+
<?php
|
| 3528 |
+
if ( ! empty( $this->ds['register_error_msg'] ) ) {
|
| 3529 |
+
printf( '<p>%s</p>', esc_html( $this->ds['register_error_msg'] ) );
|
| 3530 |
+
}
|
| 3531 |
+
?>
|
| 3532 |
+
<ol>
|
| 3533 |
+
<?php
|
| 3534 |
+
foreach ( $errors as $register_error ) {
|
| 3535 |
+
printf( '<li>%s</li>', esc_html( $register_error ) );
|
| 3536 |
+
}
|
| 3537 |
+
?>
|
| 3538 |
+
</ol>
|
| 3539 |
+
</div>
|
| 3540 |
+
<?php
|
| 3541 |
+
delete_transient( 'eael_register_errors_' . $this->get_id() );
|
| 3542 |
+
}
|
| 3543 |
+
|
| 3544 |
+
protected function print_registration_success_message( $success ) {
|
| 3545 |
+
|
| 3546 |
+
if ( $success ) {
|
| 3547 |
+
$message = '<p class="eael-form-msg valid">' . esc_html( $this->get_settings_for_display( 'register_success_msg' ) ) . '</p>';
|
| 3548 |
+
echo apply_filters( 'eael/login-register/registration-success-msg', $message, $success );
|
| 3549 |
+
|
| 3550 |
+
delete_transient( 'eael_register_success_' . $this->get_id() );
|
| 3551 |
+
|
| 3552 |
+
return true; // it will help in case we wanna know if error is printed.
|
| 3553 |
+
}
|
| 3554 |
+
|
| 3555 |
+
return false;
|
| 3556 |
+
}
|
| 3557 |
+
|
| 3558 |
+
/**
|
| 3559 |
+
* It will apply value like Elementor's dimension control to a property and return it.
|
| 3560 |
+
*
|
| 3561 |
+
* @param string $css_property CSS property name
|
| 3562 |
+
*
|
| 3563 |
+
* @return string
|
| 3564 |
+
*/
|
| 3565 |
+
protected function apply_dim( $css_property ) {
|
| 3566 |
+
return "{$css_property}: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};";
|
| 3567 |
+
}
|
| 3568 |
+
|
| 3569 |
+
}
|
includes/Elements/Woocommerce_Review.php
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
namespace Essential_Addons_Elementor\Elements;
|
| 3 |
+
|
| 4 |
+
// If this file is called directly, abort.
|
| 5 |
+
if (!defined('ABSPATH')) {
|
| 6 |
+
exit;
|
| 7 |
+
}
|
| 8 |
+
|
| 9 |
+
use \Elementor\Controls_Manager;
|
| 10 |
+
use \Elementor\Widget_Base;
|
| 11 |
+
class Woocommerce_Review extends Widget_Base {
|
| 12 |
+
|
| 13 |
+
public function get_name() {
|
| 14 |
+
return 'eael-woocommerce-review';
|
| 15 |
+
}
|
| 16 |
+
|
| 17 |
+
public function get_title() {
|
| 18 |
+
return esc_html__( 'WooCommerce Review', 'essential-addons-for-elementor-lite');
|
| 19 |
+
}
|
| 20 |
+
|
| 21 |
+
public function get_icon() {
|
| 22 |
+
return 'eaicon-reviewx';
|
| 23 |
+
}
|
| 24 |
+
|
| 25 |
+
public function get_categories() {
|
| 26 |
+
return [ 'essential-addons-elementor' ];
|
| 27 |
+
}
|
| 28 |
+
|
| 29 |
+
public function get_keywords() {
|
| 30 |
+
return [
|
| 31 |
+
'reviewx',
|
| 32 |
+
'woo review',
|
| 33 |
+
'woo',
|
| 34 |
+
'woocommerce',
|
| 35 |
+
'comment',
|
| 36 |
+
'review',
|
| 37 |
+
'addons',
|
| 38 |
+
'ea',
|
| 39 |
+
'essential addons',
|
| 40 |
+
'woocommerce review'
|
| 41 |
+
];
|
| 42 |
+
}
|
| 43 |
+
|
| 44 |
+
public function get_custom_help_url() {
|
| 45 |
+
return 'https://reviewx.io/docs';
|
| 46 |
+
}
|
| 47 |
+
|
| 48 |
+
protected function _register_controls() {
|
| 49 |
+
$this->start_controls_section(
|
| 50 |
+
'eael_global_warning',
|
| 51 |
+
[
|
| 52 |
+
'label' => __('Warning!', 'essential-addons-for-elementor-lite'),
|
| 53 |
+
]
|
| 54 |
+
);
|
| 55 |
+
|
| 56 |
+
$this->add_control(
|
| 57 |
+
'eael_global_warning_text',
|
| 58 |
+
[
|
| 59 |
+
'type' => Controls_Manager::RAW_HTML,
|
| 60 |
+
'raw' => __('<strong>ReviewX</strong> is not installed/activated on your site. Please install and activate <a href="plugin-install.php?s=reviewx&tab=search&type=term" target="_blank">ReviewX</a> first.',
|
| 61 |
+
'essential-addons-for-elementor-lite'),
|
| 62 |
+
'content_classes' => 'eael-warning',
|
| 63 |
+
]
|
| 64 |
+
);
|
| 65 |
+
|
| 66 |
+
$this->end_controls_section();
|
| 67 |
+
}
|
| 68 |
+
|
| 69 |
+
|
| 70 |
+
protected function render() {
|
| 71 |
+
return;
|
| 72 |
+
}
|
| 73 |
+
}
|
includes/Traits/Admin.php
CHANGED
|
@@ -81,7 +81,7 @@ trait Admin
|
|
| 81 |
<div class="templately-right">
|
| 82 |
<div class="templately-admin-install">
|
| 83 |
<p><?php echo __( 'Install Templately by Essential Addons to get access to the templates library and cloud.', 'essential-addons-for-elementor-lite' ); ?></p>
|
| 84 |
-
<button class="eae-activate-templately"><?php echo $button_text; ?></button>
|
| 85 |
</div>
|
| 86 |
</div>
|
| 87 |
</div>
|
|
@@ -306,9 +306,9 @@ include_once EAEL_PLUGIN_PATH . DIRECTORY_SEPARATOR . 'includes/templates/admin/
|
|
| 306 |
* classes for wrapper,
|
| 307 |
* Message message for showing.
|
| 308 |
*/
|
| 309 |
-
$notice->classes('upsale', 'notice is-dismissible ');
|
| 310 |
-
$notice->message('upsale', '<p>' . __('5,000+ People using <a href="https://betterdocs.co/wordpress-plugin" target="_blank">BetterDocs</a> to create better Documentation & Knowledge Base!', 'essential-addons-for-elementor-lite') . '</p>');
|
| 311 |
-
$notice->thumbnail('upsale', plugins_url('assets/admin/images/icon-documentation.svg', EAEL_PLUGIN_BASENAME));
|
| 312 |
|
| 313 |
// Update Notice For PRO Version
|
| 314 |
if ($this->pro_enabled && \version_compare(EAEL_PRO_PLUGIN_VERSION, '4.0.0', '<')) {
|
|
@@ -317,36 +317,25 @@ include_once EAEL_PLUGIN_PATH . DIRECTORY_SEPARATOR . 'includes/templates/admin/
|
|
| 317 |
$notice->thumbnail('update', plugins_url('assets/admin/images/icon-ea-logo.svg', EAEL_PLUGIN_BASENAME));
|
| 318 |
}
|
| 319 |
|
| 320 |
-
//
|
| 321 |
-
//
|
| 322 |
-
//
|
| 323 |
-
//
|
| 324 |
-
//
|
| 325 |
-
|
| 326 |
-
|
| 327 |
-
|
| 328 |
-
|
| 329 |
-
|
| 330 |
-
'btn_text' => __('Install Free', 'essential-addons-for-elementor-lite'),
|
| 331 |
-
'condition' => [
|
| 332 |
-
'by' => 'class',
|
| 333 |
-
'class' => 'BetterDocs',
|
| 334 |
-
],
|
| 335 |
-
);
|
| 336 |
-
|
| 337 |
$notice->options_args = array(
|
| 338 |
'notice_will_show' => [
|
| 339 |
'opt_in' => $notice->timestamp,
|
| 340 |
-
'upsale' => $notice->makeTime($notice->timestamp, '14 Day'),
|
| 341 |
'review' => $notice->makeTime($notice->timestamp, '7 Day'), // after 3 days
|
| 342 |
],
|
| 343 |
);
|
| 344 |
if ($this->pro_enabled && \version_compare(EAEL_PRO_PLUGIN_VERSION, '4.0.0', '<')) {
|
| 345 |
$notice->options_args['notice_will_show']['update'] = $notice->timestamp;
|
| 346 |
}
|
| 347 |
-
// if( ! $this->pro_enabled ) {
|
| 348 |
-
// $notice->options_args['notice_will_show']['update_400k'] = $notice->makeTime($notice->timestamp, '1 Hour');
|
| 349 |
-
// }
|
| 350 |
|
| 351 |
$notice->init();
|
| 352 |
}
|
| 81 |
<div class="templately-right">
|
| 82 |
<div class="templately-admin-install">
|
| 83 |
<p><?php echo __( 'Install Templately by Essential Addons to get access to the templates library and cloud.', 'essential-addons-for-elementor-lite' ); ?></p>
|
| 84 |
+
<button class="eae-activate-templately"><?php echo $button_text; ?></button>
|
| 85 |
</div>
|
| 86 |
</div>
|
| 87 |
</div>
|
| 306 |
* classes for wrapper,
|
| 307 |
* Message message for showing.
|
| 308 |
*/
|
| 309 |
+
// $notice->classes('upsale', 'notice is-dismissible ');
|
| 310 |
+
// $notice->message('upsale', '<p>' . __('5,000+ People using <a href="https://betterdocs.co/wordpress-plugin" target="_blank">BetterDocs</a> to create better Documentation & Knowledge Base!', 'essential-addons-for-elementor-lite') . '</p>');
|
| 311 |
+
// $notice->thumbnail('upsale', plugins_url('assets/admin/images/icon-documentation.svg', EAEL_PLUGIN_BASENAME));
|
| 312 |
|
| 313 |
// Update Notice For PRO Version
|
| 314 |
if ($this->pro_enabled && \version_compare(EAEL_PRO_PLUGIN_VERSION, '4.0.0', '<')) {
|
| 317 |
$notice->thumbnail('update', plugins_url('assets/admin/images/icon-ea-logo.svg', EAEL_PLUGIN_BASENAME));
|
| 318 |
}
|
| 319 |
|
| 320 |
+
// $notice->upsale_args = array(
|
| 321 |
+
// 'slug' => 'betterdocs',
|
| 322 |
+
// 'page_slug' => 'betterdocs-setup',
|
| 323 |
+
// 'file' => 'betterdocs.php',
|
| 324 |
+
// 'btn_text' => __('Install Free', 'essential-addons-for-elementor-lite'),
|
| 325 |
+
// 'condition' => [
|
| 326 |
+
// 'by' => 'class',
|
| 327 |
+
// 'class' => 'BetterDocs',
|
| 328 |
+
// ],
|
| 329 |
+
// );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 330 |
$notice->options_args = array(
|
| 331 |
'notice_will_show' => [
|
| 332 |
'opt_in' => $notice->timestamp,
|
|
|
|
| 333 |
'review' => $notice->makeTime($notice->timestamp, '7 Day'), // after 3 days
|
| 334 |
],
|
| 335 |
);
|
| 336 |
if ($this->pro_enabled && \version_compare(EAEL_PRO_PLUGIN_VERSION, '4.0.0', '<')) {
|
| 337 |
$notice->options_args['notice_will_show']['update'] = $notice->timestamp;
|
| 338 |
}
|
|
|
|
|
|
|
|
|
|
| 339 |
|
| 340 |
$notice->init();
|
| 341 |
}
|
includes/Traits/Core.php
CHANGED
|
@@ -45,11 +45,11 @@ trait Core
|
|
| 45 |
public function insert_plugin_links($links)
|
| 46 |
{
|
| 47 |
// settings
|
| 48 |
-
$links[] = sprintf('<a href="admin.php?page=eael-settings">' . __('Settings') . '</a>');
|
| 49 |
|
| 50 |
// go pro
|
| 51 |
if (!$this->pro_enabled) {
|
| 52 |
-
$links[] = sprintf('<a href="https://wpdeveloper.net/in/upgrade-essential-addons-elementor" target="_blank" style="color: #39b54a; font-weight: bold;">' . __('Go Pro') . '</a>');
|
| 53 |
}
|
| 54 |
|
| 55 |
return $links;
|
|
@@ -64,10 +64,10 @@ trait Core
|
|
| 64 |
{
|
| 65 |
if (EAEL_PLUGIN_BASENAME == $file) {
|
| 66 |
// docs & faq
|
| 67 |
-
$links[] = sprintf('<a href="https://essential-addons.com/elementor/docs/?utm_medium=admin&utm_source=wp.org&utm_term=ea" target="_blank">' . __('Docs & FAQs') . '</a>');
|
| 68 |
|
| 69 |
// video tutorials
|
| 70 |
-
$links[] = sprintf('<a href="https://www.youtube.com/channel/UCOjzLEdsnpnFVkm1JKFurPA?utm_medium=admin&utm_source=wp.org&utm_term=ea" target="_blank">' . __('Video Tutorials') . '</a>');
|
| 71 |
}
|
| 72 |
|
| 73 |
return $links;
|
|
@@ -104,11 +104,14 @@ trait Core
|
|
| 104 |
|
| 105 |
if ($this->is_plugin_installed($elementor)) {
|
| 106 |
$activation_url = wp_nonce_url('plugins.php?action=activate&plugin=' . $elementor . '&plugin_status=all&paged=1&s', 'activate-plugin_' . $elementor);
|
| 107 |
-
|
|
|
|
|
|
|
| 108 |
$button_text = __('Activate Elementor', 'essential-addons-for-elementor-lite');
|
| 109 |
} else {
|
| 110 |
$activation_url = wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=elementor'), 'install-plugin_elementor');
|
| 111 |
-
|
|
|
|
| 112 |
$button_text = __('Install Elementor', 'essential-addons-for-elementor-lite');
|
| 113 |
}
|
| 114 |
|
|
@@ -160,7 +163,7 @@ trait Core
|
|
| 160 |
if ($document->get_settings('eael_ext_reading_progress_global') == 'yes') {
|
| 161 |
$global_settings['reading_progress'] = [
|
| 162 |
'post_id' => $post_id,
|
| 163 |
-
'enabled' =>
|
| 164 |
'display_condition' => $document->get_settings('eael_ext_reading_progress_global_display_condition'),
|
| 165 |
'position' => $document->get_settings('eael_ext_reading_progress_position'),
|
| 166 |
'height' => $document->get_settings('eael_ext_reading_progress_height'),
|
| 45 |
public function insert_plugin_links($links)
|
| 46 |
{
|
| 47 |
// settings
|
| 48 |
+
$links[] = sprintf('<a href="admin.php?page=eael-settings">' . __('Settings', 'essential-addons-for-elementor-lite') . '</a>');
|
| 49 |
|
| 50 |
// go pro
|
| 51 |
if (!$this->pro_enabled) {
|
| 52 |
+
$links[] = sprintf('<a href="https://wpdeveloper.net/in/upgrade-essential-addons-elementor" target="_blank" style="color: #39b54a; font-weight: bold;">' . __('Go Pro', 'essential-addons-for-elementor-lite') . '</a>');
|
| 53 |
}
|
| 54 |
|
| 55 |
return $links;
|
| 64 |
{
|
| 65 |
if (EAEL_PLUGIN_BASENAME == $file) {
|
| 66 |
// docs & faq
|
| 67 |
+
$links[] = sprintf('<a href="https://essential-addons.com/elementor/docs/?utm_medium=admin&utm_source=wp.org&utm_term=ea" target="_blank">' . __('Docs & FAQs', 'essential-addons-for-elementor-lite') . '</a>');
|
| 68 |
|
| 69 |
// video tutorials
|
| 70 |
+
$links[] = sprintf('<a href="https://www.youtube.com/channel/UCOjzLEdsnpnFVkm1JKFurPA?utm_medium=admin&utm_source=wp.org&utm_term=ea" target="_blank">' . __('Video Tutorials','essential-addons-for-elementor-lite') . '</a>');
|
| 71 |
}
|
| 72 |
|
| 73 |
return $links;
|
| 104 |
|
| 105 |
if ($this->is_plugin_installed($elementor)) {
|
| 106 |
$activation_url = wp_nonce_url('plugins.php?action=activate&plugin=' . $elementor . '&plugin_status=all&paged=1&s', 'activate-plugin_' . $elementor);
|
| 107 |
+
|
| 108 |
+
$message = sprintf( __('%1$sEssential Addons for Elementor%2$s requires %1$sElementor%2$s plugin to be active. Please activate Elementor to continue.', 'essential-addons-for-elementor-lite'), "<strong>", "</strong>");
|
| 109 |
+
|
| 110 |
$button_text = __('Activate Elementor', 'essential-addons-for-elementor-lite');
|
| 111 |
} else {
|
| 112 |
$activation_url = wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=elementor'), 'install-plugin_elementor');
|
| 113 |
+
|
| 114 |
+
$message = sprintf(__('%1$sEssential Addons for Elementor%2$s requires %1$sElementor%2$s plugin to be installed and activated. Please install Elementor to continue.', 'essential-addons-for-elementor-lite'), '<strong>', '</strong>');
|
| 115 |
$button_text = __('Install Elementor', 'essential-addons-for-elementor-lite');
|
| 116 |
}
|
| 117 |
|
| 163 |
if ($document->get_settings('eael_ext_reading_progress_global') == 'yes') {
|
| 164 |
$global_settings['reading_progress'] = [
|
| 165 |
'post_id' => $post_id,
|
| 166 |
+
'enabled' => $document->get_settings('eael_ext_reading_progress_global') === 'yes',
|
| 167 |
'display_condition' => $document->get_settings('eael_ext_reading_progress_global_display_condition'),
|
| 168 |
'position' => $document->get_settings('eael_ext_reading_progress_position'),
|
| 169 |
'height' => $document->get_settings('eael_ext_reading_progress_height'),
|
includes/Traits/Login_Registration.php
ADDED
|
@@ -0,0 +1,612 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
|
| 3 |
+
namespace Essential_Addons_Elementor\Traits;
|
| 4 |
+
|
| 5 |
+
use Elementor\Plugin;
|
| 6 |
+
|
| 7 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
| 8 |
+
exit;
|
| 9 |
+
}
|
| 10 |
+
|
| 11 |
+
/**
|
| 12 |
+
* Trait Login_Registration is responsible for login or registering user using custom login | register widget.
|
| 13 |
+
* @package Essential_Addons_Elementor\Traits
|
| 14 |
+
*/
|
| 15 |
+
trait Login_Registration {
|
| 16 |
+
/**
|
| 17 |
+
* @var bool
|
| 18 |
+
*/
|
| 19 |
+
public static $send_custom_email = false;
|
| 20 |
+
public static $send_custom_email_admin = false;
|
| 21 |
+
/**
|
| 22 |
+
* It will contain all email related options like email subject, content, email content type etc.
|
| 23 |
+
* @var array $email_options {
|
| 24 |
+
* Used to build wp_mail().
|
| 25 |
+
* @type string $template_type The type of the email template; custom | default.
|
| 26 |
+
* @type string $subject The subject of the email.
|
| 27 |
+
* @type string $message The body of the email.
|
| 28 |
+
* @type string $content_type The type of the email body; plain | html
|
| 29 |
+
* }
|
| 30 |
+
*/
|
| 31 |
+
public static $email_options = [];
|
| 32 |
+
|
| 33 |
+
public function login_or_register_user() {
|
| 34 |
+
|
| 35 |
+
// login or register form?
|
| 36 |
+
if ( isset( $_POST['eael-login-submit'] ) ) {
|
| 37 |
+
$this->log_user_in();
|
| 38 |
+
} elseif ( isset( $_POST['eael-register-submit'] ) ) {
|
| 39 |
+
$this->register_user();
|
| 40 |
+
}
|
| 41 |
+
}
|
| 42 |
+
|
| 43 |
+
/**
|
| 44 |
+
* It logs the user in when the login form is submitted normally without AJAX.
|
| 45 |
+
*/
|
| 46 |
+
public function log_user_in() {
|
| 47 |
+
$ajax = wp_doing_ajax();
|
| 48 |
+
// before even thinking about login, check security and exit early if something is not right.
|
| 49 |
+
if ( empty( $_POST['eael-login-nonce'] ) ) {
|
| 50 |
+
if ( $ajax ) {
|
| 51 |
+
wp_send_json_error( __( 'Insecure form submitted without security token', EAEL_TEXTDOMAIN ) );
|
| 52 |
+
}
|
| 53 |
+
return false;
|
| 54 |
+
}
|
| 55 |
+
if ( ! wp_verify_nonce( $_POST['eael-login-nonce'], 'eael-login-action' ) ) {
|
| 56 |
+
if ( $ajax ) {
|
| 57 |
+
wp_send_json_error( __( 'Security token did not match', EAEL_TEXTDOMAIN ) );
|
| 58 |
+
}
|
| 59 |
+
return false;
|
| 60 |
+
}
|
| 61 |
+
if ( is_user_logged_in() ) {
|
| 62 |
+
if ( $ajax ) {
|
| 63 |
+
wp_send_json_error( __( 'You are already logged in', EAEL_TEXTDOMAIN ) );
|
| 64 |
+
}
|
| 65 |
+
return false;
|
| 66 |
+
}
|
| 67 |
+
|
| 68 |
+
do_action( 'eael/login-register/before-login' );
|
| 69 |
+
|
| 70 |
+
$widget_id = ! empty( $_POST['widget_id'] ) ? sanitize_text_field( $_POST['widget_id'] ) : '';
|
| 71 |
+
|
| 72 |
+
$user_login = ! empty( $_POST['eael-user-login'] ) ? sanitize_text_field( $_POST['eael-user-login'] ) : '';
|
| 73 |
+
if ( is_email( $user_login ) ) {
|
| 74 |
+
$user_login = sanitize_email( $user_login );
|
| 75 |
+
}
|
| 76 |
+
|
| 77 |
+
$password = ! empty( $_POST['eael-user-password'] ) ? sanitize_text_field( $_POST['eael-user-password'] ) : '';
|
| 78 |
+
$rememberme = ! empty( $_POST['eael-rememberme'] ) ? sanitize_text_field( $_POST['eael-rememberme'] ) : '';
|
| 79 |
+
|
| 80 |
+
$credentials = [
|
| 81 |
+
'user_login' => $user_login,
|
| 82 |
+
'user_password' => $password,
|
| 83 |
+
'remember' => ( 'forever' === $rememberme ),
|
| 84 |
+
];
|
| 85 |
+
$user_data = wp_signon( $credentials );
|
| 86 |
+
|
| 87 |
+
if ( is_wp_error( $user_data ) ) {
|
| 88 |
+
$err_msg = '';
|
| 89 |
+
if ( isset( $user_data->errors['invalid_email'][0] ) ) {
|
| 90 |
+
$err_msg = __( 'Invalid Email. Please check your email or try again with your username.', EAEL_TEXTDOMAIN );
|
| 91 |
+
} elseif ( isset( $user_data->errors['invalid_username'][0] ) ) {
|
| 92 |
+
$err_msg = __( 'Invalid Username. Please check your username or try again with your email.', EAEL_TEXTDOMAIN );
|
| 93 |
+
|
| 94 |
+
} elseif ( isset( $user_data->errors['incorrect_password'][0] ) ) {
|
| 95 |
+
|
| 96 |
+
$err_msg = __( 'Invalid Password. Please check your password and try again', EAEL_TEXTDOMAIN );
|
| 97 |
+
|
| 98 |
+
} elseif ( isset( $user_data->errors['empty_password'][0] ) ) {
|
| 99 |
+
|
| 100 |
+
$err_msg = __( 'Empty Password. Please check your password and try again', EAEL_TEXTDOMAIN );
|
| 101 |
+
}
|
| 102 |
+
|
| 103 |
+
if ( $ajax ) {
|
| 104 |
+
wp_send_json_error( $err_msg );
|
| 105 |
+
}
|
| 106 |
+
|
| 107 |
+
$this->set_transient( 'eael_login_error_' . $widget_id, $err_msg );
|
| 108 |
+
} else {
|
| 109 |
+
wp_set_current_user( $user_data->ID, $user_login );
|
| 110 |
+
do_action( 'wp_login', $user_data->user_login, $user_data );
|
| 111 |
+
do_action( 'eael/login-register/after-login', $user_data->user_login, $user_data );
|
| 112 |
+
if ( $ajax ) {
|
| 113 |
+
$data = [
|
| 114 |
+
'message' => __('You are logged in successfully', EAEL_TEXTDOMAIN)
|
| 115 |
+
];
|
| 116 |
+
if ( ! empty( $_POST['redirect_to'] ) ) {
|
| 117 |
+
$data['redirect_to'] = esc_url( $_POST['redirect_to'] );
|
| 118 |
+
}
|
| 119 |
+
wp_send_json_success($data);
|
| 120 |
+
}
|
| 121 |
+
|
| 122 |
+
if ( ! empty( $_POST['redirect_to'] ) ) {
|
| 123 |
+
wp_safe_redirect( esc_url( $_POST['redirect_to'] ) );
|
| 124 |
+
exit();
|
| 125 |
+
}
|
| 126 |
+
}
|
| 127 |
+
}
|
| 128 |
+
|
| 129 |
+
/**
|
| 130 |
+
* It register the user in when the registration form is submitted normally without AJAX.
|
| 131 |
+
*/
|
| 132 |
+
public function register_user() {
|
| 133 |
+
$ajax = wp_doing_ajax();
|
| 134 |
+
|
| 135 |
+
// validate & sanitize the request data
|
| 136 |
+
if ( empty( $_POST['eael-register-nonce'] ) ) {
|
| 137 |
+
if ( $ajax ) {
|
| 138 |
+
wp_send_json_error( __( 'Insecure form submitted without security token', EAEL_TEXTDOMAIN ) );
|
| 139 |
+
}
|
| 140 |
+
return false;
|
| 141 |
+
}
|
| 142 |
+
if ( ! wp_verify_nonce( $_POST['eael-register-nonce'], 'eael-register-action' ) ) {
|
| 143 |
+
if ( $ajax ) {
|
| 144 |
+
wp_send_json_error( __( 'Security token did not match', EAEL_TEXTDOMAIN ) );
|
| 145 |
+
}
|
| 146 |
+
return false;
|
| 147 |
+
}
|
| 148 |
+
|
| 149 |
+
if ( is_user_logged_in() ) {
|
| 150 |
+
if ( $ajax ) {
|
| 151 |
+
wp_send_json_error( __( 'You are already logged in. Logged out to register a new account', EAEL_TEXTDOMAIN ) );
|
| 152 |
+
}
|
| 153 |
+
return false;
|
| 154 |
+
}
|
| 155 |
+
|
| 156 |
+
do_action( 'eael/login-register/before-register' );
|
| 157 |
+
|
| 158 |
+
// prepare the data
|
| 159 |
+
$errors = [];
|
| 160 |
+
$registration_allowed = get_option( 'users_can_register' );
|
| 161 |
+
$protocol = is_ssl() ? "https://" : "http://";
|
| 162 |
+
$url = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
|
| 163 |
+
|
| 164 |
+
// vail early if reg is closed.
|
| 165 |
+
if ( ! $registration_allowed ) {
|
| 166 |
+
$errors['registration'] = __( 'Registration is closed on this site', EAEL_TEXTDOMAIN );
|
| 167 |
+
if ( $ajax ) {
|
| 168 |
+
wp_send_json_error( $errors['registration'] );
|
| 169 |
+
}
|
| 170 |
+
|
| 171 |
+
$this->set_transient( 'eael_register_errors', $errors );
|
| 172 |
+
wp_safe_redirect( site_url( 'wp-login.php?registration=disabled' ) );
|
| 173 |
+
exit();
|
| 174 |
+
}
|
| 175 |
+
// prepare vars and flag errors
|
| 176 |
+
if ( ! empty( $_POST['page_id'] ) ) {
|
| 177 |
+
$page_id = intval( $_POST['page_id'], 10 );
|
| 178 |
+
} else {
|
| 179 |
+
$errors['page_id'] = __( 'Page ID is missing', EAEL_TEXTDOMAIN );
|
| 180 |
+
}
|
| 181 |
+
$widget_id = '';
|
| 182 |
+
if ( ! empty( $_POST['widget_id'] ) ) {
|
| 183 |
+
$widget_id = sanitize_text_field( $_POST['widget_id'] );
|
| 184 |
+
} else {
|
| 185 |
+
$errors['widget_id'] = __( 'Widget ID is missing', EAEL_TEXTDOMAIN );
|
| 186 |
+
}
|
| 187 |
+
|
| 188 |
+
if ( isset( $_POST['eael_tnc_active'] ) && empty( $_POST['eael_accept_tnc'] ) ) {
|
| 189 |
+
$errors['terms_conditions'] = __( 'You did not accept the Terms and Conditions. Please accept it and try again.', EAEL_TEXTDOMAIN );
|
| 190 |
+
}
|
| 191 |
+
|
| 192 |
+
if ( ! empty( $_POST['email'] ) && is_email( $_POST['email'] ) ) {
|
| 193 |
+
$email = sanitize_email( $_POST['email'] );
|
| 194 |
+
if ( email_exists( $email ) ) {
|
| 195 |
+
$errors['email'] = __( 'The provided email is already registered with other account. Please login or reset password or use another email.', EAEL_TEXTDOMAIN );
|
| 196 |
+
}
|
| 197 |
+
} else {
|
| 198 |
+
$errors['email'] = __( 'Email is missing or Invalid', EAEL_TEXTDOMAIN );
|
| 199 |
+
//@todo; maybe it is good to abort here?? as email is most important. or continue to collect all other errors.
|
| 200 |
+
}
|
| 201 |
+
|
| 202 |
+
// if user provided user name, validate & sanitize it
|
| 203 |
+
if ( isset( $_POST['user_name'] ) ) {
|
| 204 |
+
$username = $_POST['user_name'];
|
| 205 |
+
if ( ! validate_username( $username ) || mb_strlen( $username ) > 60 || username_exists( $username ) ) {
|
| 206 |
+
$errors['user_name'] = __( 'Invalid username provided or the username already registered.', EAEL_TEXTDOMAIN );
|
| 207 |
+
}
|
| 208 |
+
//@TODO; Maybe it is good to add a check for filtering out blacklisted usernames later here.
|
| 209 |
+
} else {
|
| 210 |
+
// user has not provided username, so generate one from the provided email.
|
| 211 |
+
if ( empty( $errors['email'] ) && isset( $email ) ) {
|
| 212 |
+
$username = $this->generate_username_from_email( $email );
|
| 213 |
+
}
|
| 214 |
+
}
|
| 215 |
+
|
| 216 |
+
// Dynamic Password Generation
|
| 217 |
+
$is_pass_auto_generated = false; // emailing is must for autogen pass
|
| 218 |
+
if ( ! empty( $_POST['password'] ) ) {
|
| 219 |
+
$password = wp_unslash( sanitize_text_field( $_POST['password'] ) );
|
| 220 |
+
} else {
|
| 221 |
+
$password = wp_generate_password();
|
| 222 |
+
$is_pass_auto_generated = true;
|
| 223 |
+
}
|
| 224 |
+
if ( isset( $_POST['confirm_pass'] ) ) {
|
| 225 |
+
$confirm_pass = wp_unslash( sanitize_text_field( $_POST['confirm_pass'] ) );
|
| 226 |
+
if ( $confirm_pass !== $password ) {
|
| 227 |
+
$errors['confirm_pass'] = __( 'The confirm password did not match.', EAEL_TEXTDOMAIN );
|
| 228 |
+
}
|
| 229 |
+
}
|
| 230 |
+
|
| 231 |
+
// if any error found, abort
|
| 232 |
+
if ( ! empty( $errors ) ) {
|
| 233 |
+
if ( $ajax ) {
|
| 234 |
+
$err_msg = '<ol>';
|
| 235 |
+
foreach ( $errors as $error ) {
|
| 236 |
+
$err_msg .="<li>{$error}</li>";
|
| 237 |
+
}
|
| 238 |
+
$err_msg .='</ol>';
|
| 239 |
+
wp_send_json_error( $err_msg );
|
| 240 |
+
}
|
| 241 |
+
$this->set_transient( 'eael_register_errors_' . $widget_id, $errors );
|
| 242 |
+
wp_safe_redirect( esc_url( $url ) );
|
| 243 |
+
exit();
|
| 244 |
+
}
|
| 245 |
+
|
| 246 |
+
/*------General Mail Related Stuff------*/
|
| 247 |
+
self::$email_options['username'] = $username;
|
| 248 |
+
self::$email_options['password'] = $password;
|
| 249 |
+
self::$email_options['email'] = $email;
|
| 250 |
+
self::$email_options['firstname'] = '';
|
| 251 |
+
self::$email_options['lastname'] = '';
|
| 252 |
+
self::$email_options['website'] = '';
|
| 253 |
+
self::$email_options['password_reset_link'] = '';
|
| 254 |
+
|
| 255 |
+
// handle registration...
|
| 256 |
+
$user_data = [
|
| 257 |
+
'user_login' => $username,
|
| 258 |
+
'user_pass' => $password,
|
| 259 |
+
'user_email' => $email,
|
| 260 |
+
];
|
| 261 |
+
|
| 262 |
+
if ( ! empty( $_POST['first_name'] ) ) {
|
| 263 |
+
$user_data['first_name'] = self::$email_options['firstname'] = sanitize_text_field( $_POST['first_name'] );
|
| 264 |
+
}
|
| 265 |
+
if ( ! empty( $_POST['last_name'] ) ) {
|
| 266 |
+
$user_data['last_name'] = self::$email_options['lastname'] = sanitize_text_field( $_POST['last_name'] );
|
| 267 |
+
}
|
| 268 |
+
if ( ! empty( $_POST['website'] ) ) {
|
| 269 |
+
$user_data['user_url'] = self::$email_options['website'] = esc_url_raw( $_POST['website'] );
|
| 270 |
+
}
|
| 271 |
+
$document = Plugin::$instance->documents->get( $page_id );
|
| 272 |
+
$register_actions = [];
|
| 273 |
+
$custom_redirect_url = '';
|
| 274 |
+
if ( $document ) {
|
| 275 |
+
$elements = Plugin::instance()->documents->get( $page_id )->get_elements_data();
|
| 276 |
+
$widget_data = $this->find_element_recursive( $elements, $widget_id );
|
| 277 |
+
$widget = Plugin::instance()->elements_manager->create_element_instance( $widget_data );
|
| 278 |
+
$settings = $widget->get_settings_for_display();
|
| 279 |
+
$register_actions = ! empty( $settings['register_action'] ) ? (array) $settings['register_action'] : [];
|
| 280 |
+
$custom_redirect_url = ! empty( $settings['register_redirect_url']['url'] ) ? $settings['register_redirect_url']['url'] : '/';
|
| 281 |
+
if ( ! empty( $settings['register_user_role'] ) ) {
|
| 282 |
+
$user_data['role'] = sanitize_text_field( $settings['register_user_role'] );
|
| 283 |
+
}
|
| 284 |
+
|
| 285 |
+
|
| 286 |
+
// set email related stuff
|
| 287 |
+
/*------User Mail Related Stuff------*/
|
| 288 |
+
if ( $is_pass_auto_generated || ( in_array( 'send_email', $register_actions ) && 'custom' === $settings['reg_email_template_type'] ) ) {
|
| 289 |
+
self::$send_custom_email = true;
|
| 290 |
+
}
|
| 291 |
+
if ( isset( $settings['reg_email_subject'] ) ) {
|
| 292 |
+
self::$email_options['subject'] = $settings['reg_email_subject'];
|
| 293 |
+
}
|
| 294 |
+
if ( isset( $settings['reg_email_message'] ) ) {
|
| 295 |
+
self::$email_options['message'] = $settings['reg_email_message'];
|
| 296 |
+
}
|
| 297 |
+
if ( isset( $settings['reg_email_content_type'] ) ) {
|
| 298 |
+
self::$email_options['headers'] = 'Content-Type: text/' . $settings['reg_email_content_type'] . '; charset=UTF-8' . "\r\n";
|
| 299 |
+
}
|
| 300 |
+
|
| 301 |
+
|
| 302 |
+
/*------Admin Mail Related Stuff------*/
|
| 303 |
+
self::$send_custom_email_admin = ( ! empty( $settings['reg_admin_email_template_type'] ) && 'custom' === $settings['reg_admin_email_template_type'] );
|
| 304 |
+
if ( isset( $settings['reg_admin_email_subject'] ) ) {
|
| 305 |
+
self::$email_options['admin_subject'] = $settings['reg_admin_email_subject'];
|
| 306 |
+
}
|
| 307 |
+
if ( isset( $settings['reg_admin_email_message'] ) ) {
|
| 308 |
+
self::$email_options['admin_message'] = $settings['reg_admin_email_message'];
|
| 309 |
+
}
|
| 310 |
+
if ( isset( $settings['reg_admin_email_content_type'] ) ) {
|
| 311 |
+
self::$email_options['admin_headers'] = 'Content-Type: text/' . $settings['reg_admin_email_content_type'] . '; charset=UTF-8' . "\r\n";
|
| 312 |
+
}
|
| 313 |
+
}
|
| 314 |
+
|
| 315 |
+
|
| 316 |
+
$user_data = apply_filters( 'eael/login-register/new-user-data', $user_data );
|
| 317 |
+
|
| 318 |
+
do_action( 'eael/login-register/before-insert-user', $user_data );
|
| 319 |
+
$user_id = wp_insert_user( $user_data );
|
| 320 |
+
do_action( 'eael/login-register/after-insert-user', $user_id, $user_data );
|
| 321 |
+
|
| 322 |
+
if ( is_wp_error( $user_id ) ) {
|
| 323 |
+
// error happened during user creation
|
| 324 |
+
$errors['user_create'] = __( 'Sorry, something went wrong. User could not be registered.', EAEL_TEXTDOMAIN );
|
| 325 |
+
if ( $ajax ) {
|
| 326 |
+
wp_send_json_error( $errors['user_create'] );
|
| 327 |
+
}
|
| 328 |
+
$this->set_transient( 'eael_register_errors_' . $widget_id, $errors );
|
| 329 |
+
wp_safe_redirect( esc_url( $url ) );
|
| 330 |
+
exit();
|
| 331 |
+
}
|
| 332 |
+
|
| 333 |
+
|
| 334 |
+
// generate password reset link for autogenerated password
|
| 335 |
+
if ( $is_pass_auto_generated ) {
|
| 336 |
+
update_user_option( $user_id, 'default_password_nag', true, true ); // Set up the password change nag.
|
| 337 |
+
$user = get_user_by( 'id', $user_id );
|
| 338 |
+
$key = get_password_reset_key( $user );
|
| 339 |
+
if ( ! is_wp_error( $key ) ) {
|
| 340 |
+
self::$email_options['password_reset_link'] = network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user->user_login ), 'login' ) . "\r\n\r\n";
|
| 341 |
+
}
|
| 342 |
+
}
|
| 343 |
+
|
| 344 |
+
$admin_or_both = $is_pass_auto_generated || in_array( 'send_email', $register_actions ) ? 'both' : 'admin';
|
| 345 |
+
|
| 346 |
+
|
| 347 |
+
/**
|
| 348 |
+
* Fires after a new user registration has been recorded.
|
| 349 |
+
*
|
| 350 |
+
* @param int $user_id ID of the newly registered user.
|
| 351 |
+
*
|
| 352 |
+
* @since 4.4.0
|
| 353 |
+
*/
|
| 354 |
+
remove_action( 'register_new_user', 'wp_send_new_user_notifications' );
|
| 355 |
+
do_action( 'register_new_user', $user_id );
|
| 356 |
+
|
| 357 |
+
wp_new_user_notification( $user_id, null, $admin_or_both );
|
| 358 |
+
|
| 359 |
+
// success & handle after registration action as defined by user in the widget
|
| 360 |
+
if (!$ajax){
|
| 361 |
+
$this->set_transient( 'eael_register_success_' . $widget_id, 1 );
|
| 362 |
+
}
|
| 363 |
+
|
| 364 |
+
|
| 365 |
+
// Handle after registration action
|
| 366 |
+
|
| 367 |
+
// should user be auto logged in?
|
| 368 |
+
if ( in_array( 'auto_login', $register_actions ) && ! is_user_logged_in() ) {
|
| 369 |
+
wp_signon( [
|
| 370 |
+
'user_login' => $username,
|
| 371 |
+
'user_password' => $password,
|
| 372 |
+
'remember' => true,
|
| 373 |
+
] );
|
| 374 |
+
|
| 375 |
+
|
| 376 |
+
if ( $ajax ) {
|
| 377 |
+
$data = [
|
| 378 |
+
'message' => __('Your registration completed successfully.', EAEL_TEXTDOMAIN)
|
| 379 |
+
];
|
| 380 |
+
|
| 381 |
+
if ( in_array( 'redirect', $register_actions ) ) {
|
| 382 |
+
$data['redirect_to'] = $custom_redirect_url;
|
| 383 |
+
}
|
| 384 |
+
wp_send_json_success($data);
|
| 385 |
+
}
|
| 386 |
+
|
| 387 |
+
// if custom redirect not available then refresh the current page to show admin bar
|
| 388 |
+
if ( ! in_array( 'redirect', $register_actions ) ) {
|
| 389 |
+
wp_safe_redirect( esc_url( $url ) );
|
| 390 |
+
exit();
|
| 391 |
+
}
|
| 392 |
+
}
|
| 393 |
+
|
| 394 |
+
// custom redirect?
|
| 395 |
+
if ( $ajax ) {
|
| 396 |
+
$data = [
|
| 397 |
+
'message' => __('Your registration completed successfully.', EAEL_TEXTDOMAIN)
|
| 398 |
+
];
|
| 399 |
+
|
| 400 |
+
if ( in_array( 'redirect', $register_actions ) ) {
|
| 401 |
+
$data['redirect_to'] = $custom_redirect_url;
|
| 402 |
+
}
|
| 403 |
+
wp_send_json_success($data);
|
| 404 |
+
}
|
| 405 |
+
|
| 406 |
+
if ( in_array( 'redirect', $register_actions ) ) {
|
| 407 |
+
wp_safe_redirect( $custom_redirect_url );
|
| 408 |
+
exit();
|
| 409 |
+
}
|
| 410 |
+
|
| 411 |
+
}
|
| 412 |
+
|
| 413 |
+
public function generate_username_from_email( $email, $suffix = '' ) {
|
| 414 |
+
|
| 415 |
+
$username_parts = [];
|
| 416 |
+
if ( empty( $username_parts ) ) {
|
| 417 |
+
$email_parts = explode( '@', $email );
|
| 418 |
+
$email_username = $email_parts[0];
|
| 419 |
+
|
| 420 |
+
// Exclude common prefixes.
|
| 421 |
+
if ( in_array( $email_username, [
|
| 422 |
+
'sales',
|
| 423 |
+
'hello',
|
| 424 |
+
'mail',
|
| 425 |
+
'contact',
|
| 426 |
+
'info',
|
| 427 |
+
], true ) ) {
|
| 428 |
+
// Get the domain part.
|
| 429 |
+
$email_username = $email_parts[1];
|
| 430 |
+
}
|
| 431 |
+
|
| 432 |
+
$username_parts[] = sanitize_user( $email_username, true );
|
| 433 |
+
}
|
| 434 |
+
$username = strtolower( implode( '', $username_parts ) );
|
| 435 |
+
|
| 436 |
+
if ( $suffix ) {
|
| 437 |
+
$username .= $suffix;
|
| 438 |
+
}
|
| 439 |
+
|
| 440 |
+
$username = sanitize_user( $username, true );
|
| 441 |
+
if ( username_exists( $username ) ) {
|
| 442 |
+
// Generate something unique to append to the username in case of a conflict with another user.
|
| 443 |
+
$suffix = '-' . zeroise( wp_rand( 0, 9999 ), 4 );
|
| 444 |
+
|
| 445 |
+
return $this->generate_username_from_email( $email, $suffix );
|
| 446 |
+
}
|
| 447 |
+
|
| 448 |
+
return $username;
|
| 449 |
+
}
|
| 450 |
+
|
| 451 |
+
/**
|
| 452 |
+
* Get Widget data.
|
| 453 |
+
*
|
| 454 |
+
* @param array $elements Element array.
|
| 455 |
+
* @param string $form_id Element ID.
|
| 456 |
+
*
|
| 457 |
+
* @return bool|array
|
| 458 |
+
*/
|
| 459 |
+
public function find_element_recursive( $elements, $form_id ) {
|
| 460 |
+
|
| 461 |
+
foreach ( $elements as $element ) {
|
| 462 |
+
if ( $form_id === $element['id'] ) {
|
| 463 |
+
return $element;
|
| 464 |
+
}
|
| 465 |
+
|
| 466 |
+
if ( ! empty( $element['elements'] ) ) {
|
| 467 |
+
$element = $this->find_element_recursive( $element['elements'], $form_id );
|
| 468 |
+
|
| 469 |
+
if ( $element ) {
|
| 470 |
+
return $element;
|
| 471 |
+
}
|
| 472 |
+
}
|
| 473 |
+
}
|
| 474 |
+
|
| 475 |
+
return false;
|
| 476 |
+
}
|
| 477 |
+
|
| 478 |
+
public function get_user_roles() {
|
| 479 |
+
$user_roles['default'] = __( 'Default', EAEL_TEXTDOMAIN );
|
| 480 |
+
if ( function_exists( 'get_editable_roles' ) ) {
|
| 481 |
+
$wp_roles = get_editable_roles();
|
| 482 |
+
$roles = $wp_roles ? $wp_roles : [];
|
| 483 |
+
if ( ! empty( $roles ) && is_array( $roles ) ) {
|
| 484 |
+
foreach ( $wp_roles as $role_key => $role ) {
|
| 485 |
+
$user_roles[ $role_key ] = $role['name'];
|
| 486 |
+
}
|
| 487 |
+
}
|
| 488 |
+
}
|
| 489 |
+
|
| 490 |
+
return apply_filters( 'eael/login-register/new-user-roles', $user_roles );
|
| 491 |
+
}
|
| 492 |
+
|
| 493 |
+
/**
|
| 494 |
+
* It store data temporarily
|
| 495 |
+
*
|
| 496 |
+
* @param $name
|
| 497 |
+
* @param $data
|
| 498 |
+
* @param int $time time in seconds. Default is 300s = 5 minutes
|
| 499 |
+
*
|
| 500 |
+
* @return bool it returns true if the data saved, otherwise, false returned.
|
| 501 |
+
*/
|
| 502 |
+
public function set_transient( $name, $data, $time = 300 ) {
|
| 503 |
+
$time = empty( $time ) ? (int) $time : ( 5 * MINUTE_IN_SECONDS );
|
| 504 |
+
|
| 505 |
+
return set_transient( $name, $data, time() + $time );
|
| 506 |
+
}
|
| 507 |
+
|
| 508 |
+
/**
|
| 509 |
+
* Filters the contents of the new user notification email sent to the new user.
|
| 510 |
+
*
|
| 511 |
+
* @param array $email_data It contains, to, subject, message, headers etc.
|
| 512 |
+
* @param \WP_User $user User object for new user.
|
| 513 |
+
* @param string $blogname The site title.
|
| 514 |
+
*
|
| 515 |
+
* @return array
|
| 516 |
+
* @since 4.9.0
|
| 517 |
+
*/
|
| 518 |
+
public function new_user_notification_email( $email_data, $user, $blogname ) {
|
| 519 |
+
if ( ! self::$send_custom_email ) {
|
| 520 |
+
return $email_data;
|
| 521 |
+
}
|
| 522 |
+
|
| 523 |
+
if ( ! empty( self::$email_options['subject'] ) ) {
|
| 524 |
+
$email_data['subject'] = self::$email_options['subject'];
|
| 525 |
+
}
|
| 526 |
+
|
| 527 |
+
if ( ! empty( self::$email_options['message'] ) ) {
|
| 528 |
+
$email_data['message'] = $this->replace_placeholders( self::$email_options['message'], 'user' );
|
| 529 |
+
}
|
| 530 |
+
|
| 531 |
+
if ( ! empty( self::$email_options['headers'] ) ) {
|
| 532 |
+
$email_data['headers'] = self::$email_options['headers'];
|
| 533 |
+
}
|
| 534 |
+
|
| 535 |
+
return apply_filters( 'eael/login-register/new-user-email-data', $email_data, $user, $blogname );
|
| 536 |
+
|
| 537 |
+
}
|
| 538 |
+
|
| 539 |
+
/**
|
| 540 |
+
* Filters the contents of the new user notification email sent to the site admin.
|
| 541 |
+
*
|
| 542 |
+
* @param array $email_data It contains, to, subject, message, headers etc.
|
| 543 |
+
* @param \WP_User $user User object for new user.
|
| 544 |
+
* @param string $blogname The site title.
|
| 545 |
+
*
|
| 546 |
+
* @return array
|
| 547 |
+
* @since 4.9.0
|
| 548 |
+
*/
|
| 549 |
+
public function new_user_notification_email_admin( $email_data, $user, $blogname ) {
|
| 550 |
+
|
| 551 |
+
if ( ! self::$send_custom_email_admin ) {
|
| 552 |
+
return $email_data;
|
| 553 |
+
}
|
| 554 |
+
|
| 555 |
+
if ( ! empty( self::$email_options['admin_subject'] ) ) {
|
| 556 |
+
$email_data['subject'] = self::$email_options['admin_subject'];
|
| 557 |
+
}
|
| 558 |
+
|
| 559 |
+
if ( ! empty( self::$email_options['admin_message'] ) ) {
|
| 560 |
+
$email_data['message'] = $this->replace_placeholders( self::$email_options['admin_message'], 'admin' );
|
| 561 |
+
}
|
| 562 |
+
|
| 563 |
+
if ( ! empty( self::$email_options['admin_headers'] ) ) {
|
| 564 |
+
$email_data['headers'] = self::$email_options['admin_headers'];
|
| 565 |
+
}
|
| 566 |
+
|
| 567 |
+
return apply_filters( 'eael/login-register/new-user-admin-email-data', $email_data, $user, $blogname );
|
| 568 |
+
}
|
| 569 |
+
|
| 570 |
+
/**
|
| 571 |
+
* It replaces placeholders with dynamic value and returns it.
|
| 572 |
+
*
|
| 573 |
+
* @param $message
|
| 574 |
+
* @param string $receiver
|
| 575 |
+
*
|
| 576 |
+
* @return null|string|string[]
|
| 577 |
+
*/
|
| 578 |
+
public function replace_placeholders( $message, $receiver = 'user' ) {
|
| 579 |
+
$placeholders = [
|
| 580 |
+
'/\[password\]/',
|
| 581 |
+
'/\[password_reset_link\]/',
|
| 582 |
+
'/\[username\]/',
|
| 583 |
+
'/\[email\]/',
|
| 584 |
+
'/\[firstname\]/',
|
| 585 |
+
'/\[lastname\]/',
|
| 586 |
+
'/\[website\]/',
|
| 587 |
+
'/\[loginurl\]/',
|
| 588 |
+
'/\[sitetitle\]/',
|
| 589 |
+
];
|
| 590 |
+
$replacement = [
|
| 591 |
+
self::$email_options['password'],
|
| 592 |
+
self::$email_options['password_reset_link'],
|
| 593 |
+
self::$email_options['username'],
|
| 594 |
+
self::$email_options['email'],
|
| 595 |
+
self::$email_options['firstname'],
|
| 596 |
+
self::$email_options['lastname'],
|
| 597 |
+
self::$email_options['website'],
|
| 598 |
+
wp_login_url(),
|
| 599 |
+
get_option( 'blogname' ),
|
| 600 |
+
];
|
| 601 |
+
|
| 602 |
+
if ( 'user' !== $receiver ) {
|
| 603 |
+
// remove password from admin mail, because admin should not see user's plain password
|
| 604 |
+
unset( $placeholders[0] );
|
| 605 |
+
unset( $placeholders[1] );
|
| 606 |
+
unset( $replacement[0] );
|
| 607 |
+
unset( $replacement[1] );
|
| 608 |
+
}
|
| 609 |
+
|
| 610 |
+
return preg_replace( $placeholders, $replacement, $message );
|
| 611 |
+
}
|
| 612 |
+
}
|
includes/Traits/Shared.php
CHANGED
|
@@ -17,7 +17,8 @@ trait Shared
|
|
| 17 |
{
|
| 18 |
if (is_ssl()) {
|
| 19 |
$url = wp_parse_url($url);
|
| 20 |
-
|
|
|
|
| 21 |
$url['scheme'] = 'https';
|
| 22 |
}
|
| 23 |
|
|
@@ -59,6 +60,7 @@ trait Shared
|
|
| 59 |
'section',
|
| 60 |
'popup',
|
| 61 |
];
|
|
|
|
| 62 |
return in_array($template_name, $template_list);
|
| 63 |
}
|
| 64 |
|
| 17 |
{
|
| 18 |
if (is_ssl()) {
|
| 19 |
$url = wp_parse_url($url);
|
| 20 |
+
|
| 21 |
+
if (!empty($url['host'])) {
|
| 22 |
$url['scheme'] = 'https';
|
| 23 |
}
|
| 24 |
|
| 60 |
'section',
|
| 61 |
'popup',
|
| 62 |
];
|
| 63 |
+
|
| 64 |
return in_array($template_name, $template_list);
|
| 65 |
}
|
| 66 |
|
includes/templates/admin/elements.php
CHANGED
|
@@ -403,7 +403,13 @@ $elements = [
|
|
| 403 |
'demo_link' => 'https://essential-addons.com/elementor/mailchimp/',
|
| 404 |
'doc_link' => 'https://essential-addons.com/elementor/docs/mailchimp/',
|
| 405 |
'is_pro' => true
|
| 406 |
-
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 407 |
]
|
| 408 |
],
|
| 409 |
'social-feed-elements' => [
|
|
@@ -548,24 +554,32 @@ $elements = apply_filters( 'add_eael_elementor_addons', $elements );
|
|
| 548 |
|
| 549 |
?>
|
| 550 |
</p>
|
| 551 |
-
|
|
|
|
| 552 |
<span class="ea-view-demo"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M 5 4 C 3.895 4 3 4.895 3 6 L 3 20 C 3 21.105 3.895 22 5 22 L 12.75 22 L 12.25 24 L 11 24 A 1.0001 1.0001 0 1 0 11 26 L 19 26 A 1.0001 1.0001 0 1 0 19 24 L 17.75 24 L 17.25 22 L 25 22 C 26.105 22 27 21.105 27 20 L 27 6 C 27 4.895 26.105 4 25 4 L 5 4 z M 5 6 L 25 6 L 25 18 L 5 18 L 5 6 z M 15 19 C 15.552 19 16 19.448 16 20 C 16 20.552 15.552 21 15 21 C 14.448 21 14 20.552 14 20 C 14 19.448 14.448 19 15 19 z"></path></svg></span>
|
| 553 |
-
<span class="eael-info-tooltip"><?php
|
| 554 |
</a>
|
| 555 |
-
|
|
|
|
|
|
|
| 556 |
<span class="ea-get-help"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M 12 2 C 6.4889971 2 2 6.4889971 2 12 C 2 17.511003 6.4889971 22 12 22 C 17.511003 22 22 17.511003 22 12 C 22 6.4889971 17.511003 2 12 2 z M 12 4 C 16.430123 4 20 7.5698774 20 12 C 20 16.430123 16.430123 20 12 20 C 7.5698774 20 4 16.430123 4 12 C 4 7.5698774 7.5698774 4 12 4 z M 12 6 C 9.79 6 8 7.79 8 10 L 10 10 C 10 8.9 10.9 8 12 8 C 13.1 8 14 8.9 14 10 C 14 12 11 12.367 11 15 L 13 15 C 13 13.349 16 12.5 16 10 C 16 7.79 14.21 6 12 6 z M 11 16 L 11 18 L 13 18 L 13 16 L 11 16 z"></path></svg></span>
|
| 557 |
-
<span class="eael-info-tooltip"><?php
|
| 558 |
</a>
|
|
|
|
| 559 |
</div>
|
| 560 |
-
<input type="checkbox" id="<?php echo esc_attr($item['key']); ?>" name="<?php echo esc_attr($item['key']); ?>" <?php echo $status; ?>>
|
| 561 |
-
<label for="<?php echo esc_attr($item['key']); ?>" class="<?php echo $label_class; ?>"></label>
|
| 562 |
</div>
|
| 563 |
<?php } ?>
|
| 564 |
</div>
|
| 565 |
<?php endforeach; ?>
|
| 566 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 567 |
<div class="eael-save-btn-wrap">
|
| 568 |
-
<button type="submit" class="button eael-btn js-eael-settings-save"><?php
|
| 569 |
</div>
|
| 570 |
</div>
|
| 571 |
</div>
|
| 403 |
'demo_link' => 'https://essential-addons.com/elementor/mailchimp/',
|
| 404 |
'doc_link' => 'https://essential-addons.com/elementor/docs/mailchimp/',
|
| 405 |
'is_pro' => true
|
| 406 |
+
],
|
| 407 |
+
[
|
| 408 |
+
'key' => 'login-register',
|
| 409 |
+
'title' => __( 'Login Register Form', 'essential-addons-elementor' ),
|
| 410 |
+
'demo_link' => 'https://essential-addons.com/elementor/login-register-form',
|
| 411 |
+
'doc_link' => 'https://essential-addons.com/elementor/docs/login-register-form/',
|
| 412 |
+
],
|
| 413 |
]
|
| 414 |
],
|
| 415 |
'social-feed-elements' => [
|
| 554 |
|
| 555 |
?>
|
| 556 |
</p>
|
| 557 |
+
<?php if (!empty( $item['demo_link'])) { ?>
|
| 558 |
+
<a class="eael-element-info-link" href="<?php echo esc_attr( esc_url( $item['demo_link'] ) );?>" target="_blank">
|
| 559 |
<span class="ea-view-demo"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M 5 4 C 3.895 4 3 4.895 3 6 L 3 20 C 3 21.105 3.895 22 5 22 L 12.75 22 L 12.25 24 L 11 24 A 1.0001 1.0001 0 1 0 11 26 L 19 26 A 1.0001 1.0001 0 1 0 19 24 L 17.75 24 L 17.25 22 L 25 22 C 26.105 22 27 21.105 27 20 L 27 6 C 27 4.895 26.105 4 25 4 L 5 4 z M 5 6 L 25 6 L 25 18 L 5 18 L 5 6 z M 15 19 C 15.552 19 16 19.448 16 20 C 16 20.552 15.552 21 15 21 C 14.448 21 14 20.552 14 20 C 14 19.448 14.448 19 15 19 z"></path></svg></span>
|
| 560 |
+
<span class="eael-info-tooltip"><?php esc_html_e('Demo', 'essential-addons-elementor'); ?></span>
|
| 561 |
</a>
|
| 562 |
+
<?php } ?>
|
| 563 |
+
<?php if (!empty( $item['doc_link'])) { ?>
|
| 564 |
+
<a class="eael-element-info-link" href="<?php echo esc_attr( esc_url( $item['doc_link'] ) );?>" target="_blank">
|
| 565 |
<span class="ea-get-help"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M 12 2 C 6.4889971 2 2 6.4889971 2 12 C 2 17.511003 6.4889971 22 12 22 C 17.511003 22 22 17.511003 22 12 C 22 6.4889971 17.511003 2 12 2 z M 12 4 C 16.430123 4 20 7.5698774 20 12 C 20 16.430123 16.430123 20 12 20 C 7.5698774 20 4 16.430123 4 12 C 4 7.5698774 7.5698774 4 12 4 z M 12 6 C 9.79 6 8 7.79 8 10 L 10 10 C 10 8.9 10.9 8 12 8 C 13.1 8 14 8.9 14 10 C 14 12 11 12.367 11 15 L 13 15 C 13 13.349 16 12.5 16 10 C 16 7.79 14.21 6 12 6 z M 11 16 L 11 18 L 13 18 L 13 16 L 11 16 z"></path></svg></span>
|
| 566 |
+
<span class="eael-info-tooltip"><?php esc_html_e('Documentation', 'essential-addons-elementor'); ?></span>
|
| 567 |
</a>
|
| 568 |
+
<?php } ?>
|
| 569 |
</div>
|
| 570 |
+
<input type="checkbox" id="<?php echo esc_attr($item['key']); ?>" name="<?php echo esc_attr($item['key']); ?>" <?php echo esc_html( $status ); ?>>
|
| 571 |
+
<label for="<?php echo esc_attr($item['key']); ?>" class="<?php echo esc_attr( $label_class ); ?>"></label>
|
| 572 |
</div>
|
| 573 |
<?php } ?>
|
| 574 |
</div>
|
| 575 |
<?php endforeach; ?>
|
| 576 |
|
| 577 |
+
<!-- hidden input -->
|
| 578 |
+
<input type="hidden" name="embedpress" value="on">
|
| 579 |
+
<input type="hidden" name="woocommerce-review" value="on">
|
| 580 |
+
|
| 581 |
<div class="eael-save-btn-wrap">
|
| 582 |
+
<button type="submit" class="button eael-btn js-eael-settings-save"><?php esc_html_e('Save settings', 'essential-addons-for-elementor-lite'); ?></button>
|
| 583 |
</div>
|
| 584 |
</div>
|
| 585 |
</div>
|
readme.txt
CHANGED
|
@@ -2,9 +2,9 @@
|
|
| 2 |
Contributors: wpdevteam, Codetic, re_enter_rupok, Asif2BD, priyomukul, mahfuz01, nazsabuz, manzurahammed
|
| 3 |
Tags: elementor, elements, addons, elementor addon, elementor widget, elementor form, woocommerce elementor, page builder, builder, visual editor, wordpress page builder
|
| 4 |
Requires at least: 4.0
|
| 5 |
-
Tested up to: 5.
|
| 6 |
Requires PHP: 5.4
|
| 7 |
-
Stable tag: 4.
|
| 8 |
License: GPLv3
|
| 9 |
License URI: https://opensource.org/licenses/GPL-3.0
|
| 10 |
|
|
@@ -224,6 +224,13 @@ Your existing elements/content will work with premium version. So you won't lose
|
|
| 224 |
|
| 225 |
== Changelog ==
|
| 226 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 227 |
= 4.1.2 - 30/07/2020 =
|
| 228 |
- Fixed: EA Twitter Feed | Content length issue
|
| 229 |
- Fixed: EA Woo Checkout Coupons showing despite disabling from Woo Settings
|
| 2 |
Contributors: wpdevteam, Codetic, re_enter_rupok, Asif2BD, priyomukul, mahfuz01, nazsabuz, manzurahammed
|
| 3 |
Tags: elementor, elements, addons, elementor addon, elementor widget, elementor form, woocommerce elementor, page builder, builder, visual editor, wordpress page builder
|
| 4 |
Requires at least: 4.0
|
| 5 |
+
Tested up to: 5.5
|
| 6 |
Requires PHP: 5.4
|
| 7 |
+
Stable tag: 4.2.0
|
| 8 |
License: GPLv3
|
| 9 |
License URI: https://opensource.org/licenses/GPL-3.0
|
| 10 |
|
| 224 |
|
| 225 |
== Changelog ==
|
| 226 |
|
| 227 |
+
= 4.2.0 - 06/08/2020 =
|
| 228 |
+
- Added: EA Login | Register Widget
|
| 229 |
+
- Removed: Upsell Notices
|
| 230 |
+
- Added: Compatibility with WooCommerce 4.3.1
|
| 231 |
+
- Fixed: SSL Issue
|
| 232 |
+
- Few minor bugfix and improvements
|
| 233 |
+
|
| 234 |
= 4.1.2 - 30/07/2020 =
|
| 235 |
- Fixed: EA Twitter Feed | Content length issue
|
| 236 |
- Fixed: EA Woo Checkout Coupons showing despite disabling from Woo Settings
|
