Version Description
- Fixed: Issues after v4.0.0
Download this release
Release Info
Developer | leap13 |
Plugin | Premium Addons for Elementor |
Version | 4.0.3 |
Comparing to | |
See all releases |
Code changes from version 4.0.1 to 4.0.3
- admin/assets/fonts/pa-dashboard.eot +0 -0
- admin/assets/fonts/pa-dashboard.svg +90 -0
- admin/assets/fonts/pa-dashboard.ttf +0 -0
- admin/assets/fonts/pa-dashboard.woff +0 -0
- admin/assets/fonts/pa-icon.eot +0 -0
- admin/assets/fonts/pa-icon.svg +0 -11
- admin/assets/fonts/pa-icon.ttf +0 -0
- admin/assets/fonts/pa-icon.woff +0 -0
- admin/images/lock.svg +1 -0
- admin/images/pa-logo-symbol.png +0 -0
- admin/images/papro-banner.png +0 -0
- admin/images/papro-notice-logo.png +0 -0
- admin/images/popup-pattern.jpg +0 -0
- admin/images/premium-addons-black-friday.png +0 -0
- admin/images/premium-blocks-logo.png +0 -0
- admin/includes/admin-helper.php +748 -0
- admin/includes/dep/info.php +0 -129
- admin/includes/{dep/admin-helper.php → duplicator.php} +37 -117
- admin/includes/elements.php +878 -0
- admin/includes/papro-actions.php +0 -69
- admin/includes/plugin-info.php +0 -90
- admin/includes/reports.php +0 -63
- admin/includes/templates/features.php +70 -0
- admin/includes/templates/general.php +31 -0
- admin/includes/templates/info.php +199 -0
- admin/includes/templates/integrations.php +100 -0
- admin/includes/templates/modules-settings.php +131 -0
- admin/includes/templates/version-control.php +61 -0
- admin/includes/templates/white-label.php +182 -0
- admin/includes/version-control.php +0 -142
- admin/settings/maps.php +0 -182
- admin/settings/modules-setting.php +0 -820
- assets/editor/js/premium-cross-cp.js +93 -0
- assets/editor/js/xdlocalstorage.js +94 -0
- assets/frontend/js/premium-woocommerce.js +438 -0
- assets/frontend/min-js/premium-woocommerce.min.js +1 -0
- base/module-base.php +113 -0
- includes/{class-addons-category.php → addons-category.php} +12 -19
- includes/addons-cross-cp.php +148 -0
- includes/{class-addons-integration.php → addons-integration.php} +118 -79
- includes/{class-beta-testers.php → beta-testers.php} +10 -17
- includes/class-pa-core.php +225 -0
- includes/compatibility/{class-premium-addons-wpml.php → premium-addons-wpml.php} +2 -19
- includes/{class-helper-functions.php → helper-functions.php} +96 -72
- includes/modules-manager.php +93 -0
- includes/plugin.php +0 -56
- premium-addons-for-elementor.php +2 -2
- readme.txt +5 -1
- widgets/dep/urlopen.php +255 -0
- widgets/premium-icon-list.php +2211 -0
admin/assets/fonts/pa-dashboard.eot
ADDED
Binary file
|
admin/assets/fonts/pa-dashboard.svg
ADDED
@@ -0,0 +1,90 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?xml version="1.0" standalone="no"?>
|
2 |
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
3 |
+
<svg xmlns="http://www.w3.org/2000/svg">
|
4 |
+
<metadata>Generated by IcoMoon</metadata>
|
5 |
+
<defs>
|
6 |
+
<font id="pa-dashboard" horiz-adv-x="1024">
|
7 |
+
<font-face units-per-em="1024" ascent="960" descent="-64" />
|
8 |
+
<missing-glyph horiz-adv-x="1024" />
|
9 |
+
<glyph unicode=" " horiz-adv-x="512" d="" />
|
10 |
+
<glyph unicode="" glyph-name="general-tab" horiz-adv-x="1055" d="M975.547 684.151l-337.256 239.869c-30.838 21.74-69.19 34.746-110.58 34.746s-79.742-13.006-111.192-35.155l0.613 0.409-337.495-239.869c-48.303-35.139-79.404-91.391-79.636-154.918v-402.777c0.809-104.859 85.597-189.647 190.379-190.455h134.883c67.96 0 123.053 55.093 123.053 123.053v0 214.443h158.793v-214.443c0-67.96 55.093-123.053 123.053-123.053v0h134.806c104.859 0.809 189.647 85.597 190.455 190.379v402.817c0 0.004 0 0.008 0 0.012 0 63.667-31.28 120.029-79.309 154.555l-0.567 0.388zM595.115 384.315h-134.806c0 0 0 0 0 0-67.876 0-122.916-54.956-123.052-122.8v-214.456h-146.8c0 0 0 0 0 0-43.898 0-79.5 35.518-79.636 79.384v402.753c0.012 26.6 13.062 50.149 33.107 64.603l0.235 0.161 337.495 239.869c12.826 9.108 28.804 14.56 46.055 14.56s33.229-5.452 46.303-14.728l-0.249 0.167 337.495-239.869c20.28-14.616 33.33-38.165 33.342-64.763v-402.742c-0.136-43.879-35.738-79.397-79.636-79.397 0 0 0 0 0 0h-146.8v214.443c-0.137 67.857-55.177 122.813-123.052 122.813 0 0 0 0 0 0v0z" />
|
11 |
+
<glyph unicode="" glyph-name="integrations" horiz-adv-x="829" d="M416.050-63.77v0c-40.321 0.003-75.437 22.283-93.712 55.202l-0.279 0.548c-33.239 62.133-65.92 114.4-101.637 164.348l3.038-4.471c-17.508 23.037-38.933 48.608-61.739 74.64-75.331 86.159-161.26 184.297-161.26 318.834 0 229.015 185.653 414.668 414.668 414.668v0c1.308 0.015 2.853 0.024 4.401 0.024 226.598 0 410.291-183.694 410.291-410.291 0-1.547-0.009-3.093-0.026-4.636l0.002 0.236c0-138.223-84.085-235.209-158.495-322.52-21.655-25.11-41.928-48.608-58.975-71.876-32.614-45.263-66.374-97.927-97.386-152.361l-4.668-8.899c-18.936-32.191-53.406-53.455-92.842-53.455-0.485 0-0.969 0.003-1.453 0.010l0.073-0.001zM414.668 856.333c-171.708-0.131-310.87-139.293-311.001-310.988v-0.013c0-95.834 69.111-174.621 135.228-250.644 24.189-27.875 47.226-53.907 67.268-81.551 35.59-49.137 70.727-105.336 102.067-163.874l3.903-7.983c40.664 66.893 79.040 122.957 120.030 176.927l-3.692-5.070c19.351 26.493 41.928 52.755 63.813 78.326 65.656 76.022 133.385 154.809 133.385 253.869 0.011 0.964 0.017 2.102 0.017 3.242 0 169.98-137.796 307.776-307.776 307.776-1.14 0-2.279-0.006-3.416-0.019l0.173 0.001zM414.668 390.522c-85.881 0-155.501 69.62-155.501 155.501s69.62 155.501 155.501 155.501c85.881 0 155.501-69.62 155.501-155.501v0c-0.131-85.828-69.673-155.37-155.488-155.501h-0.013zM414.668 597.856c-28.627 0-51.834-23.207-51.834-51.834s23.207-51.834 51.834-51.834c28.627 0 51.834 23.207 51.834 51.834v0c0 28.627-23.207 51.834-51.834 51.834v0z" />
|
12 |
+
<glyph unicode="" glyph-name="system-info" d="M968.034 904.489c-34.44 34.345-81.968 55.58-134.455 55.58s-100.015-21.236-134.46-55.585l0.004 0.004-599.703-599.021c-9.133-9.341-16.281-20.665-20.734-33.261l-0.196-0.637-74.167-222.955c-2.852-8.142-4.499-17.529-4.499-27.301 0-46.992 38.095-85.087 85.087-85.087 0.062 0 0.124 0 0.186 0h-0.010c0.229-0.002 0.499-0.004 0.769-0.004 9.414 0 18.458 1.584 26.881 4.5l-0.577-0.174 223.182 74.849c13.107 4.117 24.286 11.183 33.191 20.45l0.025 0.026 501.649 500.511s1.593 1.82 2.73 2.275l94.87 94.87c35.082 34.525 56.819 82.52 56.819 135.591 0 52.959-21.645 100.863-56.572 135.347l-0.020 0.020zM294.391 118.232l-168.809-56.876 56.421 170.629 460.698 459.788 112.387-113.752zM890 713.385l-56.421-55.966-112.387 112.387 55.966 56.649c14.556 14.556 34.665 23.559 56.876 23.559 44.423 0 80.435-36.012 80.435-80.435 0-22.212-9.003-42.32-23.559-56.876v0z" />
|
13 |
+
<glyph unicode="" glyph-name="version-control" horiz-adv-x="1005" d="M502.618 258.122c-104.867 0-189.878 85.011-189.878 189.878s85.011 189.878 189.878 189.878c104.867 0 189.878-85.011 189.878-189.878v0c-0.127-104.816-85.062-189.751-189.866-189.878h-0.012zM502.618 526.185c-43.797 0-79.302-35.505-79.302-79.302s35.505-79.302 79.302-79.302c43.797 0 79.302 35.505 79.302 79.302v0c-0.127 43.746-35.556 79.175-79.29 79.302h-0.012zM587.951-64h-170.89c-0.002 0-0.003 0-0.005 0-67.092 0-121.555 54.072-122.186 121.015v0.060c0.008 0.153 0.013 0.331 0.013 0.511 0 3.661-1.957 6.865-4.882 8.623l-0.045 0.025-11.393 6.702c-1.46 0.77-3.19 1.222-5.026 1.222s-3.567-0.452-5.086-1.251l0.060 0.029c-17.556-10.279-38.658-16.349-61.178-16.349-11.13 0-21.913 1.483-32.163 4.261l0.859-0.198c-31.923 8.658-58.032 29.161-73.853 56.384l-0.311 0.58-85.333 148.328c-10.277 17.496-16.347 38.537-16.347 60.995 0 44.924 24.287 84.175 60.448 105.339l0.576 0.312c3.946 2.044 6.615 6.062 6.701 10.711v9.171c0.001 0.066 0.002 0.144 0.002 0.222 0 4.223-2.211 7.929-5.538 10.025l-0.049 0.029c-36.9 21.437-61.316 60.777-61.316 105.819 0 22.662 6.181 43.881 16.948 62.063l-0.31-0.565 85.333 147.881c21.593 36.709 60.9 60.958 105.87 60.958 22.451 0 43.491-6.044 61.581-16.594l-0.582 0.313c1.488-0.953 3.302-1.519 5.25-1.519s3.762 0.566 5.289 1.543l-0.039-0.024 10.052 5.585c3.228 1.832 5.371 5.247 5.371 9.161 0 0.156-0.003 0.312-0.010 0.466l0.001-0.022c0.127 67.434 54.758 122.065 122.18 122.192h170.902c67.434-0.127 122.065-54.758 122.192-122.18v-0.012c-0.007-0.145-0.011-0.314-0.011-0.485 0-3.733 1.948-7.011 4.883-8.872l0.043-0.025 9.159-5.138c1.932-1.426 4.36-2.282 6.988-2.282 1.672 0 3.263 0.346 4.705 0.972l-0.077-0.030c17.482 10.227 38.492 16.265 60.913 16.265 44.927 0 84.192-24.247 105.421-60.369l0.312-0.574 85.557-147.658c10.246-17.534 16.296-38.603 16.296-61.085 0-45.013-24.251-84.363-60.401-105.695l-0.572-0.312c-4.097-1.855-6.939-5.822-7.147-10.473l-0.001-0.026v-9.159c0-0.036-0.001-0.079-0.001-0.122 0-4.24 2.316-7.939 5.753-9.901l0.056-0.029h1.34c36.655-21.605 60.861-60.883 60.861-105.814 0-22.383-6.008-43.364-16.498-61.417l0.314 0.585-85.557-147.881c-21.541-36.695-60.805-60.942-105.733-60.942-22.421 0-43.431 6.039-61.493 16.578l0.58-0.313c-1.58 0.882-3.466 1.401-5.473 1.401s-3.893-0.519-5.531-1.43l0.058 0.030-10.276-6.031c-3.224-1.833-5.364-5.246-5.364-9.157 0-0.079 0.001-0.158 0.003-0.236v0.012c-0.127-67.434-54.758-122.065-122.18-122.192h-0.012zM275.211 185.522c0.087 0 0.191 0 0.294 0 22.734 0 43.993-6.312 62.121-17.279l-0.537 0.302 8.265-4.914c36.321-21.243 60.332-60.056 60.332-104.477 0-0.73-0.006-1.459-0.019-2.187l0.002 0.109c0-6.292 5.101-11.393 11.393-11.393v0h170.89c6.292 0 11.393 5.101 11.393 11.393v0c-0.001 0.148-0.001 0.323-0.001 0.497 0 45.174 24.786 84.559 61.499 105.298l0.603 0.313 7.148 4.244c17.627 10.474 38.862 16.665 61.543 16.665s43.916-6.191 62.107-16.975l-0.564 0.31c1.689-1.013 3.726-1.612 5.904-1.612 4.206 0 7.889 2.235 9.928 5.582l0.029 0.051 86.003 149.668c1.003 1.663 1.597 3.67 1.597 5.817 0 4.163-2.232 7.804-5.565 9.792l-0.052 0.029c-37.522 21.643-62.49 61.35-62.994 106.93l-0.001 0.071v8.712c0 0.114-0.001 0.25-0.001 0.386 0 44.871 24.275 84.072 60.408 105.188l0.577 0.311c3.88 2.341 6.434 6.533 6.434 11.323 0 1.882-0.395 3.673-1.106 5.293l0.033-0.085-85.333 147.658c-2.070 3.385-5.747 5.61-9.943 5.61-1.827 0-3.555-0.422-5.093-1.173l0.069 0.030c-17.48-10.37-38.533-16.499-61.017-16.499-22.64 0-43.828 6.214-61.952 17.029l0.554-0.306-7.818 4.468c-37.331 21.218-62.101 60.718-62.101 106.004 0 0.037 0 0.074 0 0.11v-0.006c0.001 0.066 0.002 0.145 0.002 0.223 0 6.292-5.101 11.393-11.393 11.393-0.001 0-0.002 0-0.002 0h-171.783c-6.292 0-11.393-5.101-11.393-11.393v0c0-0.039 0-0.086 0-0.133 0-45.105-24.574-84.47-61.063-105.439l-0.591-0.313-5.585-3.127c-18.295-11.547-40.556-18.399-64.417-18.399-22.33 0-43.258 6.001-61.26 16.477l0.582-0.313c-1.663 1.003-3.67 1.597-5.817 1.597-4.163 0-7.804-2.232-9.792-5.565l-0.029-0.052-86.003-148.105c-0.954-1.649-1.516-3.628-1.516-5.738 0-4.166 2.193-7.82 5.488-9.87l0.049-0.029c37.778-21.271 62.899-61.080 62.995-106.765v-8.726c0 0 0-0.001 0-0.001 0-44.927-24.158-84.212-60.193-105.572l-0.568-0.311c-4.037-1.944-6.773-6.003-6.773-10.701 0-2.054 0.523-3.985 1.443-5.668l-0.031 0.062 85.333-147.881c2.43-3.214 6.246-5.269 10.542-5.269 1.839 0 3.591 0.377 5.181 1.057l-0.086-0.033c17.421 10.252 38.377 16.307 60.747 16.307 0.005 0 0.010 0 0.015 0h-0.001z" />
|
14 |
+
<glyph unicode="" glyph-name="white-label" horiz-adv-x="901" d="M120.783-64c-18.709 0.031-36.417 4.286-52.231 11.863l0.731-0.315c-41.244 19.404-69.284 60.613-69.284 108.372 0 0.223 0.001 0.445 0.002 0.668v-0.034 717.077c0.131 102.877 83.494 186.24 186.358 186.371h527.947c102.877-0.131 186.24-83.494 186.371-186.358v-717.089c0.001-0.188 0.002-0.411 0.002-0.633 0-47.759-28.040-88.968-68.556-108.063l-0.728-0.309c-15.089-7.219-32.789-11.468-51.473-11.547h-0.027c-0.037 0-0.080 0-0.124 0-29.357 0-56.225 10.657-76.947 28.314l0.167-0.138-202.999 169.050c-13.286 11.346-30.663 18.249-49.653 18.249s-36.367-6.903-49.759-18.337l-203.123-169.193c-20.622-17.28-47.405-27.817-76.645-27.944h-0.028zM450.338 259.32c0.029 0 0.064 0 0.098 0 45.519 0 87.226-16.318 119.591-43.424l-0.291 0.238 222.167-184.754v742.25c-0.131 42.756-34.822 77.366-77.596 77.366 0 0 0 0 0 0h-527.935c0 0 0 0 0 0-42.774 0-77.465-34.61-77.596-77.353v-741.801l222.167 184.754c32.083 26.986 73.799 43.449 119.355 43.648h0.043z" />
|
15 |
+
<glyph unicode="" glyph-name="widgets-and-addons" d="M282.396 511.943h-116.736c-91.492 0-165.66 74.169-165.66 165.66v0 116.736c0 91.492 74.169 165.66 165.66 165.66v0h116.736c91.492 0 165.66-74.169 165.66-165.66v0-116.736c0-91.492-74.169-165.66-165.66-165.66v0zM165.66 832.114c-20.862 0-37.774-16.912-37.774-37.774v0-116.736c0 0 0 0 0-0.001 0-20.736 16.81-37.547 37.547-37.547 0.080 0 0.16 0 0.24 0.001h116.724c20.736 0 37.547 16.81 37.547 37.547v116.736c0 0.068 0.001 0.148 0.001 0.228 0 20.736-16.81 37.547-37.547 37.547 0 0-0.001 0-0.001 0v0zM858.34 511.943h-116.736c-91.492 0-165.66 74.169-165.66 165.66v0 116.736c0 91.492 74.169 165.66 165.66 165.66v0h116.736c91.492 0 165.66-74.169 165.66-165.66v0-116.736c0-91.492-74.169-165.66-165.66-165.66v0zM741.604 832.114c0 0 0 0-0.001 0-20.736 0-37.547-16.81-37.547-37.547 0-0.080 0-0.16 0.001-0.24v0.012-116.736c0-20.736 16.81-37.547 37.547-37.547v0h116.736c0.068 0 0.148-0.001 0.228-0.001 20.736 0 37.547 16.81 37.547 37.547 0 0 0 0.001 0 0.001v0 116.736c0 20.862-16.912 37.774-37.774 37.774v0zM282.396-64h-116.736c-91.492 0-165.66 74.169-165.66 165.66v0 116.736c0 91.492 74.169 165.66 165.66 165.66v0h116.736c91.492 0 165.66-74.169 165.66-165.66v0-116.736c0-91.492-74.169-165.66-165.66-165.66v0zM165.66 255.943c-0.068 0-0.148 0.001-0.228 0.001-20.736 0-37.547-16.81-37.547-37.547 0 0 0-0.001 0-0.001v0-116.736c0-20.862 16.912-37.774 37.774-37.774v0h116.736c0 0 0 0 0.001 0 20.736 0 37.547 16.81 37.547 37.547 0 0.080 0 0.16-0.001 0.24v-0.012 116.736c0 20.736-16.81 37.547-37.547 37.547v0zM858.34-64h-116.736c-91.492 0-165.66 74.169-165.66 165.66v0 116.736c0 91.492 74.169 165.66 165.66 165.66v0h116.736c91.492 0 165.66-74.169 165.66-165.66v0-116.736c0-91.492-74.169-165.66-165.66-165.66v0zM741.604 255.943c-20.736 0-37.547-16.81-37.547-37.547v0-116.736c0-0.068-0.001-0.148-0.001-0.228 0-20.736 16.81-37.547 37.547-37.547 0 0 0.001 0 0.001 0h116.736c20.862 0 37.774 16.912 37.774 37.774v0 116.736c0 0 0 0 0 0.001 0 20.736-16.81 37.547-37.547 37.547-0.080 0-0.16 0-0.24-0.001h0.012z" />
|
16 |
+
<glyph unicode="" glyph-name="all-widgets" d="M139.947 345.6h129.707c77.29 0 139.947-62.656 139.947-139.947v-129.707c0-77.29-62.656-139.947-139.947-139.947h-129.707c-77.29 0-139.947 62.656-139.947 139.947v129.707c0 77.29 62.656 139.947 139.947 139.947zM752.754 345.6h132.892c76.411 0 138.354-61.943 138.354-138.354v-132.892c0-76.411-61.943-138.354-138.354-138.354h-132.892c-76.411 0-138.354 61.943-138.354 138.354v132.892c0 76.411 61.943 138.354 138.354 138.354zM754.574 960h129.252c77.416 0 140.174-62.758 140.174-140.174v-129.252c0-77.416-62.758-140.174-140.174-140.174h-129.252c-77.416 0-140.174 62.758-140.174 140.174v129.252c0 77.416 62.758 140.174 140.174 140.174zM139.719 960h130.162c77.165 0 139.719-62.554 139.719-139.719v-130.162c0-77.165-62.554-139.719-139.719-139.719h-130.162c-77.165 0-139.719 62.554-139.719 139.719v130.162c0 77.165 62.554 139.719 139.719 139.719z" />
|
17 |
+
<glyph unicode="" glyph-name="blurbs-and-cta-widgets" d="M409.6 140.8h409.6c113.108 0 204.8 91.692 204.8 204.8v0 409.6c0 113.108-91.692 204.8-204.8 204.8v0h-409.6c-113.108 0-204.8-91.692-204.8-204.8v0-407.78c0.129-114.061 92.559-206.491 206.608-206.62h0.012zM256 38.4c-84.831 0-153.6 68.769-153.6 153.6v0 381.156c0 28.277-22.923 51.2-51.2 51.2s-51.2-22.923-51.2-51.2v0-381.156c0-141.385 114.615-256 256-256v0h381.156c28.277 0 51.2 22.923 51.2 51.2s-22.923 51.2-51.2 51.2v0z" />
|
18 |
+
<glyph unicode="" glyph-name="message" horiz-adv-x="1138" d="M849.794 960c0.15 0 0.328 0 0.506 0 158.592 0 287.19-128.421 287.478-286.946v-449.829c-0.288-158.692-128.999-287.226-287.731-287.226-0.089 0-0.178 0-0.267 0h-562.048c0 0 0 0 0 0-158.732 0-287.443 128.534-287.731 287.198v449.577c0.144 158.573 128.653 287.082 287.212 287.226h562.581zM940.31 587.062l4.551 4.551c6.487 7.616 10.432 17.57 10.432 28.444s-3.946 20.828-10.484 28.506l0.052-0.062c-7.873 8.067-18.53 13.386-30.415 14.4l-0.179 0.012c-0.733 0.044-1.591 0.069-2.454 0.069-11.353 0-21.69-4.35-29.435-11.475l0.031 0.028-256.632-203.536c-15.32-12.745-35.201-20.48-56.889-20.48s-41.568 7.735-57.034 20.597l0.145-0.117-256.126 204.8c-7.107 5.263-16.047 8.425-25.725 8.425-24.018 0-43.488-19.47-43.488-43.488 0-9.742 3.203-18.736 8.614-25.985l-0.082 0.115 7.080-7.332 258.908-202.272c30.223-24.098 68.972-38.667 111.123-38.667s80.9 14.569 111.485 38.945l-0.362-0.279z" />
|
19 |
+
<glyph unicode="" glyph-name="content-widgets" d="M769.138 960h-513.138c-0.068 0-0.148 0-0.228 0-141.179 0-255.643-114.383-255.772-255.532v-512.468c0-141.385 114.615-256 256-256v0h512c0.068 0 0.148 0 0.228 0 141.179 0 255.643 114.383 255.772 255.532v512.468c0.001 0.203 0.001 0.443 0.001 0.683 0 140.848-114.051 255.058-254.838 255.317h-0.025zM245.76 722.432h250.311c19.929-1.583 35.501-18.144 35.501-38.343s-15.572-36.761-35.366-38.335l-0.134-0.009h-250.311c-19.929 1.583-35.501 18.144-35.501 38.343s15.572 36.761 35.366 38.335l0.134 0.009zM245.76 486.457h348.615c21.239 0 38.457-17.218 38.457-38.457s-17.218-38.457-38.457-38.457h-347.705c-21.239 0-38.457 17.218-38.457 38.457s17.218 38.457 38.457 38.457v0zM776.647 173.113h-529.977c-19.929 1.583-35.501 18.144-35.501 38.343s15.572 36.761 35.366 38.335l0.134 0.009h529.977c0.885 0.072 1.916 0.114 2.956 0.114 21.239 0 38.457-17.218 38.457-38.457s-17.218-38.457-38.457-38.457c-1.040 0-2.071 0.041-3.091 0.122l0.134-0.009z" />
|
20 |
+
<glyph unicode="" glyph-name="image-widgets" d="M887.467-41.244v2.276c-32.732-15.692-71.14-24.909-111.688-25.031h-519.779c-141.385 0-256 114.615-256 256v0 88.292c1.221 0.551 2.271 1.238 3.199 2.059l-0.013-0.011c104.903 87.381 217.543 131.527 333.596 131.527v0c239.844 0 465.806-186.368 550.684-452.38zM773.689 960h-517.689c-141.385 0-256-114.615-256-256v0-337.92c91.377 70.78 207.13 114.129 332.93 116.048l0.439 0.005c9.33 0 19.115 0 28.217 0 104.071-6.788 199.035-40.671 279.433-94.588l-2.043 1.29c142.842-95.27 250.349-233.701 304.723-396.455l1.567-5.408c48.603 47.588 78.735 113.877 78.735 187.203 0 0.266 0 0.533-0.001 0.799v-0.041 523.378c0.009 0.817 0.015 1.781 0.015 2.747 0 141.984-114.268 257.279-255.858 258.94l-0.157 0.001zM732.729 604.103c-0.068 0-0.148 0-0.228 0-42.478 0-76.914 34.435-76.914 76.914s34.435 76.914 76.914 76.914c42.478 0 76.914-34.435 76.914-76.913v0c0 0 0 0 0 0 0-42.398-34.306-76.784-76.674-76.913h-0.013z" />
|
21 |
+
<glyph unicode="" glyph-name="off-grid-widgets" horiz-adv-x="1041" d="M883.433 676.771c77.252-4.721 140.095-60.978 154.818-134.608l0.179-1.072c1.494-8.285 2.348-17.821 2.348-27.557 0-88.015-69.798-159.728-157.063-162.806l-0.281-0.008zM813.615 900.422v-765.207c0-32.904-26.674-59.578-59.578-59.578v0h-19.316c-0.217-0.001-0.475-0.002-0.732-0.002-39.55 0-74.887 18.036-98.236 46.331l-0.173 0.216c-34.096 42.335-85.759 69.33-143.744 69.818l-0.082 0.001h-73.775v-184.087c-0.524-39.829-32.934-71.914-72.838-71.914-0.166 0-0.331 0.001-0.497 0.002h-40.237c-40.102 0-72.611 32.509-72.611 72.611v0 199.68c-135.169 41.188-231.816 164.77-231.816 310.924 0 179.173 145.249 324.422 324.422 324.422 0.171 0 0.341 0 0.512 0h166.141c57.892 0.184 109.539 26.762 143.563 68.324l0.262 0.33c23.522 28.512 58.86 46.548 98.41 46.548 0.257 0 0.514-0.001 0.771-0.002h19.976c0.046 0 0.1 0 0.155 0 6.027 0 11.815-1.023 17.2-2.904l-0.366 0.111c4.129-1.275 7.674-2.776 11.030-4.582l-0.325 0.16c18.694-9.9 31.337-29.012 31.882-51.126l0.001-0.074z" />
|
22 |
+
<glyph unicode="" glyph-name="section-addons" horiz-adv-x="1040" d="M958.122 631.996v58.712c0.012 0.794 0.019 1.732 0.019 2.671 0 50.807-20.49 96.829-53.658 130.253l0.011-0.011c-33.999 34.358-81.032 55.76-133.066 56.169h-44.458c-0.917-0.074-1.986-0.116-3.064-0.116-22.468 0-40.683 18.214-40.683 40.683s18.214 40.683 40.683 40.683c1.078 0 2.147-0.042 3.204-0.124l-0.14 0.009h44.381c148.272-1.689 267.927-121.83 268.828-270.13v-57.874c-1.653-21.358-19.39-38.063-41.029-38.063s-39.377 16.705-41.021 37.922l-0.009 0.141zM40.451 591.545c-22.236 0.258-40.194 18.215-40.451 40.427v58.737c1.436 148.794 122.197 268.906 271.104 269.291h44.187c22.432-0.124 40.629-18.078 41.144-40.403l0.001-0.048c-0.513-22.421-18.685-40.431-41.121-40.682h-44.174c-0.173 0.001-0.377 0.001-0.581 0.001-52.382 0-99.813-21.197-134.184-55.481l0.004 0.004c-33.564-33.481-54.329-79.778-54.329-130.925 0-0.617 0.003-1.234 0.009-1.849l-0.001 0.094v-57.788c-0.513-22.293-18.581-40.2-40.89-40.451h-0.024zM82.059 264.004v-58.712c-0.012-0.794-0.019-1.732-0.019-2.671 0-50.807 20.49-96.829 53.658-130.253l-0.011 0.011c34.025-34.317 81.042-55.706 133.055-56.169l0.088-0.001h44.381c0.917 0.074 1.986 0.116 3.064 0.116 22.468 0 40.683-18.214 40.683-40.683s-18.214-40.683-40.683-40.683c-1.078 0-2.147 0.042-3.204 0.124l0.14-0.009h-44.381c-148.272 1.689-267.927 121.83-268.828 270.13v57.874c1.653 21.358 19.39 38.063 41.029 38.063s39.377-16.705 41.021-37.922l0.009-0.141zM999.729 303.53c21.921-0.243 39.689-17.687 40.45-39.457l0.002-0.070v-58.712c-1.435-148.713-122.065-268.775-270.86-269.291h-44.431c-0.917-0.074-1.986-0.116-3.064-0.116-22.468 0-40.683 18.214-40.683 40.683s18.214 40.683 40.683 40.683c1.078 0 2.147-0.042 3.204-0.124l-0.14 0.009h44.381c0.132 0 0.289-0.001 0.446-0.001 52.352 0 99.752 21.198 134.087 55.479l-0.002-0.002c33.564 33.481 54.329 79.778 54.329 130.925 0 0.617-0.003 1.234-0.009 1.849l0.001-0.094v57.788c0.388 22.345 18.53 40.325 40.902 40.451h0.012zM693.454 159.061h-346.727c-63.831 0-115.576 51.745-115.576 115.576v0 346.727c0 63.831 51.745 115.576 115.576 115.576v0h346.727c63.831 0 115.576-51.745 115.576-115.576v0-346.727c0-63.831-51.745-115.576-115.576-115.576v0z" />
|
23 |
+
<glyph unicode="" glyph-name="social-feed-widgets" horiz-adv-x="939" d="M201.751 562.774v-551.902c-21.080-23.819-51.721-38.764-85.853-38.781h-0.003c-0.001 0-0.002 0-0.003 0-63.692 0-115.383 51.378-115.891 114.95v393.239c-0.012 0.646-0.020 1.407-0.020 2.171 0 54.302 36.022 100.19 85.474 115.073l0.851 0.22c8.944 2.498 19.216 3.934 29.822 3.934 33.959 0 64.48-14.72 85.531-38.127l0.093-0.105zM936.35 449.793l-75.769-376.827c-11.775-77.927-78.28-136.972-158.576-136.972-6.684 0-13.272 0.409-19.741 1.204l0.776-0.078-334.011 37.66c-28.037 3.383-52.344 17.15-69.362 37.278l-0.13 0.158c-3.592 3.918-7.048 8.157-10.252 12.589l-0.284 0.412v548.764l315.405 351.944c18.456 20.934 45.334 34.071 75.281 34.071 18.145 0 35.164-4.823 49.844-13.257l-0.488 0.258c31.606-17.508 52.648-50.663 52.648-88.733 0-16.699-4.049-32.453-11.218-46.333l0.265 0.565-89.667-181.352c-2.259-4.153-3.587-9.095-3.587-14.348 0-16.759 13.522-30.359 30.251-30.486h0.012l145.709-5.604c58.524-2.688 104.955-50.788 104.955-109.734 0-7.494-0.75-14.813-2.18-21.885l0.119 0.704z" />
|
24 |
+
<glyph unicode="" glyph-name="table-and-chars-widgets" d="M750.933 960c174.080 0 273.067-98.759 273.067-273.067v0-477.867c0-174.080-98.759-273.067-273.067-273.067h-477.867c-174.308 0-273.067 98.759-273.067 273.067v0 477.867c0 174.308 98.759 273.067 273.067 273.067h477.867zM547.954 769.536c-7.012 4.634-15.616 7.393-24.865 7.393-25.135 0-45.511-20.376-45.511-45.511 0-1.803 0.105-3.581 0.309-5.33l-0.020 0.213v-558.876c2.39-23.1 21.751-40.961 45.283-40.961 0.080 0 0.16 0 0.24 0.001h-0.012c0.068 0 0.148-0.001 0.228-0.001 23.532 0 42.893 17.861 45.267 40.765l0.016 0.195v558.876c0.169 1.472 0.265 3.178 0.265 4.906 0 16.023-8.28 30.112-20.795 38.221l-0.178 0.108zM297.188 595.911c-6.846 4.341-15.182 6.918-24.121 6.918s-17.275-2.577-24.307-7.028l0.187 0.11c-13.056-8.153-21.614-22.443-21.614-38.732 0-1.586 0.081-3.153 0.239-4.697l-0.016 0.194v-379.335c0-25.135 20.376-45.511 45.511-45.511s45.511 20.376 45.511 45.511v0 0 379.108c0.156 1.415 0.245 3.056 0.245 4.718 0 16.298-8.567 30.595-21.444 38.634l-0.192 0.112zM775.054 403.399c-6.897 4.429-15.315 7.061-24.348 7.061s-17.451-2.632-24.53-7.17l0.182 0.109c-12.851-7.762-21.31-21.655-21.31-37.523 0-2.014 0.136-3.997 0.4-5.938l-0.025 0.226v-179.996c2.39-23.1 21.751-40.961 45.283-40.961 0.080 0 0.16 0 0.24 0.001h-0.012c0.068 0 0.148-0.001 0.228-0.001 23.532 0 42.893 17.861 45.267 40.765l0.016 0.195v179.769c0.142 1.35 0.223 2.918 0.223 4.504 0 16.289-8.558 30.579-21.422 38.62l-0.191 0.112z" />
|
25 |
+
<glyph unicode="" glyph-name="testimonials-and-reviews-widgets" d="M512 960c0.379 0.001 0.827 0.002 1.276 0.002 282.77 0 512-229.23 512-512s-229.23-512-512-512c-87.909 0-170.643 22.155-242.924 61.186l2.715-1.341h-1.593c-15.246 6.144-27.534 17.067-41.87 24.121-8.435 3.656-18.258 5.783-28.578 5.783-7.749 0-15.219-1.199-22.233-3.422l0.521 0.142c-29.627-10.816-68.275-22.231-107.704-31.635l-7.894-1.589c-20.48 0-26.624 11.833-26.624 31.858 10.827 47.474 23.027 87.476 37.679 126.274l-2.18-6.58c2.107 6.024 3.323 12.969 3.323 20.197 0 11.030-2.833 21.398-7.811 30.417l0.164-0.325-10.24 19.797c-36.341 67.827-57.787 148.346-58.026 233.851v3.262c0 282.77 229.23 512 512 512v0zM747.975 513.081c-36.195 0-65.536-29.341-65.536-65.536s29.341-65.536 65.536-65.536c36.195 0 65.536 29.341 65.536 65.536v0c-0.129 36.143-29.393 65.407-65.524 65.536h-0.012zM512 513.081c-36.195 0-65.536-29.341-65.536-65.536s29.341-65.536 65.536-65.536c36.195 0 65.536 29.341 65.536 65.536v0c0 0.068 0 0.148 0 0.228 0 36.069-29.24 65.308-65.308 65.308-0.080 0-0.16 0-0.24 0h0.012zM276.025 513.081c-36.195 0-65.536-29.341-65.536-65.536s29.341-65.536 65.536-65.536v0c36.195 0 65.536 29.341 65.536 65.536s-29.341 65.536-65.536 65.536v0z" />
|
26 |
+
<glyph unicode="" glyph-name="license" horiz-adv-x="1126" d="M1105.819 838.282l-101.011 101.011c-13.132 12.989-31.197 21.014-51.137 21.014s-38.005-8.024-51.143-21.020l0.006 0.006-389.65-388.64c-50.306 32.934-111.928 52.528-178.127 52.528-0.411 0-0.821-0.001-1.232-0.002h0.064c-0.075 0-0.164 0-0.253 0-184.236 0-333.589-149.353-333.589-333.589s149.353-333.589 333.589-333.589c184.236 0 333.589 149.353 333.589 333.589v0c0.001 0.246 0.001 0.536 0.001 0.827 0 66.395-19.59 128.215-53.305 179.995l0.778-1.275 194.951 194.951 43.94-44.95c12.797-13.214 30.688-21.427 50.499-21.465h1.775c39.744 0.006 71.96 32.226 71.96 71.97 0 20.060-8.207 38.203-21.446 51.255l-0.009 0.008-44.697 45.202 42.93 41.667 50.506-50.506c12.076-9.487 27.497-15.215 44.256-15.215 39.748 0 71.97 32.222 71.97 71.97 0 16.759-5.728 32.179-15.333 44.411l0.118-0.156zM334.599 80.698c-104.6 0-189.396 84.796-189.396 189.396s84.795 189.396 189.396 189.396c104.6 0 189.396-84.795 189.396-189.396 0-0.089 0-0.178 0-0.266v0.014c0-0.075 0-0.165 0-0.254 0-104.74-84.908-189.648-189.648-189.648-0.266 0-0.533 0.001-0.799 0.002h0.041z" />
|
27 |
+
<glyph unicode="" glyph-name="features" horiz-adv-x="1064" d="M939.316 664.578h-213.171c-0.028 0-0.060-0.001-0.093-0.001-3.25 0-6.004 2.124-6.95 5.059l-0.014 0.052-66.433 204.167c-12.581 37.642-41.549 66.769-78.209 79.313l-0.878 0.261c-11.92 4.287-25.674 6.766-40.008 6.766-20.217 0-39.282-4.931-56.059-13.655l0.675 0.319c-29.697-15.083-52.142-40.853-62.53-72.124l-0.253-0.88-68.137-204.654c-0.958-2.991-3.714-5.118-6.967-5.118-0.117 0-0.234 0.003-0.35 0.008l0.016-0.001h-215.605c-0.235 0.002-0.514 0.003-0.793 0.003-68.677 0-124.35-55.673-124.35-124.35 0-41.587 20.415-78.406 51.77-100.982l0.369-0.253 173.506-126.297c2.116-1.518 3.479-3.971 3.479-6.742 0-0.805-0.115-1.584-0.33-2.32l0.015 0.058-64-203.437c-3.758-11.367-5.926-24.452-5.926-38.043 0-69.080 56-125.080 125.080-125.080 27.656 0 53.216 8.976 73.925 24.173l-0.349-0.244 170.342 126.053c1.262 0.865 2.822 1.381 4.502 1.381s3.24-0.516 4.529-1.398l-0.028 0.018 173.506-126.297c20.191-14.941 45.507-24.024 72.93-24.334l0.073-0.001c27.502 0.257 52.832 9.351 73.34 24.573l-0.336-0.238c31.469 22.6 51.725 59.091 51.725 100.313 0 14.089-2.366 27.625-6.723 40.233l0.26-0.865-64.487 203.924c-0.205 0.676-0.324 1.453-0.324 2.257 0 2.524 1.164 4.776 2.985 6.248l0.015 0.012 173.506 126.297c31.625 22.887 51.961 59.685 51.961 101.232 0 68.811-55.782 124.593-124.593 124.593-0.131 0-0.261 0-0.392-0.001h0.020zM273.521 62.54l66.433 205.141c4.011 11.65 6.327 25.075 6.327 39.041 0 41.343-20.295 77.946-51.466 100.389l-0.367 0.251-173.992 125.81c-1.743 1.439-2.845 3.6-2.845 6.018 0 0.894 0.151 1.754 0.428 2.554l-0.017-0.055c1.020 2.723 3.6 4.626 6.625 4.626 0.066 0 0.132-0.001 0.198-0.003h219.001c54.246 1.214 99.873 36.781 116.066 85.748l0.253 0.884 67.163 204.167c0.77 2.39 2.673 4.212 5.059 4.855l0.051 0.012c0.624 0.18 1.34 0.283 2.080 0.283 3.445 0 6.368-2.237 7.394-5.338l0.016-0.055 66.19-204.411c16.788-49.711 62.53-85.066 116.679-86.142l0.127-0.002h216.335c3.147-0.013 5.789-2.157 6.56-5.063l0.011-0.048c0.242-0.696 0.382-1.497 0.382-2.332 0-2.441-1.198-4.602-3.038-5.927l-0.022-0.015-174.722-126.297c-31.537-22.694-51.832-59.297-51.832-100.64 0-13.966 2.316-27.39 6.584-39.911l-0.258 0.87 66.677-205.141c0.223-0.607 0.352-1.308 0.352-2.039 0-2.235-1.205-4.188-3-5.246l-0.028-0.015c-1.287-0.916-2.891-1.465-4.624-1.465s-3.336 0.548-4.648 1.481l0.025-0.017-173.749 126.297c-20.134 15.072-45.49 24.186-72.969 24.334h-0.035c-27.272-0.124-52.548-8.567-73.448-22.92l0.444 0.288-173.506-128.487c-1.311-0.97-2.96-1.552-4.745-1.552s-3.434 0.582-4.767 1.567l0.022-0.015c-2.291 1.13-3.839 3.449-3.839 6.13 0 0.858 0.158 1.678 0.448 2.434l-0.016-0.047z" />
|
28 |
+
<glyph unicode="" glyph-name="lock" horiz-adv-x="667" d="M481.773 619.979c34.602-14.925 64.441-33.175 91.268-54.985l-0.704 0.554v157.271c-0.132 130.857-106.11 236.917-236.924 237.181h-3.731c-130.839-0.264-236.818-106.324-236.949-237.168v-157.284c26.124 21.257 55.962 39.506 88.093 53.474l2.471 0.957c8.802 3.706 18.067 7.18 27.1 10.191v92.649c0 0 0 0 0 0 0 65.926 53.378 119.385 119.273 119.517h3.719c65.954-0.132 119.385-53.562 119.517-119.504v-92.662c8.802-3.011 18.067-6.485 26.868-10.191zM0 269.304c0.237-183.9 149.371-332.888 333.304-332.888 184.079 0 333.304 149.225 333.304 333.304 0 140.401-86.812 260.527-209.686 309.628l-2.247 0.793c-35.851 14.347-77.407 22.669-120.907 22.669-184.242 0-333.618-149.284-333.767-333.491v-0.014zM247.604 336.706c0.653 46.962 38.876 84.781 85.932 84.781 47.463 0 85.939-38.476 85.939-85.939 0-0.407-0.003-0.814-0.008-1.22l0.001 0.061c0-0.084 0.001-0.182 0.001-0.281 0-5.063-0.506-10.008-1.47-14.787l0.080 0.476c-4.352-24.623-18.676-45.255-38.565-57.93l-0.347-0.207c-6.868-4.103-11.396-11.498-11.396-19.951 0-1.712 0.186-3.38 0.538-4.986l-0.028 0.153 25.478-120.907c0.177-0.766 0.278-1.645 0.278-2.548 0-6.524-5.289-11.813-11.813-11.813-0.016 0-0.033 0-0.049 0h-97.741c-0.014 0-0.030 0-0.046 0-6.524 0-11.813 5.289-11.813 11.813 0 0.903 0.101 1.782 0.293 2.627l-0.015-0.079 25.942 120.907c0.388 1.587 0.61 3.409 0.61 5.282 0 8.304-4.37 15.587-10.935 19.676l-0.098 0.057c-20.602 12.808-35.16 33.681-39.305 58.099l-0.070 0.501c-0.861 4.86-1.365 10.469-1.39 16.191v0.022z" />
|
29 |
+
<glyph unicode="" glyph-name="alert-box" horiz-adv-x="992" d="M987.392 79.104c-8.324-17.678-25.991-29.696-46.465-29.696-0.045 0-0.089 0-0.134 0h-329.209c-4.149-60.371-54.139-107.772-115.2-107.772s-111.051 47.401-115.18 107.413l-0.020 0.359h-329.728c-0.038 0-0.082 0-0.127 0-20.474 0-38.142 12.018-46.333 29.384l-0.132 0.312c-2.971 6.289-4.705 13.661-4.705 21.439 0 12.65 4.587 24.228 12.189 33.162l-0.060-0.073c67.072 78.336 99.84 186.368 99.84 318.464v108.288c0.234 53.87 10.74 105.22 29.659 152.283l-0.987-2.779c7.952 18.591 26.087 31.381 47.208 31.381 28.277 0 51.2-22.923 51.2-51.2 0-6.109-1.070-11.969-3.033-17.401l0.113 0.357c-13.548-33.354-21.516-72.032-21.76-112.542v-108.386c0.155-5.219 0.243-11.359 0.243-17.519 0-103.194-24.78-200.6-68.714-286.592l1.655 3.568h696.832c-42.279 82.425-67.059 179.831-67.059 283.025 0 6.16 0.088 12.3 0.264 18.418l-0.020-0.899v108.288c0 163.84-128 297.216-281.6 297.216-80.494-0.042-152.754-35.258-202.25-91.11l-0.246-0.282c-9.47-10.568-23.162-17.187-38.4-17.187-28.438 0-51.491 23.053-51.491 51.491 0 13.2 4.967 25.24 13.134 34.353l-0.043-0.049c68.984 76.751 168.489 124.89 279.243 125.184h0.053c211.2 0 384-179.2 384-399.616v-108.288c0-132.864 33.536-240.128 100.608-318.464 7.244-8.766 11.637-20.12 11.637-32.5 0-8.006-1.838-15.584-5.114-22.333l0.133 0.304z" />
|
30 |
+
<glyph unicode="" glyph-name="animated-gradients" horiz-adv-x="826" d="M825.6 360.96c0.102-3.432 0.161-7.47 0.161-11.52 0-228.123-184.758-413.094-412.8-413.44h-0.033c-228.075 0.346-412.833 185.317-412.833 413.44 0 4.051 0.058 8.089 0.174 12.112l-0.013-0.592c1.13 27.404 23.621 49.193 51.2 49.193 28.3 0 51.241-22.941 51.241-51.241 0-0.72-0.015-1.437-0.044-2.15l0.003 0.102c-0.060-2.287-0.095-4.98-0.095-7.68 0-171.495 138.905-310.546 310.344-310.784h0.023c171.462 0.238 310.367 139.289 310.367 310.784 0 2.701-0.034 5.393-0.103 8.077l0.008-0.397c-10.24 244.736-231.68 430.848-310.272 489.216-61.44-45.312-208.384-167.68-275.712-334.080-5.12-12.544-9.728-25.6-13.824-38.4-6.736-20.947-26.050-35.84-48.842-35.84-0.019 0-0.038 0-0.057 0h0.003c-5.484 0.014-10.767 0.855-15.737 2.405l0.377-0.101c-20.981 6.716-35.905 26.046-35.905 48.862 0 5.497 0.866 10.793 2.47 15.756l-0.101-0.362c4.864 15.36 10.496 30.976 16.64 46.080 94.464 233.984 314.88 384 340.992 400.128l2.304 1.536 3.84 2.304 3.84 1.792 5.632 1.792c1.978 0.854 4.296 1.564 6.704 2.016l0.208 0.032h7.168c1.422 0.181 3.067 0.284 4.736 0.284s3.314-0.103 4.929-0.303l-0.193 0.020c0.654 0.112 1.408 0.176 2.176 0.176s1.522-0.064 2.255-0.187l-0.079 0.011c1.729-0.308 3.275-0.842 4.699-1.579l-0.091 0.043c2.054-0.622 3.836-1.405 5.499-2.37l-0.123 0.066 5.888-3.584c34.816-24.832 368.896-251.392 382.976-591.616z" />
|
31 |
+
<glyph unicode="" glyph-name="background-transition" d="M512 199.424c-137.285 0-248.576 111.291-248.576 248.576s111.291 248.576 248.576 248.576c137.285 0 248.576-111.291 248.576-248.576v0c-0.291-137.168-111.409-248.285-248.548-248.576h-0.028zM512 594.176c-80.731 0-146.176-65.445-146.176-146.176s65.445-146.176 146.176-146.176c80.731 0 146.176 65.445 146.176 146.176v0c0 80.731-65.445 146.176-146.176 146.176v0zM512 755.2c-28.277 0-51.2 22.923-51.2 51.2v0 102.4c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2v0-102.4c0-28.277-22.923-51.2-51.2-51.2v0zM512-64c-28.277 0-51.2 22.923-51.2 51.2v0 102.4c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2v0-102.4c0-28.277-22.923-51.2-51.2-51.2v0zM153.6 396.8h-102.4c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0h102.4c28.277 0 51.2-22.923 51.2-51.2s-22.923-51.2-51.2-51.2v0zM972.8 396.8h-102.4c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0h102.4c28.277 0 51.2-22.923 51.2-51.2s-22.923-51.2-51.2-51.2v0zM764.928 649.728c-0.012 0-0.027 0-0.041 0-28.277 0-51.2 22.923-51.2 51.2 0 14.212 5.791 27.072 15.142 36.349l72.707 72.707c9.271 9.271 22.078 15.004 36.224 15.004 28.293 0 51.228-22.936 51.228-51.228 0-14.146-5.734-26.953-15.004-36.224v0l-72.704-72.704c-9.276-9.33-22.119-15.104-36.311-15.104-0.014 0-0.029 0-0.043 0h0.002zM186.112 70.912c-0.012 0-0.027 0-0.041 0-28.277 0-51.2 22.923-51.2 51.2 0 14.212 5.791 27.072 15.142 36.349l72.707 72.707c9.271 9.271 22.078 15.004 36.224 15.004 28.293 0 51.228-22.936 51.228-51.228 0-14.146-5.734-26.953-15.004-36.224v0l-72.704-72.704c-9.276-9.33-22.119-15.104-36.311-15.104-0.014 0-0.029 0-0.043 0h0.002zM259.072 649.728c-0.012 0-0.026 0-0.041 0-14.192 0-27.035 5.774-36.309 15.102l-72.706 72.706c-9.271 9.271-15.004 22.078-15.004 36.224 0 28.293 22.936 51.228 51.228 51.228 14.146 0 26.953-5.734 36.224-15.004v0l72.704-72.704c9.354-9.28 15.145-22.14 15.145-36.352 0-28.277-22.923-51.2-51.2-51.2-0.014 0-0.029 0-0.043 0h0.002zM837.888 70.912c-0.012 0-0.026 0-0.041 0-14.192 0-27.035 5.774-36.309 15.102l-72.706 72.706c-9.271 9.271-15.004 22.078-15.004 36.224 0 28.293 22.936 51.228 51.228 51.228 14.146 0 26.953-5.734 36.224-15.004l72.704-72.704c9.354-9.28 15.145-22.14 15.145-36.352 0-28.277-22.923-51.2-51.2-51.2-0.014 0-0.029 0-0.043 0h0.002z" />
|
32 |
+
<glyph unicode="" glyph-name="behance-feed" d="M921.6 686.592h-265.984v66.56h265.984zM515.072 413.184c16.129-26.372 25.68-58.288 25.68-92.435 0-1.884-0.029-3.761-0.087-5.63l0.007 0.274c0.033-1.338 0.052-2.915 0.052-4.495 0-37.644-10.691-72.792-29.203-102.571l0.479 0.827c-26.295-43.778-69.259-75.257-119.9-85.809l-1.188-0.207c-26.73-5.71-57.441-8.98-88.916-8.98-1.501 0-2.999 0.007-4.496 0.022l0.229-0.002h-297.728v666.112h318.464q120.576-1.792 171.008-70.912c18.955-27.17 30.286-60.884 30.286-97.244 0-1.813-0.028-3.619-0.084-5.419l0.006 0.263c0.104-2.101 0.164-4.562 0.164-7.037 0-34.446-11.512-66.204-30.898-91.636l0.27 0.369c-14.164-15.607-31.163-28.349-50.225-37.468l-0.975-0.42c32.103-10.808 58.534-31.359 76.464-58.092l0.336-0.532zM153.6 517.888h138.24c1.644-0.074 3.572-0.116 5.51-0.116 23.558 0 45.664 6.215 64.769 17.095l-0.646-0.339c16.549 11.512 27.245 30.436 27.245 51.858 0 2.384-0.132 4.736-0.39 7.051l0.026-0.285c0.24 2.010 0.377 4.337 0.377 6.697 0 24.378-14.625 45.341-35.58 54.593l-0.382 0.15c-21.301 6.7-45.795 10.56-71.191 10.56-1.972 0-3.939-0.023-5.9-0.070l0.291 0.005h-122.368zM402.944 324.864c0.136 1.654 0.213 3.581 0.213 5.525 0 29.396-17.696 54.66-43.016 65.719l-0.462 0.18c-17.993 7.338-38.87 11.597-60.741 11.597-1.776 0-3.546-0.028-5.309-0.084l0.258 0.006h-140.288v-179.2h139.264c0.381-0.003 0.831-0.005 1.282-0.005 23.308 0 45.404 5.192 65.194 14.482l-0.94-0.396c26.295 14.463 43.817 41.982 43.817 73.594 0 3.385-0.201 6.723-0.591 10.003l0.038-0.397zM1020.928 433.408c2.383-20.017 3.743-43.2 3.743-66.701 0-9.945-0.243-19.833-0.725-29.658l0.054 1.384h-344.32c-0.111-1.89-0.175-4.1-0.175-6.325 0-38.958 19.468-73.369 49.207-94.036l0.376-0.247c18.274-11.292 40.428-17.983 64.145-17.983 1.389 0 2.773 0.023 4.152 0.069l-0.201-0.005c1.226-0.053 2.664-0.082 4.109-0.082 24.532 0 47.050 8.627 64.684 23.013l-0.185-0.146c10.601 8.834 19.216 19.658 25.342 31.941l0.258 0.571h126.208c-5.523-34.381-21.612-64.291-44.775-87.016l-0.025-0.024c-41.573-43.242-99.909-70.105-164.519-70.105-5.165 0-10.29 0.172-15.37 0.51l0.689-0.037c-0.994-0.014-2.168-0.022-3.344-0.022-62.153 0-119.132 22.149-163.476 58.985l0.42-0.339c-48.128 39.424-72.192 102.4-72.192 191.232q0 124.416 65.024 190.464c41.049 41.065 97.766 66.465 160.415 66.465 3.005 0 5.996-0.058 8.973-0.174l-0.428 0.013c1.251 0.021 2.726 0.033 4.205 0.033 38.754 0 75.591-8.209 108.867-22.983l-1.712 0.679c33.859-15.807 61.507-40.085 80.953-70.161l0.455-0.751c19.108-27.935 32.438-61.308 37.491-97.336l0.141-1.224zM896 421.888c-0.339 29.803-13.048 56.572-33.222 75.466l-0.058 0.054c-18.512 15.954-42.793 25.67-69.344 25.67-1.362 0-2.717-0.026-4.066-0.076l0.195 0.006c-1.181 0.051-2.567 0.080-3.959 0.080-26.804 0-51.089-10.784-68.754-28.249l0.009 0.009c-18.191-19.387-30.505-44.484-33.983-72.326l-0.065-0.634z" />
|
33 |
+
<glyph unicode="" glyph-name="charts" d="M417.536-64c-228.348 5.805-411.243 192.296-411.243 421.504s182.895 415.698 410.706 421.493l0.538 0.011c28.277 0 51.2-22.923 51.2-51.2v0-318.464h314.88c28.277 0 51.2-22.923 51.2-51.2v0c0.004-0.687 0.006-1.499 0.006-2.312 0-230.973-186.516-418.384-417.148-419.832l-0.138-0.001zM366.336 671.488c-150.508-27.256-263.166-157.285-263.166-313.626 0-174.442 140.255-316.126 314.148-318.435l0.218-0.002c156.431 0.852 285.928 115.088 310.535 264.661l0.249 1.835h-310.784c-28.277 0-51.2 22.923-51.2 51.2v0zM972.8 486.912h-366.080c-28.277 0-51.2 22.923-51.2 51.2v0 370.688c0 28.277 22.923 51.2 51.2 51.2v0c230.769-1.45 417.284-188.86 417.284-419.832 0-0.633-0.001-1.265-0.004-1.897v0.097c0-0.076 0.001-0.166 0.001-0.256 0-28.277-22.923-51.2-51.2-51.2 0 0 0 0-0.001 0v0zM657.92 589.312h259.584c-21.95 134.407-125.709 239.377-257.664 262.884l-1.92 0.284z" />
|
34 |
+
<glyph unicode="" glyph-name="content-switcher" d="M712.192 742.4h-400.384c-1.401 0.023-3.054 0.036-4.71 0.036-166.884 0-302.687-133.071-307.090-298.893l-0.009-0.408c4.411-166.229 140.214-299.3 307.098-299.3 1.656 0 3.309 0.013 4.958 0.039l-0.249-0.003h400.384c1.401-0.023 3.054-0.036 4.71-0.036 166.884 0 302.687 133.071 307.090 298.893l0.009 0.408c-4.411 166.229-140.214 299.3-307.098 299.3-1.656 0-3.309-0.013-4.958-0.039l0.249 0.003zM712.192 242.176h-400.384c-1.382-0.034-3.010-0.053-4.643-0.053-111.776 0-202.638 89.546-204.762 200.814l-0.003 0.199c2.127 111.467 92.989 201.013 204.765 201.013 1.633 0 3.261-0.019 4.884-0.057l-0.241 0.004h400.384c1.382 0.034 3.010 0.053 4.643 0.053 111.776 0 202.638-89.546 204.762-200.814l0.003-0.199c-2.127-111.467-92.989-201.013-204.765-201.013-1.633 0-3.261 0.019-4.884 0.057l0.241-0.004zM843.52 443.136c0-70.268-59.371-127.232-132.608-127.232s-132.608 56.964-132.608 127.232c0 70.268 59.371 127.232 132.608 127.232s132.608-56.964 132.608-127.232z" />
|
35 |
+
<glyph unicode="" glyph-name="divider" d="M701.184 501.76h269.056c29.691 0 53.76-24.069 53.76-53.76s-24.069-53.76-53.76-53.76h-269.056c-29.691 0-53.76 24.069-53.76 53.76s24.069 53.76 53.76 53.76zM53.76 501.76h269.056c29.691 0 53.76-24.069 53.76-53.76s-24.069-53.76-53.76-53.76h-269.056c-29.691 0-53.76 24.069-53.76 53.76s24.069 53.76 53.76 53.76zM565.76 547.84v-199.68c0-29.691-24.069-53.76-53.76-53.76s-53.76 24.069-53.76 53.76v199.68c0 29.691 24.069 53.76 53.76 53.76s53.76-24.069 53.76-53.76z" />
|
36 |
+
<glyph unicode="" glyph-name="facebook-feed-1" d="M1024 448c0 282.77-229.23 512-512 512s-512-229.23-512-512c0-282.77 229.23-512 512-512v0h8.96v398.592h-110.080v128h110.080v94.72c0 109.312 66.816 168.96 164.352 168.96 0.851 0.003 1.859 0.005 2.868 0.005 33.709 0 66.983-1.861 99.725-5.487l-4.033 0.363v-114.432h-67.072c-52.992 0-63.488-25.6-63.488-62.208v-81.408h128l-16.384-128h-111.616v-379.392c215.808 63.424 370.688 259.681 370.688 492.113 0 0.062 0 0.123 0 0.185v-0.009z" />
|
37 |
+
<glyph unicode="" glyph-name="facebook-feed-2" horiz-adv-x="553" d="M532.736 960h-132.864c-148.736 0-245.504-99.072-245.504-251.904v-116.224h-133.632c-11.483-0.144-20.736-9.487-20.736-20.99 0-0.001 0-0.001 0-0.002v0-168.448c0-11.452 9.284-20.736 20.736-20.736h133.632v-424.704c0-0.007 0-0.016 0-0.025 0-11.233 8.824-20.406 19.918-20.965l0.050-0.002h174.336c11.483 0.144 20.736 9.487 20.736 20.99 0 0.001 0 0.001 0 0.002v0 424.704h156.16c0 0 0.001 0 0.002 0 11.504 0 20.846 9.253 20.99 20.722v168.462c-0.056 5.788-2.39 11.020-6.147 14.851l0.003-0.003c-3.815 3.776-9.055 6.117-14.843 6.144h-156.165v98.304c0 47.36 11.52 71.424 72.96 71.424h90.368c11.483 0.144 20.736 9.487 20.736 20.99 0 0.001 0 0.001 0 0.002v0 156.16c0.004 0.152 0.006 0.332 0.006 0.512 0 11.452-9.284 20.736-20.736 20.736-0.002 0-0.004 0-0.007 0v0z" />
|
38 |
+
<glyph unicode="" glyph-name="facebook-messenger-chat" horiz-adv-x="1016" d="M508.16 960c-281.6 0-508.16-212.224-508.16-474.112 1.31-150.237 74.076-283.21 185.921-366.748l1.215-0.868v-182.272l170.496 97.024c43.79-12.85 94.098-20.242 146.132-20.242 1.546 0 3.090 0.007 4.633 0.020l-0.237-0.002c281.6 0 508.16 212.224 508.16 474.112s-226.56 473.088-508.16 473.088zM559.36 325.632l-130.304 136.96-249.088-136.96 273.92 290.048 131.072-134.4 246.528 134.4z" />
|
39 |
+
<glyph unicode="" glyph-name="facebook-reviews" d="M313.344-44.544c0.012 0 0.026 0 0.041 0 14.065 0 26.805 5.671 36.058 14.851l-0.003-0.003c-9.193-9.374-21.948-15.226-36.071-15.36h-7.193zM362.24-8.448c-1.808-6.862-5.091-12.801-9.506-17.702l0.034 0.038c4.071 5.003 7.302 10.881 9.366 17.283l0.106 0.381zM985.344 564.992c-29.427 34.25-72.791 55.808-121.19 55.808-0.054 0-0.109 0-0.163 0h-203.256v152.064c-0.289 89.278-72.729 161.539-162.047 161.539-0.36 0-0.72-0.001-1.080-0.004h0.055c-0.171 0.001-0.374 0.002-0.576 0.002-54.741 0-100.149-39.957-108.651-92.296l-0.085-0.634c-17.401-103.302-47.984-195.899-90.434-281.571l2.626 5.859-18.944-38.4h-160.512c-66.875 0-121.088-54.213-121.088-121.088v0-329.728c0-66.875 54.213-121.088 121.088-121.088v0h192.256c0.012 0 0.026 0 0.041 0 14.065 0 26.805 5.671 36.058 14.851l-0.003-0.003 3.328 3.584c4.071 5.003 7.302 10.881 9.366 17.283l0.106 0.381c1.462 4.385 2.306 9.433 2.306 14.678 0 0.15-0.001 0.299-0.002 0.448v-0.023 456.96l27.904 57.856c43.986 87.809 77.774 189.682 96.1 296.831l0.924 6.529c0.723 4.138 4.289 7.244 8.581 7.244 0.405 0 0.803-0.028 1.193-0.081l-0.045 0.005c32.66 0 59.136-26.476 59.136-59.136v0-203.264c0-28.277 22.923-51.2 51.2-51.2v0h254.464c0.015 0 0.033 0 0.052 0 17.429 0 33.057-7.707 43.665-19.898l0.060-0.070c8.98-9.973 14.473-23.241 14.473-37.791 0-3.016-0.236-5.977-0.69-8.865l0.041 0.32-53.76-342.528c-4.741-29.188-29.764-51.2-59.928-51.2-0.081 0-0.163 0-0.244 0h-351.731c-28.277 0-51.2-22.923-51.2-51.2s22.923-51.2 51.2-51.2v0h351.744c0.229-0.001 0.499-0.002 0.77-0.002 81.147 0 148.384 59.551 160.395 137.334l0.115 0.908 53.248 342.528c1.139 7.176 1.789 15.451 1.789 23.878 0 39.967-14.631 76.516-38.828 104.585l0.175-0.208zM102.4 76.544v329.728c0 10.321 8.367 18.688 18.688 18.688v0h141.056v-367.104h-141.056c-10.321 0-18.688 8.367-18.688 18.688v0z" />
|
40 |
+
<glyph unicode="" glyph-name="google-reviews" horiz-adv-x="1003" d="M512 521.327h483.441c4.978-25.633 7.876-55.155 7.976-85.336v-0.083c0.041-2.472 0.064-5.389 0.064-8.312 0-90.976-22.485-176.7-62.201-251.919l1.417 2.944c-40.134-75.121-99.112-135.586-170.742-176.397l-2.155-1.13c-71.446-40.366-156.884-64.151-247.877-64.151-3.308 0-6.609 0.031-9.903 0.094l0.494-0.007c-0.609-0.003-1.329-0.004-2.050-0.004-71.309 0-139.146 14.862-200.585 41.656l3.238-1.258c-63.637 26.44-118.043 62.856-163.975 107.885l0.084-0.082c-45.204 45.719-81.931 99.933-107.558 160.015l-1.274 3.361c-25.542 58.847-40.401 127.387-40.401 199.397s14.859 140.551 41.677 202.722l-1.276-3.325c26.9 63.443 63.628 117.657 108.879 163.425l-0.047-0.048c45.668 45.291 99.897 82.033 160.034 107.571l3.343 1.261c58.2 25.537 126.038 40.398 197.347 40.398 0.721 0 1.441-0.002 2.161-0.005h-0.111c2.575 0.049 5.611 0.077 8.654 0.077 129.937 0 247.94-51.099 335.008-134.299l-0.185 0.175-139.449-134.046c-50.634 49.245-119.851 79.612-196.16 79.612-2.767 0-5.524-0.040-8.272-0.119l0.404 0.009c-0.679 0.005-1.482 0.009-2.286 0.009-57.888 0-111.998-16.174-158.058-44.249l1.341 0.759c-95.41-57.522-158.235-160.595-158.235-278.341 0-0.558 0.001-1.115 0.004-1.672v0.086c-0.002-0.471-0.004-1.029-0.004-1.586 0-117.747 62.825-220.82 156.782-277.527l1.453-0.814c44.719-27.316 98.83-43.49 156.717-43.49 0.804 0 1.606 0.003 2.409 0.009l-0.123-0.001c2.12-0.047 4.618-0.074 7.122-0.074 35.546 0 69.834 5.387 102.091 15.39l-2.439-0.651c30.543 9.619 57.11 23.286 80.777 40.67l-0.761-0.533c20.712 15.883 38.662 33.833 54.041 53.862l0.504 0.683c13.43 17.224 25.003 36.895 33.846 57.994l0.631 1.696c6.285 14.746 11.462 32.014 14.698 49.956l0.225 1.501h-290.734z" />
|
41 |
+
<glyph unicode="" glyph-name="horizontal-scroll" d="M1024 448c0-63.623-51.577-115.2-115.2-115.2s-115.2 51.577-115.2 115.2c0 63.623 51.577 115.2 115.2 115.2s115.2-51.577 115.2-115.2zM627.2 448c0-63.623-51.577-115.2-115.2-115.2s-115.2 51.577-115.2 115.2c0 63.623 51.577 115.2 115.2 115.2s115.2-51.577 115.2-115.2zM230.4 448c0-63.623-51.577-115.2-115.2-115.2s-115.2 51.577-115.2 115.2c0 63.623 51.577 115.2 115.2 115.2s115.2-51.577 115.2-115.2z" />
|
42 |
+
<glyph unicode="" glyph-name="hover-box" horiz-adv-x="817" d="M813.824 717.312l-3.072-6.4c-0.853-2.067-1.974-3.845-3.346-5.396l0.018 0.020c-1.478-2.095-2.991-3.933-4.627-5.652l0.019 0.020-165.632-172.544c-8.842-9.276-21.277-15.058-35.063-15.104h-0.009c-13.619 0.132-25.865 5.901-34.538 15.081l-0.022 0.023c-8.923 9.426-14.41 22.184-14.41 36.224s5.487 26.798 14.433 36.248l-0.023-0.024 81.92 85.248h-460.8c-50.328-1.28-90.637-42.383-90.637-92.9 0-0.55 0.005-1.099 0.014-1.647l-0.001 0.082v-207.872c0-0.012 0-0.027 0-0.041 0-27.557-21.77-50.029-49.050-51.156l-0.102-0.003c-27.382 1.13-49.152 23.602-49.152 51.159 0 0.014 0 0.029 0 0.043v-0.002 207.872c-0.022 1.081-0.034 2.355-0.034 3.632 0 105.227 84.090 190.814 188.738 193.228l0.225 0.004h460.8l-81.92 85.248c-9.201 9.255-14.889 22.011-14.889 36.096s5.687 26.842 14.891 36.098l-0.002-0.002c8.715 9.323 21.087 15.133 34.816 15.133s26.101-5.81 34.791-15.106l0.025-0.027 162.048-169.216c1.34-0.998 2.515-2.092 3.56-3.3l0.024-0.028 5.376-6.656 2.048-3.328c0.871-1.608 1.816-3.63 2.658-5.705l0.158-0.439c2.466-6.070 3.897-13.112 3.897-20.488 0-6.602-1.146-12.935-3.251-18.813l0.122 0.39zM813.824 717.312c2.128 5.673 3.36 12.228 3.36 19.072s-1.232 13.399-3.486 19.458l0.126-0.386c2.272-5.41 3.592-11.699 3.592-18.296 0-0.318-0.003-0.635-0.009-0.952l0.001 0.047c0-0.037 0-0.081 0-0.125 0-6.776-1.316-13.244-3.707-19.163l0.123 0.344zM818.176 513.28v-207.872c0.022-1.081 0.034-2.355 0.034-3.632 0-105.227-84.090-190.814-188.738-193.228l-0.225-0.004h-460.8l81.92-85.248c9.201-9.255 14.889-22.011 14.889-36.096s-5.687-26.842-14.891-36.098l0.002 0.002c-8.715-9.323-21.087-15.133-34.816-15.133s-26.101 5.81-34.791 15.106l-0.025 0.027-166.4 172.544-5.376 6.656-2.048 3.328c-1.078 1.936-2.195 4.296-3.172 6.727l-0.156 0.441c-2.128 5.673-3.36 12.228-3.36 19.072s1.232 13.399 3.486 19.458l-0.126-0.386 3.072 6.4c0.853 2.067 1.974 3.845 3.346 5.396l-0.018-0.020c1.478 2.095 2.991 3.933 4.627 5.652l-0.019-0.020 3.584 3.328 162.048 169.216c8.748 9.255 21.109 15.015 34.816 15.015s26.068-5.76 34.795-14.992l0.021-0.023c8.923-9.426 14.41-22.184 14.41-36.224s-5.487-26.798-14.433-36.248l0.023 0.024-81.92-85.248h460.8c50.328 1.28 90.637 42.383 90.637 92.9 0 0.55-0.005 1.099-0.014 1.647l0.001-0.082v207.616c0 27.146 22.006 49.152 49.152 49.152s49.152-22.006 49.152-49.152v0zM3.584 140.8c-2.681 5.539-4.353 12.017-4.605 18.857l-0.003 0.087c-0.004 0.229-0.006 0.5-0.006 0.771 0 6.532 1.223 12.778 3.453 18.522l-0.119-0.349c-1.717-5.129-2.707-11.035-2.707-17.172 0-7.462 1.465-14.583 4.122-21.089l-0.135 0.373z" />
|
43 |
+
<glyph unicode="" glyph-name="icon-box" d="M1017.344 600.064l-171.008 286.72c-8.275 13.36-22.81 22.155-39.407 22.272h-588.817c-0.209 0.003-0.456 0.005-0.704 0.005-16.738 0-31.415-8.826-39.629-22.078l-0.115-0.199-41.984-70.912c-4.095-6.702-6.519-14.811-6.519-23.486 0-16.618 8.895-31.158 22.184-39.118l0.207-0.115c6.609-4.020 14.6-6.4 23.147-6.4 0.052 0 0.105 0 0.157 0h-0.008c0.004 0 0.009 0 0.014 0 16.506 0 30.973 8.727 39.040 21.818l0.114 0.198 28.928 48.64h269.056c0.19-0.003 0.414-0.005 0.638-0.005 4.161 0 8.168 0.657 11.923 1.874l-0.274-0.077v-1.792l61.44-195.072h-56.064c-1.024 0.082-2.218 0.128-3.423 0.128-25.308 0-45.824-20.516-45.824-45.824s20.516-45.824 45.824-45.824c1.205 0 2.398 0.046 3.579 0.138l-0.157-0.010h60.416c-29.44-115.2-74.24-291.584-100.608-395.008l-387.072 445.696 49.152 81.92c4.031 6.698 6.416 14.782 6.416 23.424 0 25.387-20.581 45.968-45.968 45.968-16.746 0-31.4-8.954-39.436-22.336l-0.116-0.208-65.792-110.336c-4.2-6.767-6.689-14.976-6.689-23.767 0-11.391 4.18-21.806 11.090-29.795l-0.049 0.058 464.128-533.76c2.54-3.3 5.404-6.164 8.595-8.623l0.109-0.081h1.28c0.32-0.613 0.862-1.072 1.518-1.275l0.018-0.005 2.56-1.536c0.264-0.115 0.572-0.181 0.896-0.181s0.632 0.067 0.911 0.187l-0.015-0.006c1.204-0.999 2.675-1.718 4.29-2.038l0.062-0.010c0.346-0.066 0.745-0.105 1.152-0.105s0.806 0.038 1.192 0.111l-0.040-0.006h8.704c0.846-0.115 1.823-0.181 2.816-0.181s1.97 0.066 2.928 0.193l-0.112-0.012h7.936c2.184 0.261 4.173 0.802 6.032 1.59l-0.144-0.054h7.168l2.56 1.536c0.627 0.293 1.145 0.729 1.528 1.268l0.008 0.012c3.857 2.668 7.152 5.801 9.909 9.37l0.075 0.102 465.92 533.504c6.861 7.931 11.041 18.346 11.041 29.737 0 8.791-2.489 17-6.801 23.962l0.112-0.195zM604.16 216.064c18.432 73.216 44.288 174.592 80.128 315.392h193.536zM680.96 622.848l-60.416 194.56h160.512l116.48-195.072zM524.8 817.408h-12.8c0.19-0.003 0.414-0.005 0.638-0.005 4.161 0 8.168 0.657 11.923 1.874l-0.274-0.077zM414.208 530.944h-25.6c-1.024-0.082-2.218-0.128-3.423-0.128-25.308 0-45.824 20.516-45.824 45.824s20.516 45.824 45.824 45.824c1.205 0 2.398-0.046 3.579-0.138l-0.157 0.010h25.6c1.024 0.082 2.218 0.128 3.423 0.128 25.308 0 45.824-20.516 45.824-45.824s-20.516-45.824-45.824-45.824c-1.205 0-2.398 0.046-3.579 0.138l0.157-0.010z" />
|
44 |
+
<glyph unicode="" glyph-name="image-accordion" d="M972.8 883.2h-921.6c-28.277 0-51.2-22.923-51.2-51.2v0-776.192c0-28.277 22.923-51.2 51.2-51.2v0h921.6c28.277 0 51.2 22.923 51.2 51.2v0 776.192c0 28.277-22.923 51.2-51.2 51.2v0zM102.4 780.8h204.8v-673.792h-204.8zM409.6 780.8h204.8v-673.792h-204.8zM921.6 107.008h-204.8v673.792h204.8z" />
|
45 |
+
<glyph unicode="" glyph-name="image-comparison" d="M972.8 883.2h-921.6c-28.277 0-51.2-22.923-51.2-51.2v0-776.192c0-28.277 22.923-51.2 51.2-51.2v0h921.6c28.277 0 51.2 22.923 51.2 51.2v0 776.192c0 28.277-22.923 51.2-51.2 51.2v0zM102.4 780.8h358.4v-234.496c-37.365-19.557-62.424-58.052-62.424-102.4s25.060-82.843 61.791-102.098l0.633-0.302v-233.728h-358.4zM921.6 107.008h-358.4v234.496c37.365 19.557 62.424 58.052 62.424 102.4s-25.060 82.843-61.791 102.098l-0.633 0.302v234.496h358.4z" />
|
46 |
+
<glyph unicode="" glyph-name="image-hotspots" d="M1013.248 300.8l-371.456 611.072c-13.171 21.338-36.424 35.345-62.949 35.345-31.533 0-58.442-19.796-68.979-47.638l-0.168-0.507-81.408-220.16c-2.232-5.535-3.527-11.953-3.527-18.674 0-28.277 22.923-51.2 51.2-51.2 22.218 0 41.13 14.152 48.215 33.933l0.112 0.357 60.928 164.608 310.784-510.72-281.6 32.512-142.080 230.4c-6.846 11.049-17.646 19.094-30.382 22.202l-0.338 0.070h-6.4c-2.001 0.367-4.304 0.577-6.656 0.577s-4.655-0.21-6.891-0.612l0.235 0.035c-7.397-0.938-14.069-3.387-19.92-7.033l0.208 0.121-332.8-202.752c-41.525-25.053-68.866-69.925-68.866-121.183 0-26.712 7.425-51.689 20.323-72.981l-0.354 0.629 59.904-98.816c25.23-40.968 69.837-67.869 120.728-67.869 27.103 0 52.424 7.63 73.932 20.86l-0.613-0.351 200.96 121.856 40.96-67.584c2.932-4.782 4.669-10.572 4.669-16.768 0-17.919-14.526-32.445-32.445-32.445-11.723 0-21.994 6.218-27.695 15.535l-0.081 0.142-12.544 20.736c-7.063 7.884-17.275 12.822-28.641 12.822-21.208 0-38.4-17.192-38.4-38.4 0-5.174 1.023-10.109 2.878-14.613l-0.093 0.255 12.544-20.48c19.597-30.953 53.657-51.205 92.447-51.205 0.349 0 0.698 0.002 1.046 0.005h-0.053c60.099 0.173 108.751 48.933 108.751 109.056 0 20.914-5.887 40.452-16.094 57.049l0.271-0.473-40.96 67.584 55.808 33.792 345.088-39.68c2.017-0.196 4.359-0.308 6.728-0.308 40.719 0 73.728 33.009 73.728 73.728 0 13.698-3.736 26.524-10.244 37.513l0.187-0.342zM221.184 121.6c-5.76-3.595-12.754-5.726-20.247-5.726-13.905 0-26.095 7.342-32.906 18.36l-0.096 0.166-59.904 97.792c-3.493 5.721-5.562 12.643-5.562 20.047 0 13.984 7.377 26.245 18.451 33.105l0.167 0.096 291.584 176.896 102.4-163.84z" />
|
47 |
+
<glyph unicode="" glyph-name="image-layers" d="M897.28 960h-512c-70.692 0-128-57.308-128-128v0-124.16h-129.28c-70.14-0.724-126.72-57.751-126.72-127.994 0-0.002 0-0.005 0-0.007v0-515.84c0-70.692 57.308-128 128-128v0h510.72c70.14 0.724 126.72 57.751 126.72 127.994 0 0.002 0 0.005 0 0.007v0 124.16h131.84c70.692 0 128 57.308 128 128v0 515.84c0 0.002 0 0.004 0 0.006 0 70.692-57.308 128-128 128-0.45 0-0.899-0.002-1.348-0.007l0.068 0.001zM664.064 64c0-14.138-11.462-25.6-25.6-25.6v0h-510.464c-14.138 0-25.6 11.462-25.6 25.6v0 516.096c0 14.138 11.462 25.6 25.6 25.6v0h512c14.138 0 25.6-11.462 25.6-25.6v0zM921.6 315.904c0-14.138-11.462-25.6-25.6-25.6v0h-130.56v289.792c0 0.002 0 0.004 0 0.006 0 70.242-56.58 127.27-126.651 127.993l-0.069 0.001h-278.784v123.904c0 14.138 11.462 25.6 25.6 25.6v0h512c14.138 0 25.6-11.462 25.6-25.6v0z" />
|
48 |
+
<glyph unicode="" glyph-name="instagram-feed" d="M1021.185 659.019c-0.751 44.832-9.132 87.479-23.895 127.015l0.861-2.63c-13.62 35.496-33.821 65.731-59.321 90.547l-0.056 0.054c-24.912 25.418-55.137 45.527-88.888 58.541l-1.713 0.581c-37.011 14.227-79.807 22.877-124.502 23.796l-0.394 0.006c-54.77 3.071-72.174 3.071-211.403 3.071s-156.121 0-210.891-2.815c-44.715-0.687-87.285-8.98-126.762-23.634l2.633 0.856c-35.667-13.843-66.001-34.392-90.768-60.307l-0.089-0.094c-25.341-24.913-45.37-55.142-58.289-88.889l-0.576-1.712c-14.394-36.776-23.062-79.333-23.798-123.819l-0.004-0.31c-3.327-54.77-3.327-72.174-3.327-211.147s0-156.633 3.071-211.147c0.852-44.813 9.509-87.354 24.663-126.668l-0.86 2.539c13.561-35.564 33.676-65.878 59.083-90.82l0.038-0.037c24.854-25.809 55.081-46.253 88.901-59.556l1.7-0.589c36.769-14.089 79.281-22.725 123.667-23.793l0.462-0.009c54.77-1.792 72.174-1.792 211.147-1.792s156.377 0 211.147 2.815c44.715 0.687 87.285 8.98 126.762 23.634l-2.633-0.856c69.708 27.177 123.825 81.295 150.389 149.222l0.613 1.781c14.268 36.775 22.923 79.313 23.796 123.758l0.006 0.371c1.792 54.514 1.792 71.918 1.792 211.147s0 156.377-2.559 210.891zM929.048 241.076c-0.489-34.304-6.923-66.959-18.313-97.185l0.653 1.976c-17.676-44.72-52.476-79.436-96.104-96.601l-1.152-0.399c-28.172-10.979-60.775-17.438-94.86-17.659h-0.093c-54.002-2.559-70.382-3.071-206.796-3.071s-153.562 0-207.052 3.071c-34.177 0.222-66.781 6.681-96.819 18.294l1.867-0.635c-23.095 8.559-42.768 21.564-58.829 38.097l-0.036 0.038c-16.478 16.157-29.466 35.81-37.769 57.763l-0.366 1.102c-10.747 28.17-17.182 60.739-17.657 94.748l-0.002 0.205c-2.303 53.747-2.815 70.126-2.815 207.308s0 153.562 2.815 206.796c0.444 34.209 6.883 66.781 18.308 96.9l-0.648-1.947c8.59 23.126 21.686 42.807 38.339 58.816l0.051 0.049c16.098 16.57 35.77 29.575 57.781 37.78l1.084 0.354c28.172 10.979 60.775 17.438 94.86 17.659h0.093c54.002 2.559 70.382 3.071 206.796 3.071s153.562 0 206.796-3.071c34.263-0.2 66.957-6.662 97.079-18.295l-1.871 0.636c23.005-8.567 42.593-21.571 58.567-38.091l0.042-0.044c16.646-16.096 29.731-35.765 38.031-57.779l0.359-1.086c10.747-28.17 17.182-60.739 17.657-94.748l0.002-0.205c2.303-54.002 2.815-70.126 2.815-206.796s-0.512-153.562-2.815-207.052zM511.872 710.974c-145.197-0.146-262.846-117.885-262.846-263.102 0-145.307 117.795-263.102 263.102-263.102s263.102 117.795 263.102 263.102c0 0.090 0 0.18 0 0.27v-0.014c0 0 0 0 0 0 0 145.166-117.68 262.846-262.846 262.846-0.18 0-0.36 0-0.54-0.001h0.028zM511.872 277.419c-94.28 0-170.709 76.429-170.709 170.709s76.429 170.709 170.709 170.709c94.28 0 170.709-76.429 170.709-170.709v0c0-94.28-76.429-170.709-170.709-170.709v0zM846.892 721.468c0-33.924-27.501-61.425-61.425-61.425s-61.425 27.501-61.425 61.425c0 33.924 27.501 61.425 61.425 61.425v0c0.076 0 0.166 0.001 0.256 0.001 33.783 0 61.169-27.386 61.169-61.169 0-0.090 0-0.18-0.001-0.27v0.014z" />
|
49 |
+
<glyph unicode="" glyph-name="ken-burns" d="M896-64h-768c-70.692 0-128 57.308-128 128v0 768c0 70.692 57.308 128 128 128v0h278.528c28.277 0 51.2-22.923 51.2-51.2s-22.923-51.2-51.2-51.2v0h-278.528c-14.138 0-25.6-11.462-25.6-25.6v0-768c0-14.138 11.462-25.6 25.6-25.6v0h768c14.138 0 25.6 11.462 25.6 25.6v0 228.352c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2v0-228.352c0-70.692-57.308-128-128-128v0zM1024 908.8v-369.664c0-28.277-22.923-51.2-51.2-51.2s-51.2 22.923-51.2 51.2v0 246.272l-373.504-373.504c-8.895-7.652-20.555-12.311-33.303-12.311-28.277 0-51.2 22.923-51.2 51.2 0 12.749 4.659 24.409 12.368 33.371l-0.057-0.067 373.504 373.504h-212.48c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0h335.872c1.46 0.187 3.15 0.294 4.864 0.294s3.404-0.107 5.062-0.314l-0.198 0.020c3.44-0.752 6.434-1.721 9.294-2.943l-0.334 0.127 8.192-4.352s0 0 0 0c2.731-2.113 5.151-4.208 7.451-6.426l-0.027 0.026c2.192-2.273 4.287-4.693 6.249-7.222l0.151-0.202s0 0 0 0c1.384-2.23 2.835-4.916 4.138-7.685l0.214-0.507s0 0 0 0c2.406-3.393 4.477-7.281 6.028-11.423l0.116-0.353c0.207-1.538 0.325-3.315 0.325-5.12s-0.118-3.582-0.347-5.325l0.022 0.205z" />
|
50 |
+
<glyph unicode="" glyph-name="lottie-section-background" d="M972.8-64h-921.6c-28.277 0-51.2 22.923-51.2 51.2v0 921.6c0 28.277 22.923 51.2 51.2 51.2v0h921.6c28.277 0 51.2-22.923 51.2-51.2v0-921.6c0-28.277-22.923-51.2-51.2-51.2v0zM102.4 857.6v-819.2h819.2v819.2zM782.080 648.96c-1.865-26.75-24.022-47.744-51.083-47.744-2.207 0-4.381 0.14-6.514 0.41l0.253-0.026h-1.536c-20.277-0.815-38.332-9.698-51.158-23.506l-0.042-0.046c-39.624-37.719-72.674-81.886-97.557-130.899l-1.259-2.733c-5.632-10.24-11.264-20.224-16.64-30.464-14.848-25.6-29.696-53.504-45.568-79.872-30.788-53.58-70.537-98.474-117.675-134.109l-1.109-0.803c-25.659-18.893-57.89-30.236-92.771-30.236-1.045 0-2.088 0.010-3.129 0.030l0.156-0.002c-17.084 0.379-32.471 7.342-43.786 18.442l0.010-0.010c-7.369 8.172-11.878 19.049-11.878 30.978 0 1.080 0.037 2.152 0.11 3.213l-0.008-0.143c1.795 26.812 23.983 47.88 51.092 47.88 2.567 0 5.089-0.189 7.555-0.554l-0.279 0.034h1.536c20.277 0.815 38.332 9.698 51.158 23.506l0.042 0.046c39.624 37.719 72.674 81.886 97.557 130.899l1.259 2.733c5.632 10.24 11.264 20.224 16.64 30.464 14.848 25.6 29.696 53.504 45.568 79.872 30.788 53.58 70.537 98.474 117.675 134.109l1.109 0.803c25.659 18.893 57.89 30.236 92.771 30.236 1.045 0 2.088-0.010 3.129-0.030l-0.156 0.002c17.084-0.379 32.471-7.342 43.786-18.442l-0.010 0.010c6.802-8.012 10.938-18.473 10.938-29.9 0-1.46-0.068-2.905-0.2-4.331l0.014 0.183z" />
|
51 |
+
<glyph unicode="" glyph-name="magic-section" d="M1008.896 872.704l-249.856-250.112h176.64c28.277 0 51.2-22.923 51.2-51.2s-22.923-51.2-51.2-51.2v0h-300.288c-1.46-0.187-3.15-0.294-4.864-0.294s-3.404 0.107-5.062 0.314l0.198-0.020c-2.679 0.362-5.098 0.99-7.393 1.867l0.225-0.075-6.656 2.816h-1.792c-2.050 0.972-3.815 2.082-5.431 3.371l0.055-0.043-5.632 4.864c-1.715 1.716-3.31 3.554-4.769 5.499l-0.095 0.133c-1.246 1.561-2.356 3.326-3.257 5.211l-0.071 0.165c-0.040 0.269-0.063 0.58-0.063 0.896s0.023 0.627 0.067 0.931l-0.004-0.035c-0.96 1.827-1.911 4.026-2.707 6.297l-0.109 0.359c-0.602 1.671-1.219 3.813-1.716 6l-0.076 0.4c-0.181 1.498-0.284 3.233-0.284 4.992s0.103 3.494 0.304 5.199l-0.020-0.207v302.848c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2v0-176.64l248.064 249.856c9.255 9.201 22.011 14.889 36.096 14.889s26.842-5.687 36.098-14.891l-0.002 0.002c9.201-9.255 14.889-22.011 14.889-36.096s-5.687-26.842-14.891-36.098l0.002 0.002zM439.808 324.608v-300.288c0-28.277-22.923-51.2-51.2-51.2s-51.2 22.923-51.2 51.2v0 176.64l-250.112-249.856c-9.255-9.201-22.011-14.889-36.096-14.889s-26.842 5.687-36.098 14.891l0.002-0.002c-9.201 9.255-14.889 22.011-14.889 36.096s5.687 26.842 14.891 36.098l-0.002-0.002 249.856 250.112h-176.64c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0h300.288c1.498 0.181 3.233 0.284 4.992 0.284s3.494-0.103 5.199-0.304l-0.207 0.020 6.4-1.792 6.656-2.816h1.792c2.050-0.972 3.815-2.082 5.431-3.371l-0.055 0.043 5.632-4.864c1.715-1.716 3.31-3.554 4.769-5.499l0.095-0.133c1.246-1.561 2.356-3.326 3.257-5.211l0.071-0.165c0.040-0.269 0.063-0.58 0.063-0.896s-0.023-0.627-0.067-0.931l0.004 0.035c0.96-1.827 1.911-4.026 2.707-6.297l0.109-0.359c0.602-1.671 1.219-3.813 1.716-6l0.076-0.4c1.383-3.697 2.3-7.973 2.555-12.427l0.005-0.117zM439.808 871.68v-300.288c0.181-1.498 0.284-3.233 0.284-4.992s-0.103-3.494-0.304-5.199l0.020 0.207c-0.573-2.587-1.19-4.729-1.919-6.818l0.127 0.418c-0.905-2.63-1.856-4.829-2.95-6.941l0.134 0.285c0.040-0.269 0.063-0.58 0.063-0.896s-0.023-0.627-0.067-0.931l0.004 0.035c-0.972-2.050-2.082-3.815-3.371-5.431l0.043 0.055c-1.554-2.078-3.149-3.916-4.864-5.632v0l-5.632-4.864c-1.561-1.246-3.326-2.356-5.211-3.257l-0.165-0.071h-1.792l-6.656-2.816c-2.070-0.802-4.489-1.43-6.998-1.773l-0.17-0.019c-1.46-0.187-3.15-0.294-4.864-0.294s-3.404 0.107-5.062 0.314l0.198-0.020h-302.336c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0h176.64l-249.856 247.552c-9.201 9.255-14.889 22.011-14.889 36.096s5.687 26.842 14.891 36.098l-0.002-0.002c9.255 9.201 22.011 14.889 36.096 14.889s26.842-5.687 36.098-14.891l-0.002 0.002 250.112-249.856v176.64c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2v0zM1008.896-48.896c-9.255-9.201-22.011-14.889-36.096-14.889s-26.842 5.687-36.098 14.891l0.002-0.002-250.112 249.856v-176.64c0-28.277-22.923-51.2-51.2-51.2s-51.2 22.923-51.2 51.2v0 300.288c-0.181 1.498-0.284 3.233-0.284 4.992s0.103 3.494 0.304 5.199l-0.020-0.207c0.573 2.587 1.19 4.729 1.919 6.818l-0.127-0.418c0.874 2.817 1.83 5.191 2.95 7.469l-0.134-0.301c-0.040 0.269-0.063 0.58-0.063 0.896s0.023 0.627 0.067 0.931l-0.004-0.035c0.972 2.050 2.082 3.815 3.371 5.431l-0.043-0.055c1.554 2.078 3.149 3.916 4.864 5.632v0l5.632 4.864c1.561 1.246 3.326 2.356 5.211 3.257l0.165 0.071h1.792l6.656 2.816 6.4 1.792c1.498 0.181 3.233 0.284 4.992 0.284s3.494-0.103 5.199-0.304l-0.207 0.020h302.848c28.277 0 51.2-22.923 51.2-51.2s-22.923-51.2-51.2-51.2v0h-176.64l249.856-250.112c8.608-9.139 13.899-21.488 13.899-35.072s-5.29-25.933-13.923-35.098l0.024 0.026z" />
|
52 |
+
<glyph unicode="" glyph-name="multi-scroll" d="M432.64 610.304c-9.267-9.277-22.075-15.016-36.224-15.016s-26.957 5.739-36.224 15.016v0l-85.248 85.248v-625.408c0-28.277-22.923-51.2-51.2-51.2s-51.2 22.923-51.2 51.2v0 625.408l-85.248-85.248c-9.041-8.188-21.091-13.199-34.312-13.199-28.277 0-51.2 22.923-51.2 51.2 0 13.285 5.059 25.388 13.357 34.487l-0.036-0.040 169.216 168.96c0.988 0.925 2.076 1.769 3.238 2.507l0.090 0.053c2.027 1.945 4.197 3.791 6.475 5.502l0.181 0.13 3.328 2.048c2.081 1.748 4.436 3.284 6.965 4.519l0.203 0.089c5.657 2.248 12.212 3.551 19.072 3.551s13.415-1.303 19.431-3.676l-0.359 0.125 6.4-3.328c2.067-0.853 3.845-1.974 5.396-3.346l-0.020 0.018 5.632-4.864 3.328-3.584 169.216-168.96c9.125-9.241 14.761-21.946 14.761-35.967 0-14.149-5.739-26.957-15.017-36.224v0zM223.744 870.4c0.037 0 0.081 0 0.125 0 6.776 0 13.244-1.316 19.163-3.707l-0.344 0.123c-5.528 2.137-11.924 3.375-18.61 3.375-6.937 0-13.563-1.333-19.636-3.757l0.357 0.126c5.59 2.428 12.101 3.84 18.942 3.84 0.001 0 0.001 0 0.002 0v0zM1008.896 206.592l-172.544-171.52c-1.996-2.046-4.172-3.897-6.51-5.535l-0.146-0.097-3.328-2.048c-1.759-1.132-3.783-2.165-5.91-2.992l-0.234-0.080c-2.526-1.095-5.52-2.064-8.62-2.753l-0.34-0.063c-2.924-0.649-6.283-1.021-9.728-1.021s-6.804 0.372-10.038 1.078l0.31-0.057c-3.574 0.708-6.664 1.592-9.645 2.699l0.429-0.139-6.4 3.328c-2.067 0.853-3.845 1.974-5.396 3.346l0.020-0.018-6.912 4.352-172.544 171.52c-9.271 9.271-15.004 22.078-15.004 36.224 0 28.293 22.936 51.228 51.228 51.228 14.146 0 26.953-5.734 36.224-15.004l85.248-85.248v625.408c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2v0-625.408l85.248 85.248c9.4 10.31 22.887 16.753 37.88 16.753 28.277 0 51.2-22.923 51.2-51.2 0-15.056-6.499-28.594-16.844-37.963l-0.044-0.039z" />
|
53 |
+
<glyph unicode="" glyph-name="parallax" horiz-adv-x="847" d="M841.472 629.504c-8.619 16.836-25.849 28.16-45.723 28.16-0.035 0-0.071 0-0.106 0h-179.194l82.432 234.24c1.656 4.818 2.612 10.37 2.612 16.145 0 11.464-3.768 22.048-10.133 30.582l0.096-0.135c-9.398 13.083-24.57 21.504-41.708 21.504-0.007 0-0.014 0-0.021 0h-387.839c-0.034 0-0.074 0-0.113 0-7.29 0-14.205-1.604-20.411-4.477l0.301 0.125c-1.269-0.32-2.381-0.85-3.356-1.556l0.028 0.020c-3.416-1.68-6.361-3.642-9.013-5.933l0.053 0.045c-1.34-0.998-2.515-2.092-3.56-3.3l-0.024-0.028c-5.82-5.654-10.239-12.719-12.707-20.644l-0.093-0.348-209.408-534.272c-2.173-5.467-3.433-11.803-3.433-18.432 0-28.224 22.837-51.114 51.041-51.2h307.208l-69.12-320.512c-0.057-0.231-0.090-0.496-0.090-0.768s0.033-0.537 0.095-0.791l-0.005 0.023c-0.18-1.613-0.283-3.482-0.283-5.376s0.103-3.763 0.303-5.604l-0.020 0.228c-0.126-1.304-0.198-2.82-0.198-4.352s0.072-3.048 0.213-4.543l-0.015 0.191c0.462-3.187 1.177-6.036 2.146-8.765l-0.098 0.317c3.683-9.814 9.867-17.977 17.787-23.967l0.133-0.097c2.301-1.734 4.901-3.352 7.642-4.73l0.294-0.134 6.656-2.56 6.4-1.792c1.38-0.121 2.986-0.19 4.608-0.19s3.228 0.069 4.815 0.204l-0.207-0.014c2.126-0.433 4.596-0.71 7.12-0.767l0.048-0.001h8.192l5.376 2.304c1.574 0.55 2.934 1.333 4.117 2.321l-0.021-0.017c5.626 3.529 10.376 7.872 14.242 12.928l0.094 0.128 2.304 3.328 455.936 619.008c6.289 8.407 10.070 19.008 10.070 30.493 0 8.391-2.019 16.311-5.597 23.3l0.134-0.289zM438.272 208.128l32.256 152.064c0.728 3.236 1.144 6.951 1.144 10.765 0 28.277-22.923 51.2-51.2 51.2-0.402 0-0.804-0.005-1.204-0.014l0.059 0.001h-293.12l170.496 435.456h280.32l-81.152-230.4-1.28-3.328c-0.77-1.911-1.394-4.15-1.768-6.473l-0.024-0.183v-5.12c-0.064-0.767-0.101-1.659-0.101-2.56s0.037-1.793 0.109-2.676l-0.008 0.116s0-2.56 0-3.584c-0.119-0.961-0.188-2.072-0.188-3.2s0.068-2.239 0.201-3.331l-0.013 0.131c0.549-3.46 1.441-6.56 2.661-9.489l-0.101 0.273v-1.536c0.555-1.388 1.156-2.567 1.849-3.683l-0.057 0.099c0.646-1.671 1.51-3.111 2.578-4.374l-0.018 0.022 2.304-3.072c2.179-2.902 4.622-5.426 7.343-7.617l0.081-0.063c3.711-2.876 7.916-5.441 12.396-7.512l0.404-0.168 4.608-1.792c1.937-0.729 4.191-1.27 6.531-1.525l0.125-0.011c1.266-0.121 2.737-0.19 4.224-0.19s2.958 0.069 4.41 0.204l-0.186-0.014h150.784zM288.768-21.504c-0.119 0.808-0.187 1.74-0.187 2.688s0.068 1.88 0.199 2.792l-0.012-0.104v3.328c-0.126-1.304-0.198-2.82-0.198-4.352s0.072-3.048 0.213-4.543l-0.015 0.191zM528.128 557.568h-4.608z" />
|
54 |
+
<glyph unicode="" glyph-name="particles" horiz-adv-x="1010" d="M878.080 237.056v4.096l-94.208 435.2c0.069 0.423 0.108 0.911 0.108 1.408s-0.039 0.985-0.115 1.46l0.007-0.052c36.629 29.186 59.899 73.792 59.899 123.833 0 87.234-70.718 157.952-157.952 157.952s-157.952-70.718-157.952-157.952c0-0.425 0.002-0.849 0.005-1.274v0.065c0-0.101 0-0.221 0-0.34 0-15.864 2.433-31.161 6.948-45.535l-0.291 1.075-281.088-249.088c-23.858 14.002-52.545 22.272-83.163 22.272-0.013 0-0.026 0-0.039 0h0.002c-94.021 0-170.24-76.219-170.24-170.24s76.219-170.24 170.24-170.24v0c0.207-0.001 0.453-0.001 0.699-0.001 37.1 0 71.373 12.104 99.085 32.579l-0.455-0.321 440.32-162.56c13.692-70.478 74.921-122.958 148.406-122.958 83.417 0 151.040 67.623 151.040 151.040 0 76.713-57.19 140.068-131.26 149.756l-0.762 0.081zM684.288 857.6c0.076 0 0.166 0.001 0.256 0.001 31.529 0 57.088-25.559 57.088-57.088s-25.559-57.088-57.088-57.088c-31.529 0-57.088 25.559-57.088 57.087v0c0 0.076-0.001 0.166-0.001 0.256 0 31.387 25.445 56.832 56.832 56.832 0 0 0 0 0.001 0v0zM100.864 359.936c0.18 38.179 31.171 69.060 69.375 69.060 18.952 0 36.129-7.599 48.65-19.917l-0.009 0.009 3.84-4.096c10.32-12.049 16.61-27.815 16.64-45.050v-0.006c-0.064-16.947-6.041-32.486-15.974-44.673l0.102 0.129-3.84-4.352c-12.538-12.459-29.818-20.16-48.896-20.16-38.293 0-69.34 31.024-69.376 69.309v0.003zM727.296 160.768l-395.52 145.92c5.501 15.884 8.686 34.191 8.704 53.24v0.008c-0.092 27.138-6.51 52.755-17.854 75.484l0.446-0.988 267.776 239.616c25.385-18.72 57.285-29.961 91.809-29.961 0.573 0 1.146 0.003 1.718 0.009l-0.087-0.001h3.328l92.16-424.704c-0.070-0.614-0.11-1.327-0.11-2.048s0.040-1.434 0.117-2.134l-0.008 0.086c-21.923-13.591-39.658-31.982-52.092-53.789l-0.388-0.739zM859.136 37.12c-28.27 0.009-51.184 22.929-51.184 51.2 0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2c0-0.45-0.006-0.899-0.017-1.346l0.001 0.066c-0.715-27.721-23.357-49.92-51.184-49.92-0.006 0-0.011 0-0.017 0h0.001z" />
|
55 |
+
<glyph unicode="" glyph-name="preview-window" d="M718.336-64h-564.736c-84.831 0-153.6 68.769-153.6 153.6v0 564.736c0 84.831 68.769 153.6 153.6 153.6v0h355.84c28.277 0 51.2-22.923 51.2-51.2s-22.923-51.2-51.2-51.2v0h-355.84c-28.277 0-51.2-22.923-51.2-51.2v0-564.736c0-28.277 22.923-51.2 51.2-51.2v0h564.736c28.277 0 51.2 22.923 51.2 51.2v0 354.304c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2v0-354.304c0-84.831-68.769-153.6-153.6-153.6v0zM820.736 553.472c-0.229-0.001-0.499-0.001-0.769-0.001-111.566 0-202.059 90.224-202.494 201.688v3.882c0 112.26 91.004 203.264 203.264 203.264s203.264-91.004 203.264-203.264v0-3.84c-0.436-111.505-90.929-201.729-202.495-201.729-0.271 0-0.541 0.001-0.811 0.002h0.042zM820.736 857.6c-0.307 0.003-0.669 0.005-1.032 0.005-54.692 0-99.113-43.976-99.831-98.498l-0.001-0.068v-3.84c0-55.706 45.158-100.864 100.864-100.864s100.864 45.158 100.864 100.864v0 3.84c-0.719 54.589-45.14 98.565-99.832 98.565-0.363 0-0.725-0.002-1.087-0.006h0.055z" />
|
56 |
+
<glyph unicode="" glyph-name="tables" d="M966.144 960h-908.288c-31.953 0-57.856-25.903-57.856-57.856v0-908.288c0-31.953 25.903-57.856 57.856-57.856v0h908.288c31.953 0 57.856 25.903 57.856 57.856v0 908.288c0 31.953-25.903 57.856-57.856 57.856v0zM418.56 844.288h186.88v-187.136h-186.88zM418.56 541.44h186.88v-186.88h-186.88zM302.848 51.712h-187.136v187.136h187.136zM302.848 354.56h-187.136v186.88h187.136zM302.848 657.152h-187.136v187.136h187.136zM605.44 51.712h-186.88v187.136h186.88zM908.288 51.712h-187.136v187.136h187.136zM908.288 354.56h-187.136v186.88h187.136zM908.288 657.152h-187.136v187.136h187.136z" />
|
57 |
+
<glyph unicode="" glyph-name="tabs" d="M972.8 532.48h-921.6c-28.277 0-51.2 22.923-51.2 51.2v0 325.12c0 28.277 22.923 51.2 51.2 51.2v0h921.6c28.277 0 51.2-22.923 51.2-51.2v0-325.12c0-28.277-22.923-51.2-51.2-51.2v0zM102.4 634.88h819.2v222.72h-819.2zM972.8-64h-921.6c-28.277 0-51.2 22.923-51.2 51.2v0 325.12c0 28.277 22.923 51.2 51.2 51.2v0h921.6c28.277 0 51.2-22.923 51.2-51.2v0-325.12c0-28.277-22.923-51.2-51.2-51.2v0zM102.4 38.4h819.2v222.72h-819.2z" />
|
58 |
+
<glyph unicode="" glyph-name="trustpilot" d="M195.584-39.424l119.808 374.528-315.392 227.328 389.888 2.816 122.112 369.152 119.296-369.152 392.704-2.816-512-369.152-316.416-232.704zM832-36.864l-320 230.144 221.696 61.44 98.304-291.584z" />
|
59 |
+
<glyph unicode="" glyph-name="twitter-feed" d="M322.048 38.4c386.304 0 597.76 320 597.76 597.76 0 8.96 0 17.92 0 27.136 41.023 30.13 75.596 66.169 103.222 107.268l0.97 1.532c-35.109-16.142-75.839-27.862-118.577-33.081l-1.999-0.199c43.321 26.458 75.94 66.791 91.98 114.721l0.436 1.503c-38.467-23.22-83.226-40.975-130.898-50.732l-2.734-0.468c-38.48 41.26-93.16 66.981-153.847 66.981-116.077 0-210.176-94.099-210.176-210.176 0-17.133 2.050-33.786 5.918-49.729l-0.295 1.437c-174.874 9.249-328.64 92.418-431.795 218.582l-0.845 1.066c-18.199-30.472-28.959-67.211-28.959-106.463 0-72.791 37.004-136.939 93.226-174.659l0.757-0.478c-34.967 0.923-67.551 10.298-96.041 26.144l1.065-0.544v-2.56c0.591-100.815 72.070-184.766 167.084-204.562l1.364-0.238c-15.949-4.402-34.263-6.932-53.168-6.932-1.018 0-2.034 0.007-3.049 0.022l0.153-0.002c-14.1 0.109-27.804 1.501-41.090 4.067l1.41-0.227c27.752-84.096 104.81-144.061 196.135-145.917l0.217-0.003c-70.634-55.776-160.879-89.566-259.006-89.856h-0.066c-0.057 0-0.125 0-0.193 0-17.97 0-35.702 1.023-53.139 3.014l2.132-0.198c90.704-59.076 201.703-94.209 320.908-94.209 0.401 0 0.801 0 1.202 0.001h-0.062z" />
|
60 |
+
<glyph unicode="" glyph-name="unfold" d="M1024 448c0-28.277-22.923-51.2-51.2-51.2v0h-409.6v-409.6c0-28.277-22.923-51.2-51.2-51.2s-51.2 22.923-51.2 51.2v0 409.6h-409.6c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0h409.6v409.6c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2v0-409.6h409.6c28.277 0 51.2-22.923 51.2-51.2v0z" />
|
61 |
+
<glyph unicode="" glyph-name="whatsapp-chat" horiz-adv-x="1019" d="M870.4 811.264c-91.866 92.1-218.903 149.081-359.249 149.081-280.225 0-507.392-227.167-507.392-507.392 0-93.548 25.317-181.184 69.472-256.429l-1.295 2.388-71.936-262.912 268.8 70.656c70.087-38.943 153.7-61.891 242.669-61.952h0.019c280.104 0.348 507.038 227.496 507.038 507.648 0 140.159-56.801 267.051-148.639 358.914l0.001-0.001zM512 30.464v0c-0.009 0-0.019 0-0.029 0-79.439 0-153.744 21.982-217.163 60.196l1.896-1.060-15.36 8.96-159.744-41.984 42.752 155.648-9.984 15.872c-40.423 63.543-64.423 140.968-64.423 223.998 0 232.861 188.771 421.632 421.632 421.632s421.632-188.771 421.632-421.632c0-232.442-188.093-420.953-420.376-421.63h-0.065zM742.4 346.368c-12.8 6.4-75.008 37.12-86.528 41.216s-20.224 6.4-28.672-6.4-32.768-41.216-40.192-49.664-14.592-9.472-27.392-3.072c-39.436 15.796-73.35 37.052-102.739 63.273l0.339-0.297c-27.318 25.263-50.755 54.159-69.686 86.044l-0.97 1.764c-7.424 12.544 0 18.688 5.632 25.6 11.043 12.806 21.504 26.932 30.885 41.806l0.859 1.458c1.721 3.231 2.732 7.065 2.732 11.136s-1.011 7.905-2.795 11.266l0.063-0.13c-3.328 6.4-28.672 68.608-39.168 94.208s-20.736 21.248-28.416 21.76h-24.32c-13.568-0.331-25.66-6.382-34.005-15.822l-0.043-0.050c-27.463-25.963-44.557-62.648-44.557-103.324 0-0.665 0.005-1.329 0.014-1.992l-0.001 0.1c4.336-49.989 22.916-94.95 51.609-131.615l-0.409 0.543c6.4-8.448 89.6-136.448 216.576-191.488 18.463-7.996 42.51-16.704 67.087-24.195l5.361-1.405c15.146-4.835 32.567-7.622 50.639-7.622 10.328 0 20.444 0.91 30.271 2.655l-1.039-0.153c24.32 3.584 75.008 30.72 85.504 60.416 5.598 12.575 8.858 27.248 8.858 42.682 0 6.173-0.521 12.224-1.523 18.111l0.089-0.633c-3.072 5.376-11.776 8.448-24.32 14.848z" />
|
62 |
+
<glyph unicode="" glyph-name="yelp-reviews" horiz-adv-x="784" d="M289.792 301.056c23.635 7.12 40.616 28.539 40.96 53.976v0.040c0.146 1.563 0.23 3.38 0.23 5.217 0 24.667-15.038 45.822-36.446 54.797l-0.392 0.146-46.336 18.944c-168.192 69.376-168.704 69.376-179.2 69.376-0.438 0.013-0.954 0.021-1.471 0.021-18.86 0-35.338-10.197-44.222-25.379l-0.131-0.242c-20.736-33.024-25.6-121.856-19.712-171.008 1.117-17.27 5.247-33.305 11.871-47.972l-0.351 0.868c8.084-16.521 24.361-27.919 43.393-28.923l0.127-0.005h1.28c9.728 0 25.6 4.608 163.328 49.408l67.072 20.736zM370.176 267.52c-6.839 2.977-14.805 4.708-23.176 4.708-18.048 0-34.216-8.050-45.109-20.756l-0.067-0.080-32-37.888c-117.504-137.984-117.76-139.008-121.6-149.504-1.922-5.083-3.035-10.96-3.035-17.096 0-1.642 0.080-3.266 0.235-4.867l-0.016 0.203c1.159-11.353 5.708-21.468 12.604-29.512l-0.060 0.072c27.136-32.768 141.312-76.8 194.048-76.8 1.686-0.134 3.65-0.211 5.632-0.211s3.946 0.077 5.89 0.227l-0.258-0.016c18.8 2.767 34.093 15.418 40.586 32.417l0.118 0.351c3.584 10.24 3.584 11.008 4.096 173.568 0 0 0 64.768 0 68.096 0.032 0.711 0.050 1.546 0.050 2.384 0 24.854-16.026 45.964-38.308 53.562l-0.398 0.118zM765.184 240.384c-8.704 6.4-9.216 6.656-163.584 57.344l-64.768 22.272c-5.741 2.138-12.373 3.375-19.295 3.375-18.685 0-35.263-9.017-45.622-22.936l-0.108-0.151c-9.107-10.384-14.663-24.080-14.663-39.074 0-11.496 3.266-22.229 8.921-31.322l-0.146 0.252 25.6-42.496c94.976-153.6 96.256-155.136 104.704-162.048 8.213-6.388 18.672-10.242 30.032-10.242 0.152 0 0.304 0.001 0.455 0.002h-0.023c0.093-0.001 0.203-0.001 0.313-0.001 7.659 0 14.943 1.601 21.537 4.488l-0.346-0.135c42.752 16.896 128 125.952 135.168 171.52 0.555 2.829 0.872 6.083 0.872 9.41 0 16.285-7.603 30.795-19.453 40.172l-0.107 0.082zM512.512 371.2h3.584c0.924-0.176 1.986-0.277 3.072-0.277s2.148 0.101 3.178 0.294l-0.106-0.017c7.424 2.816 23.040 6.656 47.872 12.544v0c175.872 42.496 176.896 43.264 186.624 49.664 13.486 9.356 22.205 24.759 22.205 42.199 0 1.547-0.069 3.077-0.203 4.589l0.014-0.195s0 2.304 0 3.072c-4.864 47.104-81.152 159.488-121.6 179.2-6.976 3.795-15.277 6.026-24.099 6.026-10.577 0-20.405-3.207-28.564-8.702l0.183 0.116c-9.216-6.144-9.216-6.144-105.472-137.728l-40.704-55.296c-7.512-9.483-12.050-21.619-12.050-34.816 0-12.296 3.941-23.672 10.628-32.934l-0.114 0.166c10.945-16.98 29.76-28.063 51.164-28.063 1.544 0 3.075 0.058 4.59 0.171l-0.202-0.012zM388.864 921.088c-5.462 18.62-20.382 32.775-39.068 37.051l-0.356 0.069c-48.64 11.776-219.136-35.84-253.44-71.424-9.96-9.364-16.163-22.625-16.163-37.334 0-4.471 0.573-8.808 1.65-12.942l-0.079 0.356c-0.053-0.461-0.083-0.995-0.083-1.536s0.030-1.075 0.088-1.601l-0.006 0.065c4.864-9.984 161.024-256 208.64-330.752 19.968-32.256 41.984-48.64 65.024-48.64 6.062 0.065 11.863 1.090 17.287 2.931l-0.391-0.115c29.952 8.96 43.776 37.12 41.728 83.712-2.56 58.88-22.784 362.24-25.6 380.16z" />
|
63 |
+
<glyph unicode="" glyph-name="banner" d="M1015.808 121.6l-296.192 484.864c-9.972 15.491-27.129 25.605-46.648 25.605-0.25 0-0.5-0.002-0.749-0.005h0.038c-0.163 0.002-0.356 0.003-0.549 0.003-19.641 0-36.923-10.1-46.935-25.389l-0.131-0.214-284.672-465.664h-198.144l122.88 201.216 45.056-73.216c9.303-15.221 25.714-25.298 44.5-25.599l0.044-0.001h-1.536c0.133-0.001 0.291-0.002 0.449-0.002 18.36 0 34.529 9.383 43.973 23.615l0.122 0.195c5.033 7.788 8.025 17.305 8.025 27.52s-2.992 19.732-8.147 27.722l0.122-0.202-86.016 140.544c-10.077 16.22-27.796 26.859-48 26.859s-37.923-10.639-47.861-26.62l-0.139-0.239-207.104-340.992c-4.825-7.973-7.681-17.605-7.681-27.904s2.855-19.931 7.818-28.148l-0.137 0.244c9.919-16.953 28.038-28.16 48.775-28.16 0.043 0 0.085 0 0.128 0h911.609c0.028 0 0.061 0 0.093 0 20.463 0 38.33 11.116 47.893 27.638l0.142 0.266c4.669 7.78 7.43 17.168 7.43 27.2 0 10.719-3.152 20.702-8.58 29.073l0.127-0.208zM455.424 140.8l216.32 353.792 216.576-353.792zM332.8 870.4c-85.127-0.725-153.856-69.902-153.856-155.131 0-85.679 69.457-155.136 155.136-155.136s155.136 69.457 155.136 155.136c0 0.088 0 0.176 0 0.264v-0.014c-0.725 85.693-70.36 154.88-156.155 154.88-0.092 0-0.184 0-0.276 0h0.014zM332.8 665.6c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2c28.277 0 51.2-22.923 51.2-51.2v0c0-0.076 0.001-0.166 0.001-0.256 0-28.277-22.923-51.2-51.2-51.2 0 0 0 0-0.001 0v0z" />
|
64 |
+
<glyph unicode="" glyph-name="blog" d="M964.096 900.096c-37.044 36.957-88.173 59.809-144.64 59.809s-107.596-22.852-144.644-59.813l-590.332-590.076c-6.357-6.46-11.016-14.609-13.24-23.713l-0.072-0.351-69.632-286.72c-0.897-3.586-1.412-7.703-1.412-11.94 0-14.13 5.724-26.924 14.98-36.188v0c9.226-9.28 21.982-15.043 36.084-15.104h0.012c0.030 0 0.065 0 0.101 0 4.241 0 8.351 0.561 12.261 1.612l-0.329-0.075 106.24 25.6h1.792l179.2 43.52c9.455 2.296 17.604 6.955 24.071 13.319l-0.007-0.007 588.8 590.336c37.339 37.107 60.45 88.494 60.45 145.28 0 56.403-22.801 107.481-59.689 144.519l0.007-0.007zM311.808 103.168l-135.936-33.024-41.472 42.24 32.768 135.424 482.816 481.792c-0.41-2.383-0.644-5.128-0.644-7.928 0-13.735 5.634-26.154 14.716-35.073l116.231-116.231zM891.648 683.008l-39.168-39.168-116.224 116.224c-9.24 9.121-21.943 14.755-35.961 14.755-2.304 0-4.572-0.152-6.796-0.447l0.261 0.028 53.248 53.248c18.1 16.447 42.252 26.517 68.757 26.517 56.554 0 102.4-45.846 102.4-102.4 0-26.504-10.070-50.657-26.592-68.841l0.075 0.084z" />
|
65 |
+
<glyph unicode="" glyph-name="button" d="M512-64c-282.77 0-512 229.23-512 512s229.23 512 512 512c282.77 0 512-229.23 512-512v0c0-282.77-229.23-512-512-512v0zM512 857.6c-226.216 0-409.6-183.384-409.6-409.6s183.384-409.6 409.6-409.6c226.216 0 409.6 183.384 409.6 409.6v0c0 226.216-183.384 409.6-409.6 409.6v0zM668.16 240.64h-312.32c-28.277 0-51.2 22.923-51.2 51.2v0 312.32c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2v0-261.12h209.92v209.92h-104.96c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0h156.16c28.277 0 51.2-22.923 51.2-51.2v0-312.32c0-28.277-22.923-51.2-51.2-51.2v0z" />
|
66 |
+
<glyph unicode="" glyph-name="carousel" d="M378.112 69.888c-14.669 0.259-27.859 6.382-37.366 16.117l-0.010 0.011-325.632 322.56c-9.050 9.228-14.636 21.882-14.636 35.84s5.586 26.612 14.644 35.848l-0.008-0.008 325.632 322.56c9.606 9.264 22.697 14.971 37.12 14.971s27.514-5.707 37.136-14.987l-0.016 0.015c9.277-9.267 15.016-22.075 15.016-36.224s-5.739-26.957-15.016-36.224v0l-288.768-285.952 289.536-287.488c9.277-9.267 15.016-22.075 15.016-36.224s-5.739-26.957-15.016-36.224v0c-9.56-9.041-22.496-14.6-36.73-14.6-0.317 0-0.633 0.003-0.949 0.008l0.047-0.001zM645.888 69.888c-0.042 0-0.092 0-0.141 0-14.23 0-27.163 5.555-36.748 14.616l0.025-0.024c-9.277 9.267-15.016 22.075-15.016 36.224s5.739 26.957 15.016 36.224v0l288.768 287.488-289.536 287.488c-9.277 9.267-15.016 22.075-15.016 36.224s5.739 26.957 15.016 36.224v0c9.58 9.322 22.679 15.071 37.12 15.071s27.54-5.749 37.132-15.083l-0.012 0.012 326.4-324.096c9.050-9.228 14.636-21.882 14.636-35.84s-5.586-26.612-14.644-35.848l0.008 0.008-325.632-322.56c-9.517-9.746-22.707-15.869-37.328-16.127l-0.048-0.001z" />
|
67 |
+
<glyph unicode="" glyph-name="contact-form" d="M972.8 622.592c-28.277 0-51.2-22.923-51.2-51.2v0-379.392c0-28.277-22.923-51.2-51.2-51.2v0h-716.8c-28.277 0-51.2 22.923-51.2 51.2v0 500.736l377.344-307.2c8.717-7.152 19.977-11.495 32.251-11.52h0.005c0.064 0 0.14 0 0.216 0 12.172 0 23.351 4.247 32.138 11.341l-0.097-0.076 428.544 348.16c4.477 3.717 8.294 8.022 11.387 12.835l0.133 0.221 23.808 23.296c9.508 9.304 15.403 22.267 15.403 36.606 0 12.62-4.566 24.174-12.136 33.1l0.061-0.074c-9.453 11.162-23.478 18.2-39.146 18.2-0.548 0-1.094-0.009-1.637-0.026l0.079 0.002h-842.752c-70.692 0-128-57.308-128-128v0-537.6c0-84.831 68.769-153.6 153.6-153.6v0h716.8c84.831 0 153.6 68.769 153.6 153.6v0 379.392c0 28.277-22.923 51.2-51.2 51.2v0zM837.12 755.2l-325.12-263.936-323.84 263.936z" />
|
68 |
+
<glyph unicode="" glyph-name="countdown" d="M1024 712.704v-619.52c0-70.692-57.308-128-128-128v0h-768c-70.692 0-128 57.308-128 128v0 619.52c0 70.692 57.308 128 128 128v0h136.192v42.496c0 28.277 22.923 51.2 51.2 51.2v0c0.012 0 0.026 0 0.041 0 14.192 0 27.035-5.774 36.309-15.102l0.002-0.002c9.177-9.25 14.849-21.991 14.849-36.056 0-0.104 0-0.208-0.001-0.312v0.016-42.24h290.816v42.24c0 0.012 0 0.026 0 0.041 0 28.277 22.923 51.2 51.2 51.2 14.085 0 26.842-5.687 36.098-14.891l-0.002 0.002c9.28-9.226 15.043-21.982 15.104-36.084v-192.78c0-28.277-22.923-51.2-51.2-51.2v0 0c-28.277 0-51.2 22.923-51.2 51.2v0 47.872h-290.816v-48.128c0-28.277-22.923-51.2-51.2-51.2s-51.2 22.923-51.2 51.2v0 48.128h-136.192c-14.138 0-25.6-11.462-25.6-25.6v0-619.52c0-14.138 11.462-25.6 25.6-25.6v0h768c14.138 0 25.6 11.462 25.6 25.6v0 619.52c0 14.138-11.462 25.6-25.6 25.6v0h-43.008c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0h43.008c70.692 0 128-57.308 128-128v0zM315.392 407.040c-28.277 0-51.2 22.923-51.2 51.2v0 0c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2v0c0-28.277-22.923-51.2-51.2-51.2v0zM315.392 207.36c-28.277 0-51.2 22.923-51.2 51.2v0 1.28c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2c0-28.277-22.923-51.2-51.2-51.2v0zM512 406.784c-13.641 0.127-25.986 5.569-35.087 14.351l0.015-0.015c-9.501 9.308-15.391 22.27-15.391 36.608 0 28.294 22.937 51.231 51.231 51.231 13.956 0 26.609-5.581 35.849-14.632l-0.009 0.008c9.819-9.347 15.926-22.515 15.926-37.11 0-13.963-5.59-26.621-14.653-35.858l0.008 0.008c-9.227-9.048-21.88-14.633-35.837-14.633-0.721 0-1.439 0.015-2.153 0.044l0.102-0.003zM512 206.848c-13.641 0.127-25.986 5.569-35.087 14.351l0.015-0.015v1.28c-7.765 8.927-12.498 20.671-12.498 33.52 0 28.277 22.923 51.2 51.2 51.2 12.018 0 23.069-4.141 31.804-11.073l-0.106 0.081c10.492-9.416 17.062-23.019 17.062-38.158 0-28.277-22.923-51.2-51.2-51.2-0.418 0-0.836 0.005-1.251 0.015l0.062-0.001zM708.608 407.040c-28.277 0-51.2 22.923-51.2 51.2v0 0c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2c0-28.277-22.923-51.2-51.2-51.2v0zM708.608 207.36c-28.277 0-51.2 22.923-51.2 51.2v0 1.28c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2c0-28.277-22.923-51.2-51.2-51.2v0z" />
|
69 |
+
<glyph unicode="" glyph-name="counter" horiz-adv-x="867" d="M552.192 211.968c-0.045 0-0.097 0-0.15 0-13.146 0-25.135 4.954-34.201 13.098l0.047-0.042-118.528 106.752c-10.365 9.381-16.859 22.872-16.896 37.881v215.815c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2v0-193.024l102.4-91.392c10.315-9.401 16.763-22.891 16.763-37.888 0-28.23-22.847-51.124-51.060-51.2h-0.007zM484.864 800.512v57.088h113.408c28.277 0 51.2 22.923 51.2 51.2s-22.923 51.2-51.2 51.2v0h-329.216c-28.277 0-51.2-22.923-51.2-51.2s22.923-51.2 51.2-51.2v0h113.408v-57.088c-216.459-26.479-382.464-209.169-382.464-430.631 0-239.506 194.158-433.664 433.664-433.664s433.664 194.158 433.664 433.664c0 221.462-166.006 404.152-380.369 430.422l-2.095 0.209zM433.664 38.4c-0.076 0-0.166 0-0.256 0-183.093 0-331.52 148.427-331.52 331.52s148.427 331.52 331.52 331.52c183.093 0 331.52-148.427 331.52-331.52 0-0.090 0-0.18 0-0.27v0.014c-0.868-182.602-148.662-330.396-331.181-331.264h-0.083z" />
|
70 |
+
<glyph unicode="" glyph-name="dual-heading" d="M642.56 499.2h327.68c29.691 0 53.76-24.069 53.76-53.76s-24.069-53.76-53.76-53.76h-327.68c-29.691 0-53.76 24.069-53.76 53.76s24.069 53.76 53.76 53.76zM53.76 499.2h327.68c29.691 0 53.76-24.069 53.76-53.76s-24.069-53.76-53.76-53.76h-327.68c-29.691 0-53.76 24.069-53.76 53.76s24.069 53.76 53.76 53.76z" />
|
71 |
+
<glyph unicode="" glyph-name="fancy-text" horiz-adv-x="401" d="M398.080 16.128c2.095-5.875 3.306-12.652 3.306-19.712 0-33.359-27.037-60.404-60.393-60.416h-278.273c-0.51-0.015-1.111-0.024-1.713-0.024-26.6 0-49.252 16.904-57.8 40.556l-0.135 0.428c-1.923 5.656-3.034 12.171-3.034 18.945 0 33.405 26.996 60.504 60.362 60.671h80.144v782.848h-76.8c-0.733-0.031-1.593-0.049-2.457-0.049-26.752 0-49.527 17.027-58.080 40.835l-0.135 0.43c-1.932 5.655-3.047 12.169-3.047 18.944 0 33.358 27.035 60.402 60.389 60.416h278.017c0.487 0.014 1.060 0.022 1.635 0.022 26.406 0 48.953-16.52 57.87-39.789l0.143-0.424c2.086-5.876 3.292-12.654 3.292-19.713 0-33.405-26.997-60.505-60.364-60.671h-80.144v-782.848h76.8c0.686 0.027 1.491 0.043 2.3 0.043 26.51 0 49.131-16.651 57.975-40.064l0.141-0.426z" />
|
72 |
+
<glyph unicode="" glyph-name="google-maps" horiz-adv-x="826" d="M412.928 380.416c-0.004 0-0.008 0-0.013 0-49.482 0-94.279 20.055-126.707 52.48v0c-32.433 32.43-52.493 77.232-52.493 126.72 0 98.969 80.231 179.2 179.2 179.2s179.2-80.231 179.2-179.2c0-98.965-80.223-179.193-179.186-179.2h-0.001zM358.656 505.344c13.895-13.878 33.081-22.46 54.272-22.46 42.392 0 76.761 34.346 76.8 76.729v0.004c-0.019 21.2-8.625 40.386-22.527 54.271l-0.001 0.001c-14.056 13.52-33.191 21.846-54.272 21.846s-40.216-8.327-54.297-21.871l0.025 0.024c-13.878-13.895-22.46-33.081-22.46-54.272s8.583-40.377 22.461-54.273l-0.001 0.001zM825.6 535.040c-14.080-340.224-348.16-566.784-384-588.8l-5.632-3.328-5.632-2.56-4.608-1.536c-0.654-0.112-1.408-0.176-2.176-0.176s-1.522 0.064-2.255 0.187l0.079-0.011c-2.847-0.651-6.116-1.025-9.472-1.025s-6.625 0.373-9.768 1.081l0.296-0.056c-0.654-0.112-1.408-0.176-2.176-0.176s-1.522 0.064-2.255 0.187l0.079-0.011-4.608 1.536c-2.054 0.622-3.836 1.405-5.499 2.37l0.123-0.066-3.584 2.048-2.304 1.536c-25.088 15.36-245.504 165.376-339.968 399.36-6.144 15.104-11.776 30.72-16.64 46.080-1.494 4.592-2.356 9.875-2.356 15.36 0 28.306 22.946 51.252 51.252 51.252 22.821 0 42.158-14.915 48.795-35.529l0.101-0.363c4.096-12.8 8.704-25.6 13.824-38.4 67.328-166.4 214.272-288.768 275.712-334.080 78.592 58.368 300.032 244.48 310.272 489.216 0.060 2.287 0.095 4.98 0.095 7.68 0 171.495-138.905 310.546-310.344 310.784h-0.023c-171.462-0.238-310.367-139.289-310.367-310.784 0-2.701 0.034-5.393 0.103-8.077l-0.008 0.397c0.028-0.638 0.045-1.386 0.045-2.138 0-27.212-21.229-49.466-48.029-51.103l-0.144-0.007h-3.072c-0.012 0-0.027 0-0.041 0-27.557 0-50.029 21.77-51.156 49.050l-0.003 0.102c-0.102 3.432-0.161 7.47-0.161 11.52 0 228.123 184.758 413.094 412.8 413.44h0.033c228.075-0.346 412.833-185.317 412.833-413.44 0-4.051-0.058-8.089-0.174-12.112l0.013 0.592z" />
|
73 |
+
<glyph unicode="" glyph-name="heading" horiz-adv-x="903" d="M903.68 899.84v-91.136c0.006-0.326 0.010-0.711 0.010-1.097 0-27.118-17.496-50.15-41.815-58.423l-0.435-0.128c-5.359-1.725-11.524-2.719-17.921-2.719-33.243 0-60.215 26.848-60.415 60.044v33.043h-271.104v-782.848h76.8c0.458 0.012 0.997 0.019 1.538 0.019 26.498 0 49.143-16.5 58.22-39.786l0.146-0.425c2.087-5.878 3.293-12.657 3.293-19.717 0-33.226-26.708-60.214-59.827-60.666h-277.803c-0.458-0.012-0.997-0.019-1.538-0.019-26.498 0-49.143 16.5-58.22 39.786l-0.146 0.425c-2.086 5.876-3.292 12.654-3.292 19.713 0 33.405 26.997 60.505 60.364 60.671h80.144v782.848h-271.104v-33.024c-0.2-33.215-27.172-60.063-60.415-60.063-6.397 0-12.562 0.994-18.349 2.837l0.428-0.118c-24.754 8.402-42.25 31.433-42.25 58.551 0 0.386 0.004 0.771 0.011 1.155l-0.001-0.058v91.136c0.145 33.257 27.139 60.16 60.415 60.16 0 0 0 0 0.001 0h782.848c0 0 0 0 0.001 0 33.277 0 60.27-26.903 60.415-60.146v-0.014z" />
|
74 |
+
<glyph unicode="" glyph-name="icon-list" d="M972.8 739.072h-660.736c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0h660.736c28.277 0 51.2-22.923 51.2-51.2s-22.923-51.2-51.2-51.2v0zM185.6 790.528c0-0.076 0-0.166 0-0.256 0-51.323-41.605-92.928-92.928-92.928s-92.928 41.605-92.928 92.928c0 51.323 41.605 92.928 92.928 92.928v0c51.175-0.144 92.638-41.518 92.928-92.644v-0.028zM972.8 391.168h-660.736c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0h660.736c28.277 0 51.2-22.923 51.2-51.2s-22.923-51.2-51.2-51.2v0zM185.344 442.368c0-51.181-41.491-92.672-92.672-92.672s-92.672 41.491-92.672 92.672c0 51.181 41.491 92.672 92.672 92.672s92.672-41.491 92.672-92.672zM972.8 43.008h-660.736c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0h660.736c28.277 0 51.2-22.923 51.2-51.2s-22.923-51.2-51.2-51.2v0zM185.344 94.208c0-51.181-41.491-92.672-92.672-92.672s-92.672 41.491-92.672 92.672c0 51.181 41.491 92.672 92.672 92.672s92.672-41.491 92.672-92.672z" />
|
75 |
+
<glyph unicode="" glyph-name="image-button" d="M972.8 468.48c28.277 0 51.2 22.923 51.2 51.2v0 222.72c0 84.831-68.769 153.6-153.6 153.6v0h-716.8c-84.831 0-153.6-68.769-153.6-153.6v0-584.192c0-84.831 68.769-153.6 153.6-153.6v0h742.4c70.692 0 128 57.308 128 128v0 144.128c0.002 0.141 0.002 0.307 0.002 0.474 0 6.282-1.223 12.278-3.444 17.764l0.114-0.318v2.048c-1.215 2.988-2.503 5.514-3.974 7.915l0.134-0.235c-1.859 2.572-3.706 4.826-5.678 6.962l0.046-0.050-316.928 323.84c-9.193 9.374-21.948 15.226-36.071 15.36h-0.025c-14.213-0.161-27.082-5.786-36.631-14.869l0.023 0.021-508.928-508.16c-6.393 8.45-10.24 19.136-10.24 30.72v0 584.192c0 28.277 22.923 51.2 51.2 51.2v0h716.8c28.277 0 51.2-22.923 51.2-51.2v0-222.72c0-28.277 22.923-51.2 51.2-51.2v0zM657.152 527.104l264.448-271.36v-123.136c0-14.138-11.462-25.6-25.6-25.6v0h-659.2zM434.688 590.080c0-56.554-45.846-102.4-102.4-102.4s-102.4 45.846-102.4 102.4c0 56.554 45.846 102.4 102.4 102.4s102.4-45.846 102.4-102.4z" />
|
76 |
+
<glyph unicode="" glyph-name="image-scroll" horiz-adv-x="624" d="M311.808-64c-172.148 0.146-311.662 139.66-311.808 311.794v400.398c0 172.207 139.601 311.808 311.808 311.808s311.808-139.601 311.808-311.808v0-400.384c-0.291-172.090-139.719-311.517-311.78-311.808h-0.028zM311.808 857.6c-115.594-0.146-209.262-93.814-209.408-209.394v-400.398c0-115.653 93.755-209.408 209.408-209.408s209.408 93.755 209.408 209.408v0 400.384c-0.146 115.594-93.814 209.262-209.394 209.408h-0.014zM311.808 488.704c-28.277 0-51.2 22.923-51.2 51.2v0 102.4c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2v0-102.4c0-28.277-22.923-51.2-51.2-51.2v0z" />
|
77 |
+
<glyph unicode="" glyph-name="image-separator" d="M870.4 24.576h-716.8c-84.831 0-153.6 68.769-153.6 153.6v0 399.104c0 84.831 68.769 153.6 153.6 153.6v0h66.048c0.032 0 0.069 0 0.106 0 19.672 0 36.753 11.095 45.327 27.368l0.134 0.28 16.384 29.184c26.159 49.501 77.3 82.664 136.189 82.688h190.979c58.892-0.024 110.033-33.187 135.789-81.853l0.403-0.835 15.104-29.184c8.708-16.553 25.789-27.648 45.462-27.648 0.037 0 0.075 0 0.112 0h64.762c84.831 0 153.6-68.769 153.6-153.6v0-399.104c0-84.831-68.769-153.6-153.6-153.6v0zM153.6 628.48c-28.277 0-51.2-22.923-51.2-51.2v0-399.104c0-28.277 22.923-51.2 51.2-51.2v0h716.8c28.277 0 51.2 22.923 51.2 51.2v0 399.104c0 28.277-22.923 51.2-51.2 51.2v0h-66.048c-58.892 0.024-110.033 33.187-135.789 81.853l-0.403 0.835-15.36 29.184c-8.685 16.51-25.698 27.589-45.304 27.648h-190.984c-19.614-0.059-36.627-11.138-45.178-27.368l-0.134-0.28-15.36-29.184c-26.159-49.501-77.3-82.664-136.189-82.688h-0.003zM512 189.696c-123.005 0-222.72 99.715-222.72 222.72s99.715 222.72 222.72 222.72c123.005 0 222.72-99.715 222.72-222.72 0-0.090 0-0.18 0-0.27v0.014c-0.146-122.895-99.805-222.464-222.72-222.464 0 0 0 0 0 0v0zM512 532.48c-66.451 0-120.32-53.869-120.32-120.32s53.869-120.32 120.32-120.32c66.451 0 120.32 53.869 120.32 120.32v0c-0.145 66.392-53.928 120.175-120.306 120.32h-0.014z" />
|
78 |
+
<glyph unicode="" glyph-name="lottie-animations-fill" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512c282.77 0 512 229.23 512 512v0c0 282.77-229.23 512-512 512v0zM815.104 697.856c-1.28-25.6-22.016-43.52-54.784-43.52-0.117 0.001-0.256 0.001-0.395 0.001-21.459 0-41.11-7.743-56.311-20.587l0.129 0.106c-4.444-3.303-8.369-6.66-12.054-10.261l0.022 0.021c-29.226-26.509-54.608-56.449-75.742-89.375l-1.058-1.761c-12.544-19.2-25.6-40.448-40.704-68.096l-19.456-35.072c-9.472-17.664-19.456-35.328-29.44-52.992-7.424-13.568-15.36-26.88-23.040-39.936-11.008-16.896-23.808-37.12-38.912-57.088-27.040-37.641-58.962-69.645-95.295-95.93l-1.217-0.838c-27.86-20.498-62.85-32.803-100.714-32.803-1.223 0-2.443 0.013-3.66 0.038l0.182-0.003c-0.69-0.030-1.5-0.047-2.313-0.047-15.781 0-30.073 6.375-40.442 16.689l0.002-0.002c-6.884 7.419-11.108 17.39-11.108 28.348 0 1.015 0.036 2.021 0.107 3.018l-0.008-0.134c1.28 25.6 22.016 43.52 54.784 43.52 21.567 0.154 41.304 7.861 56.728 20.602l-0.152-0.122c4.444 3.303 8.369 6.66 12.054 10.261l-0.022-0.021c29.226 26.509 54.608 56.449 75.742 89.375l1.058 1.761c12.544 19.2 25.6 40.448 40.704 67.84l3.072 5.12c5.376 10.24 11.008 20.224 16.384 30.208 9.472 17.664 19.456 35.328 29.44 52.992 7.424 13.568 15.36 27.136 23.040 39.936 11.008 17.152 23.808 37.12 38.912 57.088 27.107 37.585 59.019 69.578 95.296 95.926l1.216 0.842c27.719 20.5 62.576 32.812 100.308 32.812 1.366 0 2.728-0.016 4.086-0.048l-0.202 0.004c0.84 0.044 1.823 0.069 2.811 0.069 15.535 0 29.628-6.178 39.954-16.21l-0.014 0.013c6.877-7.382 11.098-17.317 11.098-28.238 0-0.963-0.033-1.919-0.097-2.866l0.007 0.128z" />
|
79 |
+
<glyph unicode="" glyph-name="lottie-animations-outline" d="M512-64c-282.77 0-512 229.23-512 512s229.23 512 512 512c282.77 0 512-229.23 512-512v0c0-282.77-229.23-512-512-512v0zM512 857.6c-226.216 0-409.6-183.384-409.6-409.6s183.384-409.6 409.6-409.6c226.216 0 409.6 183.384 409.6 409.6v0c0 226.216-183.384 409.6-409.6 409.6v0zM739.328 621.312c-1.926-25.559-23.137-45.566-49.021-45.566-1.759 0-3.497 0.092-5.208 0.273l0.213-0.018c-11.454-0.008-21.934-4.17-30.017-11.062l0.065 0.054c-2.564-1.895-4.824-3.911-6.886-6.116l-0.026-0.028c-19.643-17.531-36.584-37.485-50.523-59.526l-0.677-1.146c-8.704-13.312-17.664-27.904-27.904-46.336l-13.568-25.6c-6.656-12.288-13.568-25.6-20.736-37.376s-10.752-18.944-16.384-27.904l-3.328-5.12c-6.912-11.008-15.104-23.808-25.6-36.096-20.020-27.622-43.546-51.148-70.265-70.543l-0.903-0.625c-21.303-15.57-47.891-25.092-76.679-25.598l-0.121-0.002h-4.096c-16.134 0.135-30.693 6.766-41.211 17.403l-0.005 0.005c-7.215 8.028-11.628 18.702-11.628 30.406 0 1.102 0.039 2.194 0.116 3.276l-0.008-0.145c1.536 25.904 22.918 46.329 49.071 46.329 1.742 0 3.462-0.091 5.157-0.267l-0.212 0.018c11.347 0.187 21.695 4.314 29.771 11.069l-0.075-0.061c2.564 1.895 4.824 3.911 6.886 6.116l0.026 0.028c19.643 17.531 36.584 37.485 50.523 59.526l0.677 1.146c9.472 14.336 18.432 29.184 27.904 46.336l2.048 3.584 6.144 11.52 5.376 9.472c6.656 12.288 13.568 25.6 20.736 37.376s10.496 18.944 16.384 28.16 16.128 25.6 27.904 40.96c20.013 27.628 43.54 51.155 70.265 70.544l0.903 0.624c21.859 16.026 49.289 25.645 78.966 25.645 1.219 0 2.434-0.016 3.645-0.048l-0.179 0.004c15.958-0.22 30.328-6.838 40.695-17.399l0.009-0.009c7.352-8.027 11.858-18.768 11.858-30.561 0-0.957-0.030-1.906-0.088-2.848l0.006 0.129z" />
|
80 |
+
<glyph unicode="" glyph-name="media-grid" d="M384 524.8h-332.8c-28.277 0-51.2 22.923-51.2 51.2v0 332.8c0 28.277 22.923 51.2 51.2 51.2v0h332.8c28.277 0 51.2-22.923 51.2-51.2v0-332.8c0-28.277-22.923-51.2-51.2-51.2v0zM102.4 627.2h230.4v230.4h-230.4zM384-64h-332.8c-28.277 0-51.2 22.923-51.2 51.2v0 332.8c0 28.277 22.923 51.2 51.2 51.2v0h332.8c28.277 0 51.2-22.923 51.2-51.2v0-332.8c0-28.277-22.923-51.2-51.2-51.2v0zM102.4 38.4h230.4v230.4h-230.4zM972.8 524.8h-332.8c-28.277 0-51.2 22.923-51.2 51.2v0 332.8c0 28.277 22.923 51.2 51.2 51.2v0h332.8c28.277 0 51.2-22.923 51.2-51.2v0-332.8c0-28.277-22.923-51.2-51.2-51.2v0zM691.2 627.2h230.4v230.4h-230.4zM972.8-64h-332.8c-28.277 0-51.2 22.923-51.2 51.2v0 332.8c0 28.277 22.923 51.2 51.2 51.2v0h332.8c28.277 0 51.2-22.923 51.2-51.2v0-332.8c0-28.277-22.923-51.2-51.2-51.2v0zM691.2 38.4h230.4v230.4h-230.4z" />
|
81 |
+
<glyph unicode="" glyph-name="modal-box" horiz-adv-x="1025" d="M751.275-64.769h-589.537c-0.381-0.003-0.831-0.005-1.282-0.005-88.618 0-160.457 71.839-160.457 160.457 0 0.002 0 0.004 0 0.006v0 587.999c0.291 88.397 72.018 159.944 160.456 159.944 0.090 0 0.181 0 0.271 0h371.907c29.445 0 53.315-23.87 53.315-53.315s-23.87-53.315-53.315-53.315h-371.921c-0.076 0-0.166 0.001-0.256 0.001-29.445 0-53.315-23.87-53.315-53.315 0 0 0 0 0-0.001v0-587.999c0.146-29.476 24.074-53.315 53.57-53.315 0 0 0 0 0.001 0h589.537c0 0 0 0 0.001 0 29.496 0 53.425 23.839 53.57 53.301v374.754c0 29.586 23.985 53.571 53.571 53.571s53.571-23.985 53.571-53.571v0-374.74c0 0 0-0.001 0-0.002 0-88.347-71.401-160.018-159.646-160.455h-0.042zM1008.621 642.675c-9.748-10.038-23.37-16.267-38.448-16.267s-28.7 6.229-38.435 16.254l-0.013 0.013-73.308 74.846-76.896-76.896c-9.84-9.84-23.433-15.926-38.448-15.926-30.030 0-54.374 24.344-54.374 54.374 0 15.015 6.086 28.608 15.926 38.448v0l76.896 75.615-73.308 74.589c-10.391 9.753-16.865 23.575-16.865 38.908 0 29.445 23.87 53.315 53.315 53.315 15.334 0 29.156-6.473 38.882-16.836l0.027-0.029 74.589-74.589 76.896 76.896c9.84 9.84 23.433 15.926 38.448 15.926 30.030 0 54.374-24.344 54.374-54.374 0-15.015-6.086-28.608-15.926-38.448l-76.896-76.896 74.589-74.589c8.972-9.555 14.484-22.451 14.484-36.634 0-14.703-5.923-28.023-15.514-37.703l0.004 0.004z" />
|
82 |
+
<glyph unicode="" glyph-name="pricing-table" horiz-adv-x="749" d="M589.824 960h-430.592c-88.004-0.291-159.232-71.699-159.232-159.743 0 0 0-0.001 0-0.001v0-704.512c0 0 0-0.001 0-0.001 0-88.044 71.228-159.452 159.204-159.743h430.62c88.004 0.291 159.232 71.699 159.232 159.743 0 0 0 0.001 0 0.001v0 704.512c0 0 0 0.001 0 0.001 0 88.044-71.228 159.452-159.204 159.743h-0.028zM649.984 95.744c0-33.225-26.935-60.16-60.16-60.16v0h-430.592c-33.225 0-60.16 26.935-60.16 60.16v704.512c0 33.225 26.935 60.16 60.16 60.16v0h430.592c33.225 0 60.16-26.935 60.16-60.16v0zM487.168 378.88c-5.15-40.576-33.827-73.292-71.737-84.303l-0.711-0.177v-51.2h-79.36v46.336h-27.136c0 0-0.001 0-0.001 0-21.825 0-39.534 17.62-39.679 39.41v0.014c0.142 21.909 17.792 39.649 39.653 39.936h80.155c11.169 0 20.224 9.055 20.224 20.224s-9.055 20.224-20.224 20.224h-24.064c-0.238-0.002-0.52-0.003-0.803-0.003-52.043 0-95.018 38.824-101.543 89.089l-0.055 0.514c-0.322 3-0.505 6.48-0.505 10.002 0 46.494 31.945 85.528 75.084 96.348l0.685 0.145v47.36h79.104v-44.8h25.6c21.915 0 39.68-17.765 39.68-39.68s-17.765-39.68-39.68-39.68h-81.152c-11.169 0-20.224-9.055-20.224-20.224s9.055-20.224 20.224-20.224h28.16c54.652-0.455 98.781-44.864 98.781-99.581 0-3.427-0.173-6.813-0.511-10.151l0.034 0.42z" />
|
83 |
+
<glyph unicode="" glyph-name="progress-bar" d="M969.472 730.88h-355.072c-18.657-30.236-51.603-50.084-89.185-50.084-9.523 0-18.749 1.274-27.515 3.662l0.732-0.17c-44.754 10.952-77.444 50.712-77.444 98.107 0 55.706 45.158 100.864 100.864 100.864 1.217 0 2.429-0.022 3.635-0.064l-0.175 0.005c0.086 0 0.188 0 0.29 0 37.431 0 70.241-19.787 88.54-49.472l0.257-0.449h358.4c0.039 0 0.086 0 0.132 0 28.277 0 51.2-22.923 51.2-51.2 0-5.864-0.986-11.497-2.801-16.744l0.108 0.36c-7.793-20.524-27.297-34.847-50.146-34.847-0.641 0-1.279 0.011-1.914 0.034l0.092-0.003zM326.656 730.88h-271.872c-0.344-0.008-0.75-0.013-1.157-0.013-22.746 0-42.177 14.194-49.918 34.207l-0.124 0.365c-1.762 4.961-2.78 10.683-2.78 16.642 0 28.277 22.923 51.2 51.2 51.2 0.167 0 0.335-0.001 0.502-0.002h272.102c0.344 0.008 0.75 0.013 1.157 0.013 22.746 0 42.177-14.194 49.918-34.207l0.124-0.365c1.763-4.962 2.781-10.685 2.781-16.645 0-28.277-22.923-51.2-51.2-51.2-0.258 0-0.515 0.002-0.772 0.006h0.039zM256 65.28h-201.216c-0.344-0.008-0.75-0.013-1.157-0.013-22.746 0-42.177 14.194-49.918 34.207l-0.124 0.365c-1.762 4.961-2.78 10.683-2.78 16.642 0 28.277 22.923 51.2 51.2 51.2 0.167 0 0.335-0.001 0.502-0.002h201.958c0.344 0.008 0.75 0.013 1.157 0.013 22.746 0 42.177-14.194 49.918-34.207l0.124-0.365c1.765-4.965 2.785-10.691 2.785-16.655 0-28.277-22.923-51.2-51.2-51.2-0.439 0-0.877 0.006-1.313 0.017l0.065-0.001zM972.8 398.080h-93.184c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0h93.184c28.277 0 51.2-22.923 51.2-51.2s-22.923-51.2-51.2-51.2v0zM799.232 449.28c-0.722-56.001-46.288-101.12-102.392-101.12-0.003 0-0.006 0-0.008 0v0c-0.645-0.015-1.406-0.023-2.169-0.023-37.19 0-69.75 19.826-87.686 49.485l-0.257 0.458h-554.24c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0h554.24c18.196 30.108 50.75 49.927 87.933 49.927 0.406 0 0.811-0.002 1.216-0.007l-0.062 0.001c0.307 0.003 0.669 0.005 1.032 0.005 56.106 0 101.673-45.122 102.391-101.057l0.001-0.068zM969.472 167.68c0.316 0.007 0.689 0.011 1.062 0.011 22.841 0 42.34-14.313 50.015-34.459l0.123-0.367c1.707-4.888 2.694-10.523 2.694-16.388 0-28.054-22.563-50.838-50.532-51.196h-430.882c-18.035-30.824-50.979-51.201-88.681-51.201-0.143 0-0.286 0-0.429 0.001h0.022c-4.852-0.815-10.442-1.28-16.14-1.28-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4c5.699 0 11.288-0.465 16.734-1.361l-0.593 0.081c0.572 0.012 1.247 0.018 1.924 0.018 36.662 0 68.824-19.267 86.913-48.227l0.251-0.431z" />
|
84 |
+
<glyph unicode="" glyph-name="team-members" d="M723.456 414.208c63.021 57.606 102.4 140.17 102.4 231.931 0 173.338-140.518 313.856-313.856 313.856s-313.856-140.518-313.856-313.856c0-91.761 39.379-174.325 102.159-231.714l0.241-0.217c-176.376-63.598-300.249-229.391-300.544-424.156v-0.036c0.145-29.774 24.242-53.871 54.002-54.016h0.014c29.722 0.145 53.76 24.273 53.76 54.015 0 0 0 0 0 0.001v0c0.436 188.804 153.447 341.726 342.244 342.016h123.932c188.825-0.29 341.836-153.212 342.272-341.974v-0.042c-0.082-1.112-0.128-2.409-0.128-3.716 0-29.832 24.184-54.016 54.016-54.016s54.016 24.184 54.016 54.016c0 1.308-0.046 2.605-0.138 3.889l0.010-0.173c-0.295 194.801-124.168 360.594-297.406 423.201l-3.138 0.991zM307.2 646.144c0.148 113.703 92.356 205.82 206.080 205.82 113.815 0 206.080-92.265 206.080-206.080s-92.265-206.080-206.080-206.080c-0.45 0-0.9 0.001-1.349 0.004h0.069c-113.294 0.87-204.8 92.914-204.8 206.33 0 0.002 0 0.004 0 0.006v0z" />
|
85 |
+
<glyph unicode="" glyph-name="testimonials" d="M512 10.752c-0.012 0-0.026 0-0.041 0-14.065 0-26.805 5.671-36.058 14.851l-125.437 125.437c-9.276 9.33-22.119 15.104-36.311 15.104-0.014 0-0.029 0-0.043 0h-160.51c-84.831 0-153.6 68.769-153.6 153.6v0 422.656c0 84.831 68.769 153.6 153.6 153.6v0h90.624c28.277 0 51.2-22.923 51.2-51.2s-22.923-51.2-51.2-51.2v0h-90.624c-28.277 0-51.2-22.923-51.2-51.2v0-422.656c0-28.277 22.923-51.2 51.2-51.2v0h160.512c42.562-0.111 81.037-17.516 108.787-45.555l0.013-0.013 89.088-88.832 89.088 88.832c27.803 27.836 66.23 45.056 108.679 45.056 0.042 0 0.085 0 0.127 0h160.506c28.277 0 51.2 22.923 51.2 51.2v0 423.168c0 28.277-22.923 51.2-51.2 51.2v0h-501.248c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0h501.248c84.831 0 153.6-68.769 153.6-153.6v0-422.656c0-84.831-68.769-153.6-153.6-153.6v0h-160.512c-0.012 0-0.026 0-0.041 0-14.192 0-27.035-5.774-36.309-15.102l-125.442-125.442c-9.25-9.177-21.99-14.848-36.055-14.848-0.014 0-0.029 0-0.043 0h0.002zM782.336 514.816c-0.145-34.388-28.056-62.208-62.463-62.208-34.498 0-62.464 27.966-62.464 62.464s27.966 62.464 62.463 62.464v0c34.529-0.145 62.464-28.17 62.464-62.719 0 0 0 0 0-0.001v0zM583.424 514.816c-0.146-34.387-28.056-62.207-62.463-62.207-34.498 0-62.464 27.966-62.464 62.464s27.966 62.464 62.464 62.464c0.090 0 0.18 0 0.269-0.001h-0.014c34.418-0.29 62.208-28.259 62.208-62.718 0-0.001 0-0.001 0-0.002v0zM384 514.816c-0.145-34.388-28.056-62.208-62.463-62.208-34.498 0-62.464 27.966-62.464 62.464s27.966 62.464 62.463 62.464v0c34.529-0.145 62.464-28.17 62.464-62.719 0 0 0 0 0-0.001v0z" />
|
86 |
+
<glyph unicode="" glyph-name="vertical-scroll" horiz-adv-x="230" d="M230.4 844.8c0-63.623-51.577-115.2-115.2-115.2s-115.2 51.577-115.2 115.2c0 63.623 51.577 115.2 115.2 115.2s115.2-51.577 115.2-115.2zM230.4 448c0-63.623-51.577-115.2-115.2-115.2s-115.2 51.577-115.2 115.2c0 63.623 51.577 115.2 115.2 115.2s115.2-51.577 115.2-115.2zM230.4 51.2c0-63.623-51.577-115.2-115.2-115.2s-115.2 51.577-115.2 115.2c0 63.623 51.577 115.2 115.2 115.2s115.2-51.577 115.2-115.2z" />
|
87 |
+
<glyph unicode="" glyph-name="video-box" d="M512-64c-282.77 0-512 229.23-512 512s229.23 512 512 512c282.77 0 512-229.23 512-512v0c0-282.77-229.23-512-512-512v0zM512 857.6c-226.216 0-409.6-183.384-409.6-409.6s183.384-409.6 409.6-409.6c226.216 0 409.6 183.384 409.6 409.6v0c0 226.216-183.384 409.6-409.6 409.6v0zM404.736 225.024c-28.051 0.295-50.677 23.104-50.677 51.197 0 18.638 9.959 34.951 24.846 43.906l0.231 0.129 212.736 128-136.192 80.896v-71.424c0-28.277-22.923-51.2-51.2-51.2s-51.2 22.923-51.2 51.2v0 162.048c0.318 28.034 23.118 50.637 51.197 50.637 9.427 0 18.259-2.548 25.845-6.992l-0.242 0.131 286.72-171.776c14.875-9.135 24.646-25.314 24.646-43.776s-9.771-34.641-24.424-43.649l-0.222-0.127-285.952-171.776c-7.445-4.587-16.448-7.337-26.088-7.424h-0.024z" />
|
88 |
+
<glyph unicode="" glyph-name="pa-admin-icon" d="M918.187 628.907c0-13.653-13.653-27.307-27.307-27.307h-249.173c-13.653 0-30.72 10.24-34.133 23.893l-81.92 256c-3.413 13.653 3.413 23.893 6.827 23.893s17.067-6.827 30.72-17.067l314.027-180.907c13.653-6.827 37.547-27.307 40.96-37.547-3.413-6.827 0-27.307 0-40.96zM501.76 881.493l-81.92-256c-3.413-13.653-20.48-23.893-34.133-23.893h-252.587c-13.653 0-27.307 13.653-27.307 27.307s6.827 47.787 10.24 54.613c6.827 6.827 20.48 20.48 34.133 27.307l314.027 180.907c13.653 6.827 30.72 17.067 37.547 17.067 3.413 0 3.413-13.653 0-27.307zM723.627 103.253l-163.84-98.987c-13.653-6.827-44.373-20.48-51.2-17.067-10.24 3.413-27.307 10.24-40.96 17.067l-167.253 95.573c-13.653 6.827-13.653 20.48 0 30.72l191.147 139.947c13.653 6.827 30.72 6.827 44.373 0l191.147-139.947c10.24-6.827 10.24-20.48-3.413-27.307zM918.187 553.813v-286.72c0-13.653-6.827-47.787-10.24-54.613-6.827-6.827-20.48-17.067-34.133-27.307l-81.92-44.373c-13.653-6.827-27.307-3.413-30.72 10.24l-75.093 228.693c-3.413 13.653 0 34.133 13.653 40.96l197.973 143.36c10.24 10.24 20.48 6.827 20.48-10.24zM337.92 383.147l-75.093-228.693c-3.413-13.653-20.48-20.48-30.72-10.24l-78.507 47.787c-13.653 6.827-37.547 27.307-40.96 37.547s-6.827 27.307-6.827 44.373v286.72c0 13.653 10.24 20.48 20.48 10.24l197.973-143.36c13.653-13.653 17.067-30.72 13.653-44.373z" />
|
89 |
+
<glyph unicode="" glyph-name="ihover" horiz-adv-x="847" d="M841.472 629.504c-8.619 16.836-25.849 28.16-45.723 28.16-0.035 0-0.071 0-0.106 0h-179.194l82.432 234.24c1.656 4.818 2.612 10.37 2.612 16.145 0 11.464-3.768 22.048-10.133 30.582l0.096-0.135c-9.398 13.083-24.57 21.504-41.708 21.504-0.007 0-0.014 0-0.021 0h-387.839c-0.034 0-0.074 0-0.113 0-7.29 0-14.205-1.604-20.411-4.477l0.301 0.125c-1.269-0.32-2.381-0.85-3.356-1.556l0.028 0.020c-3.416-1.68-6.361-3.642-9.013-5.933l0.053 0.045c-1.34-0.998-2.515-2.092-3.56-3.3l-0.024-0.028c-5.82-5.654-10.239-12.719-12.707-20.644l-0.093-0.348-209.408-534.272c-2.173-5.467-3.433-11.803-3.433-18.432 0-28.224 22.837-51.114 51.041-51.2h307.208l-69.12-320.512c-0.057-0.231-0.090-0.496-0.090-0.768s0.033-0.537 0.095-0.791l-0.005 0.023c-0.18-1.613-0.283-3.482-0.283-5.376s0.103-3.763 0.303-5.604l-0.020 0.228c-0.126-1.304-0.198-2.82-0.198-4.352s0.072-3.048 0.213-4.543l-0.015 0.191c0.462-3.187 1.177-6.036 2.146-8.765l-0.098 0.317c3.683-9.814 9.867-17.977 17.787-23.967l0.133-0.097c2.301-1.734 4.901-3.352 7.642-4.73l0.294-0.134 6.656-2.56 6.4-1.792c1.38-0.121 2.986-0.19 4.608-0.19s3.228 0.069 4.815 0.204l-0.207-0.014c2.126-0.433 4.596-0.71 7.12-0.767l0.048-0.001h8.192l5.376 2.304c1.574 0.55 2.934 1.333 4.117 2.321l-0.021-0.017c5.626 3.529 10.376 7.872 14.242 12.928l0.094 0.128 2.304 3.328 455.936 619.008c6.289 8.407 10.070 19.008 10.070 30.493 0 8.391-2.019 16.311-5.597 23.3l0.134-0.289zM438.272 208.128l32.256 152.064c0.728 3.236 1.144 6.951 1.144 10.765 0 28.277-22.923 51.2-51.2 51.2-0.402 0-0.804-0.005-1.204-0.014l0.059 0.001h-293.12l170.496 435.456h280.32l-81.152-230.4-1.28-3.328c-0.77-1.911-1.394-4.15-1.768-6.473l-0.024-0.183v-5.12c-0.064-0.767-0.101-1.659-0.101-2.56s0.037-1.793 0.109-2.676l-0.008 0.116s0-2.56 0-3.584c-0.119-0.961-0.188-2.072-0.188-3.2s0.068-2.239 0.201-3.331l-0.013 0.131c0.549-3.46 1.441-6.56 2.661-9.489l-0.101 0.273v-1.536c0.555-1.388 1.156-2.567 1.849-3.683l-0.057 0.099c0.646-1.671 1.51-3.111 2.578-4.374l-0.018 0.022 2.304-3.072c2.179-2.902 4.622-5.426 7.343-7.617l0.081-0.063c3.711-2.876 7.916-5.441 12.396-7.512l0.404-0.168 4.608-1.792c1.937-0.729 4.191-1.27 6.531-1.525l0.125-0.011c1.266-0.121 2.737-0.19 4.224-0.19s2.958 0.069 4.41 0.204l-0.186-0.014h150.784zM288.768-21.504c-0.119 0.808-0.187 1.74-0.187 2.688s0.068 1.88 0.199 2.792l-0.012-0.104v3.328c-0.126-1.304-0.198-2.82-0.198-4.352s0.072-3.048 0.213-4.543l-0.015 0.191zM528.128 557.568h-4.608z" />
|
90 |
+
</font></defs></svg>
|
admin/assets/fonts/pa-dashboard.ttf
ADDED
Binary file
|
admin/assets/fonts/pa-dashboard.woff
ADDED
Binary file
|
admin/assets/fonts/pa-icon.eot
DELETED
Binary file
|
admin/assets/fonts/pa-icon.svg
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
<?xml version="1.0" standalone="no"?>
|
2 |
-
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
3 |
-
<svg xmlns="http://www.w3.org/2000/svg">
|
4 |
-
<metadata>Generated by IcoMoon</metadata>
|
5 |
-
<defs>
|
6 |
-
<font id="icomoon" horiz-adv-x="1024">
|
7 |
-
<font-face units-per-em="1024" ascent="960" descent="-64" />
|
8 |
-
<missing-glyph horiz-adv-x="1024" />
|
9 |
-
<glyph unicode=" " horiz-adv-x="512" d="" />
|
10 |
-
<glyph unicode="" glyph-name="pa-admin-icon" d="M918.187 628.907c0-13.653-13.653-27.307-27.307-27.307h-249.173c-13.653 0-30.72 10.24-34.133 23.893l-81.92 256c-3.413 13.653 3.413 23.893 6.827 23.893s17.067-6.827 30.72-17.067l314.027-180.907c13.653-6.827 37.547-27.307 40.96-37.547-3.413-6.827 0-27.307 0-40.96zM501.76 881.493l-81.92-256c-3.413-13.653-20.48-23.893-34.133-23.893h-252.587c-13.653 0-27.307 13.653-27.307 27.307s6.827 47.787 10.24 54.613c6.827 6.827 20.48 20.48 34.133 27.307l314.027 180.907c13.653 6.827 30.72 17.067 37.547 17.067 3.413 0 3.413-13.653 0-27.307zM723.627 103.253l-163.84-98.987c-13.653-6.827-44.373-20.48-51.2-17.067-10.24 3.413-27.307 10.24-40.96 17.067l-167.253 95.573c-13.653 6.827-13.653 20.48 0 30.72l191.147 139.947c13.653 6.827 30.72 6.827 44.373 0l191.147-139.947c10.24-6.827 10.24-20.48-3.413-27.307zM918.187 553.813v-286.72c0-13.653-6.827-47.787-10.24-54.613-6.827-6.827-20.48-17.067-34.133-27.307l-81.92-44.373c-13.653-6.827-27.307-3.413-30.72 10.24l-75.093 228.693c-3.413 13.653 0 34.133 13.653 40.96l197.973 143.36c10.24 10.24 20.48 6.827 20.48-10.24zM337.92 383.147l-75.093-228.693c-3.413-13.653-20.48-20.48-30.72-10.24l-78.507 47.787c-13.653 6.827-37.547 27.307-40.96 37.547s-6.827 27.307-6.827 44.373v286.72c0 13.653 10.24 20.48 20.48 10.24l197.973-143.36c13.653-13.653 17.067-30.72 13.653-44.373z" />
|
11 |
-
</font></defs></svg>
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
admin/assets/fonts/pa-icon.ttf
DELETED
Binary file
|
admin/assets/fonts/pa-icon.woff
DELETED
Binary file
|
admin/images/lock.svg
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="28.79" height="44.21" viewBox="0 0 28.79 44.21"><title>lock</title><path d="M28.9,15.07a16.52,16.52,0,0,1,3.91,2.35V10.63A10.25,10.25,0,0,0,22.58.39h-.16A10.25,10.25,0,0,0,12.19,10.63v6.79a16.52,16.52,0,0,1,3.91-2.35c.38-.16.78-.31,1.17-.44v-4a5.16,5.16,0,0,1,5.15-5.16h.16a5.17,5.17,0,0,1,5.16,5.16v4C28.12,14.76,28.52,14.91,28.9,15.07Z" transform="translate(-8.1 -0.39)"/><path d="M8.1,30.21A14.39,14.39,0,1,0,27.73,16.79,14.41,14.41,0,0,0,8.1,30.21ZM18.79,27.3a3.71,3.71,0,0,1,7.42.1,3.21,3.21,0,0,1-.06.63,3.71,3.71,0,0,1-1.68,2.51A1,1,0,0,0,24,31.61l1.1,5.22a.51.51,0,0,1-.5.62H20.38a.51.51,0,0,1-.5-.62L21,31.61a1,1,0,0,0-.45-1.08A3.67,3.67,0,0,1,18.85,28,4.32,4.32,0,0,1,18.79,27.3Z" transform="translate(-8.1 -0.39)"/></svg>
|
admin/images/pa-logo-symbol.png
ADDED
Binary file
|
admin/images/papro-banner.png
ADDED
Binary file
|
admin/images/papro-notice-logo.png
ADDED
Binary file
|
admin/images/popup-pattern.jpg
ADDED
Binary file
|
admin/images/premium-addons-black-friday.png
DELETED
Binary file
|
admin/images/premium-blocks-logo.png
DELETED
Binary file
|
admin/includes/admin-helper.php
ADDED
@@ -0,0 +1,748 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* PA Admin Helper
|
5 |
+
*/
|
6 |
+
namespace PremiumAddons\Admin\Includes;
|
7 |
+
|
8 |
+
use PremiumAddons\Includes\Helper_Functions;
|
9 |
+
|
10 |
+
if ( ! defined( 'ABSPATH' ) ) exit;
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Class Admin_Helper
|
14 |
+
*/
|
15 |
+
class Admin_Helper {
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Admin settings tabs
|
19 |
+
*
|
20 |
+
* @var tabs
|
21 |
+
*/
|
22 |
+
private static $tabs = null;
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Class instance
|
26 |
+
*
|
27 |
+
* @var instance
|
28 |
+
*/
|
29 |
+
private static $instance = null;
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Premium Addons Settings Page Slug
|
33 |
+
*
|
34 |
+
* @var page_slug
|
35 |
+
*/
|
36 |
+
protected $page_slug = 'premium-addons';
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Current Screen ID
|
40 |
+
*
|
41 |
+
* @var current_screen
|
42 |
+
*/
|
43 |
+
public static $current_screen = null;
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Elements List
|
47 |
+
*
|
48 |
+
* @var elements_list
|
49 |
+
*/
|
50 |
+
public static $elements_list = null;
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Integrations List
|
54 |
+
*
|
55 |
+
* @var integrations_list
|
56 |
+
*/
|
57 |
+
public static $integrations_list = null;
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Constructor for the class
|
61 |
+
*/
|
62 |
+
public function __construct() {
|
63 |
+
|
64 |
+
//Get current screen ID
|
65 |
+
add_action( 'current_screen', array( $this, 'get_current_screen' ) );
|
66 |
+
|
67 |
+
//Insert admin settings submenus
|
68 |
+
$this->set_admin_tabs();
|
69 |
+
add_action( 'admin_menu', array ( $this,'add_menu_tabs' ), 100 );
|
70 |
+
|
71 |
+
//Enqueue required admin scripts
|
72 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
|
73 |
+
|
74 |
+
//Plugin Action Links
|
75 |
+
add_filter( 'plugin_action_links_' . PREMIUM_ADDONS_BASENAME, array( $this, 'insert_action_links' ) );
|
76 |
+
add_filter( 'plugin_row_meta', array( $this, 'plugin_row_meta' ), 10, 2 );
|
77 |
+
|
78 |
+
//Register AJAX HOOKS
|
79 |
+
add_action( 'wp_ajax_pa_save_global_btn', array( $this, 'save_global_btn_value' ) );
|
80 |
+
add_action( 'wp_ajax_pa_elements_settings', array( $this, 'save_settings' ) );
|
81 |
+
add_action( 'wp_ajax_pa_additional_settings', array( $this, 'save_additional_settings' ) );
|
82 |
+
|
83 |
+
add_action( 'pa_before_render_admin_tabs', array( $this, 'render_dashboard_header' ) );
|
84 |
+
|
85 |
+
//PA Duplicator
|
86 |
+
if( self::check_duplicator() )
|
87 |
+
Duplicator::get_instance();
|
88 |
+
|
89 |
+
}
|
90 |
+
|
91 |
+
/**
|
92 |
+
* Get Elements List
|
93 |
+
*
|
94 |
+
* Get a list of all the elements available in the plugin
|
95 |
+
*
|
96 |
+
* @since 3.20.9
|
97 |
+
* @access private
|
98 |
+
*
|
99 |
+
* @return array widget_list
|
100 |
+
*/
|
101 |
+
private static function get_elements_list() {
|
102 |
+
|
103 |
+
if ( null === self::$elements_list ) {
|
104 |
+
|
105 |
+
$prefix = Helper_Functions::get_prefix();
|
106 |
+
|
107 |
+
self::$elements_list = require_once PREMIUM_ADDONS_PATH . 'admin/includes/elements.php';
|
108 |
+
|
109 |
+
}
|
110 |
+
|
111 |
+
return self::$elements_list;
|
112 |
+
|
113 |
+
}
|
114 |
+
|
115 |
+
/**
|
116 |
+
* Get Integrations List
|
117 |
+
*
|
118 |
+
* Get a list of all the integrations available in the plugin
|
119 |
+
*
|
120 |
+
* @since 3.20.9
|
121 |
+
* @access private
|
122 |
+
*
|
123 |
+
* @return array integrations_list
|
124 |
+
*/
|
125 |
+
private static function get_integrations_list() {
|
126 |
+
|
127 |
+
if ( null === self::$integrations_list ) {
|
128 |
+
|
129 |
+
self::$integrations_list = [
|
130 |
+
'premium-map-api',
|
131 |
+
'premium-youtube-api',
|
132 |
+
'premium-map-disable-api',
|
133 |
+
'premium-map-cluster',
|
134 |
+
'premium-map-locale',
|
135 |
+
'is-beta-tester'
|
136 |
+
];
|
137 |
+
|
138 |
+
}
|
139 |
+
|
140 |
+
return self::$integrations_list;
|
141 |
+
|
142 |
+
}
|
143 |
+
|
144 |
+
/**
|
145 |
+
* Admin Enqueue Scripts
|
146 |
+
*
|
147 |
+
* Enqueue the required assets on our admin pages
|
148 |
+
*
|
149 |
+
* @since 1.0.0
|
150 |
+
* @access public
|
151 |
+
*
|
152 |
+
*/
|
153 |
+
public function admin_enqueue_scripts() {
|
154 |
+
|
155 |
+
wp_enqueue_style( 'pa_admin_icon', PREMIUM_ADDONS_URL .'admin/assets/fonts/style.css' );
|
156 |
+
|
157 |
+
$suffix = is_rtl() ? '-rtl' : '';
|
158 |
+
|
159 |
+
$current_screen = self::get_current_screen();
|
160 |
+
|
161 |
+
wp_enqueue_style(
|
162 |
+
'pa-notice-css',
|
163 |
+
PREMIUM_ADDONS_URL . 'admin/assets/css/notice' . $suffix . '.css'
|
164 |
+
);
|
165 |
+
|
166 |
+
if( strpos( $current_screen , $this->page_slug ) !== false ) {
|
167 |
+
|
168 |
+
wp_enqueue_style(
|
169 |
+
'pa-admin-css',
|
170 |
+
PREMIUM_ADDONS_URL.'admin/assets/css/admin' . $suffix . '.css'
|
171 |
+
);
|
172 |
+
|
173 |
+
wp_enqueue_style(
|
174 |
+
'pa-sweetalert-style',
|
175 |
+
PREMIUM_ADDONS_URL . 'admin/assets/js/sweetalert2/sweetalert2.min.css'
|
176 |
+
);
|
177 |
+
|
178 |
+
wp_enqueue_script(
|
179 |
+
'pa-admin-js',
|
180 |
+
PREMIUM_ADDONS_URL .'admin/assets/js/admin.js',
|
181 |
+
array('jquery'),
|
182 |
+
PREMIUM_ADDONS_VERSION,
|
183 |
+
true
|
184 |
+
);
|
185 |
+
|
186 |
+
wp_enqueue_script(
|
187 |
+
'pa-admin-dialog',
|
188 |
+
PREMIUM_ADDONS_URL . 'admin/assets/js/dialog/dialog.js',
|
189 |
+
array('jquery-ui-position'),
|
190 |
+
PREMIUM_ADDONS_VERSION,
|
191 |
+
true
|
192 |
+
);
|
193 |
+
|
194 |
+
wp_enqueue_script(
|
195 |
+
'pa-sweetalert-core',
|
196 |
+
PREMIUM_ADDONS_URL . 'admin/assets/js/sweetalert2/core.js',
|
197 |
+
array('jquery'),
|
198 |
+
PREMIUM_ADDONS_VERSION,
|
199 |
+
true
|
200 |
+
);
|
201 |
+
|
202 |
+
wp_enqueue_script(
|
203 |
+
'pa-sweetalert',
|
204 |
+
PREMIUM_ADDONS_URL . 'admin/assets/js/sweetalert2/sweetalert2.min.js',
|
205 |
+
array( 'jquery', 'pa-sweetalert-core' ),
|
206 |
+
PREMIUM_ADDONS_VERSION,
|
207 |
+
true
|
208 |
+
);
|
209 |
+
|
210 |
+
$theme_slug = Helper_Functions::get_installed_theme();
|
211 |
+
|
212 |
+
$localized_data = array(
|
213 |
+
'settings' => array(
|
214 |
+
'ajaxurl' => admin_url( 'admin-ajax.php' ),
|
215 |
+
'nonce' => wp_create_nonce( 'pa-settings-tab' ),
|
216 |
+
'theme' => $theme_slug
|
217 |
+
),
|
218 |
+
'premiumRollBackConfirm' => array(
|
219 |
+
'home_url' => home_url(),
|
220 |
+
'i18n' => array(
|
221 |
+
'rollback_to_previous_version' => __( 'Rollback to Previous Version', 'premium-addons-for-elementor' ),
|
222 |
+
'rollback_confirm' => __( 'Are you sure you want to reinstall version ' . PREMIUM_ADDONS_STABLE_VERSION . ' ?', 'premium-addons-for-elementor' ),
|
223 |
+
'yes' => __( 'Continue', 'premium-addons-for-elementor' ),
|
224 |
+
'cancel' => __( 'Cancel', 'premium-addons-for-elementor' ),
|
225 |
+
),
|
226 |
+
)
|
227 |
+
);
|
228 |
+
|
229 |
+
//Add PAPRO Rollback Confirm message if PAPRO installed
|
230 |
+
if( Helper_Functions::check_papro_version() ) {
|
231 |
+
$localized_data['premiumRollBackConfirm']['i18n']['papro_rollback_confirm'] = __( 'Are you sure you want to reinstall version ' . PREMIUM_PRO_ADDONS_STABLE_VERSION . ' ?', 'premium-addons-for-elementor' );
|
232 |
+
}
|
233 |
+
|
234 |
+
wp_localize_script( 'pa-admin-js', 'premiumAddonsSettings', $localized_data );
|
235 |
+
|
236 |
+
}
|
237 |
+
}
|
238 |
+
|
239 |
+
/**
|
240 |
+
* Insert action links.
|
241 |
+
*
|
242 |
+
* Adds action links to the plugin list table
|
243 |
+
*
|
244 |
+
* Fired by `plugin_action_links` filter.
|
245 |
+
*
|
246 |
+
* @since 1.0.0
|
247 |
+
* @access public
|
248 |
+
*
|
249 |
+
*/
|
250 |
+
public function insert_action_links( $links ) {
|
251 |
+
|
252 |
+
$papro_path = 'premium-addons-pro/premium-addons-pro-for-elementor.php';
|
253 |
+
|
254 |
+
$is_papro_installed = Helper_Functions::is_plugin_installed( $papro_path );
|
255 |
+
|
256 |
+
$settings_link = sprintf( '<a href="%1$s">%2$s</a>', admin_url( 'admin.php?page=' . $this->page_slug . '#tab=elements' ), __( 'Settings', 'premium-addons-for-elementor' ) );
|
257 |
+
|
258 |
+
$rollback_link = sprintf( '<a href="%1$s">%2$s</a>', wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ), __( 'Rollback to Version ' . PREMIUM_ADDONS_STABLE_VERSION, 'premium-addons-for-elementor' ) );
|
259 |
+
|
260 |
+
$new_links = array( $settings_link, $rollback_link );
|
261 |
+
|
262 |
+
if( ! $is_papro_installed ) {
|
263 |
+
|
264 |
+
$link = Helper_Functions::get_campaign_link( 'https://premiumaddons.com/pro', 'plugins-page', 'wp-dash', 'get-pro' );
|
265 |
+
|
266 |
+
$pro_link = sprintf( '<a href="%s" target="_blank" style="color: #39b54a; font-weight: bold;">%s</a>', $link, __( 'Go Pro', 'premium-addons-for-elementor' ) );
|
267 |
+
array_push ( $new_links, $pro_link );
|
268 |
+
}
|
269 |
+
|
270 |
+
$new_links = array_merge( $links, $new_links );
|
271 |
+
|
272 |
+
return $new_links;
|
273 |
+
}
|
274 |
+
|
275 |
+
/**
|
276 |
+
* Plugin row meta.
|
277 |
+
*
|
278 |
+
* Extends plugin row meta links
|
279 |
+
*
|
280 |
+
* Fired by `plugin_row_meta` filter.
|
281 |
+
*
|
282 |
+
* @since 3.8.4
|
283 |
+
* @access public
|
284 |
+
*
|
285 |
+
* @return array An array of plugin row meta links.
|
286 |
+
*/
|
287 |
+
public function plugin_row_meta( $meta, $file ) {
|
288 |
+
|
289 |
+
if( Helper_Functions::is_hide_row_meta() )
|
290 |
+
return $meta;
|
291 |
+
|
292 |
+
if ( PREMIUM_ADDONS_BASENAME == $file ) {
|
293 |
+
|
294 |
+
$link = Helper_Functions::get_campaign_link( 'https://premiumaddons.com/support', 'plugins-page', 'wp-dash', 'get-support' );
|
295 |
+
|
296 |
+
$row_meta = [
|
297 |
+
'docs' => '<a href="' . esc_attr( $link ) . '" aria-label="' . esc_attr( __( 'View Premium Addons for Elementor Documentation', 'premium-addons-for-elementor' ) ) . '" target="_blank">' . __( 'Docs & FAQs', 'premium-addons-for-elementor' ) . '</a>',
|
298 |
+
'videos' => '<a href="https://www.youtube.com/watch?v=D3INxWw_jKI&list=PLLpZVOYpMtTArB4hrlpSnDJB36D2sdoTv" aria-label="' . esc_attr( __( 'View Premium Addons Video Tutorials', 'premium-addons-for-elementor' ) ) . '" target="_blank">' . __( 'Video Tutorials', 'premium-addons-for-elementor' ) . '</a>',
|
299 |
+
];
|
300 |
+
|
301 |
+
$meta = array_merge( $meta, $row_meta );
|
302 |
+
}
|
303 |
+
|
304 |
+
return $meta;
|
305 |
+
|
306 |
+
}
|
307 |
+
|
308 |
+
/**
|
309 |
+
* Gets current screen slug
|
310 |
+
*
|
311 |
+
* @since 3.3.8
|
312 |
+
* @access public
|
313 |
+
*
|
314 |
+
* @return string current screen slug
|
315 |
+
*/
|
316 |
+
public static function get_current_screen() {
|
317 |
+
|
318 |
+
self::$current_screen = get_current_screen()->id;
|
319 |
+
|
320 |
+
return isset( self::$current_screen ) ? self::$current_screen : false;
|
321 |
+
|
322 |
+
}
|
323 |
+
|
324 |
+
/**
|
325 |
+
* Set Admin Tabs
|
326 |
+
*
|
327 |
+
* @access private
|
328 |
+
* @since 3.20.8
|
329 |
+
*
|
330 |
+
* @param $tab_slug string current active tab slug
|
331 |
+
*/
|
332 |
+
private function set_admin_tabs() {
|
333 |
+
|
334 |
+
$slug = $this->page_slug;
|
335 |
+
|
336 |
+
self::$tabs = [
|
337 |
+
'general' => [
|
338 |
+
'id' => 'general',
|
339 |
+
'slug' => $slug . '#tab=general',
|
340 |
+
'title' => __('General', 'premium-addons-for-elementor'),
|
341 |
+
'href' => '#tab=general',
|
342 |
+
'template' => PREMIUM_ADDONS_PATH . 'admin/includes/templates/general'
|
343 |
+
],
|
344 |
+
'elements' => [
|
345 |
+
'id' => 'elements',
|
346 |
+
'slug' => $slug . '#tab=elements',
|
347 |
+
'title' => __('Widgets & Add-ons', 'premium-addons-for-elementor'),
|
348 |
+
'href' => '#tab=elements',
|
349 |
+
'template' => PREMIUM_ADDONS_PATH . 'admin/includes/templates/modules-settings'
|
350 |
+
],
|
351 |
+
'features' => [
|
352 |
+
'id' => 'features',
|
353 |
+
'slug' => $slug . '#tab=features',
|
354 |
+
'title' => __('Features', 'premium-addons-for-elementor'),
|
355 |
+
'href' => '#tab=features',
|
356 |
+
'template' => PREMIUM_ADDONS_PATH . 'admin/includes/templates/features'
|
357 |
+
],
|
358 |
+
'integrations' => [
|
359 |
+
'id' => 'integrations',
|
360 |
+
'slug' => $slug . '#tab=integrations',
|
361 |
+
'title' => __('Integrations', 'premium-addons-for-elementor'),
|
362 |
+
'href' => '#tab=integrations',
|
363 |
+
'template' => PREMIUM_ADDONS_PATH . 'admin/includes/templates/integrations'
|
364 |
+
],
|
365 |
+
'version-control' => [
|
366 |
+
'id' => 'vcontrol',
|
367 |
+
'slug' => $slug . '#tab=vcontrol',
|
368 |
+
'title' => __('Version Control', 'premium-addons-for-elementor'),
|
369 |
+
'href' => '#tab=vcontrol',
|
370 |
+
'template' => PREMIUM_ADDONS_PATH . 'admin/includes/templates/version-control'
|
371 |
+
],
|
372 |
+
'white-label' => [
|
373 |
+
'id' => 'white-label',
|
374 |
+
'slug' => $slug . '#tab=white-label',
|
375 |
+
'title' => __('White Labeling', 'premium-addons-for-elementor'),
|
376 |
+
'href' => '#tab=white-label',
|
377 |
+
'template' => PREMIUM_ADDONS_PATH . 'admin/includes/templates/white-label'
|
378 |
+
],
|
379 |
+
'info' => [
|
380 |
+
'id' => 'system-info',
|
381 |
+
'slug' => $slug . '#tab=system-info',
|
382 |
+
'title' => __('System Info', 'premium-addons-for-elementor'),
|
383 |
+
'href' => '#tab=system-info',
|
384 |
+
'template' => PREMIUM_ADDONS_PATH . 'admin/includes/templates/info'
|
385 |
+
]
|
386 |
+
];
|
387 |
+
|
388 |
+
self::$tabs = apply_filters( 'pa_admin_register_tabs', self::$tabs );
|
389 |
+
|
390 |
+
}
|
391 |
+
|
392 |
+
/**
|
393 |
+
* Add Menu Tabs
|
394 |
+
*
|
395 |
+
* Create Submenu Page
|
396 |
+
*
|
397 |
+
* @since 3.20.9
|
398 |
+
* @access public
|
399 |
+
*
|
400 |
+
* @return void
|
401 |
+
*/
|
402 |
+
public function add_menu_tabs() {
|
403 |
+
|
404 |
+
$plugin_name = 'Premium Addons for Elementor';
|
405 |
+
|
406 |
+
call_user_func(
|
407 |
+
'add_menu_page',
|
408 |
+
$plugin_name,
|
409 |
+
$plugin_name,
|
410 |
+
'manage_options',
|
411 |
+
$this->page_slug,
|
412 |
+
array( $this , 'render_setting_tabs' ),
|
413 |
+
'' ,
|
414 |
+
100
|
415 |
+
);
|
416 |
+
|
417 |
+
|
418 |
+
foreach( self::$tabs as $index => $tab ) {
|
419 |
+
call_user_func(
|
420 |
+
'add_submenu_page',
|
421 |
+
$this->page_slug,
|
422 |
+
$tab['title'],
|
423 |
+
$tab['title'],
|
424 |
+
'manage_options',
|
425 |
+
$tab['slug'],
|
426 |
+
'__return_null'
|
427 |
+
);
|
428 |
+
}
|
429 |
+
|
430 |
+
remove_submenu_page( $this->page_slug, $this->page_slug );
|
431 |
+
}
|
432 |
+
|
433 |
+
/**
|
434 |
+
* Render Setting Tabs
|
435 |
+
*
|
436 |
+
* Render the final HTML content for admin setting tabs
|
437 |
+
*
|
438 |
+
* @access public
|
439 |
+
* @since 3.20.8
|
440 |
+
*
|
441 |
+
* @param $tab_slug string current active tab slug
|
442 |
+
*/
|
443 |
+
public function render_setting_tabs() {
|
444 |
+
|
445 |
+
?>
|
446 |
+
<div class="pa-settings-wrap">
|
447 |
+
<?php do_action('pa_before_render_admin_tabs'); ?>
|
448 |
+
<div class="pa-settings-tabs">
|
449 |
+
<ul class="pa-settings-tabs-list">
|
450 |
+
<?php
|
451 |
+
foreach( self::$tabs as $key => $tab ) {
|
452 |
+
$link = '<li class="pa-settings-tab">';
|
453 |
+
$link .= '<a id="pa-tab-link-' . $tab['id'] . '"';
|
454 |
+
$link .= 'href="' . $tab['href'] . '">';
|
455 |
+
$link .= '<i class="pa-dash-' . $tab['id'] . '"></i>';
|
456 |
+
$link .= '<span>' . $tab['title'] . '</span>';
|
457 |
+
$link.= '</a>';
|
458 |
+
$link .= '</li>';
|
459 |
+
|
460 |
+
echo $link;
|
461 |
+
} ?>
|
462 |
+
</ul>
|
463 |
+
</div> <!-- Settings Tabs -->
|
464 |
+
|
465 |
+
<div class="pa-settings-sections">
|
466 |
+
<?php
|
467 |
+
foreach( self::$tabs as $key => $tab ) {
|
468 |
+
echo '<div id="pa-section-' . $tab['id'] . '" class="pa-section pa-section-'. $key .'">';
|
469 |
+
include_once $tab['template'] . '.php';
|
470 |
+
echo '</div>';
|
471 |
+
} ?>
|
472 |
+
</div> <!-- Settings Sections -->
|
473 |
+
<?php do_action('pa_after_render_admin_tabs'); ?>
|
474 |
+
</div> <!-- Settings Wrap -->
|
475 |
+
<?php
|
476 |
+
}
|
477 |
+
|
478 |
+
/**
|
479 |
+
* Render Dashboard Header
|
480 |
+
*
|
481 |
+
* @since 4.0.0
|
482 |
+
* @access public
|
483 |
+
*
|
484 |
+
*/
|
485 |
+
public function render_dashboard_header() {
|
486 |
+
|
487 |
+
$url = Helper_Functions::get_campaign_link('https://premiumaddons.com/pro/', 'settings-page', 'wp-dash', 'dashboard');
|
488 |
+
|
489 |
+
$show_logo = Helper_Functions::is_hide_logo();
|
490 |
+
|
491 |
+
?>
|
492 |
+
|
493 |
+
<div class="papro-admin-notice">
|
494 |
+
<?php if( ! $show_logo ) : ?>
|
495 |
+
<div class="papro-admin-notice-left">
|
496 |
+
<div class="papro-admin-notice-logo">
|
497 |
+
<img class="pa-notice-logo" src="<?php echo PREMIUM_ADDONS_URL .'admin/images/papro-notice-logo.png'; ?>">
|
498 |
+
</div>
|
499 |
+
</div>
|
500 |
+
<?php endif; ?>
|
501 |
+
|
502 |
+
<?php if( ! Helper_Functions::check_papro_version() ) : ?>
|
503 |
+
<div class="papro-admin-notice-right">
|
504 |
+
<div class="papro-admin-notice-info">
|
505 |
+
<h4><?php echo __('Get Premium Addons PRO', 'premium-addons-for-elementor'); ?></h4>
|
506 |
+
<p><?php echo sprintf( __('Supercharge your Elementor with %sPRO Widgets & Addons%s that you won\'t find anywhere else.', 'premium-addons-for-elementor'), '<span>', '</span>' ); ?></p>
|
507 |
+
</div>
|
508 |
+
<div class="papro-admin-notice-cta">
|
509 |
+
<a class="papro-notice-btn" href="<?php echo $url; ?>" target="_blank"><?php echo __('Get PRO','premium-addons-for-elementor'); ?></a>
|
510 |
+
</div>
|
511 |
+
</div>
|
512 |
+
<?php endif; ?>
|
513 |
+
</div>
|
514 |
+
|
515 |
+
<?php
|
516 |
+
}
|
517 |
+
|
518 |
+
/**
|
519 |
+
* Save Settings
|
520 |
+
*
|
521 |
+
* Save elements settings using AJAX
|
522 |
+
*
|
523 |
+
* @access public
|
524 |
+
* @since 3.20.8
|
525 |
+
*/
|
526 |
+
public function save_settings() {
|
527 |
+
|
528 |
+
check_ajax_referer( 'pa-settings-tab', 'security' );
|
529 |
+
|
530 |
+
if (!isset($_POST['fields'])) {
|
531 |
+
return;
|
532 |
+
}
|
533 |
+
|
534 |
+
parse_str( $_POST['fields'], $settings );
|
535 |
+
|
536 |
+
$defaults = self::get_default_elements();
|
537 |
+
|
538 |
+
$elements = array_merge($defaults, array_fill_keys(array_keys(array_intersect_key($settings, $defaults)), true));
|
539 |
+
|
540 |
+
update_option( 'pa_save_settings', $elements );
|
541 |
+
|
542 |
+
wp_send_json_success();
|
543 |
+
}
|
544 |
+
|
545 |
+
/**
|
546 |
+
* Save Integrations Control Settings
|
547 |
+
*
|
548 |
+
* Stores integration and version control settings
|
549 |
+
*
|
550 |
+
* @since 3.20.8
|
551 |
+
* @access public
|
552 |
+
*
|
553 |
+
*/
|
554 |
+
public function save_additional_settings() {
|
555 |
+
|
556 |
+
check_ajax_referer( 'pa-settings-tab', 'security' );
|
557 |
+
|
558 |
+
if (!isset($_POST['fields'])) {
|
559 |
+
return;
|
560 |
+
}
|
561 |
+
|
562 |
+
parse_str( $_POST['fields'], $settings );
|
563 |
+
|
564 |
+
$new_settings = array(
|
565 |
+
'premium-map-api' => sanitize_text_field( $settings['premium-map-api'] ),
|
566 |
+
'premium-youtube-api' => sanitize_text_field( $settings['premium-youtube-api'] ),
|
567 |
+
'premium-map-disable-api' => intval( $settings['premium-map-disable-api'] ? 1 : 0 ),
|
568 |
+
'premium-map-cluster' => intval( $settings['premium-map-cluster'] ? 1 : 0 ),
|
569 |
+
'premium-map-locale' => sanitize_text_field( $settings['premium-map-locale'] ),
|
570 |
+
'is-beta-tester' => intval( $settings['is-beta-tester'] ? 1 : 0 ),
|
571 |
+
);
|
572 |
+
|
573 |
+
update_option( 'pa_maps_save_settings', $new_settings );
|
574 |
+
|
575 |
+
wp_send_json_success($settings);
|
576 |
+
|
577 |
+
}
|
578 |
+
|
579 |
+
/**
|
580 |
+
* Save Global Button Value
|
581 |
+
*
|
582 |
+
* Saves value for elements global switcher
|
583 |
+
*
|
584 |
+
* @since 4.0.0
|
585 |
+
* @access public
|
586 |
+
*/
|
587 |
+
|
588 |
+
public function save_global_btn_value() {
|
589 |
+
|
590 |
+
check_ajax_referer( 'pa-settings-tab', 'security' );
|
591 |
+
|
592 |
+
if (!isset($_POST['isGlobalOn'])) {
|
593 |
+
wp_send_json_error();
|
594 |
+
}
|
595 |
+
|
596 |
+
$global_btn_value = $_POST['isGlobalOn'];
|
597 |
+
|
598 |
+
update_option( 'pa_global_btn_value', $global_btn_value );
|
599 |
+
|
600 |
+
wp_send_json_success();
|
601 |
+
|
602 |
+
}
|
603 |
+
|
604 |
+
/**
|
605 |
+
* Get default Elements
|
606 |
+
*
|
607 |
+
* @since 3.20.9
|
608 |
+
* @access private
|
609 |
+
*
|
610 |
+
* @return $default_keys array default keys
|
611 |
+
*/
|
612 |
+
private static function get_default_elements() {
|
613 |
+
|
614 |
+
$elements = self::get_elements_list();
|
615 |
+
|
616 |
+
$keys = array();
|
617 |
+
|
618 |
+
//Now, we need to fill our array with elements keys
|
619 |
+
foreach( $elements as $key => $cat ) {
|
620 |
+
if( count( $cat['elements'] ) ) {
|
621 |
+
foreach( $cat['elements'] as $index => $elem ) {
|
622 |
+
array_push( $keys, $elem['key'] );
|
623 |
+
}
|
624 |
+
}
|
625 |
+
}
|
626 |
+
|
627 |
+
$default_keys = array_fill_keys( $keys, true );
|
628 |
+
|
629 |
+
return $default_keys;
|
630 |
+
|
631 |
+
}
|
632 |
+
|
633 |
+
/**
|
634 |
+
* Get Default Interations
|
635 |
+
*
|
636 |
+
* @since 3.20.9
|
637 |
+
* @access private
|
638 |
+
*
|
639 |
+
* @return $default_keys array default keys
|
640 |
+
*/
|
641 |
+
private static function get_default_integrations() {
|
642 |
+
|
643 |
+
$settings = self::get_integrations_list();
|
644 |
+
|
645 |
+
$default_keys = array_fill_keys( $settings, true );
|
646 |
+
|
647 |
+
return $default_keys;
|
648 |
+
|
649 |
+
}
|
650 |
+
|
651 |
+
/**
|
652 |
+
* Get enabled widgets
|
653 |
+
*
|
654 |
+
* @since 3.20.9
|
655 |
+
* @access public
|
656 |
+
*
|
657 |
+
* @return array $enabled_keys enabled elements
|
658 |
+
*/
|
659 |
+
public static function get_enabled_elements() {
|
660 |
+
|
661 |
+
$defaults = self::get_default_elements();
|
662 |
+
|
663 |
+
$enabled_keys = get_option( 'pa_save_settings', $defaults );
|
664 |
+
|
665 |
+
$enabled_keys = array_merge($defaults, $enabled_keys);
|
666 |
+
|
667 |
+
return $enabled_keys;
|
668 |
+
|
669 |
+
}
|
670 |
+
|
671 |
+
/*
|
672 |
+
* Check If Premium Templates is enabled
|
673 |
+
*
|
674 |
+
* @since 3.6.0
|
675 |
+
* @access public
|
676 |
+
*
|
677 |
+
* @return boolean
|
678 |
+
*/
|
679 |
+
public static function check_premium_templates() {
|
680 |
+
|
681 |
+
$settings = self::get_enabled_elements();
|
682 |
+
|
683 |
+
if( ! isset( $settings['premium-templates'] ) )
|
684 |
+
return true;
|
685 |
+
|
686 |
+
$is_enabled = $settings['premium-templates'];
|
687 |
+
|
688 |
+
return $is_enabled;
|
689 |
+
}
|
690 |
+
|
691 |
+
|
692 |
+
/*
|
693 |
+
* Check If Premium Duplicator is enabled
|
694 |
+
*
|
695 |
+
* @since 3.20.9
|
696 |
+
* @access public
|
697 |
+
*
|
698 |
+
* @return boolean
|
699 |
+
*/
|
700 |
+
public static function check_duplicator() {
|
701 |
+
|
702 |
+
$settings = self::get_enabled_elements();
|
703 |
+
|
704 |
+
if( ! isset( $settings['premium-duplicator'] ) )
|
705 |
+
return true;
|
706 |
+
|
707 |
+
$is_enabled = $settings['premium-duplicator'];
|
708 |
+
|
709 |
+
return $is_enabled;
|
710 |
+
}
|
711 |
+
|
712 |
+
/**
|
713 |
+
* Get Integrations Settings
|
714 |
+
*
|
715 |
+
* Get plugin integrations settings
|
716 |
+
*
|
717 |
+
* @since 3.20.9
|
718 |
+
* @access public
|
719 |
+
*
|
720 |
+
* @return array $settings integrations settings
|
721 |
+
*/
|
722 |
+
public static function get_integrations_settings() {
|
723 |
+
|
724 |
+
$enabled_keys = get_option( 'pa_maps_save_settings', self::get_default_integrations() );
|
725 |
+
|
726 |
+
return $enabled_keys;
|
727 |
+
|
728 |
+
}
|
729 |
+
|
730 |
+
/**
|
731 |
+
* Creates and returns an instance of the class
|
732 |
+
*
|
733 |
+
* @since 1.0.0
|
734 |
+
* @access public
|
735 |
+
*
|
736 |
+
* @return object
|
737 |
+
*/
|
738 |
+
public static function get_instance() {
|
739 |
+
|
740 |
+
if( self::$instance == null ) {
|
741 |
+
|
742 |
+
self::$instance = new self;
|
743 |
+
|
744 |
+
}
|
745 |
+
|
746 |
+
return self::$instance;
|
747 |
+
}
|
748 |
+
}
|
admin/includes/dep/info.php
DELETED
@@ -1,129 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if( ! defined( 'ABSPATH' ) ) exit; //Exit if accessed directly
|
4 |
-
|
5 |
-
function pa_get_sysinfo() {
|
6 |
-
global $wpdb;
|
7 |
-
|
8 |
-
// Get theme info
|
9 |
-
$theme_data = wp_get_theme();
|
10 |
-
$theme = $theme_data->Name . ' ' . $theme_data->Version;
|
11 |
-
|
12 |
-
$return = '### <strong>Begin System Info</strong> ###' . "\n\n";
|
13 |
-
|
14 |
-
// Start with the basics...
|
15 |
-
$return .= '-- Site Info' . "\n\n";
|
16 |
-
$return .= 'Site URL: ' . site_url() . "\n";
|
17 |
-
$return .= 'Home URL: ' . home_url() . "\n";
|
18 |
-
$return .= 'Multisite: ' . (is_multisite() ? 'Yes' : 'No') . "\n";
|
19 |
-
|
20 |
-
// Theme info
|
21 |
-
$plugin = get_plugin_data(PREMIUM_ADDONS_FILE);
|
22 |
-
|
23 |
-
|
24 |
-
// Plugin configuration
|
25 |
-
$return .= "\n" . '-- Plugin Configuration' . "\n\n";
|
26 |
-
$return .= 'Name: ' . $plugin['Name'] . "\n";
|
27 |
-
$return .= 'Version: ' . $plugin['Version'] . "\n";
|
28 |
-
|
29 |
-
// WordPress configuration
|
30 |
-
$return .= "\n" . '-- WordPress Configuration' . "\n\n";
|
31 |
-
$return .= 'Version: ' . get_bloginfo('version') . "\n";
|
32 |
-
$return .= 'Language: ' . (defined('WPLANG') && WPLANG ? WPLANG : 'en_US') . "\n";
|
33 |
-
$return .= 'Permalink Structure: ' . (get_option('permalink_structure') ? get_option('permalink_structure') : 'Default') . "\n";
|
34 |
-
$return .= 'Active Theme: ' . $theme . "\n";
|
35 |
-
$return .= 'Show On Front: ' . get_option('show_on_front') . "\n";
|
36 |
-
|
37 |
-
// Only show page specs if frontpage is set to 'page'
|
38 |
-
if (get_option('show_on_front') == 'page') {
|
39 |
-
$front_page_id = get_option('page_on_front');
|
40 |
-
$blog_page_id = get_option('page_for_posts');
|
41 |
-
|
42 |
-
$return .= 'Page On Front: ' . ($front_page_id != 0 ? get_the_title($front_page_id) . ' (#' . $front_page_id . ')' : 'Unset') . "\n";
|
43 |
-
$return .= 'Page For Posts: ' . ($blog_page_id != 0 ? get_the_title($blog_page_id) . ' (#' . $blog_page_id . ')' : 'Unset') . "\n";
|
44 |
-
}
|
45 |
-
|
46 |
-
$return .= 'ABSPATH: ' . ABSPATH . "\n";
|
47 |
-
|
48 |
-
|
49 |
-
$return .= 'WP_DEBUG: ' . (defined('WP_DEBUG') ? WP_DEBUG ? 'Enabled' : 'Disabled' : 'Not set') . "\n";
|
50 |
-
$return .= 'Memory Limit: ' . WP_MEMORY_LIMIT . "\n";
|
51 |
-
$return .= 'Registered Post Stati: ' . implode(', ', get_post_stati()) . "\n";
|
52 |
-
|
53 |
-
// Get plugins that have an update
|
54 |
-
$updates = get_plugin_updates();
|
55 |
-
|
56 |
-
// WordPress active plugins
|
57 |
-
$return .= "\n" . '-- WordPress Active Plugins' . "\n\n";
|
58 |
-
|
59 |
-
$plugins = get_plugins();
|
60 |
-
$active_plugins = get_option('active_plugins', array());
|
61 |
-
|
62 |
-
foreach ($plugins as $plugin_path => $plugin) {
|
63 |
-
if (!in_array($plugin_path, $active_plugins))
|
64 |
-
continue;
|
65 |
-
|
66 |
-
$update = (array_key_exists($plugin_path, $updates)) ? ' (needs update - ' . $updates[$plugin_path]->update->new_version . ')' : '';
|
67 |
-
$return .= $plugin['Name'] . ': ' . $plugin['Version'] . $update . "\n";
|
68 |
-
}
|
69 |
-
|
70 |
-
// WordPress inactive plugins
|
71 |
-
$return .= "\n" . '-- WordPress Inactive Plugins' . "\n\n";
|
72 |
-
|
73 |
-
foreach ($plugins as $plugin_path => $plugin) {
|
74 |
-
if (in_array($plugin_path, $active_plugins))
|
75 |
-
continue;
|
76 |
-
|
77 |
-
$update = (array_key_exists($plugin_path, $updates)) ? ' (needs update - ' . $updates[$plugin_path]->update->new_version . ')' : '';
|
78 |
-
$return .= $plugin['Name'] . ': ' . $plugin['Version'] . $update . "\n";
|
79 |
-
}
|
80 |
-
|
81 |
-
if (is_multisite()) {
|
82 |
-
// WordPress Multisite active plugins
|
83 |
-
$return .= "\n" . '-- Network Active Plugins' . "\n\n";
|
84 |
-
|
85 |
-
$plugins = wp_get_active_network_plugins();
|
86 |
-
$active_plugins = get_site_option('active_sitewide_plugins', array());
|
87 |
-
|
88 |
-
foreach ($plugins as $plugin_path) {
|
89 |
-
$plugin_base = plugin_basename($plugin_path);
|
90 |
-
|
91 |
-
if (!array_key_exists($plugin_base, $active_plugins))
|
92 |
-
continue;
|
93 |
-
|
94 |
-
$update = (array_key_exists($plugin_path, $updates)) ? ' (needs update - ' . $updates[$plugin_path]->update->new_version . ')' : '';
|
95 |
-
$plugin = get_plugin_data($plugin_path);
|
96 |
-
$return .= $plugin['Name'] . ': ' . $plugin['Version'] . $update . "\n";
|
97 |
-
}
|
98 |
-
}
|
99 |
-
|
100 |
-
// Server configuration (really just versioning)
|
101 |
-
$return .= "\n" . '-- Webserver Configuration' . "\n\n";
|
102 |
-
$return .= 'PHP Version: ' . PHP_VERSION . "\n";
|
103 |
-
$return .= 'MySQL Version: ' . $wpdb->db_version() . "\n";
|
104 |
-
$return .= 'Webserver Info: ' . $_SERVER['SERVER_SOFTWARE'] . "\n";
|
105 |
-
|
106 |
-
// PHP configs... now we're getting to the important stuff
|
107 |
-
$return .= "\n" . '-- PHP Configuration' . "\n\n";
|
108 |
-
$return .= 'Memory Limit: ' . ini_get('memory_limit') . "\n";
|
109 |
-
$return .= 'Upload Max Size: ' . ini_get('upload_max_filesize') . "\n";
|
110 |
-
$return .= 'Post Max Size: ' . ini_get('post_max_size') . "\n";
|
111 |
-
$return .= 'Upload Max Filesize: ' . ini_get('upload_max_filesize') . "\n";
|
112 |
-
$return .= 'Time Limit: ' . ini_get('max_execution_time') . "\n";
|
113 |
-
$return .= 'Max Input Vars: ' . ini_get('max_input_vars') . "\n";
|
114 |
-
$return .= 'Display Errors: ' . (ini_get('display_errors') ? 'On (' . ini_get('display_errors') . ')' : 'N/A') . "\n";
|
115 |
-
|
116 |
-
$return = apply_filters('edd_sysinfo_after_php_config', $return);
|
117 |
-
|
118 |
-
// PHP extensions and such
|
119 |
-
$return .= "\n" . '-- PHP Extensions' . "\n\n";
|
120 |
-
$return .= 'cURL: ' . (function_exists('curl_init') ? 'Supported' : 'Not Supported') . "\n";
|
121 |
-
$return .= 'fsockopen: ' . (function_exists('fsockopen') ? 'Supported' : 'Not Supported') . "\n";
|
122 |
-
$return .= 'SOAP Client: ' . (class_exists('SoapClient') ? 'Installed' : 'Not Installed') . "\n";
|
123 |
-
$return .= 'Suhosin: ' . (extension_loaded('suhosin') ? 'Installed' : 'Not Installed') . "\n";
|
124 |
-
|
125 |
-
$return .= "\n" . '### End System Info ###';
|
126 |
-
|
127 |
-
return $return;
|
128 |
-
}
|
129 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
admin/includes/{dep/admin-helper.php → duplicator.php}
RENAMED
@@ -1,113 +1,54 @@
|
|
1 |
Â
<?php
|
2 |
Â
|
Â
|
|
Â
|
|
Â
|
|
3 |
Â
namespace PremiumAddons\Admin\Includes;
|
4 |
Â
|
5 |
-
|
6 |
-
use PremiumAddons\Helper_Functions;
|
7 |
Â
|
8 |
-
|
Â
|
|
Â
|
|
Â
|
|
9 |
Â
|
10 |
-
|
11 |
-
|
Â
|
|
12 |
Â
const DUPLICATE_ACTION = 'pa_duplicator';
|
13 |
Â
|
14 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
15 |
Â
|
16 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
17 |
Â
|
18 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
19 |
Â
|
20 |
Â
/**
|
21 |
Â
* Constructor for the class
|
22 |
Â
*/
|
23 |
Â
public function __construct() {
|
24 |
Â
|
25 |
-
add_action( 'current_screen', array( $this, 'get_current_screen' ) );
|
26 |
-
|
27 |
-
add_filter( 'plugin_action_links_' . PREMIUM_ADDONS_BASENAME, array( $this, 'insert_action_links' ) );
|
28 |
-
|
29 |
-
add_filter( 'plugin_row_meta', array( $this, 'plugin_row_meta' ), 10, 2 );
|
30 |
-
|
31 |
-
if( ! Modules_Settings::check_premium_duplicator() )
|
32 |
-
return;
|
33 |
-
|
34 |
Â
add_action( 'admin_action_' . self::DUPLICATE_ACTION, array( $this, 'duplicate_post' ) );
|
35 |
-
add_filter( 'post_row_actions', array( $this, 'add_duplicator_actions' ), 10, 2 );
|
36 |
-
add_filter( 'page_row_actions', array( $this, 'add_duplicator_actions' ), 10, 2 );
|
37 |
-
|
38 |
-
}
|
39 |
-
|
40 |
-
/**
|
41 |
-
* Insert action links.
|
42 |
-
*
|
43 |
-
* Adds action links to the plugin list table
|
44 |
-
*
|
45 |
-
* Fired by `plugin_action_links` filter.
|
46 |
-
*
|
47 |
-
* @since 1.0.0
|
48 |
-
* @access public
|
49 |
-
*
|
50 |
-
*/
|
51 |
-
public function insert_action_links( $links ) {
|
52 |
Â
|
53 |
-
|
54 |
-
|
55 |
-
$is_papro_installed = Helper_Functions::is_plugin_installed( $papro_path );
|
56 |
-
|
57 |
-
$settings_link = sprintf( '<a href="%1$s">%2$s</a>', admin_url( 'admin.php?page=' . $this->page_slug ), __( 'Settings', 'premium-addons-for-elementor' ) );
|
58 |
-
|
59 |
-
$rollback_link = sprintf( '<a href="%1$s">%2$s</a>', wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ), __( 'Rollback to Version ' . PREMIUM_ADDONS_STABLE_VERSION, 'premium-addons-for-elementor' ) );
|
60 |
-
|
61 |
-
$new_links = array( $settings_link, $rollback_link );
|
62 |
-
|
63 |
-
if( ! $is_papro_installed ) {
|
64 |
-
|
65 |
-
$theme = Helper_Functions::get_installed_theme();
|
66 |
-
|
67 |
-
$link = sprintf( 'https://premiumaddons.com/pro/?utm_source=plugins-page&utm_medium=wp-dash&utm_campaign=get-pro&utm_term=%s', $theme );
|
68 |
-
|
69 |
-
$pro_link = sprintf( '<a href="%s" target="_blank" style="color: #39b54a; font-weight: bold;">%s</a>', $link, __( 'Go Pro', 'premium-addons-for-elementor' ) );
|
70 |
-
array_push ( $new_links, $pro_link );
|
71 |
-
}
|
72 |
-
|
73 |
-
$new_links = array_merge( $links, $new_links );
|
74 |
Â
|
75 |
-
|
76 |
-
}
|
77 |
-
|
78 |
-
/**
|
79 |
-
* Plugin row meta.
|
80 |
-
*
|
81 |
-
* Extends plugin row meta links
|
82 |
-
*
|
83 |
-
* Fired by `plugin_row_meta` filter.
|
84 |
-
*
|
85 |
-
* @since 3.8.4
|
86 |
-
* @access public
|
87 |
-
*
|
88 |
-
* @return array An array of plugin row meta links.
|
89 |
-
*/
|
90 |
-
public function plugin_row_meta( $meta, $file ) {
|
91 |
-
|
92 |
-
if( Helper_Functions::is_hide_row_meta() )
|
93 |
-
return $meta;
|
94 |
Â
|
95 |
-
if ( PREMIUM_ADDONS_BASENAME == $file ) {
|
96 |
-
|
97 |
-
$theme = Helper_Functions::get_installed_theme();
|
98 |
-
|
99 |
-
$link = sprintf( 'https://premiumaddons.com/support/?utm_source=plugins-page&utm_medium=wp-dash&utm_campaign=get-support&utm_term=%s', $theme );
|
100 |
-
|
101 |
-
$row_meta = [
|
102 |
-
'docs' => '<a href="' . esc_attr( $link ) . '" aria-label="' . esc_attr( __( 'View Premium Addons for Elementor Documentation', 'premium-addons-for-elementor' ) ) . '" target="_blank">' . __( 'Docs & FAQs', 'premium-addons-for-elementor' ) . '</a>',
|
103 |
-
'videos' => '<a href="https://www.youtube.com/watch?v=D3INxWw_jKI&list=PLLpZVOYpMtTArB4hrlpSnDJB36D2sdoTv" aria-label="' . esc_attr( __( 'View Premium Addons Video Tutorials', 'premium-addons-for-elementor' ) ) . '" target="_blank">' . __( 'Video Tutorials', 'premium-addons-for-elementor' ) . '</a>',
|
104 |
-
];
|
105 |
-
|
106 |
-
$meta = array_merge( $meta, $row_meta );
|
107 |
-
}
|
108 |
-
|
109 |
-
return $meta;
|
110 |
-
|
111 |
Â
}
|
112 |
Â
|
113 |
Â
/**
|
@@ -213,6 +154,7 @@ class Admin_Helper {
|
|
213 |
Â
* @return void
|
214 |
Â
*/
|
215 |
Â
protected static function insert_post( $post ) {
|
Â
|
|
216 |
Â
$current_user = wp_get_current_user();
|
217 |
Â
|
218 |
Â
$post_meta = get_post_meta( $post->ID );
|
@@ -304,22 +246,15 @@ class Admin_Helper {
|
|
304 |
Â
|
305 |
Â
}
|
306 |
Â
|
Â
|
|
307 |
Â
/**
|
308 |
-
*
|
309 |
Â
*
|
310 |
-
* @since 3.
|
311 |
Â
* @access public
|
312 |
Â
*
|
313 |
-
* @return
|
314 |
Â
*/
|
315 |
-
public static function get_current_screen() {
|
316 |
-
|
317 |
-
self::$current_screen = get_current_screen()->id;
|
318 |
-
|
319 |
-
return isset( self::$current_screen ) ? self::$current_screen : false;
|
320 |
-
|
321 |
-
}
|
322 |
-
|
323 |
Â
public static function get_instance() {
|
324 |
Â
if( self::$instance == null ) {
|
325 |
Â
self::$instance = new self;
|
@@ -327,19 +262,4 @@ class Admin_Helper {
|
|
327 |
Â
return self::$instance;
|
328 |
Â
}
|
329 |
Â
|
330 |
-
}
|
331 |
-
|
332 |
-
if( ! function_exists('get_admin_helper_instance') ) {
|
333 |
-
/**
|
334 |
-
* Returns an instance of the plugin class.
|
335 |
-
*
|
336 |
-
* @since 3.3.8
|
337 |
-
*
|
338 |
-
* @return object
|
339 |
-
*/
|
340 |
-
function get_admin_helper_instance() {
|
341 |
-
return Admin_Helper::get_instance();
|
342 |
-
}
|
343 |
-
}
|
344 |
-
|
345 |
-
get_admin_helper_instance();
|
1 |
Â
<?php
|
2 |
Â
|
3 |
+
/**
|
4 |
+
* PA Duplicator.
|
5 |
+
*/
|
6 |
Â
namespace PremiumAddons\Admin\Includes;
|
7 |
Â
|
8 |
+
if( ! defined( 'ABSPATH') ) exit();
|
Â
|
|
9 |
Â
|
10 |
+
/**
|
11 |
+
* Class Duplicator
|
12 |
+
*/
|
13 |
+
class Duplicator {
|
14 |
Â
|
15 |
+
/**
|
16 |
+
* PA Duplicator action.
|
17 |
+
*/
|
18 |
Â
const DUPLICATE_ACTION = 'pa_duplicator';
|
19 |
Â
|
20 |
+
/**
|
21 |
+
* Class object
|
22 |
+
*
|
23 |
+
* @var instance
|
24 |
+
*/
|
25 |
+
private static $instance = null;
|
26 |
Â
|
27 |
+
/**
|
28 |
+
* Elementor slug
|
29 |
+
*
|
30 |
+
* @var elementor
|
31 |
+
*/
|
32 |
+
private static $elementor = 'elementor';
|
33 |
Â
|
34 |
+
/**
|
35 |
+
* PAPRO Slug
|
36 |
+
*
|
37 |
+
* @var papro
|
38 |
+
*/
|
39 |
+
private static $papro = 'premium-addons-pro';
|
40 |
Â
|
41 |
Â
/**
|
42 |
Â
* Constructor for the class
|
43 |
Â
*/
|
44 |
Â
public function __construct() {
|
45 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
46 |
Â
add_action( 'admin_action_' . self::DUPLICATE_ACTION, array( $this, 'duplicate_post' ) );
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
47 |
Â
|
48 |
+
add_filter( 'post_row_actions', array( $this, 'add_duplicator_actions' ), 10, 2 );
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
49 |
Â
|
50 |
+
add_filter( 'page_row_actions', array( $this, 'add_duplicator_actions' ), 10, 2 );
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
51 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
52 |
Â
}
|
53 |
Â
|
54 |
Â
/**
|
154 |
Â
* @return void
|
155 |
Â
*/
|
156 |
Â
protected static function insert_post( $post ) {
|
157 |
+
|
158 |
Â
$current_user = wp_get_current_user();
|
159 |
Â
|
160 |
Â
$post_meta = get_post_meta( $post->ID );
|
246 |
Â
|
247 |
Â
}
|
248 |
Â
|
249 |
+
|
250 |
Â
/**
|
251 |
+
* Creates and returns an instance of the class
|
252 |
Â
*
|
253 |
+
* @since 3.20.9
|
254 |
Â
* @access public
|
255 |
Â
*
|
256 |
+
* @return object
|
257 |
Â
*/
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
258 |
Â
public static function get_instance() {
|
259 |
Â
if( self::$instance == null ) {
|
260 |
Â
self::$instance = new self;
|
262 |
Â
return self::$instance;
|
263 |
Â
}
|
264 |
Â
|
265 |
+
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
admin/includes/elements.php
ADDED
@@ -0,0 +1,878 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
use PremiumAddons\Includes\Helper_Functions;
|
4 |
+
|
5 |
+
$elements = [
|
6 |
+
'cat-1' => [
|
7 |
+
'icon' => 'all',
|
8 |
+
'title' => __('All Widgets', 'premium-addons-for-elementor'),
|
9 |
+
'elements' => [
|
10 |
+
// [
|
11 |
+
// 'key' => 'premium-woo-products',
|
12 |
+
// 'title' => sprintf( '%1$s %2$s', $prefix, __('Products', 'premium-addons-for-elementor') ),
|
13 |
+
// 'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/elementor-lottie-animations-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
14 |
+
// 'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/lottie-animations-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
15 |
+
// 'tutorial' => 'https://www.youtube.com/watch?v=0QWzUpF57dw',
|
16 |
+
// ],
|
17 |
+
[
|
18 |
+
'key' => 'premium-lottie-widget',
|
19 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Lottie Animations', 'premium-addons-for-elementor') ),
|
20 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/elementor-lottie-animations-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
21 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/lottie-animations-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
22 |
+
'tutorial' => 'https://www.youtube.com/watch?v=0QWzUpF57dw',
|
23 |
+
],
|
24 |
+
[
|
25 |
+
'key' => 'premium-carousel',
|
26 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Carousel', 'premium-addons-for-elementor') ),
|
27 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/carousel-widget-for-elementor-page-builder', 'settings-page', 'wp-dash', 'dashboard'),
|
28 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/carousel/', 'settings-page', 'wp-dash', 'dashboard'),
|
29 |
+
'tutorial' => 'https://www.youtube.com/watch?v=ZMgprLKvq24',
|
30 |
+
],
|
31 |
+
[
|
32 |
+
'key' => 'premium-blog',
|
33 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Blog', 'premium-addons-for-elementor') ),
|
34 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/blog-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
35 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/blog-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
36 |
+
],
|
37 |
+
[
|
38 |
+
'key' => 'premium-maps',
|
39 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Google Maps', 'premium-addons-for-elementor') ),
|
40 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/google-maps-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
41 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/google-maps/', 'settings-page', 'wp-dash', 'dashboard'),
|
42 |
+
'tutorial' => 'https://www.youtube.com/watch?v=z4taEeCY77Q',
|
43 |
+
],
|
44 |
+
[
|
45 |
+
'key' => 'premium-person',
|
46 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Team Members', 'premium-addons-for-elementor') ),
|
47 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/persons-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
48 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/persons-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
49 |
+
],
|
50 |
+
[
|
51 |
+
'key' => 'premium-tabs',
|
52 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Tabs', 'premium-addons-for-elementor') ),
|
53 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/elementor-tabs-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
54 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/tabs-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
55 |
+
'is_pro' => true
|
56 |
+
],
|
57 |
+
[
|
58 |
+
'key' => 'premium-content-toggle',
|
59 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Content Switcher', 'premium-addons-for-elementor') ),
|
60 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/content-switcher-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
61 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/premium-content-switcher/', 'settings-page', 'wp-dash', 'dashboard'),
|
62 |
+
'is_pro' => true
|
63 |
+
],
|
64 |
+
[
|
65 |
+
'key' => 'premium-fancytext',
|
66 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Fancy Text', 'premium-addons-for-elementor') ),
|
67 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/fancy-text-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
68 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/fancy-text-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
69 |
+
],
|
70 |
+
[
|
71 |
+
'key' => 'premium-title',
|
72 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Heading', 'premium-addons-for-elementor') ),
|
73 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/heading-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
74 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/heading-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
75 |
+
],
|
76 |
+
[
|
77 |
+
'key' => 'premium-dual-header',
|
78 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Dual Heading', 'premium-addons-for-elementor') ),
|
79 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/dual-header-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
80 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/dual-heading-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
81 |
+
],
|
82 |
+
[
|
83 |
+
'key' => 'premium-divider',
|
84 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Divider', 'premium-addons-for-elementor') ),
|
85 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/divider-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
86 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/divider-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
87 |
+
'is_pro' => true
|
88 |
+
],
|
89 |
+
[
|
90 |
+
'key' => 'premium-grid',
|
91 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Media Grid', 'premium-addons-for-elementor') ),
|
92 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/grid-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
93 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/grid/', 'settings-page', 'wp-dash', 'dashboard'),
|
94 |
+
],
|
95 |
+
[
|
96 |
+
'key' => 'premium-image-scroll',
|
97 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Image Scroll', 'premium-addons-for-elementor') ),
|
98 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/elementor-image-scroll-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
99 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/image-scroll-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
100 |
+
],
|
101 |
+
[
|
102 |
+
'key' => 'premium-image-separator',
|
103 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Image Separator', 'premium-addons-for-elementor') ),
|
104 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/image-separator-widget-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
105 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/image-separator-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
106 |
+
],
|
107 |
+
[
|
108 |
+
'key' => 'premium-image-comparison',
|
109 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Image Comparison', 'premium-addons-for-elementor') ),
|
110 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/image-comparison-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
111 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/premium-image-comparison-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
112 |
+
'is_pro' => true
|
113 |
+
],
|
114 |
+
[
|
115 |
+
'key' => 'premium-image-hotspots',
|
116 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Image Hotspots', 'premium-addons-for-elementor') ),
|
117 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/image-hotspots-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
118 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/image-hotspots-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
119 |
+
'is_pro' => true
|
120 |
+
],
|
121 |
+
[
|
122 |
+
'key' => 'premium-img-layers',
|
123 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Image Layers', 'premium-addons-for-elementor') ),
|
124 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/image-layers-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
125 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/image-layers/', 'settings-page', 'wp-dash', 'dashboard'),
|
126 |
+
'tutorial' => 'https://www.youtube.com/watch?v=D3INxWw_jKI',
|
127 |
+
'is_pro' => true
|
128 |
+
],
|
129 |
+
[
|
130 |
+
'key' => 'premium-image-accordion',
|
131 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Image Accordion', 'premium-addons-for-elementor') ),
|
132 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/elementor-image-accordion-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
133 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/image-accordion-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
134 |
+
'is_pro' => true
|
135 |
+
],
|
136 |
+
[
|
137 |
+
'key' => 'premium-videobox',
|
138 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Video Box', 'premium-addons-for-elementor') ),
|
139 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/video-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
140 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/video-box/', 'settings-page', 'wp-dash', 'dashboard'),
|
141 |
+
],
|
142 |
+
[
|
143 |
+
'key' => 'premium-hscroll',
|
144 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Horizontal Scroll', 'premium-addons-for-elementor') ),
|
145 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/elementor-horizontal-scroll-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
146 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/horizontal-scroll/', 'settings-page', 'wp-dash', 'dashboard'),
|
147 |
+
'tutorial' => 'https://www.youtube.com/watch?v=4HqT_3s-ZXg',
|
148 |
+
'is_pro' => true
|
149 |
+
],
|
150 |
+
[
|
151 |
+
'key' => 'premium-vscroll',
|
152 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Vertical Scroll', 'premium-addons-for-elementor') ),
|
153 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/vertical-scroll-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
154 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/vertical-scroll-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
155 |
+
'tutorial' => 'https://www.youtube.com/watch?v=MuLaIn1QXfQ',
|
156 |
+
],
|
157 |
+
[
|
158 |
+
'key' => 'premium-color-transition',
|
159 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Background Transition', 'premium-addons-for-elementor') ),
|
160 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/elementor-background-transition-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
161 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/background-transition-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
162 |
+
'is_pro' => true
|
163 |
+
],
|
164 |
+
[
|
165 |
+
'key' => 'premium-multi-scroll',
|
166 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Multi Scroll', 'premium-addons-for-elementor') ),
|
167 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/multi-scroll-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
168 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/multi-scroll-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
169 |
+
'tutorial' => 'https://www.youtube.com/watch?v=IzYnD6oDYXw',
|
170 |
+
'is_pro' => true
|
171 |
+
],
|
172 |
+
[
|
173 |
+
'key' => 'premium-lottie',
|
174 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Lottie Animations', 'premium-addons-for-elementor') ),
|
175 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/elementor-lottie-animations-section-addon/', 'settings-page', 'wp-dash', 'dashboard'),
|
176 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/lottie-background/', 'settings-page', 'wp-dash', 'dashboard'),
|
177 |
+
'tutorial' => 'https://www.youtube.com/watch?v=KVrenWNEdkY',
|
178 |
+
'is_pro' => true
|
179 |
+
],
|
180 |
+
[
|
181 |
+
'key' => 'premium-parallax',
|
182 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Parallax', 'premium-addons-for-elementor') ),
|
183 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/parallax-section-addon-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
184 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/parallax-section-addon-tutorial-2/', 'settings-page', 'wp-dash', 'dashboard'),
|
185 |
+
'tutorial' => 'https://www.youtube.com/watch?v=hkMNjxLoZ2w',
|
186 |
+
'is_pro' => true
|
187 |
+
],
|
188 |
+
[
|
189 |
+
'key' => 'premium-particles',
|
190 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Particles', 'premium-addons-for-elementor') ),
|
191 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/particles-section-addon-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
192 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/particles/', 'settings-page', 'wp-dash', 'dashboard'),
|
193 |
+
'tutorial' => 'https://www.youtube.com/watch?v=bPmWKv4VWrI',
|
194 |
+
'is_pro' => true
|
195 |
+
],
|
196 |
+
[
|
197 |
+
'key' => 'premium-gradient',
|
198 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Animated Gradient', 'premium-addons-for-elementor') ),
|
199 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/animated-section-gradients-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
200 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/animated-gradient-section-addon-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
201 |
+
'tutorial' => 'https://www.youtube.com/watch?v=IL4USvwR6K4',
|
202 |
+
'is_pro' => true
|
203 |
+
],
|
204 |
+
[
|
205 |
+
'key' => 'premium-kenburns',
|
206 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Animated Ken Burns', 'premium-addons-for-elementor') ),
|
207 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/ken-burns-section-addon-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
208 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/ken-burns-section-addon-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
209 |
+
'tutorial' => 'https://www.youtube.com/watch?v=DUNFjWphZfs',
|
210 |
+
'is_pro' => true
|
211 |
+
],
|
212 |
+
[
|
213 |
+
'key' => 'premium-modalbox',
|
214 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Modal Box', 'premium-addons-for-elementor') ),
|
215 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/modal-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
216 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/modal-box/', 'settings-page', 'wp-dash', 'dashboard'),
|
217 |
+
'tutorial' => 'https://www.youtube.com/watch?v=3lLxSyf2nyk',
|
218 |
+
],
|
219 |
+
[
|
220 |
+
'key' => 'premium-notbar',
|
221 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Alert Box', 'premium-addons-for-elementor') ),
|
222 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/alert-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
223 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/alert-box-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
224 |
+
'is_pro' => true
|
225 |
+
],
|
226 |
+
[
|
227 |
+
'key' => 'premium-magic-section',
|
228 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Magic Section', 'premium-addons-for-elementor') ),
|
229 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/magic-section-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
230 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/magic-section-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
231 |
+
'is_pro' => true
|
232 |
+
],
|
233 |
+
[
|
234 |
+
'key' => 'premium-prev-img',
|
235 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Preview Window', 'premium-addons-for-elementor') ),
|
236 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/preview-window-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
237 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/preview-window-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
238 |
+
'tutorial' => 'https://www.youtube.com/watch?v=EmptjFjrc4E',
|
239 |
+
'is_pro' => true
|
240 |
+
],
|
241 |
+
[
|
242 |
+
'key' => 'premium-testimonials',
|
243 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Testimonials', 'premium-addons-for-elementor') ),
|
244 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/testimonials-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
245 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/testimonials-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
246 |
+
],
|
247 |
+
[
|
248 |
+
'key' => 'premium-facebook-reviews',
|
249 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Facebook Reviews', 'premium-addons-for-elementor') ),
|
250 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/facebook-reviews-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
251 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/facebook-reviews/', 'settings-page', 'wp-dash', 'dashboard'),
|
252 |
+
'tutorial' => 'https://www.youtube.com/watch?v=zl-OFo3IFd8',
|
253 |
+
'is_pro' => true
|
254 |
+
],
|
255 |
+
[
|
256 |
+
'key' => 'premium-google-reviews',
|
257 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Google Reviews', 'premium-addons-for-elementor') ),
|
258 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/google-reviews-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
259 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/google-reviews/', 'settings-page', 'wp-dash', 'dashboard'),
|
260 |
+
'tutorial' => 'https://www.youtube.com/watch?v=Z0EeGyD34Zk',
|
261 |
+
'is_pro' => true
|
262 |
+
],
|
263 |
+
[
|
264 |
+
'key' => 'premium-yelp-reviews',
|
265 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Yelp Reviews', 'premium-addons-for-elementor') ),
|
266 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/elementor-yelp-reviews-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
267 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/yelp-reviews/', 'settings-page', 'wp-dash', 'dashboard'),
|
268 |
+
'tutorial' => 'https://www.youtube.com/watch?v=5T-MveVFvns',
|
269 |
+
'is_pro' => true
|
270 |
+
],
|
271 |
+
[
|
272 |
+
'key' => 'premium-countdown',
|
273 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Countdown', 'premium-addons-for-elementor') ),
|
274 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/countdown-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
275 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/countdown-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
276 |
+
],
|
277 |
+
[
|
278 |
+
'key' => 'premium-banner',
|
279 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Banner', 'premium-addons-for-elementor') ),
|
280 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/banner-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
281 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/premium-banner-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
282 |
+
],
|
283 |
+
[
|
284 |
+
'key' => 'premium-button',
|
285 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Button', 'premium-addons-for-elementor') ),
|
286 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/button-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
287 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/button/', 'settings-page', 'wp-dash', 'dashboard'),
|
288 |
+
'tutorial' => 'https://www.youtube.com/watch?v=w4NuCUkCIV4',
|
289 |
+
],
|
290 |
+
[
|
291 |
+
'key' => 'premium-image-button',
|
292 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Image Button', 'premium-addons-for-elementor') ),
|
293 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/image-button-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
294 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/image-button/', 'settings-page', 'wp-dash', 'dashboard'),
|
295 |
+
],
|
296 |
+
[
|
297 |
+
'key' => 'premium-flipbox',
|
298 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Hover Box', 'premium-addons-for-elementor') ),
|
299 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/flip-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
300 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/flip-box-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
301 |
+
'is_pro' => true
|
302 |
+
],
|
303 |
+
[
|
304 |
+
'key' => 'premium-iconbox',
|
305 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Icon Box', 'premium-addons-for-elementor') ),
|
306 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/icon-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
307 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/icon-box-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
308 |
+
'is_pro' => true
|
309 |
+
],
|
310 |
+
[
|
311 |
+
'key' => 'premium-ihover',
|
312 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('iHover', 'premium-addons-for-elementor') ),
|
313 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/ihover-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
314 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/premium-ihover-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
315 |
+
'is_pro' => true
|
316 |
+
],
|
317 |
+
[
|
318 |
+
'key' => 'premium-unfold',
|
319 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Unfold', 'premium-addons-for-elementor') ),
|
320 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/unfold-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
321 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/premium-unfold-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
322 |
+
'is_pro' => true
|
323 |
+
],
|
324 |
+
[
|
325 |
+
'key' => 'premium-icon-list',
|
326 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Bullet List', 'premium-addons-for-elementor') ),
|
327 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/elementor-bullet-list-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
328 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/bullet-list-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
329 |
+
'tutorial' => 'https://youtube.com/',
|
330 |
+
],
|
331 |
+
[
|
332 |
+
'key' => 'premium-facebook-feed',
|
333 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Facebook Feed', 'premium-addons-for-elementor') ),
|
334 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/elementor-facebook-feed-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
335 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/facebook-feed-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
336 |
+
'is_pro' => true
|
337 |
+
],
|
338 |
+
[
|
339 |
+
'key' => 'premium-twitter-feed',
|
340 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Twitter Feed', 'premium-addons-for-elementor') ),
|
341 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/twitter-feed-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
342 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/twitter-feed-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
343 |
+
'tutorial' => 'https://www.youtube.com/watch?v=wsurRDuR6pg',
|
344 |
+
'is_pro' => true
|
345 |
+
],
|
346 |
+
[
|
347 |
+
'key' => 'premium-instagram-feed',
|
348 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Instagram Feed', 'premium-addons-for-elementor') ),
|
349 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/instagram-feed-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
350 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/instagram-feed/', 'settings-page', 'wp-dash', 'dashboard'),
|
351 |
+
'is_pro' => true
|
352 |
+
],
|
353 |
+
[
|
354 |
+
'key' => 'premium-behance',
|
355 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Behance Feed', 'premium-addons-for-elementor') ),
|
356 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/behance-feed-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
357 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/behance-feed-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
358 |
+
'tutorial' => 'https://www.youtube.com/watch?v=AXATK3oIXl0',
|
359 |
+
'is_pro' => true
|
360 |
+
],
|
361 |
+
[
|
362 |
+
'key' => 'premium-progressbar',
|
363 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Progress Bar', 'premium-addons-for-elementor') ),
|
364 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/progress-bar-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
365 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/premium-progress-bar-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
366 |
+
'tutorial' => 'https://www.youtube.com/watch?v=Y7xqwhgDQJg',
|
367 |
+
],
|
368 |
+
[
|
369 |
+
'key' => 'premium-pricing-table',
|
370 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Pricing Table', 'premium-addons-for-elementor') ),
|
371 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/pricing-table-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
372 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/pricing-table-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
373 |
+
],
|
374 |
+
[
|
375 |
+
'key' => 'premium-charts',
|
376 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Charts', 'premium-addons-for-elementor') ),
|
377 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/charts-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
378 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/charts-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
379 |
+
'tutorial' => 'https://www.youtube.com/watch?v=lZZvslQ2UYU',
|
380 |
+
'is_pro' => true
|
381 |
+
],
|
382 |
+
[
|
383 |
+
'key' => 'premium-tables',
|
384 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Table', 'premium-addons-for-elementor') ),
|
385 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/table-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
386 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/table-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
387 |
+
'is_pro' => true
|
388 |
+
],
|
389 |
+
[
|
390 |
+
'key' => 'premium-counter',
|
391 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Counter', 'premium-addons-for-elementor') ),
|
392 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/counter-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
393 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/counter-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
394 |
+
],
|
395 |
+
[
|
396 |
+
'key' => 'premium-contactform',
|
397 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Contact Form 7', 'premium-addons-for-elementor') ),
|
398 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/contact-form-7-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
399 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/contact-form-7-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
400 |
+
],
|
401 |
+
[
|
402 |
+
'key' => 'premium-fb-chat',
|
403 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Facebook Messenger Chat', 'premium-addons-for-elementor') ),
|
404 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/facebook-messenger-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
405 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/facebook-messenger/', 'settings-page', 'wp-dash', 'dashboard'),
|
406 |
+
'is_pro' => true
|
407 |
+
],
|
408 |
+
[
|
409 |
+
'key' => 'premium-whatsapp-chat',
|
410 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Whatsapp Chat', 'premium-addons-for-elementor') ),
|
411 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/whatsapp-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
412 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/whatsapp-chat-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
413 |
+
'is_pro' => true
|
414 |
+
],
|
415 |
+
]
|
416 |
+
],
|
417 |
+
'cat-2' => [
|
418 |
+
'icon' => 'content',
|
419 |
+
'title' => __('Content Widgets', 'premium-addons-for-elementor'),
|
420 |
+
'elements' => [
|
421 |
+
[
|
422 |
+
'key' => 'premium-carousel',
|
423 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Carousel', 'premium-addons-for-elementor') ),
|
424 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/carousel-widget-for-elementor-page-builder', 'settings-page', 'wp-dash', 'dashboard'),
|
425 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/carousel/', 'settings-page', 'wp-dash', 'dashboard'),
|
426 |
+
'tutorial' => 'https://www.youtube.com/watch?v=ZMgprLKvq24',
|
427 |
+
],
|
428 |
+
[
|
429 |
+
'key' => 'premium-blog',
|
430 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Blog', 'premium-addons-for-elementor') ),
|
431 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/blog-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
432 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/blog-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
433 |
+
],
|
434 |
+
[
|
435 |
+
'key' => 'premium-maps',
|
436 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Google Maps', 'premium-addons-for-elementor') ),
|
437 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/google-maps-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
438 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/google-maps/', 'settings-page', 'wp-dash', 'dashboard'),
|
439 |
+
'tutorial' => 'https://www.youtube.com/watch?v=z4taEeCY77Q',
|
440 |
+
],
|
441 |
+
[
|
442 |
+
'key' => 'premium-person',
|
443 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Team Members', 'premium-addons-for-elementor') ),
|
444 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/persons-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
445 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/persons-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
446 |
+
],
|
447 |
+
[
|
448 |
+
'key' => 'premium-tabs',
|
449 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Tabs', 'premium-addons-for-elementor') ),
|
450 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/elementor-tabs-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
451 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/tabs-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
452 |
+
'is_pro' => true
|
453 |
+
],
|
454 |
+
[
|
455 |
+
'key' => 'premium-content-toggle',
|
456 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Content Switcher', 'premium-addons-for-elementor') ),
|
457 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/content-switcher-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
458 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/premium-content-switcher/', 'settings-page', 'wp-dash', 'dashboard'),
|
459 |
+
'is_pro' => true
|
460 |
+
],
|
461 |
+
[
|
462 |
+
'key' => 'premium-fancytext',
|
463 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Fancy Text', 'premium-addons-for-elementor') ),
|
464 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/fancy-text-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
465 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/fancy-text-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
466 |
+
],
|
467 |
+
[
|
468 |
+
'key' => 'premium-title',
|
469 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Heading', 'premium-addons-for-elementor') ),
|
470 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/heading-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
471 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/heading-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
472 |
+
],
|
473 |
+
[
|
474 |
+
'key' => 'premium-dual-header',
|
475 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Dual Heading', 'premium-addons-for-elementor') ),
|
476 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/dual-header-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
477 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/dual-heading-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
478 |
+
],
|
479 |
+
[
|
480 |
+
'key' => 'premium-divider',
|
481 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Divider', 'premium-addons-for-elementor') ),
|
482 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/divider-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
483 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/divider-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
484 |
+
'is_pro' => true
|
485 |
+
],
|
486 |
+
]
|
487 |
+
],
|
488 |
+
'cat-3' => [
|
489 |
+
'icon' => 'images',
|
490 |
+
'title' => __('Image & Video Widgets', 'premium-addons-for-elementor'),
|
491 |
+
'elements' => [
|
492 |
+
[
|
493 |
+
'key' => 'premium-grid',
|
494 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Media Grid', 'premium-addons-for-elementor') ),
|
495 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/grid-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
496 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/grid-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
497 |
+
],
|
498 |
+
[
|
499 |
+
'key' => 'premium-image-scroll',
|
500 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Image Scroll', 'premium-addons-for-elementor') ),
|
501 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/elementor-image-scroll-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
502 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/image-scroll-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
503 |
+
],
|
504 |
+
[
|
505 |
+
'key' => 'premium-image-separator',
|
506 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Image Separator', 'premium-addons-for-elementor') ),
|
507 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/image-separator-widget-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
508 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/image-separator-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
509 |
+
],
|
510 |
+
[
|
511 |
+
'key' => 'premium-image-comparison',
|
512 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Image Comparison', 'premium-addons-for-elementor') ),
|
513 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/image-comparison-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
514 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/premium-image-comparison-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
515 |
+
'is_pro' => true
|
516 |
+
],
|
517 |
+
[
|
518 |
+
'key' => 'premium-image-hotspots',
|
519 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Image Hotspots', 'premium-addons-for-elementor') ),
|
520 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/image-hotspots-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
521 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/image-hotspots-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
522 |
+
'is_pro' => true
|
523 |
+
],
|
524 |
+
[
|
525 |
+
'key' => 'premium-img-layers',
|
526 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Image Layers', 'premium-addons-for-elementor') ),
|
527 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/image-layers-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
528 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/image-layers/', 'settings-page', 'wp-dash', 'dashboard'),
|
529 |
+
'tutorial' => 'https://www.youtube.com/watch?v=D3INxWw_jKI',
|
530 |
+
'is_pro' => true
|
531 |
+
],
|
532 |
+
[
|
533 |
+
'key' => 'premium-image-accordion',
|
534 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Image Accordion', 'premium-addons-for-elementor') ),
|
535 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/elementor-image-accordion-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
536 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/image-accordion-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
537 |
+
'is_pro' => true
|
538 |
+
],
|
539 |
+
[
|
540 |
+
'key' => 'premium-videobox',
|
541 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Video Box', 'premium-addons-for-elementor') ),
|
542 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/video-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
543 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/video-box/', 'settings-page', 'wp-dash', 'dashboard'),
|
544 |
+
],
|
545 |
+
]
|
546 |
+
],
|
547 |
+
'cat-4' => [
|
548 |
+
'icon' => 'section',
|
549 |
+
'title' => __('Section Addons & Widgets', 'premium-addons-for-elementor'),
|
550 |
+
'elements' => [
|
551 |
+
[
|
552 |
+
'key' => 'premium-hscroll',
|
553 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Horizontal Scroll', 'premium-addons-for-elementor') ),
|
554 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/elementor-horizontal-scroll-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
555 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/horizontal-scroll/', 'settings-page', 'wp-dash', 'dashboard'),
|
556 |
+
'tutorial' => 'https://www.youtube.com/watch?v=4HqT_3s-ZXg',
|
557 |
+
'is_pro' => true
|
558 |
+
],
|
559 |
+
[
|
560 |
+
'key' => 'premium-vscroll',
|
561 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Vertical Scroll', 'premium-addons-for-elementor') ),
|
562 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/vertical-scroll-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
563 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/vertical-scroll-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
564 |
+
'tutorial' => 'https://www.youtube.com/watch?v=MuLaIn1QXfQ',
|
565 |
+
],
|
566 |
+
[
|
567 |
+
'key' => 'premium-color-transition',
|
568 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Background Transition', 'premium-addons-for-elementor') ),
|
569 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/elementor-background-transition-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
570 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/background-transition-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
571 |
+
'is_pro' => true
|
572 |
+
],
|
573 |
+
[
|
574 |
+
'key' => 'premium-multi-scroll',
|
575 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Multi Scroll', 'premium-addons-for-elementor') ),
|
576 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/multi-scroll-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
577 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/multi-scroll-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
578 |
+
'tutorial' => 'https://www.youtube.com/watch?v=IzYnD6oDYXw',
|
579 |
+
'is_pro' => true
|
580 |
+
],
|
581 |
+
[
|
582 |
+
'key' => 'premium-lottie',
|
583 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Lottie Animations', 'premium-addons-for-elementor') ),
|
584 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/elementor-lottie-animations-section-addon/', 'settings-page', 'wp-dash', 'dashboard'),
|
585 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/lottie-background/', 'settings-page', 'wp-dash', 'dashboard'),
|
586 |
+
'tutorial' => 'https://www.youtube.com/watch?v=KVrenWNEdkY',
|
587 |
+
'is_pro' => true
|
588 |
+
],
|
589 |
+
[
|
590 |
+
'key' => 'premium-parallax',
|
591 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Parallax', 'premium-addons-for-elementor') ),
|
592 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/parallax-section-addon-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
593 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/parallax-section-addon-tutorial-2/', 'settings-page', 'wp-dash', 'dashboard'),
|
594 |
+
'tutorial' => 'https://www.youtube.com/watch?v=hkMNjxLoZ2w',
|
595 |
+
'is_pro' => true
|
596 |
+
],
|
597 |
+
[
|
598 |
+
'key' => 'premium-particles',
|
599 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Particles', 'premium-addons-for-elementor') ),
|
600 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/particles-section-addon-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
601 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/particles/', 'settings-page', 'wp-dash', 'dashboard'),
|
602 |
+
'tutorial' => 'https://www.youtube.com/watch?v=bPmWKv4VWrI',
|
603 |
+
'is_pro' => true
|
604 |
+
],
|
605 |
+
[
|
606 |
+
'key' => 'premium-gradient',
|
607 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Animated Gradient', 'premium-addons-for-elementor') ),
|
608 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/animated-section-gradients-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
609 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/animated-gradient-section-addon-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
610 |
+
'tutorial' => 'https://www.youtube.com/watch?v=IL4USvwR6K4',
|
611 |
+
'is_pro' => true
|
612 |
+
],
|
613 |
+
[
|
614 |
+
'key' => 'premium-kenburns',
|
615 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Animated Ken Burns', 'premium-addons-for-elementor') ),
|
616 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/ken-burns-section-addon-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
617 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/ken-burns-section-addon-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
618 |
+
'tutorial' => 'https://www.youtube.com/watch?v=DUNFjWphZfs',
|
619 |
+
'is_pro' => true
|
620 |
+
],
|
621 |
+
]
|
622 |
+
],
|
623 |
+
'cat-5' => [
|
624 |
+
'icon' => 'off-grid',
|
625 |
+
'title' => __('Off-Grid Widgets', 'premium-addons-for-elementor'),
|
626 |
+
'elements' => [
|
627 |
+
[
|
628 |
+
'key' => 'premium-modalbox',
|
629 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Modal Box', 'premium-addons-for-elementor') ),
|
630 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/modal-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
631 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/modal-box/', 'settings-page', 'wp-dash', 'dashboard'),
|
632 |
+
'tutorial' => 'https://www.youtube.com/watch?v=3lLxSyf2nyk',
|
633 |
+
],
|
634 |
+
[
|
635 |
+
'key' => 'premium-notbar',
|
636 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Alert Box', 'premium-addons-for-elementor') ),
|
637 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/alert-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
638 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/alert-box-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
639 |
+
'is_pro' => true
|
640 |
+
],
|
641 |
+
[
|
642 |
+
'key' => 'premium-magic-section',
|
643 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Magic Section', 'premium-addons-for-elementor') ),
|
644 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/magic-section-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
645 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/magic-section-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
646 |
+
'is_pro' => true
|
647 |
+
],
|
648 |
+
[
|
649 |
+
'key' => 'premium-prev-img',
|
650 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Preview Window', 'premium-addons-for-elementor') ),
|
651 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/preview-window-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
652 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/preview-window-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
653 |
+
'tutorial' => 'https://www.youtube.com/watch?v=EmptjFjrc4E',
|
654 |
+
'is_pro' => true
|
655 |
+
],
|
656 |
+
]
|
657 |
+
],
|
658 |
+
'cat-6' => [
|
659 |
+
'icon' => 'social',
|
660 |
+
'title' => __('Reviews & Testimonials Widgets', 'premium-addons-for-elementor'),
|
661 |
+
'elements' => [
|
662 |
+
[
|
663 |
+
'key' => 'premium-testimonials',
|
664 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Testimonials', 'premium-addons-for-elementor') ),
|
665 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/testimonials-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
666 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/testimonials-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
667 |
+
],
|
668 |
+
[
|
669 |
+
'key' => 'premium-facebook-reviews',
|
670 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Facebook Reviews', 'premium-addons-for-elementor') ),
|
671 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/facebook-reviews-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
672 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/facebook-reviews/', 'settings-page', 'wp-dash', 'dashboard'),
|
673 |
+
'tutorial' => 'https://www.youtube.com/watch?v=zl-OFo3IFd8',
|
674 |
+
'is_pro' => true
|
675 |
+
],
|
676 |
+
[
|
677 |
+
'key' => 'premium-google-reviews',
|
678 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Google Reviews', 'premium-addons-for-elementor') ),
|
679 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/google-reviews-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
680 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/google-reviews/', 'settings-page', 'wp-dash', 'dashboard'),
|
681 |
+
'tutorial' => 'https://www.youtube.com/watch?v=Z0EeGyD34Zk',
|
682 |
+
'is_pro' => true
|
683 |
+
],
|
684 |
+
[
|
685 |
+
'key' => 'premium-yelp-reviews',
|
686 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Yelp Reviews', 'premium-addons-for-elementor') ),
|
687 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/elementor-yelp-reviews-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
688 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/yelp-reviews/', 'settings-page', 'wp-dash', 'dashboard'),
|
689 |
+
'tutorial' => 'https://www.youtube.com/watch?v=5T-MveVFvns',
|
690 |
+
'is_pro' => true
|
691 |
+
],
|
692 |
+
]
|
693 |
+
],
|
694 |
+
'cat-7' => [
|
695 |
+
'icon' => 'blurbs',
|
696 |
+
'title' => __('Blurbs & CTA Widgets', 'premium-addons-for-elementor'),
|
697 |
+
'elements' => [
|
698 |
+
[
|
699 |
+
'key' => 'premium-countdown',
|
700 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Countdown', 'premium-addons-for-elementor') ),
|
701 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/countdown-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
702 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/countdown-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
703 |
+
],
|
704 |
+
[
|
705 |
+
'key' => 'premium-banner',
|
706 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Banner', 'premium-addons-for-elementor') ),
|
707 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/banner-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
708 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/premium-banner-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
709 |
+
],
|
710 |
+
[
|
711 |
+
'key' => 'premium-button',
|
712 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Button', 'premium-addons-for-elementor') ),
|
713 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/button-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
714 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/button/', 'settings-page', 'wp-dash', 'dashboard'),
|
715 |
+
'tutorial' => 'https://www.youtube.com/watch?v=w4NuCUkCIV4',
|
716 |
+
],
|
717 |
+
[
|
718 |
+
'key' => 'premium-image-button',
|
719 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Image Button', 'premium-addons-for-elementor') ),
|
720 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/image-button-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
721 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/image-button/', 'settings-page', 'wp-dash', 'dashboard'),
|
722 |
+
],
|
723 |
+
[
|
724 |
+
'key' => 'premium-flipbox',
|
725 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Hover Box', 'premium-addons-for-elementor') ),
|
726 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/flip-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
727 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/flip-box-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
728 |
+
'is_pro' => true
|
729 |
+
],
|
730 |
+
[
|
731 |
+
'key' => 'premium-iconbox',
|
732 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Icon Box', 'premium-addons-for-elementor') ),
|
733 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/icon-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
734 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/icon-box-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
735 |
+
'is_pro' => true
|
736 |
+
],
|
737 |
+
[
|
738 |
+
'key' => 'premium-ihover',
|
739 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('iHover', 'premium-addons-for-elementor') ),
|
740 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/ihover-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
741 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/premium-ihover-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
742 |
+
'is_pro' => true
|
743 |
+
],
|
744 |
+
[
|
745 |
+
'key' => 'premium-unfold',
|
746 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Unfold', 'premium-addons-for-elementor') ),
|
747 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/unfold-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
748 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/premium-unfold-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
749 |
+
'is_pro' => true
|
750 |
+
],
|
751 |
+
[
|
752 |
+
'key' => 'premium-icon-list',
|
753 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Bullet List', 'premium-addons-for-elementor') ),
|
754 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/elementor-bullet-list-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
755 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/bullet-list-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
756 |
+
'tutorial' => 'https://youtube.com/',
|
757 |
+
],
|
758 |
+
]
|
759 |
+
],
|
760 |
+
'cat-8' => [
|
761 |
+
'icon' => 'feed',
|
762 |
+
'title' => __('Social Feed Widgets', 'premium-addons-for-elementor'),
|
763 |
+
'elements' => [
|
764 |
+
[
|
765 |
+
'key' => 'premium-facebook-feed',
|
766 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Facebook Feed', 'premium-addons-for-elementor') ),
|
767 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/elementor-facebook-feed-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
768 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/facebook-feed-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
769 |
+
'is_pro' => true
|
770 |
+
],
|
771 |
+
[
|
772 |
+
'key' => 'premium-twitter-feed',
|
773 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Twitter Feed', 'premium-addons-for-elementor') ),
|
774 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/twitter-feed-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
775 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/twitter-feed-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
776 |
+
'tutorial' => 'https://www.youtube.com/watch?v=wsurRDuR6pg',
|
777 |
+
'is_pro' => true
|
778 |
+
],
|
779 |
+
[
|
780 |
+
'key' => 'premium-instagram-feed',
|
781 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Instagram Feed', 'premium-addons-for-elementor') ),
|
782 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/instagram-feed-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
783 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/instagram-feed/', 'settings-page', 'wp-dash', 'dashboard'),
|
784 |
+
'is_pro' => true
|
785 |
+
],
|
786 |
+
[
|
787 |
+
'key' => 'premium-behance',
|
788 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Behance Feed', 'premium-addons-for-elementor') ),
|
789 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/behance-feed-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
790 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/behance-feed-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
791 |
+
'tutorial' => 'https://www.youtube.com/watch?v=AXATK3oIXl0',
|
792 |
+
'is_pro' => true
|
793 |
+
],
|
794 |
+
]
|
795 |
+
],
|
796 |
+
'cat-9' => [
|
797 |
+
'icon' => 'data',
|
798 |
+
'title' => __('Tables, Charts & Anything Data Widgets', 'premium-addons-for-elementor'),
|
799 |
+
'elements' => [
|
800 |
+
[
|
801 |
+
'key' => 'premium-progressbar',
|
802 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Progress Bar', 'premium-addons-for-elementor') ),
|
803 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/progress-bar-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
804 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/premium-progress-bar-widget/', 'settings-page', 'wp-dash', 'dashboard'),
|
805 |
+
'tutorial' => 'https://www.youtube.com/watch?v=Y7xqwhgDQJg',
|
806 |
+
],
|
807 |
+
[
|
808 |
+
'key' => 'premium-pricing-table',
|
809 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Pricing Table', 'premium-addons-for-elementor') ),
|
810 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/pricing-table-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
811 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/pricing-table-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
812 |
+
],
|
813 |
+
[
|
814 |
+
'key' => 'premium-charts',
|
815 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Charts', 'premium-addons-for-elementor') ),
|
816 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/charts-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
817 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/charts-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
818 |
+
'tutorial' => 'https://www.youtube.com/watch?v=lZZvslQ2UYU',
|
819 |
+
'is_pro' => true
|
820 |
+
],
|
821 |
+
[
|
822 |
+
'key' => 'premium-tables',
|
823 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Table', 'premium-addons-for-elementor') ),
|
824 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/table-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
825 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/table-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
826 |
+
'is_pro' => true
|
827 |
+
],
|
828 |
+
[
|
829 |
+
'key' => 'premium-counter',
|
830 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Counter', 'premium-addons-for-elementor') ),
|
831 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/counter-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
832 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/counter-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
833 |
+
],
|
834 |
+
],
|
835 |
+
],
|
836 |
+
'cat-10' => [
|
837 |
+
'icon' => 'contact',
|
838 |
+
'title' => __('Contact Widgets', 'premium-addons-for-elementor'),
|
839 |
+
'elements' => [
|
840 |
+
[
|
841 |
+
'key' => 'premium-contactform',
|
842 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Contact Form 7', 'premium-addons-for-elementor') ),
|
843 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/contact-form-7-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
844 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/contact-form-7-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
845 |
+
],
|
846 |
+
[
|
847 |
+
'key' => 'premium-fb-chat',
|
848 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Facebook Messenger Chat', 'premium-addons-for-elementor') ),
|
849 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/facebook-messenger-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
850 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs-category/using-widgets/facebook-messenger/', 'settings-page', 'wp-dash', 'dashboard'),
|
851 |
+
'is_pro' => true
|
852 |
+
],
|
853 |
+
[
|
854 |
+
'key' => 'premium-whatsapp-chat',
|
855 |
+
'title' => sprintf( '%1$s %2$s', $prefix, __('Whatsapp Chat', 'premium-addons-for-elementor') ),
|
856 |
+
'demo' => Helper_Functions::get_campaign_link('https://premiumaddons.com/whatsapp-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard'),
|
857 |
+
'doc' => Helper_Functions::get_campaign_link('https://premiumaddons.com/docs/whatsapp-chat-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard'),
|
858 |
+
'is_pro' => true
|
859 |
+
],
|
860 |
+
],
|
861 |
+
],
|
862 |
+
'cat-11' => [
|
863 |
+
'icon' => 'extensions',
|
864 |
+
'elements' => [
|
865 |
+
[
|
866 |
+
'key' => 'premium-templates',
|
867 |
+
],
|
868 |
+
[
|
869 |
+
'key' => 'premium-cross-domain',
|
870 |
+
],
|
871 |
+
[
|
872 |
+
'key' => 'premium-duplicator',
|
873 |
+
],
|
874 |
+
],
|
875 |
+
],
|
876 |
+
];
|
877 |
+
|
878 |
+
return $elements;
|
admin/includes/papro-actions.php
DELETED
@@ -1,69 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace PremiumAddons\Admin\Includes;
|
4 |
-
|
5 |
-
use PremiumAddons\Helper_Functions;
|
6 |
-
|
7 |
-
if ( ! defined( 'ABSPATH' ) ) exit;
|
8 |
-
|
9 |
-
class Papro_Actions {
|
10 |
-
|
11 |
-
public function create_pro_menus() {
|
12 |
-
|
13 |
-
add_submenu_page(
|
14 |
-
'premium-addons',
|
15 |
-
'',
|
16 |
-
'<span class="dashicons dashicons-star-filled" style="font-size: 17px"></span> ' . __( 'Get PRO Widgets & Addons', 'premium-addons-for-elementor' ),
|
17 |
-
'manage_options',
|
18 |
-
'premium-addons-pro',
|
19 |
-
[ $this, 'handle_custom_redirects' ]
|
20 |
-
);
|
21 |
-
|
22 |
-
}
|
23 |
-
|
24 |
-
|
25 |
-
public function handle_custom_redirects() {
|
26 |
-
|
27 |
-
$theme_slug = Helper_Functions::get_installed_theme();
|
28 |
-
|
29 |
-
if ( empty( $_GET['page'] ) ) {
|
30 |
-
return;
|
31 |
-
}
|
32 |
-
|
33 |
-
if ( 'premium-addons-pro' === $_GET['page'] ) {
|
34 |
-
|
35 |
-
$url = sprintf('https://premiumaddons.com/pro/?utm_source=wp-menu&utm_medium=wp-dash&utm_campaign=get-pro&utm_term=%s', $theme_slug );
|
36 |
-
|
37 |
-
wp_redirect( $url );
|
38 |
-
|
39 |
-
die();
|
40 |
-
}
|
41 |
-
}
|
42 |
-
|
43 |
-
|
44 |
-
public function change_admin_menu_name() {
|
45 |
-
|
46 |
-
global $submenu;
|
47 |
-
|
48 |
-
if( isset($submenu['premium-addons'] ) ) {
|
49 |
-
$submenu['premium-addons'][0][0] = __( 'Settings', 'premium-addons-for-elementor' );
|
50 |
-
}
|
51 |
-
}
|
52 |
-
|
53 |
-
public function on_admin_init() {
|
54 |
-
|
55 |
-
$this->handle_custom_redirects();
|
56 |
-
|
57 |
-
}
|
58 |
-
|
59 |
-
public function __construct() {
|
60 |
-
|
61 |
-
add_action( 'admin_init', [ $this, 'on_admin_init' ] );
|
62 |
-
|
63 |
-
if( ! Helper_Functions::check_papro_version() )
|
64 |
-
add_action( 'admin_menu', array ( $this,'create_pro_menus' ), 100 );
|
65 |
-
|
66 |
-
add_action( 'admin_menu', array ( $this, 'change_admin_menu_name'), 100 );
|
67 |
-
|
68 |
-
}
|
69 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
admin/includes/plugin-info.php
DELETED
@@ -1,90 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace PremiumAddons\Admin\Includes;
|
4 |
-
|
5 |
-
use PremiumAddons\Helper_Functions;
|
6 |
-
|
7 |
-
if ( ! defined( 'ABSPATH' ) ) exit;
|
8 |
-
|
9 |
-
class Plugin_Info {
|
10 |
-
|
11 |
-
public function create_about_menu() {
|
12 |
-
|
13 |
-
if ( ! Helper_Functions::is_hide_about() ) {
|
14 |
-
add_submenu_page(
|
15 |
-
'premium-addons',
|
16 |
-
'',
|
17 |
-
__('About','premium-addons-for-elementor'),
|
18 |
-
'manage_options',
|
19 |
-
'premium-addons-about',
|
20 |
-
[ $this, 'pa_about_page' ]
|
21 |
-
);
|
22 |
-
}
|
23 |
-
|
24 |
-
}
|
25 |
-
|
26 |
-
public function pa_about_page() {
|
27 |
-
|
28 |
-
$theme_name = Helper_Functions::get_installed_theme();
|
29 |
-
|
30 |
-
$url = sprintf('https://premiumaddons.com/pro/?utm_source=about-page&utm_medium=wp-dash&utm_campaign=get-pro&utm_term=%s', $theme_name );
|
31 |
-
|
32 |
-
$support_url = sprintf('https://premiumaddons.com/support/?utm_source=about-page&utm_medium=wp-dash&utm_campaign=get-support&utm_term=%s', $theme_name );
|
33 |
-
|
34 |
-
?>
|
35 |
-
<div class="wrap">
|
36 |
-
<div class="response-wrap"></div>
|
37 |
-
<div class="pa-header-wrapper">
|
38 |
-
<div class="pa-title-left">
|
39 |
-
<h1 class="pa-title-main"><?php echo Helper_Functions::name(); ?></h1>
|
40 |
-
<h3 class="pa-title-sub"><?php echo sprintf(__('Thank you for using %s. This plugin has been developed by %s and we hope you enjoy using it.','premium-addons-for-elementor'), Helper_Functions::name(),Helper_Functions::author()); ?></h3>
|
41 |
-
</div>
|
42 |
-
<?php if( ! Helper_Functions::is_hide_logo() ) : ?>
|
43 |
-
<div class="pa-title-right">
|
44 |
-
<img class="pa-logo" src="<?php echo PREMIUM_ADDONS_URL . 'admin/images/premium-addons-logo.png';?>">
|
45 |
-
</div>
|
46 |
-
<?php endif; ?>
|
47 |
-
</div>
|
48 |
-
<div class="pa-settings-tabs">
|
49 |
-
<div id="pa-about" class="pa-settings-tab">
|
50 |
-
<div class="pa-row">
|
51 |
-
<div class="pa-col-half">
|
52 |
-
<div class="pa-about-panel">
|
53 |
-
<div class="pa-icon-container">
|
54 |
-
<i class="dashicons dashicons-info abt-icon-style"></i>
|
55 |
-
</div>
|
56 |
-
<div class="pa-text-container">
|
57 |
-
<h4><?php echo __('What is Premium Addons?', 'premium-addons-for-elementor'); ?></h4>
|
58 |
-
<p><?php echo __('Premium Addons for Elementor extends Elementor Page Builder capabilities with many fully customizable widgets and addons that help you to build impressive websites with no coding required.', 'premium-addons-for-elementor'); ?></p>
|
59 |
-
<?php if( ! Helper_Functions::check_papro_version() ) : ?>
|
60 |
-
<p><?php echo __('Get more widgets and addons with ', 'premium-addons-for-elementor'); ?><strong><?php echo __('Premium Addons Pro', 'premium-addons-for-elementor'); ?></strong> <a href="<?php echo esc_url( $url ); ?>" target="_blank" ><?php echo __('Click Here', 'premium-addons-for-elementor'); ?></a><?php echo __(' to know more.', 'premium-addons-for-elementor'); ?></p>
|
61 |
-
<?php endif; ?>
|
62 |
-
</div>
|
63 |
-
</div>
|
64 |
-
</div>
|
65 |
-
<div class="pa-col-half">
|
66 |
-
<div class="pa-about-panel">
|
67 |
-
<div class="pa-icon-container">
|
68 |
-
<i class="dashicons dashicons-universal-access-alt abt-icon-style"></i>
|
69 |
-
</div>
|
70 |
-
<div class="pa-text-container">
|
71 |
-
<h4><?php echo __('Docs and Support', 'premium-addons-for-elementor'); ?></h4>
|
72 |
-
<p><?php echo __('It’s highly recommended to check out documentation and FAQ before using this plugin. ', 'premium-addons-for-elementor'); ?><a target="_blank" href="<?php echo esc_url( $support_url ); ?>"><?php echo __('Click Here', 'premium-addons-for-elementor'); ?></a><?php echo __(' for more details. You can also join our ', 'premium-addons-for-elementor'); ?><a href="https://www.facebook.com/groups/PremiumAddons" target="_blank"><?php echo __('Facebook Group', 'premium-addons-for-elementor'); ?></a><?php echo __(' and Our ', 'premium-addons-for-elementor'); ?><a href="https://my.leap13.com/forums/" target="_blank"><?php echo __('Community Forums', 'premium-addons-for-elementor'); ?></a></p>
|
73 |
-
</div>
|
74 |
-
</div>
|
75 |
-
</div>
|
76 |
-
</div>
|
77 |
-
<?php if( ! Helper_Functions::is_hide_rate() ) : ?>
|
78 |
-
<div>
|
79 |
-
<p><?php echo __('Did you like Premium Addons for Elementor Plugin? Please ', 'premium-addons-for-elementor'); ?><a href="https://wordpress.org/support/plugin/premium-addons-for-elementor/reviews/#new-post" target="_blank"><?php echo __('Click Here to Rate it ★★★★★', 'premium-addons-for-elementor'); ?></a></p>
|
80 |
-
</div>
|
81 |
-
<?php endif; ?>
|
82 |
-
</div>
|
83 |
-
</div>
|
84 |
-
</div>
|
85 |
-
<?php }
|
86 |
-
|
87 |
-
public function __construct() {
|
88 |
-
add_action( 'admin_menu', array ($this,'create_about_menu' ), 100 );
|
89 |
-
}
|
90 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
admin/includes/reports.php
DELETED
@@ -1,63 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace PremiumAddons\Admin\Includes;
|
4 |
-
|
5 |
-
use PremiumAddons\Helper_Functions;
|
6 |
-
|
7 |
-
if( ! defined( 'ABSPATH' ) ) exit;
|
8 |
-
|
9 |
-
class Config_Data {
|
10 |
-
|
11 |
-
public function __construct() {
|
12 |
-
|
13 |
-
add_action( 'admin_menu', array ($this,'create_sys_info_menu' ), 100 );
|
14 |
-
}
|
15 |
-
|
16 |
-
public function create_sys_info_menu() {
|
17 |
-
add_submenu_page(
|
18 |
-
'premium-addons',
|
19 |
-
'',
|
20 |
-
__( 'System Info','premium-addons-for-elementor' ),
|
21 |
-
'manage_options',
|
22 |
-
'premium-addons-sys',
|
23 |
-
[$this, 'pa_sys_info_page']
|
24 |
-
);
|
25 |
-
}
|
26 |
-
|
27 |
-
public function pa_sys_info_page() {
|
28 |
-
?>
|
29 |
-
<div class="wrap">
|
30 |
-
<div class="response-wrap"></div>
|
31 |
-
<div class="pa-header-wrapper">
|
32 |
-
<div class="pa-title-left">
|
33 |
-
<h1 class="pa-title-main"><?php echo Helper_Functions::name(); ?></h1>
|
34 |
-
<h3 class="pa-title-sub"><?php echo sprintf( __( 'Thank you for using %s. This plugin has been developed by %s and we hope you enjoy using it.','premium-addons-for-elementor' ), Helper_Functions::name(), Helper_Functions::author() ); ?></h3>
|
35 |
-
</div>
|
36 |
-
<?php if( ! Helper_Functions::is_hide_logo() ) : ?>
|
37 |
-
<div class="pa-title-right">
|
38 |
-
<img class="pa-logo" src="<?php echo PREMIUM_ADDONS_URL . 'admin/images/premium-addons-logo.png'; ?>">
|
39 |
-
</div>
|
40 |
-
<?php endif; ?>
|
41 |
-
</div>
|
42 |
-
<div class="pa-settings-tabs pa-sys-info-tab">
|
43 |
-
<div id="pa-system" class="pa-settings-tab">
|
44 |
-
<div class="pa-row">
|
45 |
-
<h3 class="pa-sys-info-title"><?php echo __('System setup information useful for debugging purposes.','premium-addons-for-elementor');?></h3>
|
46 |
-
<div class="pa-system-info-container">
|
47 |
-
<?php
|
48 |
-
require_once ( PREMIUM_ADDONS_PATH . 'admin/includes/dep/info.php');
|
49 |
-
echo nl2br( pa_get_sysinfo() );
|
50 |
-
?>
|
51 |
-
</div>
|
52 |
-
</div>
|
53 |
-
</div>
|
54 |
-
<?php if( ! Helper_Functions::is_hide_rate() ) : ?>
|
55 |
-
<div>
|
56 |
-
<p><?php echo __('Did you like Premium Addons for Elementor Plugin? Please ', 'premium-addons-for-elementor'); ?><a href="https://wordpress.org/support/plugin/premium-addons-for-elementor/reviews/#new-post" target="_blank"><?php echo __('Click Here to Rate it ★★★★★', 'premium-addons-for-elementor'); ?></a></p>
|
57 |
-
</div>
|
58 |
-
<?php endif; ?>
|
59 |
-
</div>
|
60 |
-
</div>
|
61 |
-
<?php }
|
62 |
-
}
|
63 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
admin/includes/templates/features.php
ADDED
@@ -0,0 +1,70 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( ! defined( 'ABSPATH' ) ) exit;
|
4 |
+
|
5 |
+
use PremiumAddons\Includes\Helper_Functions;
|
6 |
+
|
7 |
+
$prefix = Helper_Functions::get_prefix();
|
8 |
+
|
9 |
+
//Get elements settings
|
10 |
+
$enabled_elements = self::get_enabled_elements();
|
11 |
+
|
12 |
+
?>
|
13 |
+
|
14 |
+
<div class="pa-section-content">
|
15 |
+
<div class="row">
|
16 |
+
<div class="col-full">
|
17 |
+
<form action="" method="POST" id="pa-features" name="pa-features" class="pa-settings-form">
|
18 |
+
<div id="pa-features-settings" class="pa-settings-tab">
|
19 |
+
|
20 |
+
<div class="pa-section-info-wrap">
|
21 |
+
<div class="pa-section-info">
|
22 |
+
<h4><?php echo sprintf( '%1$s %2$s', $prefix, __('Templates', 'premium-addons-for-elementor') ); ?></h4>
|
23 |
+
<p><?php echo __('Build Professional Website in Minutes Using Our Pre-Made Premium Elementor Templates.', 'premium-addons-for-elementor'); ?></p>
|
24 |
+
</div>
|
25 |
+
|
26 |
+
<div class="pa-section-info-cta">
|
27 |
+
<label class="switch">
|
28 |
+
<input type="checkbox" id="premium-templates" name="premium-templates" <?php echo checked( 1, $enabled_elements[ 'premium-templates' ], false ); ?>>
|
29 |
+
<span class="slider round"></span>
|
30 |
+
</label>
|
31 |
+
</p>
|
32 |
+
</div>
|
33 |
+
</div>
|
34 |
+
|
35 |
+
<div class="pa-section-info-wrap">
|
36 |
+
<div class="pa-section-info">
|
37 |
+
<h4><?php echo __('Cross-Domain Copy N’ Paste', 'premium-addons-for-elementor'); ?></h4>
|
38 |
+
<p><?php echo __('Copy any Elementor content from site to another in just ONE click.', 'premium-addons-for-elementor'); ?></p>
|
39 |
+
</div>
|
40 |
+
|
41 |
+
<div class="pa-section-info-cta">
|
42 |
+
<label class="switch">
|
43 |
+
<input type="checkbox" id="premium-cross-domain" name="premium-cross-domain" <?php echo checked( 1, $enabled_elements[ 'premium-cross-domain' ], false ); ?>>
|
44 |
+
<span class="slider round"></span>
|
45 |
+
</label>
|
46 |
+
</p>
|
47 |
+
</div>
|
48 |
+
</div>
|
49 |
+
|
50 |
+
<div class="pa-section-info-wrap">
|
51 |
+
<div class="pa-section-info">
|
52 |
+
<h4><?php echo __('Duplicator', 'premium-addons-for-elementor'); ?></h4>
|
53 |
+
<p><?php echo __('Duplicate any post, page or template on your website.', 'premium-addons-for-elementor'); ?></p>
|
54 |
+
</div>
|
55 |
+
|
56 |
+
<div class="pa-section-info-cta">
|
57 |
+
<label class="switch">
|
58 |
+
<input type="checkbox" id="premium-duplicator" name="premium-duplicator" <?php echo checked( 1, $enabled_elements[ 'premium-duplicator' ], false ); ?>>
|
59 |
+
<span class="slider round"></span>
|
60 |
+
</label>
|
61 |
+
</p>
|
62 |
+
</div>
|
63 |
+
</div>
|
64 |
+
|
65 |
+
<input type="submit" value="<?php echo __('Save Settings', 'premium-addons-for-elementor'); ?>" class="button pa-btn pa-save-button">
|
66 |
+
</div>
|
67 |
+
</form> <!-- End Form -->
|
68 |
+
</div>
|
69 |
+
</div>
|
70 |
+
</div> <!-- End Section Content -->
|
admin/includes/templates/general.php
ADDED
@@ -0,0 +1,31 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
|
2 |
+
<div class="pa-section-content">
|
3 |
+
<div class="row">
|
4 |
+
<div id="pa-general-settings" class="pa-settings-tab">
|
5 |
+
<div class="col-half">
|
6 |
+
<div class="pa-section-info-wrap">
|
7 |
+
|
8 |
+
<div class="pa-section-info">
|
9 |
+
<h4>
|
10 |
+
<i class="dashicons dashicons-info abt-icon-style"></i>
|
11 |
+
<?php echo __('What is Premium Addons?', 'premium-addons-for-elementor'); ?>
|
12 |
+
</h4>
|
13 |
+
<p><?php echo __('Premium Addons for Elementor extends Elementor Page Builder capabilities with many fully customizable widgets and addons that help you to build impressive websites with no coding required.', 'premium-addons-for-elementor'); ?></p>
|
14 |
+
</div>
|
15 |
+
</div>
|
16 |
+
</div>
|
17 |
+
|
18 |
+
<div class="col-half">
|
19 |
+
<div class="pa-section-info-wrap">
|
20 |
+
<div class="pa-section-info">
|
21 |
+
<h4>
|
22 |
+
<i class="dashicons dashicons-universal-access-alt abt-icon-style"></i>
|
23 |
+
<?php echo __('Docs and Support', 'premium-addons-for-elementor'); ?>
|
24 |
+
</h4>
|
25 |
+
<p><?php echo __('It’s highly recommended to check out documentation and FAQ before using this plugin. ', 'premium-addons-for-elementor'); ?><a target="_blank" href="<?php echo esc_url( $support_url ); ?>"><?php echo __('Click Here', 'premium-addons-for-elementor'); ?></a><?php echo __(' for more details. You can also join our ', 'premium-addons-for-elementor'); ?><a href="https://www.facebook.com/groups/PremiumAddons" target="_blank"><?php echo __('Facebook Group', 'premium-addons-for-elementor'); ?></a><?php echo __(' and Our ', 'premium-addons-for-elementor'); ?><a href="https://my.leap13.com/forums/" target="_blank"><?php echo __('Community Forums', 'premium-addons-for-elementor'); ?></a></p>
|
26 |
+
</div>
|
27 |
+
</div>
|
28 |
+
</div>
|
29 |
+
</div>
|
30 |
+
</div>
|
31 |
+
</div> <!-- End Section Content -->
|
admin/includes/templates/info.php
ADDED
@@ -0,0 +1,199 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<table class="widefat" cellspacing="0">
|
2 |
+
<thead>
|
3 |
+
<tr>
|
4 |
+
<th colspan="2"><b><?php _e( 'WordPress Environment', 'premium-addons-for-elementor' ); ?></b></th>
|
5 |
+
</tr>
|
6 |
+
</thead>
|
7 |
+
<tbody>
|
8 |
+
<tr>
|
9 |
+
<td><?php _e( 'Home URL', 'premium-addons-for-elementor' ); ?>:</td>
|
10 |
+
<td><?php form_option( 'home' ); ?></td>
|
11 |
+
</tr>
|
12 |
+
<tr>
|
13 |
+
<td><?php _e( 'Site URL', 'premium-addons-for-elementor' ); ?>:</td>
|
14 |
+
<td><?php form_option( 'siteurl' ); ?></td>
|
15 |
+
</tr>
|
16 |
+
<tr>
|
17 |
+
<td><?php _e( 'WP Version', 'premium-addons-for-elementor' ); ?>:</td>
|
18 |
+
<td><?php bloginfo( 'version' ); ?></td>
|
19 |
+
</tr>
|
20 |
+
<tr>
|
21 |
+
<td><?php _e( 'WP Multisite', 'premium-addons-for-elementor' ); ?>:</td>
|
22 |
+
<td><?php
|
23 |
+
if ( is_multisite() )
|
24 |
+
echo '✔';
|
25 |
+
else
|
26 |
+
echo '–';
|
27 |
+
?></td>
|
28 |
+
</tr>
|
29 |
+
<tr>
|
30 |
+
<td><?php _e( 'WP Memory Limit', 'premium-addons-for-elementor' ); ?>:</td>
|
31 |
+
<td><?php //echo "kok";
|
32 |
+
$memory_limit = wp_convert_hr_to_bytes( WP_MEMORY_LIMIT );
|
33 |
+
if ($memory_limit < 67108864) {
|
34 |
+
echo '<mark>' . sprintf( __( '%1$s - We recommend setting wp memory at least 64MB.</mark> See: <a href="%2$s" target="_blank">Increasing WP Memory Limit</a>', 'premium-addons-for-elementor' ), size_format($memory_limit), 'https://premiumaddons.com/docs/im-getting-a-blank-page-on-elementor-after-activating-premium-add-ons/' );
|
35 |
+
} else {
|
36 |
+
echo size_format( $memory_limit );
|
37 |
+
}
|
38 |
+
?></td>
|
39 |
+
</tr>
|
40 |
+
<tr>
|
41 |
+
<td><?php _e( 'WP Path', 'premium-addons-for-elementor' ); ?>:</td>
|
42 |
+
<td><?php echo ABSPATH; ?></td>
|
43 |
+
</tr>
|
44 |
+
|
45 |
+
|
46 |
+
<tr>
|
47 |
+
<td><?php _e( 'WP Debug Mode', 'premium-addons-for-elementor' ); ?>:</td>
|
48 |
+
<td><?php
|
49 |
+
if ( defined( 'WP_DEBUG' ) && WP_DEBUG )
|
50 |
+
echo '✔';
|
51 |
+
else
|
52 |
+
echo '–';
|
53 |
+
?></td>
|
54 |
+
</tr>
|
55 |
+
<tr>
|
56 |
+
<td><?php _e( 'Language', 'premium-addons-for-elementor' ); ?>:</td>
|
57 |
+
<td><?php echo get_locale() ?></td>
|
58 |
+
</tr>
|
59 |
+
</tbody>
|
60 |
+
</table>
|
61 |
+
<br>
|
62 |
+
<table class="widefat" cellspacing="0">
|
63 |
+
<thead>
|
64 |
+
<tr>
|
65 |
+
<th colspan="2" data-export-label="Server Environment"><b><?php _e( 'Server Environment', 'premium-addons-for-elementor' ); ?></b></th>
|
66 |
+
</tr>
|
67 |
+
</thead>
|
68 |
+
<tbody>
|
69 |
+
<tr>
|
70 |
+
<td><?php _e( 'Server Info', 'premium-addons-for-elementor' ); ?>:</td>
|
71 |
+
<td><?php echo esc_html( $_SERVER[ 'SERVER_SOFTWARE' ] ); ?></td>
|
72 |
+
</tr>
|
73 |
+
<tr>
|
74 |
+
<td><?php _e( 'PHP Version', 'premium-addons-for-elementor' ); ?>:</td>
|
75 |
+
<td><?php
|
76 |
+
// Check if phpversion function exists
|
77 |
+
if ( function_exists( 'phpversion' ) ) {
|
78 |
+
$php_version = phpversion();
|
79 |
+
|
80 |
+
echo esc_html( $php_version );
|
81 |
+
} else {
|
82 |
+
_e( "Couldn't determine PHP version because phpversion() doesn't exist.", 'premium-addons-for-elementor' );
|
83 |
+
}
|
84 |
+
?></td>
|
85 |
+
</tr>
|
86 |
+
<?php if ( function_exists( 'ini_get' ) ) : ?>
|
87 |
+
<tr>
|
88 |
+
<td><?php _e( 'PHP Memory Limit', 'premium-addons-for-elementor' ); ?>:</td>
|
89 |
+
<td><?php echo size_format( wp_convert_hr_to_bytes( ini_get( 'memory_limit' ) ) ); ?></td>
|
90 |
+
</tr>
|
91 |
+
<tr>
|
92 |
+
<td><?php _e( 'PHP Post Max Size', 'premium-addons-for-elementor' ); ?>:</td>
|
93 |
+
<td><?php echo size_format( wp_convert_hr_to_bytes( ini_get( 'post_max_size' ) ) ); ?></td>
|
94 |
+
</tr>
|
95 |
+
<tr>
|
96 |
+
<td ><?php _e( 'PHP Time Limit', 'premium-addons-for-elementor' ); ?>:</td>
|
97 |
+
<td>
|
98 |
+
<?php
|
99 |
+
$time_limit = ini_get('max_execution_time');
|
100 |
+
if ( $time_limit < 120 && $time_limit != 0 ) {
|
101 |
+
echo '<mark>' . sprintf( __( '%s - We recommend setting max execution time at least 300.</mark> See: <a href="%2$s" target="_blank">Increasing WP Time Limit</a>', 'premium-addons-for-elementor' ), $time_limit, 'https://premiumaddons.com/docs/im-getting-a-blank-page-on-elementor-after-activating-premium-add-ons/' );
|
102 |
+
} else {
|
103 |
+
echo $time_limit;
|
104 |
+
}
|
105 |
+
?></td>
|
106 |
+
</tr>
|
107 |
+
<tr>
|
108 |
+
<td><?php _e( 'PHP Max Input Vars', 'premium-addons-for-elementor' ); ?>:</td>
|
109 |
+
<td><?php echo ini_get( 'max_input_vars' ); ?></td>
|
110 |
+
</tr>
|
111 |
+
<tr>
|
112 |
+
<td ><?php _e( 'SUHOSIN Installed', 'premium-addons-for-elementor' ); ?>:</td>
|
113 |
+
<td><?php echo extension_loaded( 'suhosin' ) ? '✔' : '–'; ?></td>
|
114 |
+
</tr>
|
115 |
+
<?php endif; ?>
|
116 |
+
<tr>
|
117 |
+
<td><?php _e( 'MySQL Version', 'premium-addons-for-elementor' ); ?>:</td>
|
118 |
+
<td>
|
119 |
+
<?php
|
120 |
+
/** @global wpdb $wpdb */
|
121 |
+
global $wpdb;
|
122 |
+
echo $wpdb->db_version();
|
123 |
+
?>
|
124 |
+
</td>
|
125 |
+
</tr>
|
126 |
+
<tr>
|
127 |
+
<td><?php _e( 'Max Upload Size', 'premium-addons-for-elementor' ); ?>:</td>
|
128 |
+
<td><?php echo size_format( wp_max_upload_size() ); ?></td>
|
129 |
+
</tr>
|
130 |
+
</tbody>
|
131 |
+
</table>
|
132 |
+
<br>
|
133 |
+
<table class="widefat" cellspacing="0">
|
134 |
+
<thead>
|
135 |
+
<tr>
|
136 |
+
<th colspan="2" data-export-label="PHP Extensions"><b><?php _e( 'PHP Extensions', 'premium-addons-for-elementor' ); ?></b></th>
|
137 |
+
</tr>
|
138 |
+
</thead>
|
139 |
+
<tbody>
|
140 |
+
<tr>
|
141 |
+
<td><?php _e( 'cURL', 'premium-addons-for-elementor' ); ?>:</td>
|
142 |
+
<td><?php echo (function_exists('curl_init') ? 'Supported' : 'Not Supported'); ?></td>
|
143 |
+
</tr>
|
144 |
+
<tr>
|
145 |
+
<td><?php _e( 'fsockopen', 'premium-addons-for-elementor' ); ?>:</td>
|
146 |
+
<td><?php echo (function_exists('fsockopen') ? 'Supported' : 'Not Supported'); ?></td>
|
147 |
+
</tr>
|
148 |
+
<tr>
|
149 |
+
<td><?php _e( 'SOAP Client', 'premium-addons-for-elementor' ); ?>:</td>
|
150 |
+
<td><?php echo (class_exists('SoapClient') ? 'Installed' : 'Not Installed'); ?></td>
|
151 |
+
</tr>
|
152 |
+
<tr>
|
153 |
+
<td><?php _e( 'Suhosin', 'premium-addons-for-elementor' ); ?>:</td>
|
154 |
+
<td><?php echo (extension_loaded('suhosin') ? 'Installed' : 'Not Installed'); ?></td>
|
155 |
+
</tr>
|
156 |
+
</tbody>
|
157 |
+
</table>
|
158 |
+
<br>
|
159 |
+
<table class="widefat" cellspacing="0">
|
160 |
+
<thead>
|
161 |
+
<tr>
|
162 |
+
<th colspan="2"><b><?php _e( 'Active Plugins', 'premium-addons-for-elementor' ); ?> (<?php echo count( (array) get_option( 'active_plugins' ) ); ?>)</b></th>
|
163 |
+
</tr>
|
164 |
+
</thead>
|
165 |
+
<tbody>
|
166 |
+
<?php
|
167 |
+
$active_plugins = (array) get_option( 'active_plugins', array() );
|
168 |
+
|
169 |
+
if ( is_multisite() ) {
|
170 |
+
$network_activated_plugins = array_keys( get_site_option( 'active_sitewide_plugins', array() ) );
|
171 |
+
$active_plugins = array_merge( $active_plugins, $network_activated_plugins );
|
172 |
+
}
|
173 |
+
|
174 |
+
foreach ( $active_plugins as $plugin ) {
|
175 |
+
|
176 |
+
$plugin_data = @get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin );
|
177 |
+
$dirname = dirname( $plugin );
|
178 |
+
$version_string = '';
|
179 |
+
$network_string = '';
|
180 |
+
|
181 |
+
if ( !empty( $plugin_data[ 'Name' ] ) ) {
|
182 |
+
|
183 |
+
// link the plugin name to the plugin url if available
|
184 |
+
$plugin_name = esc_html( $plugin_data[ 'Name' ] );
|
185 |
+
|
186 |
+
if ( !empty( $plugin_data[ 'PluginURI' ] ) ) {
|
187 |
+
$plugin_name = '<a href="' . esc_url( $plugin_data[ 'PluginURI' ] ) . '" title="' . esc_attr__( 'Visit plugin homepage', 'premium-addons-for-elementor' ) . '" target="_blank">' . $plugin_name . '</a>';
|
188 |
+
}
|
189 |
+
?>
|
190 |
+
<tr>
|
191 |
+
<td><?php echo $plugin_name; ?></td>
|
192 |
+
<td><?php echo sprintf( _x( 'by %s', 'by author', 'premium-addons-for-elementor' ), $plugin_data[ 'Author' ] ) . ' – ' . esc_html( $plugin_data[ 'Version' ] ) . $version_string . $network_string; ?></td>
|
193 |
+
</tr>
|
194 |
+
<?php
|
195 |
+
}
|
196 |
+
}
|
197 |
+
?>
|
198 |
+
</tbody>
|
199 |
+
</table>
|
admin/includes/templates/integrations.php
ADDED
@@ -0,0 +1,100 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( ! defined( 'ABSPATH' ) ) exit;
|
4 |
+
|
5 |
+
use PremiumAddons\Includes\Helper_Functions;
|
6 |
+
|
7 |
+
//Get settings
|
8 |
+
$settings = self::get_integrations_settings();
|
9 |
+
|
10 |
+
$locales = Helper_Functions::get_google_maps_prefixes();
|
11 |
+
|
12 |
+
?>
|
13 |
+
|
14 |
+
<div class="pa-section-content">
|
15 |
+
<div class="row">
|
16 |
+
<div class="col-full">
|
17 |
+
<form action="" method="POST" id="pa-integrations" name="pa-integrations" class="pa-settings-form">
|
18 |
+
<div id="pa-integrations-settings" class="pa-settings-tab">
|
19 |
+
|
20 |
+
<div class="pa-section-info-wrap">
|
21 |
+
<div class="pa-section-info">
|
22 |
+
<h4><?php echo __('Google API Keys', 'premium-addons-for-elementor'); ?></h4>
|
23 |
+
<p><?php echo sprintf( __('Google APIs are used in Premium Google Maps and Premium Video Box widgets. If you don\'t have one, click %shere%s to get your key. Click %shere%2$s to enable Youtube Data for your API key', 'premium-addons-for-elementor'), '<a href="https://premiumaddons.com/docs/getting-your-api-key-for-google-reviews/" target="_blank">', '</a>', '<a href="https://premiumaddons.com/docs/how-to-enable-youtube-data-api-for-premium-video-box-widget" target="_blank">' ); ?></p>
|
24 |
+
</div>
|
25 |
+
</div>
|
26 |
+
|
27 |
+
<table class="pa-maps-table">
|
28 |
+
|
29 |
+
<tr>
|
30 |
+
<td>
|
31 |
+
<span class="pa-maps-circle-icon"></span>
|
32 |
+
<h4 class="pa-api-title"><?php echo __('Youtube Data API Key:', 'premium-addons-for-elementor'); ?></h4>
|
33 |
+
</td>
|
34 |
+
<td>
|
35 |
+
<input name="premium-youtube-api" id="premium-youtube-api" type="text" placeholder="Youtube API Key" value="<?php echo esc_attr( $settings['premium-youtube-api'] ); ?>">
|
36 |
+
</td>
|
37 |
+
</tr>
|
38 |
+
|
39 |
+
<tr>
|
40 |
+
<td>
|
41 |
+
<span class="pa-maps-circle-icon"></span>
|
42 |
+
<h4 class="pa-api-title"><?php echo __('Google Maps API Key:', 'premium-addons-for-elementor'); ?></h4>
|
43 |
+
</td>
|
44 |
+
<td>
|
45 |
+
<input name="premium-map-api" id="premium-map-api" type="text" placeholder="Maps API Key" value="<?php echo esc_attr( $settings['premium-map-api'] ); ?>">
|
46 |
+
</td>
|
47 |
+
</tr>
|
48 |
+
<tr>
|
49 |
+
<td>
|
50 |
+
<span class="pa-maps-circle-icon"></span>
|
51 |
+
<h4 class="pa-api-disable-title"><?php echo __('Google Maps Localization Language:', 'premium-addons-for-elementor'); ?></h4>
|
52 |
+
</td>
|
53 |
+
<td>
|
54 |
+
<select name="premium-map-locale" id="premium-map-locale" class="placeholder placeholder-active">
|
55 |
+
<option value=""><?php _e( 'Default', 'premium-addons-for-elementor' ); ?></option>
|
56 |
+
<?php foreach ( $locales as $key => $value ) {
|
57 |
+
$selected = '';
|
58 |
+
if ( $key === $settings['premium-map-locale'] ) {
|
59 |
+
$selected = 'selected="selected" ';
|
60 |
+
}
|
61 |
+
?>
|
62 |
+
<option value="<?php echo esc_attr( $key ); ?>" <?php echo $selected; ?>><?php echo esc_attr( $value ); ?></option>
|
63 |
+
<?php } ?>
|
64 |
+
</select>
|
65 |
+
</td>
|
66 |
+
</tr>
|
67 |
+
<tr>
|
68 |
+
<td>
|
69 |
+
<span class="pa-maps-circle-icon"></span>
|
70 |
+
<h4 class="pa-api-disable-title"><?php echo __('Load Maps API JS File:','premium-addons-for-elementor'); ?></h4>
|
71 |
+
</td>
|
72 |
+
<td>
|
73 |
+
<input name="premium-map-disable-api" id="premium-map-disable-api" type="checkbox" <?php checked(1, $settings['premium-map-disable-api'], true) ?>>
|
74 |
+
<label for="premium-map-disable-api"></label>
|
75 |
+
<span>
|
76 |
+
<?php echo __('This will load API JS file if it\'s not loaded by another theme or plugin.', 'premium-addons-for-elementor'); ?>
|
77 |
+
</span>
|
78 |
+
</td>
|
79 |
+
</tr>
|
80 |
+
<tr>
|
81 |
+
<td>
|
82 |
+
<span class="pa-maps-circle-icon"></span>
|
83 |
+
<h4 class="pa-api-disable-title">
|
84 |
+
<?php echo __('Load Markers Clustering JS File:','premium-addons-for-elementor'); ?>
|
85 |
+
</h4>
|
86 |
+
</td>
|
87 |
+
<td>
|
88 |
+
<input name="premium-map-cluster" id="premium-map-cluster" type="checkbox" <?php checked(1, $settings['premium-map-cluster'], true) ?>>
|
89 |
+
<label for="premium-map-cluster"></label>
|
90 |
+
<span><?php echo __('This will load the JS file for markers clusters.', 'premium-addons-for-elementor'); ?></span>
|
91 |
+
</td>
|
92 |
+
</tr>
|
93 |
+
</table>
|
94 |
+
|
95 |
+
<input type="submit" value="<?php echo __('Save Settings', 'premium-addons-for-elementor'); ?>" class="button pa-btn pa-save-button">
|
96 |
+
</div>
|
97 |
+
</form> <!-- End Form -->
|
98 |
+
</div>
|
99 |
+
</div>
|
100 |
+
</div> <!-- End Section Content -->
|
admin/includes/templates/modules-settings.php
ADDED
@@ -0,0 +1,131 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( ! defined( 'ABSPATH' ) ) exit;
|
4 |
+
|
5 |
+
use PremiumAddons\Includes\Helper_Functions;
|
6 |
+
|
7 |
+
$elements = self::get_elements_list();
|
8 |
+
|
9 |
+
//Get elements settings
|
10 |
+
$enabled_elements = self::get_enabled_elements();
|
11 |
+
|
12 |
+
$global_btn = get_option('pa_global_btn_value', 'true');
|
13 |
+
$enable_btn = 'true' === $global_btn ? 'active' : '';
|
14 |
+
$disable_btn = 'true' === $global_btn ? '' : 'active';
|
15 |
+
|
16 |
+
$row_meta = Helper_Functions::is_hide_row_meta();
|
17 |
+
|
18 |
+
?>
|
19 |
+
|
20 |
+
<div class="pa-section-content">
|
21 |
+
<div class="row">
|
22 |
+
<div class="col-full">
|
23 |
+
<form action="" method="POST" id="pa-settings" name="pa-settings" class="pa-settings-form">
|
24 |
+
<div id="pa-modules" class="pa-settings-tab">
|
25 |
+
|
26 |
+
<div class="pa-section-info-wrap">
|
27 |
+
<div class="pa-section-info">
|
28 |
+
<h4><?php echo __('Master Switch', 'premium-addons-for-elementor'); ?></h4>
|
29 |
+
<p><?php echo __('Use this to switch on or off ALL Widgets & Add-ons at once.', 'premium-addons-for-elementor'); ?></p>
|
30 |
+
</div>
|
31 |
+
|
32 |
+
<div class="pa-btn-group">
|
33 |
+
<button type="button" class="pa-btn pa-btn-enable <?php echo esc_attr( $enable_btn ); ?>"><?php echo __('Switch On', 'premium-addons-for-elementor'); ?></button>
|
34 |
+
<button type="button" class="pa-btn pa-btn-disable <?php echo esc_attr( $disable_btn ); ?>"><?php echo __('Switch Off', 'premium-addons-for-elementor'); ?></button>
|
35 |
+
</div>
|
36 |
+
</div>
|
37 |
+
|
38 |
+
<div class="pa-elements-settings">
|
39 |
+
|
40 |
+
<div class="pa-elements-filter">
|
41 |
+
<label for="premium-elements-filter"><?php _e('Filter Widgets', 'premium-addons-for-elementor'); ?></label>
|
42 |
+
<select name="premium-elements-filter" id="premium-elements-filter" class="placeholder placeholder-active">
|
43 |
+
<option value=""><?php _e( 'All Widgets', 'premium-addons-for-elementor' ); ?></option>
|
44 |
+
<option value="free"><?php _e( 'Free Widgets', 'premium-addons-for-elementor' ); ?></option>
|
45 |
+
<option value="pro"><?php _e( 'PRO Widgets', 'premium-addons-for-elementor' ); ?></option>
|
46 |
+
</select>
|
47 |
+
</div>
|
48 |
+
|
49 |
+
<div class="pa-elements-tabs">
|
50 |
+
<ul class="pa-elements-tabs-list">
|
51 |
+
<?php foreach( $elements as $index => $cat ):
|
52 |
+
if( 'cat-11' !== $index ) :
|
53 |
+
?>
|
54 |
+
<li class="pa-elements-tab">
|
55 |
+
<a class="pa-elements-tab-link" href="pa-elements-tab-<?php echo $index; ?>">
|
56 |
+
<i class="<?php echo esc_attr( 'pa-dash-cat-' . $cat['icon'] ) ?>"></i>
|
57 |
+
</a>
|
58 |
+
<span class="pa-element-tab-tooltip"><?php echo esc_html( $cat['title'] ); ?></span>
|
59 |
+
</li>
|
60 |
+
<?php endif; ?>
|
61 |
+
<?php endforeach; ?>
|
62 |
+
</ul>
|
63 |
+
</div>
|
64 |
+
|
65 |
+
<?php foreach( $elements as $index => $cat ):
|
66 |
+
if( 'cat-11' !== $index ) :
|
67 |
+
?>
|
68 |
+
<div id="pa-elements-tab-<?php echo $index; ?>" class="pa-switchers-container hidden">
|
69 |
+
<h3 class="pa-elements-tab-title"><?php echo __( $cat['title'] ); ?></h3>
|
70 |
+
<div class="pa-switchers">
|
71 |
+
<?php foreach( $cat['elements'] as $index => $elem ) :
|
72 |
+
$status = (isset( $elem['is_pro'] ) && ! Helper_Functions::check_papro_version() ) ? 'disabled' : checked( 1, $enabled_elements[ $elem['key'] ], false );
|
73 |
+
$class = (isset( $elem['is_pro'] ) && ! Helper_Functions::check_papro_version() ) ? 'pro-' : '';
|
74 |
+
$switcher_class = $class . 'slider round';
|
75 |
+
?>
|
76 |
+
<div class="pa-switcher <?php echo isset( $elem['is_pro'] ) ? 'pro-element' : ''; ?>">
|
77 |
+
<div class="pa-element-info">
|
78 |
+
<div class="pa-element-icon-wrap">
|
79 |
+
<i class="pa-dash-<?php echo esc_attr( $elem['key'] ); ?> pa-element-icon"></i>
|
80 |
+
</div>
|
81 |
+
<div class="pa-element-meta-wrap">
|
82 |
+
<p class="pa-element-name">
|
83 |
+
<?php echo $elem['title']; ?>
|
84 |
+
<?php if( isset( $elem['is_pro'] ) ) : ?>
|
85 |
+
<span><?php echo __('pro', 'premium-addons-for-elementor'); ?></span>
|
86 |
+
<?php endif; ?>
|
87 |
+
</p>
|
88 |
+
<?php if( ! $row_meta ) : ?>
|
89 |
+
<div>
|
90 |
+
<?php if( isset( $elem['demo'] ) ) : ?>
|
91 |
+
<a class="pa-element-link" href="<?php echo esc_url( $elem['demo'] ); ?>" target="_blank">
|
92 |
+
<?php echo __('Live Demo', 'premium-addons-for-elementor'); ?>
|
93 |
+
<span class="pa-element-link-separator"></span>
|
94 |
+
</a>
|
95 |
+
<?php endif; ?>
|
96 |
+
<?php if( isset( $elem['doc'] ) ) : ?>
|
97 |
+
<a class="pa-element-link" href="<?php echo esc_url( $elem['doc'] ); ?>" target="_blank">
|
98 |
+
<?php echo __('Docs', 'premium-addons-for-elementor'); ?>
|
99 |
+
<?php if( isset( $elem['tutorial'] ) ) : ?>
|
100 |
+
<span class="pa-element-link-separator"></span>
|
101 |
+
<?php endif; ?>
|
102 |
+
</a>
|
103 |
+
<?php endif; ?>
|
104 |
+
<?php if( isset( $elem['tutorial'] ) ) : ?>
|
105 |
+
<a class="pa-element-link" href="<?php echo esc_url( $elem['tutorial'] ); ?>" target="_blank">
|
106 |
+
<?php echo __('Video Tutorial', 'premium-addons-for-elementor'); ?>
|
107 |
+
</a>
|
108 |
+
<?php endif; ?>
|
109 |
+
</div>
|
110 |
+
<?php endif; ?>
|
111 |
+
</div>
|
112 |
+
</div>
|
113 |
+
<label class="switch">
|
114 |
+
<input type="checkbox" id="<?php echo esc_attr($elem['key']); ?>" name="<?php echo esc_attr($elem['key']); ?>" <?php echo $status; ?>>
|
115 |
+
<span class="<?php echo esc_attr( $switcher_class ); ?>"></span>
|
116 |
+
</label>
|
117 |
+
</div>
|
118 |
+
<?php endforeach; ?>
|
119 |
+
</div>
|
120 |
+
</div>
|
121 |
+
<?php endif; ?>
|
122 |
+
<?php endforeach; ?>
|
123 |
+
</div>
|
124 |
+
|
125 |
+
<input type="submit" value="<?php echo __('Save Settings', 'premium-addons-for-elementor'); ?>" class="button pa-btn pa-save-button">
|
126 |
+
|
127 |
+
</div>
|
128 |
+
</form> <!-- End Form -->
|
129 |
+
</div>
|
130 |
+
</div>
|
131 |
+
</div> <!-- End Section Content -->
|
admin/includes/templates/version-control.php
ADDED
@@ -0,0 +1,61 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( ! defined( 'ABSPATH' ) ) exit;
|
4 |
+
|
5 |
+
use PremiumAddons\Includes\Helper_Functions;
|
6 |
+
|
7 |
+
//Get settings
|
8 |
+
$settings = self::get_integrations_settings();
|
9 |
+
|
10 |
+
?>
|
11 |
+
|
12 |
+
<div class="pa-section-content">
|
13 |
+
<div class="row">
|
14 |
+
<div class="col-full">
|
15 |
+
<form action="" method="POST" id="pa-ver-control" name="pa-ver-control" class="pa-settings-form">
|
16 |
+
<div id="pa-ver-control-settings" class="pa-settings-tab">
|
17 |
+
|
18 |
+
<div class="pa-section-info-wrap">
|
19 |
+
<div class="pa-section-info">
|
20 |
+
<h4><?php echo __('Rollback to Previous Version', 'premium-addons-for-elementor'); ?></h4>
|
21 |
+
<p><?php echo __('Experiencing an issue with Premium Addons for Elementor version 3.21.1? Rollback to a previous version before the issue appeared.', 'premium-addons-for-elementor'); ?></p>
|
22 |
+
</div>
|
23 |
+
|
24 |
+
<div class="pa-section-info-cta">
|
25 |
+
<a target="_blank" href="<?php echo esc_url( wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ) ); ?>" class="button pa-btn pa-rollback-button">
|
26 |
+
<?php echo __('Rollback to Version ' . PREMIUM_ADDONS_STABLE_VERSION, 'premium-addons-for-elementor'); ?>
|
27 |
+
</a>
|
28 |
+
<span class="pa-section-info-warning">
|
29 |
+
<i class="dashicons dashicons-info-outline"></i>
|
30 |
+
<?php echo __('Warning: Please backup your database before making the rollback.', 'premium-addons-for-elementor'); ?>
|
31 |
+
</span>
|
32 |
+
</p>
|
33 |
+
</div>
|
34 |
+
</div>
|
35 |
+
|
36 |
+
<div class="pa-section-info-wrap">
|
37 |
+
<div class="pa-section-info">
|
38 |
+
<h4><?php echo __('Become a Beta Tester', 'premium-addons-for-elementor'); ?></h4>
|
39 |
+
<p><?php echo __('Turn-on Beta Tester, to get notified when a new beta version of Premium Addons for Elementor. The Beta version will not install automatically. You always have the option to ignore it.', 'premium-addons-for-elementor'); ?></p>
|
40 |
+
</div>
|
41 |
+
|
42 |
+
<div class="pa-section-info-cta">
|
43 |
+
<input name="is-beta-tester" id="is-beta-tester" type="checkbox" <?php checked(1, $settings['is-beta-tester'], true) ?>>
|
44 |
+
<label for="is-beta-tester"></label>
|
45 |
+
<span class="pa-section-info-label">
|
46 |
+
<?php echo __('Check this box to get updates for beta versions','premium-addons-for-elementor'); ?>
|
47 |
+
</span>
|
48 |
+
<span class="pa-section-info-warning">
|
49 |
+
<i class="dashicons dashicons-info-outline"></i>
|
50 |
+
<?php echo __('We do not recommend updating to a beta version on production sites.', 'premium-addons-for-elementor'); ?>
|
51 |
+
</span>
|
52 |
+
</p>
|
53 |
+
</div>
|
54 |
+
</div>
|
55 |
+
|
56 |
+
<input type="submit" value="<?php echo __('Save Settings', 'premium-addons-for-elementor'); ?>" class="button pa-btn pa-save-button">
|
57 |
+
</div>
|
58 |
+
</form> <!-- End Form -->
|
59 |
+
</div>
|
60 |
+
</div>
|
61 |
+
</div> <!-- End Section Content -->
|
admin/includes/templates/white-label.php
ADDED
@@ -0,0 +1,182 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( ! defined( 'ABSPATH' ) ) exit;
|
4 |
+
|
5 |
+
use PremiumAddons\Includes\Helper_Functions;
|
6 |
+
|
7 |
+
//Premium Addons Pro Classes
|
8 |
+
use PremiumAddonsPro\Includes\White_Label\Helper;
|
9 |
+
|
10 |
+
//Get settings
|
11 |
+
$class = 'premium-white-label-form';
|
12 |
+
if( Helper_Functions::check_papro_version() ) {
|
13 |
+
|
14 |
+
$settings = Helper::get_white_labeling_settings();
|
15 |
+
|
16 |
+
} else {
|
17 |
+
$class .= ' pro-inactive';
|
18 |
+
|
19 |
+
$settings = array(
|
20 |
+
'premium-wht-lbl-name' => '',
|
21 |
+
'premium-wht-lbl-url' => '',
|
22 |
+
'premium-wht-lbl-plugin-name' => '',
|
23 |
+
'premium-wht-lbl-short-name' => '',
|
24 |
+
'premium-wht-lbl-desc' => '',
|
25 |
+
'premium-wht-lbl-row' => '',
|
26 |
+
'premium-wht-lbl-name-pro' => '',
|
27 |
+
'premium-wht-lbl-url-pro' => '',
|
28 |
+
'premium-wht-lbl-plugin-name-pro' => '',
|
29 |
+
'premium-wht-lbl-desc-pro' => '',
|
30 |
+
'premium-wht-lbl-changelog' => '',
|
31 |
+
'premium-wht-lbl-option' => '',
|
32 |
+
'premium-wht-lbl-rate' => '',
|
33 |
+
'premium-wht-lbl-about' => '',
|
34 |
+
'premium-wht-lbl-license' => '',
|
35 |
+
'premium-wht-lbl-logo' => '',
|
36 |
+
'premium-wht-lbl-version' => '',
|
37 |
+
'premium-wht-lbl-prefix' => '',
|
38 |
+
'premium-wht-lbl-badge' => ''
|
39 |
+
);
|
40 |
+
}
|
41 |
+
|
42 |
+
if( ! Helper_Functions::check_papro_version() ) {
|
43 |
+
|
44 |
+
$campaign = Helper_Functions::get_campaign_link( 'https://premiumaddons.com/pro/', 'whitelabel-page', 'wp-dash', 'dashboard' );
|
45 |
+
|
46 |
+
?>
|
47 |
+
<div class="pa-white-label-notice">
|
48 |
+
<div class="pa-white-label-notice-content">
|
49 |
+
<div class="pa-white-label-notice-logo">
|
50 |
+
<img src="<?php echo PREMIUM_ADDONS_URL .'admin/images/pa-logo-symbol.png'; ?>" alt="Premium Addons White Labeling Notice">
|
51 |
+
</div>
|
52 |
+
<h2><?php _e('Get Premium Addons <span>Pro</span> to Enable White Labeling Options', 'premium-addons-for-elementor'); ?></h2>
|
53 |
+
<p><?php _e('Premium Addons can be completely re-branded with your own brand name and author details. Your clients will never know what tools you are using to build their website and will think that this is your own tool set. White-labeling works as long as your license is active.', 'premium-addons-for-elementor'); ?></p>
|
54 |
+
<a class="pa-btn pa-get-pro" href="<?php echo esc_attr( $campaign ); ?>" target="_blank"><?php _e('Get PRO', 'premium-addons-for-elementor'); ?></a>
|
55 |
+
</div>
|
56 |
+
</div>
|
57 |
+
<?php
|
58 |
+
}
|
59 |
+
|
60 |
+
?>
|
61 |
+
|
62 |
+
<div class="pa-section-content">
|
63 |
+
<div class="row">
|
64 |
+
<div class="col-full">
|
65 |
+
<form action="" method="POST" id="pa-white-label" class="<?php echo esc_attr( $class ); ?>" name="pa-white-label-settings">
|
66 |
+
<div id="pa-white-label" class="pa-settings-tab pa-wht-lbl-settings">
|
67 |
+
<div class="pa-row">
|
68 |
+
<div class="pa-wht-lbl-settings-wrap">
|
69 |
+
<h3 class="pa-wht-lbl-title pa-wht-lbl-head"><?php echo __('Free Version', 'premium-addons-for-elementor'); ?></h3>
|
70 |
+
<div class="pa-wht-lbl-group-wrap">
|
71 |
+
<!-- Author Name -->
|
72 |
+
<label for="premium-wht-lbl-name" class="pa-input-label"><?php echo __('Author Name', 'premium-addons-for-elementor'); ?></label>
|
73 |
+
<input name="premium-wht-lbl-name" id="premium-wht-lbl-name" type="text" placeholder="Leap13" value="<?php echo esc_attr( $settings['premium-wht-lbl-name'] ); ?>">
|
74 |
+
<!-- Author URL -->
|
75 |
+
<label for="premium-wht-lbl-url" class="pa-input-label"><?php echo __('Author URL', 'premium-addons-for-elementor'); ?></label>
|
76 |
+
<input name="premium-wht-lbl-url" id="premium-wht-lbl-url" type="text" placeholder="https://premiumaddons.com" value="<?php echo esc_attr( $settings['premium-wht-lbl-url'] ); ?>">
|
77 |
+
<!-- Plugin Name -->
|
78 |
+
<label for="premium-wht-lbl-plugin-name" class="pa-input-label"><?php echo __('Plugin Name', 'premium-addons-for-elementor'); ?></label>
|
79 |
+
<input name="premium-wht-lbl-plugin-name" id="premium-wht-lbl-plugin-name" type="text" placeholder="Premium Addons for Elementor" value="<?php echo esc_attr( $settings['premium-wht-lbl-plugin-name'] ); ?>">
|
80 |
+
|
81 |
+
<!-- Plugin Description -->
|
82 |
+
<label for="premium-wht-lbl-desc" class="pa-input-label"><?php echo __('Plugin Description', 'premium-addons-for-elementor'); ?></label>
|
83 |
+
<input name="premium-wht-lbl-desc" id="premium-wht-lbl-desc" type="text" placeholder="Premium Addons for Elementor plugin includes widgets and addons.." value="<?php echo esc_attr( $settings['premium-wht-lbl-desc'] ); ?>">
|
84 |
+
|
85 |
+
<p class="pa-input-label"><?php echo __('Hide Plugin Row Meta Links', 'premium-addons-for-elementor'); ?></p>
|
86 |
+
<input name="premium-wht-lbl-row" id="premium-wht-lbl-row" type="checkbox" <?php checked(1, $settings['premium-wht-lbl-row'], true) ?>>
|
87 |
+
<label for="premium-wht-lbl-row"></label>
|
88 |
+
<span><?php echo __('This will hide Docs, FAQs, and Video Tutorials links located on the plugins page.', 'premium-addons-for-elementor'); ?></span>
|
89 |
+
</div>
|
90 |
+
</div>
|
91 |
+
|
92 |
+
<div class="pa-wht-lbl-settings-wrap">
|
93 |
+
<h3 class="pa-wht-lbl-title pa-wht-lbl-head"><?php echo __('PRO Version', 'premium-addons-for-elementor'); ?></h3>
|
94 |
+
<div class="pa-wht-lbl-group-wrap">
|
95 |
+
|
96 |
+
<label for="premium-wht-lbl-name-pro" class="pa-input-label"><?php echo __('Author Name', 'premium-addons-for-elementor'); ?></label>
|
97 |
+
<input name="premium-wht-lbl-name-pro" id="premium-wht-lbl-name-pro" type="text" placeholder="Leap13" value="<?php echo esc_attr( $settings['premium-wht-lbl-name-pro'] ); ?>">
|
98 |
+
|
99 |
+
<label for="premium-wht-lbl-url-pro" class="pa-input-label"><?php echo __('Author URL', 'premium-addons-for-elementor'); ?></label>
|
100 |
+
<input name="premium-wht-lbl-url-pro" id="premium-wht-lbl-url-pro" type="text" placeholder="https://premiumaddons.com" value="<?php echo esc_attr( $settings['premium-wht-lbl-url-pro'] ); ?>">
|
101 |
+
|
102 |
+
<label for="premium-wht-lbl-plugin-name-pro" class="pa-input-label"><?php echo __('Plugin Name', 'premium-addons-for-elementor'); ?></label>
|
103 |
+
<input name="premium-wht-lbl-plugin-name-pro" id="premium-wht-lbl-plugin-name-pro" type="text" placeholder="Premium Addons PRO for Elementor" value="<?php echo esc_attr( $settings['premium-wht-lbl-plugin-name-pro'] ); ?>">
|
104 |
+
|
105 |
+
<label for="premium-wht-lbl-desc-rpo" class="pa-input-label"><?php echo __('Plugin Description', 'premium-addons-for-elementor'); ?></label>
|
106 |
+
<input name="premium-wht-lbl-desc-pro" id="premium-wht-lbl-desc-pro" type="text" placeholder="Premium Addons PRO Plugin Includes 33+ premium widgets & addons..." value="<?php echo esc_attr( $settings['premium-wht-lbl-desc-pro'] ); ?>">
|
107 |
+
|
108 |
+
<p class="pa-input-label"><?php echo __('Hide Plugin Changelog Link', 'premium-addons-for-elementor'); ?></p>
|
109 |
+
<input name="premium-wht-lbl-changelog" id="premium-wht-lbl-changelog" type="checkbox" <?php checked(1, $settings['premium-wht-lbl-changelog'], true ) ?>>
|
110 |
+
<label for="premium-wht-lbl-changelog"></label>
|
111 |
+
<span><?php echo __('This will hide the Changelog link located on the plugins page.', 'premium-addons-for-elementor'); ?></span>
|
112 |
+
|
113 |
+
</div>
|
114 |
+
</div>
|
115 |
+
<div class="pa-wht-lbl-settings-wrap">
|
116 |
+
<h3 class="pa-wht-lbl-title pa-wht-lbl-head"><?php echo __('General Options', 'premium-addons-for-elementor'); ?></h3>
|
117 |
+
<div class="pa-wht-lbl-group-wrap">
|
118 |
+
<!-- Widgets Category Name -->
|
119 |
+
<label for="premium-wht-lbl-short-name" class="pa-input-label"><?php echo __('Widgets Category Name', 'premium-addons-for-elementor'); ?></label>
|
120 |
+
<input name="premium-wht-lbl-short-name" id="premium-wht-lbl-short-name" type="text" placeholder="Premium Addons" value="<?php echo esc_attr( $settings['premium-wht-lbl-short-name'] ); ?>">
|
121 |
+
<!-- Widgets Prefix -->
|
122 |
+
<label for="premium-wht-lbl-prefix" class="pa-input-label"><?php echo __('Widgets Prefix', 'premium-addons-for-elementor'); ?></label>
|
123 |
+
<input name="premium-wht-lbl-prefix" id="premium-wht-lbl-prefix" type="text" placeholder="Premium" value="<?php echo esc_attr( $settings['premium-wht-lbl-prefix'] ); ?>">
|
124 |
+
<!-- Widgets Badge -->
|
125 |
+
<label for="premium-wht-lbl-badge" class="pa-input-label"><?php echo __('Widgets Badge', 'premium-addons-for-elementor'); ?></label>
|
126 |
+
<input name="premium-wht-lbl-badge" id="premium-wht-lbl-badge" type="text" placeholder="PA" value="<?php echo esc_attr( $settings['premium-wht-lbl-badge'] ); ?>">
|
127 |
+
</div>
|
128 |
+
</div>
|
129 |
+
|
130 |
+
<div class="pa-wht-lbl-save">
|
131 |
+
<input type="submit" value="Save Settings" class="button pa-btn pa-save-button">
|
132 |
+
</div>
|
133 |
+
</div>
|
134 |
+
|
135 |
+
<div class="pa-wht-lbl-admin">
|
136 |
+
<div class="pa-wht-lbl-settings-wrap">
|
137 |
+
<h3 class="pa-wht-lbl-title pa-wht-lbl-head"><?php echo __('Admin Settings', 'premium-addons-for-elementor'); ?></h3>
|
138 |
+
<div class="pa-wht-lbl-group-wrap">
|
139 |
+
<!-- Hide General Tab-->
|
140 |
+
<p class="pa-input-label"><?php echo __('General Tab', 'premium-addons-for-elementor'); ?></p>
|
141 |
+
<input name="premium-wht-lbl-about" id="premium-wht-lbl-about" type="checkbox" <?php checked(1, $settings['premium-wht-lbl-about'], true) ?>>
|
142 |
+
<label for="premium-wht-lbl-about"></label>
|
143 |
+
<span><?php echo __('This will hide the General tab', 'premium-addons-for-elementor'); ?></span>
|
144 |
+
|
145 |
+
<!-- Hide Version Control Tab-->
|
146 |
+
<p class="pa-input-label"><?php echo __('Version Control Tab', 'premium-addons-for-elementor'); ?></p>
|
147 |
+
<input name="premium-wht-lbl-version" id="premium-wht-lbl-version" type="checkbox" <?php checked(1, $settings['premium-wht-lbl-version'], true) ?>>
|
148 |
+
<label for="premium-wht-lbl-version"></label>
|
149 |
+
<span><?php echo __('This will hide the Version Control tab.', 'premium-addons-for-elementor'); ?></span>
|
150 |
+
|
151 |
+
<!-- Hide Logo-->
|
152 |
+
<p class="pa-input-label"><?php echo __('Hide Premium Addons Logo', 'premium-addons-for-elementor'); ?></p>
|
153 |
+
<input name="premium-wht-lbl-logo" id="premium-wht-lbl-logo" type="checkbox" <?php checked(1, $settings['premium-wht-lbl-logo'], true) ?>>
|
154 |
+
<label for="premium-wht-lbl-logo"></label>
|
155 |
+
<span><?php echo __('This will hide Premium Addons logo located on the dashboard.', 'premium-addons-for-elementor'); ?></span>
|
156 |
+
|
157 |
+
<!-- Hide License Tab-->
|
158 |
+
<p class="pa-input-label"><?php echo __('License Tab', 'premium-addons-for-elementor'); ?></p>
|
159 |
+
<input name="premium-wht-lbl-license" id="premium-wht-lbl-license" type="checkbox" <?php checked(1, $settings['premium-wht-lbl-license'], true) ?>>
|
160 |
+
<label for="premium-wht-lbl-license"></label>
|
161 |
+
<span><?php echo __('This will hide the License tab.', 'premium-addons-for-elementor') ;?></span>
|
162 |
+
|
163 |
+
<!-- Hide White Labeling Tab-->
|
164 |
+
|
165 |
+
<p class="pa-input-label"><?php echo __('White Labeling Tab', 'premium-addons-for-elementor'); ?></p>
|
166 |
+
<input name="premium-wht-lbl-option" id="premium-wht-lbl-option" type="checkbox" <?php checked(1, $settings['premium-wht-lbl-option'], true) ?>>
|
167 |
+
<label for="premium-wht-lbl-option"></label>
|
168 |
+
<span><?php echo __('This will hide the White Labeling tab options.', 'premium-addons-for-elementor'); ?></span>
|
169 |
+
|
170 |
+
<p>
|
171 |
+
<strong><?php _e('NOTE: ', 'premium-addons-for-elementor'); ?></strong>
|
172 |
+
<?php echo __('You will need to reactivate Premium Addons PRO for Elementor plugin to be able to reset White Labeling tab options.', 'premium-addons-for-elementor'); ?>
|
173 |
+
</p>
|
174 |
+
</div>
|
175 |
+
</div>
|
176 |
+
</div>
|
177 |
+
<div class="clearfix"></div>
|
178 |
+
</div>
|
179 |
+
</form>
|
180 |
+
</div>
|
181 |
+
</div>
|
182 |
+
</div> <!-- End Section Content -->
|
admin/includes/version-control.php
DELETED
@@ -1,142 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace PremiumAddons\Admin\Includes;
|
4 |
-
|
5 |
-
use PremiumAddons\Helper_Functions;
|
6 |
-
|
7 |
-
if( ! defined( 'ABSPATH' ) ) exit;
|
8 |
-
|
9 |
-
class Version_Control {
|
10 |
-
|
11 |
-
public $pa_beta_keys = [ 'is-beta-tester' ];
|
12 |
-
|
13 |
-
private $pa_beta_default_settings;
|
14 |
-
|
15 |
-
private $pa_beta_settings;
|
16 |
-
|
17 |
-
private $pa_beta_get_settings;
|
18 |
-
|
19 |
-
public function __construct() {
|
20 |
-
|
21 |
-
add_action( 'admin_menu', array ($this,'create_version_control_menu' ), 100 );
|
22 |
-
|
23 |
-
add_action( 'wp_ajax_pa_beta_save_settings', array( $this, 'pa_beta_save_settings' ) );
|
24 |
-
|
25 |
-
}
|
26 |
-
|
27 |
-
|
28 |
-
public function create_version_control_menu() {
|
29 |
-
|
30 |
-
if ( ! Helper_Functions::is_hide_version_control() ) {
|
31 |
-
|
32 |
-
add_submenu_page(
|
33 |
-
'premium-addons',
|
34 |
-
'',
|
35 |
-
__('Version Control','premium-addons-for-elementor'),
|
36 |
-
'manage_options',
|
37 |
-
'premium-addons-version',
|
38 |
-
[$this, 'pa_version_page']
|
39 |
-
);
|
40 |
-
}
|
41 |
-
|
42 |
-
}
|
43 |
-
|
44 |
-
public function pa_version_page() {
|
45 |
-
|
46 |
-
$js_info = array(
|
47 |
-
'ajaxurl' => admin_url( 'admin-ajax.php' ),
|
48 |
-
'nonce' => wp_create_nonce( 'pa-version-control' ),
|
49 |
-
);
|
50 |
-
|
51 |
-
wp_localize_script( 'pa-admin-js', 'settings', $js_info );
|
52 |
-
|
53 |
-
$this->pa_beta_default_settings = array_fill_keys( $this->pa_beta_keys, true );
|
54 |
-
|
55 |
-
$this->pa_beta_get_settings = get_option( 'pa_beta_save_settings', $this->pa_beta_default_settings );
|
56 |
-
|
57 |
-
$pa_beta_new_settings = array_diff_key( $this->pa_beta_default_settings, $this->pa_beta_get_settings );
|
58 |
-
|
59 |
-
if( ! empty( $pa_beta_new_settings ) ) {
|
60 |
-
$pa_beta_updated_settings = array_merge( $this->pa_beta_get_settings, $pa_beta_new_settings );
|
61 |
-
update_option( 'pa_beta_save_settings', $pa_beta_updated_settings );
|
62 |
-
}
|
63 |
-
|
64 |
-
$this->pa_beta_get_settings = get_option( 'pa_beta_save_settings', $this->pa_beta_default_settings );
|
65 |
-
|
66 |
-
?>
|
67 |
-
|
68 |
-
<div class="wrap">
|
69 |
-
<div class="response-wrap"></div>
|
70 |
-
<form action="" method="POST" id="pa-beta-form" name="pa-beta-form">
|
71 |
-
<div class="pa-header-wrapper">
|
72 |
-
<div class="pa-title-left">
|
73 |
-
<h1 class="pa-title-main"><?php echo Helper_Functions::name(); ?></h1>
|
74 |
-
<h3 class="pa-title-sub"><?php echo sprintf(__('Thank you for using %s. This plugin has been developed by %s and we hope you enjoy using it.','premium-addons-for-elementor'), Helper_Functions::name(), Helper_Functions::author() ); ?></h3>
|
75 |
-
</div>
|
76 |
-
<?php if( ! Helper_Functions::is_hide_logo() ) : ?>
|
77 |
-
<div class="pa-title-right">
|
78 |
-
<img class="pa-logo" src="<?php echo PREMIUM_ADDONS_URL . 'admin/images/premium-addons-logo.png'; ?>">
|
79 |
-
</div>
|
80 |
-
<?php endif; ?>
|
81 |
-
</div>
|
82 |
-
<div class="pa-settings-tabs">
|
83 |
-
<div id="pa-maintenance" class="pa-settings-tab">
|
84 |
-
<div class="pa-row">
|
85 |
-
<table class="pa-beta-table">
|
86 |
-
<tr>
|
87 |
-
<th>
|
88 |
-
<h4 class="pa-roll-back"><?php echo __('Rollback to Previous Version', 'premium-addons-for-elementor'); ?></h4>
|
89 |
-
<span class="pa-roll-back-span"><?php echo sprintf( __('Experiencing an issue with Premium Addons for Elementor version %s? Rollback to a previous version before the issue appeared.', 'premium-addons-for-elementor'), PREMIUM_ADDONS_VERSION ); ?></span>
|
90 |
-
</th>
|
91 |
-
</tr>
|
92 |
-
<tr class="pa-roll-row">
|
93 |
-
<th><?php echo __('Rollback Version', 'premium-addons-for-elementor'); ?></th>
|
94 |
-
<td>
|
95 |
-
<div><?php echo sprintf( '<a target="_blank" href="%1$s" class="button pa-btn pa-rollback-button elementor-button-spinner">%2$s</a>', wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ), __('Rollback to Version ' . PREMIUM_ADDONS_STABLE_VERSION, 'premium-addons-for-elementor') ); ?></div>
|
96 |
-
<p class="pa-roll-desc">
|
97 |
-
<span><?php echo __('Warning: Please backup your database before making the rollback.', 'premium-addons-for-elementor'); ?></span>
|
98 |
-
</p>
|
99 |
-
</td>
|
100 |
-
</tr>
|
101 |
-
<tr>
|
102 |
-
<th>
|
103 |
-
<h4 class="pa-beta-test"><?php echo __('Become a Beta Tester', 'premium-addons-for-elementor'); ?></h4>
|
104 |
-
<span class="pa-beta-test-span"><?php echo __('Turn-on Beta Tester, to get notified when a new beta version of Premium Addons for Elementor. The Beta version will not install automatically. You always have the option to ignore it.', 'premium-addons-for-elementor'); ?></span>
|
105 |
-
</th>
|
106 |
-
</tr>
|
107 |
-
<tr class="pa-beta-row">
|
108 |
-
<th><?php echo __('Beta Tester','premium-addons-for-elementor'); ?></th>
|
109 |
-
<td>
|
110 |
-
<div><input name="is-beta-tester" id="is-beta-tester" type="checkbox" <?php checked(1, $this->pa_beta_get_settings['is-beta-tester'], true) ?>><span><?php echo __('Check this box to get updates for beta versions','premium-addons-for-elementor'); ?></span></div>
|
111 |
-
<p class="pa-beta-desc"><span><?php echo __('Please Note: We do not recommend updating to a beta version on production sites.', 'premium-addons-for-elementor'); ?></span></p>
|
112 |
-
</td>
|
113 |
-
</tr>
|
114 |
-
</table>
|
115 |
-
<input type="submit" value="<?php echo __('Save Settings', 'premium-addons-for-elementor'); ?>" class="button pa-btn pa-save-button">
|
116 |
-
</div>
|
117 |
-
</div>
|
118 |
-
</div>
|
119 |
-
</form>
|
120 |
-
</div>
|
121 |
-
|
122 |
-
<?php }
|
123 |
-
|
124 |
-
public function pa_beta_save_settings() {
|
125 |
-
|
126 |
-
check_ajax_referer('pa-version-control', 'security');
|
127 |
-
|
128 |
-
if( isset( $_POST['fields'] ) ) {
|
129 |
-
parse_str( $_POST['fields'], $settings );
|
130 |
-
} else {
|
131 |
-
return;
|
132 |
-
}
|
133 |
-
|
134 |
-
$this->pa_beta_settings = array(
|
135 |
-
'is-beta-tester' => intval( $settings['is-beta-tester'] ? 1 : 0 ),
|
136 |
-
);
|
137 |
-
|
138 |
-
update_option( 'pa_beta_save_settings', $this->pa_beta_settings );
|
139 |
-
|
140 |
-
return true;
|
141 |
-
}
|
142 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
admin/settings/maps.php
DELETED
@@ -1,182 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace PremiumAddons\Admin\Settings;
|
4 |
-
|
5 |
-
use PremiumAddons\Helper_Functions;
|
6 |
-
|
7 |
-
if( ! defined( 'ABSPATH' ) ) exit;
|
8 |
-
|
9 |
-
class Maps {
|
10 |
-
|
11 |
-
public static $pa_maps_keys = [ 'premium-map-api', 'premium-map-disable-api', 'premium-map-cluster', 'premium-map-locale' ];
|
12 |
-
|
13 |
-
private $pa_maps_default_settings;
|
14 |
-
|
15 |
-
private $pa_maps_settings;
|
16 |
-
|
17 |
-
private $pa_maps_get_settings;
|
18 |
-
|
19 |
-
public function __construct() {
|
20 |
-
|
21 |
-
add_action( 'admin_menu', array ( $this,'create_maps_menu' ), 100 );
|
22 |
-
|
23 |
-
add_action( 'wp_ajax_pa_maps_save_settings', array( $this, 'pa_save_maps_settings' ) );
|
24 |
-
|
25 |
-
}
|
26 |
-
|
27 |
-
public function create_maps_menu() {
|
28 |
-
|
29 |
-
add_submenu_page(
|
30 |
-
'premium-addons',
|
31 |
-
'',
|
32 |
-
__('Google Maps', 'premium-addons-for-elementor'),
|
33 |
-
'manage_options',
|
34 |
-
'premium-addons-maps',
|
35 |
-
[ $this, 'pa_maps_page' ]
|
36 |
-
);
|
37 |
-
|
38 |
-
}
|
39 |
-
|
40 |
-
public function pa_maps_page() {
|
41 |
-
|
42 |
-
$js_info = array(
|
43 |
-
'ajaxurl' => admin_url( 'admin-ajax.php' ),
|
44 |
-
'nonce' => wp_create_nonce( 'pa-maps' ),
|
45 |
-
);
|
46 |
-
|
47 |
-
wp_localize_script( 'pa-admin-js', 'settings', $js_info );
|
48 |
-
|
49 |
-
$this->pa_maps_default_settings = $this->get_default_keys();
|
50 |
-
|
51 |
-
$this->pa_maps_get_settings = $this->get_enabled_keys();
|
52 |
-
|
53 |
-
$pa_maps_new_settings = array_diff_key( $this->pa_maps_default_settings, $this->pa_maps_get_settings );
|
54 |
-
|
55 |
-
if( ! empty( $pa_maps_new_settings ) ) {
|
56 |
-
$pa_maps_updated_settings = array_merge( $this->pa_maps_get_settings, $pa_maps_new_settings );
|
57 |
-
update_option( 'pa_maps_save_settings', $pa_maps_updated_settings );
|
58 |
-
}
|
59 |
-
|
60 |
-
$this->pa_maps_get_settings = get_option( 'pa_maps_save_settings', $this->pa_maps_default_settings );
|
61 |
-
|
62 |
-
$settings = $this->pa_maps_get_settings;
|
63 |
-
|
64 |
-
$locales = Helper_Functions::get_google_maps_prefixes();
|
65 |
-
|
66 |
-
?>
|
67 |
-
<div class="wrap">
|
68 |
-
<div class="response-wrap"></div>
|
69 |
-
<form action="" method="POST" id="pa-maps" name="pa-maps">
|
70 |
-
<div class="pa-header-wrapper">
|
71 |
-
<div class="pa-title-left">
|
72 |
-
<h1 class="pa-title-main"><?php echo Helper_Functions::name(); ?></h1>
|
73 |
-
<h3 class="pa-title-sub"><?php echo sprintf(__('Thank you for using %s. This plugin has been developed by %s and we hope you enjoy using it.','premium-addons-for-elementor'), Helper_Functions::name(), Helper_Functions::author()); ?></h3>
|
74 |
-
</div>
|
75 |
-
<?php if( ! Helper_Functions::is_hide_logo()) : ?>
|
76 |
-
<div class="pa-title-right">
|
77 |
-
<img class="pa-logo" src="<?php echo PREMIUM_ADDONS_URL . 'admin/images/premium-addons-logo.png';?>">
|
78 |
-
</div>
|
79 |
-
<?php endif; ?>
|
80 |
-
</div>
|
81 |
-
<div class="pa-settings-tabs">
|
82 |
-
<div id="pa-maps-api" class="pa-maps-tab">
|
83 |
-
<div class="pa-row">
|
84 |
-
<table class="pa-maps-table">
|
85 |
-
<tr>
|
86 |
-
<p class="pa-maps-api-notice">
|
87 |
-
<?php echo esc_html( Helper_Functions::get_prefix() ) . __(' Maps Element requires Google API key to be entered below. If you don’t have one, click ', 'premium-addons-for-elementor'); ?><a href="https://premiumaddons.com/docs/getting-your-api-key-for-google-reviews/" target="_blank"><?php echo __('here', 'premium-addons-for-elementor'); ?></a><?php echo __(' to get your key.', 'premium-addons-for-elementor'); ?>
|
88 |
-
</p>
|
89 |
-
</tr>
|
90 |
-
<tr>
|
91 |
-
<td>
|
92 |
-
<h4 class="pa-api-title"><?php echo __('Google Maps API Key:', 'premium-addons-for-elementor'); ?></h4>
|
93 |
-
</td>
|
94 |
-
<td>
|
95 |
-
<input name="premium-map-api" id="premium-map-api" type="text" placeholder="API Key" value="<?php echo esc_attr( $settings['premium-map-api'] ); ?>">
|
96 |
-
</td>
|
97 |
-
</tr>
|
98 |
-
<tr>
|
99 |
-
<td>
|
100 |
-
<h4 class="pa-api-disable-title"><?php echo __('Google Maps Localization Language:', 'premium-addons-for-elementor'); ?></h4>
|
101 |
-
</td>
|
102 |
-
<td>
|
103 |
-
<select name="premium-map-locale" id="premium-map-locale" class="placeholder placeholder-active">
|
104 |
-
<option value=""><?php _e( 'Default', 'premium-addons-for-elementor' ); ?></option>
|
105 |
-
<?php foreach ( $locales as $key => $value ) { ?>
|
106 |
-
<?php
|
107 |
-
$selected = '';
|
108 |
-
if ( $key === $settings['premium-map-locale'] ) {
|
109 |
-
$selected = 'selected="selected" ';
|
110 |
-
}
|
111 |
-
?>
|
112 |
-
<option value="<?php echo esc_attr( $key ); ?>" <?php echo $selected; ?>><?php echo esc_attr( $value ); ?></option>
|
113 |
-
<?php } ?>
|
114 |
-
</select>
|
115 |
-
</td>
|
116 |
-
</tr>
|
117 |
-
<tr>
|
118 |
-
<td>
|
119 |
-
<h4 class="pa-api-disable-title"><?php echo __('Load Maps API JS File:','premium-addons-for-elementor'); ?></h4>
|
120 |
-
</td>
|
121 |
-
<td>
|
122 |
-
<input name="premium-map-disable-api" id="premium-map-disable-api" type="checkbox" <?php checked(1, $settings['premium-map-disable-api'], true) ?>><span><?php echo __('This will load API JS file if it\'s not loaded by another theme or plugin', 'premium-addons-for-elementor'); ?></span>
|
123 |
-
</td>
|
124 |
-
</tr>
|
125 |
-
<tr>
|
126 |
-
<td>
|
127 |
-
<h4 class="pa-api-disable-title"><?php echo __('Load Markers Clustering JS File:','premium-addons-for-elementor'); ?></h4>
|
128 |
-
</td>
|
129 |
-
<td>
|
130 |
-
<input name="premium-map-cluster" id="premium-map-cluster" type="checkbox" <?php checked(1, $settings['premium-map-cluster'], true) ?>><span><?php echo __('This will load the JS file for markers clusters', 'premium-addons-for-elementor'); ?></span>
|
131 |
-
</td>
|
132 |
-
</tr>
|
133 |
-
</table>
|
134 |
-
<input type="submit" value="<?php echo __('Save Settings', 'premium-addons-for-elementor'); ?>" class="button pa-btn pa-save-button">
|
135 |
-
<?php if( ! Helper_Functions::is_hide_rate() ) : ?>
|
136 |
-
<div>
|
137 |
-
<p><?php echo __('Did you like Premium Addons for Elementor Plugin? Please ', 'premium-addons-for-elementor'); ?><a href="https://wordpress.org/support/plugin/premium-addons-for-elementor/reviews/#new-post" target="_blank"><?php echo __('Click Here to Rate it ★★★★★', 'premium-addons-for-elementor'); ?></a></p>
|
138 |
-
</div>
|
139 |
-
<?php endif; ?>
|
140 |
-
</div>
|
141 |
-
</div>
|
142 |
-
</div>
|
143 |
-
</form>
|
144 |
-
</div>
|
145 |
-
<?php }
|
146 |
-
|
147 |
-
public static function get_default_keys() {
|
148 |
-
|
149 |
-
$default_keys = array_fill_keys( self::$pa_maps_keys, true );
|
150 |
-
|
151 |
-
return $default_keys;
|
152 |
-
}
|
153 |
-
|
154 |
-
public static function get_enabled_keys() {
|
155 |
-
|
156 |
-
$enabled_keys = get_option( 'pa_maps_save_settings', self::get_default_keys() );
|
157 |
-
|
158 |
-
return $enabled_keys;
|
159 |
-
}
|
160 |
-
|
161 |
-
public function pa_save_maps_settings() {
|
162 |
-
|
163 |
-
check_ajax_referer('pa-maps', 'security');
|
164 |
-
|
165 |
-
if( isset( $_POST['fields'] ) ) {
|
166 |
-
parse_str( $_POST['fields'], $settings );
|
167 |
-
} else {
|
168 |
-
return;
|
169 |
-
}
|
170 |
-
|
171 |
-
$this->pa_maps_settings = array(
|
172 |
-
'premium-map-api' => sanitize_text_field( $settings['premium-map-api'] ),
|
173 |
-
'premium-map-disable-api' => intval( $settings['premium-map-disable-api'] ? 1 : 0 ),
|
174 |
-
'premium-map-cluster' => intval( $settings['premium-map-cluster'] ? 1 : 0 ),
|
175 |
-
'premium-map-locale' => sanitize_text_field( $settings['premium-map-locale'] )
|
176 |
-
);
|
177 |
-
|
178 |
-
update_option( 'pa_maps_save_settings', $this->pa_maps_settings );
|
179 |
-
|
180 |
-
return true;
|
181 |
-
}
|
182 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
admin/settings/modules-setting.php
DELETED
@@ -1,820 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace PremiumAddons\Admin\Settings;
|
4 |
-
|
5 |
-
use PremiumAddons\Helper_Functions;
|
6 |
-
|
7 |
-
if( ! defined( 'ABSPATH' ) ) exit(); // Exit if accessed directly
|
8 |
-
|
9 |
-
class Modules_Settings {
|
10 |
-
|
11 |
-
protected $page_slug = 'premium-addons';
|
12 |
-
|
13 |
-
public static $pa_elements_keys = ['premium-banner', 'premium-blog', 'premium-carousel', 'premium-countdown', 'premium-counter', 'premium-dual-header', 'premium-fancytext', 'premium-image-separator', 'premium-lottie', 'premium-maps', 'premium-modalbox', 'premium-person', 'premium-progressbar', 'premium-testimonials', 'premium-title', 'premium-videobox', 'premium-pricing-table', 'premium-button', 'premium-contactform', 'premium-image-button', 'premium-grid', 'premium-vscroll', 'premium-image-scroll', 'premium-templates', 'premium-duplicator' ];
|
14 |
-
|
15 |
-
private $pa_default_settings;
|
16 |
-
|
17 |
-
private $pa_settings;
|
18 |
-
|
19 |
-
private $pa_get_settings;
|
20 |
-
|
21 |
-
public function __construct() {
|
22 |
-
|
23 |
-
add_action( 'admin_menu', array( $this,'pa_admin_menu') );
|
24 |
-
|
25 |
-
add_action( 'admin_enqueue_scripts', array( $this, 'pa_admin_page_scripts' ) );
|
26 |
-
|
27 |
-
add_action( 'wp_ajax_pa_save_admin_addons_settings', array( $this, 'pa_save_settings' ) );
|
28 |
-
|
29 |
-
add_action( 'admin_enqueue_scripts',array( $this, 'localize_js_script' ) );
|
30 |
-
|
31 |
-
}
|
32 |
-
|
33 |
-
public function localize_js_script(){
|
34 |
-
wp_localize_script(
|
35 |
-
'pa-admin-js',
|
36 |
-
'premiumRollBackConfirm',
|
37 |
-
[
|
38 |
-
'home_url' => home_url(),
|
39 |
-
'i18n' => [
|
40 |
-
'rollback_confirm' => __( 'Are you sure you want to reinstall version ' . PREMIUM_ADDONS_STABLE_VERSION . ' ?', 'premium-addons-for-elementor' ),
|
41 |
-
'rollback_to_previous_version' => __( 'Rollback to Previous Version', 'premium-addons-for-elementor' ),
|
42 |
-
'yes' => __( 'Yes', 'premium-addons-for-elementor' ),
|
43 |
-
'cancel' => __( 'Cancel', 'premium-addons-for-elementor' ),
|
44 |
-
],
|
45 |
-
]
|
46 |
-
);
|
47 |
-
}
|
48 |
-
|
49 |
-
public function pa_admin_page_scripts () {
|
50 |
-
|
51 |
-
wp_enqueue_style( 'pa_admin_icon', PREMIUM_ADDONS_URL .'admin/assets/fonts/style.css' );
|
52 |
-
|
53 |
-
$suffix = is_rtl() ? '-rtl' : '';
|
54 |
-
|
55 |
-
$current_screen = get_current_screen();
|
56 |
-
|
57 |
-
wp_enqueue_style(
|
58 |
-
'pa-notice-css',
|
59 |
-
PREMIUM_ADDONS_URL . 'admin/assets/css/notice' . $suffix . '.css'
|
60 |
-
);
|
61 |
-
|
62 |
-
if( strpos( $current_screen->id , $this->page_slug ) !== false ) {
|
63 |
-
|
64 |
-
wp_enqueue_style(
|
65 |
-
'pa-admin-css',
|
66 |
-
PREMIUM_ADDONS_URL.'admin/assets/css/admin' . $suffix . '.css'
|
67 |
-
);
|
68 |
-
|
69 |
-
wp_enqueue_style(
|
70 |
-
'pa-sweetalert-style',
|
71 |
-
PREMIUM_ADDONS_URL . 'admin/assets/js/sweetalert2/sweetalert2.min.css'
|
72 |
-
);
|
73 |
-
|
74 |
-
wp_enqueue_script(
|
75 |
-
'pa-admin-js',
|
76 |
-
PREMIUM_ADDONS_URL .'admin/assets/js/admin.js',
|
77 |
-
array('jquery'),
|
78 |
-
PREMIUM_ADDONS_VERSION,
|
79 |
-
true
|
80 |
-
);
|
81 |
-
|
82 |
-
wp_enqueue_script(
|
83 |
-
'pa-admin-dialog',
|
84 |
-
PREMIUM_ADDONS_URL . 'admin/assets/js/dialog/dialog.js',
|
85 |
-
array('jquery-ui-position'),
|
86 |
-
PREMIUM_ADDONS_VERSION,
|
87 |
-
true
|
88 |
-
);
|
89 |
-
|
90 |
-
wp_enqueue_script(
|
91 |
-
'pa-sweetalert-core',
|
92 |
-
PREMIUM_ADDONS_URL . 'admin/assets/js/sweetalert2/core.js',
|
93 |
-
array('jquery'),
|
94 |
-
PREMIUM_ADDONS_VERSION,
|
95 |
-
true
|
96 |
-
);
|
97 |
-
|
98 |
-
wp_enqueue_script(
|
99 |
-
'pa-sweetalert',
|
100 |
-
PREMIUM_ADDONS_URL . 'admin/assets/js/sweetalert2/sweetalert2.min.js',
|
101 |
-
array( 'jquery', 'pa-sweetalert-core' ),
|
102 |
-
PREMIUM_ADDONS_VERSION,
|
103 |
-
true
|
104 |
-
);
|
105 |
-
|
106 |
-
}
|
107 |
-
}
|
108 |
-
|
109 |
-
public function pa_admin_menu() {
|
110 |
-
|
111 |
-
$plugin_name = 'Premium Addons for Elementor';
|
112 |
-
|
113 |
-
if( Helper_Functions::check_papro_version() ) {
|
114 |
-
if( isset( get_option( 'pa_wht_lbl_save_settings' )['premium-wht-lbl-plugin-name'] ) ) {
|
115 |
-
$name = get_option( 'pa_wht_lbl_save_settings' )['premium-wht-lbl-plugin-name'];
|
116 |
-
if( '' !== $name )
|
117 |
-
$plugin_name = $name;
|
118 |
-
}
|
119 |
-
|
120 |
-
}
|
121 |
-
|
122 |
-
add_menu_page(
|
123 |
-
$plugin_name,
|
124 |
-
$plugin_name,
|
125 |
-
'manage_options',
|
126 |
-
'premium-addons',
|
127 |
-
array( $this , 'pa_admin_page' ),
|
128 |
-
'' ,
|
129 |
-
100
|
130 |
-
);
|
131 |
-
}
|
132 |
-
|
133 |
-
public function pa_admin_page() {
|
134 |
-
|
135 |
-
$theme_slug = Helper_Functions::get_installed_theme();
|
136 |
-
|
137 |
-
$js_info = array(
|
138 |
-
'ajaxurl' => admin_url( 'admin-ajax.php' ),
|
139 |
-
'nonce' => wp_create_nonce( 'pa-elements' ),
|
140 |
-
'theme' => $theme_slug
|
141 |
-
);
|
142 |
-
|
143 |
-
wp_localize_script( 'pa-admin-js', 'settings', $js_info );
|
144 |
-
|
145 |
-
$this->pa_default_settings = $this->get_default_keys();
|
146 |
-
|
147 |
-
$this->pa_get_settings = $this->get_enabled_keys();
|
148 |
-
|
149 |
-
$pa_new_settings = array_diff_key( $this->pa_default_settings, $this->pa_get_settings );
|
150 |
-
|
151 |
-
if( ! empty( $pa_new_settings ) ) {
|
152 |
-
$pa_updated_settings = array_merge( $this->pa_get_settings, $pa_new_settings );
|
153 |
-
update_option( 'pa_save_settings', $pa_updated_settings );
|
154 |
-
}
|
155 |
-
$this->pa_get_settings = get_option( 'pa_save_settings', $this->pa_default_settings );
|
156 |
-
|
157 |
-
$prefix = Helper_Functions::get_prefix();
|
158 |
-
|
159 |
-
?>
|
160 |
-
<div class="wrap">
|
161 |
-
<div class="response-wrap"></div>
|
162 |
-
<form action="" method="POST" id="pa-settings" name="pa-settings">
|
163 |
-
<div class="pa-header-wrapper">
|
164 |
-
<div class="pa-title-left">
|
165 |
-
<h1 class="pa-title-main"><?php echo Helper_Functions::name(); ?></h1>
|
166 |
-
<h3 class="pa-title-sub"><?php echo sprintf(__('Thank you for using %s. This plugin has been developed by %s and we hope you enjoy using it.','premium-addons-for-elementor'), Helper_Functions::name(), Helper_Functions::author() ); ?></h3>
|
167 |
-
</div>
|
168 |
-
<?php if( ! Helper_Functions::is_hide_logo() ) : ?>
|
169 |
-
<div class="pa-title-right">
|
170 |
-
<img class="pa-logo" src="<?php echo PREMIUM_ADDONS_URL . 'admin/images/premium-addons-logo.png';?>">
|
171 |
-
</div>
|
172 |
-
<?php endif; ?>
|
173 |
-
</div>
|
174 |
-
<div class="pa-settings-tabs">
|
175 |
-
<div id="pa-modules" class="pa-settings-tab">
|
176 |
-
<div>
|
177 |
-
<br>
|
178 |
-
<input type="checkbox" class="pa-checkbox" checked="checked">
|
179 |
-
<label>Enable/Disable All</label>
|
180 |
-
</div>
|
181 |
-
<table class="pa-elements-table">
|
182 |
-
<tbody>
|
183 |
-
<tr>
|
184 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Banner', 'premium-addons-for-elementor') ); ?></th>
|
185 |
-
<td>
|
186 |
-
<label class="switch">
|
187 |
-
<input type="checkbox" id="premium-banner" name="premium-banner" <?php checked(1, $this->pa_get_settings['premium-banner'], true) ?>>
|
188 |
-
<span class="slider round"></span>
|
189 |
-
</label>
|
190 |
-
</td>
|
191 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Blog', 'premium-addons-for-elementor') ); ?></th>
|
192 |
-
<td>
|
193 |
-
<label class="switch">
|
194 |
-
<input type="checkbox" id="premium-blog" name="premium-blog" <?php checked(1, $this->pa_get_settings['premium-blog'], true) ?>>
|
195 |
-
<span class="slider round"></span>
|
196 |
-
</label>
|
197 |
-
</td>
|
198 |
-
</tr>
|
199 |
-
|
200 |
-
<tr>
|
201 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Button', 'premium-addons-for-elementor') ); ?></th>
|
202 |
-
<td>
|
203 |
-
<label class="switch">
|
204 |
-
<input type="checkbox" id="premium-button" name="premium-button" <?php checked(1, $this->pa_get_settings['premium-button'], true) ?>>
|
205 |
-
<span class="slider round"></span>
|
206 |
-
</label>
|
207 |
-
</td>
|
208 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Carousel', 'premium-addons-for-elementor') ); ?></th>
|
209 |
-
<td>
|
210 |
-
<label class="switch">
|
211 |
-
<input type="checkbox" id="premium-carousel" name="premium-carousel" <?php checked(1, $this->pa_get_settings['premium-carousel'], true) ?>>
|
212 |
-
<span class="slider round"></span>
|
213 |
-
</label>
|
214 |
-
</td>
|
215 |
-
</tr>
|
216 |
-
|
217 |
-
<tr>
|
218 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Contact Form7', 'premium-addons-for-elementor') ); ?></th>
|
219 |
-
<td>
|
220 |
-
<label class="switch">
|
221 |
-
<input type="checkbox" id="premium-contactform" name="premium-contactform" <?php checked(1, $this->pa_get_settings['premium-contactform'], true) ?>>
|
222 |
-
<span class="slider round"></span>
|
223 |
-
</label>
|
224 |
-
</td>
|
225 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Countdown', 'premium-addons-for-elementor') ); ?></th>
|
226 |
-
<td>
|
227 |
-
<label class="switch">
|
228 |
-
<input type="checkbox" id="premium-countdown" name="premium-countdown" <?php checked(1, $this->pa_get_settings['premium-countdown'], true) ?>>
|
229 |
-
<span class="slider round"></span>
|
230 |
-
</label>
|
231 |
-
</td>
|
232 |
-
</tr>
|
233 |
-
|
234 |
-
<tr>
|
235 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Counter', 'premium-addons-for-elementor') ); ?></th>
|
236 |
-
<td>
|
237 |
-
<label class="switch">
|
238 |
-
<input type="checkbox" id="premium-counter" name="premium-counter" <?php checked(1, $this->pa_get_settings['premium-counter'], true) ?>>
|
239 |
-
<span class="slider round"></span>
|
240 |
-
</label>
|
241 |
-
</td>
|
242 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Dual Heading', 'premium-addons-for-elementor') ); ?></th>
|
243 |
-
<td>
|
244 |
-
<label class="switch">
|
245 |
-
<input type="checkbox" id="premium-dual-header" name="premium-dual-header" <?php checked(1, $this->pa_get_settings['premium-dual-header'], true) ?>>
|
246 |
-
<span class="slider round"></span>
|
247 |
-
</label>
|
248 |
-
</td>
|
249 |
-
</tr>
|
250 |
-
|
251 |
-
<tr>
|
252 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Fancy Text', 'premium-addons-for-elementor') ); ?></th>
|
253 |
-
<td>
|
254 |
-
<label class="switch">
|
255 |
-
<input type="checkbox" id="premium-fancytext" name="premium-fancytext" <?php checked(1, $this->pa_get_settings['premium-fancytext'], true) ?>>
|
256 |
-
<span class="slider round"></span>
|
257 |
-
</label>
|
258 |
-
</td>
|
259 |
-
|
260 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Media Grid', 'premium-addons-for-elementor') ); ?></th>
|
261 |
-
<td>
|
262 |
-
<label class="switch">
|
263 |
-
<input type="checkbox" id="premium-grid" name="premium-grid" <?php checked(1, $this->pa_get_settings['premium-grid'], true) ?>>
|
264 |
-
<span class="slider round"></span>
|
265 |
-
</label>
|
266 |
-
</td>
|
267 |
-
</tr>
|
268 |
-
|
269 |
-
<tr>
|
270 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Image Button', 'premium-addons-for-elementor') ); ?></th>
|
271 |
-
<td>
|
272 |
-
<label class="switch">
|
273 |
-
<input type="checkbox" id="premium-image-button" name="premium-image-button" <?php checked(1, $this->pa_get_settings['premium-image-button'], true) ?>>
|
274 |
-
<span class="slider round"></span>
|
275 |
-
</label>
|
276 |
-
</td>
|
277 |
-
|
278 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Image Scroll', 'premium-addons-for-elementor') ); ?></th>
|
279 |
-
<td>
|
280 |
-
<label class="switch">
|
281 |
-
<input type="checkbox" id="premium-image-scroll" name="premium-image-scroll" <?php checked(1, $this->pa_get_settings['premium-image-scroll'], true) ?>>
|
282 |
-
<span class="slider round"></span>
|
283 |
-
</label>
|
284 |
-
</td>
|
285 |
-
</tr>
|
286 |
-
|
287 |
-
<tr>
|
288 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Image Separator', 'premium-addons-for-elementor') ); ?></th>
|
289 |
-
<td>
|
290 |
-
<label class="switch">
|
291 |
-
<input type="checkbox" id="premium-image-separator" name="premium-image-separator" <?php checked(1, $this->pa_get_settings['premium-image-separator'], true) ?>>
|
292 |
-
<span class="slider round"></span>
|
293 |
-
</label>
|
294 |
-
</td>
|
295 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Lottie Animations', 'premium-addons-for-elementor') ); ?></th>
|
296 |
-
<td>
|
297 |
-
<label class="switch">
|
298 |
-
<input type="checkbox" id="premium-lottie" name="premium-lottie" <?php checked(1, $this->pa_get_settings['premium-lottie'], true) ?>>
|
299 |
-
<span class="slider round"></span>
|
300 |
-
</label>
|
301 |
-
</td>
|
302 |
-
</tr>
|
303 |
-
|
304 |
-
<tr>
|
305 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Maps', 'premium-addons-for-elementor') ); ?></th>
|
306 |
-
<td>
|
307 |
-
<label class="switch">
|
308 |
-
<input type="checkbox" id="premium-maps" name="premium-maps" <?php checked(1, $this->pa_get_settings['premium-maps'], true) ?>>
|
309 |
-
<span class="slider round"></span>
|
310 |
-
</label>
|
311 |
-
</td>
|
312 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Modal Box', 'premium-addons-for-elementor') ); ?></th>
|
313 |
-
<td>
|
314 |
-
<label class="switch">
|
315 |
-
<input type="checkbox" id="premium-modalbox" name="premium-modalbox" <?php checked(1, $this->pa_get_settings['premium-modalbox'], true) ?>>
|
316 |
-
<span class="slider round"></span>
|
317 |
-
</label>
|
318 |
-
</td>
|
319 |
-
</tr>
|
320 |
-
|
321 |
-
<tr>
|
322 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Team Members', 'premium-addons-for-elementor') ); ?></th>
|
323 |
-
<td>
|
324 |
-
<label class="switch">
|
325 |
-
<input type="checkbox" id="premium-person" name="premium-person" <?php checked(1, $this->pa_get_settings['premium-person'], true) ?>>
|
326 |
-
<span class="slider round"></span>
|
327 |
-
</label>
|
328 |
-
</td>
|
329 |
-
|
330 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Progress Bar', 'premium-addons-for-elementor') ); ?></th>
|
331 |
-
<td>
|
332 |
-
<label class="switch">
|
333 |
-
<input type="checkbox" id="premium-progressbar" name="premium-progressbar" <?php checked(1, $this->pa_get_settings['premium-progressbar'], true) ?>>
|
334 |
-
<span class="slider round"></span>
|
335 |
-
</label>
|
336 |
-
</td>
|
337 |
-
</tr>
|
338 |
-
|
339 |
-
<tr>
|
340 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Pricing Table', 'premium-addons-for-elementor') ); ?></th>
|
341 |
-
<td>
|
342 |
-
<label class="switch">
|
343 |
-
<input type="checkbox" id="premium-pricing-table" name="premium-pricing-table" <?php checked(1, $this->pa_get_settings['premium-pricing-table'], true) ?>>
|
344 |
-
<span class="slider round"></span>
|
345 |
-
</label>
|
346 |
-
</td>
|
347 |
-
|
348 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Testimonials', 'premium-addons-for-elementor') ); ?></th>
|
349 |
-
<td>
|
350 |
-
<label class="switch">
|
351 |
-
<input type="checkbox" id="premium-testimonials" name="premium-testimonials" <?php checked(1, $this->pa_get_settings['premium-testimonials'], true) ?>>
|
352 |
-
<span class="slider round"></span>
|
353 |
-
</label>
|
354 |
-
</td>
|
355 |
-
</tr>
|
356 |
-
|
357 |
-
<tr>
|
358 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Title', 'premium-addons-for-elementor') ); ?></th>
|
359 |
-
<td>
|
360 |
-
<label class="switch">
|
361 |
-
<input type="checkbox" id="premium-title" name="premium-title" <?php checked(1, $this->pa_get_settings['premium-title'], true) ?>>
|
362 |
-
<span class="slider round"></span>
|
363 |
-
</label>
|
364 |
-
</td>
|
365 |
-
|
366 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Video Box', 'premium-addons-for-elementor') ); ?></th>
|
367 |
-
<td>
|
368 |
-
<label class="switch">
|
369 |
-
<input type="checkbox" id="premium-videobox" name="premium-videobox" <?php checked(1, $this->pa_get_settings['premium-videobox'], true) ?>>
|
370 |
-
<span class="slider round"></span>
|
371 |
-
</label>
|
372 |
-
</td>
|
373 |
-
</tr>
|
374 |
-
|
375 |
-
<tr>
|
376 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Vertical Scroll', 'premium-addons-for-elementor') ); ?></th>
|
377 |
-
<td>
|
378 |
-
<label class="switch">
|
379 |
-
<input type="checkbox" id="premium-vscroll" name="premium-vscroll" <?php checked(1, $this->pa_get_settings['premium-vscroll'], true) ?>>
|
380 |
-
<span class="slider round"></span>
|
381 |
-
</label>
|
382 |
-
</td>
|
383 |
-
</tr>
|
384 |
-
|
385 |
-
<tr>
|
386 |
-
|
387 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Duplicator', 'premium-addons-for-elementor') ); ?></th>
|
388 |
-
<td>
|
389 |
-
<label class="switch">
|
390 |
-
<input type="checkbox" id="premium-duplicator" name="premium-duplicator" <?php checked(1, $this->pa_get_settings['premium-duplicator'], true) ?>>
|
391 |
-
<span class="slider round"></span>
|
392 |
-
</label>
|
393 |
-
</td>
|
394 |
-
|
395 |
-
<th><?php echo sprintf( '%1$s %2$s', $prefix, __('Templates', 'premium-addons-for-elementor') ); ?></th>
|
396 |
-
<td>
|
397 |
-
<label class="switch">
|
398 |
-
<input type="checkbox" id="premium-templates" name="premium-templates" <?php checked(1, $this->pa_get_settings['premium-templates'], true) ?>>
|
399 |
-
<span class="slider round"></span>
|
400 |
-
</label>
|
401 |
-
</td>
|
402 |
-
|
403 |
-
</tr>
|
404 |
-
|
405 |
-
<?php if( ! Helper_Functions::check_papro_version() ) : ?>
|
406 |
-
<tr class="pa-sec-elems-tr"><th><h1>PRO Elements</h1></th></tr>
|
407 |
-
|
408 |
-
<tr>
|
409 |
-
|
410 |
-
<th><?php echo __('Premium Alert Box', 'premium-addons-for-elementor'); ?></th>
|
411 |
-
<td>
|
412 |
-
<label class="switch">
|
413 |
-
<input type="checkbox">
|
414 |
-
<span class="pro-slider round"></span>
|
415 |
-
</label>
|
416 |
-
</td>
|
417 |
-
|
418 |
-
<th><?php echo __('Premium Behance Feed', 'premium-addons-for-elementor'); ?></th>
|
419 |
-
<td>
|
420 |
-
<label class="switch">
|
421 |
-
<input type="checkbox">
|
422 |
-
<span class="pro-slider round"></span>
|
423 |
-
</label>
|
424 |
-
</td>
|
425 |
-
|
426 |
-
</tr>
|
427 |
-
|
428 |
-
<tr>
|
429 |
-
|
430 |
-
<th><?php echo __('Premium Charts', 'premium-addons-for-elementor'); ?></th>
|
431 |
-
<td>
|
432 |
-
<label class="switch">
|
433 |
-
<input type="checkbox">
|
434 |
-
<span class="pro-slider round"></span>
|
435 |
-
</label>
|
436 |
-
</td>
|
437 |
-
|
438 |
-
<th><?php echo __('Premium Content Switcher', 'premium-addons-for-elementor'); ?></th>
|
439 |
-
<td>
|
440 |
-
<label class="switch">
|
441 |
-
<input type="checkbox">
|
442 |
-
<span class="pro-slider round"></span>
|
443 |
-
</label>
|
444 |
-
</td>
|
445 |
-
|
446 |
-
</tr>
|
447 |
-
|
448 |
-
<tr>
|
449 |
-
<th><?php echo __('Premium Background Transition', 'premium-addons-for-elementor'); ?></th>
|
450 |
-
<td>
|
451 |
-
<label class="switch">
|
452 |
-
<input type="checkbox">
|
453 |
-
<span class="pro-slider round"></span>
|
454 |
-
</label>
|
455 |
-
</td>
|
456 |
-
|
457 |
-
<th><?php echo __('Premium Divider', 'premium-addons-for-elementor'); ?></th>
|
458 |
-
<td>
|
459 |
-
<label class="switch">
|
460 |
-
<input type="checkbox">
|
461 |
-
<span class="pro-slider round"></span>
|
462 |
-
</label>
|
463 |
-
</td>
|
464 |
-
</tr>
|
465 |
-
|
466 |
-
<tr>
|
467 |
-
|
468 |
-
<th><?php echo __('Premium Facebook Feed', 'premium-addons-for-elementor'); ?></th>
|
469 |
-
<td>
|
470 |
-
<label class="switch">
|
471 |
-
<input type="checkbox">
|
472 |
-
<span class="pro-slider round"></span>
|
473 |
-
</label>
|
474 |
-
</td>
|
475 |
-
|
476 |
-
<th><?php echo __('Premium Facebook Reviews', 'premium-addons-for-elementor'); ?></th>
|
477 |
-
<td>
|
478 |
-
<label class="switch">
|
479 |
-
<input type="checkbox">
|
480 |
-
<span class="pro-slider round"></span>
|
481 |
-
</label>
|
482 |
-
</td>
|
483 |
-
</tr>
|
484 |
-
|
485 |
-
<tr>
|
486 |
-
<th><?php echo __('Premium Flip Box', 'premium-addons-for-elementor'); ?></th>
|
487 |
-
<td>
|
488 |
-
<label class="switch">
|
489 |
-
<input type="checkbox">
|
490 |
-
<span class="pro-slider round"></span>
|
491 |
-
</label>
|
492 |
-
</td>
|
493 |
-
|
494 |
-
<th><?php echo __('Premium Google Reviews', 'premium-addons-for-elementor'); ?></th>
|
495 |
-
<td>
|
496 |
-
<label class="switch">
|
497 |
-
<input type="checkbox">
|
498 |
-
<span class="pro-slider round"></span>
|
499 |
-
</label>
|
500 |
-
</td>
|
501 |
-
</tr>
|
502 |
-
|
503 |
-
<tr>
|
504 |
-
<th><?php echo __('Premium Horizontal Scroll', 'premium-addons-for-elementor'); ?></th>
|
505 |
-
<td>
|
506 |
-
<label class="switch">
|
507 |
-
<input type="checkbox">
|
508 |
-
<span class="pro-slider round"></span>
|
509 |
-
</label>
|
510 |
-
</td>
|
511 |
-
|
512 |
-
<th><?php echo __('Premium Icon Box', 'premium-addons-for-elementor'); ?></th>
|
513 |
-
<td>
|
514 |
-
<label class="switch">
|
515 |
-
<input type="checkbox">
|
516 |
-
<span class="pro-slider round"></span>
|
517 |
-
</label>
|
518 |
-
</td>
|
519 |
-
</tr>
|
520 |
-
|
521 |
-
<tr>
|
522 |
-
<th><?php echo __('Premium iHover', 'premium-addons-for-elementor'); ?></th>
|
523 |
-
<td>
|
524 |
-
<label class="switch">
|
525 |
-
<input type="checkbox">
|
526 |
-
<span class="pro-slider round"></span>
|
527 |
-
</label>
|
528 |
-
</td>
|
529 |
-
|
530 |
-
<th><?php echo __('Premium Image Accordion', 'premium-addons-for-elementor'); ?></th>
|
531 |
-
<td>
|
532 |
-
<label class="switch">
|
533 |
-
<input type="checkbox">
|
534 |
-
<span class="pro-slider round"></span>
|
535 |
-
</label>
|
536 |
-
</td>
|
537 |
-
</tr>
|
538 |
-
|
539 |
-
<tr>
|
540 |
-
<th><?php echo __('Premium Image Comparison', 'premium-addons-for-elementor'); ?></th>
|
541 |
-
<td>
|
542 |
-
<label class="switch">
|
543 |
-
<input type="checkbox">
|
544 |
-
<span class="pro-slider round"></span>
|
545 |
-
</label>
|
546 |
-
</td>
|
547 |
-
|
548 |
-
<th><?php echo __('Premium Image Hotspots', 'premium-addons-for-elementor'); ?></th>
|
549 |
-
<td>
|
550 |
-
<label class="switch">
|
551 |
-
<input type="checkbox">
|
552 |
-
<span class="pro-slider round"></span>
|
553 |
-
</label>
|
554 |
-
</td>
|
555 |
-
</tr>
|
556 |
-
|
557 |
-
<tr>
|
558 |
-
<th><?php echo __('Premium Image Layers', 'premium-addons-for-elementor'); ?></th>
|
559 |
-
<td>
|
560 |
-
<label class="switch">
|
561 |
-
<input type="checkbox">
|
562 |
-
<span class="pro-slider round"></span>
|
563 |
-
</label>
|
564 |
-
</td>
|
565 |
-
|
566 |
-
<th><?php echo __('Premium Instagram Feed', 'premium-addons-for-elementor'); ?></th>
|
567 |
-
<td>
|
568 |
-
<label class="switch">
|
569 |
-
<input type="checkbox">
|
570 |
-
<span class="pro-slider round"></span>
|
571 |
-
</label>
|
572 |
-
</td>
|
573 |
-
</tr>
|
574 |
-
|
575 |
-
<tr>
|
576 |
-
<th><?php echo __('Premium Magic Section', 'premium-addons-for-elementor'); ?></th>
|
577 |
-
<td>
|
578 |
-
<label class="switch">
|
579 |
-
<input type="checkbox">
|
580 |
-
<span class="pro-slider round"></span>
|
581 |
-
</label>
|
582 |
-
</td>
|
583 |
-
|
584 |
-
<th><?php echo __('Premium Messenger Chat', 'premium-addons-for-elementor'); ?></th>
|
585 |
-
<td>
|
586 |
-
<label class="switch">
|
587 |
-
<input type="checkbox">
|
588 |
-
<span class="pro-slider round"></span>
|
589 |
-
</label>
|
590 |
-
</td>
|
591 |
-
</tr>
|
592 |
-
|
593 |
-
<tr>
|
594 |
-
<th><?php echo __('Premium Multi Scroll', 'premium-addons-for-elementor'); ?></th>
|
595 |
-
<td>
|
596 |
-
<label class="switch">
|
597 |
-
<input type="checkbox">
|
598 |
-
<span class="pro-slider round"></span>
|
599 |
-
</label>
|
600 |
-
</td>
|
601 |
-
<th><?php echo __('Premium Preview Window', 'premium-addons-for-elementor'); ?></th>
|
602 |
-
<td>
|
603 |
-
<label class="switch">
|
604 |
-
<input type="checkbox">
|
605 |
-
<span class="pro-slider round"></span>
|
606 |
-
</label>
|
607 |
-
</td>
|
608 |
-
</tr>
|
609 |
-
|
610 |
-
<tr>
|
611 |
-
<th><?php echo __('Premium Table', 'premium-addons-for-elementor'); ?></th>
|
612 |
-
<td>
|
613 |
-
<label class="switch">
|
614 |
-
<input type="checkbox">
|
615 |
-
<span class="pro-slider round"></span>
|
616 |
-
</label>
|
617 |
-
</td>
|
618 |
-
<th><?php echo __('Premium Tabs', 'premium-addons-for-elementor'); ?></th>
|
619 |
-
<td>
|
620 |
-
<label class="switch">
|
621 |
-
<input type="checkbox">
|
622 |
-
<span class="pro-slider round"></span>
|
623 |
-
</label>
|
624 |
-
</td>
|
625 |
-
</tr>
|
626 |
-
|
627 |
-
<tr>
|
628 |
-
<th><?php echo __('Premium Twitter Feed', 'premium-addons-for-elementor'); ?></th>
|
629 |
-
<td>
|
630 |
-
<label class="switch">
|
631 |
-
<input type="checkbox">
|
632 |
-
<span class="pro-slider round"></span>
|
633 |
-
</label>
|
634 |
-
</td>
|
635 |
-
<th><?php echo __('Premium Unfold', 'premium-addons-for-elementor'); ?></th>
|
636 |
-
<td>
|
637 |
-
<label class="switch">
|
638 |
-
<input type="checkbox">
|
639 |
-
<span class="pro-slider round"></span>
|
640 |
-
</label>
|
641 |
-
</td>
|
642 |
-
</tr>
|
643 |
-
|
644 |
-
<tr>
|
645 |
-
<th><?php echo __('Premium Whatsapp Chat', 'premium-addons-for-elementor'); ?></th>
|
646 |
-
<td>
|
647 |
-
<label class="switch">
|
648 |
-
<input type="checkbox">
|
649 |
-
<span class="pro-slider round"></span>
|
650 |
-
</label>
|
651 |
-
</td>
|
652 |
-
|
653 |
-
<th><?php echo __('Premium Yelp Reviews', 'premium-addons-for-elementor'); ?></th>
|
654 |
-
<td>
|
655 |
-
<label class="switch">
|
656 |
-
<input type="checkbox">
|
657 |
-
<span class="pro-slider round"></span>
|
658 |
-
</label>
|
659 |
-
</td>
|
660 |
-
</tr>
|
661 |
-
|
662 |
-
<tr>
|
663 |
-
<th><?php echo __('Premium Section Parallax', 'premium-addons-for-elementor'); ?></th>
|
664 |
-
<td>
|
665 |
-
<label class="switch">
|
666 |
-
<input type="checkbox">
|
667 |
-
<span class="pro-slider round"></span>
|
668 |
-
</label>
|
669 |
-
</td>
|
670 |
-
<th><?php echo __('Premium Section Particles', 'premium-addons-for-elementor'); ?></th>
|
671 |
-
<td>
|
672 |
-
<label class="switch">
|
673 |
-
<input type="checkbox">
|
674 |
-
<span class="pro-slider round"></span>
|
675 |
-
</label>
|
676 |
-
</td>
|
677 |
-
</tr>
|
678 |
-
|
679 |
-
<tr>
|
680 |
-
<th><?php echo __('Premium Section Animated Gradient', 'premium-addons-for-elementor'); ?></th>
|
681 |
-
<td>
|
682 |
-
<label class="switch">
|
683 |
-
<input type="checkbox">
|
684 |
-
<span class="pro-slider round"></span>
|
685 |
-
</label>
|
686 |
-
</td>
|
687 |
-
<th><?php echo __('Premium Section Ken Burns', 'premium-addons-for-elementor'); ?></th>
|
688 |
-
<td>
|
689 |
-
<label class="switch">
|
690 |
-
<input type="checkbox">
|
691 |
-
<span class="pro-slider round"></span>
|
692 |
-
</label>
|
693 |
-
</td>
|
694 |
-
</tr>
|
695 |
-
|
696 |
-
<tr>
|
697 |
-
<th><?php echo __('Premium Section Lottie Animations', 'premium-addons-for-elementor'); ?></th>
|
698 |
-
<td>
|
699 |
-
<label class="switch">
|
700 |
-
<input type="checkbox">
|
701 |
-
<span class="pro-slider round"></span>
|
702 |
-
</label>
|
703 |
-
</td>
|
704 |
-
</tr>
|
705 |
-
|
706 |
-
<?php endif; ?>
|
707 |
-
</tbody>
|
708 |
-
</table>
|
709 |
-
<input type="submit" value="<?php echo __('Save Settings', 'premium-addons-for-elementor'); ?>" class="button pa-btn pa-save-button">
|
710 |
-
|
711 |
-
</div>
|
712 |
-
<?php if( ! Helper_Functions::is_hide_rate()) : ?>
|
713 |
-
<div>
|
714 |
-
<p><?php echo __('Did you like Premium Addons for Elementor Plugin? Please ', 'premium-addons-for-elementor'); ?><a href="https://wordpress.org/support/plugin/premium-addons-for-elementor/reviews/#new-post" target="_blank"><?php echo __('Click Here to Rate it ★★★★★', 'premium-addons-for-elementor'); ?></a></p>
|
715 |
-
</div>
|
716 |
-
<?php endif; ?>
|
717 |
-
</div>
|
718 |
-
</form>
|
719 |
-
</div>
|
720 |
-
<?php
|
721 |
-
}
|
722 |
-
|
723 |
-
public static function get_default_keys() {
|
724 |
-
|
725 |
-
$default_keys = array_fill_keys( self::$pa_elements_keys, true );
|
726 |
-
|
727 |
-
return $default_keys;
|
728 |
-
}
|
729 |
-
|
730 |
-
public static function get_enabled_keys() {
|
731 |
-
|
732 |
-
$enabled_keys = get_option( 'pa_save_settings', self::get_default_keys() );
|
733 |
-
|
734 |
-
return $enabled_keys;
|
735 |
-
}
|
736 |
-
|
737 |
-
/*
|
738 |
-
* Check If Premium Templates is enabled
|
739 |
-
*
|
740 |
-
* @since 3.6.0
|
741 |
-
* @access public
|
742 |
-
*
|
743 |
-
* @return boolean
|
744 |
-
*/
|
745 |
-
public static function check_premium_templates() {
|
746 |
-
|
747 |
-
$settings = self::get_enabled_keys();
|
748 |
-
|
749 |
-
if( ! isset( $settings['premium-templates'] ) )
|
750 |
-
return true;
|
751 |
-
|
752 |
-
$is_enabled = $settings['premium-templates'];
|
753 |
-
|
754 |
-
return $is_enabled;
|
755 |
-
}
|
756 |
-
|
757 |
-
/*
|
758 |
-
* Check If Premium Duplicator is enabled
|
759 |
-
*
|
760 |
-
* @since 3.9.7
|
761 |
-
* @access public
|
762 |
-
*
|
763 |
-
* @return boolean
|
764 |
-
*/
|
765 |
-
public static function check_premium_duplicator() {
|
766 |
-
|
767 |
-
$settings = self::get_enabled_keys();
|
768 |
-
|
769 |
-
if( ! isset( $settings['premium-duplicator'] ) )
|
770 |
-
return true;
|
771 |
-
|
772 |
-
$is_enabled = $settings['premium-duplicator'];
|
773 |
-
|
774 |
-
return $is_enabled;
|
775 |
-
}
|
776 |
-
|
777 |
-
public function pa_save_settings() {
|
778 |
-
|
779 |
-
check_ajax_referer( 'pa-elements', 'security' );
|
780 |
-
|
781 |
-
if( isset( $_POST['fields'] ) ) {
|
782 |
-
parse_str( $_POST['fields'], $settings );
|
783 |
-
} else {
|
784 |
-
return;
|
785 |
-
}
|
786 |
-
|
787 |
-
$this->pa_settings = array(
|
788 |
-
'premium-banner' => intval( $settings['premium-banner'] ? 1 : 0 ),
|
789 |
-
'premium-blog' => intval( $settings['premium-blog'] ? 1 : 0 ),
|
790 |
-
'premium-carousel' => intval( $settings['premium-carousel'] ? 1 : 0 ),
|
791 |
-
'premium-countdown' => intval( $settings['premium-countdown'] ? 1 : 0 ),
|
792 |
-
'premium-counter' => intval( $settings['premium-counter'] ? 1 : 0 ),
|
793 |
-
'premium-dual-header' => intval( $settings['premium-dual-header'] ? 1 : 0 ),
|
794 |
-
'premium-fancytext' => intval( $settings['premium-fancytext'] ? 1 : 0 ),
|
795 |
-
'premium-image-separator' => intval( $settings['premium-image-separator'] ? 1 : 0 ),
|
796 |
-
'premium-lottie' => intval( $settings['premium-lottie'] ? 1 : 0 ),
|
797 |
-
'premium-maps' => intval( $settings['premium-maps'] ? 1 : 0 ),
|
798 |
-
'premium-modalbox' => intval( $settings['premium-modalbox'] ? 1 : 0 ),
|
799 |
-
'premium-person' => intval( $settings['premium-person'] ? 1 : 0 ),
|
800 |
-
'premium-progressbar' => intval( $settings['premium-progressbar'] ? 1 : 0 ),
|
801 |
-
'premium-testimonials' => intval( $settings['premium-testimonials'] ? 1 : 0 ),
|
802 |
-
'premium-title' => intval( $settings['premium-title'] ? 1 : 0 ),
|
803 |
-
'premium-videobox' => intval( $settings['premium-videobox'] ? 1 : 0 ),
|
804 |
-
'premium-pricing-table' => intval( $settings['premium-pricing-table'] ? 1 : 0 ),
|
805 |
-
'premium-button' => intval( $settings['premium-button'] ? 1 : 0 ),
|
806 |
-
'premium-contactform' => intval( $settings['premium-contactform'] ? 1 : 0 ),
|
807 |
-
'premium-image-button' => intval( $settings['premium-image-button'] ? 1 : 0 ),
|
808 |
-
'premium-grid' => intval( $settings['premium-grid'] ? 1 : 0 ),
|
809 |
-
'premium-vscroll' => intval( $settings['premium-vscroll'] ? 1 : 0 ),
|
810 |
-
// 'premium-icon-list' => intval( $settings['premium-icon-list'] ? 1 : 0),
|
811 |
-
'premium-image-scroll' => intval( $settings['premium-image-scroll'] ? 1 : 0 ),
|
812 |
-
'premium-templates' => intval( $settings['premium-templates'] ? 1 : 0 ),
|
813 |
-
'premium-duplicator' => intval( $settings['premium-duplicator'] ? 1 : 0 ),
|
814 |
-
);
|
815 |
-
|
816 |
-
update_option( 'pa_save_settings', $this->pa_settings );
|
817 |
-
|
818 |
-
return true;
|
819 |
-
}
|
820 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
assets/editor/js/premium-cross-cp.js
ADDED
@@ -0,0 +1,93 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
(function () {
|
2 |
+
function a(b) {
|
3 |
+
return b.forEach(function (b) {
|
4 |
+
b.id = elementor.helpers.getUniqueID(), 0 < b.elements.length && a(b.elements)
|
5 |
+
}), b
|
6 |
+
}
|
7 |
+
|
8 |
+
function b(b, c) {
|
9 |
+
var d = c,
|
10 |
+
e = c.model.get("elType"),
|
11 |
+
f = b.elecode.elType,
|
12 |
+
g = b.elecode,
|
13 |
+
h = JSON.stringify(g);
|
14 |
+
|
15 |
+
var i = /\.(jpg|png|jpeg|gif|svg)/gi.test(h),
|
16 |
+
j = {
|
17 |
+
elType: f,
|
18 |
+
settings: g.settings
|
19 |
+
},
|
20 |
+
k = null,
|
21 |
+
l = {
|
22 |
+
index: 0
|
23 |
+
};
|
24 |
+
switch (f) {
|
25 |
+
case "section":
|
26 |
+
j.elements = a(g.elements), k = elementor.getPreviewContainer();
|
27 |
+
break;
|
28 |
+
case "column":
|
29 |
+
j.elements = a(g.elements);
|
30 |
+
"section" === e ? k = d.getContainer() : "column" === e ? (k = d.getContainer().parent, l.index = d.getOption("_index") + 1) : "widget" === e ? (k = d.getContainer().parent.parent, l.index = d.getContainer().parent.view.getOption("_index") + 1) : void 0;
|
31 |
+
break;
|
32 |
+
case "widget":
|
33 |
+
j.widgetType = b.eletype, k = d.getContainer();
|
34 |
+
"section" === e ? k = d.children.findByIndex(0).getContainer() : "column" === e ? k = d.getContainer() : "widget" === e ? (k = d.getContainer().parent, e.index = d.getOption("_index") + 1, l.index = d.getOption("_index") + 1) : void 0;
|
35 |
+
}
|
36 |
+
var m = $e.run("document/elements/create", {
|
37 |
+
model: j,
|
38 |
+
container: k,
|
39 |
+
options: l
|
40 |
+
});
|
41 |
+
i && jQuery.ajax({
|
42 |
+
url: premium_cross_cp.ajax_url,
|
43 |
+
method: "POST",
|
44 |
+
data: {
|
45 |
+
nonce: premium_cross_cp.nonce,
|
46 |
+
action: "premium_cross_cp_import",
|
47 |
+
copy_content: h
|
48 |
+
}
|
49 |
+
}).done(function (a) {
|
50 |
+
if (a.success) {
|
51 |
+
var b = a.data[0];
|
52 |
+
j.elType = b.elType, j.settings = b.settings, "widget" === j.elType ? j.widgetType = b.widgetType : j.elements = b.elements, $e.run("document/elements/delete", {
|
53 |
+
container: m
|
54 |
+
}), $e.run("document/elements/create", {
|
55 |
+
model: j,
|
56 |
+
container: k,
|
57 |
+
options: l
|
58 |
+
})
|
59 |
+
}
|
60 |
+
})
|
61 |
+
}
|
62 |
+
xdLocalStorage.init({
|
63 |
+
iframeUrl: "https://leap13.github.io/pa-cdcp/",
|
64 |
+
initCallback: function () { }
|
65 |
+
});
|
66 |
+
var c = ["section", "column", "widget"],
|
67 |
+
d = [];
|
68 |
+
c.forEach(function (a, e) {
|
69 |
+
elementor.hooks.addFilter("elements/" + c[e] + "/contextMenuGroups", function (a, f) {
|
70 |
+
return d.push(f), a.push({
|
71 |
+
name: "premium_" + c[e],
|
72 |
+
actions: [{
|
73 |
+
name: "premium_addons_copy",
|
74 |
+
title: "PA Copy",
|
75 |
+
icon: "pa-dash-icon",
|
76 |
+
callback: function () {
|
77 |
+
var a = {};
|
78 |
+
a.eletype = "widget" == c[e] ? f.model.get("widgetType") : null, a.elecode = f.model.toJSON(), xdLocalStorage.setItem("premium-c-p-element", JSON.stringify(a)), console.log(a)
|
79 |
+
}
|
80 |
+
}, {
|
81 |
+
name: "premium_addons_paste",
|
82 |
+
title: "PA Paste",
|
83 |
+
icon: "pa-dash-icon",
|
84 |
+
callback: function () {
|
85 |
+
xdLocalStorage.getItem("premium-c-p-element", function (a) {
|
86 |
+
b(JSON.parse(a.value), f)
|
87 |
+
})
|
88 |
+
}
|
89 |
+
}]
|
90 |
+
}), a
|
91 |
+
})
|
92 |
+
})
|
93 |
+
})(jQuery);
|
assets/editor/js/xdlocalstorage.js
ADDED
@@ -0,0 +1,94 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
"use strict";
|
2 |
+
window.XdUtils = window.XdUtils || function() {
|
3 |
+
function a(a, b) {
|
4 |
+
var c, d = b || {};
|
5 |
+
for (c in a) a.hasOwnProperty(c) && (d[c] = a[c]);
|
6 |
+
return d
|
7 |
+
}
|
8 |
+
return {
|
9 |
+
extend: a
|
10 |
+
}
|
11 |
+
}(), window.xdLocalStorage = window.xdLocalStorage || function() {
|
12 |
+
function a(a) {
|
13 |
+
k[a.id] && (k[a.id](a), delete k[a.id])
|
14 |
+
}
|
15 |
+
|
16 |
+
function b(b) {
|
17 |
+
var c;
|
18 |
+
try {
|
19 |
+
c = JSON.parse(b.data)
|
20 |
+
} catch (a) {}
|
21 |
+
c && c.namespace === h && ("iframe-ready" === c.id ? (m = !0, i.initCallback()) : a(c))
|
22 |
+
}
|
23 |
+
|
24 |
+
function c(a, b, c, d) {
|
25 |
+
j++, k[j] = d;
|
26 |
+
var e = {
|
27 |
+
namespace: h,
|
28 |
+
id: j,
|
29 |
+
action: a,
|
30 |
+
key: b,
|
31 |
+
value: c
|
32 |
+
};
|
33 |
+
g.contentWindow.postMessage(JSON.stringify(e), "*")
|
34 |
+
}
|
35 |
+
|
36 |
+
function d(a) {
|
37 |
+
i = XdUtils.extend(a, i);
|
38 |
+
var c = document.createElement("div");
|
39 |
+
window.addEventListener ? window.addEventListener("message", b, !1) : window.attachEvent("onmessage", b), c.innerHTML = '<iframe id="' + i.iframeId + '" src=' + i.iframeUrl + ' style="display: none;"></iframe>', document.body.appendChild(c), g = document.getElementById(i.iframeId)
|
40 |
+
}
|
41 |
+
|
42 |
+
function e() {
|
43 |
+
return l ? !!m || (console.log("You must wait for iframe ready message before using the api."), !1) : (console.log("You must call xdLocalStorage.init() before using it."), !1)
|
44 |
+
}
|
45 |
+
|
46 |
+
function f() {
|
47 |
+
return "complete" === document.readyState
|
48 |
+
}
|
49 |
+
var g, h = "cross-domain-pa-cp-message",
|
50 |
+
i = {
|
51 |
+
iframeId: "cross-domain-iframe",
|
52 |
+
iframeUrl: void 0,
|
53 |
+
initCallback: function() {}
|
54 |
+
},
|
55 |
+
j = -1,
|
56 |
+
k = {},
|
57 |
+
l = !1,
|
58 |
+
m = !0;
|
59 |
+
return {
|
60 |
+
init: function(a) {
|
61 |
+
if (!a.iframeUrl) throw "You must specify iframeUrl";
|
62 |
+
if (l) return void console.log("xdLocalStorage was already initialized!");
|
63 |
+
l = !0, f() ? d(a) : document.addEventListener ? document.addEventListener("readystatechange", function() {
|
64 |
+
f() && d(a)
|
65 |
+
}) : document.attachEvent("readystatechange", function() {
|
66 |
+
f() && d(a)
|
67 |
+
})
|
68 |
+
},
|
69 |
+
setItem: function(a, b, d) {
|
70 |
+
e() && c("set", a, b, d)
|
71 |
+
},
|
72 |
+
getItem: function(a, b) {
|
73 |
+
e() && c("get", a, null, b)
|
74 |
+
},
|
75 |
+
removeItem: function(a, b) {
|
76 |
+
e() && c("remove", a, null, b)
|
77 |
+
},
|
78 |
+
key: function(a, b) {
|
79 |
+
e() && c("key", a, null, b)
|
80 |
+
},
|
81 |
+
getSize: function(a) {
|
82 |
+
e() && c("size", null, null, a)
|
83 |
+
},
|
84 |
+
getLength: function(a) {
|
85 |
+
e() && c("length", null, null, a)
|
86 |
+
},
|
87 |
+
clear: function(a) {
|
88 |
+
e() && c("clear", null, null, a)
|
89 |
+
},
|
90 |
+
wasInit: function() {
|
91 |
+
return l
|
92 |
+
}
|
93 |
+
}
|
94 |
+
}();
|
assets/frontend/js/premium-woocommerce.js
ADDED
@@ -0,0 +1,438 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
(function ($) {
|
2 |
+
|
3 |
+
var PremiumWooProductsHandler = function ($scope, $) {
|
4 |
+
|
5 |
+
var instance = null;
|
6 |
+
|
7 |
+
instance = new premiumWooProducts($scope);
|
8 |
+
instance.init();
|
9 |
+
|
10 |
+
};
|
11 |
+
|
12 |
+
window.premiumWooProducts = function ($scope) {
|
13 |
+
|
14 |
+
var self = this,
|
15 |
+
$elem = $scope.find(".premium-woocommerce");
|
16 |
+
|
17 |
+
//Check Quick View
|
18 |
+
var isQuickView = $elem.data("quick-view");
|
19 |
+
|
20 |
+
if ("yes" === isQuickView) {
|
21 |
+
|
22 |
+
var widgetID = $scope.data("id"),
|
23 |
+
$modal = $elem.siblings(".premium-woo-quick-view-" + widgetID),
|
24 |
+
$qvModal = $modal.find('#premium-woo-quick-view-modal'),
|
25 |
+
contentWrap = $qvModal.find('#premium-woo-quick-view-content'),
|
26 |
+
wrapper = $qvModal.find('.premium-woo-content-main-wrapper'),
|
27 |
+
$backWrap = $modal.find('.premium-woo-quick-view-back');
|
28 |
+
|
29 |
+
}
|
30 |
+
|
31 |
+
self.init = function () {
|
32 |
+
|
33 |
+
self.handleProductsCarousel();
|
34 |
+
|
35 |
+
if ("yes" === isQuickView)
|
36 |
+
self.handleProductQuickView();
|
37 |
+
|
38 |
+
self.handleProductPagination();
|
39 |
+
|
40 |
+
var skin = $scope.data("widget_type");
|
41 |
+
|
42 |
+
if ("premium-woo-products.grid-1" === skin || "premium-woo-products.grid-4" === skin)
|
43 |
+
self.handleAddToCart();
|
44 |
+
|
45 |
+
if ("premium-woo-products.grid-6" === skin)
|
46 |
+
self.handleGalleryImages();
|
47 |
+
|
48 |
+
if ($elem.hasClass("premium-woo-products-metro")) {
|
49 |
+
|
50 |
+
self.handleGridMetro();
|
51 |
+
|
52 |
+
$(window).on("resize", self.handleGridMetro);
|
53 |
+
|
54 |
+
}
|
55 |
+
|
56 |
+
|
57 |
+
};
|
58 |
+
|
59 |
+
self.handleProductsCarousel = function () {
|
60 |
+
|
61 |
+
var carousel = $elem.data("woo_carousel");
|
62 |
+
|
63 |
+
if (!carousel)
|
64 |
+
return;
|
65 |
+
|
66 |
+
var $products = $elem.find('ul.products');
|
67 |
+
|
68 |
+
carousel['customPaging'] = function () {
|
69 |
+
return '<i class="fas fa-circle"></i>';
|
70 |
+
};
|
71 |
+
|
72 |
+
$products.slick(carousel);
|
73 |
+
|
74 |
+
};
|
75 |
+
|
76 |
+
self.handleGridMetro = function () {
|
77 |
+
|
78 |
+
var $products = $elem.find("ul.products"),
|
79 |
+
currentDevice = elementorFrontend.getCurrentDeviceMode(),
|
80 |
+
suffix = "";
|
81 |
+
|
82 |
+
//Grid Parameters
|
83 |
+
var gridWidth = $products.width(),
|
84 |
+
cellSize = Math.floor(gridWidth / 12);
|
85 |
+
|
86 |
+
|
87 |
+
var metroStyle = $elem.data("metro-style");
|
88 |
+
|
89 |
+
if ("tablet" === currentDevice) {
|
90 |
+
suffix = "_tablet";
|
91 |
+
} else if ("mobile" === currentDevice) {
|
92 |
+
suffix = "_mobile";
|
93 |
+
}
|
94 |
+
|
95 |
+
if ('custom' === metroStyle) {
|
96 |
+
|
97 |
+
var wPatternLength = 0,
|
98 |
+
hPatternLength = 0;
|
99 |
+
|
100 |
+
var settings = $elem.data("metro");
|
101 |
+
|
102 |
+
//Get Products Width/Height Pattern
|
103 |
+
var wPattern = settings['wPattern' + suffix],
|
104 |
+
hPattern = settings['hPattern' + suffix];
|
105 |
+
|
106 |
+
if ("" === wPattern)
|
107 |
+
wPattern = "12";
|
108 |
+
|
109 |
+
if ("" === hPattern)
|
110 |
+
hPattern = "12";
|
111 |
+
|
112 |
+
wPattern = wPattern.split(',');
|
113 |
+
hPattern = hPattern.split(',');
|
114 |
+
|
115 |
+
wPatternLength = wPatternLength + wPattern.length;
|
116 |
+
hPatternLength = hPatternLength + hPattern.length;
|
117 |
+
|
118 |
+
$products.find("li.product").each(function (index, product) {
|
119 |
+
|
120 |
+
var wIndex = index % wPatternLength,
|
121 |
+
hIndex = index % hPatternLength;
|
122 |
+
|
123 |
+
var wCell = (parseInt(wPattern[wIndex])),
|
124 |
+
hCell = (parseInt(hPattern[hIndex]));
|
125 |
+
|
126 |
+
$(product).css({
|
127 |
+
width: Math.floor(wCell) * cellSize,
|
128 |
+
height: Math.floor(hCell) * cellSize
|
129 |
+
});
|
130 |
+
});
|
131 |
+
|
132 |
+
}
|
133 |
+
|
134 |
+
$products
|
135 |
+
.imagesLoaded(function () { })
|
136 |
+
.done(
|
137 |
+
function () {
|
138 |
+
$products.isotope({
|
139 |
+
itemSelector: "li.product",
|
140 |
+
percentPosition: true,
|
141 |
+
animationOptions: {
|
142 |
+
duration: 750,
|
143 |
+
easing: "linear"
|
144 |
+
},
|
145 |
+
layoutMode: "masonry",
|
146 |
+
masonry: {
|
147 |
+
columnWidth: cellSize
|
148 |
+
}
|
149 |
+
});
|
150 |
+
});
|
151 |
+
};
|
152 |
+
|
153 |
+
self.handleProductQuickView = function () {
|
154 |
+
|
155 |
+
$modal.appendTo(document.body);
|
156 |
+
|
157 |
+
$elem.on('click', '.premium-woo-qv-btn', self.triggerQuickViewModal);
|
158 |
+
|
159 |
+
window.addEventListener("resize", function () {
|
160 |
+
self.updateQuickViewHeight();
|
161 |
+
});
|
162 |
+
|
163 |
+
};
|
164 |
+
|
165 |
+
self.triggerQuickViewModal = function (event) {
|
166 |
+
|
167 |
+
event.preventDefault();
|
168 |
+
|
169 |
+
var $this = $(this),
|
170 |
+
productID = $this.data('product-id');
|
171 |
+
|
172 |
+
if (!$qvModal.hasClass('loading'))
|
173 |
+
$qvModal.addClass('loading');
|
174 |
+
|
175 |
+
if (!$backWrap.hasClass('premium-woo-quick-view-active'))
|
176 |
+
$backWrap.addClass('premium-woo-quick-view-active');
|
177 |
+
|
178 |
+
|
179 |
+
$(document).trigger('uael_quick_view_loading');
|
180 |
+
|
181 |
+
self.getProductByAjax(productID);
|
182 |
+
|
183 |
+
self.addCloseEvents();
|
184 |
+
};
|
185 |
+
|
186 |
+
self.getProductByAjax = function (itemID) {
|
187 |
+
|
188 |
+
$.ajax({
|
189 |
+
url: PremiumWooSettings.ajaxurl,
|
190 |
+
data: {
|
191 |
+
action: 'get_woo_product_qv',
|
192 |
+
product_id: itemID,
|
193 |
+
nonce: PremiumWooSettings.qv_nonce,
|
194 |
+
},
|
195 |
+
dataType: 'html',
|
196 |
+
type: 'POST',
|
197 |
+
success: function (data) {
|
198 |
+
|
199 |
+
contentWrap.html(data);
|
200 |
+
self.handleQuickViewModal();
|
201 |
+
}
|
202 |
+
});
|
203 |
+
|
204 |
+
};
|
205 |
+
|
206 |
+
self.addCloseEvents = function () {
|
207 |
+
|
208 |
+
var $closeBtn = $qvModal.find('#premium-woo-quick-view-close');
|
209 |
+
|
210 |
+
$(document).keyup(function (e) {
|
211 |
+
if (e.keyCode === 27)
|
212 |
+
self.closeModal();
|
213 |
+
});
|
214 |
+
|
215 |
+
$closeBtn.on('click', function (e) {
|
216 |
+
e.preventDefault();
|
217 |
+
self.closeModal();
|
218 |
+
});
|
219 |
+
|
220 |
+
wrapper.on('click', function (e) {
|
221 |
+
|
222 |
+
if (this === e.target)
|
223 |
+
self.closeModal();
|
224 |
+
|
225 |
+
});
|
226 |
+
};
|
227 |
+
|
228 |
+
self.handleQuickViewModal = function () {
|
229 |
+
|
230 |
+
if (!$qvModal.hasClass('active')) {
|
231 |
+
|
232 |
+
$qvModal.removeClass('loading').addClass('active');
|
233 |
+
|
234 |
+
var barWidth = self.getBarWidth();
|
235 |
+
|
236 |
+
$("html").css('margin-right', barWidth);
|
237 |
+
$("html").addClass('premium-woo-qv-opened');
|
238 |
+
}
|
239 |
+
|
240 |
+
contentWrap.imagesLoaded(function () {
|
241 |
+
self.handleQuickViewSlider();
|
242 |
+
});
|
243 |
+
|
244 |
+
};
|
245 |
+
|
246 |
+
self.getBarWidth = function () {
|
247 |
+
|
248 |
+
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>');
|
249 |
+
// Append our div, do our calculation and then remove it
|
250 |
+
$('body').append(div);
|
251 |
+
var w1 = $('div', div).innerWidth();
|
252 |
+
div.css('overflow-y', 'scroll');
|
253 |
+
var w2 = $('div', div).innerWidth();
|
254 |
+
$(div).remove();
|
255 |
+
|
256 |
+
return (w1 - w2);
|
257 |
+
};
|
258 |
+
|
259 |
+
self.handleQuickViewSlider = function () {
|
260 |
+
|
261 |
+
var $productSlider = $qvModal.find('.premium-woo-qv-image-slider');
|
262 |
+
|
263 |
+
if ($productSlider.find('li').length) {
|
264 |
+
$productSlider.flexslider({
|
265 |
+
animation: "slide",
|
266 |
+
start: function () {
|
267 |
+
setTimeout(function () {
|
268 |
+
self.updateQuickViewHeight(true);
|
269 |
+
}, 300);
|
270 |
+
}
|
271 |
+
});
|
272 |
+
} else {
|
273 |
+
setTimeout(function () {
|
274 |
+
self.updateQuickViewHeight(true);
|
275 |
+
}, 300);
|
276 |
+
}
|
277 |
+
|
278 |
+
};
|
279 |
+
|
280 |
+
self.updateQuickViewHeight = function (update_css) {
|
281 |
+
var $quickView = contentWrap,
|
282 |
+
imgHeight = $quickView.find('.product .uael-qv-image-slider').first().height(),
|
283 |
+
summary = $quickView.find('.product .summary.entry-summary'),
|
284 |
+
content = summary.css('content');
|
285 |
+
|
286 |
+
if ('undefined' != typeof content && 544 == content.replace(/[^0-9]/g, '') && 0 != imgHeight && null !== imgHeight) {
|
287 |
+
summary.css('height', imgHeight);
|
288 |
+
} else {
|
289 |
+
summary.css('height', '');
|
290 |
+
}
|
291 |
+
|
292 |
+
if (true === update_css)
|
293 |
+
$qvModal.css('opacity', 1);
|
294 |
+
|
295 |
+
};
|
296 |
+
|
297 |
+
self.closeModal = function () {
|
298 |
+
|
299 |
+
$backWrap.removeClass('premium-woo-quick-view-active');
|
300 |
+
|
301 |
+
$qvModal.removeClass('active').removeClass('loading');
|
302 |
+
|
303 |
+
$('html').removeClass('premium-woo-qv-opened');
|
304 |
+
|
305 |
+
$('html').css('margin-right', '');
|
306 |
+
|
307 |
+
setTimeout(function () {
|
308 |
+
contentWrap.html('');
|
309 |
+
}, 600);
|
310 |
+
|
311 |
+
};
|
312 |
+
|
313 |
+
self.handleAddToCart = function () {
|
314 |
+
|
315 |
+
$elem.on('click', '.premium-woo-cart-btn.product_type_simple', self.onBtnClick).on('premium_product_add_to_cart', self.handleBtnClick);
|
316 |
+
|
317 |
+
};
|
318 |
+
|
319 |
+
self.onBtnClick = function (event) {
|
320 |
+
|
321 |
+
event.preventDefault();
|
322 |
+
|
323 |
+
var $this = $(this),
|
324 |
+
productID = $this.data('product_id'),
|
325 |
+
quantity = 1;
|
326 |
+
|
327 |
+
$this.removeClass('added').addClass('adding');
|
328 |
+
|
329 |
+
$.ajax({
|
330 |
+
url: PremiumWooSettings.ajaxurl,
|
331 |
+
type: 'POST',
|
332 |
+
data: 'action=premium_woo_add_cart_product&product_id=' + productID + '&quantity=' + quantity,
|
333 |
+
success: function () {
|
334 |
+
$(document.body).trigger('wc_fragment_refresh');
|
335 |
+
$elem.trigger('premium_product_add_to_cart', [$this]);
|
336 |
+
}
|
337 |
+
});
|
338 |
+
|
339 |
+
};
|
340 |
+
|
341 |
+
self.handleBtnClick = function (event, $btn) {
|
342 |
+
|
343 |
+
if (!$btn)
|
344 |
+
return;
|
345 |
+
|
346 |
+
$btn.removeClass('adding').addClass('added');
|
347 |
+
|
348 |
+
};
|
349 |
+
|
350 |
+
self.handleGalleryImages = function () {
|
351 |
+
|
352 |
+
$elem.on('click', '.premium-woo-product__gallery_image', function () {
|
353 |
+
var $thisImg = $(this);
|
354 |
+
|
355 |
+
$thisImg.closest(".premium-woo-product-thumbnail").find(".woocommerce-loop-product__link img").replaceWith($thisImg.clone(true));
|
356 |
+
});
|
357 |
+
|
358 |
+
};
|
359 |
+
|
360 |
+
self.handleProductPagination = function () {
|
361 |
+
|
362 |
+
$elem.on('click', '.premium-woo-products-pagination a.page-numbers', function (e) {
|
363 |
+
|
364 |
+
var $targetPage = $(this);
|
365 |
+
|
366 |
+
if ($elem.hasClass('premium-woo-query-main'))
|
367 |
+
return;
|
368 |
+
|
369 |
+
e.preventDefault();
|
370 |
+
|
371 |
+
$elem.find('ul.products').after('<div class="premium-loading-feed"><div class="premium-loader"></div></div>');
|
372 |
+
|
373 |
+
var pageID = $elem.data('page-id'),
|
374 |
+
currentPage = $elem.find('.page-numbers.current').index(),
|
375 |
+
skin = $elem.data('skin'),
|
376 |
+
page_number = 1;
|
377 |
+
|
378 |
+
if ($targetPage.hasClass('next')) {
|
379 |
+
page_number = currentPage + 1;
|
380 |
+
} else if ($targetPage.hasClass('prev')) {
|
381 |
+
page_number = currentPage - 1;
|
382 |
+
} else {
|
383 |
+
page_number = $targetPage.html();
|
384 |
+
}
|
385 |
+
|
386 |
+
$.ajax({
|
387 |
+
url: PremiumWooSettings.ajaxurl,
|
388 |
+
data: {
|
389 |
+
action: 'get_woo_products',
|
390 |
+
pageID: pageID,
|
391 |
+
elemID: $scope.data('id'),
|
392 |
+
category: '',
|
393 |
+
skin: skin,
|
394 |
+
page_number: page_number,
|
395 |
+
nonce: PremiumWooSettings.products_nonce,
|
396 |
+
},
|
397 |
+
dataType: 'json',
|
398 |
+
type: 'POST',
|
399 |
+
success: function (data) {
|
400 |
+
|
401 |
+
$elem.find('.premium-loading-feed').remove();
|
402 |
+
|
403 |
+
$('html, body').animate({
|
404 |
+
scrollTop: (($scope.find('.premium-woocommerce').offset().top) - 100)
|
405 |
+
}, 'slow');
|
406 |
+
|
407 |
+
var $currentProducts = $elem.find('ul.products');
|
408 |
+
|
409 |
+
$currentProducts.replaceWith(data.data.html);
|
410 |
+
|
411 |
+
$elem.find('.premium-woo-products-pagination').replaceWith(data.data.pagination);
|
412 |
+
|
413 |
+
if ($elem.hasClass("premium-woo-products-metro"))
|
414 |
+
self.handleGridMetro();
|
415 |
+
|
416 |
+
},
|
417 |
+
error: function (err) {
|
418 |
+
console.log(err);
|
419 |
+
}
|
420 |
+
});
|
421 |
+
|
422 |
+
});
|
423 |
+
|
424 |
+
};
|
425 |
+
|
426 |
+
|
427 |
+
};
|
428 |
+
|
429 |
+
//Elementor JS Hooks
|
430 |
+
$(window).on("elementor/frontend/init", function () {
|
431 |
+
elementorFrontend.hooks.addAction("frontend/element_ready/premium-woo-products.grid-1", PremiumWooProductsHandler);
|
432 |
+
elementorFrontend.hooks.addAction("frontend/element_ready/premium-woo-products.grid-2", PremiumWooProductsHandler);
|
433 |
+
elementorFrontend.hooks.addAction("frontend/element_ready/premium-woo-products.grid-3", PremiumWooProductsHandler);
|
434 |
+
elementorFrontend.hooks.addAction("frontend/element_ready/premium-woo-products.grid-4", PremiumWooProductsHandler);
|
435 |
+
elementorFrontend.hooks.addAction("frontend/element_ready/premium-woo-products.grid-5", PremiumWooProductsHandler);
|
436 |
+
elementorFrontend.hooks.addAction("frontend/element_ready/premium-woo-products.grid-6", PremiumWooProductsHandler);
|
437 |
+
});
|
438 |
+
})(jQuery);
|
assets/frontend/min-js/premium-woocommerce.min.js
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
!function(l){function e(e,o){new premiumWooProducts(e).init()}window.premiumWooProducts=function(r){var d=this,s=r.find(".premium-woocommerce"),o=s.data("quick-view");if("yes"===o)var e=r.data("id"),i=s.siblings(".premium-woo-quick-view-"+e),a=i.find("#premium-woo-quick-view-modal"),c=a.find("#premium-woo-quick-view-content"),t=a.find(".premium-woo-content-main-wrapper"),n=i.find(".premium-woo-quick-view-back");d.init=function(){d.handleProductsCarousel(),"yes"===o&&d.handleProductQuickView(),d.handleProductPagination();var e=r.data("widget_type");"premium-woo-products.grid-1"!==e&&"premium-woo-products.grid-4"!==e||d.handleAddToCart(),"premium-woo-products.grid-6"===e&&d.handleGalleryImages(),s.hasClass("premium-woo-products-metro")&&(d.handleGridMetro(),l(window).on("resize",d.handleGridMetro))},d.handleProductsCarousel=function(){var e=s.data("woo_carousel");if(e){var o=s.find("ul.products");e.customPaging=function(){return'<i class="fas fa-circle"></i>'},o.slick(e)}},d.handleGridMetro=function(){var e=s.find("ul.products"),o=elementorFrontend.getCurrentDeviceMode(),i="",t=e.width(),a=Math.floor(t/12);if("tablet"===o?i="_tablet":"mobile"===o&&(i="_mobile"),"custom"===s.data("metro-style")){var r=0,d=0,n=s.data("metro"),c=n["wPattern"+i],u=n["hPattern"+i];""===c&&(c="12"),""===u&&(u="12"),c=c.split(","),u=u.split(","),r+=c.length,d+=u.length,e.find("li.product").each(function(e,o){var i=e%d,t=parseInt(c[e%r]),n=parseInt(u[i]);l(o).css({width:Math.floor(t)*a,height:Math.floor(n)*a})})}e.imagesLoaded(function(){}).done(function(){e.isotope({itemSelector:"li.product",percentPosition:!0,animationOptions:{duration:750,easing:"linear"},layoutMode:"masonry",masonry:{columnWidth:a}})})},d.handleProductQuickView=function(){i.appendTo(document.body),s.on("click",".premium-woo-qv-btn",d.triggerQuickViewModal),window.addEventListener("resize",function(){d.updateQuickViewHeight()})},d.triggerQuickViewModal=function(e){e.preventDefault();var o=l(this).data("product-id");a.hasClass("loading")||a.addClass("loading"),n.hasClass("premium-woo-quick-view-active")||n.addClass("premium-woo-quick-view-active"),l(document).trigger("uael_quick_view_loading"),d.getProductByAjax(o),d.addCloseEvents()},d.getProductByAjax=function(e){l.ajax({url:PremiumWooSettings.ajaxurl,data:{action:"get_woo_product_qv",product_id:e,nonce:PremiumWooSettings.qv_nonce},dataType:"html",type:"POST",success:function(e){c.html(e),d.handleQuickViewModal()}})},d.addCloseEvents=function(){var e=a.find("#premium-woo-quick-view-close");l(document).keyup(function(e){27===e.keyCode&&d.closeModal()}),e.on("click",function(e){e.preventDefault(),d.closeModal()}),t.on("click",function(e){this===e.target&&d.closeModal()})},d.handleQuickViewModal=function(){if(!a.hasClass("active")){a.removeClass("loading").addClass("active");var e=d.getBarWidth();l("html").css("margin-right",e),l("html").addClass("premium-woo-qv-opened")}c.imagesLoaded(function(){d.handleQuickViewSlider()})},d.getBarWidth=function(){var e=l('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>');l("body").append(e);var o=l("div",e).innerWidth();e.css("overflow-y","scroll");var i=l("div",e).innerWidth();return l(e).remove(),o-i},d.handleQuickViewSlider=function(){var e=a.find(".premium-woo-qv-image-slider");e.find("li").length?e.flexslider({animation:"slide",start:function(){setTimeout(function(){d.updateQuickViewHeight(!0)},300)}}):setTimeout(function(){d.updateQuickViewHeight(!0)},300)},d.updateQuickViewHeight=function(e){var o=c,i=o.find(".product .uael-qv-image-slider").first().height(),t=o.find(".product .summary.entry-summary"),n=t.css("content");void 0!==n&&544==n.replace(/[^0-9]/g,"")&&0!=i&&null!==i?t.css("height",i):t.css("height",""),!0===e&&a.css("opacity",1)},d.closeModal=function(){n.removeClass("premium-woo-quick-view-active"),a.removeClass("active").removeClass("loading"),l("html").removeClass("premium-woo-qv-opened"),l("html").css("margin-right",""),setTimeout(function(){c.html("")},600)},d.handleAddToCart=function(){s.on("click",".premium-woo-cart-btn.product_type_simple",d.onBtnClick).on("premium_product_add_to_cart",d.handleBtnClick)},d.onBtnClick=function(e){e.preventDefault();var o=l(this),i=o.data("product_id");o.removeClass("added").addClass("adding"),l.ajax({url:PremiumWooSettings.ajaxurl,type:"POST",data:"action=premium_woo_add_cart_product&product_id="+i+"&quantity=1",success:function(){l(document.body).trigger("wc_fragment_refresh"),s.trigger("premium_product_add_to_cart",[o])}})},d.handleBtnClick=function(e,o){o&&o.removeClass("adding").addClass("added")},d.handleGalleryImages=function(){s.on("click",".premium-woo-product__gallery_image",function(){var e=l(this);e.closest(".premium-woo-product-thumbnail").find(".woocommerce-loop-product__link img").replaceWith(e.clone(!0))})},d.handleProductPagination=function(){s.on("click",".premium-woo-products-pagination a.page-numbers",function(e){var o=l(this);if(!s.hasClass("premium-woo-query-main")){e.preventDefault(),s.find("ul.products").after('<div class="premium-loading-feed"><div class="premium-loader"></div></div>');var i=s.data("page-id"),t=s.find(".page-numbers.current").index(),n=s.data("skin"),a=1;a=o.hasClass("next")?t+1:o.hasClass("prev")?t-1:o.html(),l.ajax({url:PremiumWooSettings.ajaxurl,data:{action:"get_woo_products",pageID:i,elemID:r.data("id"),category:"",skin:n,page_number:a,nonce:PremiumWooSettings.products_nonce},dataType:"json",type:"POST",success:function(e){s.find(".premium-loading-feed").remove(),l("html, body").animate({scrollTop:r.find(".premium-woocommerce").offset().top-100},"slow"),s.find("ul.products").replaceWith(e.data.html),s.find(".premium-woo-products-pagination").replaceWith(e.data.pagination),s.hasClass("premium-woo-products-metro")&&d.handleGridMetro()},error:function(e){console.log(e)}})}})}},l(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/premium-woo-products.grid-1",e),elementorFrontend.hooks.addAction("frontend/element_ready/premium-woo-products.grid-2",e),elementorFrontend.hooks.addAction("frontend/element_ready/premium-woo-products.grid-3",e),elementorFrontend.hooks.addAction("frontend/element_ready/premium-woo-products.grid-4",e),elementorFrontend.hooks.addAction("frontend/element_ready/premium-woo-products.grid-5",e),elementorFrontend.hooks.addAction("frontend/element_ready/premium-woo-products.grid-6",e)})}(jQuery);
|
base/module-base.php
ADDED
@@ -0,0 +1,113 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace PremiumAddons\Base;
|
4 |
+
|
5 |
+
use PremiumAddons\Admin\Includes\Admin_Helper;
|
6 |
+
|
7 |
+
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
8 |
+
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Module Base
|
12 |
+
*
|
13 |
+
* @since 4.0.0
|
14 |
+
*/
|
15 |
+
abstract class Module_Base {
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Reflection
|
19 |
+
*
|
20 |
+
* @var reflection
|
21 |
+
*/
|
22 |
+
private $reflection;
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Modules
|
26 |
+
*
|
27 |
+
* @var modules
|
28 |
+
*/
|
29 |
+
private static $modules = null;
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Reflection
|
33 |
+
*
|
34 |
+
* @var instances
|
35 |
+
*/
|
36 |
+
protected static $instances = [];
|
37 |
+
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Class name to Call
|
41 |
+
*
|
42 |
+
* @since 4.0.0
|
43 |
+
*/
|
44 |
+
public static function class_name() {
|
45 |
+
return get_called_class();
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Class instance
|
50 |
+
*
|
51 |
+
* @since 4.0.0
|
52 |
+
*
|
53 |
+
* @return static
|
54 |
+
*/
|
55 |
+
public static function instance() {
|
56 |
+
|
57 |
+
if ( empty( static::$instances[ static::class_name() ] ) ) {
|
58 |
+
|
59 |
+
static::$instances[ static::class_name() ] = new static();
|
60 |
+
|
61 |
+
}
|
62 |
+
|
63 |
+
return static::$instances[ static::class_name() ];
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Constructor
|
68 |
+
*/
|
69 |
+
public function __construct() {
|
70 |
+
|
71 |
+
$this->reflection = new \ReflectionClass( $this );
|
72 |
+
|
73 |
+
add_action( 'elementor/widgets/widgets_registered', [ $this, 'init_widgets' ] );
|
74 |
+
}
|
75 |
+
|
76 |
+
/**
|
77 |
+
* Init Widgets
|
78 |
+
*
|
79 |
+
* @since 4.0.0
|
80 |
+
*/
|
81 |
+
public function init_widgets() {
|
82 |
+
|
83 |
+
self::$modules = Admin_Helper::get_enabled_elements();
|
84 |
+
|
85 |
+
$widget_manager = \Elementor\Plugin::instance()->widgets_manager;
|
86 |
+
|
87 |
+
foreach ( $this->get_widgets() as $widget ) {
|
88 |
+
|
89 |
+
$key = sprintf( 'premium-%s', strtolower( str_replace('_', '-', $widget ) ) );
|
90 |
+
|
91 |
+
$enabled = isset( self::$modules[ $key ] ) ? self::$modules[ $key ] : '';
|
92 |
+
|
93 |
+
if ( filter_var( $enabled, FILTER_VALIDATE_BOOLEAN ) ) {
|
94 |
+
$class_name = $this->reflection->getNamespaceName() . '\Widgets\\' . $widget;
|
95 |
+
|
96 |
+
$widget_manager->register_widget_type( new $class_name() );
|
97 |
+
}
|
98 |
+
|
99 |
+
|
100 |
+
}
|
101 |
+
}
|
102 |
+
|
103 |
+
/**
|
104 |
+
* Get Widgets
|
105 |
+
*
|
106 |
+
* @since 4.0.0
|
107 |
+
*
|
108 |
+
* @return array
|
109 |
+
*/
|
110 |
+
public function get_widgets() {
|
111 |
+
return [];
|
112 |
+
}
|
113 |
+
}
|
includes/{class-addons-category.php → addons-category.php}
RENAMED
@@ -5,7 +5,7 @@
|
|
5 |
Â
*/
|
6 |
Â
namespace PremiumAddons\Includes;
|
7 |
Â
|
8 |
-
use PremiumAddons\Helper_Functions;
|
9 |
Â
|
10 |
Â
if( ! defined( 'ABSPATH' ) ) exit();
|
11 |
Â
|
@@ -21,6 +21,9 @@ class Addons_Category {
|
|
21 |
Â
*/
|
22 |
Â
private static $instance = null;
|
23 |
Â
|
Â
|
|
Â
|
|
Â
|
|
24 |
Â
public function __construct() {
|
25 |
Â
$this->create_premium_category();
|
26 |
Â
}
|
@@ -50,24 +53,14 @@ class Addons_Category {
|
|
50 |
Â
*
|
51 |
Â
* @return object
|
52 |
Â
*/
|
53 |
-
|
54 |
-
if( self::$instance == null ) {
|
55 |
-
self::$instance = new self;
|
56 |
-
}
|
57 |
-
return self::$instance;
|
58 |
-
}
|
59 |
-
}
|
60 |
-
|
61 |
Â
|
62 |
-
if
|
63 |
Â
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
return Addons_Category::get_instance();
|
71 |
-
}
|
72 |
Â
}
|
73 |
-
premium_addons_category();
|
5 |
Â
*/
|
6 |
Â
namespace PremiumAddons\Includes;
|
7 |
Â
|
8 |
+
use PremiumAddons\Includes\Helper_Functions;
|
9 |
Â
|
10 |
Â
if( ! defined( 'ABSPATH' ) ) exit();
|
11 |
Â
|
21 |
Â
*/
|
22 |
Â
private static $instance = null;
|
23 |
Â
|
24 |
+
/**
|
25 |
+
* Constructor for the class
|
26 |
+
*/
|
27 |
Â
public function __construct() {
|
28 |
Â
$this->create_premium_category();
|
29 |
Â
}
|
53 |
Â
*
|
54 |
Â
* @return object
|
55 |
Â
*/
|
56 |
+
public static function get_instance() {
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
57 |
Â
|
58 |
+
if( self::$instance == null ) {
|
59 |
Â
|
60 |
+
self::$instance = new self;
|
61 |
+
|
62 |
+
}
|
63 |
+
|
64 |
+
return self::$instance;
|
65 |
+
}
|
Â
|
|
Â
|
|
66 |
Â
}
|
Â
|
includes/addons-cross-cp.php
ADDED
@@ -0,0 +1,148 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace PremiumAddons\Includes;
|
4 |
+
|
5 |
+
use Elementor\Utils;
|
6 |
+
use Elementor\Controls_Stack;
|
7 |
+
|
8 |
+
if ( ! defined( 'WPINC' ) ) {
|
9 |
+
die;
|
10 |
+
}
|
11 |
+
/*
|
12 |
+
* Premium Cross Domain Copy Paste Feature
|
13 |
+
*/
|
14 |
+
if ( ! class_exists( 'Addons_Cross_CP' ) ) {
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Define Addons_Cross_CP class
|
18 |
+
*/
|
19 |
+
class Addons_Cross_CP {
|
20 |
+
|
21 |
+
/**
|
22 |
+
* A reference to an instance of this class.
|
23 |
+
*
|
24 |
+
* @since 3.21.1
|
25 |
+
*/
|
26 |
+
private static $instance = null;
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Initalize integration hooks
|
30 |
+
*
|
31 |
+
* @return void
|
32 |
+
*/
|
33 |
+
public function __construct() {
|
34 |
+
add_action( 'wp_ajax_premium_cross_cp_import', array( $this, 'cross_cp_fetch_content_data' ) );
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Cross copy paste fetch data.
|
39 |
+
*
|
40 |
+
* @since 3.21.1
|
41 |
+
*/
|
42 |
+
public static function cross_cp_fetch_content_data() {
|
43 |
+
|
44 |
+
check_ajax_referer( 'premium_cross_cp_import', 'nonce' );
|
45 |
+
|
46 |
+
if ( ! current_user_can( 'edit_posts' ) ) {
|
47 |
+
wp_send_json_error(
|
48 |
+
__( 'Not a Valid', 'premium-addons-for-elementor' ),
|
49 |
+
403
|
50 |
+
);
|
51 |
+
}
|
52 |
+
|
53 |
+
$media_import = isset( $_POST['copy_content'] ) ? wp_unslash( $_POST['copy_content'] ) : '';
|
54 |
+
|
55 |
+
if ( empty( $media_import ) ) {
|
56 |
+
wp_send_json_error( __( 'Empty Content.', 'premium-addons-for-elementor' ) );
|
57 |
+
}
|
58 |
+
|
59 |
+
$media_import = array( json_decode( $media_import, true ) );
|
60 |
+
$media_import = self::cross_cp_import_elements_ids( $media_import );
|
61 |
+
$media_import = self::cross_cp_import_copy_content( $media_import );
|
62 |
+
|
63 |
+
wp_send_json_success( $media_import );
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Replace media element id with random id.
|
68 |
+
*
|
69 |
+
* @since 3.21.1
|
70 |
+
*/
|
71 |
+
protected static function cross_cp_import_elements_ids( $media_import ) {
|
72 |
+
|
73 |
+
return \Elementor\Plugin::instance()->db->iterate_data(
|
74 |
+
$media_import,
|
75 |
+
function( $element ) {
|
76 |
+
$element['id'] = Utils::generate_random_string();
|
77 |
+
return $element;
|
78 |
+
}
|
79 |
+
);
|
80 |
+
|
81 |
+
}
|
82 |
+
|
83 |
+
/**
|
84 |
+
* Media import copy content.
|
85 |
+
*
|
86 |
+
* @since 3.21.1
|
87 |
+
*/
|
88 |
+
protected static function cross_cp_import_copy_content( $media_import ) {
|
89 |
+
|
90 |
+
return \Elementor\Plugin::instance()->db->iterate_data(
|
91 |
+
$media_import,
|
92 |
+
function( $element_data ) {
|
93 |
+
$elements = \Elementor\Plugin::instance()->elements_manager->create_element_instance( $element_data );
|
94 |
+
|
95 |
+
if ( ! $elements ) {
|
96 |
+
return null;
|
97 |
+
}
|
98 |
+
|
99 |
+
return self::cross_cp_import_element( $elements );
|
100 |
+
}
|
101 |
+
);
|
102 |
+
|
103 |
+
}
|
104 |
+
|
105 |
+
/**
|
106 |
+
* Start element copy content for media import.
|
107 |
+
*
|
108 |
+
* @since 3.21.1
|
109 |
+
*/
|
110 |
+
protected static function cross_cp_import_element( Controls_Stack $element ) {
|
111 |
+
$get_element_instance = $element->get_data();
|
112 |
+
$method = 'on_import';
|
113 |
+
|
114 |
+
if ( method_exists( $element, $method ) ) {
|
115 |
+
$get_element_instance = $element->{$method}( $get_element_instance );
|
116 |
+
}
|
117 |
+
|
118 |
+
foreach ( $element->get_controls() as $get_control ) {
|
119 |
+
$control_type = \Elementor\Plugin::instance()->controls_manager->get_control( $get_control['type'] );
|
120 |
+
$control_name = $get_control['name'];
|
121 |
+
|
122 |
+
if ( ! $control_type ) {
|
123 |
+
return $get_element_instance;
|
124 |
+
}
|
125 |
+
|
126 |
+
if ( method_exists( $control_type, $method) ) {
|
127 |
+
$get_element_instance['settings'][ $control_name ] = $control_type->{$method}( $element->get_settings( $control_name ), $get_control );
|
128 |
+
}
|
129 |
+
}
|
130 |
+
|
131 |
+
return $get_element_instance;
|
132 |
+
}
|
133 |
+
|
134 |
+
/**
|
135 |
+
* Returns the instance.
|
136 |
+
*
|
137 |
+
* @since 3.21.1
|
138 |
+
* @return object
|
139 |
+
*/
|
140 |
+
public static function get_instance( $shortcodes = array() ) {
|
141 |
+
|
142 |
+
if ( null == self::$instance ) {
|
143 |
+
self::$instance = new self( $shortcodes );
|
144 |
+
}
|
145 |
+
return self::$instance;
|
146 |
+
}
|
147 |
+
}
|
148 |
+
}
|
includes/{class-addons-integration.php → addons-integration.php}
RENAMED
@@ -1,10 +1,9 @@
|
|
1 |
Â
<?php
|
2 |
Â
|
3 |
-
namespace PremiumAddons;
|
4 |
Â
|
5 |
-
use PremiumAddons\
|
6 |
-
use PremiumAddons\Admin\
|
7 |
-
use PremiumAddons\Helper_Functions;
|
8 |
Â
|
9 |
Â
if( ! defined( 'ABSPATH' ) ) exit();
|
10 |
Â
|
@@ -16,17 +15,16 @@ class Addons_Integration {
|
|
16 |
Â
//Modules Keys
|
17 |
Â
private static $modules = null;
|
18 |
Â
|
19 |
-
//`premium_Template_Tags` Instance
|
20 |
-
protected $templateInstance;
|
21 |
-
|
22 |
-
|
23 |
Â
//Maps Keys
|
24 |
Â
private static $maps = null;
|
Â
|
|
Â
|
|
Â
|
|
25 |
Â
|
26 |
Â
/**
|
27 |
Â
* Cross-Site CDN URL.
|
28 |
Â
*
|
29 |
-
* @since
|
30 |
Â
* @var (String) URL
|
31 |
Â
*/
|
32 |
Â
public $cdn_url;
|
@@ -38,13 +36,15 @@ class Addons_Integration {
|
|
38 |
Â
*/
|
39 |
Â
public function __construct() {
|
40 |
Â
|
41 |
-
self::$modules =
|
42 |
Â
|
43 |
-
self::$maps =
|
44 |
Â
|
45 |
-
$this->templateInstance =
|
46 |
Â
|
47 |
Â
add_action( 'elementor/editor/before_enqueue_styles', array( $this, 'enqueue_editor_styles' ) );
|
Â
|
|
Â
|
|
48 |
Â
|
49 |
Â
add_action( 'elementor/widgets/widgets_registered', array( $this, 'widgets_area' ) );
|
50 |
Â
|
@@ -58,14 +58,15 @@ class Addons_Integration {
|
|
58 |
Â
|
59 |
Â
add_action( 'wp_ajax_get_elementor_template_content', array( $this, 'get_template_content' ) );
|
60 |
Â
|
61 |
-
|
62 |
Â
|
63 |
-
|
64 |
Â
|
65 |
-
|
66 |
-
|
Â
|
|
67 |
Â
|
68 |
-
|
69 |
Â
|
70 |
Â
}
|
71 |
Â
|
@@ -102,7 +103,7 @@ class Addons_Integration {
|
|
102 |
Â
|
103 |
Â
$dynamic_css = sprintf( '[class^="pa-"]::after, [class*=" pa-"]::after { content: "%s"; }', $badge_text ) ;
|
104 |
Â
|
105 |
-
wp_add_inline_style( '
|
106 |
Â
|
107 |
Â
}
|
108 |
Â
|
@@ -157,6 +158,21 @@ class Addons_Integration {
|
|
157 |
Â
wp_enqueue_style( 'premium-addons' );
|
158 |
Â
|
159 |
Â
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
160 |
Â
|
161 |
Â
/**
|
162 |
Â
* Load widgets require function
|
@@ -183,8 +199,22 @@ class Addons_Integration {
|
|
183 |
Â
|
184 |
Â
$slug = basename( $file, '.php' );
|
185 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
186 |
Â
$enabled = isset( $check_component_active[ $slug ] ) ? $check_component_active[ $slug ] : '';
|
187 |
-
|
188 |
Â
if ( filter_var( $enabled, FILTER_VALIDATE_BOOLEAN ) || ! $check_component_active ) {
|
189 |
Â
$this->register_addon( $file );
|
190 |
Â
}
|
@@ -208,12 +238,21 @@ class Addons_Integration {
|
|
208 |
Â
$locale = isset ( $maps_settings['premium-map-locale'] ) ? $maps_settings['premium-map-locale'] : "en";
|
209 |
Â
|
210 |
Â
wp_register_script(
|
211 |
-
'premium-addons
|
212 |
Â
PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/premium-addons' . $suffix . '.js',
|
213 |
Â
array('jquery'),
|
214 |
Â
PREMIUM_ADDONS_VERSION,
|
215 |
Â
true
|
216 |
Â
);
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
217 |
Â
|
218 |
Â
wp_register_script(
|
219 |
Â
'prettyPhoto-js',
|
@@ -245,7 +284,7 @@ class Addons_Integration {
|
|
245 |
Â
PREMIUM_ADDONS_VERSION,
|
246 |
Â
true
|
247 |
Â
);
|
248 |
-
|
249 |
Â
wp_register_script(
|
250 |
Â
'isotope-js',
|
251 |
Â
PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/isotope' . $suffix . '.js',
|
@@ -278,23 +317,23 @@ class Addons_Integration {
|
|
278 |
Â
true
|
279 |
Â
);
|
280 |
Â
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
Â
'tilt-js',
|
299 |
Â
PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/universal-tilt' . $suffix . '.js',
|
300 |
Â
array( 'jquery' ),
|
@@ -310,7 +349,7 @@ class Addons_Integration {
|
|
310 |
Â
true
|
311 |
Â
);
|
312 |
Â
|
313 |
-
|
314 |
Â
wp_register_script(
|
315 |
Â
'google-maps-cluster',
|
316 |
Â
'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/markerclusterer.js',
|
@@ -331,11 +370,24 @@ class Addons_Integration {
|
|
331 |
Â
);
|
332 |
Â
}
|
333 |
Â
|
334 |
-
|
335 |
-
'
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
336 |
Â
);
|
337 |
-
|
338 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
339 |
Â
|
340 |
Â
}
|
341 |
Â
|
@@ -351,24 +403,24 @@ class Addons_Integration {
|
|
351 |
Â
|
352 |
Â
if( $map_enabled ) {
|
353 |
Â
|
354 |
-
|
355 |
Â
|
356 |
-
|
357 |
Â
|
358 |
-
|
359 |
Â
|
360 |
-
|
361 |
Â
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
Â
|
371 |
-
|
372 |
Â
|
373 |
Â
wp_enqueue_script(
|
374 |
Â
'pa-maps-finder',
|
@@ -390,9 +442,6 @@ class Addons_Integration {
|
|
390 |
Â
|
391 |
Â
public function enqueue_editor_cp_scripts() {
|
392 |
Â
|
393 |
-
$dir = Helper_Functions::get_scripts_dir();
|
394 |
-
$suffix = Helper_Functions::get_assets_suffix();
|
395 |
-
|
396 |
Â
wp_enqueue_script(
|
397 |
Â
'premium-xdlocalstorage-js',
|
398 |
Â
PREMIUM_ADDONS_URL . 'assets/editor/js/xdlocalstorage.js',
|
@@ -478,8 +527,8 @@ class Addons_Integration {
|
|
478 |
Â
}
|
479 |
Â
}
|
480 |
Â
|
481 |
-
if ( 'PremiumAddons\Widgets\
|
482 |
-
require_once ( PREMIUM_ADDONS_PATH . 'widgets/dep/
|
483 |
Â
}
|
484 |
Â
|
485 |
Â
if ( class_exists( $class ) ) {
|
@@ -497,24 +546,14 @@ class Addons_Integration {
|
|
497 |
Â
* @return object
|
498 |
Â
*
|
499 |
Â
*/
|
500 |
-
|
501 |
-
if( self::$instance == null ) {
|
502 |
-
self::$instance = new self;
|
503 |
-
}
|
504 |
-
return self::$instance;
|
505 |
-
}
|
506 |
-
}
|
507 |
-
|
508 |
Â
|
509 |
-
if
|
510 |
Â
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
return Addons_Integration::get_instance();
|
518 |
-
}
|
519 |
Â
}
|
520 |
-
premium_addons_integration();
|
1 |
Â
<?php
|
2 |
Â
|
3 |
+
namespace PremiumAddons\Includes;
|
4 |
Â
|
5 |
+
use PremiumAddons\Includes\Helper_Functions;
|
6 |
+
use PremiumAddons\Admin\Includes\Admin_Helper;
|
Â
|
|
7 |
Â
|
8 |
Â
if( ! defined( 'ABSPATH' ) ) exit();
|
9 |
Â
|
15 |
Â
//Modules Keys
|
16 |
Â
private static $modules = null;
|
17 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
18 |
Â
//Maps Keys
|
19 |
Â
private static $maps = null;
|
20 |
+
|
21 |
+
//`Premium_Template_Tags` Instance
|
22 |
+
protected $templateInstance;
|
23 |
Â
|
24 |
Â
/**
|
25 |
Â
* Cross-Site CDN URL.
|
26 |
Â
*
|
27 |
+
* @since 4.0.0
|
28 |
Â
* @var (String) URL
|
29 |
Â
*/
|
30 |
Â
public $cdn_url;
|
36 |
Â
*/
|
37 |
Â
public function __construct() {
|
38 |
Â
|
39 |
+
self::$modules = Admin_Helper::get_enabled_elements();
|
40 |
Â
|
41 |
+
self::$maps = Admin_Helper::get_integrations_settings();
|
42 |
Â
|
43 |
+
$this->templateInstance = Premium_Template_Tags::getInstance();
|
44 |
Â
|
45 |
Â
add_action( 'elementor/editor/before_enqueue_styles', array( $this, 'enqueue_editor_styles' ) );
|
46 |
+
|
47 |
+
add_action( 'elementor/elements/categories_registered', array( $this, 'register_widgets_category' ), 9 );
|
48 |
Â
|
49 |
Â
add_action( 'elementor/widgets/widgets_registered', array( $this, 'widgets_area' ) );
|
50 |
Â
|
58 |
Â
|
59 |
Â
add_action( 'wp_ajax_get_elementor_template_content', array( $this, 'get_template_content' ) );
|
60 |
Â
|
61 |
+
$cross_enabled = isset( self::$modules['premium-cross-domain'] ) ? self::$modules['premium-cross-domain'] : 1;
|
62 |
Â
|
63 |
+
if( $cross_enabled ) {
|
64 |
Â
|
65 |
+
add_action( 'elementor/editor/before_enqueue_scripts', array( $this, 'enqueue_editor_cp_scripts' ), 99 );
|
66 |
+
// require_once PREMIUM_ADDONS_PATH . 'includes/class-addons-cross-cp.php';
|
67 |
+
Addons_Cross_CP::get_instance();
|
68 |
Â
|
69 |
+
}
|
70 |
Â
|
71 |
Â
}
|
72 |
Â
|
103 |
Â
|
104 |
Â
$dynamic_css = sprintf( '[class^="pa-"]::after, [class*=" pa-"]::after { content: "%s"; }', $badge_text ) ;
|
105 |
Â
|
106 |
+
wp_add_inline_style( 'pa-editor', $dynamic_css );
|
107 |
Â
|
108 |
Â
}
|
109 |
Â
|
158 |
Â
wp_enqueue_style( 'premium-addons' );
|
159 |
Â
|
160 |
Â
}
|
161 |
+
|
162 |
+
/**
|
163 |
+
* Register Widgets Category
|
164 |
+
*
|
165 |
+
* Register a new category for Premium Addons widgets
|
166 |
+
*
|
167 |
+
* @since 4.0.0
|
168 |
+
* @access public
|
169 |
+
*
|
170 |
+
*/
|
171 |
+
public function register_widgets_category() {
|
172 |
+
|
173 |
+
Addons_Category::get_instance();
|
174 |
+
|
175 |
+
}
|
176 |
Â
|
177 |
Â
/**
|
178 |
Â
* Load widgets require function
|
199 |
Â
|
200 |
Â
$slug = basename( $file, '.php' );
|
201 |
Â
|
202 |
+
//Fixes the conflict between Lottie widget/addon keys
|
203 |
+
if( 'premium-lottie' === $slug ) {
|
204 |
+
|
205 |
+
//Check if Lottie widget switcher value was saved before.
|
206 |
+
$saved_options = get_option( 'pa_save_settings' );
|
207 |
+
|
208 |
+
$slug = 'premium-lottie-widget';
|
209 |
+
|
210 |
+
if( ! isset( $saved_options[ $slug ] ) ) {
|
211 |
+
$check_component_active[ $slug ] = 1;
|
212 |
+
}
|
213 |
+
|
214 |
+
}
|
215 |
+
|
216 |
Â
$enabled = isset( $check_component_active[ $slug ] ) ? $check_component_active[ $slug ] : '';
|
217 |
+
|
218 |
Â
if ( filter_var( $enabled, FILTER_VALIDATE_BOOLEAN ) || ! $check_component_active ) {
|
219 |
Â
$this->register_addon( $file );
|
220 |
Â
}
|
238 |
Â
$locale = isset ( $maps_settings['premium-map-locale'] ) ? $maps_settings['premium-map-locale'] : "en";
|
239 |
Â
|
240 |
Â
wp_register_script(
|
241 |
+
'premium-addons',
|
242 |
Â
PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/premium-addons' . $suffix . '.js',
|
243 |
Â
array('jquery'),
|
244 |
Â
PREMIUM_ADDONS_VERSION,
|
245 |
Â
true
|
246 |
Â
);
|
247 |
+
|
248 |
+
// wp_register_script(
|
249 |
+
// 'premium-woocommerce',
|
250 |
+
// PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/premium-woocommerce' . $suffix . '.js',
|
251 |
+
// array('jquery'),
|
252 |
+
// PREMIUM_ADDONS_VERSION,
|
253 |
+
// true
|
254 |
+
// );
|
255 |
+
|
256 |
Â
|
257 |
Â
wp_register_script(
|
258 |
Â
'prettyPhoto-js',
|
284 |
Â
PREMIUM_ADDONS_VERSION,
|
285 |
Â
true
|
286 |
Â
);
|
287 |
+
|
288 |
Â
wp_register_script(
|
289 |
Â
'isotope-js',
|
290 |
Â
PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/isotope' . $suffix . '.js',
|
317 |
Â
true
|
318 |
Â
);
|
319 |
Â
|
320 |
+
wp_register_script(
|
321 |
+
'slimscroll-js',
|
322 |
+
PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/jquery-slimscroll' . $suffix . '.js',
|
323 |
+
array('jquery'),
|
324 |
+
PREMIUM_ADDONS_VERSION,
|
325 |
+
true
|
326 |
+
);
|
327 |
+
|
328 |
+
wp_register_script(
|
329 |
+
'iscroll-js',
|
330 |
+
PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/iscroll' . $suffix . '.js',
|
331 |
+
array('jquery'),
|
332 |
+
PREMIUM_ADDONS_VERSION,
|
333 |
+
true
|
334 |
+
);
|
335 |
+
|
336 |
+
wp_register_script(
|
337 |
Â
'tilt-js',
|
338 |
Â
PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/universal-tilt' . $suffix . '.js',
|
339 |
Â
array( 'jquery' ),
|
349 |
Â
true
|
350 |
Â
);
|
351 |
Â
|
352 |
+
if( $maps_settings['premium-map-cluster'] ) {
|
353 |
Â
wp_register_script(
|
354 |
Â
'google-maps-cluster',
|
355 |
Â
'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/markerclusterer.js',
|
370 |
Â
);
|
371 |
Â
}
|
372 |
Â
|
373 |
+
wp_localize_script(
|
374 |
+
'premium-addons',
|
375 |
+
'PremiumSettings',
|
376 |
+
array(
|
377 |
+
'ajaxurl' => esc_url( admin_url( 'admin-ajax.php' ) ),
|
378 |
+
'nonce' => wp_create_nonce( 'pa-blog-widget-nonce' ),
|
379 |
+
)
|
380 |
Â
);
|
381 |
+
|
382 |
+
// wp_localize_script(
|
383 |
+
// 'premium-woocommerce',
|
384 |
+
// 'PremiumWooSettings',
|
385 |
+
// array(
|
386 |
+
// 'ajaxurl' => esc_url( admin_url( 'admin-ajax.php' ) ),
|
387 |
+
// 'products_nonce' => wp_create_nonce( 'pa-woo-products-nonce' ),
|
388 |
+
// 'qv_nonce' => wp_create_nonce( 'pa-woo-qv-nonce' ),
|
389 |
+
// )
|
390 |
+
// );
|
391 |
Â
|
392 |
Â
}
|
393 |
Â
|
403 |
Â
|
404 |
Â
if( $map_enabled ) {
|
405 |
Â
|
406 |
+
$premium_maps_api = self::$maps['premium-map-api'];
|
407 |
Â
|
408 |
+
$locale = isset ( self::$maps['premium-map-locale'] ) ? self::$maps['premium-map-locale'] : "en";
|
409 |
Â
|
410 |
+
$premium_maps_disable_api = self::$maps['premium-map-disable-api'];
|
411 |
Â
|
412 |
+
if ( $premium_maps_disable_api && '1' != $premium_maps_api ) {
|
413 |
Â
|
414 |
+
$api = sprintf ( 'https://maps.googleapis.com/maps/api/js?key=%1$s&language=%2$s', $premium_maps_api, $locale );
|
415 |
+
wp_enqueue_script(
|
416 |
+
'premium-maps-api-js',
|
417 |
+
$api,
|
418 |
+
array(),
|
419 |
+
PREMIUM_ADDONS_VERSION,
|
420 |
+
false
|
421 |
+
);
|
422 |
Â
|
423 |
+
}
|
424 |
Â
|
425 |
Â
wp_enqueue_script(
|
426 |
Â
'pa-maps-finder',
|
442 |
Â
|
443 |
Â
public function enqueue_editor_cp_scripts() {
|
444 |
Â
|
Â
|
|
Â
|
|
Â
|
|
445 |
Â
wp_enqueue_script(
|
446 |
Â
'premium-xdlocalstorage-js',
|
447 |
Â
PREMIUM_ADDONS_URL . 'assets/editor/js/xdlocalstorage.js',
|
527 |
Â
}
|
528 |
Â
}
|
529 |
Â
|
530 |
+
if ( 'PremiumAddons\Widgets\Premium_Videobox' == $class ) {
|
531 |
+
require_once ( PREMIUM_ADDONS_PATH . 'widgets/dep/urlopen.php' );
|
532 |
Â
}
|
533 |
Â
|
534 |
Â
if ( class_exists( $class ) ) {
|
546 |
Â
* @return object
|
547 |
Â
*
|
548 |
Â
*/
|
549 |
+
public static function get_instance() {
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
550 |
Â
|
551 |
+
if( self::$instance == null ) {
|
552 |
Â
|
553 |
+
self::$instance = new self;
|
554 |
+
|
555 |
+
}
|
556 |
+
|
557 |
+
return self::$instance;
|
558 |
+
}
|
Â
|
|
Â
|
|
559 |
Â
}
|
Â
|
includes/{class-beta-testers.php → beta-testers.php}
RENAMED
@@ -5,6 +5,8 @@
|
|
5 |
Â
*/
|
6 |
Â
namespace PremiumAddons\Includes;
|
7 |
Â
|
Â
|
|
Â
|
|
8 |
Â
if ( ! defined( 'ABSPATH' ) ) exit;
|
9 |
Â
|
10 |
Â
/**
|
@@ -27,13 +29,15 @@ class Beta_Testers {
|
|
27 |
Â
private $transient_key;
|
28 |
Â
|
29 |
Â
/**
|
30 |
-
*
|
31 |
Â
*/
|
32 |
Â
public function __construct() {
|
Â
|
|
Â
|
|
33 |
Â
|
34 |
-
$
|
35 |
Â
|
36 |
-
if ( 0 !== $
|
37 |
Â
return;
|
38 |
Â
}
|
39 |
Â
|
@@ -126,23 +130,12 @@ class Beta_Testers {
|
|
126 |
Â
* @return object
|
127 |
Â
*/
|
128 |
Â
public static function get_instance() {
|
Â
|
|
129 |
Â
if( self::$instance == null ) {
|
Â
|
|
130 |
Â
self::$instance = new self;
|
Â
|
|
131 |
Â
}
|
132 |
Â
return self::$instance;
|
133 |
Â
}
|
134 |
Â
}
|
135 |
-
|
136 |
-
|
137 |
-
if ( ! function_exists( 'premium_beta_tester' ) ) {
|
138 |
-
|
139 |
-
/**
|
140 |
-
* Returns an instance of the plugin class.
|
141 |
-
* @since 2.6.8
|
142 |
-
* @return object
|
143 |
-
*/
|
144 |
-
function premium_beta_tester() {
|
145 |
-
return Beta_Testers::get_instance();
|
146 |
-
}
|
147 |
-
}
|
148 |
-
premium_beta_tester();
|
5 |
Â
*/
|
6 |
Â
namespace PremiumAddons\Includes;
|
7 |
Â
|
8 |
+
use PremiumAddons\Admin\Includes\Admin_Helper;
|
9 |
+
|
10 |
Â
if ( ! defined( 'ABSPATH' ) ) exit;
|
11 |
Â
|
12 |
Â
/**
|
29 |
Â
private $transient_key;
|
30 |
Â
|
31 |
Â
/**
|
32 |
+
* Class Constructor
|
33 |
Â
*/
|
34 |
Â
public function __construct() {
|
35 |
+
|
36 |
+
$settings = Admin_Helper::get_integrations_settings();
|
37 |
Â
|
38 |
+
$is_beta_tester = $settings['is-beta-tester'];
|
39 |
Â
|
40 |
+
if ( 0 !== $is_beta_tester ) {
|
41 |
Â
return;
|
42 |
Â
}
|
43 |
Â
|
130 |
Â
* @return object
|
131 |
Â
*/
|
132 |
Â
public static function get_instance() {
|
133 |
+
|
134 |
Â
if( self::$instance == null ) {
|
135 |
+
|
136 |
Â
self::$instance = new self;
|
137 |
+
|
138 |
Â
}
|
139 |
Â
return self::$instance;
|
140 |
Â
}
|
141 |
Â
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
includes/class-pa-core.php
ADDED
@@ -0,0 +1,225 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* PA Core.
|
5 |
+
*/
|
6 |
+
namespace PremiumAddons\Includes;
|
7 |
+
|
8 |
+
if( ! class_exists('PA_Core') ) {
|
9 |
+
|
10 |
+
/*
|
11 |
+
* Intialize and Sets up the plugin
|
12 |
+
*/
|
13 |
+
class PA_Core {
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Member Variable
|
17 |
+
*
|
18 |
+
* @var instance
|
19 |
+
*/
|
20 |
+
private static $instance = null;
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Sets up needed actions/filters for the plug-in to initialize.
|
24 |
+
*
|
25 |
+
* @since 1.0.0
|
26 |
+
* @access public
|
27 |
+
*
|
28 |
+
* @return void
|
29 |
+
*/
|
30 |
+
public function __construct() {
|
31 |
+
|
32 |
+
//Autoloader
|
33 |
+
spl_autoload_register( array( $this, 'autoload' ) );
|
34 |
+
|
35 |
+
//Run plugin and require the necessary files
|
36 |
+
add_action( 'plugins_loaded', array( $this, 'premium_addons_elementor_setup' ) );
|
37 |
+
|
38 |
+
//Load Elementor files
|
39 |
+
add_action( 'elementor/init', array( $this, 'elementor_init' ) );
|
40 |
+
add_action( 'init', array( $this, 'init' ), -999 );
|
41 |
+
|
42 |
+
//Register Rollback hooks
|
43 |
+
add_action( 'admin_post_premium_addons_rollback', 'post_premium_addons_rollback' );
|
44 |
+
|
45 |
+
//Register Activation hooks
|
46 |
+
register_activation_hook( PREMIUM_ADDONS_FILE, array( $this, 'set_transient' ) );
|
47 |
+
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* AutoLoad
|
52 |
+
*
|
53 |
+
* @since 3.20.9
|
54 |
+
* @param string $class class.
|
55 |
+
*/
|
56 |
+
public function autoload( $class ) {
|
57 |
+
|
58 |
+
if ( 0 !== strpos( $class, 'PremiumAddons' ) ) {
|
59 |
+
return;
|
60 |
+
}
|
61 |
+
|
62 |
+
$class_to_load = $class;
|
63 |
+
|
64 |
+
if ( ! class_exists( $class_to_load ) ) {
|
65 |
+
$filename = strtolower(
|
66 |
+
preg_replace(
|
67 |
+
array( '/^' . 'PremiumAddons' . '\\\/', '/([a-z])([A-Z])/', '/_/', '/\\\/' ),
|
68 |
+
array( '', '$1-$2', '-', DIRECTORY_SEPARATOR ),
|
69 |
+
$class_to_load
|
70 |
+
)
|
71 |
+
);
|
72 |
+
|
73 |
+
$filename = PREMIUM_ADDONS_PATH . $filename . '.php';
|
74 |
+
|
75 |
+
if ( is_readable( $filename ) ) {
|
76 |
+
|
77 |
+
include( $filename );
|
78 |
+
}
|
79 |
+
}
|
80 |
+
}
|
81 |
+
|
82 |
+
/**
|
83 |
+
* Installs translation text domain and checks if Elementor is installed
|
84 |
+
*
|
85 |
+
* @since 1.0.0
|
86 |
+
* @access public
|
87 |
+
*
|
88 |
+
* @return void
|
89 |
+
*/
|
90 |
+
public function premium_addons_elementor_setup() {
|
91 |
+
|
92 |
+
//Load plugin textdomain
|
93 |
+
$this->load_domain();
|
94 |
+
|
95 |
+
//load plugin necessary files
|
96 |
+
$this->init_files();
|
97 |
+
}
|
98 |
+
|
99 |
+
/**
|
100 |
+
* Set transient for admin review notice
|
101 |
+
*
|
102 |
+
* @since 3.1.7
|
103 |
+
* @access public
|
104 |
+
*
|
105 |
+
* @return void
|
106 |
+
*/
|
107 |
+
public function set_transient() {
|
108 |
+
|
109 |
+
$cache_key = 'premium_notice_' . PREMIUM_ADDONS_VERSION;
|
110 |
+
|
111 |
+
$expiration = 3600 * 72;
|
112 |
+
|
113 |
+
set_transient( $cache_key, true, $expiration );
|
114 |
+
}
|
115 |
+
|
116 |
+
|
117 |
+
/**
|
118 |
+
* Require initial necessary files
|
119 |
+
*
|
120 |
+
* @since 2.6.8
|
121 |
+
* @access public
|
122 |
+
*
|
123 |
+
* @return void
|
124 |
+
*/
|
125 |
+
public function init_files() {
|
126 |
+
|
127 |
+
\PremiumAddons\Admin\Includes\Admin_Helper::get_instance();
|
128 |
+
|
129 |
+
require_once ( PREMIUM_ADDONS_PATH . 'includes/elementor-helper.php' );
|
130 |
+
|
131 |
+
if ( is_admin() ) {
|
132 |
+
|
133 |
+
require_once ( PREMIUM_ADDONS_PATH . 'admin/includes/dep/maintenance.php');
|
134 |
+
require_once ( PREMIUM_ADDONS_PATH . 'admin/includes/dep/rollback.php');
|
135 |
+
|
136 |
+
Beta_Testers::get_instance();
|
137 |
+
|
138 |
+
\PremiumAddons\Admin\Includes\Admin_Notices::get_instance();
|
139 |
+
|
140 |
+
}
|
141 |
+
|
142 |
+
}
|
143 |
+
|
144 |
+
/**
|
145 |
+
* Load plugin translated strings using text domain
|
146 |
+
*
|
147 |
+
* @since 2.6.8
|
148 |
+
* @access public
|
149 |
+
*
|
150 |
+
* @return void
|
151 |
+
*/
|
152 |
+
public function load_domain() {
|
153 |
+
|
154 |
+
load_plugin_textdomain( 'premium-addons-for-elementor' );
|
155 |
+
|
156 |
+
}
|
157 |
+
|
158 |
+
/**
|
159 |
+
* Elementor Init
|
160 |
+
*
|
161 |
+
* @since 2.6.8
|
162 |
+
* @access public
|
163 |
+
*
|
164 |
+
* @return void
|
165 |
+
*/
|
166 |
+
public function elementor_init() {
|
167 |
+
|
168 |
+
Compatibility\Premium_Addons_Wpml::get_instance();
|
169 |
+
|
170 |
+
Addons_Integration::get_instance();
|
171 |
+
|
172 |
+
//Make sure Woocommerce is insalled and active.
|
173 |
+
// if( class_exists('Woocommerce') ) {
|
174 |
+
// Modules_Manager::get_instance();
|
175 |
+
// }
|
176 |
+
|
177 |
+
}
|
178 |
+
|
179 |
+
/*
|
180 |
+
* Init
|
181 |
+
*
|
182 |
+
* @since 3.4.0
|
183 |
+
* @access public
|
184 |
+
*
|
185 |
+
* @return void
|
186 |
+
*/
|
187 |
+
public function init() {
|
188 |
+
|
189 |
+
if ( \PremiumAddons\Admin\Includes\Admin_Helper::check_premium_templates() ) {
|
190 |
+
require_once ( PREMIUM_ADDONS_PATH . 'includes/templates/templates.php');
|
191 |
+
}
|
192 |
+
}
|
193 |
+
|
194 |
+
|
195 |
+
/**
|
196 |
+
* Creates and returns an instance of the class
|
197 |
+
*
|
198 |
+
* @since 2.6.8
|
199 |
+
* @access public
|
200 |
+
*
|
201 |
+
* @return object
|
202 |
+
*/
|
203 |
+
public static function get_instance() {
|
204 |
+
if( self::$instance == null ) {
|
205 |
+
self::$instance = new self;
|
206 |
+
}
|
207 |
+
return self::$instance;
|
208 |
+
}
|
209 |
+
|
210 |
+
}
|
211 |
+
}
|
212 |
+
|
213 |
+
if ( ! function_exists( 'pa_core' ) ) {
|
214 |
+
|
215 |
+
/**
|
216 |
+
* Returns an instance of the plugin class.
|
217 |
+
* @since 1.0.0
|
218 |
+
* @return object
|
219 |
+
*/
|
220 |
+
function pa_core() {
|
221 |
+
return PA_Core::get_instance();
|
222 |
+
}
|
223 |
+
}
|
224 |
+
|
225 |
+
pa_core();
|
includes/compatibility/{class-premium-addons-wpml.php → premium-addons-wpml.php}
RENAMED
@@ -1,6 +1,6 @@
|
|
1 |
Â
<?php
|
2 |
Â
|
3 |
-
namespace PremiumAddons\Compatibility
|
4 |
Â
|
5 |
Â
if ( ! defined('ABSPATH') ) exit; // No access of directly access
|
6 |
Â
|
@@ -579,21 +579,4 @@ if ( ! class_exists ('Premium_Addons_Wpml') ) {
|
|
579 |
Â
|
580 |
Â
}
|
581 |
Â
|
582 |
-
}
|
583 |
-
|
584 |
-
if( ! function_exists('premium_addons_wpml') ) {
|
585 |
-
|
586 |
-
/**
|
587 |
-
* Triggers `get_instance` method
|
588 |
-
* @since 0.0.1
|
589 |
-
* @access public
|
590 |
-
* return object
|
591 |
-
*/
|
592 |
-
function premium_addons_wpml() {
|
593 |
-
|
594 |
-
Premium_Addons_Wpml::get_instance();
|
595 |
-
|
596 |
-
}
|
597 |
-
|
598 |
-
}
|
599 |
-
premium_addons_wpml();
|
1 |
Â
<?php
|
2 |
Â
|
3 |
+
namespace PremiumAddons\Includes\Compatibility;
|
4 |
Â
|
5 |
Â
if ( ! defined('ABSPATH') ) exit; // No access of directly access
|
6 |
Â
|
579 |
Â
|
580 |
Â
}
|
581 |
Â
|
582 |
+
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
includes/{class-helper-functions.php → helper-functions.php}
RENAMED
@@ -3,7 +3,10 @@
|
|
3 |
Â
/**
|
4 |
Â
* PA Helper Functions.
|
5 |
Â
*/
|
6 |
-
namespace PremiumAddons;
|
Â
|
|
Â
|
|
Â
|
|
7 |
Â
|
8 |
Â
//Elementor Classes
|
9 |
Â
use Elementor\Core\Settings\Manager as SettingsManager;
|
@@ -58,9 +61,14 @@ class Helper_Functions {
|
|
58 |
Â
*
|
59 |
Â
* @return boolean
|
60 |
Â
*/
|
61 |
-
public static function is_hide_rate(){
|
62 |
Â
|
63 |
Â
if( self::check_papro_version() ) {
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
64 |
Â
if( isset(get_option('pa_wht_lbl_save_settings')['premium-wht-lbl-rate'] ) ) {
|
65 |
Â
$hide_rate = get_option('pa_wht_lbl_save_settings')['premium-wht-lbl-rate'];
|
66 |
Â
}
|
@@ -69,44 +77,6 @@ class Helper_Functions {
|
|
69 |
Â
return isset( $hide_rate ) ? $hide_rate : false;
|
70 |
Â
}
|
71 |
Â
|
72 |
-
/**
|
73 |
-
* Check if white labeling - hide about page is checked
|
74 |
-
*
|
75 |
-
* @since 1.0.0
|
76 |
-
* @access public
|
77 |
-
*
|
78 |
-
* @return boolean
|
79 |
-
*/
|
80 |
-
public static function is_hide_about(){
|
81 |
-
|
82 |
-
if( self::check_papro_version() ) {
|
83 |
-
if(isset(get_option('pa_wht_lbl_save_settings')['premium-wht-lbl-about'])){
|
84 |
-
$hide_about = get_option('pa_wht_lbl_save_settings')['premium-wht-lbl-about'];
|
85 |
-
}
|
86 |
-
}
|
87 |
-
|
88 |
-
return isset( $hide_about ) ? $hide_about : false;
|
89 |
-
}
|
90 |
-
|
91 |
-
/**
|
92 |
-
* Check if white labeling - hide version control page is checked
|
93 |
-
*
|
94 |
-
* @since 1.0.0
|
95 |
-
* @access public
|
96 |
-
*
|
97 |
-
* @return boolean
|
98 |
-
*/
|
99 |
-
public static function is_hide_version_control(){
|
100 |
-
|
101 |
-
if( self::check_papro_version() ) {
|
102 |
-
if(isset(get_option('pa_wht_lbl_save_settings')['premium-wht-lbl-version'])){
|
103 |
-
$hide_version_tab = get_option('pa_wht_lbl_save_settings')['premium-wht-lbl-version'];
|
104 |
-
}
|
105 |
-
}
|
106 |
-
|
107 |
-
return isset( $hide_version_tab ) ? $hide_version_tab : false;
|
108 |
-
}
|
109 |
-
|
110 |
Â
/**
|
111 |
Â
* Check if white labeling - Free version author field is set
|
112 |
Â
*
|
@@ -115,15 +85,19 @@ class Helper_Functions {
|
|
115 |
Â
*
|
116 |
Â
* @return string
|
117 |
Â
*/
|
118 |
-
public static function author(){
|
Â
|
|
Â
|
|
119 |
Â
|
120 |
Â
if( self::check_papro_version() ) {
|
121 |
-
|
122 |
-
|
123 |
-
|
Â
|
|
Â
|
|
124 |
Â
}
|
125 |
Â
|
126 |
-
return
|
127 |
Â
}
|
128 |
Â
|
129 |
Â
/**
|
@@ -135,14 +109,18 @@ class Helper_Functions {
|
|
135 |
Â
* @return string
|
136 |
Â
*/
|
137 |
Â
public static function name() {
|
Â
|
|
Â
|
|
138 |
Â
|
139 |
Â
if( self::check_papro_version() ) {
|
140 |
-
|
141 |
-
|
142 |
-
|
Â
|
|
Â
|
|
143 |
Â
}
|
144 |
Â
|
145 |
-
return
|
146 |
Â
}
|
147 |
Â
|
148 |
Â
/**
|
@@ -155,14 +133,16 @@ class Helper_Functions {
|
|
155 |
Â
public static function is_hide_row_meta() {
|
156 |
Â
|
157 |
Â
if( self::check_papro_version() ) {
|
158 |
-
|
159 |
-
|
160 |
-
|
Â
|
|
Â
|
|
161 |
Â
}
|
162 |
Â
|
163 |
Â
return isset( $hide_meta ) ? $hide_meta : false;
|
164 |
Â
}
|
165 |
-
|
166 |
Â
/**
|
167 |
Â
* Check if white labeling - Hide plugin logo option is checked
|
168 |
Â
*
|
@@ -171,12 +151,16 @@ class Helper_Functions {
|
|
171 |
Â
*
|
172 |
Â
* @return string
|
173 |
Â
*/
|
174 |
-
public static function is_hide_logo(){
|
175 |
Â
|
176 |
Â
if( self::check_papro_version() ) {
|
177 |
-
|
Â
|
|
Â
|
|
178 |
Â
$hide_logo = get_option('pa_wht_lbl_save_settings')['premium-wht-lbl-logo'];
|
Â
|
|
179 |
Â
}
|
Â
|
|
180 |
Â
}
|
181 |
Â
|
182 |
Â
return isset( $hide_logo ) ? $hide_logo : false;
|
@@ -190,15 +174,19 @@ class Helper_Functions {
|
|
190 |
Â
*
|
191 |
Â
* @return string
|
192 |
Â
*/
|
193 |
-
public static function get_category(){
|
194 |
Â
|
Â
|
|
Â
|
|
195 |
Â
if( self::check_papro_version() ) {
|
196 |
-
|
197 |
-
|
198 |
-
|
Â
|
|
Â
|
|
199 |
Â
}
|
200 |
Â
|
201 |
-
return
|
202 |
Â
|
203 |
Â
}
|
204 |
Â
|
@@ -210,15 +198,19 @@ class Helper_Functions {
|
|
210 |
Â
*
|
211 |
Â
* @return string
|
212 |
Â
*/
|
213 |
-
public static function get_prefix(){
|
Â
|
|
Â
|
|
214 |
Â
|
215 |
Â
if( self::check_papro_version() ) {
|
216 |
-
|
217 |
-
|
218 |
-
|
Â
|
|
Â
|
|
219 |
Â
}
|
220 |
Â
|
221 |
-
return
|
222 |
Â
}
|
223 |
Â
|
224 |
Â
/**
|
@@ -230,14 +222,18 @@ class Helper_Functions {
|
|
230 |
Â
* @return string
|
231 |
Â
*/
|
232 |
Â
public static function get_badge() {
|
Â
|
|
Â
|
|
233 |
Â
|
234 |
Â
if( self::check_papro_version() ) {
|
235 |
-
|
236 |
-
|
237 |
-
|
Â
|
|
Â
|
|
238 |
Â
}
|
239 |
Â
|
240 |
-
return
|
241 |
Â
}
|
242 |
Â
|
243 |
Â
/**
|
@@ -253,7 +249,7 @@ class Helper_Functions {
|
|
253 |
Â
if ( null === self::$google_localize ) {
|
254 |
Â
|
255 |
Â
self::$google_localize = array(
|
256 |
-
|
257 |
Â
'eu' => __( 'Basque', 'premium-addons-for-elementor'),
|
258 |
Â
'bg' => __( 'Bulgarian', 'premium-addons-for-elementor'),
|
259 |
Â
'bn' => __( 'Bengali', 'premium-addons-for-elementor'),
|
@@ -425,7 +421,7 @@ class Helper_Functions {
|
|
425 |
Â
}
|
426 |
Â
|
427 |
Â
$theme_name = sanitize_key( $theme_name );
|
428 |
-
|
429 |
Â
return $theme_name;
|
430 |
Â
}
|
431 |
Â
|
@@ -491,7 +487,7 @@ class Helper_Functions {
|
|
491 |
Â
$thumbnail_src = sprintf( 'https://i.ytimg.com/vi/%s/%s.jpg', $id, $size );
|
492 |
Â
|
493 |
Â
} elseif ( 'vimeo' === $type ) {
|
494 |
-
|
495 |
Â
$vimeo = self::get_vimeo_video_data( $id );
|
496 |
Â
|
497 |
Â
// if( isset( $vimeo['src'] ) ) {
|
@@ -537,6 +533,34 @@ class Helper_Functions {
|
|
537 |
Â
}
|
538 |
Â
|
539 |
Â
/**
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
540 |
Â
* Get Elementor UI Theme
|
541 |
Â
*
|
542 |
Â
* Detects user setting for UI theme
|
3 |
Â
/**
|
4 |
Â
* PA Helper Functions.
|
5 |
Â
*/
|
6 |
+
namespace PremiumAddons\Includes;
|
7 |
+
|
8 |
+
//Premium Addons Pro Classes
|
9 |
+
use PremiumAddonsPro\Includes\White_Label\Helper;
|
10 |
Â
|
11 |
Â
//Elementor Classes
|
12 |
Â
use Elementor\Core\Settings\Manager as SettingsManager;
|
61 |
Â
*
|
62 |
Â
* @return boolean
|
63 |
Â
*/
|
64 |
+
public static function is_hide_rate() {
|
65 |
Â
|
66 |
Â
if( self::check_papro_version() ) {
|
67 |
+
|
68 |
+
$white_label = Helper::get_white_labeling_settings();
|
69 |
+
|
70 |
+
$hide_meta = $white_label['premium-wht-lbl-name'];
|
71 |
+
|
72 |
Â
if( isset(get_option('pa_wht_lbl_save_settings')['premium-wht-lbl-rate'] ) ) {
|
73 |
Â
$hide_rate = get_option('pa_wht_lbl_save_settings')['premium-wht-lbl-rate'];
|
74 |
Â
}
|
77 |
Â
return isset( $hide_rate ) ? $hide_rate : false;
|
78 |
Â
}
|
79 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
80 |
Â
/**
|
81 |
Â
* Check if white labeling - Free version author field is set
|
82 |
Â
*
|
85 |
Â
*
|
86 |
Â
* @return string
|
87 |
Â
*/
|
88 |
+
public static function author() {
|
89 |
+
|
90 |
+
$author_free = 'Leap13';
|
91 |
Â
|
92 |
Â
if( self::check_papro_version() ) {
|
93 |
+
|
94 |
+
$white_label = Helper::get_white_labeling_settings();
|
95 |
+
|
96 |
+
$author_free = $white_label['premium-wht-lbl-name'];
|
97 |
+
|
98 |
Â
}
|
99 |
Â
|
100 |
+
return '' != $author_free ? $author_free : 'Leap13';
|
101 |
Â
}
|
102 |
Â
|
103 |
Â
/**
|
109 |
Â
* @return string
|
110 |
Â
*/
|
111 |
Â
public static function name() {
|
112 |
+
|
113 |
+
$name_free = 'Premium Addons for Elementor';
|
114 |
Â
|
115 |
Â
if( self::check_papro_version() ) {
|
116 |
+
|
117 |
+
$white_label = Helper::get_white_labeling_settings();
|
118 |
+
|
119 |
+
$name_free = $white_label['premium-wht-lbl-plugin-name'];
|
120 |
+
|
121 |
Â
}
|
122 |
Â
|
123 |
+
return '' != $name_free ? $name_free : 'Premium Addons for Elementor';
|
124 |
Â
}
|
125 |
Â
|
126 |
Â
/**
|
133 |
Â
public static function is_hide_row_meta() {
|
134 |
Â
|
135 |
Â
if( self::check_papro_version() ) {
|
136 |
+
|
137 |
+
$white_label = Helper::get_white_labeling_settings();
|
138 |
+
|
139 |
+
$hide_meta = $white_label['premium-wht-lbl-row'];
|
140 |
+
|
141 |
Â
}
|
142 |
Â
|
143 |
Â
return isset( $hide_meta ) ? $hide_meta : false;
|
144 |
Â
}
|
145 |
+
|
146 |
Â
/**
|
147 |
Â
* Check if white labeling - Hide plugin logo option is checked
|
148 |
Â
*
|
151 |
Â
*
|
152 |
Â
* @return string
|
153 |
Â
*/
|
154 |
+
public static function is_hide_logo() {
|
155 |
Â
|
156 |
Â
if( self::check_papro_version() ) {
|
157 |
+
|
158 |
+
if( isset( get_option('pa_wht_lbl_save_settings')['premium-wht-lbl-logo'] ) ) {
|
159 |
+
|
160 |
Â
$hide_logo = get_option('pa_wht_lbl_save_settings')['premium-wht-lbl-logo'];
|
161 |
+
|
162 |
Â
}
|
163 |
+
|
164 |
Â
}
|
165 |
Â
|
166 |
Â
return isset( $hide_logo ) ? $hide_logo : false;
|
174 |
Â
*
|
175 |
Â
* @return string
|
176 |
Â
*/
|
177 |
+
public static function get_category() {
|
178 |
Â
|
179 |
+
$category = __( 'Premium Addons', 'premium-addons-for-elementor' );
|
180 |
+
|
181 |
Â
if( self::check_papro_version() ) {
|
182 |
+
|
183 |
+
$white_label = Helper::get_white_labeling_settings();
|
184 |
+
|
185 |
+
$category = $white_label['premium-wht-lbl-short-name'];
|
186 |
+
|
187 |
Â
}
|
188 |
Â
|
189 |
+
return '' != $category ? $category : __('Premium Addons', 'premium-addons-for-elementor');
|
190 |
Â
|
191 |
Â
}
|
192 |
Â
|
198 |
Â
*
|
199 |
Â
* @return string
|
200 |
Â
*/
|
201 |
+
public static function get_prefix() {
|
202 |
+
|
203 |
+
$prefix = __( 'Premium', 'premium-addons-for-elementor' );
|
204 |
Â
|
205 |
Â
if( self::check_papro_version() ) {
|
206 |
+
|
207 |
+
$white_label = Helper::get_white_labeling_settings();
|
208 |
+
|
209 |
+
$prefix = $white_label['premium-wht-lbl-prefix'];
|
210 |
+
|
211 |
Â
}
|
212 |
Â
|
213 |
+
return '' != $prefix ? $prefix : __('Premium', 'premium-addons-for-elementor');
|
214 |
Â
}
|
215 |
Â
|
216 |
Â
/**
|
222 |
Â
* @return string
|
223 |
Â
*/
|
224 |
Â
public static function get_badge() {
|
225 |
+
|
226 |
+
$badge = 'PA';
|
227 |
Â
|
228 |
Â
if( self::check_papro_version() ) {
|
229 |
+
|
230 |
+
$white_label = Helper::get_white_labeling_settings();
|
231 |
+
|
232 |
+
$badge = $white_label['premium-wht-lbl-badge'];
|
233 |
+
|
234 |
Â
}
|
235 |
Â
|
236 |
+
return '' != $badge ? $badge : 'PA';
|
237 |
Â
}
|
238 |
Â
|
239 |
Â
/**
|
249 |
Â
if ( null === self::$google_localize ) {
|
250 |
Â
|
251 |
Â
self::$google_localize = array(
|
252 |
+
'ar' => __( 'Arabic', 'premium-addons-for-elementor'),
|
253 |
Â
'eu' => __( 'Basque', 'premium-addons-for-elementor'),
|
254 |
Â
'bg' => __( 'Bulgarian', 'premium-addons-for-elementor'),
|
255 |
Â
'bn' => __( 'Bengali', 'premium-addons-for-elementor'),
|
421 |
Â
}
|
422 |
Â
|
423 |
Â
$theme_name = sanitize_key( $theme_name );
|
424 |
+
|
425 |
Â
return $theme_name;
|
426 |
Â
}
|
427 |
Â
|
487 |
Â
$thumbnail_src = sprintf( 'https://i.ytimg.com/vi/%s/%s.jpg', $id, $size );
|
488 |
Â
|
489 |
Â
} elseif ( 'vimeo' === $type ) {
|
490 |
+
|
491 |
Â
$vimeo = self::get_vimeo_video_data( $id );
|
492 |
Â
|
493 |
Â
// if( isset( $vimeo['src'] ) ) {
|
533 |
Â
}
|
534 |
Â
|
535 |
Â
/**
|
536 |
+
* Get Campaign Link
|
537 |
+
*
|
538 |
+
* @since 3.20.9
|
539 |
+
* @access public
|
540 |
+
*
|
541 |
+
* @param string $link page link
|
542 |
+
* @param string $source campaign source
|
543 |
+
* @param string $medium campaign media
|
544 |
+
* @param string $campaign
|
545 |
+
*
|
546 |
+
* @return string $link campaign URL
|
547 |
+
*/
|
548 |
+
public static function get_campaign_link( $link, $source, $medium, $campaign = '' ) {
|
549 |
+
|
550 |
+
$theme = self::get_installed_theme();
|
551 |
+
|
552 |
+
$url = add_query_arg( array(
|
553 |
+
'utm_source' => $source,
|
554 |
+
'utm_medium' => $medium,
|
555 |
+
'utm_campaign' => $campaign,
|
556 |
+
'utm_term' => $theme
|
557 |
+
), $link );
|
558 |
+
|
559 |
+
return $url;
|
560 |
+
|
561 |
+
}
|
562 |
+
|
563 |
+
/**
|
564 |
Â
* Get Elementor UI Theme
|
565 |
Â
*
|
566 |
Â
* Detects user setting for UI theme
|
includes/modules-manager.php
ADDED
@@ -0,0 +1,93 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace PremiumAddons\Includes;
|
4 |
+
|
5 |
+
use PremiumAddons\Base\Module_Base;
|
6 |
+
|
7 |
+
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
8 |
+
|
9 |
+
final class Modules_Manager {
|
10 |
+
|
11 |
+
//Class instance
|
12 |
+
private static $instance = null;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* @var Module_Base[]
|
16 |
+
*/
|
17 |
+
private $modules = [];
|
18 |
+
|
19 |
+
public function __construct() {
|
20 |
+
|
21 |
+
$this->require_files();
|
22 |
+
|
23 |
+
$this->register_modules();
|
24 |
+
|
25 |
+
}
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Require Files.
|
29 |
+
*
|
30 |
+
* @since 1.6.1
|
31 |
+
* @access public
|
32 |
+
*
|
33 |
+
* @return void
|
34 |
+
*/
|
35 |
+
public function require_files() {
|
36 |
+
|
37 |
+
require_once PREMIUM_ADDONS_PATH . 'base/module-base.php';
|
38 |
+
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Register Modules.
|
43 |
+
*
|
44 |
+
* @since 1.6.1
|
45 |
+
* @access public
|
46 |
+
*
|
47 |
+
* @return void
|
48 |
+
*/
|
49 |
+
public function register_modules() {
|
50 |
+
|
51 |
+
$modules = [
|
52 |
+
'woocommerce'
|
53 |
+
];
|
54 |
+
|
55 |
+
foreach ( $modules as $module_name ) {
|
56 |
+
|
57 |
+
$class_name = str_replace( '-', ' ', $module_name );
|
58 |
+
|
59 |
+
$class_name = str_replace( ' ', '', ucwords( $class_name ) );
|
60 |
+
|
61 |
+
$namespace = str_replace( 'Includes', '', __NAMESPACE__ );
|
62 |
+
|
63 |
+
$class_name = $namespace . 'Modules\\' . $class_name . '\Module';
|
64 |
+
|
65 |
+
/** @var Module_Base $class_name */
|
66 |
+
$this->modules[ $module_name ] = $class_name::instance();
|
67 |
+
|
68 |
+
}
|
69 |
+
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
*
|
74 |
+
* Creates and returns an instance of the class
|
75 |
+
*
|
76 |
+
* @since 1.0.0
|
77 |
+
* @access public
|
78 |
+
*
|
79 |
+
* @return object
|
80 |
+
*
|
81 |
+
*/
|
82 |
+
public static function get_instance() {
|
83 |
+
|
84 |
+
if( self::$instance == null ) {
|
85 |
+
|
86 |
+
self::$instance = new self;
|
87 |
+
|
88 |
+
}
|
89 |
+
|
90 |
+
return self::$instance;
|
91 |
+
}
|
92 |
+
|
93 |
+
}
|
includes/plugin.php
DELETED
@@ -1,56 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace PremiumAddons;
|
4 |
-
|
5 |
-
use PremiumAddons\Admin\Includes;
|
6 |
-
use PremiumAddons\Admin\Settings;
|
7 |
-
|
8 |
-
if ( ! defined( 'ABSPATH' ) ) exit;
|
9 |
-
|
10 |
-
/**
|
11 |
-
* Class Plugin
|
12 |
-
*/
|
13 |
-
class Plugin {
|
14 |
-
|
15 |
-
public static $instance = null;
|
16 |
-
|
17 |
-
private function __construct() {
|
18 |
-
add_action( 'init', array( $this, 'init' ), 0 );
|
19 |
-
}
|
20 |
-
|
21 |
-
public function init() {
|
22 |
-
$this->init_components();
|
23 |
-
}
|
24 |
-
|
25 |
-
private function init_components() {
|
26 |
-
|
27 |
-
new Includes\Plugin_Info();
|
28 |
-
|
29 |
-
new Settings\Maps();
|
30 |
-
|
31 |
-
new Includes\Version_Control();
|
32 |
-
|
33 |
-
new Includes\Config_Data();
|
34 |
-
|
35 |
-
new Settings\Modules_Settings();
|
36 |
-
|
37 |
-
$this->settings = new Includes\Papro_Actions();
|
38 |
-
|
39 |
-
}
|
40 |
-
|
41 |
-
public static function instance() {
|
42 |
-
|
43 |
-
if ( is_null( self::$instance ) ) {
|
44 |
-
|
45 |
-
self::$instance = new self();
|
46 |
-
|
47 |
-
}
|
48 |
-
|
49 |
-
return self::$instance;
|
50 |
-
}
|
51 |
-
|
52 |
-
}
|
53 |
-
|
54 |
-
if ( ! defined( 'ELEMENTOR_TESTS' ) ) {
|
55 |
-
Plugin::instance();
|
56 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
premium-addons-for-elementor.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Â
Plugin Name: Premium Addons for Elementor
|
4 |
Â
Description: Premium Addons for Elementor plugin includes widgets and addons like Blog Post Grid, Gallery, Carousel, Modal Popup, Google Maps, Pricing Tables, Lottie Animations, Countdown, Testimonials.
|
5 |
Â
Plugin URI: https://premiumaddons.com
|
6 |
-
Version: 4.0.
|
7 |
Â
Author: Leap13
|
8 |
Â
Author URI: https://leap13.com/
|
9 |
Â
Text Domain: premium-addons-for-elementor
|
@@ -14,7 +14,7 @@ License: GNU General Public License v3.0
|
|
14 |
Â
if ( ! defined('ABSPATH') ) exit; // No access of directly access
|
15 |
Â
|
16 |
Â
// Define Constants
|
17 |
-
define('PREMIUM_ADDONS_VERSION', '4.0.
|
18 |
Â
define('PREMIUM_ADDONS_URL', plugins_url( '/', __FILE__ ) );
|
19 |
Â
define('PREMIUM_ADDONS_PATH', plugin_dir_path( __FILE__ ) );
|
20 |
Â
define('PREMIUM_ADDONS_FILE', __FILE__);
|
3 |
Â
Plugin Name: Premium Addons for Elementor
|
4 |
Â
Description: Premium Addons for Elementor plugin includes widgets and addons like Blog Post Grid, Gallery, Carousel, Modal Popup, Google Maps, Pricing Tables, Lottie Animations, Countdown, Testimonials.
|
5 |
Â
Plugin URI: https://premiumaddons.com
|
6 |
+
Version: 4.0.3
|
7 |
Â
Author: Leap13
|
8 |
Â
Author URI: https://leap13.com/
|
9 |
Â
Text Domain: premium-addons-for-elementor
|
14 |
Â
if ( ! defined('ABSPATH') ) exit; // No access of directly access
|
15 |
Â
|
16 |
Â
// Define Constants
|
17 |
+
define('PREMIUM_ADDONS_VERSION', '4.0.3');
|
18 |
Â
define('PREMIUM_ADDONS_URL', plugins_url( '/', __FILE__ ) );
|
19 |
Â
define('PREMIUM_ADDONS_PATH', plugin_dir_path( __FILE__ ) );
|
20 |
Â
define('PREMIUM_ADDONS_FILE', __FILE__);
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Donate Link: https://premiumaddons.com/?utm_source=wp-repo&utm_medium=link&utm_c
|
|
5 |
Â
Requires at least: 5.0
|
6 |
Â
Tested Up To: 5.5.3
|
7 |
Â
Requires PHP: 5.4
|
8 |
-
Stable Tag: 4.0.
|
9 |
Â
License: GPL v3.0
|
10 |
Â
License URI: https://opensource.org/licenses/GPL-3.0
|
11 |
Â
|
@@ -185,6 +185,10 @@ Premium Addons for Elementor is 100% Ads Free, Ads can only be detected from You
|
|
185 |
Â
|
186 |
Â
== Changelog ==
|
187 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
188 |
Â
= 4.0.1 =
|
189 |
Â
|
190 |
Â
- Fixed: Fatal error after v4.0.0
|
5 |
Â
Requires at least: 5.0
|
6 |
Â
Tested Up To: 5.5.3
|
7 |
Â
Requires PHP: 5.4
|
8 |
+
Stable Tag: 4.0.3
|
9 |
Â
License: GPL v3.0
|
10 |
Â
License URI: https://opensource.org/licenses/GPL-3.0
|
11 |
Â
|
185 |
Â
|
186 |
Â
== Changelog ==
|
187 |
Â
|
188 |
+
= 4.0.3 =
|
189 |
+
|
190 |
+
- Fixed: Issues after v4.0.0
|
191 |
+
|
192 |
Â
= 4.0.1 =
|
193 |
Â
|
194 |
Â
- Fixed: Fatal error after v4.0.0
|
widgets/dep/urlopen.php
ADDED
@@ -0,0 +1,255 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if (!function_exists('rplg_urlopen')) {
|
4 |
+
|
5 |
+
define('RPLG_USER_AGENT', 'RPLG-WPPlugin/1.0');
|
6 |
+
define('RPLG_SOCKET_TIMEOUT', 10);
|
7 |
+
|
8 |
+
function rplg_json_decode($data) {
|
9 |
+
return json_decode($data);
|
10 |
+
}
|
11 |
+
|
12 |
+
function rplg_json_urlopen($url, $postdata=false, $headers=array()) {
|
13 |
+
if (!($response = rplg_urlopen($url, $postdata, $headers)) || !$response['code']) {
|
14 |
+
//$this->last_error = 'COULDNT_CONNECT';
|
15 |
+
return false;
|
16 |
+
}
|
17 |
+
return rplg_json_decode($response['data']);
|
18 |
+
}
|
19 |
+
|
20 |
+
function rplg_urlopen($url, $postdata=false, $headers=array()) {
|
21 |
+
$response = array(
|
22 |
+
'data' => '',
|
23 |
+
'code' => 0
|
24 |
+
);
|
25 |
+
|
26 |
+
$url = preg_replace('/\s+/', '+', $url);
|
27 |
+
|
28 |
+
if(function_exists('curl_init')) {
|
29 |
+
if (!function_exists('curl_setopt_array')) {
|
30 |
+
function curl_setopt_array(&$ch, $curl_options) {
|
31 |
+
foreach ($curl_options as $option => $value) {
|
32 |
+
if (!curl_setopt($ch, $option, $value)) {
|
33 |
+
return false;
|
34 |
+
}
|
35 |
+
}
|
36 |
+
return true;
|
37 |
+
}
|
38 |
+
}
|
39 |
+
_rplg_curl_urlopen($url, $postdata, $headers, $response);
|
40 |
+
} else if(ini_get('allow_url_fopen') && function_exists('stream_get_contents')) {
|
41 |
+
_rplg_fopen_urlopen($url, $postdata, $headers, $response);
|
42 |
+
} else {
|
43 |
+
_rplg_fsockopen_urlopen($url, $postdata, $headers, $response);
|
44 |
+
}
|
45 |
+
return $response;
|
46 |
+
}
|
47 |
+
|
48 |
+
/*-------------------------------- curl --------------------------------*/
|
49 |
+
function _rplg_curl_urlopen($url, $postdata, $headers, &$response) {
|
50 |
+
$c = curl_init($url);
|
51 |
+
$postdata_str = rplg_get_query_string($postdata);
|
52 |
+
|
53 |
+
$c_options = array(
|
54 |
+
CURLOPT_USERAGENT => RPLG_USER_AGENT,
|
55 |
+
CURLOPT_RETURNTRANSFER => true,
|
56 |
+
CURLOPT_POST => ($postdata_str ? 1 : 0),
|
57 |
+
CURLOPT_HEADER => true,
|
58 |
+
CURLOPT_HTTPHEADER => array_merge(array('Expect:'), $headers),
|
59 |
+
CURLOPT_TIMEOUT => RPLG_SOCKET_TIMEOUT
|
60 |
+
);
|
61 |
+
if($postdata) {
|
62 |
+
$c_options[CURLOPT_POSTFIELDS] = $postdata_str;
|
63 |
+
}
|
64 |
+
curl_setopt_array($c, $c_options);
|
65 |
+
|
66 |
+
$open_basedir = ini_get('open_basedir');
|
67 |
+
if( empty( $open_basedir ) ) {
|
68 |
+
curl_setopt($c, CURLOPT_FOLLOWLOCATION, true);
|
69 |
+
}
|
70 |
+
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
|
71 |
+
|
72 |
+
$data = curl_exec($c);
|
73 |
+
|
74 |
+
// cURL automatically handles Proxy rewrites, remove the "HTTP/1.0 200 Connection established" string
|
75 |
+
if (stripos($data, "HTTP/1.0 200 Connection established\r\n\r\n") !== false) {
|
76 |
+
$data = str_ireplace("HTTP/1.0 200 Connection established\r\n\r\n", '', $data);
|
77 |
+
}
|
78 |
+
|
79 |
+
list($resp_headers, $response['data']) = explode("\r\n\r\n", $data, 2);
|
80 |
+
|
81 |
+
$response['headers'] = _rplg_get_response_headers($resp_headers, $response);
|
82 |
+
$response['code'] = curl_getinfo($c, CURLINFO_HTTP_CODE);
|
83 |
+
curl_close($c);
|
84 |
+
}
|
85 |
+
|
86 |
+
/*-------------------------------- fopen --------------------------------*/
|
87 |
+
function _rplg_fopen_urlopen($url, $postdata, $headers, &$response) {
|
88 |
+
$params = array();
|
89 |
+
|
90 |
+
if($postdata) {
|
91 |
+
$params = array('http' => array(
|
92 |
+
'method' => 'POST',
|
93 |
+
'header' => implode("\r\n", array_merge(array('Content-Type: application/x-www-form-urlencoded'), $headers)),
|
94 |
+
'content' => rplg_get_query_string($postdata),
|
95 |
+
'timeout' => RPLG_SOCKET_TIMEOUT
|
96 |
+
));
|
97 |
+
} else {
|
98 |
+
$params = array('http' => array(
|
99 |
+
'header' => implode("\r\n", $headers)
|
100 |
+
));
|
101 |
+
}
|
102 |
+
|
103 |
+
ini_set('user_agent', RPLG_USER_AGENT);
|
104 |
+
$ctx = stream_context_create($params);
|
105 |
+
$fp = fopen($url, 'rb', false, $ctx);
|
106 |
+
if(!$fp) { return false; }
|
107 |
+
|
108 |
+
$response_header_array = explode(' ', $http_response_header[0], 3);
|
109 |
+
|
110 |
+
$unused = $response_header_array[0];
|
111 |
+
|
112 |
+
$response['code'] = $response_header_array[0];
|
113 |
+
|
114 |
+
$unused = $response_header_array[2];
|
115 |
+
|
116 |
+
$resp_headers = array_slice($http_response_header, 1);
|
117 |
+
|
118 |
+
foreach($resp_headers as $unused=>$header) {
|
119 |
+
$header = explode(':', $header);
|
120 |
+
$header[0] = trim($header[0]);
|
121 |
+
$header[1] = trim($header[1]);
|
122 |
+
$resp_headers[strtolower($header[0])] = strtolower($header[1]);
|
123 |
+
}
|
124 |
+
$response['data'] = stream_get_contents($fp);
|
125 |
+
$response['headers'] = $resp_headers;
|
126 |
+
}
|
127 |
+
|
128 |
+
/*-------------------------------- fsockpen --------------------------------*/
|
129 |
+
function _rplg_fsockopen_urlopen($url, $postdata, $headers, &$response) {
|
130 |
+
$buf = '';
|
131 |
+
$req = '';
|
132 |
+
$length = 0;
|
133 |
+
$postdata_str = rplg_get_query_string($postdata);
|
134 |
+
$url_pieces = parse_url($url);
|
135 |
+
$host = $url_pieces['host'];
|
136 |
+
|
137 |
+
if(!isset($url_pieces['port'])) {
|
138 |
+
switch($url_pieces['scheme']) {
|
139 |
+
case 'http':
|
140 |
+
$url_pieces['port'] = 80;
|
141 |
+
break;
|
142 |
+
case 'https':
|
143 |
+
$url_pieces['port'] = 443;
|
144 |
+
$host = 'ssl://' . $url_pieces['host'];
|
145 |
+
break;
|
146 |
+
}
|
147 |
+
}
|
148 |
+
|
149 |
+
if(!isset($url_pieces['path'])) { $url_pieces['path'] = '/'; }
|
150 |
+
|
151 |
+
if(($url_pieces['port'] == 80 && $url_pieces['scheme'] == 'http') ||
|
152 |
+
($url_pieces['port'] == 443 && $url_pieces['scheme'] == 'https')) {
|
153 |
+
$req_host = $url_pieces['host'];
|
154 |
+
} else {
|
155 |
+
$req_host = $url_pieces['host'] . ':' . $url_pieces['port'];
|
156 |
+
}
|
157 |
+
|
158 |
+
$fp = @fsockopen($host, $url_pieces['port'], $errno, $errstr, RPLG_SOCKET_TIMEOUT);
|
159 |
+
if(!$fp) { return false; }
|
160 |
+
|
161 |
+
$path = $url_pieces['path'];
|
162 |
+
if (isset($url_pieces['query'])) $path .= '?'.$url_pieces['query'];
|
163 |
+
|
164 |
+
$req .= ($postdata_str ? 'POST' : 'GET') . ' ' . $path . " HTTP/1.1\r\n";
|
165 |
+
$req .= 'Host: ' . $req_host . "\r\n";
|
166 |
+
$req .= rplg_get_http_headers_for_request($postdata_str, $headers);
|
167 |
+
if($postdata_str) {
|
168 |
+
$req .= "\r\n\r\n" . $postdata_str;
|
169 |
+
}
|
170 |
+
$req .= "\r\n\r\n";
|
171 |
+
|
172 |
+
fwrite($fp, $req);
|
173 |
+
while(!feof($fp)) {
|
174 |
+
$buf .= fgets($fp, 4096);
|
175 |
+
}
|
176 |
+
|
177 |
+
list($headers, $response['data']) = explode("\r\n\r\n", $buf, 2);
|
178 |
+
|
179 |
+
$headers = _rplg_get_response_headers($headers, $response);
|
180 |
+
|
181 |
+
if(isset($headers['transfer-encoding']) && 'chunked' == strtolower($headers['transfer-encoding'])) {
|
182 |
+
$chunk_data = $response['data'];
|
183 |
+
$joined_data = '';
|
184 |
+
while(true) {
|
185 |
+
list($chunk_length, $chunk_data) = explode("\r\n", $chunk_data, 2);
|
186 |
+
$chunk_length = hexdec($chunk_length);
|
187 |
+
if(!$chunk_length || !strlen($chunk_data)) { break; }
|
188 |
+
|
189 |
+
$joined_data .= substr($chunk_data, 0, $chunk_length);
|
190 |
+
$chunk_data = substr($chunk_data, $chunk_length + 1);
|
191 |
+
$length += $chunk_length;
|
192 |
+
}
|
193 |
+
$response['data'] = $joined_data;
|
194 |
+
} else {
|
195 |
+
$length = $headers['content-length'];
|
196 |
+
}
|
197 |
+
$response['headers'] = $headers;
|
198 |
+
}
|
199 |
+
|
200 |
+
/*-------------------------------- helpers --------------------------------*/
|
201 |
+
function rplg_get_query_string($params) {
|
202 |
+
$query = '';
|
203 |
+
|
204 |
+
if($params) {
|
205 |
+
foreach($params as $key=>$value) {
|
206 |
+
$query .= urlencode($key) . '=' . urlencode($value) . '&';
|
207 |
+
}
|
208 |
+
}
|
209 |
+
return $query;
|
210 |
+
}
|
211 |
+
|
212 |
+
function _rplg_get_response_headers($headers, &$response) {
|
213 |
+
$headers = explode("\r\n", $headers);
|
214 |
+
|
215 |
+
$header_array = explode(' ', $headers[0], 3);
|
216 |
+
|
217 |
+
$unused = $header_array[0];
|
218 |
+
|
219 |
+
$response['code'] = $header_array[1];
|
220 |
+
|
221 |
+
$unused = $header_array[2];
|
222 |
+
|
223 |
+
$headers = array_slice($headers, 1);
|
224 |
+
foreach($headers as $unused=>$header) {
|
225 |
+
$header = explode(':', $header);
|
226 |
+
$header[0] = trim($header[0]);
|
227 |
+
$header[1] = trim($header[1]);
|
228 |
+
$headers[strtolower($header[0])] = $header[1];
|
229 |
+
}
|
230 |
+
return $headers;
|
231 |
+
}
|
232 |
+
|
233 |
+
function rplg_get_http_headers_for_request($content, $headers) {
|
234 |
+
$req_headers = array();
|
235 |
+
$req_headers[] = 'User-Agent: ' . RPLG_USER_AGENT;
|
236 |
+
$req_headers[] = 'Connection: close';
|
237 |
+
if($content) {
|
238 |
+
$req_headers[] = 'Content-Length: ' . strlen($content);
|
239 |
+
$req_headers[] = 'Content-Type: application/x-www-form-urlencoded';
|
240 |
+
}
|
241 |
+
return implode("\r\n", array_merge($req_headers, $headers));
|
242 |
+
}
|
243 |
+
|
244 |
+
function rplg_url_method() {
|
245 |
+
if(function_exists('curl_init')) {
|
246 |
+
return 'curl';
|
247 |
+
} else if(ini_get('allow_url_fopen') && function_exists('stream_get_contents')) {
|
248 |
+
return 'fopen';
|
249 |
+
} else {
|
250 |
+
return 'fsockopen';
|
251 |
+
}
|
252 |
+
}
|
253 |
+
}
|
254 |
+
|
255 |
+
?>
|
widgets/premium-icon-list.php
ADDED
@@ -0,0 +1,2211 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Class: Premium_Icon_list
|
5 |
+
* Name: Bullet List
|
6 |
+
* Slug: premium-addon-icon-list
|
7 |
+
*/
|
8 |
+
|
9 |
+
namespace PremiumAddons\Widgets;
|
10 |
+
|
11 |
+
// Elementor Classes.
|
12 |
+
use Elementor\Icons_Manager;
|
13 |
+
use Elementor\Control_Media;
|
14 |
+
use Elementor\Widget_Base;
|
15 |
+
use Elementor\Utils;
|
16 |
+
use Elementor\Controls_Manager;
|
17 |
+
use Elementor\Repeater;
|
18 |
+
use Elementor\Scheme_Color;
|
19 |
+
use Elementor\Scheme_Typography;
|
20 |
+
use Elementor\Group_Control_Background;
|
21 |
+
use Elementor\Group_Control_Box_Shadow;
|
22 |
+
use Elementor\Group_Control_Text_Shadow;
|
23 |
+
use Elementor\Group_Control_Border;
|
24 |
+
use Elementor\Group_Control_Typography;
|
25 |
+
|
26 |
+
|
27 |
+
// PremiumAddons Classes.
|
28 |
+
use PremiumAddons\Includes\Helper_Functions;
|
29 |
+
use PremiumAddons\Includes\Premium_Template_Tags;
|
30 |
+
|
31 |
+
|
32 |
+
if ( ! defined( 'ABSPATH' ) ) exit; // If this file is called directly, abort.
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Class Premium_Icon_List
|
36 |
+
*/
|
37 |
+
class Premium_Icon_List extends Widget_Base {
|
38 |
+
|
39 |
+
public function getTemplateInstance() {
|
40 |
+
return $this->templateInstance = Premium_Template_Tags::getInstance();
|
41 |
+
}
|
42 |
+
|
43 |
+
public function get_name() {
|
44 |
+
return 'premium-icon-list';
|
45 |
+
}
|
46 |
+
|
47 |
+
public function get_title() {
|
48 |
+
return sprintf( '%1$s %2$s', Helper_Functions::get_prefix(), __('Bullet list', 'premium-addons-for-elementor') );
|
49 |
+
}
|
50 |
+
|
51 |
+
public function get_style_depends() {
|
52 |
+
return [
|
53 |
+
'premium-addons'
|
54 |
+
];
|
55 |
+
}
|
56 |
+
|
57 |
+
public function get_script_depends() {
|
58 |
+
return [
|
59 |
+
'elementor-waypoints',
|
60 |
+
'lottie-js',
|
61 |
+
'premium-addons'
|
62 |
+
];
|
63 |
+
}
|
64 |
+
|
65 |
+
public function get_icon() {
|
66 |
+
return 'pa-icon-list';
|
67 |
+
}
|
68 |
+
|
69 |
+
public function get_categories() {
|
70 |
+
return [ 'premium-elements' ];
|
71 |
+
}
|
72 |
+
|
73 |
+
public function get_custom_help_url() {
|
74 |
+
return 'https://premiumaddons.com/support/';
|
75 |
+
}
|
76 |
+
|
77 |
+
public function _register_controls() {
|
78 |
+
|
79 |
+
// Content Tab
|
80 |
+
// List Items Content
|
81 |
+
$this->start_controls_section(
|
82 |
+
'list_items_section',
|
83 |
+
[
|
84 |
+
'label' => __( 'List Items', 'premium-addons-for-elementor' ),
|
85 |
+
'tab' => Controls_Manager::TAB_CONTENT,
|
86 |
+
]
|
87 |
+
);
|
88 |
+
|
89 |
+
// Title control
|
90 |
+
$repeater_list = new REPEATER();
|
91 |
+
|
92 |
+
$repeater_list->add_control(
|
93 |
+
'list_title',
|
94 |
+
[
|
95 |
+
'label' => __( 'Title', 'premium-addons-for-elementor' ),
|
96 |
+
'type' => Controls_Manager::TEXT,
|
97 |
+
'default' => __( 'List Title' , 'premium-addons-for-elementor' ),
|
98 |
+
'label_block' => true,
|
99 |
+
]
|
100 |
+
);
|
101 |
+
|
102 |
+
// Show and Hide icons from view
|
103 |
+
$repeater_list->add_control(
|
104 |
+
'show_icon',
|
105 |
+
[
|
106 |
+
'label' => __( 'Show Icon', 'premium-addons-for-elementor' ),
|
107 |
+
'type' => Controls_Manager::SWITCHER,
|
108 |
+
'return_value' => 'yes',
|
109 |
+
'default' => 'yes',
|
110 |
+
]
|
111 |
+
);
|
112 |
+
|
113 |
+
// Check icon type
|
114 |
+
$repeater_list->add_control(
|
115 |
+
'icon_type',
|
116 |
+
[
|
117 |
+
'label' => __( 'Type', 'premium-addons-for-elementor' ),
|
118 |
+
'type' => Controls_Manager::SELECT,
|
119 |
+
'default' => 'icon',
|
120 |
+
'render_type' => 'template',
|
121 |
+
'options' => [
|
122 |
+
'icon' => __( 'Icon', 'premium-addons-for-elementor' ),
|
123 |
+
'image' => __( 'Image', 'premium-addons-for-elementor' ),
|
124 |
+
'lottie' => __( 'Lottie Animation', 'premium-addons-for-elementor' ),
|
125 |
+
'text' => __( 'Text', 'premium-addons-for-elementor' ),
|
126 |
+
],
|
127 |
+
'condition' => [
|
128 |
+
'show_icon' => 'yes'
|
129 |
+
]
|
130 |
+
]
|
131 |
+
);
|
132 |
+
|
133 |
+
// If Icon Type is selected
|
134 |
+
$repeater_list->add_control(
|
135 |
+
'premium_icon_list_font_updated',
|
136 |
+
[
|
137 |
+
'label' => __('Icon','premium-addons-for-elementor'),
|
138 |
+
'type' => Controls_Manager::ICONS,
|
139 |
+
'default' => [
|
140 |
+
'value' => 'fas fa-star',
|
141 |
+
'library' => 'fa-solid',
|
142 |
+
],
|
143 |
+
'condition' => [
|
144 |
+
'show_icon' => 'yes',
|
145 |
+
'icon_type' => 'icon'
|
146 |
+
]
|
147 |
+
]
|
148 |
+
);
|
149 |
+
|
150 |
+
// If Media Type is selected
|
151 |
+
$repeater_list->add_control(
|
152 |
+
'custom_image',
|
153 |
+
[
|
154 |
+
'label' => __('Custom Image','premium-addons-for-elementor'),
|
155 |
+
'type' => Controls_Manager::MEDIA,
|
156 |
+
'dynamic' => [ 'active' => true ],
|
157 |
+
'default' => [
|
158 |
+
'url' => Utils::get_placeholder_image_src(),
|
159 |
+
],
|
160 |
+
'condition' => [
|
161 |
+
'show_icon' => 'yes',
|
162 |
+
'icon_type' => 'image'
|
163 |
+
]
|
164 |
+
]
|
165 |
+
);
|
166 |
+
|
167 |
+
// If Text Type is selected
|
168 |
+
$repeater_list->add_control(
|
169 |
+
'list_text_icon',
|
170 |
+
[
|
171 |
+
'label' => __('Text', 'premium-addons-for-elementor'),
|
172 |
+
'type' => Controls_Manager::TEXT,
|
173 |
+
'default' => __( 'New' , 'premium-addons-for-elementor' ),
|
174 |
+
'condition' => [
|
175 |
+
'show_icon' => 'yes',
|
176 |
+
'icon_type' => 'text'
|
177 |
+
]
|
178 |
+
]
|
179 |
+
);
|
180 |
+
|
181 |
+
// If Animation Type is selected
|
182 |
+
$repeater_list->add_control(
|
183 |
+
'lottie_url',
|
184 |
+
[
|
185 |
+
'label' => __( 'Animation JSON URL', 'premium-addons-for-elementor' ),
|
186 |
+
'type' => Controls_Manager::TEXT,
|
187 |
+
'dynamic' => [ 'active' => true ],
|
188 |
+
'description' => 'Get JSON code URL from <a href="https://lottiefiles.com/" target="_blank">here</a>',
|
189 |
+
'label_block' => true,
|
190 |
+
'render_type' => 'template',
|
191 |
+
'condition' => [
|
192 |
+
'show_icon' => 'yes',
|
193 |
+
'icon_type' => 'lottie'
|
194 |
+
]
|
195 |
+
]
|
196 |
+
);
|
197 |
+
|
198 |
+
$repeater_list->add_control(
|
199 |
+
'lottie_loop',
|
200 |
+
[
|
201 |
+
'label' => __('Loop','premium-addons-for-elementor'),
|
202 |
+
'type' => Controls_Manager::SWITCHER,
|
203 |
+
'return_value' => 'true',
|
204 |
+
'default' => 'true',
|
205 |
+
'render_type' => 'template',
|
206 |
+
'condition' => [
|
207 |
+
'show_icon' => 'yes',
|
208 |
+
'icon_type' => 'lottie'
|
209 |
+
]
|
210 |
+
]
|
211 |
+
);
|
212 |
+
|
213 |
+
$repeater_list->add_control(
|
214 |
+
'lottie_reverse',
|
215 |
+
[
|
216 |
+
'label' => __('Reverse','premium-addons-for-elementor'),
|
217 |
+
'type' => Controls_Manager::SWITCHER,
|
218 |
+
'return_value' => 'true',
|
219 |
+
'render_type' => 'template',
|
220 |
+
'condition' => [
|
221 |
+
'show_icon' => 'yes',
|
222 |
+
'icon_type' => 'lottie'
|
223 |
+
]
|
224 |
+
]
|
225 |
+
);
|
226 |
+
|
227 |
+
// Show list link
|
228 |
+
$repeater_list->add_control(
|
229 |
+
'show_list_link',
|
230 |
+
[
|
231 |
+
'label' => __( 'Link', 'premium-addons-for-elementor' ),
|
232 |
+
'type' => Controls_Manager::SWITCHER,
|
233 |
+
'return_value' => 'yes',
|
234 |
+
]
|
235 |
+
);
|
236 |
+
|
237 |
+
// URL/Existing Page Control
|
238 |
+
$repeater_list->add_control(
|
239 |
+
'link_select',
|
240 |
+
[
|
241 |
+
'label' => __('Link/URL', 'premium-addons-for-elementor'),
|
242 |
+
'type' => Controls_Manager::SELECT,
|
243 |
+
'options' => [
|
244 |
+
'url' => __('URL', 'premium-addons-for-elementor'),
|
245 |
+
'existing_page' => __('Existing Page', 'premium-addons-for-elementor'),
|
246 |
+
],
|
247 |
+
'default' => 'url',
|
248 |
+
'label_block' => true,
|
249 |
+
'condition' => [
|
250 |
+
'show_list_link' => 'yes'
|
251 |
+
]
|
252 |
+
]
|
253 |
+
);
|
254 |
+
|
255 |
+
$repeater_list->add_control(
|
256 |
+
'link',
|
257 |
+
[
|
258 |
+
'label' => __('URL', 'premium-addons-for-elementor'),
|
259 |
+
'type' => Controls_Manager::URL,
|
260 |
+
'dynamic' => [ 'active' => true ],
|
261 |
+
'placeholder' => 'https://premiumaddons.com/',
|
262 |
+
'label_block' => true,
|
263 |
+
'condition' => [
|
264 |
+
'link_select' => 'url',
|
265 |
+
'show_list_link' => 'yes'
|
266 |
+
]
|
267 |
+
]
|
268 |
+
);
|
269 |
+
|
270 |
+
$repeater_list->add_control(
|
271 |
+
'existing_page',
|
272 |
+
[
|
273 |
+
'label' => __('Existing Page', 'premium-addons-for-elementor'),
|
274 |
+
'type' => Controls_Manager::SELECT2,
|
275 |
+
'options' => $this->getTemplateInstance()->get_all_posts(),
|
276 |
+
'condition' => [
|
277 |
+
'link_select' => 'existing_page',
|
278 |
+
'show_list_link' => 'yes'
|
279 |
+
],
|
280 |
+
'label_block' => true,
|
281 |
+
]
|
282 |
+
);
|
283 |
+
|
284 |
+
$repeater_list->add_control(
|
285 |
+
'link_title',
|
286 |
+
[
|
287 |
+
'label' => __('Link Title', 'premium-addons-for-elementor'),
|
288 |
+
'type' => Controls_Manager::TEXT,
|
289 |
+
'condition' => [
|
290 |
+
'link_select' => 'yes',
|
291 |
+
'show_list_link' => 'yes'
|
292 |
+
],
|
293 |
+
'label_block' => true
|
294 |
+
]
|
295 |
+
);
|
296 |
+
|
297 |
+
// Show Badge
|
298 |
+
$repeater_list->add_control(
|
299 |
+
'show_badge',
|
300 |
+
[
|
301 |
+
'label' => __( 'Badge', 'premium-addons-for-elementor' ),
|
302 |
+
'type' => Controls_Manager::SWITCHER,
|
303 |
+
'return_value' => 'yes',
|
304 |
+
'separator' => 'before'
|
305 |
+
]
|
306 |
+
);
|
307 |
+
|
308 |
+
$repeater_list->add_control(
|
309 |
+
'badge_title',
|
310 |
+
[
|
311 |
+
'label' => __('Badge Text', 'premium-addons-for-elementor'),
|
312 |
+
'type' => Controls_Manager::TEXT,
|
313 |
+
'default' => __( 'New' , 'premium-addons-for-elementor' ),
|
314 |
+
'condition' => [
|
315 |
+
'show_badge' => 'yes',
|
316 |
+
],
|
317 |
+
]
|
318 |
+
);
|
319 |
+
|
320 |
+
// badge color if selected
|
321 |
+
$repeater_list->add_control(
|
322 |
+
'badge_text_color',
|
323 |
+
[
|
324 |
+
'label' => __( 'Text Color', 'premium-addons-for-elementor' ),
|
325 |
+
'type' => Controls_Manager::COLOR,
|
326 |
+
'selectors' => [
|
327 |
+
'{{WRAPPER}} {{CURRENT_ITEM}} .premium-icon-list-badge span' => 'color: {{VALUE}}',
|
328 |
+
],
|
329 |
+
'condition' => [
|
330 |
+
'show_badge' => 'yes',
|
331 |
+
]
|
332 |
+
]
|
333 |
+
);
|
334 |
+
|
335 |
+
// Badge Back ground color
|
336 |
+
$repeater_list->add_control(
|
337 |
+
'badge_background_color',
|
338 |
+
[
|
339 |
+
'label' => __( 'Background', 'premium-addons-for-elementor' ),
|
340 |
+
'type' => Controls_Manager::COLOR,
|
341 |
+
'selectors' => [
|
342 |
+
'{{WRAPPER}} {{CURRENT_ITEM}} .premium-icon-list-badge span' => 'background-color: {{VALUE}}',
|
343 |
+
],
|
344 |
+
'condition' => [
|
345 |
+
'show_badge' => 'yes',
|
346 |
+
]
|
347 |
+
]
|
348 |
+
);
|
349 |
+
|
350 |
+
// Show global style switcher
|
351 |
+
$repeater_list->add_control(
|
352 |
+
'show_global_style',
|
353 |
+
[
|
354 |
+
'label' => __( 'Override Global Style', 'premium-addons-for-elementor' ),
|
355 |
+
'type' => Controls_Manager::SWITCHER,
|
356 |
+
'return_value' => 'yes',
|
357 |
+
'default' => 'yes',
|
358 |
+
'separator' => 'before'
|
359 |
+
]
|
360 |
+
);
|
361 |
+
|
362 |
+
// List box Size
|
363 |
+
$repeater_list->add_control(
|
364 |
+
'list_box_size',
|
365 |
+
[
|
366 |
+
'label' => __('Size', 'premium-addons-for-elementor'),
|
367 |
+
'type' => Controls_Manager::SLIDER,
|
368 |
+
'size_units' => ['px','em','%'],
|
369 |
+
'range' => [
|
370 |
+
'px' => [
|
371 |
+
'min' => 5,
|
372 |
+
'max' => 200
|
373 |
+
],
|
374 |
+
'em' => [
|
375 |
+
'min' => 5,
|
376 |
+
'max' => 30
|
377 |
+
],
|
378 |
+
],
|
379 |
+
'selectors' => [
|
380 |
+
'{{WRAPPER}} {{CURRENT_ITEM}} .premium-icon-list-text span ,{{WRAPPER}} {{CURRENT_ITEM}} .premium-icon-list-wrapper i ,{{WRAPPER}} {{CURRENT_ITEM}} .premium-icon-list-wrapper .premium-icon-list-icon-text p' => 'font-size: {{SIZE}}{{UNIT}} ',
|
381 |
+
'{{WRAPPER}} {{CURRENT_ITEM}} .premium-icon-list-wrapper .premium-lottie-animation svg , {{WRAPPER}} {{CURRENT_ITEM}} .premium-icon-list-wrapper img' => 'width: {{SIZE}}{{UNIT}} !important; height: {{SIZE}}{{UNIT}} !important;',
|
382 |
+
],
|
383 |
+
'condition' => [
|
384 |
+
'show_global_style' => 'yes',
|
385 |
+
]
|
386 |
+
]
|
387 |
+
);
|
388 |
+
|
389 |
+
// Colors Tabs
|
390 |
+
$repeater_list->start_controls_tabs(
|
391 |
+
'colors_style_tabs'
|
392 |
+
);
|
393 |
+
|
394 |
+
// Normal State
|
395 |
+
$repeater_list->start_controls_tab(
|
396 |
+
'color_normal_state',
|
397 |
+
[
|
398 |
+
'label' => __( 'Normal', 'premium-addons-for-elementor' ),
|
399 |
+
'condition' => [
|
400 |
+
'show_global_style' => 'yes'
|
401 |
+
]
|
402 |
+
]
|
403 |
+
);
|
404 |
+
|
405 |
+
// Icon color if selected
|
406 |
+
$repeater_list->add_control(
|
407 |
+
'icon_color',
|
408 |
+
[
|
409 |
+
'label' => __( 'Icon/Text Color', 'premium-addons-for-elementor' ),
|
410 |
+
'type' => Controls_Manager::COLOR,
|
411 |
+
'scheme' => [
|
412 |
+
'type' => Scheme_Color::get_type(),
|
413 |
+
'value' => Scheme_Color::COLOR_1,
|
414 |
+
],
|
415 |
+
'selectors' => [
|
416 |
+
'{{WRAPPER}} {{CURRENT_ITEM}} .premium-icon-list-wrapper i' => 'color: {{VALUE}}',
|
417 |
+
'{{WRAPPER}} .premium-icon-list-blur:hover {{CURRENT_ITEM}} .premium-icon-list-wrapper i ' => 'text-shadow: 0 0 3px {{VALUE}};'
|
418 |
+
|
419 |
+
],
|
420 |
+
'condition' => [
|
421 |
+
'show_icon' => 'yes',
|
422 |
+
'icon_type' => 'icon',
|
423 |
+
'show_global_style' => 'yes',
|
424 |
+
]
|
425 |
+
]
|
426 |
+
);
|
427 |
+
|
428 |
+
// Text color if selected
|
429 |
+
$repeater_list->add_control(
|
430 |
+
'text_icon_color',
|
431 |
+
[
|
432 |
+
'label' => __( 'Icon/Text Color', 'premium-addons-for-elementor' ),
|
433 |
+
'type' => Controls_Manager::COLOR,
|
434 |
+
'scheme' => [
|
435 |
+
'type' => Scheme_Color::get_type(),
|
436 |
+
'value' => Scheme_Color::COLOR_1,
|
437 |
+
],
|
438 |
+
'selectors' => [
|
439 |
+
'{{WRAPPER}} {{CURRENT_ITEM}} .premium-icon-list-icon-text p' => 'color: {{VALUE}}',
|
440 |
+
'{{WRAPPER}} .premium-icon-list-blur:hover {{CURRENT_ITEM}} .premium-icon-list-icon-text p' => 'text-shadow: 0 0 3px {{VALUE}};'
|
441 |
+
],
|
442 |
+
'condition' => [
|
443 |
+
'show_icon' => 'yes',
|
444 |
+
'icon_type' => 'text',
|
445 |
+
'show_global_style' => 'yes',
|
446 |
+
]
|
447 |
+
]
|
448 |
+
);
|
449 |
+
|
450 |
+
// background text icon color if selected
|
451 |
+
$repeater_list->add_control(
|
452 |
+
'background_text_icon_color',
|
453 |
+
[
|
454 |
+
'label' => __( 'Icon/Text Background', 'premium-addons-for-elementor' ),
|
455 |
+
'type' => Controls_Manager::COLOR,
|
456 |
+
'scheme' => [
|
457 |
+
'type' => Scheme_Color::get_type(),
|
458 |
+
'value' => Scheme_Color::COLOR_1,
|
459 |
+
],
|
460 |
+
'selectors' => [
|
461 |
+
'{{WRAPPER}} {{CURRENT_ITEM}} .premium-icon-list-icon-text p' => 'background-color: {{VALUE}}',
|
462 |
+
],
|
463 |
+
'condition' => [
|
464 |
+
'show_icon' => 'yes',
|
465 |
+
'icon_type' => 'text',
|
466 |
+
'show_global_style' => 'yes',
|
467 |
+
],
|
468 |
+
]
|
469 |
+
);
|
470 |
+
|
471 |
+
// Title color
|
472 |
+
$repeater_list->add_control(
|
473 |
+
'title_list_color',
|
474 |
+
[
|
475 |
+
'label' => __( 'Title Color', 'premium-addons-for-elementor' ),
|
476 |
+
'type' => Controls_Manager::COLOR,
|
477 |
+
'scheme' => [
|
478 |
+
'type' => Scheme_Color::get_type(),
|
479 |
+
'value' => Scheme_Color::COLOR_1,
|
480 |
+
],
|
481 |
+
'selectors' => [
|
482 |
+
'{{WRAPPER}} {{CURRENT_ITEM}} .premium-icon-list-text span' => 'color: {{VALUE}}',
|
483 |
+
'{{WRAPPER}} .premium-icon-list-blur:hover {{CURRENT_ITEM}} .premium-icon-list-text span' => 'text-shadow: 0 0 3px {{VALUE}};'
|
484 |
+
],
|
485 |
+
'condition' => [
|
486 |
+
'show_global_style' => 'yes'
|
487 |
+
]
|
488 |
+
]
|
489 |
+
);
|
490 |
+
|
491 |
+
// Back ground color
|
492 |
+
$repeater_list->add_control(
|
493 |
+
'background_color',
|
494 |
+
[
|
495 |
+
'label' => __( 'Background', 'premium-addons-for-elementor' ),
|
496 |
+
'type' => Controls_Manager::COLOR,
|
497 |
+
'selectors' => [
|
498 |
+
'{{WRAPPER}} {{CURRENT_ITEM}}.premium-icon-list-content' => 'background-color: {{VALUE}}',
|
499 |
+
],
|
500 |
+
'condition' => [
|
501 |
+
'show_global_style' => 'yes',
|
502 |
+
]
|
503 |
+
]
|
504 |
+
);
|
505 |
+
|
506 |
+
$repeater_list->end_controls_tab();
|
507 |
+
// Hover State
|
508 |
+
$repeater_list->start_controls_tab(
|
509 |
+
'color_hover_state',
|
510 |
+
[
|
511 |
+
'label' => __( 'Hover', 'premium-addons-for-elementor' ),
|
512 |
+
'condition' => [
|
513 |
+
'show_global_style' => 'yes'
|
514 |
+
]
|
515 |
+
]
|
516 |
+
);
|
517 |
+
|
518 |
+
// Icon hover color
|
519 |
+
$repeater_list->add_control(
|
520 |
+
'icon_hover_color',
|
521 |
+
[
|
522 |
+
'label' => __( 'Icon/Text Color', 'premium-addons-for-elementor' ),
|
523 |
+
'type' => Controls_Manager::COLOR,
|
524 |
+
'selectors' => [
|
525 |
+
'{{WRAPPER}} {{CURRENT_ITEM}}.premium-icon-list-content:hover .premium-icon-list-wrapper i' => 'color: {{VALUE}}',
|
526 |
+
'{{WRAPPER}} .premium-icon-list-blur {{CURRENT_ITEM}}.premium-icon-list-content:hover .premium-icon-list-wrapper i' => 'text-shadow: none !important; color: {{VALUE}} !important;'
|
527 |
+
],
|
528 |
+
'condition' => [
|
529 |
+
'show_icon' => 'yes',
|
530 |
+
'icon_type' => 'icon',
|
531 |
+
'show_global_style' => 'yes',
|
532 |
+
]
|
533 |
+
]
|
534 |
+
);
|
535 |
+
|
536 |
+
// Text hover color if selected
|
537 |
+
$repeater_list->add_control(
|
538 |
+
'text_icon_hover_color',
|
539 |
+
[
|
540 |
+
'label' => __( 'Icon/Text Color', 'premium-addons-for-elementor' ),
|
541 |
+
'type' => Controls_Manager::COLOR,
|
542 |
+
'selectors' => [
|
543 |
+
'{{WRAPPER}} {{CURRENT_ITEM}}.premium-icon-list-content:hover .premium-icon-list-icon-text p' => 'color: {{VALUE}}',
|
544 |
+
'{{WRAPPER}} .premium-icon-list-blur {{CURRENT_ITEM}}.premium-icon-list-content:hover .premium-icon-list-icon-text p' => 'text-shadow: none !important; color: {{VALUE}} !important;'
|
545 |
+
],
|
546 |
+
'condition' => [
|
547 |
+
'show_icon' => 'yes',
|
548 |
+
'icon_type' => 'text',
|
549 |
+
'show_global_style' => 'yes',
|
550 |
+
]
|
551 |
+
]
|
552 |
+
);
|
553 |
+
|
554 |
+
// background text icon color if selected
|
555 |
+
$repeater_list->add_control(
|
556 |
+
'background_text_icon_hover_color',
|
557 |
+
[
|
558 |
+
'label' => __( 'Icon/Text Background ', 'premium-addons-for-elementor' ),
|
559 |
+
'type' => Controls_Manager::COLOR,
|
560 |
+
'scheme' => [
|
561 |
+
'type' => Scheme_Color::get_type(),
|
562 |
+
'value' => Scheme_Color::COLOR_1,
|
563 |
+
],
|
564 |
+
'selectors' => [
|
565 |
+
'{{WRAPPER}} {{CURRENT_ITEM}}.premium-icon-list-content:hover .premium-icon-list-icon-text p' => 'background-color: {{VALUE}}',
|
566 |
+
],
|
567 |
+
'condition' => [
|
568 |
+
'show_icon' => 'yes',
|
569 |
+
'icon_type' => 'text',
|
570 |
+
'show_global_style' => 'yes',
|
571 |
+
],
|
572 |
+
]
|
573 |
+
);
|
574 |
+
|
575 |
+
// Text hover color
|
576 |
+
$repeater_list->add_control(
|
577 |
+
'title_hover_color',
|
578 |
+
[
|
579 |
+
'label' => __( 'Title Color', 'premium-addons-for-elementor' ),
|
580 |
+
'type' => Controls_Manager::COLOR,
|
581 |
+
'selectors' => [
|
582 |
+
'{{WRAPPER}} {{CURRENT_ITEM}}.premium-icon-list-content:hover .premium-icon-list-text span' => 'color: {{VALUE}}',
|
583 |
+
'{{WRAPPER}} .premium-icon-list-blur {{CURRENT_ITEM}}.premium-icon-list-content:hover .premium-icon-list-text span' => 'text-shadow: none !important; color: {{VALUE}} !important;'
|
584 |
+
],
|
585 |
+
'condition' => [
|
586 |
+
'show_global_style' => 'yes',
|
587 |
+
]
|
588 |
+
]
|
589 |
+
);
|
590 |
+
|
591 |
+
// Back ground hover color
|
592 |
+
$repeater_list->add_control(
|
593 |
+
'background_hover_color',
|
594 |
+
[
|
595 |
+
'label' => __( 'Background', 'premium-addons-for-elementor' ),
|
596 |
+
'type' => Controls_Manager::COLOR,
|
597 |
+
'selectors' => [
|
598 |
+
'{{WRAPPER}} {{CURRENT_ITEM}}.premium-icon-list-content:hover' => 'background-color: {{VALUE}}',
|
599 |
+
],
|
600 |
+
'condition' => [
|
601 |
+
'show_global_style' => 'yes',
|
602 |
+
]
|
603 |
+
]
|
604 |
+
);
|
605 |
+
|
606 |
+
$repeater_list->end_controls_tab();
|
607 |
+
$repeater_list->end_controls_tabs();
|
608 |
+
|
609 |
+
//Reapeter control for items
|
610 |
+
$this->add_control(
|
611 |
+
'list',
|
612 |
+
[
|
613 |
+
'label' => __( 'List Items', 'premium-addons-for-elementor' ),
|
614 |
+
'type' => Controls_Manager::REPEATER,
|
615 |
+
'fields' => $repeater_list->get_controls(),
|
616 |
+
'render_type' => 'template',
|
617 |
+
'default' => [
|
618 |
+
[
|
619 |
+
'list_title' => 'List Title #1',
|
620 |
+
'premium_icon_list_font_updated' => [
|
621 |
+
'value' => 'fas fa-star',
|
622 |
+
'library' => 'fa-solid',
|
623 |
+
],
|
624 |
+
],
|
625 |
+
[
|
626 |
+
'list_title' => 'List Title #2',
|
627 |
+
'premium_icon_list_font_updated' => [
|
628 |
+
'value' => 'far fa-smile',
|
629 |
+
'library' => 'fa-regular',
|
630 |
+
],
|
631 |
+
|
632 |
+
],
|
633 |
+
[
|
634 |
+
'list_title' => 'List Title #3',
|
635 |
+
'premium_icon_list_font_updated' => [
|
636 |
+
'value' => 'fa fa-check',
|
637 |
+
'library' => 'fa-solid',
|
638 |
+
],
|
639 |
+
],
|
640 |
+
],
|
641 |
+
'title_field' => '<# if ( "icon" === icon_type ) { #> {{{ elementor.helpers.renderIcon( this, premium_icon_list_font_updated, {}, "i", "panel" ) }}}<#} else if( "text" === icon_type ) { #> {{list_text_icon}} <# } else if( "image" === icon_type) {#> <img class="editor-pa-img" width="20px" height="20px" src="{{custom_image.url}}"><# } #> {{{ list_title }}}'
|
642 |
+
]
|
643 |
+
);
|
644 |
+
|
645 |
+
$this->end_controls_section();
|
646 |
+
//End of List items tab
|
647 |
+
|
648 |
+
// Display Options Content
|
649 |
+
$this->start_controls_section(
|
650 |
+
'display_options_section',
|
651 |
+
[
|
652 |
+
'label' => __( 'Display Options', 'premium-addons-for-elementor' ),
|
653 |
+
'tab' => Controls_Manager::TAB_CONTENT,
|
654 |
+
]
|
655 |
+
);
|
656 |
+
|
657 |
+
// over flow Style
|
658 |
+
$this->add_control(
|
659 |
+
'list_overflow',
|
660 |
+
[
|
661 |
+
'label' => __( 'List Overflow', 'premium-addons-for-elementor' ),
|
662 |
+
'type' => Controls_Manager::SELECT,
|
663 |
+
'options' => [
|
664 |
+
'visible' => __( 'Visible', 'premium-addons-for-elementor' ),
|
665 |
+
'hidden' => __( 'Hidden', 'premium-addons-for-elementor' ),
|
666 |
+
],
|
667 |
+
'default' =>'hidden',
|
668 |
+
'render_type' => 'template',
|
669 |
+
'selectors' => [
|
670 |
+
'{{WRAPPER}} .premium-icon-list-content' => 'overflow: {{VALUE}};',
|
671 |
+
],
|
672 |
+
]
|
673 |
+
);
|
674 |
+
|
675 |
+
$this->add_control(
|
676 |
+
'overflow_render_notice',
|
677 |
+
[
|
678 |
+
'raw' => __("Please note that icon connector option only appears when overflow set to visible.", 'premium-addons-for-elementor'),
|
679 |
+
'type' => Controls_Manager::RAW_HTML,
|
680 |
+
'content_classes' => 'elementor-panel-alert elementor-panel-alert-info',
|
681 |
+
]
|
682 |
+
);
|
683 |
+
|
684 |
+
// Check Layout inline/block
|
685 |
+
$this->add_control(
|
686 |
+
'layout_type',
|
687 |
+
[
|
688 |
+
'label' => __( 'Layout Type', 'premium-addons-for-elementor' ),
|
689 |
+
'type' => Controls_Manager::SELECT,
|
690 |
+
'options' => [
|
691 |
+
'row' => __( 'Inline', 'premium-addons-for-elementor' ),
|
692 |
+
'column' => __( 'Block', 'premium-addons-for-elementor' ),
|
693 |
+
|
694 |
+
],
|
695 |
+
'render_type' => 'template',
|
696 |
+
'default' => 'column',
|
697 |
+
'selectors' => [
|
698 |
+
'{{WRAPPER}} .premium-icon-list-box ' => 'flex-direction: {{VALUE}};',
|
699 |
+
],
|
700 |
+
]
|
701 |
+
);
|
702 |
+
|
703 |
+
// Display Alignments
|
704 |
+
$this->add_responsive_control(
|
705 |
+
'premium_icon_list_align',
|
706 |
+
[
|
707 |
+
'label' => __( 'Alignment', 'premium-addons-for-elementor' ),
|
708 |
+
'type' => Controls_Manager::CHOOSE,
|
709 |
+
'render_type' => 'template',
|
710 |
+
'options' => [
|
711 |
+
'flex-start' => [
|
712 |
+
'title'=> __( 'Left', 'premium-addons-for-elementor' ),
|
713 |
+
'icon' => 'fa fa-align-left',
|
714 |
+
],
|
715 |
+
'center' => [
|
716 |
+
'title'=> __( 'Center', 'premium-addons-for-elementor' ),
|
717 |
+
'icon' => 'fa fa-align-center',
|
718 |
+
],
|
719 |
+
'flex-end' => [
|
720 |
+
'title'=> __( 'Right', 'premium-addons-for-elementor' ),
|
721 |
+
'icon' => 'fa fa-align-right',
|
722 |
+
],
|
723 |
+
],
|
724 |
+
'selectors' => [
|
725 |
+
'{{WRAPPER}} .premium-icon-list-content , {{WRAPPER}} .premium-icon-list-box ' => 'justify-content:{{VALUE}};',
|
726 |
+
'{{WRAPPER}} .premium-icon-list-divider , {{WRAPPER}} .premium-icon-list-wrapper-top ' => 'align-self:{{VALUE}};',
|
727 |
+
],
|
728 |
+
'default' => 'flex-start',
|
729 |
+
]
|
730 |
+
);
|
731 |
+
|
732 |
+
// Icon postion select
|
733 |
+
$this->add_control(
|
734 |
+
'icon_postion',
|
735 |
+
[
|
736 |
+
'label' => __( 'Icon Position', 'premium-addons-for-elementor' ),
|
737 |
+
'type' => Controls_Manager::SELECT,
|
738 |
+
'options' => [
|
739 |
+
'row' => __( 'Before', 'premium-addons-for-elementor' ),
|
740 |
+
'column' => __( 'Top', 'premium-addons-for-elementor' ),
|
741 |
+
'row-reverse' => __( 'After', 'premium-addons-for-elementor' ),
|
742 |
+
],
|
743 |
+
'render_type' => 'template',
|
744 |
+
'default' => 'row',
|
745 |
+
'selectors' => [
|
746 |
+
'{{WRAPPER}} .premium-icon-list-text' => 'display:flex;flex-direction: {{VALUE}};',
|
747 |
+
],
|
748 |
+
]
|
749 |
+
);
|
750 |
+
|
751 |
+
$this->add_responsive_control('top_icon_align',
|
752 |
+
[
|
753 |
+
'label' => __( 'Icon Alignment', 'premium-addons-for-elementor' ),
|
754 |
+
'type' => Controls_Manager::CHOOSE,
|
755 |
+
'options' => [
|
756 |
+
'flex-start' => [
|
757 |
+
'title'=> __( 'Left', 'premium-addons-for-elementor' ),
|
758 |
+
'icon' => 'fa fa-align-left',
|
759 |
+
],
|
760 |
+
'center' => [
|
761 |
+
'title'=> __( 'Center', 'premium-addons-for-elementor' ),
|
762 |
+
'icon' => 'fa fa-align-center',
|
763 |
+
],
|
764 |
+
'flex-end' => [
|
765 |
+
'title'=> __( 'Right', 'premium-addons-for-elementor' ),
|
766 |
+
'icon' => 'fa fa-align-right',
|
767 |
+
],
|
768 |
+
],
|
769 |
+
'toggle' => false,
|
770 |
+
'selectors' => [
|
771 |
+
'{{WRAPPER}} .premium-icon-list-wrapper-top ' => 'align-self: {{VALUE}} !important',
|
772 |
+
],
|
773 |
+
'condition' => [
|
774 |
+
'icon_postion' => 'column',
|
775 |
+
]
|
776 |
+
]
|
777 |
+
);
|
778 |
+
|
779 |
+
// badge align Horizontal Style
|
780 |
+
$this->add_responsive_control(
|
781 |
+
'badge_align_h',
|
782 |
+
[
|
783 |
+
'label' => __( 'Badge Alignment ', 'premium-addons-for-elementor' ),
|
784 |
+
'type' => Controls_Manager::CHOOSE,
|
785 |
+
'options' => [
|
786 |
+
'8' => [
|
787 |
+
'title'=> __( 'Right', 'premium-addons-for-elementor' ),
|
788 |
+
'icon' => 'fas fa-long-arrow-alt-right',
|
789 |
+
],
|
790 |
+
'3' => [
|
791 |
+
'title'=> __( 'Left', 'premium-addons-for-elementor' ),
|
792 |
+
'icon' => 'fas fa-long-arrow-alt-left',
|
793 |
+
],
|
794 |
+
],
|
795 |
+
'default' => '8',
|
796 |
+
'selectors' => [
|
797 |
+
'{{WRAPPER}} .premium-icon-list-text' => 'order:5 ;',
|
798 |
+
'{{WRAPPER}} .premium-icon-list-badge' => 'order:{{VALUE}} ;'
|
799 |
+
],
|
800 |
+
'separator' => 'after'
|
801 |
+
]
|
802 |
+
);
|
803 |
+
|
804 |
+
// Show Divider
|
805 |
+
$this->add_control(
|
806 |
+
'show_divider',
|
807 |
+
[
|
808 |
+
'label' => __( 'Divider', 'premium-addons-for-elementor' ),
|
809 |
+
'type' => Controls_Manager::SWITCHER,
|
810 |
+
'return_value' => 'yes',
|
811 |
+
]
|
812 |
+
);
|
813 |
+
|
814 |
+
// Show Connector
|
815 |
+
$this->add_control(
|
816 |
+
'show_connector',
|
817 |
+
[
|
818 |
+
'label' => __( 'Icon Connector', 'premium-addons-for-elementor' ),
|
819 |
+
'type' => Controls_Manager::SWITCHER,
|
820 |
+
'return_value' => 'yes',
|
821 |
+
'condition' => [
|
822 |
+
'layout_type' => 'column',
|
823 |
+
'icon_postion!' => 'column',
|
824 |
+
'hover_effect_type!' => 'grow',
|
825 |
+
'list_overflow' => 'visible',
|
826 |
+
],
|
827 |
+
]
|
828 |
+
);
|
829 |
+
|
830 |
+
$this->add_control('premium_icon_list_animation_switcher',
|
831 |
+
[
|
832 |
+
'label' => __('Animation','premium-addons-for-elementor'),
|
833 |
+
'type' => Controls_Manager::SWITCHER,
|
834 |
+
]
|
835 |
+
);
|
836 |
+
|
837 |
+
$this->add_control('premium_icon_list_animation',
|
838 |
+
[
|
839 |
+
'label' => __( 'Entrance Animation', 'premium-addons-for-elementor' ),
|
840 |
+
'type' => Controls_Manager::ANIMATION,
|
841 |
+
'default' => '',
|
842 |
+
'label_block' => true,
|
843 |
+
'frontend_available' => true,
|
844 |
+
'render_type' => 'template',
|
845 |
+
'condition' => [
|
846 |
+
'premium_icon_list_animation_switcher' => 'yes'
|
847 |
+
],
|
848 |
+
]
|
849 |
+
);
|
850 |
+
|
851 |
+
$this->add_control('premium_icon_list_animation_duration',
|
852 |
+
[
|
853 |
+
'label' => __( 'Animation Duration', 'premium-addons-for-elementor' ),
|
854 |
+
'type' => Controls_Manager::SELECT,
|
855 |
+
'default' => '',
|
856 |
+
'options' => [
|
857 |
+
'slow' => __( 'Slow', 'premium-addons-for-elementor' ),
|
858 |
+
'' => __( 'Normal', 'premium-addons-for-elementor' ),
|
859 |
+
'fast' => __( 'Fast', 'premium-addons-for-elementor' ),
|
860 |
+
],
|
861 |
+
'condition' => [
|
862 |
+
'premium_icon_list_animation_switcher' => 'yes',
|
863 |
+
'premium_icon_list_animation!' => '',
|
864 |
+
],
|
865 |
+
]
|
866 |
+
);
|
867 |
+
|
868 |
+
$this->add_control('premium_icon_list_animation_delay',
|
869 |
+
[
|
870 |
+
'label' => __( 'Animation Delay in Between (s)', 'premium-addons-for-elementor' ) ,
|
871 |
+
'type' => Controls_Manager::NUMBER,
|
872 |
+
'default' => 0,
|
873 |
+
'step' => 0.1,
|
874 |
+
'condition' => [
|
875 |
+
'premium_icon_list_animation_switcher' => 'yes',
|
876 |
+
'premium_icon_list_animation!' => '',
|
877 |
+
],
|
878 |
+
'frontend_available' => true,
|
879 |
+
]
|
880 |
+
);
|
881 |
+
|
882 |
+
// select hover type
|
883 |
+
$this->add_control(
|
884 |
+
'hover_effect_type',
|
885 |
+
[
|
886 |
+
'label' => __( 'Hover Effect', 'premium-addons-for-elementor' ),
|
887 |
+
'type' => Controls_Manager::SELECT,
|
888 |
+
'options' => [
|
889 |
+
'none' => __( 'None', 'premium-addons-for-elementor' ),
|
890 |
+
'blur' => __( 'Blur', 'premium-addons-for-elementor' ),
|
891 |
+
'grow' => __( 'Grow', 'premium-addons-for-elementor' ),
|
892 |
+
'linear gradient' => __( 'Text Gradient', 'premium-addons-for-elementor' ),
|
893 |
+
],
|
894 |
+
'render_type' => 'template',
|
895 |
+
'default' => 'none',
|
896 |
+
]
|
897 |
+
);
|
898 |
+
|
899 |
+
$this->add_group_control(
|
900 |
+
Group_Control_Background::get_type(),
|
901 |
+
[
|
902 |
+
'name' => 'gradient_color',
|
903 |
+
'types' => [ 'gradient' ],
|
904 |
+
'condition' => [
|
905 |
+
'hover_effect_type' => 'linear gradient'
|
906 |
+
],
|
907 |
+
'selector' => '{{WRAPPER}} a[data-text]::before ,{{WRAPPER}} .premium-icon-list-gradient-effect::before'
|
908 |
+
]
|
909 |
+
);
|
910 |
+
|
911 |
+
$this->end_controls_section();
|
912 |
+
//End of display options tab
|
913 |
+
|
914 |
+
$this->start_controls_section('section_pa_docs',
|
915 |
+
[
|
916 |
+
'label' => __('Helpful Documentations', 'premium-addons-for-elementor'),
|
917 |
+
]
|
918 |
+
);
|
919 |
+
|
920 |
+
$doc1_url = Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/icon-list-widget-tutorial/', 'editor-page', 'wp-editor', 'get-support' );
|
921 |
+
|
922 |
+
$this->add_control('doc_1',
|
923 |
+
[
|
924 |
+
'type' => Controls_Manager::RAW_HTML,
|
925 |
+
'raw' => sprintf( '<a href="%s" target="_blank">%s</a>', $doc1_url ,__( 'Gettings started »', 'premium-addons-for-elementor' ) ),
|
926 |
+
'content_classes' => 'editor-pa-doc',
|
927 |
+
]
|
928 |
+
);
|
929 |
+
|
930 |
+
$this->end_controls_section();
|
931 |
+
|
932 |
+
// Style Tab
|
933 |
+
$this->style_tab();
|
934 |
+
}
|
935 |
+
|
936 |
+
private function style_tab() {
|
937 |
+
|
938 |
+
// List Style Settings
|
939 |
+
$this->start_controls_section(
|
940 |
+
'list_style_section',
|
941 |
+
[
|
942 |
+
'label' => __( ' General ', 'premium-addons-for-elementor' ),
|
943 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
944 |
+
]
|
945 |
+
);
|
946 |
+
|
947 |
+
//list items back ground color
|
948 |
+
$this->add_control(
|
949 |
+
'list_items_color',
|
950 |
+
[
|
951 |
+
'label' => __( 'Background Color', 'premium-addons-for-elementor' ),
|
952 |
+
'type' => Controls_Manager::COLOR,
|
953 |
+
'selectors' => [
|
954 |
+
' {{WRAPPER}} .premium-icon-list-content' => 'background-color: {{VALUE}}',
|
955 |
+
],
|
956 |
+
]
|
957 |
+
);
|
958 |
+
|
959 |
+
//List items hover style color
|
960 |
+
$this->add_control(
|
961 |
+
'list_items_hover_color',
|
962 |
+
[
|
963 |
+
'label' => __( 'Hover Background Color', 'premium-addons-for-elementor' ),
|
964 |
+
'type' => Controls_Manager::COLOR,
|
965 |
+
'selectors' => [
|
966 |
+
'{{WRAPPER}} .premium-icon-list-content:hover ' => 'background-color: {{VALUE}}',
|
967 |
+
],
|
968 |
+
]
|
969 |
+
);
|
970 |
+
|
971 |
+
// List items Shadow
|
972 |
+
$this->add_group_control(
|
973 |
+
Group_Control_Box_Shadow::get_type(),
|
974 |
+
[
|
975 |
+
'name' => 'list_items_shadow',
|
976 |
+
'selector' => '{{WRAPPER}} .premium-icon-list-content',
|
977 |
+
]
|
978 |
+
);
|
979 |
+
|
980 |
+
// List items Shadow Hover
|
981 |
+
$this->add_group_control(
|
982 |
+
Group_Control_Box_Shadow::get_type(),
|
983 |
+
[
|
984 |
+
'name' => 'list_items_shadow_hover',
|
985 |
+
'label' => 'Hover Box Shadow',
|
986 |
+
'selector' => '{{WRAPPER}} .premium-icon-list-content:hover',
|
987 |
+
]
|
988 |
+
);
|
989 |
+
|
990 |
+
// list item Border
|
991 |
+
$this->add_group_control(
|
992 |
+
Group_Control_Border::get_type(),
|
993 |
+
[
|
994 |
+
'name' => 'list_item_border',
|
995 |
+
'label' => __( 'Border', 'premium-addons-for-elementor' ),
|
996 |
+
'selector' => '{{WRAPPER}} .premium-icon-list-content ',
|
997 |
+
]
|
998 |
+
);
|
999 |
+
|
1000 |
+
// list item Border Radius
|
1001 |
+
$this->add_responsive_control(
|
1002 |
+
'list_item_border_radius',
|
1003 |
+
[
|
1004 |
+
'label' => __( 'Border Radius', 'premium-addons-for-elementor' ),
|
1005 |
+
'type' => Controls_Manager::DIMENSIONS,
|
1006 |
+
'size_units' => [ 'px', '%', 'em' ],
|
1007 |
+
'default' => [
|
1008 |
+
'top' => 0,
|
1009 |
+
'right' => 0,
|
1010 |
+
'bottom' => 0,
|
1011 |
+
'left' => 0,
|
1012 |
+
],
|
1013 |
+
'selectors' => [
|
1014 |
+
'{{WRAPPER}} .premium-icon-list-content ' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
1015 |
+
],
|
1016 |
+
]
|
1017 |
+
);
|
1018 |
+
|
1019 |
+
// List Items Margin
|
1020 |
+
$this->add_responsive_control(
|
1021 |
+
'list_item_margin',
|
1022 |
+
[
|
1023 |
+
'label' => __( 'Margin', 'premium-addons-for-elementor' ),
|
1024 |
+
'type' => Controls_Manager::DIMENSIONS,
|
1025 |
+
'size_units' => [ 'px', '%', 'em' ],
|
1026 |
+
'selectors' => [
|
1027 |
+
'{{WRAPPER}} .premium-icon-list-content ' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
1028 |
+
],
|
1029 |
+
]
|
1030 |
+
);
|
1031 |
+
|
1032 |
+
// List Items Padding
|
1033 |
+
$this->add_responsive_control(
|
1034 |
+
'list_items_padding',
|
1035 |
+
[
|
1036 |
+
'label' => __( 'Padding', 'premium-addons-for-elementor' ),
|
1037 |
+
'type' => Controls_Manager::DIMENSIONS,
|
1038 |
+
'size_units' => [ 'px', '%', 'em' ],
|
1039 |
+
'selectors' => [
|
1040 |
+
'{{WRAPPER}} .premium-icon-list-content ' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
1041 |
+
],
|
1042 |
+
]
|
1043 |
+
);
|
1044 |
+
|
1045 |
+
$this->end_controls_section();
|
1046 |
+
//End of list style settings
|
1047 |
+
|
1048 |
+
// Icon Style Settings
|
1049 |
+
$this->start_controls_section(
|
1050 |
+
'icon_style_section',
|
1051 |
+
[
|
1052 |
+
'label' => __( 'Icon', 'premium-addons-for-elementor' ),
|
1053 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
1054 |
+
]
|
1055 |
+
);
|
1056 |
+
|
1057 |
+
$this->add_control(
|
1058 |
+
'icon_render_notice',
|
1059 |
+
[
|
1060 |
+
'raw' => __("Options below will be applied on items with no style options set individually from the repeater.", 'premium-addons-for-elementor'),
|
1061 |
+
'type' => Controls_Manager::RAW_HTML,
|
1062 |
+
]
|
1063 |
+
);
|
1064 |
+
|
1065 |
+
// Icon Style Size
|
1066 |
+
$this->add_responsive_control(
|
1067 |
+
'icon_size',
|
1068 |
+
[
|
1069 |
+
'label' => __( 'Size', 'premium-addons-for-elementor' ),
|
1070 |
+
'type' => Controls_Manager::SLIDER,
|
1071 |
+
'size_units' => ['px', 'em'],
|
1072 |
+
'range' => [
|
1073 |
+
'px' => [
|
1074 |
+
'min' => 1,
|
1075 |
+
'max' => 200,
|
1076 |
+
],
|
1077 |
+
'em' => [
|
1078 |
+
'min' => 1,
|
1079 |
+
'max' => 30,
|
1080 |
+
],
|
1081 |
+
],
|
1082 |
+
'selectors' => [
|
1083 |
+
'{{WRAPPER}} .premium-icon-list-wrapper i , {{WRAPPER}} .premium-icon-list-wrapper .premium-icon-list-icon-text p' => 'font-size: {{SIZE}}{{UNIT}} ',
|
1084 |
+
'{{WRAPPER}} .premium-icon-list-wrapper .premium-lottie-animation svg , {{WRAPPER}} .premium-icon-list-wrapper img' => 'width: {{SIZE}}{{UNIT}} !important; height: {{SIZE}}{{UNIT}} !important',
|
1085 |
+
],
|
1086 |
+
]
|
1087 |
+
);
|
1088 |
+
|
1089 |
+
$this->add_control(
|
1090 |
+
'icon_color_render_notice',
|
1091 |
+
[
|
1092 |
+
'raw' => __('Color options below will be applied on Font Awesome and Text.', 'premium-addons-for-elementor'),
|
1093 |
+
'type' => Controls_Manager::RAW_HTML,
|
1094 |
+
"separator" => "before"
|
1095 |
+
]
|
1096 |
+
);
|
1097 |
+
|
1098 |
+
//Icon style color
|
1099 |
+
$this->add_control(
|
1100 |
+
'icon_color',
|
1101 |
+
[
|
1102 |
+
'label' => __( 'Color', 'premium-addons-for-elementor' ),
|
1103 |
+
'type' => Controls_Manager::COLOR,
|
1104 |
+
'scheme' => [
|
1105 |
+
'type' => Scheme_Color::get_type(),
|
1106 |
+
'value' => Scheme_Color::COLOR_1,
|
1107 |
+
],
|
1108 |
+
'selectors' => [
|
1109 |
+
'{{WRAPPER}} .premium-icon-list-wrapper i , {{WRAPPER}} .premium-icon-list-icon-text p' => 'color: {{VALUE}}',
|
1110 |
+
'{{WRAPPER}} .premium-icon-list-blur:hover .premium-icon-list-wrapper i , {{WRAPPER}} .premium-icon-list-blur:hover .premium-icon-list-wrapper .premium-icon-list-icon-text p' => 'text-shadow: 0 0 3px {{VALUE}};'
|
1111 |
+
],
|
1112 |
+
]
|
1113 |
+
);
|
1114 |
+
|
1115 |
+
//Icon hover style color
|
1116 |
+
$this->add_control(
|
1117 |
+
'icon_hover_color',
|
1118 |
+
[
|
1119 |
+
'label' => __( 'Hover Color', 'premium-addons-for-elementor' ),
|
1120 |
+
'type' => Controls_Manager::COLOR,
|
1121 |
+
'scheme' => [
|
1122 |
+
'type' => Scheme_Color::get_type(),
|
1123 |
+
'value' => Scheme_Color::COLOR_1,
|
1124 |
+
],
|
1125 |
+
'selectors' => [
|
1126 |
+
'{{WRAPPER}} .premium-icon-list-content:hover .premium-icon-list-wrapper i ,{{WRAPPER}} .premium-icon-list-content:hover .premium-icon-list-icon-text p' => 'color: {{VALUE}}',
|
1127 |
+
'{{WRAPPER}} .premium-icon-list-blur .premium-icon-list-content:hover .premium-icon-list-wrapper i , {{WRAPPER}} .premium-icon-list-blur .premium-icon-list-content:hover .premium-icon-list-icon-text p' => 'text-shadow: none !important; color: {{VALUE}} !important;'
|
1128 |
+
],
|
1129 |
+
]
|
1130 |
+
);
|
1131 |
+
|
1132 |
+
$this->add_control(
|
1133 |
+
'background_render_notice',
|
1134 |
+
[
|
1135 |
+
'raw' => __('Background Color options below will be applied on all icon types.', 'premium-addons-for-elementor'),
|
1136 |
+
'type' => Controls_Manager::RAW_HTML,
|
1137 |
+
'separator' => 'before'
|
1138 |
+
]
|
1139 |
+
);
|
1140 |
+
|
1141 |
+
//Icon Background style color
|
1142 |
+
$this->add_control(
|
1143 |
+
'icon_background_color',
|
1144 |
+
[
|
1145 |
+
'label' => __( 'Background', 'premium-addons-for-elementor' ),
|
1146 |
+
'type' => Controls_Manager::COLOR,
|
1147 |
+
'selectors' => [
|
1148 |
+
'{{WRAPPER}} .premium-icon-list-wrapper i , {{WRAPPER}} .premium-icon-list-wrapper svg ,{{WRAPPER}} .premium-icon-list-wrapper img , {{WRAPPER}} .premium-icon-list-icon-text p' => 'background-color: {{VALUE}}',
|
1149 |
+
],
|
1150 |
+
]
|
1151 |
+
);
|
1152 |
+
|
1153 |
+
//Icon Background Hover style color
|
1154 |
+
$this->add_control(
|
1155 |
+
'icon_background_hover_color',
|
1156 |
+
[
|
1157 |
+
'label' => __( ' Hover Background', 'premium-addons-for-elementor' ),
|
1158 |
+
'type' => Controls_Manager::COLOR,
|
1159 |
+
'selectors' => [
|
1160 |
+
'{{WRAPPER}} .premium-icon-list-content:hover .premium-icon-list-wrapper i,{{WRAPPER}} .premium-icon-list-content:hover .premium-icon-list-wrapper svg ,{{WRAPPER}} .premium-icon-list-content:hover .premium-icon-list-wrapper img , {{WRAPPER}} .premium-icon-list-content:hover .premium-icon-list-icon-text p' => 'background-color: {{VALUE}}',
|
1161 |
+
],
|
1162 |
+
]
|
1163 |
+
);
|
1164 |
+
|
1165 |
+
$this->add_control(
|
1166 |
+
'typo_text_render_notice',
|
1167 |
+
[
|
1168 |
+
'raw' => __('Typography option below will be applied on text.', 'premium-addons-for-elementor'),
|
1169 |
+
'type' => Controls_Manager::RAW_HTML,
|
1170 |
+
'separator' => 'before'
|
1171 |
+
]
|
1172 |
+
);
|
1173 |
+
|
1174 |
+
// Text icon Typography Style
|
1175 |
+
$this->add_group_control(
|
1176 |
+
Group_Control_Typography::get_type(),
|
1177 |
+
[
|
1178 |
+
'name' => 'text_icon_typography',
|
1179 |
+
'label' => __( 'Typography', 'premium-addons-for-elementor' ),
|
1180 |
+
'selector' => ' {{WRAPPER}} .premium-icon-list-icon-text p',
|
1181 |
+
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
|
1182 |
+
]
|
1183 |
+
);
|
1184 |
+
|
1185 |
+
// Icon Border
|
1186 |
+
$this->add_group_control(
|
1187 |
+
Group_Control_Border::get_type(),
|
1188 |
+
[
|
1189 |
+
'name' => 'border',
|
1190 |
+
'label' => __( 'Border', 'premium-addons-for-elementor' ),
|
1191 |
+
'selector' => '{{WRAPPER}} .premium-icon-list-content .premium-icon-list-wrapper i , {{WRAPPER}} .premium-icon-list-content .premium-icon-list-wrapper svg , {{WRAPPER}} .premium-icon-list-content .premium-icon-list-wrapper img ,{{WRAPPER}} .premium-icon-list-content .premium-icon-list-wrapper .premium-icon-list-icon-text p',
|
1192 |
+
'separator' => 'before'
|
1193 |
+
]
|
1194 |
+
);
|
1195 |
+
|
1196 |
+
// Icon Border Radius
|
1197 |
+
$this->add_responsive_control(
|
1198 |
+
'icon_border_radius',
|
1199 |
+
[
|
1200 |
+
'label' => __( 'Border Radius', 'premium-addons-for-elementor' ),
|
1201 |
+
'type' => Controls_Manager::DIMENSIONS,
|
1202 |
+
'size_units' => [ 'px', '%', 'em' ],
|
1203 |
+
'selectors' => [
|
1204 |
+
'{{WRAPPER}} .premium-icon-list-content .premium-icon-list-wrapper i ,{{WRAPPER}} .premium-icon-list-content .premium-icon-list-wrapper .premium-icon-list-icon-text p, {{WRAPPER}} .premium-icon-list-content .premium-icon-list-wrapper svg , {{WRAPPER}} .premium-icon-list-content .premium-icon-list-wrapper img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
1205 |
+
],
|
1206 |
+
]
|
1207 |
+
);
|
1208 |
+
|
1209 |
+
// Icon Margin
|
1210 |
+
$this->add_responsive_control(
|
1211 |
+
'icon_margin',
|
1212 |
+
[
|
1213 |
+
'label' => __( 'Margin', 'premium-addons-for-elementor' ),
|
1214 |
+
'type' => Controls_Manager::DIMENSIONS,
|
1215 |
+
'size_units' => [ 'px', '%', 'em' ],
|
1216 |
+
'selectors' => [
|
1217 |
+
'{{WRAPPER}} .premium-icon-list-wrapper ' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
1218 |
+
],
|
1219 |
+
'separator' => 'before'
|
1220 |
+
]
|
1221 |
+
);
|
1222 |
+
|
1223 |
+
// Icon Padding
|
1224 |
+
$this->add_responsive_control(
|
1225 |
+
'icon_padding',
|
1226 |
+
[
|
1227 |
+
'label' => __( 'Padding', 'premium-addons-for-elementor' ),
|
1228 |
+
'type' => Controls_Manager::DIMENSIONS,
|
1229 |
+
'size_units' => [ 'px', '%', 'em' ],
|
1230 |
+
'selectors' => [
|
1231 |
+
'{{WRAPPER}} .premium-icon-list-content .premium-icon-list-wrapper i,{{WRAPPER}} .premium-icon-list-content .premium-icon-list-wrapper .premium-icon-list-icon-text p , {{WRAPPER}} .premium-icon-list-content .premium-icon-list-wrapper svg , {{WRAPPER}} .premium-icon-list-content .premium-icon-list-wrapper img' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
1232 |
+
],
|
1233 |
+
]
|
1234 |
+
);
|
1235 |
+
|
1236 |
+
$this->end_controls_section();
|
1237 |
+
//End of icon style settings
|
1238 |
+
|
1239 |
+
// Title Style Settings
|
1240 |
+
$this->start_controls_section(
|
1241 |
+
'title_style_section',
|
1242 |
+
[
|
1243 |
+
'label' => __( 'Title', 'premium-addons-for-elementor' ),
|
1244 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
1245 |
+
]
|
1246 |
+
);
|
1247 |
+
|
1248 |
+
$this->add_control(
|
1249 |
+
'title_render_notice',
|
1250 |
+
[
|
1251 |
+
'raw' => __("Options below will be applied on items with no style options set individually from the repeater.", 'premium-addons-for-elementor'),
|
1252 |
+
'type' => Controls_Manager::RAW_HTML,
|
1253 |
+
]
|
1254 |
+
);
|
1255 |
+
|
1256 |
+
// Title Typography
|
1257 |
+
$this->add_group_control(
|
1258 |
+
Group_Control_Typography::get_type(),
|
1259 |
+
[
|
1260 |
+
'name' => 'list_title_typography',
|
1261 |
+
'label' => __( 'Typography', 'premium-addons-for-elementor' ),
|
1262 |
+
'selector' => ' {{WRAPPER}} .premium-icon-list-text span ',
|
1263 |
+
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
|
1264 |
+
|
1265 |
+
]
|
1266 |
+
);
|
1267 |
+
|
1268 |
+
//Title style color
|
1269 |
+
$this->add_control(
|
1270 |
+
'title_color',
|
1271 |
+
[
|
1272 |
+
'label' => __( 'Color', 'premium-addons-for-elementor' ),
|
1273 |
+
'type' => Controls_Manager::COLOR,
|
1274 |
+
'scheme' => [
|
1275 |
+
'type' => Scheme_Color::get_type(),
|
1276 |
+
'value' => Scheme_Color::COLOR_1,
|
1277 |
+
],
|
1278 |
+
'selectors' => [
|
1279 |
+
' {{WRAPPER}} .premium-icon-list-text span' => 'color: {{VALUE}}',
|
1280 |
+
' {{WRAPPER}} .premium-icon-list-blur:hover .premium-icon-list-text span' => 'text-shadow: 0 0 3px {{VALUE}};'
|
1281 |
+
],
|
1282 |
+
]
|
1283 |
+
);
|
1284 |
+
|
1285 |
+
//Title hover style color
|
1286 |
+
$this->add_control(
|
1287 |
+
'title_hover_color',
|
1288 |
+
[
|
1289 |
+
'label' => __( 'Hover Color', 'premium-addons-for-elementor' ),
|
1290 |
+
'type' => Controls_Manager::COLOR,
|
1291 |
+
'scheme' => [
|
1292 |
+
'type' => Scheme_Color::get_type(),
|
1293 |
+
'value' => Scheme_Color::COLOR_1,
|
1294 |
+
],
|
1295 |
+
'selectors' => [
|
1296 |
+
'{{WRAPPER}} .premium-icon-list-content:hover .premium-icon-list-text span' => 'color: {{VALUE}}',
|
1297 |
+
'{{WRAPPER}} .premium-icon-list-blur .premium-icon-list-content:hover .premium-icon-list-text span' => 'text-shadow: none !important; color: {{VALUE}} !important;'
|
1298 |
+
],
|
1299 |
+
]
|
1300 |
+
);
|
1301 |
+
|
1302 |
+
// Title Shadow
|
1303 |
+
$this->add_group_control(
|
1304 |
+
Group_Control_text_Shadow::get_type(),
|
1305 |
+
[
|
1306 |
+
'name' => 'list_title_shadow',
|
1307 |
+
'selector' => '{{WRAPPER}} .premium-icon-list-text span',
|
1308 |
+
]
|
1309 |
+
);
|
1310 |
+
|
1311 |
+
|
1312 |
+
// Title Margin
|
1313 |
+
$this->add_responsive_control(
|
1314 |
+
'list_title_margin',
|
1315 |
+
[
|
1316 |
+
'label' => __( 'Margin', 'premium-addons-for-elementor' ),
|
1317 |
+
'type' => Controls_Manager::DIMENSIONS,
|
1318 |
+
'size_units' => [ 'px', '%', 'em' ],
|
1319 |
+
'selectors' => [
|
1320 |
+
'{{WRAPPER}} .premium-icon-list-text ' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
1321 |
+
],
|
1322 |
+
]
|
1323 |
+
);
|
1324 |
+
|
1325 |
+
$this->end_controls_section();
|
1326 |
+
//End of title style settings
|
1327 |
+
|
1328 |
+
// badge Style Settings
|
1329 |
+
$this->start_controls_section(
|
1330 |
+
'badge_style_section',
|
1331 |
+
[
|
1332 |
+
'label' => __( ' Badge ', 'premium-addons-for-elementor' ),
|
1333 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
1334 |
+
]
|
1335 |
+
);
|
1336 |
+
|
1337 |
+
// badge text Style
|
1338 |
+
$this->add_group_control(
|
1339 |
+
Group_Control_Typography::get_type(),
|
1340 |
+
[
|
1341 |
+
'name' => 'badge_title_typography',
|
1342 |
+
'label' => __( 'Typography', 'premium-addons-for-elementor' ),
|
1343 |
+
'selector' => ' {{WRAPPER}} .premium-icon-list-badge span',
|
1344 |
+
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
|
1345 |
+
]
|
1346 |
+
);
|
1347 |
+
|
1348 |
+
$this->add_control(
|
1349 |
+
'badge_color_render_notice',
|
1350 |
+
[
|
1351 |
+
'raw' => __('Color options below will be applied on badge with no style options set individually from the repeater.', 'premium-addons-for-elementor'),
|
1352 |
+
'type' => Controls_Manager::RAW_HTML,
|
1353 |
+
'separator' => 'before'
|
1354 |
+
]
|
1355 |
+
);
|
1356 |
+
|
1357 |
+
// badge color
|
1358 |
+
$this->add_control(
|
1359 |
+
'badge_text_style_color',
|
1360 |
+
[
|
1361 |
+
'label' => __( 'Text Color', 'premium-addons-for-elementor' ),
|
1362 |
+
'type' => Controls_Manager::COLOR,
|
1363 |
+
'scheme' => [
|
1364 |
+
'type' => Scheme_Color::get_type(),
|
1365 |
+
'value' => Scheme_Color::COLOR_1,
|
1366 |
+
],
|
1367 |
+
'selectors' => [
|
1368 |
+
'{{WRAPPER}} .premium-icon-list-badge span' => 'color: {{VALUE}}',
|
1369 |
+
],
|
1370 |
+
'default' => '#fff',
|
1371 |
+
]
|
1372 |
+
);
|
1373 |
+
|
1374 |
+
// Badge Back ground color
|
1375 |
+
$this->add_control(
|
1376 |
+
'badge_background_style_color',
|
1377 |
+
[
|
1378 |
+
'label' => __( 'Background', 'premium-addons-for-elementor' ),
|
1379 |
+
'type' => Controls_Manager::COLOR,
|
1380 |
+
'scheme' => [
|
1381 |
+
'type' => Scheme_Color::get_type(),
|
1382 |
+
'value' => Scheme_Color::COLOR_1,
|
1383 |
+
],
|
1384 |
+
'default' => '#6ec1e4',
|
1385 |
+
'selectors' => [
|
1386 |
+
'{{WRAPPER}} .premium-icon-list-badge span' => 'background-color: {{VALUE}}',
|
1387 |
+
],
|
1388 |
+
'separator' => 'after'
|
1389 |
+
]
|
1390 |
+
);
|
1391 |
+
|
1392 |
+
// Badge Border Radius
|
1393 |
+
$this->add_responsive_control(
|
1394 |
+
'badge_border_radius',
|
1395 |
+
[
|
1396 |
+
'label' => __( 'Badge Radius', 'premium-addons-for-elementor' ),
|
1397 |
+
'type' => Controls_Manager::DIMENSIONS,
|
1398 |
+
'size_units' => [ 'px', '%', 'em' ],
|
1399 |
+
'default' => [
|
1400 |
+
'top' => 2,
|
1401 |
+
'right' => 2,
|
1402 |
+
'bottom' => 2,
|
1403 |
+
'left' => 2,
|
1404 |
+
],
|
1405 |
+
'selectors' => [
|
1406 |
+
'{{WRAPPER}} .premium-icon-list-badge span ' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
1407 |
+
],
|
1408 |
+
]
|
1409 |
+
);
|
1410 |
+
|
1411 |
+
// Badge text Shadow
|
1412 |
+
$this->add_group_control(
|
1413 |
+
Group_Control_text_Shadow::get_type(),
|
1414 |
+
[
|
1415 |
+
'name' => 'Badge_text_shadow',
|
1416 |
+
'selector' => '{{WRAPPER}} .premium-icon-list-badge span',
|
1417 |
+
]
|
1418 |
+
);
|
1419 |
+
|
1420 |
+
// Badge box Shadow
|
1421 |
+
$this->add_group_control(
|
1422 |
+
Group_Control_Box_Shadow::get_type(),
|
1423 |
+
[
|
1424 |
+
'name' => 'Badge_box_shadow',
|
1425 |
+
'selector' => '{{WRAPPER}} .premium-icon-list-badge span',
|
1426 |
+
]
|
1427 |
+
);
|
1428 |
+
|
1429 |
+
// Badge Margin
|
1430 |
+
$this->add_responsive_control(
|
1431 |
+
'Badge_margin',
|
1432 |
+
[
|
1433 |
+
'label' => __( 'Margin', 'premium-addons-for-elementor' ),
|
1434 |
+
'type' => Controls_Manager::DIMENSIONS,
|
1435 |
+
'size_units' => [ 'px', '%', 'em' ],
|
1436 |
+
'default' => [
|
1437 |
+
'top' => 0,
|
1438 |
+
'right' => 0,
|
1439 |
+
'bottom' => 0,
|
1440 |
+
'left' => 5,
|
1441 |
+
],
|
1442 |
+
'selectors' => [
|
1443 |
+
'{{WRAPPER}} .premium-icon-list-badge ' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
1444 |
+
],
|
1445 |
+
]
|
1446 |
+
);
|
1447 |
+
|
1448 |
+
// Badge Padding
|
1449 |
+
$this->add_responsive_control(
|
1450 |
+
'Badge_padding',
|
1451 |
+
[
|
1452 |
+
'label' => __( 'Padding', 'premium-addons-for-elementor' ),
|
1453 |
+
'type' => Controls_Manager::DIMENSIONS,
|
1454 |
+
'size_units' => [ 'px', '%', 'em' ],
|
1455 |
+
'default' => [
|
1456 |
+
'top' => 2,
|
1457 |
+
'right' => 5,
|
1458 |
+
'bottom' => 2,
|
1459 |
+
'left' => 5,
|
1460 |
+
],
|
1461 |
+
'selectors' => [
|
1462 |
+
'{{WRAPPER}} .premium-icon-list-badge span ' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
1463 |
+
],
|
1464 |
+
]
|
1465 |
+
);
|
1466 |
+
|
1467 |
+
$this->end_controls_section();
|
1468 |
+
//End of badge style settings
|
1469 |
+
|
1470 |
+
// Divider Style Settings
|
1471 |
+
$this->start_controls_section(
|
1472 |
+
'divider_style_section',
|
1473 |
+
[
|
1474 |
+
'label' => __( ' Divider ', 'premium-addons-for-elementor' ),
|
1475 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
1476 |
+
'condition' =>[
|
1477 |
+
'show_divider' => 'yes'
|
1478 |
+
]
|
1479 |
+
]
|
1480 |
+
);
|
1481 |
+
|
1482 |
+
// Divider Style
|
1483 |
+
$this->add_control(
|
1484 |
+
'list_divider_type',
|
1485 |
+
[
|
1486 |
+
'label' => __( 'Divider Style', 'premium-addons-for-elementor' ),
|
1487 |
+
'type' => Controls_Manager::SELECT,
|
1488 |
+
'options' => [
|
1489 |
+
'solid' => __( 'Solid', 'premium-addons-for-elementor' ),
|
1490 |
+
'double' => __( 'Double', 'premium-addons-for-elementor' ),
|
1491 |
+
'dotted' => __( 'Dotted', 'premium-addons-for-elementor' ),
|
1492 |
+
'dashed' => __( 'Dashed', 'premium-addons-for-elementor' ),
|
1493 |
+
'groove' => __( 'Groove', 'premium-addons-for-elementor' ),
|
1494 |
+
],
|
1495 |
+
'default' =>'solid',
|
1496 |
+
'selectors' => [
|
1497 |
+
'{{WRAPPER}} .premium-icon-list-divider:not(:last-child):after' => 'border-top-style: {{VALUE}};',
|
1498 |
+
'{{WRAPPER}} .premium-icon-list-divider-inline:not(:last-child):after' => 'border-left-style: {{VALUE}};'
|
1499 |
+
],
|
1500 |
+
'condition' => [
|
1501 |
+
'show_divider' => 'yes'
|
1502 |
+
]
|
1503 |
+
]
|
1504 |
+
);
|
1505 |
+
|
1506 |
+
// Divider Width
|
1507 |
+
$this->add_responsive_control(
|
1508 |
+
'list_divider_width',
|
1509 |
+
[
|
1510 |
+
'label' => __(' Width', 'premium-addons-for-elementor'),
|
1511 |
+
'type' => Controls_Manager::SLIDER,
|
1512 |
+
'size_units' => ['px', 'em' ],
|
1513 |
+
'range' => [
|
1514 |
+
'px' => [
|
1515 |
+
'min' => 0,
|
1516 |
+
'max' => 600
|
1517 |
+
],
|
1518 |
+
'em' => [
|
1519 |
+
'min' => 0,
|
1520 |
+
'max' => 30
|
1521 |
+
]
|
1522 |
+
],
|
1523 |
+
'label_block' => true,
|
1524 |
+
'selectors' => [
|
1525 |
+
'{{WRAPPER}} .premium-icon-list-divider:not(:last-child):after' => 'width:{{SIZE}}{{UNIT}};',
|
1526 |
+
'{{WRAPPER}} .premium-icon-list-divider-inline:not(:last-child):after ' => 'border-left-width: {{SIZE}}{{UNIT}};',
|
1527 |
+
],
|
1528 |
+
'condition' => [
|
1529 |
+
'show_divider' => 'yes'
|
1530 |
+
]
|
1531 |
+
]
|
1532 |
+
);
|
1533 |
+
|
1534 |
+
// Divider Height
|
1535 |
+
$this->add_responsive_control(
|
1536 |
+
'list_divider_height',
|
1537 |
+
[
|
1538 |
+
'label' => __(' Height', 'premium-addons-for-elementor'),
|
1539 |
+
'type' => Controls_Manager::SLIDER,
|
1540 |
+
'size_units' => ['px', 'em' ],
|
1541 |
+
'range' => [
|
1542 |
+
'px' => [
|
1543 |
+
'min' => 0,
|
1544 |
+
'max' => 600
|
1545 |
+
],
|
1546 |
+
'em' => [
|
1547 |
+
'min' => 0,
|
1548 |
+
'max' => 30
|
1549 |
+
]
|
1550 |
+
],
|
1551 |
+
'label_block' => true,
|
1552 |
+
'selectors' => [
|
1553 |
+
'{{WRAPPER}} .premium-icon-list-divider:not(:last-child):after ' => 'border-top-width: {{SIZE}}{{UNIT}};',
|
1554 |
+
'{{WRAPPER}} .premium-icon-list-divider-inline:not(:last-child):after' => 'height: {{SIZE}}{{UNIT}};'
|
1555 |
+
],
|
1556 |
+
'condition' => [
|
1557 |
+
'show_divider' => 'yes'
|
1558 |
+
]
|
1559 |
+
]
|
1560 |
+
);
|
1561 |
+
|
1562 |
+
// Divider Color
|
1563 |
+
$this->add_control(
|
1564 |
+
'list_divider_color',
|
1565 |
+
[
|
1566 |
+
'label' => __('Color', 'premium-addons-for-elementor'),
|
1567 |
+
'type' => Controls_Manager::COLOR,
|
1568 |
+
'scheme' => [
|
1569 |
+
'type' => Scheme_Color::get_type(),
|
1570 |
+
'value' => Scheme_Color::COLOR_2,
|
1571 |
+
],
|
1572 |
+
'default' => '#ddd',
|
1573 |
+
'selectors' => [
|
1574 |
+
'{{WRAPPER}} .premium-icon-list-divider:not(:last-child):after ' => 'border-top-color: {{VALUE}};',
|
1575 |
+
'{{WRAPPER}} .premium-icon-list-divider-inline:not(:last-child):after ' => 'border-left-color: {{VALUE}};'
|
1576 |
+
],
|
1577 |
+
'condition' => [
|
1578 |
+
'show_divider' => 'yes'
|
1579 |
+
]
|
1580 |
+
]
|
1581 |
+
);
|
1582 |
+
|
1583 |
+
$this->end_controls_section();
|
1584 |
+
//End of divider style settings
|
1585 |
+
|
1586 |
+
// Connector Style Settings
|
1587 |
+
$this->start_controls_section(
|
1588 |
+
'connector_style_section',
|
1589 |
+
[
|
1590 |
+
'label' => __( ' Connector ', 'premium-addons-for-elementor' ),
|
1591 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
1592 |
+
'condition' => [
|
1593 |
+
'layout_type' => 'column',
|
1594 |
+
'icon_postion!' => 'column',
|
1595 |
+
'show_connector' => 'yes',
|
1596 |
+
'hover_effect_type!' => 'grow',
|
1597 |
+
'list_overflow' => 'visible',
|
1598 |
+
]
|
1599 |
+
]
|
1600 |
+
);
|
1601 |
+
|
1602 |
+
// Connector Style
|
1603 |
+
$this->add_control(
|
1604 |
+
'icon_connector_type',
|
1605 |
+
[
|
1606 |
+
'label' => __( 'Style', 'premium-addons-for-elementor' ),
|
1607 |
+
'type' => Controls_Manager::SELECT,
|
1608 |
+
'options' => [
|
1609 |
+
'solid' => __( 'Solid', 'premium-addons-for-elementor' ),
|
1610 |
+
'double' => __( 'Double', 'premium-addons-for-elementor' ),
|
1611 |
+
'dashed' => __( 'Dashed', 'premium-addons-for-elementor' ),
|
1612 |
+
'dotted' => __( 'Dotted', 'premium-addons-for-elementor' ),
|
1613 |
+
'dashed' => __( 'Dashed', 'premium-addons-for-elementor' ),
|
1614 |
+
'groove' => __( 'Groove', 'premium-addons-for-elementor' ),
|
1615 |
+
],
|
1616 |
+
'default' =>'solid',
|
1617 |
+
'selectors' => [
|
1618 |
+
'{{WRAPPER}} li.premium-icon-list-content:not(:last-of-type) .premium-icon-list-connector .premium-icon-connector-content:after ' => 'border-right-style: {{VALUE}};'
|
1619 |
+
],
|
1620 |
+
'condition' => [
|
1621 |
+
'show_connector' => 'yes'
|
1622 |
+
]
|
1623 |
+
]
|
1624 |
+
);
|
1625 |
+
|
1626 |
+
// Connector Width
|
1627 |
+
$this->add_responsive_control(
|
1628 |
+
'icon_connector_width',
|
1629 |
+
[
|
1630 |
+
'label' => __(' Width', 'premium-addons-for-elementor'),
|
1631 |
+
'type' => Controls_Manager::SLIDER,
|
1632 |
+
'size_units' => ['px', 'em' ],
|
1633 |
+
'range' => [
|
1634 |
+
'px' => [
|
1635 |
+
'min' => 0,
|
1636 |
+
'max' => 600
|
1637 |
+
],
|
1638 |
+
'em' => [
|
1639 |
+
'min' => 0,
|
1640 |
+
'max' => 30
|
1641 |
+
]
|
1642 |
+
],
|
1643 |
+
'label_block' => true,
|
1644 |
+
'selectors' => [
|
1645 |
+
'{{WRAPPER}} li.premium-icon-list-content:not(:last-of-type) .premium-icon-list-connector .premium-icon-connector-content:after' => 'border-right-width: {{SIZE}}{{UNIT}};',
|
1646 |
+
],
|
1647 |
+
'condition' => [
|
1648 |
+
'show_connector' => 'yes'
|
1649 |
+
]
|
1650 |
+
]
|
1651 |
+
);
|
1652 |
+
|
1653 |
+
// Connector Height
|
1654 |
+
$this->add_responsive_control(
|
1655 |
+
'icon_connector_height',
|
1656 |
+
[
|
1657 |
+
'label' => __(' Height', 'premium-addons-for-elementor'),
|
1658 |
+
'type' => Controls_Manager::SLIDER,
|
1659 |
+
'size_units' => ['px', 'em' ],
|
1660 |
+
'default' => [
|
1661 |
+
'unit' => 'px',
|
1662 |
+
'size' => 28,
|
1663 |
+
],
|
1664 |
+
'range' => [
|
1665 |
+
'px' => [
|
1666 |
+
'min' => 0,
|
1667 |
+
'max' => 600
|
1668 |
+
],
|
1669 |
+
'em' => [
|
1670 |
+
'min' => 0,
|
1671 |
+
'max' => 30
|
1672 |
+
]
|
1673 |
+
],
|
1674 |
+
'label_block' => true,
|
1675 |
+
'selectors' => [
|
1676 |
+
'{{WRAPPER}} li.premium-icon-list-content:not(:last-of-type) .premium-icon-list-connector .premium-icon-connector-content:after' => 'height: {{SIZE}}{{UNIT}};'
|
1677 |
+
],
|
1678 |
+
'condition' => [
|
1679 |
+
'show_connector' => 'yes'
|
1680 |
+
]
|
1681 |
+
]
|
1682 |
+
);
|
1683 |
+
|
1684 |
+
// Connector Color
|
1685 |
+
$this->add_control(
|
1686 |
+
'icon_connector_color',
|
1687 |
+
[
|
1688 |
+
'label' => __('Color', 'premium-addons-for-elementor'),
|
1689 |
+
'type' => Controls_Manager::COLOR,
|
1690 |
+
'scheme' => [
|
1691 |
+
'type' => Scheme_Color::get_type(),
|
1692 |
+
'value' => Scheme_Color::COLOR_2,
|
1693 |
+
],
|
1694 |
+
'default' => '#ddd',
|
1695 |
+
'selectors' => [
|
1696 |
+
'{{WRAPPER}} li.premium-icon-list-content:not(:last-of-type) .premium-icon-list-connector .premium-icon-connector-content:after' => 'border-color: {{VALUE}};',
|
1697 |
+
],
|
1698 |
+
'condition' => [
|
1699 |
+
'show_connector' => 'yes'
|
1700 |
+
]
|
1701 |
+
]
|
1702 |
+
);
|
1703 |
+
|
1704 |
+
$this->end_controls_section();
|
1705 |
+
//End of connector style settings
|
1706 |
+
|
1707 |
+
}
|
1708 |
+
|
1709 |
+
/**
|
1710 |
+
* Render Bullet List output on the frontend.
|
1711 |
+
*
|
1712 |
+
* Written in PHP and used to generate the final HTML.
|
1713 |
+
*
|
1714 |
+
* @since 3.21.2
|
1715 |
+
* @access protected
|
1716 |
+
*/
|
1717 |
+
protected function render() {
|
1718 |
+
|
1719 |
+
$settings = $this->get_settings_for_display();
|
1720 |
+
|
1721 |
+
$this->add_render_attribute('box', 'class', 'premium-icon-list-box');
|
1722 |
+
|
1723 |
+
if( $settings['hover_effect_type'] === 'blur'){
|
1724 |
+
|
1725 |
+
$this->add_render_attribute('box', 'class', 'premium-icon-list-blur');
|
1726 |
+
|
1727 |
+
}
|
1728 |
+
|
1729 |
+
$animation_switch = $settings['premium_icon_list_animation_switcher'] ;
|
1730 |
+
|
1731 |
+
if( 'yes' == $animation_switch) {
|
1732 |
+
|
1733 |
+
$animation_class = $settings['premium_icon_list_animation'];
|
1734 |
+
|
1735 |
+
if( '' != $settings['premium_icon_list_animation_duration'] ) {
|
1736 |
+
$animation_dur = 'animated-' . $settings['premium_icon_list_animation_duration'];
|
1737 |
+
}
|
1738 |
+
else {
|
1739 |
+
$animation_dur = 'animated-';
|
1740 |
+
}
|
1741 |
+
|
1742 |
+
$this->add_render_attribute( 'box', 'data-list-animation',
|
1743 |
+
[
|
1744 |
+
$animation_class,
|
1745 |
+
$animation_dur,
|
1746 |
+
]
|
1747 |
+
);
|
1748 |
+
}
|
1749 |
+
|
1750 |
+
?>
|
1751 |
+
<ul <?php echo $this->get_render_attribute_string('box');?>>
|
1752 |
+
<?php
|
1753 |
+
|
1754 |
+
$delay = 0;
|
1755 |
+
|
1756 |
+
if ( $settings['list'] ) {
|
1757 |
+
foreach ( $settings['list'] as $index => $item ) {
|
1758 |
+
|
1759 |
+
$textIcon = $this->get_repeater_setting_key('list_text_icon','list', $index);
|
1760 |
+
|
1761 |
+
$textBadge = $this->get_repeater_setting_key('badge_title','list', $index);
|
1762 |
+
|
1763 |
+
$this->add_inline_editing_attributes($textIcon, 'basic');
|
1764 |
+
|
1765 |
+
$this->add_inline_editing_attributes($textBadge, 'basic');
|
1766 |
+
|
1767 |
+
$item_link = 'link_' . $index;
|
1768 |
+
|
1769 |
+
$separator_link_type = $item['link_select'];
|
1770 |
+
|
1771 |
+
$link_url = ( 'url' === $separator_link_type ) ? $item['link']['url'] : get_permalink( $item['existing_page'] );
|
1772 |
+
|
1773 |
+
if ( $item['show_list_link'] === 'yes' ) {
|
1774 |
+
|
1775 |
+
if( ! empty( $item['link']['is_external'] ) ) {
|
1776 |
+
$this->add_render_attribute( $item_link, 'target', "_blank" );
|
1777 |
+
}
|
1778 |
+
|
1779 |
+
if( ! empty( $item['link']['nofollow'] ) ) {
|
1780 |
+
$this->add_render_attribute( $item_link, 'rel', "nofollow" );
|
1781 |
+
}
|
1782 |
+
|
1783 |
+
if( ! empty( $item['link']['url'] ) || ! empty( $item['existing_page'] ) ) {
|
1784 |
+
$this->add_render_attribute( $item_link, 'href', $link_url );
|
1785 |
+
}
|
1786 |
+
}
|
1787 |
+
|
1788 |
+
$lottie_key = 'icon_lottie_' . $index;
|
1789 |
+
|
1790 |
+
if('lottie' === $item['icon_type']){
|
1791 |
+
|
1792 |
+
$this->add_render_attribute( $lottie_key, [
|
1793 |
+
'class' => 'premium-lottie-animation',
|
1794 |
+
'data-lottie-url' => $item['lottie_url'],
|
1795 |
+
'data-lottie-loop' => $item['lottie_loop'],
|
1796 |
+
'data-lottie-reverse' => $item['lottie_reverse']
|
1797 |
+
]);
|
1798 |
+
}
|
1799 |
+
|
1800 |
+
$list_content_key = 'content_index_' . $index;
|
1801 |
+
|
1802 |
+
$this->add_render_attribute( $list_content_key, 'class',
|
1803 |
+
[
|
1804 |
+
'premium-icon-list-content',
|
1805 |
+
'elementor-repeater-item-' . $item['_id']
|
1806 |
+
]
|
1807 |
+
);
|
1808 |
+
if( 'yes' == $animation_switch) {
|
1809 |
+
|
1810 |
+
$this->add_render_attribute( $list_content_key, 'data-delay',
|
1811 |
+
[
|
1812 |
+
$delay
|
1813 |
+
]
|
1814 |
+
);
|
1815 |
+
|
1816 |
+
$delay+=$settings['premium_icon_list_animation_delay']*1000;
|
1817 |
+
}
|
1818 |
+
if ('row' === $settings['layout_type']){
|
1819 |
+
$this->add_render_attribute( $list_content_key, 'class',
|
1820 |
+
[
|
1821 |
+
'premium-icon-list-content-inline',
|
1822 |
+
]
|
1823 |
+
);
|
1824 |
+
}
|
1825 |
+
|
1826 |
+
if ( 'grow' === $settings['hover_effect_type'] ){
|
1827 |
+
|
1828 |
+
$this->add_render_attribute( $list_content_key, 'class',
|
1829 |
+
[
|
1830 |
+
'premium-icon-list-content-grow-effect',
|
1831 |
+
]
|
1832 |
+
);
|
1833 |
+
}
|
1834 |
+
if ( 'column' === $settings['layout_type']){
|
1835 |
+
|
1836 |
+
if('flex-start' === $settings['premium_icon_list_align'] ){
|
1837 |
+
$this->add_render_attribute( $list_content_key, 'class',
|
1838 |
+
[
|
1839 |
+
'premium-icon-list-content-grow-lc',
|
1840 |
+
]
|
1841 |
+
);
|
1842 |
+
}
|
1843 |
+
else if('flex-end' === $settings['premium_icon_list_align']){
|
1844 |
+
$this->add_render_attribute( $list_content_key, 'class',
|
1845 |
+
[
|
1846 |
+
'premium-icon-list-content-grow-rc',
|
1847 |
+
]
|
1848 |
+
);
|
1849 |
+
}
|
1850 |
+
else {
|
1851 |
+
$this->add_render_attribute( $list_content_key, 'class',
|
1852 |
+
[
|
1853 |
+
'premium-icon-list-content-grow-cc',
|
1854 |
+
]
|
1855 |
+
);
|
1856 |
+
}
|
1857 |
+
}
|
1858 |
+
?>
|
1859 |
+
|
1860 |
+
<li <?php echo $this->get_render_attribute_string( $list_content_key );?> >
|
1861 |
+
<?php
|
1862 |
+
if ( 'yes' === $item['show_icon'] ) {
|
1863 |
+
|
1864 |
+
$wrapper_class = 'premium-icon-list-wrapper';
|
1865 |
+
|
1866 |
+
$this->add_render_attribute('wrapper','class',$wrapper_class);
|
1867 |
+
|
1868 |
+
if('column' === $settings['icon_postion']){
|
1869 |
+
|
1870 |
+
$wrapper_top_class = 'premium-icon-list-wrapper-top ';
|
1871 |
+
|
1872 |
+
$this->add_render_attribute('wrapper','class',$wrapper_top_class );
|
1873 |
+
|
1874 |
+
}
|
1875 |
+
|
1876 |
+
$gradient_effect_class = 'premium-icon-list-gradient-effect';
|
1877 |
+
|
1878 |
+
if ($settings['hover_effect_type'] === 'linear gradient'){
|
1879 |
+
$this->add_render_attribute( 'title', 'class',
|
1880 |
+
[
|
1881 |
+
$gradient_effect_class,
|
1882 |
+
]
|
1883 |
+
);
|
1884 |
+
}
|
1885 |
+
|
1886 |
+
?>
|
1887 |
+
<div class="premium-icon-list-text">
|
1888 |
+
<div <?php echo $this->get_render_attribute_string('wrapper'); ?>>
|
1889 |
+
<?php
|
1890 |
+
if ('yes' === $settings['show_connector'] && 'column' === $settings['layout_type'] && 'column' !== $settings['icon_postion'] && 'grow' !== $settings['hover_effect_type'] && 'visible' === $settings['list_overflow']) {
|
1891 |
+
?>
|
1892 |
+
<div class="premium-icon-list-connector" >
|
1893 |
+
<div class="premium-icon-connector-content"></div>
|
1894 |
+
</div>
|
1895 |
+
<?php
|
1896 |
+
}
|
1897 |
+
if ('icon' === $item['icon_type']) {
|
1898 |
+
Icons_Manager::render_icon( $item['premium_icon_list_font_updated'], [ 'aria-hidden' => 'true' ]);
|
1899 |
+
}
|
1900 |
+
else if('text' === $item['icon_type']){ ?>
|
1901 |
+
<div class="premium-icon-list-icon-text" >
|
1902 |
+
<p <?php echo $this->get_render_attribute_string( $textIcon ) ?> ><?php echo $item['list_text_icon'] ;?></p>
|
1903 |
+
</div>
|
1904 |
+
<?php
|
1905 |
+
}
|
1906 |
+
else if('image' === $item['icon_type']){
|
1907 |
+
|
1908 |
+
if( ! empty( $item['custom_image']['url'] ) ) {
|
1909 |
+
echo '<img src="' . $item['custom_image']['url'] . '">';
|
1910 |
+
}
|
1911 |
+
}
|
1912 |
+
else {
|
1913 |
+
echo '<div '.$this->get_render_attribute_string( $lottie_key ).'></div>';
|
1914 |
+
}
|
1915 |
+
echo '</div>' ;
|
1916 |
+
}
|
1917 |
+
?>
|
1918 |
+
<?php
|
1919 |
+
echo '<span ' . $this->get_render_attribute_string( 'title' ) . ' data-text="'.strip_tags($item['list_title']) .'" > '.$item['list_title'] .' </span>';
|
1920 |
+
?>
|
1921 |
+
</div>
|
1922 |
+
<?php
|
1923 |
+
if('yes' === $item['show_badge']){
|
1924 |
+
?>
|
1925 |
+
<div class="premium-icon-list-badge">
|
1926 |
+
<span <?php echo $this->get_render_attribute_string( $textBadge ) ?>><?php echo $item['badge_title'] ?></span>
|
1927 |
+
</div>
|
1928 |
+
<?php
|
1929 |
+
}
|
1930 |
+
?>
|
1931 |
+
<?php
|
1932 |
+
if('yes' === $item['show_list_link']){
|
1933 |
+
?>
|
1934 |
+
<a class="premium-icon-list-link" <?php echo $this->get_render_attribute_string( $item_link ) ?> ></a>
|
1935 |
+
<?php } ?>
|
1936 |
+
</li>
|
1937 |
+
<?php
|
1938 |
+
if( 'yes' === $settings[ 'show_divider' ] ) {
|
1939 |
+
$layout= $settings['layout_type'];
|
1940 |
+
$divider_class = 'premium-icon-list-divider';
|
1941 |
+
if('row' === $layout)
|
1942 |
+
$divider_class .='-inline';
|
1943 |
+
|
1944 |
+
$this->add_render_attribute('divider','class',$divider_class);
|
1945 |
+
?>
|
1946 |
+
<div <?php echo $this->get_render_attribute_string('divider'); ?>></div>
|
1947 |
+
<?php
|
1948 |
+
}
|
1949 |
+
}
|
1950 |
+
}
|
1951 |
+
?>
|
1952 |
+
</ul>
|
1953 |
+
<?php
|
1954 |
+
}
|
1955 |
+
|
1956 |
+
/**
|
1957 |
+
* Render Bullet List widget output in the editor.
|
1958 |
+
*
|
1959 |
+
* Written as a Backbone JavaScript template and used to generate the live preview.
|
1960 |
+
*
|
1961 |
+
* @since 3.21.2
|
1962 |
+
* @access protected
|
1963 |
+
*/
|
1964 |
+
protected function content_template() {
|
1965 |
+
?>
|
1966 |
+
<#
|
1967 |
+
view.addRenderAttribute( 'box', 'class', 'premium-icon-list-box');
|
1968 |
+
|
1969 |
+
if( 'blur' === settings.hover_effect_type){
|
1970 |
+
|
1971 |
+
view.addRenderAttribute( 'box', 'class', 'premium-icon-list-blur');
|
1972 |
+
|
1973 |
+
}
|
1974 |
+
|
1975 |
+
animationSwitch = settings.premium_icon_list_animation_switcher ;
|
1976 |
+
|
1977 |
+
if( 'yes' == animationSwitch ) {
|
1978 |
+
|
1979 |
+
animationClass = settings.premium_icon_list_animation;
|
1980 |
+
|
1981 |
+
if( '' != settings.premium_icon_list_animation_duration ) {
|
1982 |
+
|
1983 |
+
animationDur = 'animated-' + settings.premium_icon_list_animation_duration;
|
1984 |
+
|
1985 |
+
} else {
|
1986 |
+
animationDur = 'animated-';
|
1987 |
+
}
|
1988 |
+
view.addRenderAttribute( 'box', 'data-list-animation',
|
1989 |
+
[
|
1990 |
+
animationClass,
|
1991 |
+
animationDur,
|
1992 |
+
]
|
1993 |
+
);
|
1994 |
+
}
|
1995 |
+
#>
|
1996 |
+
|
1997 |
+
<ul {{{ view.getRenderAttributeString('box') }}}>
|
1998 |
+
|
1999 |
+
<#
|
2000 |
+
var delay=0;
|
2001 |
+
|
2002 |
+
_.each( settings.list, function( item ,index ) {
|
2003 |
+
|
2004 |
+
var textIcon = view.getRepeaterSettingKey( 'list_text_icon', 'list', index );
|
2005 |
+
var textBadge = view.getRepeaterSettingKey( 'badge_title', 'list', index );
|
2006 |
+
|
2007 |
+
view.addInlineEditingAttributes( textIcon, 'basic' );
|
2008 |
+
view.addInlineEditingAttributes( textBadge, 'basic' );
|
2009 |
+
|
2010 |
+
var itemLink = 'link_' + index;
|
2011 |
+
|
2012 |
+
var separatorLinkType, linkUrl, linkTitle;
|
2013 |
+
|
2014 |
+
separatorLinkType = item.link_select;
|
2015 |
+
|
2016 |
+
linkUrl= 'url' === separatorLinkType ? item.link.url : item.existing_page;
|
2017 |
+
|
2018 |
+
if( 'yes' === item.show_list_link ) {
|
2019 |
+
if( '' != item.link.is_external ) {
|
2020 |
+
view.addRenderAttribute(itemLink, 'target', '_blank');
|
2021 |
+
}
|
2022 |
+
if( '' != item.link.nofollow ) {
|
2023 |
+
view.addRenderAttribute(itemLink, 'rel', 'nofollow');
|
2024 |
+
}
|
2025 |
+
if( ('' != item.link.url) || ('' != item.existing_page) ) {
|
2026 |
+
view.addRenderAttribute(itemLink, 'href', linkUrl);
|
2027 |
+
}
|
2028 |
+
}
|
2029 |
+
|
2030 |
+
var lottieKey = 'icon_lottie_' + index;
|
2031 |
+
|
2032 |
+
if( 'lottie' === item.icon_type ) {
|
2033 |
+
view.addRenderAttribute( lottieKey, {
|
2034 |
+
'class': 'premium-lottie-animation',
|
2035 |
+
'data-lottie-url': item.lottie_url,
|
2036 |
+
'data-lottie-loop': item.lottie_loop,
|
2037 |
+
'data-lottie-reverse': item.lottie_reverse
|
2038 |
+
});
|
2039 |
+
|
2040 |
+
}
|
2041 |
+
|
2042 |
+
var listContentKey = 'content_index_' + index;
|
2043 |
+
|
2044 |
+
view.addRenderAttribute( listContentKey, 'class',
|
2045 |
+
[
|
2046 |
+
'premium-icon-list-content' ,
|
2047 |
+
'elementor-repeater-item-' + item._id
|
2048 |
+
]
|
2049 |
+
);
|
2050 |
+
if( 'yes' == animationSwitch ) {
|
2051 |
+
|
2052 |
+
view.addRenderAttribute( listContentKey, 'data-delay',
|
2053 |
+
[
|
2054 |
+
delay
|
2055 |
+
]
|
2056 |
+
);
|
2057 |
+
|
2058 |
+
delay+=settings.premium_icon_list_animation_delay*1000;
|
2059 |
+
}
|
2060 |
+
|
2061 |
+
if ( 'row' === settings.layout_type ) {
|
2062 |
+
|
2063 |
+
view.addRenderAttribute( listContentKey, 'class',
|
2064 |
+
[
|
2065 |
+
'premium-icon-list-content-inline'
|
2066 |
+
]
|
2067 |
+
);
|
2068 |
+
|
2069 |
+
}
|
2070 |
+
|
2071 |
+
if ( 'grow' === settings.hover_effect_type ){
|
2072 |
+
|
2073 |
+
view.addRenderAttribute( listContentKey, 'class',
|
2074 |
+
[
|
2075 |
+
'premium-icon-list-content-grow-effect'
|
2076 |
+
]
|
2077 |
+
);
|
2078 |
+
|
2079 |
+
}
|
2080 |
+
if ( 'column' === settings.layout_type){
|
2081 |
+
if('flex-start' === settings.premium_icon_list_align){
|
2082 |
+
view.addRenderAttribute( listContentKey, 'class',
|
2083 |
+
[
|
2084 |
+
'premium-icon-list-content-grow-lc'
|
2085 |
+
]
|
2086 |
+
);
|
2087 |
+
}
|
2088 |
+
else if( 'flex-end' === settings.premium_icon_list_align ){
|
2089 |
+
view.addRenderAttribute( listContentKey, 'class',
|
2090 |
+
[
|
2091 |
+
'premium-icon-list-content-grow-rc'
|
2092 |
+
]
|
2093 |
+
);
|
2094 |
+
}
|
2095 |
+
else {
|
2096 |
+
view.addRenderAttribute( listContentKey, 'class',
|
2097 |
+
[
|
2098 |
+
'premium-icon-list-content-grow-cc'
|
2099 |
+
]
|
2100 |
+
);
|
2101 |
+
}
|
2102 |
+
}
|
2103 |
+
|
2104 |
+
var gradient_effect_class ='';
|
2105 |
+
|
2106 |
+
if (settings.hover_effect_type === 'linear gradient'){
|
2107 |
+
|
2108 |
+
gradient_effect_class = 'premium-icon-list-gradient-effect';
|
2109 |
+
|
2110 |
+
}
|
2111 |
+
#>
|
2112 |
+
<li {{{ view.getRenderAttributeString( listContentKey ) }}}>
|
2113 |
+
|
2114 |
+
<div class="premium-icon-list-text">
|
2115 |
+
<# if ( 'yes' === item.show_icon ) {
|
2116 |
+
var wrapper_top_class ;
|
2117 |
+
|
2118 |
+
if('column' === settings.icon_postion){
|
2119 |
+
wrapper_top_class = 'premium-icon-list-wrapper-top';
|
2120 |
+
}
|
2121 |
+
#>
|
2122 |
+
<div class="premium-icon-list-wrapper {{wrapper_top_class}}">
|
2123 |
+
<#
|
2124 |
+
if ('yes' === settings.show_connector && 'column' === settings.layout_type && 'column' !== settings.icon_postion && 'grow' !== settings.hover_effect_type && 'visible' === settings.list_overflow) {
|
2125 |
+
#>
|
2126 |
+
<div class="premium-icon-list-connector" >
|
2127 |
+
<div class="premium-icon-connector-content"></div>
|
2128 |
+
</div>
|
2129 |
+
<# }
|
2130 |
+
if ( 'icon' == item.icon_type ) {
|
2131 |
+
|
2132 |
+
var iconHTML = elementor.helpers.renderIcon( view, item.premium_icon_list_font_updated, {
|
2133 |
+
'aria-hidden': true
|
2134 |
+
}, 'i' , 'object' );
|
2135 |
+
|
2136 |
+
if ( iconHTML && iconHTML.rendered ) { #>
|
2137 |
+
{{{ iconHTML.value }}}
|
2138 |
+
<#
|
2139 |
+
}
|
2140 |
+
else {
|
2141 |
+
#>
|
2142 |
+
<i class =" {{ item.premium_icon_list_font }} "></i>
|
2143 |
+
<# }
|
2144 |
+
}
|
2145 |
+
else if ( 'image' === item.icon_type ) {
|
2146 |
+
if ( item.custom_image.url ) {
|
2147 |
+
|
2148 |
+
var image = {
|
2149 |
+
id: item.custom_image.id,
|
2150 |
+
url: item.custom_image.url,
|
2151 |
+
size: item.thumbnail_size,
|
2152 |
+
dimension: item.thumbnail_custom_dimension,
|
2153 |
+
model: view.getEditModel()
|
2154 |
+
};
|
2155 |
+
|
2156 |
+
var image_url = elementor.imagesManager.getImageUrl( image );
|
2157 |
+
#>
|
2158 |
+
<img src="{{ image_url }}"/>
|
2159 |
+
<#
|
2160 |
+
}
|
2161 |
+
}
|
2162 |
+
else if ( 'text' === item.icon_type) {
|
2163 |
+
#>
|
2164 |
+
<div class="premium-icon-list-icon-text">
|
2165 |
+
<p {{{ view.getRenderAttributeString( textIcon ) }}}>{{{item.list_text_icon}}}</p>
|
2166 |
+
</div>
|
2167 |
+
<#
|
2168 |
+
}
|
2169 |
+
else {
|
2170 |
+
#>
|
2171 |
+
<div {{{ view.getRenderAttributeString( lottieKey) }}}></div>
|
2172 |
+
<#
|
2173 |
+
}
|
2174 |
+
#>
|
2175 |
+
</div>
|
2176 |
+
<#
|
2177 |
+
}
|
2178 |
+
#>
|
2179 |
+
<span class="{{{ gradient_effect_class }}}" data-text="{{{ item.list_title }}}" >{{{ item.list_title }}}</span>
|
2180 |
+
</div>
|
2181 |
+
<# if ( 'yes' === item.show_badge ){ #>
|
2182 |
+
<div class="premium-icon-list-badge">
|
2183 |
+
<span {{{ view.getRenderAttributeString( textBadge ) }}} >{{{ item.badge_title }}}</span>
|
2184 |
+
</div>
|
2185 |
+
<# } #>
|
2186 |
+
<#
|
2187 |
+
if ( 'yes' === item.show_list_link ) {
|
2188 |
+
linkType=item.link_select;
|
2189 |
+
|
2190 |
+
url = 'url' === linkType ? item.link.url : item.existing_page;
|
2191 |
+
#>
|
2192 |
+
<a class="premium-icon-list-link" {{{ view.getRenderAttributeString( itemLink ) }}} ></a>
|
2193 |
+
<# } #>
|
2194 |
+
</li>
|
2195 |
+
<#
|
2196 |
+
if( 'yes' === settings.show_divider ) {
|
2197 |
+
var dividerClass ='premium-icon-list-divider';
|
2198 |
+
if( 'row' === settings.layout_type ){
|
2199 |
+
dividerClass += '-inline';
|
2200 |
+
}
|
2201 |
+
#>
|
2202 |
+
<div class=" {{dividerClass}}"></div>
|
2203 |
+
<# }
|
2204 |
+
});
|
2205 |
+
#>
|
2206 |
+
</ul>
|
2207 |
+
|
2208 |
+
<?php
|
2209 |
+
}
|
2210 |
+
|
2211 |
+
}
|