Version Description
Download this release
Release Info
Developer | brainstormworg |
Plugin | Astra Starter Sites |
Version | 2.5.0 |
Comparing to | |
See all releases |
Code changes from version 2.4.0 to 2.5.0
- astra-sites.php +2 -2
- inc/assets/css/admin-rtl.css +0 -1
- inc/assets/css/admin.css +150 -1
- inc/assets/css/import-status-rtl.css +97 -0
- inc/assets/css/import-status.css +97 -0
- inc/assets/js/admin-page.js +189 -26
- inc/assets/js/import-status.js +102 -0
- inc/classes/batch-import/class-astra-sites-batch-import.php +67 -0
- inc/classes/batch-import/class-astra-sites-batch-site-import-batch.php +59 -0
- inc/classes/batch-import/class-astra-sites-batch-site-import.php +709 -0
- inc/classes/class-astra-sites-importer.php +39 -27
- inc/classes/class-astra-sites-page.php +83 -2
- inc/classes/class-astra-sites.php +56 -18
- inc/classes/compatibility/elementor/class-astra-sites-compatibility-elementor.php +22 -1
- inc/importers/batch-processing/class-astra-sites-batch-processing-elementor.php +6 -0
- inc/importers/batch-processing/class-astra-sites-batch-processing.php +49 -16
- inc/importers/batch-processing/helpers/class-wp-async-request.php +0 -4
- inc/importers/batch-processing/helpers/class-wp-background-process.php +0 -4
- inc/importers/wxr-importer/class-astra-wxr-importer.php +4 -4
- inc/importers/wxr-importer/class-wp-importer-logger-serversentevents.php +1 -5
- inc/importers/wxr-importer/class-wp-importer-logger.php +0 -4
- inc/importers/wxr-importer/class-wxr-import-info.php +1 -5
- inc/importers/wxr-importer/class-wxr-importer.php +10 -14
- inc/includes/admin-page.php +57 -4
- languages/astra-sites.pot +363 -198
- readme.txt +5 -1
astra-sites.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: Starter Templates
|
4 |
* Plugin URI: https://wpastra.com/
|
5 |
* Description: Starter Templates is all in one solution for complete starter sites, single page templates, blocks & images. This plugin offers the premium library of ready templates & provides quick access to beautiful Pixabay images that can be imported in your website easily.
|
6 |
-
* Version: 2.
|
7 |
* Author: Brainstorm Force
|
8 |
* Author URI: https://www.brainstormforce.com
|
9 |
* Text Domain: astra-sites
|
@@ -19,7 +19,7 @@ if ( ! defined( 'ASTRA_SITES_NAME' ) ) {
|
|
19 |
}
|
20 |
|
21 |
if ( ! defined( 'ASTRA_SITES_VER' ) ) {
|
22 |
-
define( 'ASTRA_SITES_VER', '2.
|
23 |
}
|
24 |
|
25 |
if ( ! defined( 'ASTRA_SITES_FILE' ) ) {
|
3 |
* Plugin Name: Starter Templates
|
4 |
* Plugin URI: https://wpastra.com/
|
5 |
* Description: Starter Templates is all in one solution for complete starter sites, single page templates, blocks & images. This plugin offers the premium library of ready templates & provides quick access to beautiful Pixabay images that can be imported in your website easily.
|
6 |
+
* Version: 2.5.0
|
7 |
* Author: Brainstorm Force
|
8 |
* Author URI: https://www.brainstormforce.com
|
9 |
* Text Domain: astra-sites
|
19 |
}
|
20 |
|
21 |
if ( ! defined( 'ASTRA_SITES_VER' ) ) {
|
22 |
+
define( 'ASTRA_SITES_VER', '2.5.0' );
|
23 |
}
|
24 |
|
25 |
if ( ! defined( 'ASTRA_SITES_FILE' ) ) {
|
inc/assets/css/admin-rtl.css
CHANGED
@@ -1188,7 +1188,6 @@ body.loading-content .select-page-builder {
|
|
1188 |
}
|
1189 |
.astra-sites-welcome a {
|
1190 |
text-decoration: none;
|
1191 |
-
color: inherit;
|
1192 |
}
|
1193 |
.astra-sites-welcome a:focus,
|
1194 |
.astra-sites-welcome a {
|
1188 |
}
|
1189 |
.astra-sites-welcome a {
|
1190 |
text-decoration: none;
|
|
|
1191 |
}
|
1192 |
.astra-sites-welcome a:focus,
|
1193 |
.astra-sites-welcome a {
|
inc/assets/css/admin.css
CHANGED
@@ -1188,7 +1188,6 @@ body.loading-content .select-page-builder {
|
|
1188 |
}
|
1189 |
.astra-sites-welcome a {
|
1190 |
text-decoration: none;
|
1191 |
-
color: inherit;
|
1192 |
}
|
1193 |
.astra-sites-welcome a:focus,
|
1194 |
.astra-sites-welcome a {
|
@@ -1355,6 +1354,10 @@ body.loading-content .select-page-builder {
|
|
1355 |
.astra-sites-result-preview .dashicons {
|
1356 |
vertical-align: middle;
|
1357 |
font-size: 1rem;
|
|
|
|
|
|
|
|
|
1358 |
}
|
1359 |
|
1360 |
.astra-site-import-process-wrap progress::-webkit-progress-value {
|
@@ -1560,6 +1563,8 @@ body.loading-content .select-page-builder {
|
|
1560 |
border-left: 1px solid #eee;
|
1561 |
color: #aaa;
|
1562 |
font-size: 22px;
|
|
|
|
|
1563 |
}
|
1564 |
.astra-sites-result-preview .close:hover {
|
1565 |
color: #0073aa;
|
@@ -2826,3 +2831,147 @@ body.loading-content .select-page-builder {
|
|
2826 |
.required-plugins-count-1.dont-use-astra-theme .astra-sites-import-plugins {
|
2827 |
display: none;
|
2828 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1188 |
}
|
1189 |
.astra-sites-welcome a {
|
1190 |
text-decoration: none;
|
|
|
1191 |
}
|
1192 |
.astra-sites-welcome a:focus,
|
1193 |
.astra-sites-welcome a {
|
1354 |
.astra-sites-result-preview .dashicons {
|
1355 |
vertical-align: middle;
|
1356 |
font-size: 1rem;
|
1357 |
+
opacity: 0;
|
1358 |
+
visibility: hidden;
|
1359 |
+
height: auto;
|
1360 |
+
vertical-align: middle;
|
1361 |
}
|
1362 |
|
1363 |
.astra-site-import-process-wrap progress::-webkit-progress-value {
|
1563 |
border-left: 1px solid #eee;
|
1564 |
color: #aaa;
|
1565 |
font-size: 22px;
|
1566 |
+
opacity: 1;
|
1567 |
+
visibility: visible;
|
1568 |
}
|
1569 |
.astra-sites-result-preview .close:hover {
|
1570 |
color: #0073aa;
|
2831 |
.required-plugins-count-1.dont-use-astra-theme .astra-sites-import-plugins {
|
2832 |
display: none;
|
2833 |
}
|
2834 |
+
|
2835 |
+
.subscription-popup {
|
2836 |
+
display: none;
|
2837 |
+
}
|
2838 |
+
|
2839 |
+
.subscription-form {
|
2840 |
+
margin-top: 2em;
|
2841 |
+
}
|
2842 |
+
|
2843 |
+
.subscription-field select,
|
2844 |
+
.subscription-field input[type="text"],
|
2845 |
+
.subscription-field input[type="email"] {
|
2846 |
+
width: 100%;
|
2847 |
+
border-radius: 3px;
|
2848 |
+
border: 1px solid #8b959d;
|
2849 |
+
font-size: 13px;
|
2850 |
+
height: 40px;
|
2851 |
+
padding: 0 10px;
|
2852 |
+
}
|
2853 |
+
|
2854 |
+
.subscription-fields .subscription-field {
|
2855 |
+
margin-bottom: 1.4em;
|
2856 |
+
}
|
2857 |
+
|
2858 |
+
.subscription-user-type .label {
|
2859 |
+
margin-right: 1em;
|
2860 |
+
margin-left: 2px;
|
2861 |
+
}
|
2862 |
+
|
2863 |
+
.button-subscription-skip:focus {
|
2864 |
+
box-shadow: none;
|
2865 |
+
}
|
2866 |
+
|
2867 |
+
.button-subscription-skip {
|
2868 |
+
margin-top: .8em;
|
2869 |
+
display: inline-block;
|
2870 |
+
}
|
2871 |
+
|
2872 |
+
.subscription-actions {
|
2873 |
+
display: flex;
|
2874 |
+
align-items: center;
|
2875 |
+
margin-top: 1.6em;
|
2876 |
+
}
|
2877 |
+
|
2878 |
+
.subscription-user-type {
|
2879 |
+
display: flex;
|
2880 |
+
margin-bottom: 2em;
|
2881 |
+
}
|
2882 |
+
|
2883 |
+
.subscription-field .subscription-input .error {
|
2884 |
+
border-color: red;
|
2885 |
+
}
|
2886 |
+
|
2887 |
+
.subscription-input input[type="email"] {
|
2888 |
+
width: 100%;
|
2889 |
+
}
|
2890 |
+
|
2891 |
+
.subscription-popup .astra-sites-import-content {
|
2892 |
+
height: 260px;
|
2893 |
+
padding: 20px 35px 20px 35px;
|
2894 |
+
}
|
2895 |
+
|
2896 |
+
.subscription-actions .submitting .dashicons,
|
2897 |
+
.subscription-actions .submitted .dashicons {
|
2898 |
+
opacity: 1;
|
2899 |
+
visibility: visible;
|
2900 |
+
}
|
2901 |
+
|
2902 |
+
.subscription-actions .submitting .dashicons {
|
2903 |
+
animation: rotation 2s infinite linear;
|
2904 |
+
}
|
2905 |
+
|
2906 |
+
.wp-core-ui .subscription-field select {
|
2907 |
+
background-position: right 7px top 55%;
|
2908 |
+
}
|
2909 |
+
|
2910 |
+
.wp-core-ui .astra-sites-result-preview .subscription-actions .button.button-hero {
|
2911 |
+
margin: 0;
|
2912 |
+
box-shadow: none;
|
2913 |
+
font-size: 13px;
|
2914 |
+
min-height: 38px;
|
2915 |
+
padding: 0 18px;
|
2916 |
+
width: 100%;
|
2917 |
+
}
|
2918 |
+
|
2919 |
+
.wp-core-ui .subscription-user-type select:focus,
|
2920 |
+
.subscription-field input[type="text"]:focus,
|
2921 |
+
.subscription-field input[type="email"]:focus,
|
2922 |
+
.wp-core-ui .subscription-user-type select:hover,
|
2923 |
+
.subscription-field input[type="text"]:hover,
|
2924 |
+
.subscription-field input[type="email"]:hover {
|
2925 |
+
border-color: #444C53;
|
2926 |
+
}
|
2927 |
+
|
2928 |
+
.subscription-input input[type="email"],
|
2929 |
+
.subscription-input input[type="text"] {
|
2930 |
+
color: #444;
|
2931 |
+
}
|
2932 |
+
|
2933 |
+
.wp-core-ui .subscription-user-type select:focus,
|
2934 |
+
.subscription-field input[type="text"]:focus,
|
2935 |
+
.subscription-field input[type="email"]:focus {
|
2936 |
+
box-shadow: none;
|
2937 |
+
}
|
2938 |
+
|
2939 |
+
.wp-core-ui .subscription-user-type select,
|
2940 |
+
.subscription-user-type .subscription-input {
|
2941 |
+
width: 100%;
|
2942 |
+
color: #72777c;
|
2943 |
+
}
|
2944 |
+
|
2945 |
+
.subscription-actions + p {
|
2946 |
+
margin: 30px 0 0 0;
|
2947 |
+
}
|
2948 |
+
|
2949 |
+
.subscription-footer {
|
2950 |
+
margin-top: 0.8em;
|
2951 |
+
text-align: center;
|
2952 |
+
}
|
2953 |
+
|
2954 |
+
.subscription-footer p {
|
2955 |
+
margin: 0;
|
2956 |
+
}
|
2957 |
+
@media screen and (max-width: 768px) {
|
2958 |
+
.astra-sites-result-preview .inner {
|
2959 |
+
max-height: 100%;
|
2960 |
+
}
|
2961 |
+
.subscription-popup .astra-sites-import-content {
|
2962 |
+
height: 100%;
|
2963 |
+
}
|
2964 |
+
}
|
2965 |
+
|
2966 |
+
@media screen and (min-width: 768px) {
|
2967 |
+
.subscription-fields {
|
2968 |
+
display: flex;
|
2969 |
+
}
|
2970 |
+
.subscription-fields .subscription-field:first-child {
|
2971 |
+
padding-right: 1.2em;
|
2972 |
+
}
|
2973 |
+
.subscription-fields .subscription-field {
|
2974 |
+
margin-bottom: 1.4em;
|
2975 |
+
width: 50%;
|
2976 |
+
}
|
2977 |
+
}
|
inc/assets/css/import-status-rtl.css
ADDED
@@ -0,0 +1,97 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#wpadminbar #astra-sites-import-status-admin-bar {
|
2 |
+
padding-right: 10px;
|
3 |
+
border-right: 1px solid #3d4349;
|
4 |
+
color: #fff;
|
5 |
+
}
|
6 |
+
|
7 |
+
.astra-sites-import-screen.failed .import-step:before {
|
8 |
+
content: "\f335";
|
9 |
+
color: #F44336;
|
10 |
+
}
|
11 |
+
|
12 |
+
.astra-sites-import-screen .dashicons-external {
|
13 |
+
font-size: inherit;
|
14 |
+
vertical-align: middle;
|
15 |
+
}
|
16 |
+
|
17 |
+
#astra-sites-import-status-admin-bar .dashicons {
|
18 |
+
font-family: 'dashicons';
|
19 |
+
display: inline-block;
|
20 |
+
line-height: 1;
|
21 |
+
font-weight: 400;
|
22 |
+
font-style: normal;
|
23 |
+
speak: none;
|
24 |
+
text-decoration: inherit;
|
25 |
+
text-transform: none;
|
26 |
+
text-rendering: auto;
|
27 |
+
-webkit-font-smoothing: antialiased;
|
28 |
+
-moz-osx-font-smoothing: grayscale;
|
29 |
+
font-size: 20px;
|
30 |
+
vertical-align: text-top;
|
31 |
+
text-align: center;
|
32 |
+
transition: color 0.1s ease-in;
|
33 |
+
margin-left: 5px;
|
34 |
+
}
|
35 |
+
|
36 |
+
#astra-sites-import-status-admin-bar .loading::before {
|
37 |
+
color: #9ea3a8;
|
38 |
+
content: "\f463";
|
39 |
+
display: inline-block;
|
40 |
+
font: normal 20px/1 'dashicons';
|
41 |
+
-webkit-font-smoothing: antialiased;
|
42 |
+
-moz-osx-font-smoothing: grayscale;
|
43 |
+
vertical-align: top;
|
44 |
+
animation: rotation 2s infinite linear;
|
45 |
+
margin: 5px -2px 0 5px;
|
46 |
+
font-weight: revert;
|
47 |
+
}
|
48 |
+
|
49 |
+
.astra-sites-import-screen .import-steps {
|
50 |
+
padding: 1.5em 1.5em 1em 1em;
|
51 |
+
}
|
52 |
+
|
53 |
+
.astra-sites-import-screen .import-step.processing:before {
|
54 |
+
content: "\f463";
|
55 |
+
animation: rotation 2s infinite linear;
|
56 |
+
}
|
57 |
+
|
58 |
+
.astra-sites-import-screen .import-step:before {
|
59 |
+
color: #9ea3a8;
|
60 |
+
content: "\f139";
|
61 |
+
display: inline-block;
|
62 |
+
font: normal 20px/1 'dashicons';
|
63 |
+
-webkit-font-smoothing: antialiased;
|
64 |
+
-moz-osx-font-smoothing: grayscale;
|
65 |
+
vertical-align: top;
|
66 |
+
font-weight: revert;
|
67 |
+
margin-left: 3px;
|
68 |
+
}
|
69 |
+
|
70 |
+
.astra-sites-import-screen .import-step.success::before {
|
71 |
+
content: "\f147";
|
72 |
+
color: #4CAF50;
|
73 |
+
}
|
74 |
+
|
75 |
+
.astra-sites-import-screen .import-step.fail::before {
|
76 |
+
color: #FF5722;
|
77 |
+
content: "\f335";
|
78 |
+
}
|
79 |
+
|
80 |
+
.astra-sites-import-screen .footer {
|
81 |
+
text-align: right;
|
82 |
+
padding: 10px 15px;
|
83 |
+
display: flex;
|
84 |
+
align-items: center;
|
85 |
+
justify-content: space-between;
|
86 |
+
position: relative;
|
87 |
+
}
|
88 |
+
|
89 |
+
.astra-sites-import-screen .content {
|
90 |
+
text-align: right;
|
91 |
+
padding: 2em 5em 4em 5em;
|
92 |
+
}
|
93 |
+
|
94 |
+
.astra-sites-import-screen .view-site-button .dashicons {
|
95 |
+
font-size: initial;
|
96 |
+
vertical-align: middle;
|
97 |
+
}
|
inc/assets/css/import-status.css
ADDED
@@ -0,0 +1,97 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#wpadminbar #astra-sites-import-status-admin-bar {
|
2 |
+
padding-left: 10px;
|
3 |
+
border-left: 1px solid #3d4349;
|
4 |
+
color: #fff;
|
5 |
+
}
|
6 |
+
|
7 |
+
.astra-sites-import-screen.failed .import-step:before {
|
8 |
+
content: "\f335";
|
9 |
+
color: #F44336;
|
10 |
+
}
|
11 |
+
|
12 |
+
.astra-sites-import-screen .dashicons-external {
|
13 |
+
font-size: inherit;
|
14 |
+
vertical-align: middle;
|
15 |
+
}
|
16 |
+
|
17 |
+
#astra-sites-import-status-admin-bar .dashicons {
|
18 |
+
font-family: 'dashicons';
|
19 |
+
display: inline-block;
|
20 |
+
line-height: 1;
|
21 |
+
font-weight: 400;
|
22 |
+
font-style: normal;
|
23 |
+
speak: none;
|
24 |
+
text-decoration: inherit;
|
25 |
+
text-transform: none;
|
26 |
+
text-rendering: auto;
|
27 |
+
-webkit-font-smoothing: antialiased;
|
28 |
+
-moz-osx-font-smoothing: grayscale;
|
29 |
+
font-size: 20px;
|
30 |
+
vertical-align: text-top;
|
31 |
+
text-align: center;
|
32 |
+
transition: color 0.1s ease-in;
|
33 |
+
margin-right: 5px;
|
34 |
+
}
|
35 |
+
|
36 |
+
#astra-sites-import-status-admin-bar .loading::before {
|
37 |
+
color: #9ea3a8;
|
38 |
+
content: "\f463";
|
39 |
+
display: inline-block;
|
40 |
+
font: normal 20px/1 'dashicons';
|
41 |
+
-webkit-font-smoothing: antialiased;
|
42 |
+
-moz-osx-font-smoothing: grayscale;
|
43 |
+
vertical-align: top;
|
44 |
+
animation: rotation 2s infinite linear;
|
45 |
+
margin: 5px 5px 0 -2px;
|
46 |
+
font-weight: revert;
|
47 |
+
}
|
48 |
+
|
49 |
+
.astra-sites-import-screen .import-steps {
|
50 |
+
padding: 1.5em 1em 1em 1.5em;
|
51 |
+
}
|
52 |
+
|
53 |
+
.astra-sites-import-screen .import-step.processing:before {
|
54 |
+
content: "\f463";
|
55 |
+
animation: rotation 2s infinite linear;
|
56 |
+
}
|
57 |
+
|
58 |
+
.astra-sites-import-screen .import-step:before {
|
59 |
+
color: #9ea3a8;
|
60 |
+
content: "\f139";
|
61 |
+
display: inline-block;
|
62 |
+
font: normal 20px/1 'dashicons';
|
63 |
+
-webkit-font-smoothing: antialiased;
|
64 |
+
-moz-osx-font-smoothing: grayscale;
|
65 |
+
vertical-align: top;
|
66 |
+
font-weight: revert;
|
67 |
+
margin-right: 3px;
|
68 |
+
}
|
69 |
+
|
70 |
+
.astra-sites-import-screen .import-step.success::before {
|
71 |
+
content: "\f147";
|
72 |
+
color: #4CAF50;
|
73 |
+
}
|
74 |
+
|
75 |
+
.astra-sites-import-screen .import-step.fail::before {
|
76 |
+
color: #FF5722;
|
77 |
+
content: "\f335";
|
78 |
+
}
|
79 |
+
|
80 |
+
.astra-sites-import-screen .footer {
|
81 |
+
text-align: left;
|
82 |
+
padding: 10px 15px;
|
83 |
+
display: flex;
|
84 |
+
align-items: center;
|
85 |
+
justify-content: space-between;
|
86 |
+
position: relative;
|
87 |
+
}
|
88 |
+
|
89 |
+
.astra-sites-import-screen .content {
|
90 |
+
text-align: left;
|
91 |
+
padding: 2em 5em 4em 5em;
|
92 |
+
}
|
93 |
+
|
94 |
+
.astra-sites-import-screen .view-site-button .dashicons {
|
95 |
+
font-size: initial;
|
96 |
+
vertical-align: middle;
|
97 |
+
}
|
inc/assets/js/admin-page.js
CHANGED
@@ -170,6 +170,11 @@ var AstraSitesAjaxQueue = (function() {
|
|
170 |
|
171 |
AstraSitesAdmin = {
|
172 |
|
|
|
|
|
|
|
|
|
|
|
173 |
remaining_activate_plugins: [],
|
174 |
required_plugins_original_list: [],
|
175 |
|
@@ -485,6 +490,132 @@ var AstraSitesAjaxQueue = (function() {
|
|
485 |
$( document ).on( 'heartbeat-send', AstraSitesAdmin._sendHeartbeat );
|
486 |
$( document ).on( 'heartbeat-tick', AstraSitesAdmin._heartbeatDone );
|
487 |
$( document ).on('click' , '.ui-autocomplete .ui-menu-item', AstraSitesAdmin._show_search_term );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
488 |
},
|
489 |
|
490 |
_heartbeatDone: function( e, data ) {
|
@@ -1841,20 +1972,23 @@ var AstraSitesAjaxQueue = (function() {
|
|
1841 |
}
|
1842 |
},
|
1843 |
|
1844 |
-
_resetData: function(
|
1845 |
-
event.preventDefault();
|
1846 |
|
1847 |
-
|
1848 |
|
1849 |
-
if(
|
1850 |
-
|
|
|
|
|
|
|
|
|
1851 |
}
|
1852 |
|
|
|
|
|
1853 |
$(this).addClass('updating-message installing').text( 'Importing..' );
|
1854 |
$('body').addClass('importing-site');
|
1855 |
-
|
1856 |
-
$('.install-theme-info').hide();
|
1857 |
-
$('.ast-importing-wrap').show();
|
1858 |
var output = '<div class="current-importing-status-title"></div><div class="current-importing-status-description"></div>';
|
1859 |
$('.current-importing-status').html( output );
|
1860 |
|
@@ -2255,19 +2389,45 @@ var AstraSitesAjaxQueue = (function() {
|
|
2255 |
if( false === response.success ) {
|
2256 |
AstraSitesAdmin._importFailMessage( response.data, 'Import Complete Failed!' );
|
2257 |
} else {
|
|
|
|
|
|
|
|
|
|
|
2258 |
|
2259 |
-
|
|
|
|
|
|
|
2260 |
|
2261 |
-
|
2262 |
-
|
|
|
|
|
2263 |
|
2264 |
-
|
2265 |
-
|
|
|
2266 |
|
2267 |
-
|
2268 |
-
|
2269 |
-
|
2270 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2271 |
},
|
2272 |
|
2273 |
/**
|
@@ -3085,7 +3245,7 @@ var AstraSitesAjaxQueue = (function() {
|
|
3085 |
var site_id = AstraSitesAdmin._get_id( $('#site-pages').attr( 'data-site-id') ) || '';
|
3086 |
|
3087 |
$('.astra-sites-result-preview')
|
3088 |
-
.removeClass('astra-sites-activate-license astra-sites-get-agency-bundle astra-sites-site-import-popup astra-sites-page-import-popup')
|
3089 |
.addClass('preview-page-from-search-result')
|
3090 |
.show();
|
3091 |
|
@@ -3259,7 +3419,7 @@ var AstraSitesAjaxQueue = (function() {
|
|
3259 |
// Set compatibilities.
|
3260 |
var compatibilities = astraSitesVars.compatibilities;
|
3261 |
|
3262 |
-
AstraSitesAdmin.skip_and_import_popups = [];
|
3263 |
|
3264 |
AstraSitesAdmin.required_plugins = response.data['required_plugins'];
|
3265 |
|
@@ -3286,7 +3446,6 @@ var AstraSitesAjaxQueue = (function() {
|
|
3286 |
AstraSitesAdmin.skip_and_import_popups['astra-sites-dynamic-page'] = '';
|
3287 |
}
|
3288 |
|
3289 |
-
|
3290 |
// Release disabled class from import button.
|
3291 |
$('.astra-demo-import')
|
3292 |
.removeClass('disabled not-click-able')
|
@@ -3305,7 +3464,6 @@ var AstraSitesAjaxQueue = (function() {
|
|
3305 |
var remaining_plugins = 0;
|
3306 |
var required_plugins_markup = '';
|
3307 |
|
3308 |
-
|
3309 |
/**
|
3310 |
* Not Installed
|
3311 |
*
|
@@ -3386,6 +3544,13 @@ var AstraSitesAjaxQueue = (function() {
|
|
3386 |
return;
|
3387 |
}
|
3388 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3389 |
$( '.astra-sites-page-import-popup .site-install-site-button, .preview-page-from-search-result .site-install-site-button' ).addClass('updating-message installing').text( 'Importing..' );
|
3390 |
|
3391 |
AstraSitesAdmin.import_start_time = new Date();
|
@@ -3537,11 +3702,9 @@ var AstraSitesAjaxQueue = (function() {
|
|
3537 |
},
|
3538 |
success: function( response ){
|
3539 |
if( response.success ) {
|
3540 |
-
|
3541 |
-
|
3542 |
-
|
3543 |
-
var template = wp.template('astra-sites-page-import-success');
|
3544 |
-
$('.astra-sites-result-preview .inner').html( template( response.data ) );
|
3545 |
} else {
|
3546 |
AstraSitesAdmin._importFailMessage( response.data, 'Page Rest API Request Failed!' );
|
3547 |
}
|
170 |
|
171 |
AstraSitesAdmin = {
|
172 |
|
173 |
+
subscribe_status: false,
|
174 |
+
site_import_status: false,
|
175 |
+
page_import_status: false,
|
176 |
+
imported_page_data: null,
|
177 |
+
|
178 |
remaining_activate_plugins: [],
|
179 |
required_plugins_original_list: [],
|
180 |
|
490 |
$( document ).on( 'heartbeat-send', AstraSitesAdmin._sendHeartbeat );
|
491 |
$( document ).on( 'heartbeat-tick', AstraSitesAdmin._heartbeatDone );
|
492 |
$( document ).on('click' , '.ui-autocomplete .ui-menu-item', AstraSitesAdmin._show_search_term );
|
493 |
+
|
494 |
+
$( document ).on('click', '.button-subscription-submit', AstraSitesAdmin._subscribe );
|
495 |
+
$( document ).on('click' , '.button-subscription-skip', AstraSitesAdmin._hide_subscription_popup );
|
496 |
+
$( document ).on('blur' , '.subscription-input input[type="email"], .subscription-input input[type="text"], .subscription-input [name="user_type"]', AstraSitesAdmin._validate_fields );
|
497 |
+
|
498 |
+
},
|
499 |
+
|
500 |
+
_validate_fields: function( event ) {
|
501 |
+
var first_name_field = $( '.subscription-input input[name="first_name"]' ) || '';
|
502 |
+
var user_type = $( '.subscription-input [name="user_type"]' ) || '';
|
503 |
+
var email_field = $( '.subscription-input input[name="email"]' ) || '';
|
504 |
+
|
505 |
+
$( '.subscription-input input, .subscription-input select' ).removeClass('error');
|
506 |
+
|
507 |
+
if( ! first_name_field.val() ) {
|
508 |
+
first_name_field.addClass('error');
|
509 |
+
if( event && $( event.target ).hasClass( 'subscription-input-user-name' ) ) {
|
510 |
+
return;
|
511 |
+
}
|
512 |
+
}
|
513 |
+
|
514 |
+
if( ! user_type.val() ) {
|
515 |
+
user_type.addClass('error');
|
516 |
+
if( event && $( event.target ).hasClass( 'subscription-input-user-type' ) ) {
|
517 |
+
return;
|
518 |
+
}
|
519 |
+
}
|
520 |
+
|
521 |
+
|
522 |
+
if( ! email_field.val() || false === AstraSitesAdmin.isValidEmail( email_field.val() ) ) {
|
523 |
+
email_field.addClass('error');
|
524 |
+
if( event && $( event.target ).hasClass( 'subscription-input-user-email' ) ) {
|
525 |
+
return;
|
526 |
+
}
|
527 |
+
}
|
528 |
+
},
|
529 |
+
|
530 |
+
_hide_subscription_popup: function( event ) {
|
531 |
+
$('.subscription-popup').hide();
|
532 |
+
$('.astra-sites-result-preview .default').show();
|
533 |
+
|
534 |
+
AstraSitesAdmin.subscribe_status = true;
|
535 |
+
|
536 |
+
if( 'astra-sites' === AstraSitesAdmin.action_slug ) {
|
537 |
+
$('.ast-importing-wrap').show();
|
538 |
+
$( '.astra-sites-result-preview' ).removeClass( 'astra-sites-subscription-popup' );
|
539 |
+
$( '.ast-actioms-wrap .button' ).hide();
|
540 |
+
$( '.ast-actioms-wrap .site-install-site-button' ).show();
|
541 |
+
$( '.ast-actioms-wrap .site-import-cancel' ).show();
|
542 |
+
|
543 |
+
if( true === AstraSitesAdmin.site_import_status ) {
|
544 |
+
AstraSitesAdmin.import_complete();
|
545 |
+
}
|
546 |
+
} else {
|
547 |
+
if( true === AstraSitesAdmin.page_import_status ) {
|
548 |
+
AstraSitesAdmin.page_import_complete();
|
549 |
+
}
|
550 |
+
}
|
551 |
+
|
552 |
+
astraSitesVars.subscribed = 'yes';
|
553 |
+
},
|
554 |
+
|
555 |
+
_subscribe: function( event ) {
|
556 |
+
|
557 |
+
var submit_button = $(this);
|
558 |
+
|
559 |
+
if( submit_button.hasClass( 'submitting' ) ) {
|
560 |
+
return;
|
561 |
+
}
|
562 |
+
|
563 |
+
var subscription_first_name = $( '.subscription-input input[name="first_name"]' ).val() || '';
|
564 |
+
var subscription_last_name = $( '.subscription-input input[name="last_name"]' ).val() || '';
|
565 |
+
var subscription_email = $( '.subscription-input input[name="email"]' ).val() || '';
|
566 |
+
var subscription_type = $( '.subscription-input [name="user_type"]' ).val() || '';
|
567 |
+
|
568 |
+
AstraSitesAdmin._validate_fields();
|
569 |
+
|
570 |
+
if( ! subscription_first_name || ! subscription_type ) {
|
571 |
+
return;
|
572 |
+
}
|
573 |
+
|
574 |
+
if( ! subscription_email || false === AstraSitesAdmin.isValidEmail( subscription_email ) ) {
|
575 |
+
return;
|
576 |
+
}
|
577 |
+
|
578 |
+
submit_button.addClass( 'submitting' );
|
579 |
+
|
580 |
+
var subscription_fields = {
|
581 |
+
page_builder: astraSitesVars.default_page_builder_data.name,
|
582 |
+
first_name: subscription_first_name,
|
583 |
+
last_name: subscription_last_name,
|
584 |
+
email: subscription_email,
|
585 |
+
type: subscription_type,
|
586 |
+
};
|
587 |
+
|
588 |
+
$.ajax({
|
589 |
+
url : astraSitesVars.ajaxurl,
|
590 |
+
type : 'POST',
|
591 |
+
data : {
|
592 |
+
action : 'astra-sites-update-subscription',
|
593 |
+
_ajax_nonce : astraSitesVars._ajax_nonce,
|
594 |
+
data: JSON.stringify( subscription_fields ),
|
595 |
+
},
|
596 |
+
beforeSend: function() {
|
597 |
+
console.groupCollapsed( 'Email Subscription' );
|
598 |
+
},
|
599 |
+
})
|
600 |
+
.done(function ( response ) {
|
601 |
+
AstraSitesAdmin._log( response );
|
602 |
+
|
603 |
+
submit_button.removeClass( 'submitting' ).addClass('submitted');
|
604 |
+
$('.astra-sites-result-preview .dashicons').removeClass('dashicons-update').addClass('dashicons-yes')
|
605 |
+
setTimeout( function() {
|
606 |
+
AstraSitesAdmin._hide_subscription_popup();
|
607 |
+
}, 500);
|
608 |
+
console.groupEnd();
|
609 |
+
});
|
610 |
+
|
611 |
+
},
|
612 |
+
|
613 |
+
isValidEmail: function(eMail) {
|
614 |
+
if (/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test( eMail ) ) {
|
615 |
+
return true;
|
616 |
+
}
|
617 |
+
|
618 |
+
return false;
|
619 |
},
|
620 |
|
621 |
_heartbeatDone: function( e, data ) {
|
1972 |
}
|
1973 |
},
|
1974 |
|
1975 |
+
_resetData: function() {
|
|
|
1976 |
|
1977 |
+
$('.install-theme-info').hide();
|
1978 |
|
1979 |
+
if( astraSitesVars.isWhiteLabeled || astraSitesVars.isPro || astraSitesVars.subscribed ) {
|
1980 |
+
AstraSitesAdmin.subscribe_status = true;
|
1981 |
+
$('.ast-importing-wrap').show();
|
1982 |
+
} else {
|
1983 |
+
$( '.subscription-popup' ).show();
|
1984 |
+
$( '.astra-sites-result-preview .default').hide();
|
1985 |
}
|
1986 |
|
1987 |
+
AstraSitesAdmin.import_start_time = new Date();
|
1988 |
+
|
1989 |
$(this).addClass('updating-message installing').text( 'Importing..' );
|
1990 |
$('body').addClass('importing-site');
|
1991 |
+
|
|
|
|
|
1992 |
var output = '<div class="current-importing-status-title"></div><div class="current-importing-status-description"></div>';
|
1993 |
$('.current-importing-status').html( output );
|
1994 |
|
2389 |
if( false === response.success ) {
|
2390 |
AstraSitesAdmin._importFailMessage( response.data, 'Import Complete Failed!' );
|
2391 |
} else {
|
2392 |
+
AstraSitesAdmin.site_import_status = true;
|
2393 |
+
AstraSitesAdmin.import_complete();
|
2394 |
+
}
|
2395 |
+
});
|
2396 |
+
},
|
2397 |
|
2398 |
+
page_import_complete: function() {
|
2399 |
+
if( false === AstraSitesAdmin.subscribe_status ) {
|
2400 |
+
return;
|
2401 |
+
}
|
2402 |
|
2403 |
+
$('body').removeClass('importing-site');
|
2404 |
+
$('.rotating, .current-importing-status-wrap,.notice-warning').remove();
|
2405 |
+
var template = wp.template('astra-sites-page-import-success');
|
2406 |
+
$('.astra-sites-result-preview .inner').html( template( AstraSitesAdmin.imported_page_data ) );
|
2407 |
|
2408 |
+
AstraSitesAdmin.page_import_status = false;
|
2409 |
+
AstraSitesAdmin.subscribe_status = false;
|
2410 |
+
},
|
2411 |
|
2412 |
+
import_complete: function() {
|
2413 |
+
|
2414 |
+
if( false === AstraSitesAdmin.subscribe_status ) {
|
2415 |
+
return;
|
2416 |
+
}
|
2417 |
+
|
2418 |
+
$('body').removeClass('importing-site');
|
2419 |
+
|
2420 |
+
var template = wp.template('astra-sites-site-import-success');
|
2421 |
+
$('.astra-sites-result-preview .inner').html( template() );
|
2422 |
+
|
2423 |
+
$('.rotating,.current-importing-status-wrap,.notice-warning').remove();
|
2424 |
+
$('.astra-sites-result-preview').addClass('astra-sites-result-preview');
|
2425 |
+
|
2426 |
+
// 5. Pass - Import Complete.
|
2427 |
+
AstraSitesAdmin._importSuccessButton();
|
2428 |
+
|
2429 |
+
AstraSitesAdmin.site_import_status = false;
|
2430 |
+
AstraSitesAdmin.subscribe_status = false;
|
2431 |
},
|
2432 |
|
2433 |
/**
|
3245 |
var site_id = AstraSitesAdmin._get_id( $('#site-pages').attr( 'data-site-id') ) || '';
|
3246 |
|
3247 |
$('.astra-sites-result-preview')
|
3248 |
+
.removeClass('astra-sites-subscription-popup astra-sites-activate-license astra-sites-get-agency-bundle astra-sites-site-import-popup astra-sites-page-import-popup')
|
3249 |
.addClass('preview-page-from-search-result')
|
3250 |
.show();
|
3251 |
|
3419 |
// Set compatibilities.
|
3420 |
var compatibilities = astraSitesVars.compatibilities;
|
3421 |
|
3422 |
+
AstraSitesAdmin.skip_and_import_popups = [ ];
|
3423 |
|
3424 |
AstraSitesAdmin.required_plugins = response.data['required_plugins'];
|
3425 |
|
3446 |
AstraSitesAdmin.skip_and_import_popups['astra-sites-dynamic-page'] = '';
|
3447 |
}
|
3448 |
|
|
|
3449 |
// Release disabled class from import button.
|
3450 |
$('.astra-demo-import')
|
3451 |
.removeClass('disabled not-click-able')
|
3464 |
var remaining_plugins = 0;
|
3465 |
var required_plugins_markup = '';
|
3466 |
|
|
|
3467 |
/**
|
3468 |
* Not Installed
|
3469 |
*
|
3544 |
return;
|
3545 |
}
|
3546 |
|
3547 |
+
if( astraSitesVars.isWhiteLabeled || astraSitesVars.isPro || astraSitesVars.subscribed ) {
|
3548 |
+
AstraSitesAdmin.subscribe_status = true;
|
3549 |
+
} else {
|
3550 |
+
$( '.subscription-popup' ).show();
|
3551 |
+
$( '.astra-sites-result-preview .default').hide();
|
3552 |
+
}
|
3553 |
+
|
3554 |
$( '.astra-sites-page-import-popup .site-install-site-button, .preview-page-from-search-result .site-install-site-button' ).addClass('updating-message installing').text( 'Importing..' );
|
3555 |
|
3556 |
AstraSitesAdmin.import_start_time = new Date();
|
3702 |
},
|
3703 |
success: function( response ){
|
3704 |
if( response.success ) {
|
3705 |
+
AstraSitesAdmin.page_import_status = true;
|
3706 |
+
AstraSitesAdmin.imported_page_data = response.data
|
3707 |
+
AstraSitesAdmin.page_import_complete();
|
|
|
|
|
3708 |
} else {
|
3709 |
AstraSitesAdmin._importFailMessage( response.data, 'Page Rest API Request Failed!' );
|
3710 |
}
|
inc/assets/js/import-status.js
ADDED
@@ -0,0 +1,102 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
(function($){
|
2 |
+
|
3 |
+
AstraSitesImportStatus = {
|
4 |
+
timer: null,
|
5 |
+
ajax_in_process: false,
|
6 |
+
current_step: null,
|
7 |
+
interval: $( '.astra-sites-import-screen' ).length ? 1000 : 10000,
|
8 |
+
|
9 |
+
/**
|
10 |
+
* Init
|
11 |
+
*/
|
12 |
+
init: function()
|
13 |
+
{
|
14 |
+
this.start();
|
15 |
+
},
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Start
|
19 |
+
*/
|
20 |
+
start: function() {
|
21 |
+
AstraSitesImportStatus.timer = setInterval( AstraSitesImportStatus.check_status, AstraSitesImportStatus.interval );
|
22 |
+
},
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Check Status
|
26 |
+
*/
|
27 |
+
check_status: function() {
|
28 |
+
if( false === AstraSitesImportStatus.ajax_in_process ) {
|
29 |
+
AstraSitesImportStatus.ajax_in_process = true;
|
30 |
+
AstraSitesImportStatus._ajax_request();
|
31 |
+
}
|
32 |
+
},
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Ajax Request
|
36 |
+
*/
|
37 |
+
_ajax_request: function() {
|
38 |
+
$.ajax({
|
39 |
+
url: AstraSitesImportStatusVars.ajaxurl,
|
40 |
+
type: 'POST',
|
41 |
+
data: {
|
42 |
+
'action' : 'astra_sites_check_import_status',
|
43 |
+
'_ajax_nonce' : AstraSitesImportStatusVars._ajax_nonce,
|
44 |
+
},
|
45 |
+
})
|
46 |
+
.done(function (result) {
|
47 |
+
|
48 |
+
AstraSitesImportStatus.ajax_in_process = false;
|
49 |
+
|
50 |
+
// Admin Bar UI markup.
|
51 |
+
if( "complete" === result.data.response.step || "fail" === result.data.response.step ) {
|
52 |
+
AstraSitesImportStatus.stop();
|
53 |
+
|
54 |
+
var response_message = '<span class="dashicons dashicons-no-alt"></span> Site Import Failed';
|
55 |
+
if( "complete" === result.data.response.step ) {
|
56 |
+
response_message = '<span class="dashicons dashicons-yes"></span>' + response_message;
|
57 |
+
}
|
58 |
+
|
59 |
+
$('#astra-sites-import-status-admin-bar').html( response_message );
|
60 |
+
|
61 |
+
} else {
|
62 |
+
$('#astra-sites-import-status-admin-bar').html( '<span class="loading"></span>' + result.data.response.message );
|
63 |
+
}
|
64 |
+
|
65 |
+
// Admin page UI markup.
|
66 |
+
var currentStep = $( '.import-step[data-step="' + result.data.response.step + '"]' );
|
67 |
+
if( currentStep.length ) {
|
68 |
+
if( "complete" === result.data.response.step || "fail" === result.data.response.step ) {
|
69 |
+
$( '.import-step' ).removeClass( 'processing' ).addClass( 'success' );;
|
70 |
+
} else if( AstraSitesImportStatus.current_step !== result.data.response.step ) {
|
71 |
+
AstraSitesImportStatus.current_step = result.data.response.step;
|
72 |
+
|
73 |
+
currentStep.prevAll().removeClass('processing').addClass('success');
|
74 |
+
currentStep.addClass('processing');
|
75 |
+
}
|
76 |
+
}
|
77 |
+
})
|
78 |
+
.fail(function (err) {
|
79 |
+
AstraSitesImportStatus.ajax_in_process = false;
|
80 |
+
|
81 |
+
// Stop.
|
82 |
+
AstraSitesImportStatus.stop();
|
83 |
+
});
|
84 |
+
},
|
85 |
+
|
86 |
+
/**
|
87 |
+
* Step
|
88 |
+
*/
|
89 |
+
stop: function() {
|
90 |
+
clearInterval(AstraSitesImportStatus.timer);
|
91 |
+
}
|
92 |
+
|
93 |
+
};
|
94 |
+
|
95 |
+
/**
|
96 |
+
* Initialize AstraSitesImportStatus
|
97 |
+
*/
|
98 |
+
$(function(){
|
99 |
+
AstraSitesImportStatus.init();
|
100 |
+
});
|
101 |
+
|
102 |
+
})(jQuery);
|
inc/classes/batch-import/class-astra-sites-batch-import.php
ADDED
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Batch Import
|
4 |
+
*
|
5 |
+
* @package Astra Sites
|
6 |
+
* @since x.x.x
|
7 |
+
*/
|
8 |
+
|
9 |
+
if ( ! class_exists( 'Astra_Sites_Batch_Import' ) ) :
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Batch Import
|
13 |
+
*
|
14 |
+
* @since x.x.x
|
15 |
+
*/
|
16 |
+
class Astra_Sites_Batch_Import {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Instance
|
20 |
+
*
|
21 |
+
* @since x.x.x
|
22 |
+
* @var object Class object.
|
23 |
+
* @access private
|
24 |
+
*/
|
25 |
+
private static $instance;
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Initiator
|
29 |
+
*
|
30 |
+
* @since x.x.x
|
31 |
+
* @return object initialized object of class.
|
32 |
+
*/
|
33 |
+
public static function get_instance() {
|
34 |
+
if ( ! isset( self::$instance ) ) {
|
35 |
+
self::$instance = new self();
|
36 |
+
}
|
37 |
+
return self::$instance;
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Constructor
|
42 |
+
*
|
43 |
+
* @since x.x.x
|
44 |
+
*/
|
45 |
+
public function __construct() {
|
46 |
+
|
47 |
+
// WP Core Files.
|
48 |
+
require_once ABSPATH . 'wp-admin/includes/image.php';
|
49 |
+
|
50 |
+
// Image Downloader.
|
51 |
+
require_once ASTRA_SITES_DIR . 'inc/importers/batch-processing/helpers/class-astra-sites-image-importer.php';
|
52 |
+
|
53 |
+
// Batch Processing.
|
54 |
+
require_once ASTRA_SITES_DIR . 'inc/importers/batch-processing/helpers/class-wp-async-request.php';
|
55 |
+
require_once ASTRA_SITES_DIR . 'inc/importers/batch-processing/helpers/class-wp-background-process.php';
|
56 |
+
|
57 |
+
// Site Import Batch.
|
58 |
+
require_once ASTRA_SITES_DIR . 'inc/classes/batch-import/class-astra-sites-batch-site-import.php';
|
59 |
+
}
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* Kicking this off by calling 'get_instance()' method
|
64 |
+
*/
|
65 |
+
Astra_Sites_Batch_Import::get_instance();
|
66 |
+
|
67 |
+
endif;
|
inc/classes/batch-import/class-astra-sites-batch-site-import-batch.php
ADDED
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Complete Site Import Batch Process
|
4 |
+
*
|
5 |
+
* @package Astra Sites
|
6 |
+
* @since x.x.x
|
7 |
+
*/
|
8 |
+
|
9 |
+
if ( ! class_exists( 'Astra_Sites_Batch_Site_Import_Batch' ) && class_exists( 'WP_Background_Process' ) ) :
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Site Import Batch
|
13 |
+
*
|
14 |
+
* @since x.x.x
|
15 |
+
*/
|
16 |
+
class Astra_Sites_Batch_Site_Import_Batch extends WP_Background_Process {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Batch Action
|
20 |
+
*
|
21 |
+
* @var string
|
22 |
+
*/
|
23 |
+
protected $action = 'astra_sites_site_import_batch';
|
24 |
+
|
25 |
+
/**
|
26 |
+
* Task
|
27 |
+
*
|
28 |
+
* Override this method to perform any actions required on each
|
29 |
+
* queue item. Return the modified item for further processing
|
30 |
+
* in the next pass through. Or, return false to remove the
|
31 |
+
* item from the queue.
|
32 |
+
*
|
33 |
+
* @since x.x.x
|
34 |
+
*
|
35 |
+
* @param array $data Queue item object.
|
36 |
+
* @return mixed
|
37 |
+
*/
|
38 |
+
protected function task( $data ) {
|
39 |
+
|
40 |
+
$instance = $data['instance'];
|
41 |
+
|
42 |
+
if ( 'import_queue_1' === $data['method'] ) {
|
43 |
+
$instance->import_queue_1( $data['args'] );
|
44 |
+
}
|
45 |
+
|
46 |
+
if ( 'import_queue_2' === $data['method'] ) {
|
47 |
+
$instance->import_queue_2( $data['args'] );
|
48 |
+
}
|
49 |
+
|
50 |
+
if ( 'import_queue_3' === $data['method'] ) {
|
51 |
+
$instance->import_queue_3( $data['args'] );
|
52 |
+
}
|
53 |
+
|
54 |
+
return false;
|
55 |
+
}
|
56 |
+
|
57 |
+
}
|
58 |
+
|
59 |
+
endif;
|
inc/classes/batch-import/class-astra-sites-batch-site-import.php
ADDED
@@ -0,0 +1,709 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Single Page Background Process
|
4 |
+
*
|
5 |
+
* @package Astra Sites
|
6 |
+
* @since x.x.x
|
7 |
+
*/
|
8 |
+
|
9 |
+
if ( ! class_exists( 'Astra_Sites_Batch_Site_Import' ) ) :
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Background Process
|
13 |
+
*
|
14 |
+
* @since x.x.x
|
15 |
+
*/
|
16 |
+
class Astra_Sites_Batch_Site_Import {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Instance
|
20 |
+
*
|
21 |
+
* @since x.x.x
|
22 |
+
*
|
23 |
+
* @access private
|
24 |
+
* @var object Class object.
|
25 |
+
*/
|
26 |
+
private static $instance;
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Current Site Data
|
30 |
+
*
|
31 |
+
* @since x.x.x
|
32 |
+
*
|
33 |
+
* @access private
|
34 |
+
* @var object Class object.
|
35 |
+
*/
|
36 |
+
public $current_site_data;
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Process All
|
40 |
+
*
|
41 |
+
* @since x.x.x
|
42 |
+
* @var object Class object.
|
43 |
+
* @access public
|
44 |
+
*/
|
45 |
+
public static $site_import_batch;
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Initiator
|
49 |
+
*
|
50 |
+
* @since x.x.x
|
51 |
+
*
|
52 |
+
* @return object initialized object of class.
|
53 |
+
*/
|
54 |
+
public static function get_instance() {
|
55 |
+
if ( ! isset( self::$instance ) ) {
|
56 |
+
self::$instance = new self();
|
57 |
+
}
|
58 |
+
return self::$instance;
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Constructor
|
63 |
+
*
|
64 |
+
* @since x.x.x
|
65 |
+
*/
|
66 |
+
public function __construct() {
|
67 |
+
|
68 |
+
require_once ASTRA_SITES_DIR . 'inc/classes/batch-import/class-astra-sites-batch-site-import-batch.php';
|
69 |
+
|
70 |
+
/** WordPress Plugin Administration API */
|
71 |
+
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
72 |
+
require_once ABSPATH . 'wp-admin/includes/update.php';
|
73 |
+
|
74 |
+
self::$site_import_batch = new Astra_Sites_Batch_Site_Import_Batch();
|
75 |
+
|
76 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
|
77 |
+
add_action( 'admin_bar_menu', array( $this, 'admin_bar_menu_item' ), 99 );
|
78 |
+
add_action( 'wp_ajax_astra_sites_check_import_status', array( $this, 'check_import_status' ) );
|
79 |
+
add_filter( 'wp_astra_sites_site_import_batch_cron_interval', array( $this, 'set_cron_interval' ) );
|
80 |
+
|
81 |
+
$status = $this->get_status();
|
82 |
+
|
83 |
+
if (
|
84 |
+
! empty( $status ) &&
|
85 |
+
( isset( $status['step'] ) && ( 'complete' !== $status['step'] && 'fail' !== $status['step'] ) )
|
86 |
+
) {
|
87 |
+
add_filter( 'astra_sites_process_sync_batch', '__return_false' );
|
88 |
+
add_filter( 'astra_sites_process_auto_sync_library', '__return_false' );
|
89 |
+
}
|
90 |
+
}
|
91 |
+
|
92 |
+
/**
|
93 |
+
* Set Cron Interval
|
94 |
+
*
|
95 |
+
* @param int $interval Cron interval time in minutes.
|
96 |
+
*/
|
97 |
+
public function set_cron_interval( $interval = 5 ) {
|
98 |
+
return 1;
|
99 |
+
}
|
100 |
+
|
101 |
+
/**
|
102 |
+
* Check Import Status
|
103 |
+
*/
|
104 |
+
public function check_import_status() {
|
105 |
+
|
106 |
+
// Verify Nonce.
|
107 |
+
check_ajax_referer( 'astra-sites-import-status', '_ajax_nonce' );
|
108 |
+
|
109 |
+
$schedule = wp_get_scheduled_event( 'wp_astra_sites_site_import_batch_cron' );
|
110 |
+
$time = '';
|
111 |
+
if ( $schedule ) {
|
112 |
+
$time = human_time_diff( $schedule->timestamp );
|
113 |
+
}
|
114 |
+
|
115 |
+
wp_send_json_success(
|
116 |
+
array(
|
117 |
+
'response' => $this->get_status(),
|
118 |
+
'time' => $time,
|
119 |
+
)
|
120 |
+
);
|
121 |
+
}
|
122 |
+
|
123 |
+
/**
|
124 |
+
* Get status
|
125 |
+
*/
|
126 |
+
public function get_status() {
|
127 |
+
return get_option( 'astra_sites_site_import_batch_status', array() );
|
128 |
+
}
|
129 |
+
|
130 |
+
/**
|
131 |
+
* Update Import Status
|
132 |
+
*
|
133 |
+
* @param array $args Update status arguments.
|
134 |
+
*/
|
135 |
+
public function update_status( $args = array() ) {
|
136 |
+
|
137 |
+
$status = $this->get_status();
|
138 |
+
|
139 |
+
$args = wp_parse_args( $args, $status );
|
140 |
+
|
141 |
+
update_option( 'astra_sites_site_import_batch_status', $args );
|
142 |
+
}
|
143 |
+
|
144 |
+
/**
|
145 |
+
* Admin bar menu item
|
146 |
+
*
|
147 |
+
* @param instance $admin_bar Admin bar.
|
148 |
+
*/
|
149 |
+
public function admin_bar_menu_item( $admin_bar = '' ) {
|
150 |
+
if ( ! is_admin() ) {
|
151 |
+
return;
|
152 |
+
}
|
153 |
+
|
154 |
+
$status = $this->get_status();
|
155 |
+
if ( empty( $status ) || ( isset( $status['step'] ) && 'complete' === $status['step'] ) ) {
|
156 |
+
return;
|
157 |
+
}
|
158 |
+
|
159 |
+
$admin_bar->add_menu(
|
160 |
+
array(
|
161 |
+
'title' => '<a id="astra-sites-import-status-admin-bar" href="' . admin_url( 'themes.php?page=starter-templates&action=site-import' ) . '">' . esc_html__( 'Import Status', 'astra-sites' ) . '</a>',
|
162 |
+
'id' => 'astra-sites-menu-item',
|
163 |
+
'parent' => false,
|
164 |
+
)
|
165 |
+
);
|
166 |
+
}
|
167 |
+
|
168 |
+
/**
|
169 |
+
* Enqueue Scripts
|
170 |
+
*/
|
171 |
+
public function enqueue_scripts() {
|
172 |
+
|
173 |
+
wp_enqueue_style( 'astra-sites-import-status', ASTRA_SITES_URI . 'inc/assets/css/import-status.css', null, ASTRA_SITES_VER, 'all' );
|
174 |
+
|
175 |
+
$status = $this->get_status();
|
176 |
+
if ( ! empty( $status ) && ( isset( $status['step'] ) && 'complete' !== $status['step'] ) ) {
|
177 |
+
wp_enqueue_script( 'astra-sites-import-status', ASTRA_SITES_URI . 'inc/assets/js/import-status.js', array( 'jquery' ), ASTRA_SITES_VER, true );
|
178 |
+
wp_localize_script(
|
179 |
+
'astra-sites-import-status',
|
180 |
+
'AstraSitesImportStatusVars',
|
181 |
+
array(
|
182 |
+
'ajaxurl' => esc_url( admin_url( 'admin-ajax.php' ) ),
|
183 |
+
'_ajax_nonce' => wp_create_nonce( 'astra-sites-import-status' ),
|
184 |
+
)
|
185 |
+
);
|
186 |
+
}
|
187 |
+
}
|
188 |
+
|
189 |
+
/**
|
190 |
+
* Import
|
191 |
+
*
|
192 |
+
* @param int $site_id Site ID.
|
193 |
+
* @param boolean $reset Reset and import.
|
194 |
+
*/
|
195 |
+
public function import( $site_id = 0, $reset = false ) {
|
196 |
+
|
197 |
+
/**
|
198 |
+
* Validate site ID.
|
199 |
+
*/
|
200 |
+
if ( ! $site_id ) {
|
201 |
+
$this->update_status(
|
202 |
+
array(
|
203 |
+
'step' => 'fail',
|
204 |
+
'message' => esc_html__( 'Invalid site ID.', 'astra-sites' ),
|
205 |
+
'end_time' => time(),
|
206 |
+
)
|
207 |
+
);
|
208 |
+
return null;
|
209 |
+
}
|
210 |
+
|
211 |
+
/**
|
212 |
+
* Reset
|
213 |
+
*/
|
214 |
+
if ( false === $reset ) {
|
215 |
+
$status = $this->get_status();
|
216 |
+
|
217 |
+
if ( ! empty( $status ) ) {
|
218 |
+
if ( isset( $status['step'] ) && 'complete' === $status['step'] ) {
|
219 |
+
return array(
|
220 |
+
'status' => 'complete',
|
221 |
+
'message' => esc_html__( 'Site import process is complete.', 'astra-sites' ),
|
222 |
+
);
|
223 |
+
} else {
|
224 |
+
return array(
|
225 |
+
'status' => 'processing',
|
226 |
+
'message' => esc_html__( 'Site import is in process.', 'astra-sites' ),
|
227 |
+
);
|
228 |
+
}
|
229 |
+
}
|
230 |
+
}
|
231 |
+
|
232 |
+
// Set Site Data.
|
233 |
+
$demo_data = $this->get_site_data( $site_id );
|
234 |
+
|
235 |
+
// Invalid Site ID.
|
236 |
+
if ( is_wp_error( $demo_data ) ) {
|
237 |
+
$this->update_status(
|
238 |
+
array(
|
239 |
+
'step' => 'fail',
|
240 |
+
'status' => 'invalid_site_id',
|
241 |
+
'end_time' => time(),
|
242 |
+
)
|
243 |
+
);
|
244 |
+
return;
|
245 |
+
} elseif ( isset( $demo_data['site-type'] ) && 'free' !== $demo_data['site-type'] ) {
|
246 |
+
$this->update_status(
|
247 |
+
array(
|
248 |
+
'step' => 'fail',
|
249 |
+
'status' => 'premium_sites',
|
250 |
+
'end_time' => time(),
|
251 |
+
)
|
252 |
+
);
|
253 |
+
return;
|
254 |
+
}
|
255 |
+
|
256 |
+
// Preparing Import.
|
257 |
+
$this->update_status(
|
258 |
+
array(
|
259 |
+
'step' => 'preparing',
|
260 |
+
'message' => esc_html__( 'Preparing Site Import', 'astra-sites' ),
|
261 |
+
'start_time' => time(),
|
262 |
+
)
|
263 |
+
);
|
264 |
+
|
265 |
+
// Process Site Import.
|
266 |
+
$this->process_site_import_batch( $site_id );
|
267 |
+
|
268 |
+
return array(
|
269 |
+
'status' => 'started',
|
270 |
+
'message' => esc_html__( 'Site import started.', 'astra-sites' ),
|
271 |
+
);
|
272 |
+
}
|
273 |
+
|
274 |
+
/**
|
275 |
+
* Process Batch
|
276 |
+
*
|
277 |
+
* @since x.x.x
|
278 |
+
*
|
279 |
+
* @param int $site_id Site ID.
|
280 |
+
* @return mixed
|
281 |
+
*/
|
282 |
+
public function process_site_import_batch( $site_id = 0 ) {
|
283 |
+
|
284 |
+
self::$site_import_batch->push_to_queue(
|
285 |
+
array(
|
286 |
+
'instance' => self::get_instance(),
|
287 |
+
'method' => 'import_queue_1',
|
288 |
+
'args' => $site_id,
|
289 |
+
)
|
290 |
+
);
|
291 |
+
self::$site_import_batch->push_to_queue(
|
292 |
+
array(
|
293 |
+
'instance' => self::get_instance(),
|
294 |
+
'method' => 'import_queue_2',
|
295 |
+
'args' => $site_id,
|
296 |
+
)
|
297 |
+
);
|
298 |
+
self::$site_import_batch->push_to_queue(
|
299 |
+
array(
|
300 |
+
'instance' => self::get_instance(),
|
301 |
+
'method' => 'import_queue_3',
|
302 |
+
'args' => $site_id,
|
303 |
+
)
|
304 |
+
);
|
305 |
+
|
306 |
+
self::$site_import_batch->save()->dispatch();
|
307 |
+
}
|
308 |
+
|
309 |
+
/**
|
310 |
+
* Import Batch One
|
311 |
+
*
|
312 |
+
* @param int $site_id Site ID.
|
313 |
+
*/
|
314 |
+
public function import_queue_1( $site_id = 0 ) {
|
315 |
+
|
316 |
+
// Install Required Plugins.
|
317 |
+
$this->update_status(
|
318 |
+
array(
|
319 |
+
'step' => 'install_plugins',
|
320 |
+
'message' => esc_html__( 'Installing Required Plugins', 'astra-sites' ),
|
321 |
+
)
|
322 |
+
);
|
323 |
+
$this->install_required_plugins( $site_id );
|
324 |
+
|
325 |
+
}
|
326 |
+
|
327 |
+
/**
|
328 |
+
* Import Batch Two
|
329 |
+
*
|
330 |
+
* @param int $site_id Site ID.
|
331 |
+
*/
|
332 |
+
public function import_queue_2( $site_id = 0 ) {
|
333 |
+
|
334 |
+
$this->update_status(
|
335 |
+
array(
|
336 |
+
'step' => 'import_contact_forms',
|
337 |
+
'message' => esc_html__( 'Importing Contact Forms', 'astra-sites' ),
|
338 |
+
)
|
339 |
+
);
|
340 |
+
|
341 |
+
// Import Flows & Steps.
|
342 |
+
$this->import_flows_and_steps( $site_id );
|
343 |
+
|
344 |
+
// Import WP Forms.
|
345 |
+
$this->import_wp_forms( $site_id );
|
346 |
+
|
347 |
+
$this->update_status(
|
348 |
+
array(
|
349 |
+
'step' => 'import_customizer_settings',
|
350 |
+
'message' => esc_html__( 'Setting up the Theme', 'astra-sites' ),
|
351 |
+
)
|
352 |
+
);
|
353 |
+
|
354 |
+
// Import Customizer Settings.
|
355 |
+
$this->import_customizer_settings( $site_id );
|
356 |
+
|
357 |
+
$this->update_status(
|
358 |
+
array(
|
359 |
+
'step' => 'import_content',
|
360 |
+
'message' => esc_html__( 'Importing Media, Posts, and Pages', 'astra-sites' ),
|
361 |
+
)
|
362 |
+
);
|
363 |
+
|
364 |
+
// Import XML.
|
365 |
+
$this->import_xml( $site_id );
|
366 |
+
|
367 |
+
// Import Site Options.
|
368 |
+
$this->update_status(
|
369 |
+
array(
|
370 |
+
'step' => 'import_options',
|
371 |
+
'message' => esc_html__( 'Importing Site Options', 'astra-sites' ),
|
372 |
+
)
|
373 |
+
);
|
374 |
+
$this->import_site_options( $site_id );
|
375 |
+
|
376 |
+
// Import Widgets.
|
377 |
+
$this->update_status(
|
378 |
+
array(
|
379 |
+
'step' => 'import_widgets',
|
380 |
+
'message' => esc_html__( 'Importing Sidebar and Widgets', 'astra-sites' ),
|
381 |
+
)
|
382 |
+
);
|
383 |
+
$this->import_widgets( $site_id );
|
384 |
+
|
385 |
+
}
|
386 |
+
|
387 |
+
/**
|
388 |
+
* Import Batch Three
|
389 |
+
*
|
390 |
+
* @param int $site_id Site ID.
|
391 |
+
*/
|
392 |
+
public function import_queue_3( $site_id = 0 ) {
|
393 |
+
|
394 |
+
// Import End.
|
395 |
+
$this->import_end( $site_id );
|
396 |
+
|
397 |
+
$this->update_status(
|
398 |
+
array(
|
399 |
+
'step' => 'complete',
|
400 |
+
'message' => esc_html__( 'Import Complete', 'astra-sites' ),
|
401 |
+
'end_time' => time(),
|
402 |
+
)
|
403 |
+
);
|
404 |
+
}
|
405 |
+
|
406 |
+
/**
|
407 |
+
* Validate ID
|
408 |
+
*
|
409 |
+
* @param int $site_id Site ID.
|
410 |
+
*/
|
411 |
+
public function validate_id( $site_id ) {
|
412 |
+
$site_id = isset( $site_id ) ? absint( $site_id ) : 0;
|
413 |
+
if ( ! $site_id ) {
|
414 |
+
$this->update_status(
|
415 |
+
array(
|
416 |
+
'step' => 'fail',
|
417 |
+
'message' => esc_html__( 'Invalid site ID.', 'astra-sites' ),
|
418 |
+
'end_time' => time(),
|
419 |
+
)
|
420 |
+
);
|
421 |
+
return null;
|
422 |
+
}
|
423 |
+
}
|
424 |
+
|
425 |
+
/**
|
426 |
+
* Set site data
|
427 |
+
*
|
428 |
+
* @param int $site_id Site ID.
|
429 |
+
*/
|
430 |
+
public function set_site_data( $site_id ) {
|
431 |
+
|
432 |
+
}
|
433 |
+
|
434 |
+
/**
|
435 |
+
* Install Required Plugins
|
436 |
+
*/
|
437 |
+
public function install_required_plugins() {
|
438 |
+
|
439 |
+
/** WordPress Plugin Administration API */
|
440 |
+
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
441 |
+
require_once ABSPATH . 'wp-admin/includes/update.php';
|
442 |
+
|
443 |
+
$demo_data = get_option( 'astra_sites_import_data', array() );
|
444 |
+
|
445 |
+
if ( isset( $demo_data['required-plugins'] ) ) {
|
446 |
+
|
447 |
+
$plugins = (array) $demo_data['required-plugins'];
|
448 |
+
|
449 |
+
if ( ! empty( $plugins ) ) {
|
450 |
+
$plugin_status = Astra_Sites::get_instance()->required_plugin( $plugins, $demo_data['astra-site-options-data'], $demo_data['astra-enabled-extensions'] );
|
451 |
+
|
452 |
+
// Install Plugins.
|
453 |
+
if ( ! empty( $plugin_status['required_plugins']['notinstalled'] ) ) {
|
454 |
+
|
455 |
+
foreach ( $plugin_status['required_plugins']['notinstalled'] as $key => $plugin ) {
|
456 |
+
if ( isset( $plugin['slug'] ) ) {
|
457 |
+
|
458 |
+
// Install plugin.
|
459 |
+
$this->install_plugin( $plugin );
|
460 |
+
|
461 |
+
// Activate plugin.
|
462 |
+
Astra_Sites::get_instance()->required_plugin_activate( $plugin['init'], $demo_data['astra-site-options-data'], $demo_data['astra-enabled-extensions'] );
|
463 |
+
}
|
464 |
+
}
|
465 |
+
}
|
466 |
+
|
467 |
+
// Activate Plugins.
|
468 |
+
if ( ! empty( $plugin_status['required_plugins']['inactive'] ) ) {
|
469 |
+
foreach ( $plugin_status['required_plugins']['inactive'] as $key => $plugin ) {
|
470 |
+
if ( isset( $plugin['init'] ) ) {
|
471 |
+
Astra_Sites::get_instance()->required_plugin_activate( $plugin['init'], $demo_data['astra-site-options-data'], $demo_data['astra-enabled-extensions'] );
|
472 |
+
}
|
473 |
+
}
|
474 |
+
}
|
475 |
+
}
|
476 |
+
}
|
477 |
+
}
|
478 |
+
|
479 |
+
/**
|
480 |
+
* Install Plugin
|
481 |
+
*
|
482 |
+
* @param array $plugin Required Plugin.
|
483 |
+
*/
|
484 |
+
public function install_plugin( $plugin = array() ) {
|
485 |
+
|
486 |
+
if ( ! isset( $plugin['slug'] ) || empty( $plugin['slug'] ) ) {
|
487 |
+
return esc_html__( 'Invalid plugin slug', 'astra-sites' );
|
488 |
+
}
|
489 |
+
|
490 |
+
include_once ABSPATH . 'wp-admin/includes/plugin.php';
|
491 |
+
include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
|
492 |
+
include_once ABSPATH . 'wp-admin/includes/plugin-install.php';
|
493 |
+
|
494 |
+
$api = plugins_api(
|
495 |
+
'plugin_information',
|
496 |
+
array(
|
497 |
+
'slug' => sanitize_key( wp_unslash( $plugin['slug'] ) ),
|
498 |
+
'fields' => array(
|
499 |
+
'sections' => false,
|
500 |
+
),
|
501 |
+
)
|
502 |
+
);
|
503 |
+
|
504 |
+
if ( is_wp_error( $api ) ) {
|
505 |
+
$status['errorMessage'] = $api->get_error_message();
|
506 |
+
return $status;
|
507 |
+
}
|
508 |
+
|
509 |
+
$skin = new WP_Ajax_Upgrader_Skin();
|
510 |
+
$upgrader = new Plugin_Upgrader( $skin );
|
511 |
+
$result = $upgrader->install( $api->download_link );
|
512 |
+
|
513 |
+
if ( is_wp_error( $result ) ) {
|
514 |
+
return $result->get_error_message();
|
515 |
+
} elseif ( is_wp_error( $skin->result ) ) {
|
516 |
+
return $skin->result->get_error_message();
|
517 |
+
} elseif ( $skin->get_errors()->has_errors() ) {
|
518 |
+
return $skin->get_error_messages();
|
519 |
+
} elseif ( is_null( $result ) ) {
|
520 |
+
global $wp_filesystem;
|
521 |
+
|
522 |
+
// Pass through the error from WP_Filesystem if one was raised.
|
523 |
+
if ( $wp_filesystem instanceof WP_Filesystem_Base && is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->has_errors() ) {
|
524 |
+
return esc_html( $wp_filesystem->errors->get_error_message() );
|
525 |
+
}
|
526 |
+
|
527 |
+
return esc_html__( 'Unable to connect to the filesystem. Please confirm your credentials.', 'astra-sites' );
|
528 |
+
}
|
529 |
+
|
530 |
+
/* translators: %s plugin name. */
|
531 |
+
return sprintf( __( 'Successfully installed "%s" plugin!', 'astra-sites' ), $api->name );
|
532 |
+
}
|
533 |
+
|
534 |
+
/**
|
535 |
+
* Backup Customizer Settings
|
536 |
+
*/
|
537 |
+
public function backup_customizer_settings() {
|
538 |
+
Astra_Sites::get_instance()->backup_settings();
|
539 |
+
}
|
540 |
+
|
541 |
+
/**
|
542 |
+
* Import Flows and Steps
|
543 |
+
*/
|
544 |
+
public function import_flows_and_steps() {
|
545 |
+
$demo_data = get_option( 'astra_sites_import_data', array() );
|
546 |
+
if ( ! empty( $demo_data ) && isset( $demo_data['astra-site-cartflows-path'] ) && ! empty( $demo_data['astra-site-cartflows-path'] ) ) {
|
547 |
+
Astra_Sites_Importer::get_instance()->import_cartflows( $demo_data['astra-site-cartflows-path'] );
|
548 |
+
}
|
549 |
+
}
|
550 |
+
|
551 |
+
/**
|
552 |
+
* Import WP Forms
|
553 |
+
*/
|
554 |
+
public function import_wp_forms() {
|
555 |
+
|
556 |
+
/** WordPress Post Administration API */
|
557 |
+
require_once ABSPATH . 'wp-admin/includes/post.php';
|
558 |
+
|
559 |
+
$demo_data = get_option( 'astra_sites_import_data', array() );
|
560 |
+
/**
|
561 |
+
* Import WP Forms.
|
562 |
+
*/
|
563 |
+
if ( isset( $demo_data['astra-site-wpforms-path'] ) && ! empty( $demo_data['astra-site-wpforms-path'] ) ) {
|
564 |
+
Astra_Sites_Importer::get_instance()->import_wpforms( $demo_data['astra-site-wpforms-path'] );
|
565 |
+
}
|
566 |
+
}
|
567 |
+
|
568 |
+
/**
|
569 |
+
* Import Customizer Settings.
|
570 |
+
*/
|
571 |
+
public function import_customizer_settings() {
|
572 |
+
$demo_data = get_option( 'astra_sites_import_data', array() );
|
573 |
+
Astra_Sites_Importer::get_instance()->import_customizer_settings( $demo_data['astra-site-customizer-data'] );
|
574 |
+
}
|
575 |
+
|
576 |
+
/**
|
577 |
+
* Import Content from XML/WXR.
|
578 |
+
*/
|
579 |
+
public function import_xml() {
|
580 |
+
$demo_data = get_option( 'astra_sites_import_data', array() );
|
581 |
+
|
582 |
+
if ( isset( $demo_data['astra-site-wxr-path'] ) && ! empty( $demo_data['astra-site-wxr-path'] ) ) {
|
583 |
+
$xml_path = Astra_Sites_Helper::download_file( $demo_data['astra-site-wxr-path'] );
|
584 |
+
|
585 |
+
Astra_WXR_Importer::instance()->sse_import( $xml_path['data']['file'] );
|
586 |
+
}
|
587 |
+
}
|
588 |
+
|
589 |
+
/**
|
590 |
+
* Import Site Options.
|
591 |
+
*/
|
592 |
+
public function import_site_options() {
|
593 |
+
$demo_data = get_option( 'astra_sites_import_data', array() );
|
594 |
+
|
595 |
+
if ( isset( $demo_data['astra-site-options-data'] ) && ! empty( $demo_data['astra-site-options-data'] ) ) {
|
596 |
+
Astra_Sites_Importer::get_instance()->import_options( $demo_data['astra-site-options-data'] );
|
597 |
+
}
|
598 |
+
}
|
599 |
+
|
600 |
+
/**
|
601 |
+
* Import Widgets.
|
602 |
+
*/
|
603 |
+
public function import_widgets() {
|
604 |
+
$demo_data = get_option( 'astra_sites_import_data', array() );
|
605 |
+
|
606 |
+
if ( isset( $demo_data['astra-site-widgets-data'] ) && ! empty( $demo_data['astra-site-widgets-data'] ) ) {
|
607 |
+
Astra_Sites_Importer::get_instance()->import_widgets( $demo_data['astra-site-widgets-data'] );
|
608 |
+
}
|
609 |
+
}
|
610 |
+
|
611 |
+
/**
|
612 |
+
* Import End.
|
613 |
+
*/
|
614 |
+
public function import_end() {
|
615 |
+
Astra_Sites_Importer::get_instance()->import_end();
|
616 |
+
}
|
617 |
+
|
618 |
+
/**
|
619 |
+
* Direct Import Site without Batch
|
620 |
+
*
|
621 |
+
* @param int $site_id Site ID.
|
622 |
+
*/
|
623 |
+
public function direct_import( $site_id = 0 ) {
|
624 |
+
|
625 |
+
$this->validate_id( $site_id );
|
626 |
+
|
627 |
+
$this->set_site_data( $site_id );
|
628 |
+
|
629 |
+
$this->install_required_plugins();
|
630 |
+
|
631 |
+
$this->backup_customizer_settings();
|
632 |
+
|
633 |
+
$this->reset_previously_import_site();
|
634 |
+
|
635 |
+
$this->import_flows_and_steps();
|
636 |
+
|
637 |
+
$this->import_wp_forms();
|
638 |
+
|
639 |
+
$this->import_customizer_settings();
|
640 |
+
|
641 |
+
$this->import_xml();
|
642 |
+
|
643 |
+
$this->import_site_options();
|
644 |
+
|
645 |
+
$this->import_widgets();
|
646 |
+
|
647 |
+
$this->import_end();
|
648 |
+
|
649 |
+
}
|
650 |
+
|
651 |
+
/**
|
652 |
+
* Reset Previously Imported Site
|
653 |
+
*/
|
654 |
+
public function reset_previously_import_site() {
|
655 |
+
|
656 |
+
// Get tracked data.
|
657 |
+
$reset_data = Astra_Sites::get_instance()->get_reset_data();
|
658 |
+
|
659 |
+
// Delete tracked posts.
|
660 |
+
if ( isset( $reset_data['reset_posts'] ) && ! empty( $reset_data['reset_posts'] ) ) {
|
661 |
+
foreach ( $reset_data['reset_posts'] as $key => $post_id ) {
|
662 |
+
Astra_Sites_Importer::get_instance()->delete_imported_posts( $post_id );
|
663 |
+
}
|
664 |
+
}
|
665 |
+
// Delete tracked terms.
|
666 |
+
if ( isset( $reset_data['reset_terms'] ) && ! empty( $reset_data['reset_terms'] ) ) {
|
667 |
+
foreach ( $reset_data['reset_terms'] as $key => $post_id ) {
|
668 |
+
Astra_Sites_Importer::get_instance()->delete_imported_terms( $post_id );
|
669 |
+
}
|
670 |
+
}
|
671 |
+
// Delete tracked WP forms.
|
672 |
+
if ( isset( $reset_data['reset_wp_forms'] ) && ! empty( $reset_data['reset_wp_forms'] ) ) {
|
673 |
+
foreach ( $reset_data['reset_wp_forms'] as $key => $post_id ) {
|
674 |
+
Astra_Sites_Importer::get_instance()->delete_imported_wp_forms( $post_id );
|
675 |
+
}
|
676 |
+
}
|
677 |
+
|
678 |
+
// Delete Customizer Data.
|
679 |
+
Astra_Sites_Importer::get_instance()->reset_customizer_data();
|
680 |
+
|
681 |
+
// Delete Site Options.
|
682 |
+
Astra_Sites_Importer::get_instance()->reset_site_options();
|
683 |
+
|
684 |
+
// Delete Widgets Data.
|
685 |
+
Astra_Sites_Importer::get_instance()->reset_widgets_data();
|
686 |
+
}
|
687 |
+
|
688 |
+
/**
|
689 |
+
* Get Site Data by Site ID
|
690 |
+
*
|
691 |
+
* @since x.x.x
|
692 |
+
*
|
693 |
+
* @param int $id Site ID.
|
694 |
+
* @return array
|
695 |
+
*/
|
696 |
+
public function get_site_data( $id ) {
|
697 |
+
if ( empty( $this->current_site_data ) ) {
|
698 |
+
// @todo Use Astra_Sites::get_instance()->api_request() instead of below function.
|
699 |
+
$this->current_site_data = Astra_Sites_Importer::get_instance()->get_single_demo( $id );
|
700 |
+
update_option( 'astra_sites_import_data', $this->current_site_data );
|
701 |
+
}
|
702 |
+
|
703 |
+
return $this->current_site_data;
|
704 |
+
}
|
705 |
+
}
|
706 |
+
|
707 |
+
Astra_Sites_Batch_Site_Import::get_instance();
|
708 |
+
|
709 |
+
endif;
|
inc/classes/class-astra-sites-importer.php
CHANGED
@@ -154,7 +154,7 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
154 |
*/
|
155 |
public function import_wpforms( $wpforms_url = '' ) {
|
156 |
|
157 |
-
if ( ! defined( 'WP_CLI' ) ) {
|
158 |
// Verify Nonce.
|
159 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
160 |
|
@@ -230,7 +230,7 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
230 |
|
231 |
if ( defined( 'WP_CLI' ) ) {
|
232 |
WP_CLI::line( 'WP Forms Imported.' );
|
233 |
-
}
|
234 |
wp_send_json_success( $ids_mapping );
|
235 |
}
|
236 |
}
|
@@ -274,7 +274,7 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
274 |
|
275 |
if ( defined( 'WP_CLI' ) ) {
|
276 |
WP_CLI::line( 'Imported from ' . $url );
|
277 |
-
}
|
278 |
wp_send_json_success( $url );
|
279 |
}
|
280 |
}
|
@@ -290,7 +290,7 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
290 |
*/
|
291 |
public function import_customizer_settings( $customizer_data = array() ) {
|
292 |
|
293 |
-
if ( ! defined( 'WP_CLI' ) ) {
|
294 |
// Verify Nonce.
|
295 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
296 |
|
@@ -314,13 +314,13 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
314 |
|
315 |
if ( defined( 'WP_CLI' ) ) {
|
316 |
WP_CLI::line( 'Imported Customizer Settings!' );
|
317 |
-
}
|
318 |
wp_send_json_success( $customizer_data );
|
319 |
}
|
320 |
} else {
|
321 |
if ( defined( 'WP_CLI' ) ) {
|
322 |
WP_CLI::line( 'Customizer data is empty!' );
|
323 |
-
}
|
324 |
wp_send_json_error( __( 'Customizer data is empty!', 'astra-sites' ) );
|
325 |
}
|
326 |
}
|
@@ -406,7 +406,7 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
406 |
*/
|
407 |
public function import_options( $options_data = array() ) {
|
408 |
|
409 |
-
if ( ! defined( 'WP_CLI' ) ) {
|
410 |
// Verify Nonce.
|
411 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
412 |
|
@@ -428,13 +428,13 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
428 |
$options_importer->import_options( $options_data );
|
429 |
if ( defined( 'WP_CLI' ) ) {
|
430 |
WP_CLI::line( 'Imported Site Options!' );
|
431 |
-
}
|
432 |
wp_send_json_success( $options_data );
|
433 |
}
|
434 |
} else {
|
435 |
if ( defined( 'WP_CLI' ) ) {
|
436 |
WP_CLI::line( 'Site options are empty!' );
|
437 |
-
}
|
438 |
wp_send_json_error( __( 'Site options are empty!', 'astra-sites' ) );
|
439 |
}
|
440 |
}
|
@@ -452,7 +452,7 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
452 |
*/
|
453 |
public function import_widgets( $widgets_data = '' ) {
|
454 |
|
455 |
-
if ( ! defined( 'WP_CLI' ) ) {
|
456 |
// Verify Nonce.
|
457 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
458 |
|
@@ -479,13 +479,13 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
479 |
|
480 |
if ( defined( 'WP_CLI' ) ) {
|
481 |
WP_CLI::line( 'Widget Imported!' );
|
482 |
-
}
|
483 |
wp_send_json_success( $widgets_data );
|
484 |
}
|
485 |
} else {
|
486 |
if ( defined( 'WP_CLI' ) ) {
|
487 |
WP_CLI::line( 'Widget data is empty!' );
|
488 |
-
}
|
489 |
wp_send_json_error( __( 'Widget data is empty!', 'astra-sites' ) );
|
490 |
}
|
491 |
}
|
@@ -500,7 +500,7 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
500 |
*/
|
501 |
public function import_end() {
|
502 |
|
503 |
-
if ( ! defined( 'WP_CLI' ) ) {
|
504 |
// Verify Nonce.
|
505 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
506 |
|
@@ -513,7 +513,9 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
513 |
|
514 |
do_action( 'astra_sites_import_complete', $demo_data );
|
515 |
|
516 |
-
|
|
|
|
|
517 |
}
|
518 |
|
519 |
/**
|
@@ -654,7 +656,7 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
654 |
*/
|
655 |
public function reset_customizer_data() {
|
656 |
|
657 |
-
if ( ! defined( 'WP_CLI' ) ) {
|
658 |
// Verify Nonce.
|
659 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
660 |
|
@@ -669,7 +671,7 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
669 |
|
670 |
if ( defined( 'WP_CLI' ) ) {
|
671 |
WP_CLI::line( 'Deleted Customizer Settings!' );
|
672 |
-
}
|
673 |
wp_send_json_success();
|
674 |
}
|
675 |
}
|
@@ -682,7 +684,7 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
682 |
*/
|
683 |
public function reset_site_options() {
|
684 |
|
685 |
-
if ( ! defined( 'WP_CLI' ) ) {
|
686 |
// Verify Nonce.
|
687 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
688 |
|
@@ -703,7 +705,7 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
703 |
|
704 |
if ( defined( 'WP_CLI' ) ) {
|
705 |
WP_CLI::line( 'Deleted Site Options!' );
|
706 |
-
}
|
707 |
wp_send_json_success();
|
708 |
}
|
709 |
}
|
@@ -716,7 +718,7 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
716 |
*/
|
717 |
public function reset_widgets_data() {
|
718 |
|
719 |
-
if ( ! defined( 'WP_CLI' ) ) {
|
720 |
// Verify Nonce.
|
721 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
722 |
|
@@ -752,7 +754,7 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
752 |
|
753 |
if ( defined( 'WP_CLI' ) ) {
|
754 |
WP_CLI::line( 'Deleted Widgets!' );
|
755 |
-
}
|
756 |
wp_send_json_success();
|
757 |
}
|
758 |
}
|
@@ -768,7 +770,7 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
768 |
*/
|
769 |
public function delete_imported_posts( $post_id = 0 ) {
|
770 |
|
771 |
-
if (
|
772 |
// Verify Nonce.
|
773 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
774 |
|
@@ -783,7 +785,11 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
783 |
|
784 |
$message = '';
|
785 |
if ( $post_id ) {
|
786 |
-
|
|
|
|
|
|
|
|
|
787 |
|
788 |
Astra_Sites_Importer_Log::add( $message );
|
789 |
wp_delete_post( $post_id, true );
|
@@ -791,7 +797,7 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
791 |
|
792 |
if ( defined( 'WP_CLI' ) ) {
|
793 |
WP_CLI::line( $message );
|
794 |
-
}
|
795 |
wp_send_json_success( $message );
|
796 |
}
|
797 |
}
|
@@ -807,7 +813,7 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
807 |
*/
|
808 |
public function delete_imported_wp_forms( $post_id = 0 ) {
|
809 |
|
810 |
-
if ( ! defined( 'WP_CLI' ) ) {
|
811 |
// Verify Nonce.
|
812 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
813 |
|
@@ -820,6 +826,9 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
820 |
|
821 |
$message = '';
|
822 |
if ( $post_id ) {
|
|
|
|
|
|
|
823 |
$message = 'Deleted - Form ID ' . $post_id . ' - ' . get_post_type( $post_id ) . ' - ' . get_the_title( $post_id );
|
824 |
Astra_Sites_Importer_Log::add( $message );
|
825 |
wp_delete_post( $post_id, true );
|
@@ -827,7 +836,7 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
827 |
|
828 |
if ( defined( 'WP_CLI' ) ) {
|
829 |
WP_CLI::line( $message );
|
830 |
-
}
|
831 |
wp_send_json_success( $message );
|
832 |
}
|
833 |
}
|
@@ -842,7 +851,7 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
842 |
* @return void
|
843 |
*/
|
844 |
public function delete_imported_terms( $term_id = 0 ) {
|
845 |
-
if ( ! defined( 'WP_CLI' ) ) {
|
846 |
// Verify Nonce.
|
847 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
848 |
|
@@ -857,6 +866,9 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
857 |
if ( $term_id ) {
|
858 |
$term = get_term( $term_id );
|
859 |
if ( ! is_wp_error( $term ) ) {
|
|
|
|
|
|
|
860 |
$message = 'Deleted - Term ' . $term_id . ' - ' . $term->name . ' ' . $term->taxonomy;
|
861 |
Astra_Sites_Importer_Log::add( $message );
|
862 |
wp_delete_term( $term_id, $term->taxonomy );
|
@@ -865,7 +877,7 @@ if ( ! class_exists( 'Astra_Sites_Importer' ) ) {
|
|
865 |
|
866 |
if ( defined( 'WP_CLI' ) ) {
|
867 |
WP_CLI::line( $message );
|
868 |
-
}
|
869 |
wp_send_json_success( $message );
|
870 |
}
|
871 |
}
|
154 |
*/
|
155 |
public function import_wpforms( $wpforms_url = '' ) {
|
156 |
|
157 |
+
if ( ! defined( 'WP_CLI' ) && wp_doing_ajax() ) {
|
158 |
// Verify Nonce.
|
159 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
160 |
|
230 |
|
231 |
if ( defined( 'WP_CLI' ) ) {
|
232 |
WP_CLI::line( 'WP Forms Imported.' );
|
233 |
+
} elseif ( wp_doing_ajax() ) {
|
234 |
wp_send_json_success( $ids_mapping );
|
235 |
}
|
236 |
}
|
274 |
|
275 |
if ( defined( 'WP_CLI' ) ) {
|
276 |
WP_CLI::line( 'Imported from ' . $url );
|
277 |
+
} elseif ( wp_doing_ajax() ) {
|
278 |
wp_send_json_success( $url );
|
279 |
}
|
280 |
}
|
290 |
*/
|
291 |
public function import_customizer_settings( $customizer_data = array() ) {
|
292 |
|
293 |
+
if ( ! defined( 'WP_CLI' ) && wp_doing_ajax() ) {
|
294 |
// Verify Nonce.
|
295 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
296 |
|
314 |
|
315 |
if ( defined( 'WP_CLI' ) ) {
|
316 |
WP_CLI::line( 'Imported Customizer Settings!' );
|
317 |
+
} elseif ( wp_doing_ajax() ) {
|
318 |
wp_send_json_success( $customizer_data );
|
319 |
}
|
320 |
} else {
|
321 |
if ( defined( 'WP_CLI' ) ) {
|
322 |
WP_CLI::line( 'Customizer data is empty!' );
|
323 |
+
} elseif ( wp_doing_ajax() ) {
|
324 |
wp_send_json_error( __( 'Customizer data is empty!', 'astra-sites' ) );
|
325 |
}
|
326 |
}
|
406 |
*/
|
407 |
public function import_options( $options_data = array() ) {
|
408 |
|
409 |
+
if ( ! defined( 'WP_CLI' ) && wp_doing_ajax() ) {
|
410 |
// Verify Nonce.
|
411 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
412 |
|
428 |
$options_importer->import_options( $options_data );
|
429 |
if ( defined( 'WP_CLI' ) ) {
|
430 |
WP_CLI::line( 'Imported Site Options!' );
|
431 |
+
} elseif ( wp_doing_ajax() ) {
|
432 |
wp_send_json_success( $options_data );
|
433 |
}
|
434 |
} else {
|
435 |
if ( defined( 'WP_CLI' ) ) {
|
436 |
WP_CLI::line( 'Site options are empty!' );
|
437 |
+
} elseif ( wp_doing_ajax() ) {
|
438 |
wp_send_json_error( __( 'Site options are empty!', 'astra-sites' ) );
|
439 |
}
|
440 |
}
|
452 |
*/
|
453 |
public function import_widgets( $widgets_data = '' ) {
|
454 |
|
455 |
+
if ( ! defined( 'WP_CLI' ) && wp_doing_ajax() ) {
|
456 |
// Verify Nonce.
|
457 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
458 |
|
479 |
|
480 |
if ( defined( 'WP_CLI' ) ) {
|
481 |
WP_CLI::line( 'Widget Imported!' );
|
482 |
+
} elseif ( wp_doing_ajax() ) {
|
483 |
wp_send_json_success( $widgets_data );
|
484 |
}
|
485 |
} else {
|
486 |
if ( defined( 'WP_CLI' ) ) {
|
487 |
WP_CLI::line( 'Widget data is empty!' );
|
488 |
+
} elseif ( wp_doing_ajax() ) {
|
489 |
wp_send_json_error( __( 'Widget data is empty!', 'astra-sites' ) );
|
490 |
}
|
491 |
}
|
500 |
*/
|
501 |
public function import_end() {
|
502 |
|
503 |
+
if ( ! defined( 'WP_CLI' ) && wp_doing_ajax() ) {
|
504 |
// Verify Nonce.
|
505 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
506 |
|
513 |
|
514 |
do_action( 'astra_sites_import_complete', $demo_data );
|
515 |
|
516 |
+
if ( wp_doing_ajax() ) {
|
517 |
+
wp_send_json_success();
|
518 |
+
}
|
519 |
}
|
520 |
|
521 |
/**
|
656 |
*/
|
657 |
public function reset_customizer_data() {
|
658 |
|
659 |
+
if ( ! defined( 'WP_CLI' ) && wp_doing_ajax() ) {
|
660 |
// Verify Nonce.
|
661 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
662 |
|
671 |
|
672 |
if ( defined( 'WP_CLI' ) ) {
|
673 |
WP_CLI::line( 'Deleted Customizer Settings!' );
|
674 |
+
} elseif ( wp_doing_ajax() ) {
|
675 |
wp_send_json_success();
|
676 |
}
|
677 |
}
|
684 |
*/
|
685 |
public function reset_site_options() {
|
686 |
|
687 |
+
if ( ! defined( 'WP_CLI' ) && wp_doing_ajax() ) {
|
688 |
// Verify Nonce.
|
689 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
690 |
|
705 |
|
706 |
if ( defined( 'WP_CLI' ) ) {
|
707 |
WP_CLI::line( 'Deleted Site Options!' );
|
708 |
+
} elseif ( wp_doing_ajax() ) {
|
709 |
wp_send_json_success();
|
710 |
}
|
711 |
}
|
718 |
*/
|
719 |
public function reset_widgets_data() {
|
720 |
|
721 |
+
if ( ! defined( 'WP_CLI' ) && wp_doing_ajax() ) {
|
722 |
// Verify Nonce.
|
723 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
724 |
|
754 |
|
755 |
if ( defined( 'WP_CLI' ) ) {
|
756 |
WP_CLI::line( 'Deleted Widgets!' );
|
757 |
+
} elseif ( wp_doing_ajax() ) {
|
758 |
wp_send_json_success();
|
759 |
}
|
760 |
}
|
770 |
*/
|
771 |
public function delete_imported_posts( $post_id = 0 ) {
|
772 |
|
773 |
+
if ( wp_doing_ajax() ) {
|
774 |
// Verify Nonce.
|
775 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
776 |
|
785 |
|
786 |
$message = '';
|
787 |
if ( $post_id ) {
|
788 |
+
|
789 |
+
$post_type = get_post_type( $post_id );
|
790 |
+
$message = 'Deleted - Post ID ' . $post_id . ' - ' . $post_type . ' - ' . get_the_title( $post_id );
|
791 |
+
|
792 |
+
do_action( 'astra_sites_before_delete_imported_posts', $post_id, $post_type );
|
793 |
|
794 |
Astra_Sites_Importer_Log::add( $message );
|
795 |
wp_delete_post( $post_id, true );
|
797 |
|
798 |
if ( defined( 'WP_CLI' ) ) {
|
799 |
WP_CLI::line( $message );
|
800 |
+
} elseif ( wp_doing_ajax() ) {
|
801 |
wp_send_json_success( $message );
|
802 |
}
|
803 |
}
|
813 |
*/
|
814 |
public function delete_imported_wp_forms( $post_id = 0 ) {
|
815 |
|
816 |
+
if ( ! defined( 'WP_CLI' ) && wp_doing_ajax() ) {
|
817 |
// Verify Nonce.
|
818 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
819 |
|
826 |
|
827 |
$message = '';
|
828 |
if ( $post_id ) {
|
829 |
+
|
830 |
+
do_action( 'astra_sites_before_delete_imported_wp_forms', $post_id );
|
831 |
+
|
832 |
$message = 'Deleted - Form ID ' . $post_id . ' - ' . get_post_type( $post_id ) . ' - ' . get_the_title( $post_id );
|
833 |
Astra_Sites_Importer_Log::add( $message );
|
834 |
wp_delete_post( $post_id, true );
|
836 |
|
837 |
if ( defined( 'WP_CLI' ) ) {
|
838 |
WP_CLI::line( $message );
|
839 |
+
} elseif ( wp_doing_ajax() ) {
|
840 |
wp_send_json_success( $message );
|
841 |
}
|
842 |
}
|
851 |
* @return void
|
852 |
*/
|
853 |
public function delete_imported_terms( $term_id = 0 ) {
|
854 |
+
if ( ! defined( 'WP_CLI' ) && wp_doing_ajax() ) {
|
855 |
// Verify Nonce.
|
856 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
857 |
|
866 |
if ( $term_id ) {
|
867 |
$term = get_term( $term_id );
|
868 |
if ( ! is_wp_error( $term ) ) {
|
869 |
+
|
870 |
+
do_action( 'astra_sites_before_delete_imported_terms', $term_id, $term );
|
871 |
+
|
872 |
$message = 'Deleted - Term ' . $term_id . ' - ' . $term->name . ' ' . $term->taxonomy;
|
873 |
Astra_Sites_Importer_Log::add( $message );
|
874 |
wp_delete_term( $term_id, $term->taxonomy );
|
877 |
|
878 |
if ( defined( 'WP_CLI' ) ) {
|
879 |
WP_CLI::line( $message );
|
880 |
+
} elseif ( wp_doing_ajax() ) {
|
881 |
wp_send_json_success( $message );
|
882 |
}
|
883 |
}
|
inc/classes/class-astra-sites-page.php
CHANGED
@@ -392,7 +392,87 @@ if ( ! class_exists( 'Astra_Sites_Page' ) ) {
|
|
392 |
|
393 |
$default_page_builder = $this->get_setting( 'page_builder' );
|
394 |
|
395 |
-
if (
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
396 |
$plugins = get_option( 'active_plugins', array() );
|
397 |
$page_builders = array();
|
398 |
if ( $plugins ) {
|
@@ -412,7 +492,7 @@ if ( ! class_exists( 'Astra_Sites_Page' ) ) {
|
|
412 |
$page_builders[] = 'gutenberg';
|
413 |
$page_builders = implode( ',', $page_builders );
|
414 |
?>
|
415 |
-
<div class="astra-sites-welcome" data-plugins="<?php echo esc_attr( $page_builders ); ?>">
|
416 |
<div class="inner-wrap">
|
417 |
<div class="inner">
|
418 |
<div class="header">
|
@@ -435,6 +515,7 @@ if ( ! class_exists( 'Astra_Sites_Page' ) ) {
|
|
435 |
<?php } ?>
|
436 |
<h3 class="title"><?php esc_html_e( 'Getting Started', 'astra-sites' ); ?></h3>
|
437 |
</span>
|
|
|
438 |
<a href="<?php echo esc_url( admin_url() ); ?>" class="close"><span class="dashicons dashicons-no-alt"></span></a>
|
439 |
</div>
|
440 |
<form id="astra-sites-welcome-form" enctype="multipart/form-data" method="post">
|
392 |
|
393 |
$default_page_builder = $this->get_setting( 'page_builder' );
|
394 |
|
395 |
+
if ( isset( $_GET['action'] ) && 'site-import' === $_GET['action'] ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
|
396 |
+
|
397 |
+
$status = Astra_Sites_Batch_Site_Import::get_instance()->get_status();
|
398 |
+
$import_status = isset( $status['status'] ) ? $status['status'] : '';
|
399 |
+
$status_class = 'invalid_site_id' === $import_status || 'premium_sites' === $import_status ? 'failed' : '';
|
400 |
+
$step_class = '';
|
401 |
+
if ( ! empty( $status ) ) {
|
402 |
+
$step_class = isset( $status['step'] ) && 'complete' === $status['step'] ? 'success' : '';
|
403 |
+
}
|
404 |
+
?>
|
405 |
+
<div class="astra-sites-welcome astra-sites-import-screen <?php echo esc_attr( $status_class ); ?>">
|
406 |
+
<div class="inner-wrap">
|
407 |
+
<div class="inner">
|
408 |
+
<div class="header">
|
409 |
+
<?php
|
410 |
+
$white_label = false;
|
411 |
+
$white_label_class = '';
|
412 |
+
if ( is_callable( 'Astra_Ext_White_Label_Markup::get_whitelabel_string' ) ) {
|
413 |
+
$white_label_title = Astra_Ext_White_Label_Markup::get_whitelabel_string( 'astra-sites', 'name' );
|
414 |
+
if ( $white_label_title ) {
|
415 |
+
$white_label = true;
|
416 |
+
$white_label_class = 'white-label-enabled';
|
417 |
+
}
|
418 |
+
}
|
419 |
+
?>
|
420 |
+
<span class="logo <?php echo esc_attr( $white_label_class ); ?>">
|
421 |
+
<?php if ( ! $white_label ) { ?>
|
422 |
+
<img src="<?php echo esc_url( ASTRA_SITES_URI . 'inc/assets/images/logo.svg' ); ?>">
|
423 |
+
<?php } else { ?>
|
424 |
+
<?php echo esc_html( Astra_Sites_White_Label::get_instance()->get_white_label_name() ); ?>
|
425 |
+
<?php } ?>
|
426 |
+
<h3 class="title"><?php esc_html_e( 'Importing Starter Template...', 'astra-sites' ); ?></h3>
|
427 |
+
</span>
|
428 |
+
</div>
|
429 |
+
<div class="content">
|
430 |
+
<?php if ( 'invalid_site_id' === $import_status ) { ?>
|
431 |
+
<p><?php esc_html_e( 'The demo you are importing seems invalid. The site is not found.', 'astra-sites' ); ?></p>
|
432 |
+
<?php } elseif ( 'premium_sites' === $import_status ) { ?>
|
433 |
+
<p><?php esc_html_e( 'The demo you are importing is a premium demo.', 'astra-sites' ); ?> <a href="https://wpastra.com/pricing/?utm_source=batch-site-import&utm_campaign=astra-sites&utm_medium=batch-import" class="" target="_blank"><?php esc_html_e( 'Get Agency Bundle', 'astra-sites' ); ?><i class="dashicons dashicons-external"></i></a></p>
|
434 |
+
<?php } else { ?>
|
435 |
+
<p><?php esc_html_e( 'The import process can take a few minutes depending on the size of the site and speed of the connection.', 'astra-sites' ); ?></p>
|
436 |
+
<?php } ?>
|
437 |
+
<ul class="import-steps">
|
438 |
+
<li class="import-step <?php echo esc_attr( $step_class ); ?>" data-step="preparing">
|
439 |
+
<?php esc_html_e( 'Preparing Site Import', 'astra-sites' ); ?>
|
440 |
+
</li>
|
441 |
+
<li class="import-step <?php echo esc_attr( $step_class ); ?>" data-step="install_plugins">
|
442 |
+
<?php esc_html_e( 'Installing Required Plugins', 'astra-sites' ); ?>
|
443 |
+
</li>
|
444 |
+
<li class="import-step <?php echo esc_attr( $step_class ); ?>" data-step="import_contact_forms">
|
445 |
+
<?php esc_html_e( 'Importing Contact Forms', 'astra-sites' ); ?>
|
446 |
+
</li>
|
447 |
+
<li class="import-step <?php echo esc_attr( $step_class ); ?>" data-step="import_customizer_settings">
|
448 |
+
<?php esc_html_e( 'Setting up the Theme', 'astra-sites' ); ?>
|
449 |
+
</li>
|
450 |
+
<li class="import-step <?php echo esc_attr( $step_class ); ?>" data-step="import_content">
|
451 |
+
<?php esc_html_e( 'Importing Media, Posts, and Pages', 'astra-sites' ); ?>
|
452 |
+
</li>
|
453 |
+
<li class="import-step <?php echo esc_attr( $step_class ); ?>" data-step="import_options">
|
454 |
+
<?php esc_html_e( 'Importing Site Options', 'astra-sites' ); ?>
|
455 |
+
</li>
|
456 |
+
<li class="import-step <?php echo esc_attr( $step_class ); ?>" data-step="import_widgets">
|
457 |
+
<?php esc_html_e( 'Importing Sidebar and Widgets', 'astra-sites' ); ?>
|
458 |
+
</li>
|
459 |
+
<li class="import-step <?php echo esc_attr( $step_class ); ?>" data-step="complete">
|
460 |
+
<?php esc_html_e( 'Import Complete', 'astra-sites' ); ?>
|
461 |
+
</li>
|
462 |
+
</ul>
|
463 |
+
|
464 |
+
<?php if ( 'success' === $step_class ) { ?>
|
465 |
+
<p>
|
466 |
+
<?php esc_html_e( 'Site Imported Successfully!', 'astra-sites' ); ?>
|
467 |
+
<a class="view-site-button" href="<?php echo esc_url( site_url() ); ?>" target="_blank"><?php esc_html_e( 'Visit Site', 'astra-sites' ); ?> <i class="dashicons dashicons-external"></i></a>
|
468 |
+
</p>
|
469 |
+
<?php } ?>
|
470 |
+
</div>
|
471 |
+
</div>
|
472 |
+
</div>
|
473 |
+
</div>
|
474 |
+
<?php
|
475 |
+
} elseif ( empty( $default_page_builder ) || isset( $_GET['change-page-builder'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
|
476 |
$plugins = get_option( 'active_plugins', array() );
|
477 |
$page_builders = array();
|
478 |
if ( $plugins ) {
|
492 |
$page_builders[] = 'gutenberg';
|
493 |
$page_builders = implode( ',', $page_builders );
|
494 |
?>
|
495 |
+
<div class="astra-sites-welcome astra-sites-change-page-builder" data-plugins="<?php echo esc_attr( $page_builders ); ?>">
|
496 |
<div class="inner-wrap">
|
497 |
<div class="inner">
|
498 |
<div class="header">
|
515 |
<?php } ?>
|
516 |
<h3 class="title"><?php esc_html_e( 'Getting Started', 'astra-sites' ); ?></h3>
|
517 |
</span>
|
518 |
+
|
519 |
<a href="<?php echo esc_url( admin_url() ); ?>" class="close"><span class="dashicons dashicons-no-alt"></span></a>
|
520 |
</div>
|
521 |
<form id="astra-sites-welcome-form" enctype="multipart/form-data" method="post">
|
inc/classes/class-astra-sites.php
CHANGED
@@ -19,6 +19,13 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
|
|
19 |
*/
|
20 |
class Astra_Sites {
|
21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
/**
|
23 |
* API URL which is used to get the response from.
|
24 |
*
|
@@ -130,6 +137,32 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
|
|
130 |
|
131 |
add_action( 'delete_attachment', array( $this, 'delete_astra_images' ) );
|
132 |
add_filter( 'heartbeat_received', array( $this, 'search_push' ), 10, 2 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
}
|
134 |
|
135 |
/**
|
@@ -807,7 +840,7 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
|
|
807 |
*/
|
808 |
public function get_reset_data() {
|
809 |
|
810 |
-
if (
|
811 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
812 |
|
813 |
if ( ! current_user_can( 'manage_options' ) ) {
|
@@ -827,12 +860,11 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
|
|
827 |
'reset_terms' => $term_ids,
|
828 |
);
|
829 |
|
830 |
-
if (
|
831 |
-
return $data;
|
832 |
-
} else {
|
833 |
wp_send_json_success( $data );
|
834 |
}
|
835 |
|
|
|
836 |
}
|
837 |
|
838 |
/**
|
@@ -840,7 +872,7 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
|
|
840 |
*/
|
841 |
public function backup_settings() {
|
842 |
|
843 |
-
if ( ! defined( 'WP_CLI' ) ) {
|
844 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
845 |
|
846 |
if ( ! current_user_can( 'manage_options' ) ) {
|
@@ -862,7 +894,7 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
|
|
862 |
|
863 |
if ( defined( 'WP_CLI' ) ) {
|
864 |
WP_CLI::line( 'File generated at ' . $log_file );
|
865 |
-
}
|
866 |
wp_send_json_success();
|
867 |
}
|
868 |
}
|
@@ -942,9 +974,10 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
|
|
942 |
* @since 1.0.0
|
943 |
*/
|
944 |
public function set_api_url() {
|
945 |
-
$this->
|
|
|
946 |
|
947 |
-
$this->search_url = apply_filters( 'astra_sites_search_api_url',
|
948 |
|
949 |
$this->pixabay_url = 'https://pixabay.com/api/';
|
950 |
$this->pixabay_api_key = '2727911-c4d7c1031949c7e0411d7e81e';
|
@@ -1152,6 +1185,7 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
|
|
1152 |
$data = apply_filters(
|
1153 |
'astra_sites_localize_vars',
|
1154 |
array(
|
|
|
1155 |
'debug' => defined( 'WP_DEBUG' ) ? true : false,
|
1156 |
'isPro' => defined( 'ASTRA_PRO_SITES_NAME' ) ? true : false,
|
1157 |
'isWhiteLabeled' => Astra_Sites_White_Label::get_instance()->is_white_labeled(),
|
@@ -1186,6 +1220,7 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
|
|
1186 |
'themeInstall' => sprintf( __( 'Installing %1$s Theme..', 'astra-sites' ), Astra_Sites_White_Label::get_instance()->get_option( 'astra', 'name', 'Astra' ) ),
|
1187 |
),
|
1188 |
'default_page_builder' => $default_page_builder,
|
|
|
1189 |
'default_page_builder_sites' => Astra_Sites_Page::get_instance()->get_sites_by_page_builder( $default_page_builder ),
|
1190 |
'sites' => $request_params,
|
1191 |
'categories' => array(),
|
@@ -1194,6 +1229,7 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
|
|
1194 |
'license_status' => $license_status,
|
1195 |
'license_page_builder' => get_option( 'astra-sites-license-page-builder', '' ),
|
1196 |
|
|
|
1197 |
'ApiURL' => $this->api_url,
|
1198 |
'stored_data' => $stored_data,
|
1199 |
'favorite_data' => $favorite_data,
|
@@ -1463,6 +1499,10 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
|
|
1463 |
require_once ASTRA_SITES_DIR . 'inc/classes/compatibility/class-astra-sites-compatibility.php';
|
1464 |
require_once ASTRA_SITES_DIR . 'inc/classes/class-astra-sites-importer.php';
|
1465 |
require_once ASTRA_SITES_DIR . 'inc/classes/class-astra-sites-wp-cli.php';
|
|
|
|
|
|
|
|
|
1466 |
}
|
1467 |
|
1468 |
/**
|
@@ -1477,7 +1517,7 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
|
|
1477 |
*/
|
1478 |
public function required_plugin_activate( $init = '', $options = array(), $enabled_extensions = array() ) {
|
1479 |
|
1480 |
-
if ( ! defined( 'WP_CLI' ) ) {
|
1481 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
1482 |
|
1483 |
if ( ! current_user_can( 'install_plugins' ) || ! isset( $_POST['init'] ) || ! $_POST['init'] ) {
|
@@ -1499,7 +1539,7 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
|
|
1499 |
if ( is_wp_error( $activate ) ) {
|
1500 |
if ( defined( 'WP_CLI' ) ) {
|
1501 |
WP_CLI::error( 'Plugin Activation Error: ' . $activate->get_error_message() );
|
1502 |
-
}
|
1503 |
wp_send_json_error(
|
1504 |
array(
|
1505 |
'success' => false,
|
@@ -1516,7 +1556,7 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
|
|
1516 |
|
1517 |
if ( defined( 'WP_CLI' ) ) {
|
1518 |
WP_CLI::line( 'Plugin Activated!' );
|
1519 |
-
}
|
1520 |
wp_send_json_success(
|
1521 |
array(
|
1522 |
'success' => true,
|
@@ -1539,7 +1579,7 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
|
|
1539 |
public function required_plugin( $required_plugins = array(), $options = array(), $enabled_extensions = array() ) {
|
1540 |
|
1541 |
// Verify Nonce.
|
1542 |
-
if ( ! defined( 'WP_CLI' ) ) {
|
1543 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
1544 |
}
|
1545 |
|
@@ -1642,7 +1682,7 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
|
|
1642 |
// Checking the `install_plugins` and `activate_plugins` capability for the current user.
|
1643 |
// To perform plugin installation process.
|
1644 |
if (
|
1645 |
-
( ! defined( 'WP_CLI' ) ) &&
|
1646 |
( ( ! current_user_can( 'install_plugins' ) && ! empty( $response['notinstalled'] ) ) || ( ! current_user_can( 'activate_plugins' ) && ! empty( $response['inactive'] ) ) ) ) {
|
1647 |
$message = __( 'Insufficient Permission. Please contact your Super Admin to allow the install required plugin permissions.', 'astra-sites' );
|
1648 |
$required_plugins_list = array_merge( $response['notinstalled'], $response['inactive'] );
|
@@ -1662,13 +1702,11 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
|
|
1662 |
'update_avilable_plugins' => $update_avilable_plugins,
|
1663 |
);
|
1664 |
|
1665 |
-
if (
|
1666 |
-
return $data;
|
1667 |
-
} else {
|
1668 |
-
// Send response.
|
1669 |
wp_send_json_success( $data );
|
|
|
|
|
1670 |
}
|
1671 |
-
|
1672 |
}
|
1673 |
|
1674 |
/**
|
19 |
*/
|
20 |
class Astra_Sites {
|
21 |
|
22 |
+
/**
|
23 |
+
* API Domain name
|
24 |
+
*
|
25 |
+
* @var (String) URL
|
26 |
+
*/
|
27 |
+
public $api_domain;
|
28 |
+
|
29 |
/**
|
30 |
* API URL which is used to get the response from.
|
31 |
*
|
137 |
|
138 |
add_action( 'delete_attachment', array( $this, 'delete_astra_images' ) );
|
139 |
add_filter( 'heartbeat_received', array( $this, 'search_push' ), 10, 2 );
|
140 |
+
add_action( 'wp_ajax_astra-sites-update-subscription', array( $this, 'update_subscription' ) );
|
141 |
+
}
|
142 |
+
|
143 |
+
/**
|
144 |
+
* Update Subscription
|
145 |
+
*/
|
146 |
+
public function update_subscription() {
|
147 |
+
|
148 |
+
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
149 |
+
|
150 |
+
if ( ! current_user_can( 'manage_options' ) ) {
|
151 |
+
wp_send_json_error( 'You can\'t access this action.' );
|
152 |
+
}
|
153 |
+
|
154 |
+
$arguments = isset( $_POST['data'] ) ? array_map( 'sanitize_text_field', json_decode( stripslashes( $_POST['data'] ), true ) ) : array();
|
155 |
+
|
156 |
+
$url = add_query_arg( $arguments, $this->api_domain . 'wp-json/starter-templates/v1/subscribe/' );
|
157 |
+
|
158 |
+
$response = wp_remote_post( $url );
|
159 |
+
if ( ! is_wp_error( $response ) || wp_remote_retrieve_response_code( $response ) === 200 ) {
|
160 |
+
$response = json_decode( wp_remote_retrieve_body( $response ), true );
|
161 |
+
}
|
162 |
+
|
163 |
+
update_user_meta( get_current_user_ID(), 'astra-sites-subscribed', 'yes' );
|
164 |
+
|
165 |
+
wp_send_json_success( $response );
|
166 |
}
|
167 |
|
168 |
/**
|
840 |
*/
|
841 |
public function get_reset_data() {
|
842 |
|
843 |
+
if ( wp_doing_ajax() ) {
|
844 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
845 |
|
846 |
if ( ! current_user_can( 'manage_options' ) ) {
|
860 |
'reset_terms' => $term_ids,
|
861 |
);
|
862 |
|
863 |
+
if ( wp_doing_ajax() ) {
|
|
|
|
|
864 |
wp_send_json_success( $data );
|
865 |
}
|
866 |
|
867 |
+
return $data;
|
868 |
}
|
869 |
|
870 |
/**
|
872 |
*/
|
873 |
public function backup_settings() {
|
874 |
|
875 |
+
if ( ! defined( 'WP_CLI' ) && wp_doing_ajax() ) {
|
876 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
877 |
|
878 |
if ( ! current_user_can( 'manage_options' ) ) {
|
894 |
|
895 |
if ( defined( 'WP_CLI' ) ) {
|
896 |
WP_CLI::line( 'File generated at ' . $log_file );
|
897 |
+
} elseif ( wp_doing_ajax() ) {
|
898 |
wp_send_json_success();
|
899 |
}
|
900 |
}
|
974 |
* @since 1.0.0
|
975 |
*/
|
976 |
public function set_api_url() {
|
977 |
+
$this->api_domain = trailingslashit( self::get_api_domain() );
|
978 |
+
$this->api_url = apply_filters( 'astra_sites_api_url', $this->api_domain . 'wp-json/wp/v2/' );
|
979 |
|
980 |
+
$this->search_url = apply_filters( 'astra_sites_search_api_url', $this->api_domain . 'wp-json/analytics/v2/search/' );
|
981 |
|
982 |
$this->pixabay_url = 'https://pixabay.com/api/';
|
983 |
$this->pixabay_api_key = '2727911-c4d7c1031949c7e0411d7e81e';
|
1185 |
$data = apply_filters(
|
1186 |
'astra_sites_localize_vars',
|
1187 |
array(
|
1188 |
+
'subscribed' => get_user_meta( get_current_user_ID(), 'astra-sites-subscribed', true ),
|
1189 |
'debug' => defined( 'WP_DEBUG' ) ? true : false,
|
1190 |
'isPro' => defined( 'ASTRA_PRO_SITES_NAME' ) ? true : false,
|
1191 |
'isWhiteLabeled' => Astra_Sites_White_Label::get_instance()->is_white_labeled(),
|
1220 |
'themeInstall' => sprintf( __( 'Installing %1$s Theme..', 'astra-sites' ), Astra_Sites_White_Label::get_instance()->get_option( 'astra', 'name', 'Astra' ) ),
|
1221 |
),
|
1222 |
'default_page_builder' => $default_page_builder,
|
1223 |
+
'default_page_builder_data' => Astra_Sites_Page::get_instance()->get_default_page_builder(),
|
1224 |
'default_page_builder_sites' => Astra_Sites_Page::get_instance()->get_sites_by_page_builder( $default_page_builder ),
|
1225 |
'sites' => $request_params,
|
1226 |
'categories' => array(),
|
1229 |
'license_status' => $license_status,
|
1230 |
'license_page_builder' => get_option( 'astra-sites-license-page-builder', '' ),
|
1231 |
|
1232 |
+
'ApiDomain' => $this->api_domain,
|
1233 |
'ApiURL' => $this->api_url,
|
1234 |
'stored_data' => $stored_data,
|
1235 |
'favorite_data' => $favorite_data,
|
1499 |
require_once ASTRA_SITES_DIR . 'inc/classes/compatibility/class-astra-sites-compatibility.php';
|
1500 |
require_once ASTRA_SITES_DIR . 'inc/classes/class-astra-sites-importer.php';
|
1501 |
require_once ASTRA_SITES_DIR . 'inc/classes/class-astra-sites-wp-cli.php';
|
1502 |
+
|
1503 |
+
// Batch Import.
|
1504 |
+
require_once ASTRA_SITES_DIR . 'inc/classes/batch-import/class-astra-sites-batch-import.php';
|
1505 |
+
|
1506 |
}
|
1507 |
|
1508 |
/**
|
1517 |
*/
|
1518 |
public function required_plugin_activate( $init = '', $options = array(), $enabled_extensions = array() ) {
|
1519 |
|
1520 |
+
if ( ! defined( 'WP_CLI' ) && wp_doing_ajax() ) {
|
1521 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
1522 |
|
1523 |
if ( ! current_user_can( 'install_plugins' ) || ! isset( $_POST['init'] ) || ! $_POST['init'] ) {
|
1539 |
if ( is_wp_error( $activate ) ) {
|
1540 |
if ( defined( 'WP_CLI' ) ) {
|
1541 |
WP_CLI::error( 'Plugin Activation Error: ' . $activate->get_error_message() );
|
1542 |
+
} elseif ( wp_doing_ajax() ) {
|
1543 |
wp_send_json_error(
|
1544 |
array(
|
1545 |
'success' => false,
|
1556 |
|
1557 |
if ( defined( 'WP_CLI' ) ) {
|
1558 |
WP_CLI::line( 'Plugin Activated!' );
|
1559 |
+
} elseif ( wp_doing_ajax() ) {
|
1560 |
wp_send_json_success(
|
1561 |
array(
|
1562 |
'success' => true,
|
1579 |
public function required_plugin( $required_plugins = array(), $options = array(), $enabled_extensions = array() ) {
|
1580 |
|
1581 |
// Verify Nonce.
|
1582 |
+
if ( ! defined( 'WP_CLI' ) && wp_doing_ajax() ) {
|
1583 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
1584 |
}
|
1585 |
|
1682 |
// Checking the `install_plugins` and `activate_plugins` capability for the current user.
|
1683 |
// To perform plugin installation process.
|
1684 |
if (
|
1685 |
+
( ! defined( 'WP_CLI' ) && wp_doing_ajax() ) &&
|
1686 |
( ( ! current_user_can( 'install_plugins' ) && ! empty( $response['notinstalled'] ) ) || ( ! current_user_can( 'activate_plugins' ) && ! empty( $response['inactive'] ) ) ) ) {
|
1687 |
$message = __( 'Insufficient Permission. Please contact your Super Admin to allow the install required plugin permissions.', 'astra-sites' );
|
1688 |
$required_plugins_list = array_merge( $response['notinstalled'], $response['inactive'] );
|
1702 |
'update_avilable_plugins' => $update_avilable_plugins,
|
1703 |
);
|
1704 |
|
1705 |
+
if ( wp_doing_ajax() ) {
|
|
|
|
|
|
|
1706 |
wp_send_json_success( $data );
|
1707 |
+
} else {
|
1708 |
+
return $data;
|
1709 |
}
|
|
|
1710 |
}
|
1711 |
|
1712 |
/**
|
inc/classes/compatibility/elementor/class-astra-sites-compatibility-elementor.php
CHANGED
@@ -55,13 +55,34 @@ if ( ! class_exists( 'Astra_Sites_Compatibility_Elementor' ) ) :
|
|
55 |
* After defining the constant `WP_LOAD_IMPORTERS` in WP CLI it was not works.
|
56 |
* Try to remove below duplicate code in future.
|
57 |
*/
|
58 |
-
if (
|
59 |
remove_filter( 'wp_import_post_meta', array( 'Elementor\Compatibility', 'on_wp_import_post_meta' ) );
|
60 |
remove_filter( 'wxr_importer.pre_process.post_meta', array( 'Elementor\Compatibility', 'on_wxr_importer_pre_process_post_meta' ) );
|
61 |
|
62 |
add_filter( 'wp_import_post_meta', array( $this, 'on_wp_import_post_meta' ) );
|
63 |
add_filter( 'wxr_importer.pre_process.post_meta', array( $this, 'on_wxr_importer_pre_process_post_meta' ) );
|
64 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
}
|
66 |
|
67 |
/**
|
55 |
* After defining the constant `WP_LOAD_IMPORTERS` in WP CLI it was not works.
|
56 |
* Try to remove below duplicate code in future.
|
57 |
*/
|
58 |
+
if ( ! wp_doing_ajax() || ( defined( 'ELEMENTOR_VERSION' ) && version_compare( ELEMENTOR_VERSION, '3.0.0', '>=' ) ) ) {
|
59 |
remove_filter( 'wp_import_post_meta', array( 'Elementor\Compatibility', 'on_wp_import_post_meta' ) );
|
60 |
remove_filter( 'wxr_importer.pre_process.post_meta', array( 'Elementor\Compatibility', 'on_wxr_importer_pre_process_post_meta' ) );
|
61 |
|
62 |
add_filter( 'wp_import_post_meta', array( $this, 'on_wp_import_post_meta' ) );
|
63 |
add_filter( 'wxr_importer.pre_process.post_meta', array( $this, 'on_wxr_importer_pre_process_post_meta' ) );
|
64 |
}
|
65 |
+
|
66 |
+
add_action( 'astra_sites_before_delete_imported_posts', array( $this, 'force_delete_kit' ), 10, 2 );
|
67 |
+
}
|
68 |
+
|
69 |
+
/**
|
70 |
+
* Force Delete Elementor Kit
|
71 |
+
*
|
72 |
+
* Delete the previously imported Elementor kit.
|
73 |
+
*
|
74 |
+
* @param int $post_id Post name.
|
75 |
+
* @param string $post_type Post type.
|
76 |
+
*/
|
77 |
+
public function force_delete_kit( $post_id = 0, $post_type = '' ) {
|
78 |
+
|
79 |
+
if ( ! $post_id ) {
|
80 |
+
return;
|
81 |
+
}
|
82 |
+
|
83 |
+
if ( 'elementor_library' === $post_type ) {
|
84 |
+
$_GET['force_delete_kit'] = true;
|
85 |
+
}
|
86 |
}
|
87 |
|
88 |
/**
|
inc/importers/batch-processing/class-astra-sites-batch-processing-elementor.php
CHANGED
@@ -97,10 +97,13 @@ class Astra_Sites_Batch_Processing_Elementor extends Source_Local {
|
|
97 |
|
98 |
$data = get_post_meta( $post_id, '_elementor_data', true );
|
99 |
|
|
|
|
|
100 |
if ( ! empty( $data ) ) {
|
101 |
|
102 |
// Update WP form IDs.
|
103 |
$ids_mapping = get_option( 'astra_sites_wpforms_ids_mapping', array() );
|
|
|
104 |
if ( $ids_mapping ) {
|
105 |
foreach ( $ids_mapping as $old_id => $new_id ) {
|
106 |
$data = str_replace( '[wpforms id=\"' . $old_id, '[wpforms id=\"' . $new_id, $data );
|
@@ -111,6 +114,8 @@ class Astra_Sites_Batch_Processing_Elementor extends Source_Local {
|
|
111 |
if ( ! is_array( $data ) ) {
|
112 |
$data = json_decode( $data, true );
|
113 |
}
|
|
|
|
|
114 |
$document = Plugin::$instance->documents->get( $post_id );
|
115 |
if ( $document ) {
|
116 |
$data = $document->get_elements_raw_data( $data, true );
|
@@ -121,6 +126,7 @@ class Astra_Sites_Batch_Processing_Elementor extends Source_Local {
|
|
121 |
|
122 |
// Replace the site urls.
|
123 |
$demo_data = get_option( 'astra_sites_import_data', array() );
|
|
|
124 |
if ( isset( $demo_data['astra-site-url'] ) ) {
|
125 |
$data = wp_json_encode( $data, true );
|
126 |
if ( ! empty( $data ) ) {
|
97 |
|
98 |
$data = get_post_meta( $post_id, '_elementor_data', true );
|
99 |
|
100 |
+
\Astra_Sites_Importer_Log::add( wp_json_encode( $data ) );
|
101 |
+
|
102 |
if ( ! empty( $data ) ) {
|
103 |
|
104 |
// Update WP form IDs.
|
105 |
$ids_mapping = get_option( 'astra_sites_wpforms_ids_mapping', array() );
|
106 |
+
\Astra_Sites_Importer_Log::add( wp_json_encode( $ids_mapping ) );
|
107 |
if ( $ids_mapping ) {
|
108 |
foreach ( $ids_mapping as $old_id => $new_id ) {
|
109 |
$data = str_replace( '[wpforms id=\"' . $old_id, '[wpforms id=\"' . $new_id, $data );
|
114 |
if ( ! is_array( $data ) ) {
|
115 |
$data = json_decode( $data, true );
|
116 |
}
|
117 |
+
\Astra_Sites_Importer_Log::add( wp_json_encode( $data ) );
|
118 |
+
|
119 |
$document = Plugin::$instance->documents->get( $post_id );
|
120 |
if ( $document ) {
|
121 |
$data = $document->get_elements_raw_data( $data, true );
|
126 |
|
127 |
// Replace the site urls.
|
128 |
$demo_data = get_option( 'astra_sites_import_data', array() );
|
129 |
+
\Astra_Sites_Importer_Log::add( wp_json_encode( $demo_data ) );
|
130 |
if ( isset( $demo_data['astra-site-url'] ) ) {
|
131 |
$data = wp_json_encode( $data, true );
|
132 |
if ( ! empty( $data ) ) {
|
inc/importers/batch-processing/class-astra-sites-batch-processing.php
CHANGED
@@ -80,6 +80,31 @@ if ( ! class_exists( 'Astra_Sites_Batch_Processing' ) ) :
|
|
80 |
*/
|
81 |
public function __construct() {
|
82 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
// Core Helpers - Image.
|
84 |
// @todo This file is required for Elementor.
|
85 |
// Once we implement our logic for updating elementor data then we'll delete this file.
|
@@ -113,22 +138,6 @@ if ( ! class_exists( 'Astra_Sites_Batch_Processing' ) ) :
|
|
113 |
self::$process_all = new WP_Background_Process_Astra();
|
114 |
self::$process_single = new WP_Background_Process_Astra_Single();
|
115 |
self::$process_site_importer = new WP_Background_Process_Astra_Site_Importer();
|
116 |
-
|
117 |
-
// Start image importing after site import complete.
|
118 |
-
add_filter( 'astra_sites_image_importer_skip_image', array( $this, 'skip_image' ), 10, 2 );
|
119 |
-
add_action( 'astra_sites_import_complete', array( $this, 'start_process' ) );
|
120 |
-
add_action( 'astra_sites_process_single', array( $this, 'start_process_single' ) );
|
121 |
-
add_action( 'admin_head', array( $this, 'start_importer' ) );
|
122 |
-
add_action( 'wp_ajax_astra-sites-update-library', array( $this, 'update_library' ) );
|
123 |
-
add_action( 'wp_ajax_astra-sites-update-library-complete', array( $this, 'update_library_complete' ) );
|
124 |
-
add_action( 'wp_ajax_astra-sites-import-categories', array( $this, 'import_categories' ) );
|
125 |
-
add_action( 'wp_ajax_astra-sites-import-site-categories', array( $this, 'import_site_categories' ) );
|
126 |
-
add_action( 'wp_ajax_astra-sites-import-block-categories', array( $this, 'import_block_categories' ) );
|
127 |
-
add_action( 'wp_ajax_astra-sites-import-page-builders', array( $this, 'import_page_builders' ) );
|
128 |
-
add_action( 'wp_ajax_astra-sites-import-blocks', array( $this, 'import_blocks' ) );
|
129 |
-
add_action( 'wp_ajax_astra-sites-get-sites-request-count', array( $this, 'sites_requests_count' ) );
|
130 |
-
add_action( 'wp_ajax_astra-sites-get-blocks-request-count', array( $this, 'blocks_requests_count' ) );
|
131 |
-
add_action( 'wp_ajax_astra-sites-import-sites', array( $this, 'import_sites' ) );
|
132 |
}
|
133 |
|
134 |
/**
|
@@ -354,6 +363,12 @@ if ( ! class_exists( 'Astra_Sites_Batch_Processing' ) ) :
|
|
354 |
*/
|
355 |
public function start_importer() {
|
356 |
|
|
|
|
|
|
|
|
|
|
|
|
|
357 |
$is_fresh_site = get_site_option( 'astra-sites-fresh-site', '' );
|
358 |
|
359 |
// Process initially for the fresh user.
|
@@ -411,6 +426,12 @@ if ( ! class_exists( 'Astra_Sites_Batch_Processing' ) ) :
|
|
411 |
*/
|
412 |
public function process_batch() {
|
413 |
|
|
|
|
|
|
|
|
|
|
|
|
|
414 |
if ( 'no' === $this->get_last_export_checksums() ) {
|
415 |
$this->log( 'Library is up to date!' );
|
416 |
if ( defined( 'WP_CLI' ) ) {
|
@@ -573,6 +594,12 @@ if ( ! class_exists( 'Astra_Sites_Batch_Processing' ) ) :
|
|
573 |
*/
|
574 |
public function process_import() {
|
575 |
|
|
|
|
|
|
|
|
|
|
|
|
|
576 |
// Batch is already started? Then return.
|
577 |
$status = get_site_option( 'astra-sites-batch-status' );
|
578 |
if ( 'in-process' === $status ) {
|
@@ -776,6 +803,12 @@ if ( ! class_exists( 'Astra_Sites_Batch_Processing' ) ) :
|
|
776 |
*/
|
777 |
public function start_process() {
|
778 |
|
|
|
|
|
|
|
|
|
|
|
|
|
779 |
$wxr_id = get_site_option( 'astra_sites_imported_wxr_id', 0 );
|
780 |
if ( $wxr_id ) {
|
781 |
wp_delete_attachment( $wxr_id, true );
|
80 |
*/
|
81 |
public function __construct() {
|
82 |
|
83 |
+
$this->includes();
|
84 |
+
|
85 |
+
// Start image importing after site import complete.
|
86 |
+
add_filter( 'astra_sites_image_importer_skip_image', array( $this, 'skip_image' ), 10, 2 );
|
87 |
+
add_action( 'astra_sites_import_complete', array( $this, 'start_process' ) );
|
88 |
+
add_action( 'astra_sites_process_single', array( $this, 'start_process_single' ) );
|
89 |
+
add_action( 'admin_head', array( $this, 'start_importer' ) );
|
90 |
+
add_action( 'wp_ajax_astra-sites-update-library', array( $this, 'update_library' ) );
|
91 |
+
add_action( 'wp_ajax_astra-sites-update-library-complete', array( $this, 'update_library_complete' ) );
|
92 |
+
add_action( 'wp_ajax_astra-sites-import-categories', array( $this, 'import_categories' ) );
|
93 |
+
add_action( 'wp_ajax_astra-sites-import-site-categories', array( $this, 'import_site_categories' ) );
|
94 |
+
add_action( 'wp_ajax_astra-sites-import-block-categories', array( $this, 'import_block_categories' ) );
|
95 |
+
add_action( 'wp_ajax_astra-sites-import-page-builders', array( $this, 'import_page_builders' ) );
|
96 |
+
add_action( 'wp_ajax_astra-sites-import-blocks', array( $this, 'import_blocks' ) );
|
97 |
+
add_action( 'wp_ajax_astra-sites-get-sites-request-count', array( $this, 'sites_requests_count' ) );
|
98 |
+
add_action( 'wp_ajax_astra-sites-get-blocks-request-count', array( $this, 'blocks_requests_count' ) );
|
99 |
+
add_action( 'wp_ajax_astra-sites-import-sites', array( $this, 'import_sites' ) );
|
100 |
+
}
|
101 |
+
|
102 |
+
/**
|
103 |
+
* Include Files
|
104 |
+
*
|
105 |
+
* @since x.x.x
|
106 |
+
*/
|
107 |
+
public function includes() {
|
108 |
// Core Helpers - Image.
|
109 |
// @todo This file is required for Elementor.
|
110 |
// Once we implement our logic for updating elementor data then we'll delete this file.
|
138 |
self::$process_all = new WP_Background_Process_Astra();
|
139 |
self::$process_single = new WP_Background_Process_Astra_Single();
|
140 |
self::$process_site_importer = new WP_Background_Process_Astra_Site_Importer();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
}
|
142 |
|
143 |
/**
|
363 |
*/
|
364 |
public function start_importer() {
|
365 |
|
366 |
+
$process_sync = apply_filters( 'astra_sites_initial_sync', true );
|
367 |
+
|
368 |
+
if ( ! $process_sync ) {
|
369 |
+
return;
|
370 |
+
}
|
371 |
+
|
372 |
$is_fresh_site = get_site_option( 'astra-sites-fresh-site', '' );
|
373 |
|
374 |
// Process initially for the fresh user.
|
426 |
*/
|
427 |
public function process_batch() {
|
428 |
|
429 |
+
$process_sync = apply_filters( 'astra_sites_process_sync_batch', true );
|
430 |
+
|
431 |
+
if ( ! $process_sync ) {
|
432 |
+
return;
|
433 |
+
}
|
434 |
+
|
435 |
if ( 'no' === $this->get_last_export_checksums() ) {
|
436 |
$this->log( 'Library is up to date!' );
|
437 |
if ( defined( 'WP_CLI' ) ) {
|
594 |
*/
|
595 |
public function process_import() {
|
596 |
|
597 |
+
$process_sync = apply_filters( 'astra_sites_process_auto_sync_library', true );
|
598 |
+
|
599 |
+
if ( ! $process_sync ) {
|
600 |
+
return;
|
601 |
+
}
|
602 |
+
|
603 |
// Batch is already started? Then return.
|
604 |
$status = get_site_option( 'astra-sites-batch-status' );
|
605 |
if ( 'in-process' === $status ) {
|
803 |
*/
|
804 |
public function start_process() {
|
805 |
|
806 |
+
/** WordPress Plugin Administration API */
|
807 |
+
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
808 |
+
require_once ABSPATH . 'wp-admin/includes/update.php';
|
809 |
+
|
810 |
+
$this->includes();
|
811 |
+
|
812 |
$wxr_id = get_site_option( 'astra_sites_imported_wxr_id', 0 );
|
813 |
if ( $wxr_id ) {
|
814 |
wp_delete_attachment( $wxr_id, true );
|
inc/importers/batch-processing/helpers/class-wp-async-request.php
CHANGED
@@ -5,10 +5,6 @@
|
|
5 |
*
|
6 |
* Released under the GNU General Public License v2.0
|
7 |
* https://github.com/deliciousbrains/wp-background-processing/blob/master/license.txt
|
8 |
-
*/
|
9 |
-
|
10 |
-
/**
|
11 |
-
* WP Async Request
|
12 |
*
|
13 |
* @see https://github.com/A5hleyRich/wp-background-processing/
|
14 |
* @package WP-Background-Processing
|
5 |
*
|
6 |
* Released under the GNU General Public License v2.0
|
7 |
* https://github.com/deliciousbrains/wp-background-processing/blob/master/license.txt
|
|
|
|
|
|
|
|
|
8 |
*
|
9 |
* @see https://github.com/A5hleyRich/wp-background-processing/
|
10 |
* @package WP-Background-Processing
|
inc/importers/batch-processing/helpers/class-wp-background-process.php
CHANGED
@@ -5,10 +5,6 @@
|
|
5 |
*
|
6 |
* Released under the GNU General Public License v2.0
|
7 |
* https://github.com/deliciousbrains/wp-background-processing/blob/master/license.txt
|
8 |
-
*/
|
9 |
-
|
10 |
-
/**
|
11 |
-
* WP Background Process
|
12 |
*
|
13 |
* @see https://github.com/A5hleyRich/wp-background-processing/
|
14 |
* @package WP-Background-Processing
|
5 |
*
|
6 |
* Released under the GNU General Public License v2.0
|
7 |
* https://github.com/deliciousbrains/wp-background-processing/blob/master/license.txt
|
|
|
|
|
|
|
|
|
8 |
*
|
9 |
* @see https://github.com/A5hleyRich/wp-background-processing/
|
10 |
* @package WP-Background-Processing
|
inc/importers/wxr-importer/class-astra-wxr-importer.php
CHANGED
@@ -275,7 +275,7 @@ class Astra_WXR_Importer {
|
|
275 |
*/
|
276 |
public function sse_import( $xml_url = '' ) {
|
277 |
|
278 |
-
if (
|
279 |
|
280 |
// Verify Nonce.
|
281 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
@@ -310,7 +310,7 @@ class Astra_WXR_Importer {
|
|
310 |
exit;
|
311 |
}
|
312 |
|
313 |
-
if ( !
|
314 |
// Time to run the import!
|
315 |
set_time_limit( 0 );
|
316 |
|
@@ -361,7 +361,7 @@ class Astra_WXR_Importer {
|
|
361 |
}
|
362 |
|
363 |
$this->emit_sse_message( $complete );
|
364 |
-
if (
|
365 |
exit;
|
366 |
}
|
367 |
}
|
@@ -551,7 +551,7 @@ class Astra_WXR_Importer {
|
|
551 |
*/
|
552 |
public function emit_sse_message( $data ) {
|
553 |
|
554 |
-
if (
|
555 |
echo "event: message\n";
|
556 |
echo 'data: ' . wp_json_encode( $data ) . "\n\n";
|
557 |
|
275 |
*/
|
276 |
public function sse_import( $xml_url = '' ) {
|
277 |
|
278 |
+
if ( wp_doing_ajax() ) {
|
279 |
|
280 |
// Verify Nonce.
|
281 |
check_ajax_referer( 'astra-sites', '_ajax_nonce' );
|
310 |
exit;
|
311 |
}
|
312 |
|
313 |
+
if ( ! wp_doing_ajax() ) {
|
314 |
// Time to run the import!
|
315 |
set_time_limit( 0 );
|
316 |
|
361 |
}
|
362 |
|
363 |
$this->emit_sse_message( $complete );
|
364 |
+
if ( wp_doing_ajax() ) {
|
365 |
exit;
|
366 |
}
|
367 |
}
|
551 |
*/
|
552 |
public function emit_sse_message( $data ) {
|
553 |
|
554 |
+
if ( wp_doing_ajax() ) {
|
555 |
echo "event: message\n";
|
556 |
echo 'data: ' . wp_json_encode( $data ) . "\n\n";
|
557 |
|
inc/importers/wxr-importer/class-wp-importer-logger-serversentevents.php
CHANGED
@@ -5,14 +5,10 @@
|
|
5 |
*
|
6 |
* Released under the GNU General Public License v2.0
|
7 |
* https://github.com/humanmade/WordPress-Importer/blob/master/LICENSE
|
8 |
-
*/
|
9 |
-
|
10 |
-
/**
|
11 |
-
* Import Log ServerSendEvents
|
12 |
*
|
13 |
* @since 2.0.0
|
14 |
*
|
15 |
-
* @package
|
16 |
*/
|
17 |
|
18 |
if ( ! class_exists( 'WP_Importer_Logger_ServerSentEvents' ) && class_exists( 'WP_Importer_Logger' ) ) {
|
5 |
*
|
6 |
* Released under the GNU General Public License v2.0
|
7 |
* https://github.com/humanmade/WordPress-Importer/blob/master/LICENSE
|
|
|
|
|
|
|
|
|
8 |
*
|
9 |
* @since 2.0.0
|
10 |
*
|
11 |
+
* @package WordPress Importer
|
12 |
*/
|
13 |
|
14 |
if ( ! class_exists( 'WP_Importer_Logger_ServerSentEvents' ) && class_exists( 'WP_Importer_Logger' ) ) {
|
inc/importers/wxr-importer/class-wp-importer-logger.php
CHANGED
@@ -5,10 +5,6 @@
|
|
5 |
*
|
6 |
* Released under the GNU General Public License v2.0
|
7 |
* https://github.com/humanmade/WordPress-Importer/blob/master/LICENSE
|
8 |
-
*/
|
9 |
-
|
10 |
-
/**
|
11 |
-
* WordPress Importer
|
12 |
*
|
13 |
* @package WordPress Importer
|
14 |
*
|
5 |
*
|
6 |
* Released under the GNU General Public License v2.0
|
7 |
* https://github.com/humanmade/WordPress-Importer/blob/master/LICENSE
|
|
|
|
|
|
|
|
|
8 |
*
|
9 |
* @package WordPress Importer
|
10 |
*
|
inc/importers/wxr-importer/class-wxr-import-info.php
CHANGED
@@ -5,14 +5,10 @@
|
|
5 |
*
|
6 |
* Released under the GNU General Public License v2.0
|
7 |
* https://github.com/humanmade/WordPress-Importer/blob/master/LICENSE
|
8 |
-
*/
|
9 |
-
|
10 |
-
/**
|
11 |
-
* WXR Import Info
|
12 |
*
|
13 |
* @since 2.0.0
|
14 |
*
|
15 |
-
* @package
|
16 |
*/
|
17 |
|
18 |
if ( ! class_exists( 'WXR_Import_Info' ) ) {
|
5 |
*
|
6 |
* Released under the GNU General Public License v2.0
|
7 |
* https://github.com/humanmade/WordPress-Importer/blob/master/LICENSE
|
|
|
|
|
|
|
|
|
8 |
*
|
9 |
* @since 2.0.0
|
10 |
*
|
11 |
+
* @package WordPress Importer
|
12 |
*/
|
13 |
|
14 |
if ( ! class_exists( 'WXR_Import_Info' ) ) {
|
inc/importers/wxr-importer/class-wxr-importer.php
CHANGED
@@ -5,14 +5,10 @@
|
|
5 |
*
|
6 |
* Released under the GNU General Public License v2.0
|
7 |
* https://github.com/humanmade/WordPress-Importer/blob/master/LICENSE
|
|
|
|
|
8 |
*/
|
9 |
|
10 |
-
/**
|
11 |
-
* WXR Importer
|
12 |
-
*
|
13 |
-
* @package WXR Importer
|
14 |
-
*/
|
15 |
-
|
16 |
if ( ! class_exists( 'WXR_Importer' ) && class_exists( 'WP_Importer' ) ) :
|
17 |
|
18 |
/**
|
@@ -879,15 +875,15 @@ if ( ! class_exists( 'WXR_Importer' ) && class_exists( 'WP_Importer' ) ) :
|
|
879 |
|
880 |
$post_exists = $this->post_exists( $data );
|
881 |
if ( $post_exists ) {
|
882 |
-
$
|
883 |
-
|
884 |
-
|
885 |
-
|
886 |
-
|
887 |
-
$data['post_title']
|
888 |
-
)
|
889 |
);
|
890 |
|
|
|
|
|
891 |
/**
|
892 |
* Post processing already imported.
|
893 |
*
|
@@ -2424,7 +2420,7 @@ if ( ! class_exists( 'WXR_Importer' ) && class_exists( 'WP_Importer' ) ) :
|
|
2424 |
}
|
2425 |
|
2426 |
// Still nothing, try post_exists, and cache it.
|
2427 |
-
$exists = post_exists( $data['post_title'], $data['post_content'], $data['post_date'] );
|
2428 |
$this->exists['post'][ $exists_key ] = $exists;
|
2429 |
|
2430 |
return $exists;
|
5 |
*
|
6 |
* Released under the GNU General Public License v2.0
|
7 |
* https://github.com/humanmade/WordPress-Importer/blob/master/LICENSE
|
8 |
+
*
|
9 |
+
* @package WXR Importer
|
10 |
*/
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
if ( ! class_exists( 'WXR_Importer' ) && class_exists( 'WP_Importer' ) ) :
|
13 |
|
14 |
/**
|
875 |
|
876 |
$post_exists = $this->post_exists( $data );
|
877 |
if ( $post_exists ) {
|
878 |
+
$message = sprintf(
|
879 |
+
/* translators: %1$s single post type, %2$s is post title. */
|
880 |
+
__( '%1$s "%2$s" already exists.', 'wordpress-importer' ),
|
881 |
+
$post_type_object->labels->singular_name,
|
882 |
+
$data['post_title']
|
|
|
|
|
883 |
);
|
884 |
|
885 |
+
$this->logger->info( $message );
|
886 |
+
|
887 |
/**
|
888 |
* Post processing already imported.
|
889 |
*
|
2420 |
}
|
2421 |
|
2422 |
// Still nothing, try post_exists, and cache it.
|
2423 |
+
$exists = post_exists( $data['post_title'], $data['post_content'], $data['post_date'], $data['post_type'] );
|
2424 |
$this->exists['post'][ $exists_key ] = $exists;
|
2425 |
|
2426 |
return $exists;
|
inc/includes/admin-page.php
CHANGED
@@ -663,6 +663,59 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
663 |
<div class="overlay"></div>
|
664 |
<div class="inner">
|
665 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
666 |
<div class="default">
|
667 |
<div class="heading">
|
668 |
<# if( 'astra-sites' === data ) { #>
|
@@ -703,7 +756,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
703 |
|
704 |
<li class="astra-sites-import-customizer <?php echo esc_attr( $theme_dependancy_class ); ?>">
|
705 |
<label>
|
706 |
-
<input type="checkbox" name="customizer"
|
707 |
<strong><?php esc_html_e( 'Import Customizer Settings', 'astra-sites' ); ?></strong>
|
708 |
<span class="astra-sites-tooltip-icon" data-tip-id="astra-sites-tooltip-customizer-settings"><span class="dashicons dashicons-editor-help"></span></span>
|
709 |
<div class="astra-sites-tooltip-message" id="astra-sites-tooltip-customizer-settings" style="display: none;">
|
@@ -718,14 +771,14 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
718 |
<# if( 'astra-sites' === data ) { #>
|
719 |
<li class="astra-sites-import-widgets">
|
720 |
<label>
|
721 |
-
<input type="checkbox" name="widgets"
|
722 |
<strong><?php esc_html_e( 'Import Widgets', 'astra-sites' ); ?></strong>
|
723 |
</label>
|
724 |
</li>
|
725 |
<# } #>
|
726 |
|
727 |
<li class="astra-sites-import-plugins">
|
728 |
-
<input type="checkbox" name="plugins"
|
729 |
<strong><?php esc_html_e( 'Install Required Plugins', 'astra-sites' ); ?></strong>
|
730 |
<span class="astra-sites-tooltip-icon" data-tip-id="astra-sites-tooltip-plugins-settings"><span class="dashicons dashicons-editor-help"></span></span>
|
731 |
<div class="astra-sites-tooltip-message" id="astra-sites-tooltip-plugins-settings" style="display: none;">
|
@@ -737,7 +790,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
737 |
<# if( 'astra-sites' === data ) { #>
|
738 |
<li class="astra-sites-import-xml">
|
739 |
<label>
|
740 |
-
<input type="checkbox" name="xml"
|
741 |
<strong><?php esc_html_e( 'Import Content', 'astra-sites' ); ?></strong>
|
742 |
</label>
|
743 |
<span class="astra-sites-tooltip-icon" data-tip-id="astra-sites-tooltip-site-content"><span class="dashicons dashicons-editor-help"></span></span>
|
663 |
<div class="overlay"></div>
|
664 |
<div class="inner">
|
665 |
|
666 |
+
<div class="subscription-popup">
|
667 |
+
<div class="heading">
|
668 |
+
<h3><?php esc_html_e( 'One Last Step..', 'astra-sites' ); ?></h3>
|
669 |
+
<span class="dashicons close dashicons-no-alt"></span>
|
670 |
+
</div>
|
671 |
+
<div class="astra-sites-import-content">
|
672 |
+
<p><?php esc_html_e( 'To get access to exclusive starter templates, themes and updates, enter your details below:', 'astra-sites' ); ?></p>
|
673 |
+
<div class="subscription-form">
|
674 |
+
<div class="subscription-fields">
|
675 |
+
<div class="subscription-field">
|
676 |
+
<div class="subscription-input">
|
677 |
+
<input name="first_name" class="subscription-input-user-name" type="text" placeholder="<?php esc_html_e( 'Your First Name', 'astra-sites' ); ?>" />
|
678 |
+
</div>
|
679 |
+
</div>
|
680 |
+
<div class="subscription-field subscription-user-type">
|
681 |
+
<div class="subscription-input">
|
682 |
+
<select name="user_type">
|
683 |
+
<option value="">
|
684 |
+
<?php esc_html_e( 'I build websites for:', 'astra-sites' ); ?>
|
685 |
+
</option>
|
686 |
+
<option value="1">
|
687 |
+
<?php esc_html_e( 'Myself', 'astra-sites' ); ?>
|
688 |
+
</option>
|
689 |
+
<option value="2">
|
690 |
+
<?php esc_html_e( 'Someone else as a profession', 'astra-sites' ); ?>
|
691 |
+
</option>
|
692 |
+
<option value="3">
|
693 |
+
<?php esc_html_e( 'Someone else as a hobby', 'astra-sites' ); ?>
|
694 |
+
</option>
|
695 |
+
</select>
|
696 |
+
</div>
|
697 |
+
</div>
|
698 |
+
</div>
|
699 |
+
<div class="subscription-field">
|
700 |
+
<div class="subscription-input">
|
701 |
+
<input name="email" class="subscription-input-user-email" type="email" placeholder="<?php esc_html_e( 'Your Work Email', 'astra-sites' ); ?>" />
|
702 |
+
</div>
|
703 |
+
</div>
|
704 |
+
</div>
|
705 |
+
<input name="page_builder" type="hidden" placeholder="john.doe@example.com" />
|
706 |
+
<div class="subscription-actions">
|
707 |
+
<button class="button button-hero button-primary button-subscription-submit">
|
708 |
+
<span class="button-title"><?php esc_html_e( 'Submit and Start Importing', 'astra-sites' ); ?></span>
|
709 |
+
<span class="dashicons dashicons-update"></span>
|
710 |
+
</button>
|
711 |
+
</div>
|
712 |
+
<div class="subscription-footer">
|
713 |
+
<p>By submitting, you agree to our <a href="https://store.brainstormforce.com/terms-and-conditions/" target="_blank">Terms</a> and <a href="https://store.brainstormforce.com/privacy-policy/" target="_blank">Privacy Policy</a>.</p>
|
714 |
+
<a href="#" class="button-subscription-skip">Skip</a>
|
715 |
+
</div>
|
716 |
+
</div>
|
717 |
+
</div>
|
718 |
+
|
719 |
<div class="default">
|
720 |
<div class="heading">
|
721 |
<# if( 'astra-sites' === data ) { #>
|
756 |
|
757 |
<li class="astra-sites-import-customizer <?php echo esc_attr( $theme_dependancy_class ); ?>">
|
758 |
<label>
|
759 |
+
<input type="checkbox" name="customizer" class="checkbox" checked="checked" />
|
760 |
<strong><?php esc_html_e( 'Import Customizer Settings', 'astra-sites' ); ?></strong>
|
761 |
<span class="astra-sites-tooltip-icon" data-tip-id="astra-sites-tooltip-customizer-settings"><span class="dashicons dashicons-editor-help"></span></span>
|
762 |
<div class="astra-sites-tooltip-message" id="astra-sites-tooltip-customizer-settings" style="display: none;">
|
771 |
<# if( 'astra-sites' === data ) { #>
|
772 |
<li class="astra-sites-import-widgets">
|
773 |
<label>
|
774 |
+
<input type="checkbox" name="widgets" class="checkbox" checked="checked" />
|
775 |
<strong><?php esc_html_e( 'Import Widgets', 'astra-sites' ); ?></strong>
|
776 |
</label>
|
777 |
</li>
|
778 |
<# } #>
|
779 |
|
780 |
<li class="astra-sites-import-plugins">
|
781 |
+
<input type="checkbox" name="plugins" class="disabled checkbox" readonly checked="checked" />
|
782 |
<strong><?php esc_html_e( 'Install Required Plugins', 'astra-sites' ); ?></strong>
|
783 |
<span class="astra-sites-tooltip-icon" data-tip-id="astra-sites-tooltip-plugins-settings"><span class="dashicons dashicons-editor-help"></span></span>
|
784 |
<div class="astra-sites-tooltip-message" id="astra-sites-tooltip-plugins-settings" style="display: none;">
|
790 |
<# if( 'astra-sites' === data ) { #>
|
791 |
<li class="astra-sites-import-xml">
|
792 |
<label>
|
793 |
+
<input type="checkbox" name="xml" class="checkbox" checked="checked" />
|
794 |
<strong><?php esc_html_e( 'Import Content', 'astra-sites' ); ?></strong>
|
795 |
</label>
|
796 |
<span class="astra-sites-tooltip-icon" data-tip-id="astra-sites-tooltip-site-content"><span class="dashicons dashicons-editor-help"></span></span>
|
languages/astra-sites.pot
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
-
# Copyright (C)
|
2 |
# This file is distributed under the same license as the Starter Templates package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Starter Templates 2.
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/astra-sites\n"
|
7 |
-
"POT-Creation-Date:
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
11 |
-
"PO-Revision-Date:
|
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
"Language: en\n"
|
@@ -73,6 +73,106 @@ msgstr ""
|
|
73 |
msgid "Starter Templates"
|
74 |
msgstr ""
|
75 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
#: inc/classes/class-astra-sites-importer-log.php:96
|
77 |
msgid "Required File Permissions to import the templates are missing."
|
78 |
msgstr ""
|
@@ -115,15 +215,15 @@ msgstr ""
|
|
115 |
#: inc/classes/class-astra-sites-importer.php:414
|
116 |
#: inc/classes/class-astra-sites-importer.php:460
|
117 |
#: inc/classes/class-astra-sites-importer.php:508
|
118 |
-
#: inc/classes/class-astra-sites-importer.php:
|
119 |
-
#: inc/classes/class-astra-sites-importer.php:
|
120 |
-
#: inc/classes/class-astra-sites-importer.php:
|
121 |
-
#: inc/classes/class-astra-sites-importer.php:
|
122 |
-
#: inc/classes/class-astra-sites-importer.php:
|
123 |
-
#: inc/classes/class-astra-sites-importer.php:
|
124 |
-
#: inc/classes/class-astra-sites.php:
|
125 |
-
#: inc/classes/class-astra-sites.php:
|
126 |
-
#: inc/classes/class-astra-sites.php:
|
127 |
msgid "You are not allowed to perform this action"
|
128 |
msgstr ""
|
129 |
|
@@ -178,136 +278,168 @@ msgstr ""
|
|
178 |
msgid "Settings saved successfully."
|
179 |
msgstr ""
|
180 |
|
181 |
-
#: inc/classes/class-astra-sites-page.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
182 |
msgid "Getting Started"
|
183 |
msgstr ""
|
184 |
|
185 |
-
#: inc/classes/class-astra-sites-page.php:
|
186 |
msgid "Select Page Builder"
|
187 |
msgstr ""
|
188 |
|
189 |
-
#: inc/classes/class-astra-sites-page.php:
|
190 |
msgid ""
|
191 |
"We offer starter templates that can be imported in one click. These sites "
|
192 |
"are available in the following page builders. Please choose your preferred "
|
193 |
"page builder from the list below."
|
194 |
msgstr ""
|
195 |
|
196 |
-
#: inc/classes/class-astra-sites-page.php:
|
197 |
msgid "My Favorite"
|
198 |
msgstr ""
|
199 |
|
200 |
-
#: inc/classes/class-astra-sites-page.php:
|
201 |
msgid "Sync Library"
|
202 |
msgstr ""
|
203 |
|
204 |
-
#: inc/classes/class-astra-sites-page.php:
|
205 |
-
#: inc/classes/class-astra-sites-page.php:
|
206 |
-
#: inc/classes/class-astra-sites-page.php:
|
207 |
-
#: inc/classes/class-astra-sites.php:
|
208 |
#: inc/includes/templates.php:35
|
209 |
msgid "All"
|
210 |
msgstr ""
|
211 |
|
212 |
-
#: inc/classes/class-astra-sites-page.php:
|
213 |
msgid "Free"
|
214 |
msgstr ""
|
215 |
|
216 |
-
#: inc/classes/class-astra-sites-page.php:
|
217 |
#: inc/includes/admin-page.php:320 inc/includes/admin-page.php:381
|
218 |
#: inc/includes/templates.php:30 inc/includes/templates.php:178
|
219 |
#: inc/includes/templates.php:307 inc/includes/templates.php:394
|
220 |
msgid "Agency"
|
221 |
msgstr ""
|
222 |
|
223 |
-
#: inc/classes/class-astra-sites-page.php:
|
224 |
msgid "Search..."
|
225 |
msgstr ""
|
226 |
|
227 |
-
#: inc/classes/class-astra-sites-page.php:
|
228 |
msgid "Elementor"
|
229 |
msgstr ""
|
230 |
|
231 |
-
#: inc/classes/class-astra-sites-page.php:
|
232 |
msgid "Beaver Builder"
|
233 |
msgstr ""
|
234 |
|
235 |
-
#: inc/classes/class-astra-sites-page.php:
|
236 |
msgid "Gutenberg"
|
237 |
msgstr ""
|
238 |
|
239 |
-
#: inc/classes/class-astra-sites-page.php:
|
240 |
msgid "Brizy"
|
241 |
msgstr ""
|
242 |
|
243 |
-
#: inc/classes/class-astra-sites-page.php:
|
244 |
#. translators: 1: The number of years in an interval of time.
|
245 |
msgid "%s year"
|
246 |
msgid_plural "%s years"
|
247 |
msgstr[0] ""
|
248 |
msgstr[1] ""
|
249 |
|
250 |
-
#: inc/classes/class-astra-sites-page.php:
|
251 |
#. translators: 1: The number of months in an interval of time.
|
252 |
msgid "%s month"
|
253 |
msgid_plural "%s months"
|
254 |
msgstr[0] ""
|
255 |
msgstr[1] ""
|
256 |
|
257 |
-
#: inc/classes/class-astra-sites-page.php:
|
258 |
#. translators: 1: The number of weeks in an interval of time.
|
259 |
msgid "%s week"
|
260 |
msgid_plural "%s weeks"
|
261 |
msgstr[0] ""
|
262 |
msgstr[1] ""
|
263 |
|
264 |
-
#: inc/classes/class-astra-sites-page.php:
|
265 |
#. translators: 1: The number of days in an interval of time.
|
266 |
msgid "%s day"
|
267 |
msgid_plural "%s days"
|
268 |
msgstr[0] ""
|
269 |
msgstr[1] ""
|
270 |
|
271 |
-
#: inc/classes/class-astra-sites-page.php:
|
272 |
#. translators: 1: The number of hours in an interval of time.
|
273 |
msgid "%s hour"
|
274 |
msgid_plural "%s hours"
|
275 |
msgstr[0] ""
|
276 |
msgstr[1] ""
|
277 |
|
278 |
-
#: inc/classes/class-astra-sites-page.php:
|
279 |
#. translators: 1: The number of minutes in an interval of time.
|
280 |
msgid "%s minute"
|
281 |
msgid_plural "%s minutes"
|
282 |
msgstr[0] ""
|
283 |
msgstr[1] ""
|
284 |
|
285 |
-
#: inc/classes/class-astra-sites-page.php:
|
286 |
#. translators: 1: The number of seconds in an interval of time.
|
287 |
msgid "%s second"
|
288 |
msgid_plural "%s seconds"
|
289 |
msgstr[0] ""
|
290 |
msgstr[1] ""
|
291 |
|
292 |
-
#: inc/classes/class-astra-sites-page.php:
|
293 |
msgid "now"
|
294 |
msgstr ""
|
295 |
|
296 |
-
#: inc/classes/class-astra-sites-page.php:
|
297 |
msgid ""
|
298 |
"ERROR! Cron schedules are disabled by setting constant DISABLE_WP_CRON to "
|
299 |
"true.<br/>To start the import process please enable the cron by setting the "
|
300 |
"constant to false. E.g. define( 'DISABLE_WP_CRON', false );"
|
301 |
msgstr ""
|
302 |
|
303 |
-
#: inc/classes/class-astra-sites-page.php:
|
304 |
msgid ""
|
305 |
"ERROR! Cron schedules are disabled by setting constant ALTERNATE_WP_CRON to "
|
306 |
"true.<br/>To start the import process please enable the cron by setting the "
|
307 |
"constant to false. E.g. define( 'ALTERNATE_WP_CRON', false );"
|
308 |
msgstr ""
|
309 |
|
310 |
-
#: inc/classes/class-astra-sites-page.php:
|
311 |
#. translators: 1: The HTTP response code.
|
312 |
msgid "Unexpected HTTP response code: %s"
|
313 |
msgstr ""
|
@@ -453,204 +585,199 @@ msgstr ""
|
|
453 |
msgid "This site category does not exist. Please try a different site category."
|
454 |
msgstr ""
|
455 |
|
456 |
-
#: inc/classes/class-astra-sites.php:
|
457 |
msgid "Invalid API URL"
|
458 |
msgstr ""
|
459 |
|
460 |
-
#: inc/classes/class-astra-sites.php:
|
461 |
msgid "Invalid Post Meta"
|
462 |
msgstr ""
|
463 |
|
464 |
-
#: inc/classes/class-astra-sites.php:
|
465 |
msgid "Invalid Post ID or Elementor Meta"
|
466 |
msgstr ""
|
467 |
|
468 |
-
#: inc/classes/class-astra-sites.php:
|
469 |
msgid "Provided API URL is empty! Please try again!"
|
470 |
msgstr ""
|
471 |
|
472 |
-
#: inc/classes/class-astra-sites.php:
|
473 |
msgid "Theme Activated"
|
474 |
msgstr ""
|
475 |
|
476 |
-
#: inc/classes/class-astra-sites.php:
|
477 |
msgid "User does not have permission!"
|
478 |
msgstr ""
|
479 |
|
480 |
-
#: inc/classes/class-astra-sites.php:
|
481 |
msgid "See Library"
|
482 |
msgstr ""
|
483 |
|
484 |
-
#: inc/classes/class-astra-sites.php:
|
485 |
msgid "Animals"
|
486 |
msgstr ""
|
487 |
|
488 |
-
#: inc/classes/class-astra-sites.php:
|
489 |
msgid "Architecture/Buildings"
|
490 |
msgstr ""
|
491 |
|
492 |
-
#: inc/classes/class-astra-sites.php:
|
493 |
msgid "Backgrounds/Textures"
|
494 |
msgstr ""
|
495 |
|
496 |
-
#: inc/classes/class-astra-sites.php:
|
497 |
msgid "Beauty/Fashion"
|
498 |
msgstr ""
|
499 |
|
500 |
-
#: inc/classes/class-astra-sites.php:
|
501 |
msgid "Business/Finance"
|
502 |
msgstr ""
|
503 |
|
504 |
-
#: inc/classes/class-astra-sites.php:
|
505 |
msgid "Computer/Communication"
|
506 |
msgstr ""
|
507 |
|
508 |
-
#: inc/classes/class-astra-sites.php:
|
509 |
msgid "Education"
|
510 |
msgstr ""
|
511 |
|
512 |
-
#: inc/classes/class-astra-sites.php:
|
513 |
msgid "Emotions"
|
514 |
msgstr ""
|
515 |
|
516 |
-
#: inc/classes/class-astra-sites.php:
|
517 |
msgid "Food/Drink"
|
518 |
msgstr ""
|
519 |
|
520 |
-
#: inc/classes/class-astra-sites.php:
|
521 |
msgid "Health/Medical"
|
522 |
msgstr ""
|
523 |
|
524 |
-
#: inc/classes/class-astra-sites.php:
|
525 |
msgid "Industry/Craft"
|
526 |
msgstr ""
|
527 |
|
528 |
-
#: inc/classes/class-astra-sites.php:
|
529 |
msgid "Music"
|
530 |
msgstr ""
|
531 |
|
532 |
-
#: inc/classes/class-astra-sites.php:
|
533 |
msgid "Nature/Landscapes"
|
534 |
msgstr ""
|
535 |
|
536 |
-
#: inc/classes/class-astra-sites.php:
|
537 |
msgid "People"
|
538 |
msgstr ""
|
539 |
|
540 |
-
#: inc/classes/class-astra-sites.php:
|
541 |
msgid "Places/Monuments"
|
542 |
msgstr ""
|
543 |
|
544 |
-
#: inc/classes/class-astra-sites.php:
|
545 |
msgid "Religion"
|
546 |
msgstr ""
|
547 |
|
548 |
-
#: inc/classes/class-astra-sites.php:
|
549 |
msgid "Science/Technology"
|
550 |
msgstr ""
|
551 |
|
552 |
-
#: inc/classes/class-astra-sites.php:
|
553 |
msgid "Sports"
|
554 |
msgstr ""
|
555 |
|
556 |
-
#: inc/classes/class-astra-sites.php:
|
557 |
msgid "Transportation/Traffic"
|
558 |
msgstr ""
|
559 |
|
560 |
-
#: inc/classes/class-astra-sites.php:
|
561 |
msgid "Travel/Vacation"
|
562 |
msgstr ""
|
563 |
|
564 |
-
#: inc/classes/class-astra-sites.php:
|
565 |
msgid "Popular"
|
566 |
msgstr ""
|
567 |
|
568 |
-
#: inc/classes/class-astra-sites.php:
|
569 |
msgid "Latest"
|
570 |
msgstr ""
|
571 |
|
572 |
-
#: inc/classes/class-astra-sites.php:
|
573 |
msgid "Upcoming"
|
574 |
msgstr ""
|
575 |
|
576 |
-
#: inc/classes/class-astra-sites.php:
|
577 |
msgid "Editor's Choice"
|
578 |
msgstr ""
|
579 |
|
580 |
-
#: inc/classes/class-astra-sites.php:
|
581 |
msgid "Any Orientation"
|
582 |
msgstr ""
|
583 |
|
584 |
-
#: inc/classes/class-astra-sites.php:
|
585 |
msgid "Vertical"
|
586 |
msgstr ""
|
587 |
|
588 |
-
#: inc/classes/class-astra-sites.php:
|
589 |
msgid "Horizontal"
|
590 |
msgstr ""
|
591 |
|
592 |
-
#: inc/classes/class-astra-sites.php:
|
593 |
msgid "Free Images from Pixabay"
|
594 |
msgstr ""
|
595 |
|
596 |
-
#: inc/classes/class-astra-sites.php:
|
597 |
msgid "Pixabay Search - Ex: flowers"
|
598 |
msgstr ""
|
599 |
|
600 |
-
#: inc/classes/class-astra-sites.php:
|
601 |
msgid "Downloading..."
|
602 |
msgstr ""
|
603 |
|
604 |
-
#: inc/classes/class-astra-sites.php:
|
605 |
msgid "Validating..."
|
606 |
msgstr ""
|
607 |
|
608 |
-
#: inc/classes/class-astra-sites.php:
|
609 |
msgid "Please enter an API key."
|
610 |
msgstr ""
|
611 |
|
612 |
-
#: inc/classes/class-astra-sites.php:
|
613 |
msgid "An error occured with code "
|
614 |
msgstr ""
|
615 |
|
616 |
-
#: inc/classes/class-astra-sites.php:
|
617 |
msgid "Installed! Activating.."
|
618 |
msgstr ""
|
619 |
|
620 |
-
#: inc/classes/class-astra-sites.php:
|
621 |
msgid "Activating..."
|
622 |
msgstr ""
|
623 |
|
624 |
-
#: inc/classes/class-astra-sites.php:
|
625 |
msgid "Activated!"
|
626 |
msgstr ""
|
627 |
|
628 |
-
#: inc/classes/class-astra-sites.php:
|
629 |
msgid "Installing..."
|
630 |
msgstr ""
|
631 |
|
632 |
-
#: inc/classes/class-astra-sites.php:
|
633 |
-
#: inc/classes/class-astra-sites.php:1371
|
634 |
-
msgid "Get Agency Bundle"
|
635 |
-
msgstr ""
|
636 |
-
|
637 |
-
#: inc/classes/class-astra-sites.php:1173
|
638 |
msgid "Upgrade"
|
639 |
msgstr ""
|
640 |
|
641 |
-
#: inc/classes/class-astra-sites.php:
|
642 |
msgid ""
|
643 |
"Syncing template library in the background. The process can take anywhere "
|
644 |
"between 2 to 3 minutes. We will notify you once done."
|
645 |
msgstr ""
|
646 |
|
647 |
-
#: inc/classes/class-astra-sites.php:
|
648 |
msgid ""
|
649 |
"Some of the files required during the import process are "
|
650 |
"missing.<br/><br/>Please try again after some time."
|
651 |
msgstr ""
|
652 |
|
653 |
-
#: inc/classes/class-astra-sites.php:
|
654 |
msgid ""
|
655 |
"<p>WordPress debug mode is currently enabled on your website. This has "
|
656 |
"interrupted the import process..</p><p>Kindly disable debug mode and try "
|
@@ -659,8 +786,8 @@ msgid ""
|
|
659 |
"mode.</p><p><code>define('WP_DEBUG', false);</code></p>"
|
660 |
msgstr ""
|
661 |
|
662 |
-
#: inc/classes/class-astra-sites.php:
|
663 |
-
#: inc/classes/class-astra-sites.php:
|
664 |
#. translators: %s is a documentation link.
|
665 |
msgid ""
|
666 |
"<p>Your website is facing a temporary issue in connecting the template "
|
@@ -668,181 +795,181 @@ msgid ""
|
|
668 |
"the issue and continue importing template.</p>"
|
669 |
msgstr ""
|
670 |
|
671 |
-
#: inc/classes/class-astra-sites.php:
|
672 |
#. translators: %s are white label strings.
|
673 |
msgid ""
|
674 |
"Warning! %1$s Import process is not complete. Don't close the window until "
|
675 |
"import process complete. Do you still want to leave the window?"
|
676 |
msgstr ""
|
677 |
|
678 |
-
#: inc/classes/class-astra-sites.php:
|
679 |
msgid "Done! View Site"
|
680 |
msgstr ""
|
681 |
|
682 |
-
#: inc/classes/class-astra-sites.php:
|
683 |
#. translators: %s is a template name
|
684 |
msgid "Import \"%s\" Template"
|
685 |
msgstr ""
|
686 |
|
687 |
-
#: inc/classes/class-astra-sites.php:
|
688 |
msgid "Installing Required Plugins.."
|
689 |
msgstr ""
|
690 |
|
691 |
-
#: inc/classes/class-astra-sites.php:
|
692 |
#. translators: %s are white label strings.
|
693 |
msgid "Installing %1$s Theme.."
|
694 |
msgstr ""
|
695 |
|
696 |
-
#: inc/classes/class-astra-sites.php:
|
697 |
msgid "Dismiss this notice."
|
698 |
msgstr ""
|
699 |
|
700 |
-
#: inc/classes/class-astra-sites.php:
|
701 |
msgid "XMLReader Support Missing"
|
702 |
msgstr ""
|
703 |
|
704 |
-
#: inc/classes/class-astra-sites.php:
|
705 |
#. translators: %s doc link.
|
706 |
msgid ""
|
707 |
"You're close to importing the template. To complete the process, enable "
|
708 |
"XMLReader support on your website.."
|
709 |
msgstr ""
|
710 |
|
711 |
-
#: inc/classes/class-astra-sites.php:
|
712 |
-
#: inc/classes/class-astra-sites.php:
|
713 |
-
#: inc/classes/class-astra-sites.php:
|
714 |
#. translators: %s doc link.
|
715 |
msgid ""
|
716 |
"Read an article <a href=\"%s\" target=\"_blank\">here</a> to resolve the "
|
717 |
"issue."
|
718 |
msgstr ""
|
719 |
|
720 |
-
#: inc/classes/class-astra-sites.php:
|
721 |
msgid "cURL Support Missing"
|
722 |
msgstr ""
|
723 |
|
724 |
-
#: inc/classes/class-astra-sites.php:
|
725 |
#. translators: %s doc link.
|
726 |
msgid "To run a smooth import, kindly enable cURL support on your website."
|
727 |
msgstr ""
|
728 |
|
729 |
-
#: inc/classes/class-astra-sites.php:
|
730 |
msgid "Disable Debug Mode"
|
731 |
msgstr ""
|
732 |
|
733 |
-
#: inc/classes/class-astra-sites.php:
|
734 |
#. translators: %s doc link.
|
735 |
msgid ""
|
736 |
"WordPress debug mode is currently enabled on your website. With this, any "
|
737 |
"errors from third-party plugins might affect the import process."
|
738 |
msgstr ""
|
739 |
|
740 |
-
#: inc/classes/class-astra-sites.php:
|
741 |
msgid ""
|
742 |
"Kindly disable it to continue importing the Starter Template. To do so, you "
|
743 |
"can add the following code into the wp-config.php file."
|
744 |
msgstr ""
|
745 |
|
746 |
-
#: inc/classes/class-astra-sites.php:
|
747 |
msgid "Update Plugin"
|
748 |
msgstr ""
|
749 |
|
750 |
-
#: inc/classes/class-astra-sites.php:
|
751 |
#. translators: %s update page link.
|
752 |
msgid "Updates are available for plugins used in this starter template."
|
753 |
msgstr ""
|
754 |
|
755 |
-
#: inc/classes/class-astra-sites.php:
|
756 |
msgid ""
|
757 |
"Kindly <a href=\"%s\" target=\"_blank\">update</a> them for a successful "
|
758 |
"import. Skipping this step might break the template design/feature."
|
759 |
msgstr ""
|
760 |
|
761 |
-
#: inc/classes/class-astra-sites.php:
|
762 |
#: inc/includes/templates.php:443
|
763 |
msgid "Required Plugins Missing"
|
764 |
msgstr ""
|
765 |
|
766 |
-
#: inc/classes/class-astra-sites.php:
|
767 |
msgid ""
|
768 |
"This starter template requires premium plugins. As these are third party "
|
769 |
"premium plugins, you'll need to purchase, install and activate them first."
|
770 |
msgstr ""
|
771 |
|
772 |
-
#: inc/classes/class-astra-sites.php:
|
773 |
msgid "Dynamic Page"
|
774 |
msgstr ""
|
775 |
|
776 |
-
#: inc/classes/class-astra-sites.php:
|
777 |
msgid ""
|
778 |
"The page template you are about to import contains a dynamic widget/module. "
|
779 |
"Please note this dynamic data will not be available with the imported page."
|
780 |
msgstr ""
|
781 |
|
782 |
-
#: inc/classes/class-astra-sites.php:
|
783 |
msgid "You will need to add it manually on the page."
|
784 |
msgstr ""
|
785 |
|
786 |
-
#: inc/classes/class-astra-sites.php:
|
787 |
msgid "This dynamic content will be available when you import the entire site."
|
788 |
msgstr ""
|
789 |
|
790 |
-
#: inc/classes/class-astra-sites.php:
|
791 |
#. translators: %s are link.
|
792 |
msgid ""
|
793 |
"This is a premium website demo available only with the Agency Bundles you "
|
794 |
"can purchase it from <a href=\"%s\" target=\"_blank\">here</a>."
|
795 |
msgstr ""
|
796 |
|
797 |
-
#: inc/classes/class-astra-sites.php:
|
798 |
#. translators: %s are link.
|
799 |
msgid ""
|
800 |
"This is a premium template available with 'Agency' packages. <a href=\"%s\" "
|
801 |
"target=\"_blank\">Validate Your License</a> Key to import this template."
|
802 |
msgstr ""
|
803 |
|
804 |
-
#: inc/classes/class-astra-sites.php:
|
805 |
msgid "Template"
|
806 |
msgstr ""
|
807 |
|
808 |
-
#: inc/classes/class-astra-sites.php:
|
809 |
msgid "Block"
|
810 |
msgstr ""
|
811 |
|
812 |
-
#: inc/classes/class-astra-sites.php:
|
813 |
msgid "Dismiss"
|
814 |
msgstr ""
|
815 |
|
816 |
-
#: inc/classes/class-astra-sites.php:
|
817 |
msgid "Install Required Plugins"
|
818 |
msgstr ""
|
819 |
|
820 |
-
#: inc/classes/class-astra-sites.php:
|
821 |
#. translators: %s are link.
|
822 |
msgid ""
|
823 |
"You can locate <strong>Starter Templates Settings</strong> under the "
|
824 |
"<strong>Page Settings</strong> of the Style Tab."
|
825 |
msgstr ""
|
826 |
|
827 |
-
#: inc/classes/class-astra-sites.php:
|
828 |
msgid "Read More →"
|
829 |
msgstr ""
|
830 |
|
831 |
-
#: inc/classes/class-astra-sites.php:
|
832 |
msgid "Error: You don't have the required permissions to install plugins."
|
833 |
msgstr ""
|
834 |
|
835 |
-
#: inc/classes/class-astra-sites.php:
|
836 |
msgid "Plugin Activated"
|
837 |
msgstr ""
|
838 |
|
839 |
-
#: inc/classes/class-astra-sites.php:
|
840 |
msgid ""
|
841 |
"Insufficient Permission. Please contact your Super Admin to allow the "
|
842 |
"install required plugin permissions."
|
843 |
msgstr ""
|
844 |
|
845 |
-
#: inc/classes/class-astra-sites.php:
|
846 |
msgid "Template library refreshed!"
|
847 |
msgstr ""
|
848 |
|
@@ -850,215 +977,215 @@ msgstr ""
|
|
850 |
msgid "All processes are complete"
|
851 |
msgstr ""
|
852 |
|
853 |
-
#: inc/importers/batch-processing/helpers/class-wp-background-process.php:
|
854 |
#. translators: %d are the minutes.
|
855 |
msgid "Every %d Minutes"
|
856 |
msgstr ""
|
857 |
|
858 |
-
#: inc/importers/class-astra-widget-importer.php:
|
859 |
msgid "Import data could not be read. Please try a different file."
|
860 |
msgstr ""
|
861 |
|
862 |
-
#: inc/importers/class-astra-widget-importer.php:
|
863 |
msgid "Widget area does not exist in theme (using Inactive)"
|
864 |
msgstr ""
|
865 |
|
866 |
-
#: inc/importers/class-astra-widget-importer.php:
|
867 |
msgid "Site does not support widget"
|
868 |
msgstr ""
|
869 |
|
870 |
-
#: inc/importers/class-astra-widget-importer.php:
|
871 |
msgid "Widget already exists"
|
872 |
msgstr ""
|
873 |
|
874 |
-
#: inc/importers/class-astra-widget-importer.php:
|
875 |
msgid "Imported"
|
876 |
msgstr ""
|
877 |
|
878 |
-
#: inc/importers/class-astra-widget-importer.php:
|
879 |
msgid "Imported to Inactive"
|
880 |
msgstr ""
|
881 |
|
882 |
-
#: inc/importers/class-astra-widget-importer.php:
|
883 |
msgid "No Title"
|
884 |
msgstr ""
|
885 |
|
886 |
-
#: inc/importers/wxr-importer/class-astra-wxr-importer.php:
|
887 |
msgid "Import complete!"
|
888 |
msgstr ""
|
889 |
|
890 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
891 |
msgid "Could not open the file for parsing"
|
892 |
msgstr ""
|
893 |
|
894 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
895 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
896 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
897 |
#. translators: %1$s is WXR version, %2$s is max supported WXR version.
|
898 |
msgid ""
|
899 |
"This WXR file (version %1$s) is newer than the importer (version %2$s) and "
|
900 |
"may not be supported. Please consider updating."
|
901 |
msgstr ""
|
902 |
|
903 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
904 |
msgid "The file does not exist, please try again."
|
905 |
msgstr ""
|
906 |
|
907 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
908 |
msgid "Invalid author mapping"
|
909 |
msgstr ""
|
910 |
|
911 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
912 |
msgid "Cannot import auto-draft posts"
|
913 |
msgstr ""
|
914 |
|
915 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
916 |
#. translators: %1$s is the import message, %2$s is post type.
|
917 |
msgid "Failed to import \"%1$s\": Invalid post type %2$s"
|
918 |
msgstr ""
|
919 |
|
920 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
921 |
#. translators: %1$s single post type, %2$s is post title.
|
922 |
msgid "%1$s \"%2$s\" already exists."
|
923 |
msgstr ""
|
924 |
|
925 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
926 |
#. translators: %s is post title
|
927 |
msgid "Skipping attachment \"%s\", fetching attachments disabled"
|
928 |
msgstr ""
|
929 |
|
930 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
931 |
#. translators: %1$s is the post title, %2$s is post type.
|
932 |
msgid "Failed to import \"%1$s\" (%2$s)"
|
933 |
msgstr ""
|
934 |
|
935 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
936 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
937 |
#. translators: %1$s is the post title, %2$s is post type.
|
938 |
#. translators: %1$s is the taxonomy name, %2$s is taxonomy.
|
939 |
msgid "Imported \"%1$s\" (%2$s)"
|
940 |
msgstr ""
|
941 |
|
942 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
943 |
#. translators: %1$s is the original post id, %2$s is old post id.
|
944 |
msgid "Post %1$d remapped to %2$d"
|
945 |
msgstr ""
|
946 |
|
947 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
948 |
msgid "Invalid file type"
|
949 |
msgstr ""
|
950 |
|
951 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
952 |
#. translators: %s user login name
|
953 |
msgid "Failed to import user \"%s\""
|
954 |
msgstr ""
|
955 |
|
956 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
957 |
#. translators: %s user login name
|
958 |
msgid "Imported user \"%s\""
|
959 |
msgstr ""
|
960 |
|
961 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
962 |
#. translators: %1$s original user Id, %2$s old user Id.
|
963 |
msgid "User %1$d remapped to %2$d"
|
964 |
msgstr ""
|
965 |
|
966 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
967 |
#. translators: %1$s is the taxonomy, %2$s is taxonomy name.
|
968 |
msgid "Failed to import %1$s %2$s"
|
969 |
msgstr ""
|
970 |
|
971 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
972 |
#. translators: %1$s is term original id, %2$s is term id.
|
973 |
msgid "Term %1$d remapped to %2$d"
|
974 |
msgstr ""
|
975 |
|
976 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
977 |
#. translators: %1$s is error code, %2$s is error code header, %3$s is url.
|
978 |
msgid "Remote server returned %1$d %2$s for %3$s"
|
979 |
msgstr ""
|
980 |
|
981 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
982 |
msgid "Remote file is incorrect size"
|
983 |
msgstr ""
|
984 |
|
985 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
986 |
msgid "Zero size file downloaded"
|
987 |
msgstr ""
|
988 |
|
989 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
990 |
#. translators: %s max file size.
|
991 |
msgid "Remote file is too large, limit is %s"
|
992 |
msgstr ""
|
993 |
|
994 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
995 |
#. translators: %d is post id.
|
996 |
msgid "Running post-processing for post %d"
|
997 |
msgstr ""
|
998 |
|
999 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
1000 |
#. translators: %1$s is post title, %2$s is post id.
|
1001 |
msgid "Could not find the post parent for \"%1$s\" (post #%2$d)"
|
1002 |
msgstr ""
|
1003 |
|
1004 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
1005 |
#. translators: %1$d is post id, %2$d is parent post id.
|
1006 |
msgid "Post %1$d was imported with parent %2$d, but could not be found"
|
1007 |
msgstr ""
|
1008 |
|
1009 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
1010 |
#. translators: %1$s is the post title, %2$s is post id.
|
1011 |
msgid "Could not find the author for \"%1$s\" (post #%2$d)"
|
1012 |
msgstr ""
|
1013 |
|
1014 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
1015 |
#. translators: %1$d is post id, %2$s is author slug.
|
1016 |
msgid "Post %1$d was imported with author \"%2$s\", but could not be found"
|
1017 |
msgstr ""
|
1018 |
|
1019 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
1020 |
#. translators: %d is post id.
|
1021 |
msgid "Post %d was marked for post-processing, but none was required."
|
1022 |
msgstr ""
|
1023 |
|
1024 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
1025 |
#. translators: %1$s is the post title, %2$s is post id.
|
1026 |
msgid "Could not update \"%1$s\" (post #%2$d) with mapped data"
|
1027 |
msgstr ""
|
1028 |
|
1029 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
1030 |
#. translators: %1$s is the post title, %2$s is post id.
|
1031 |
msgid "Could not find the menu object for \"%1$s\" (post #%2$d)"
|
1032 |
msgstr ""
|
1033 |
|
1034 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
1035 |
#. translators: %1$s is post id, %2$s is post object id, %3$s is menu type.
|
1036 |
msgid ""
|
1037 |
"Post %1$d was imported with object \"%2$d\" of type \"%3$s\", but could not "
|
1038 |
"be found"
|
1039 |
msgstr ""
|
1040 |
|
1041 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
1042 |
#. translators: %d is comment id.
|
1043 |
msgid "Could not find the comment parent for comment #%d"
|
1044 |
msgstr ""
|
1045 |
|
1046 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
1047 |
#. translators: %1$s is comment id, %2$s is parent comment id.
|
1048 |
msgid "Comment %1$d was imported with parent %2$d, but could not be found"
|
1049 |
msgstr ""
|
1050 |
|
1051 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
1052 |
#. translators: %d is comment id.
|
1053 |
msgid "Could not find the author for comment #%d"
|
1054 |
msgstr ""
|
1055 |
|
1056 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
1057 |
#. translators: %1$d is comment id, %2$d is author id.
|
1058 |
msgid "Comment %1$d was imported with author %2$d, but could not be found"
|
1059 |
msgstr ""
|
1060 |
|
1061 |
-
#: inc/importers/wxr-importer/class-wxr-importer.php:
|
1062 |
#. translators: %d is comment id.
|
1063 |
msgid "Could not update comment #%d with mapped data"
|
1064 |
msgstr ""
|
@@ -1079,14 +1206,14 @@ msgstr ""
|
|
1079 |
|
1080 |
#: inc/includes/admin-page.php:96 inc/includes/admin-page.php:102
|
1081 |
#: inc/includes/admin-page.php:104 inc/includes/admin-page.php:491
|
1082 |
-
#: inc/includes/admin-page.php:650 inc/includes/admin-page.php:
|
1083 |
#: inc/includes/templates.php:455
|
1084 |
msgid "Skip & Import"
|
1085 |
msgstr ""
|
1086 |
|
1087 |
#: inc/includes/admin-page.php:97 inc/includes/admin-page.php:105
|
1088 |
#: inc/includes/admin-page.php:492 inc/includes/admin-page.php:651
|
1089 |
-
#: inc/includes/admin-page.php:
|
1090 |
msgid "Cancel"
|
1091 |
msgstr ""
|
1092 |
|
@@ -1265,48 +1392,86 @@ msgstr ""
|
|
1265 |
msgid "Heads Up!"
|
1266 |
msgstr ""
|
1267 |
|
1268 |
-
#: inc/includes/admin-page.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1269 |
msgid "Your Selected Website is Being Imported."
|
1270 |
msgstr ""
|
1271 |
|
1272 |
-
#: inc/includes/admin-page.php:
|
1273 |
msgid "Your Selected Template is Being Imported."
|
1274 |
msgstr ""
|
1275 |
|
1276 |
-
#: inc/includes/admin-page.php:
|
1277 |
msgid "Delete Previously Imported Site"
|
1278 |
msgstr ""
|
1279 |
|
1280 |
-
#: inc/includes/admin-page.php:
|
1281 |
msgid ""
|
1282 |
"WARNING: Selecting this option will delete all data from the previous "
|
1283 |
"import. Choose this option only if this is intended."
|
1284 |
msgstr ""
|
1285 |
|
1286 |
-
#: inc/includes/admin-page.php:
|
1287 |
msgid "You can find the backup to the current customizer settings at "
|
1288 |
msgstr ""
|
1289 |
|
1290 |
-
#: inc/includes/admin-page.php:
|
1291 |
msgid "/wp-content/uploads/astra-sites/"
|
1292 |
msgstr ""
|
1293 |
|
1294 |
-
#: inc/includes/admin-page.php:
|
1295 |
msgid "Install & Activate Astra Theme"
|
1296 |
msgstr ""
|
1297 |
|
1298 |
-
#: inc/includes/admin-page.php:
|
1299 |
msgid ""
|
1300 |
"To import the site in the original format, you would need the Astra theme "
|
1301 |
"activated. You can import it with any other theme, but the site might lose "
|
1302 |
"some of the design settings and look a bit different."
|
1303 |
msgstr ""
|
1304 |
|
1305 |
-
#: inc/includes/admin-page.php:
|
1306 |
msgid "Import Customizer Settings"
|
1307 |
msgstr ""
|
1308 |
|
1309 |
-
#: inc/includes/admin-page.php:
|
1310 |
#. translators: %s are white label strings.
|
1311 |
msgid ""
|
1312 |
"%1$s customizer serves global settings that give uniform design to the "
|
@@ -1314,39 +1479,39 @@ msgid ""
|
|
1314 |
"settings."
|
1315 |
msgstr ""
|
1316 |
|
1317 |
-
#: inc/includes/admin-page.php:
|
1318 |
msgid "Import Widgets"
|
1319 |
msgstr ""
|
1320 |
|
1321 |
-
#: inc/includes/admin-page.php:
|
1322 |
msgid ""
|
1323 |
"Plugins needed to import this template are missing. Required plugins will "
|
1324 |
"be installed and activated automatically."
|
1325 |
msgstr ""
|
1326 |
|
1327 |
-
#: inc/includes/admin-page.php:
|
1328 |
msgid "Import Content"
|
1329 |
msgstr ""
|
1330 |
|
1331 |
-
#: inc/includes/admin-page.php:
|
1332 |
msgid ""
|
1333 |
"Selecting this option will import dummy pages, posts, images, and menus. If "
|
1334 |
"you do not want to import dummy content, please uncheck this option."
|
1335 |
msgstr ""
|
1336 |
|
1337 |
-
#: inc/includes/admin-page.php:
|
1338 |
#. translators: %s is the dynamic string.
|
1339 |
msgid ""
|
1340 |
"The import process can take a few minutes depending on the size of the %s "
|
1341 |
"and speed of the connection."
|
1342 |
msgstr ""
|
1343 |
|
1344 |
-
#: inc/includes/admin-page.php:
|
1345 |
#. translators: %s is the dynamic string.
|
1346 |
msgid "Please do NOT close this browser window until the %s is imported completely."
|
1347 |
msgstr ""
|
1348 |
|
1349 |
-
#: inc/includes/admin-page.php:
|
1350 |
msgid "Import"
|
1351 |
msgstr ""
|
1352 |
|
1 |
+
# Copyright (C) 2021 Brainstorm Force
|
2 |
# This file is distributed under the same license as the Starter Templates package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Starter Templates 2.5.0\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/astra-sites\n"
|
7 |
+
"POT-Creation-Date: 2021-01-29 16:22:00+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
11 |
+
"PO-Revision-Date: 2021-MO-DA HO:MI+ZONE\n"
|
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
"Language: en\n"
|
73 |
msgid "Starter Templates"
|
74 |
msgstr ""
|
75 |
|
76 |
+
#: classes/class-astra-sites-admin.php:93
|
77 |
+
#. translators: %1$s white label plugin name and %2$s deactivation link
|
78 |
+
msgid ""
|
79 |
+
"Hello! Seems like you have used Starter Templates to build this website "
|
80 |
+
"— Thanks a ton!"
|
81 |
+
msgstr ""
|
82 |
+
|
83 |
+
#: classes/class-astra-sites-admin.php:94
|
84 |
+
msgid ""
|
85 |
+
"Could you please do us a BIG favor and give it a 5-star rating on "
|
86 |
+
"WordPress? This would boost our motivation and help other users make a "
|
87 |
+
"comfortable decision while choosing the Starter Templates."
|
88 |
+
msgstr ""
|
89 |
+
|
90 |
+
#: classes/class-astra-sites-admin.php:96
|
91 |
+
msgid "Ok, you deserve it"
|
92 |
+
msgstr ""
|
93 |
+
|
94 |
+
#: classes/class-astra-sites-admin.php:98
|
95 |
+
msgid "Nope, maybe later"
|
96 |
+
msgstr ""
|
97 |
+
|
98 |
+
#: classes/class-astra-sites-admin.php:99
|
99 |
+
msgid "I already did"
|
100 |
+
msgstr ""
|
101 |
+
|
102 |
+
#: inc/classes/batch-import/class-astra-sites-batch-site-import.php:161
|
103 |
+
msgid "Import Status"
|
104 |
+
msgstr ""
|
105 |
+
|
106 |
+
#: inc/classes/batch-import/class-astra-sites-batch-site-import.php:204
|
107 |
+
#: inc/classes/batch-import/class-astra-sites-batch-site-import.php:417
|
108 |
+
msgid "Invalid site ID."
|
109 |
+
msgstr ""
|
110 |
+
|
111 |
+
#: inc/classes/batch-import/class-astra-sites-batch-site-import.php:221
|
112 |
+
msgid "Site import process is complete."
|
113 |
+
msgstr ""
|
114 |
+
|
115 |
+
#: inc/classes/batch-import/class-astra-sites-batch-site-import.php:226
|
116 |
+
msgid "Site import is in process."
|
117 |
+
msgstr ""
|
118 |
+
|
119 |
+
#: inc/classes/batch-import/class-astra-sites-batch-site-import.php:260
|
120 |
+
#: inc/classes/class-astra-sites-page.php:439
|
121 |
+
msgid "Preparing Site Import"
|
122 |
+
msgstr ""
|
123 |
+
|
124 |
+
#: inc/classes/batch-import/class-astra-sites-batch-site-import.php:270
|
125 |
+
msgid "Site import started."
|
126 |
+
msgstr ""
|
127 |
+
|
128 |
+
#: inc/classes/batch-import/class-astra-sites-batch-site-import.php:320
|
129 |
+
#: inc/classes/class-astra-sites-page.php:442
|
130 |
+
msgid "Installing Required Plugins"
|
131 |
+
msgstr ""
|
132 |
+
|
133 |
+
#: inc/classes/batch-import/class-astra-sites-batch-site-import.php:337
|
134 |
+
#: inc/classes/class-astra-sites-page.php:445
|
135 |
+
msgid "Importing Contact Forms"
|
136 |
+
msgstr ""
|
137 |
+
|
138 |
+
#: inc/classes/batch-import/class-astra-sites-batch-site-import.php:350
|
139 |
+
#: inc/classes/class-astra-sites-page.php:448
|
140 |
+
msgid "Setting up the Theme"
|
141 |
+
msgstr ""
|
142 |
+
|
143 |
+
#: inc/classes/batch-import/class-astra-sites-batch-site-import.php:360
|
144 |
+
#: inc/classes/class-astra-sites-page.php:451
|
145 |
+
msgid "Importing Media, Posts, and Pages"
|
146 |
+
msgstr ""
|
147 |
+
|
148 |
+
#: inc/classes/batch-import/class-astra-sites-batch-site-import.php:371
|
149 |
+
#: inc/classes/class-astra-sites-page.php:454
|
150 |
+
msgid "Importing Site Options"
|
151 |
+
msgstr ""
|
152 |
+
|
153 |
+
#: inc/classes/batch-import/class-astra-sites-batch-site-import.php:380
|
154 |
+
#: inc/classes/class-astra-sites-page.php:457
|
155 |
+
msgid "Importing Sidebar and Widgets"
|
156 |
+
msgstr ""
|
157 |
+
|
158 |
+
#: inc/classes/batch-import/class-astra-sites-batch-site-import.php:400
|
159 |
+
#: inc/classes/class-astra-sites-page.php:460
|
160 |
+
msgid "Import Complete"
|
161 |
+
msgstr ""
|
162 |
+
|
163 |
+
#: inc/classes/batch-import/class-astra-sites-batch-site-import.php:487
|
164 |
+
msgid "Invalid plugin slug"
|
165 |
+
msgstr ""
|
166 |
+
|
167 |
+
#: inc/classes/batch-import/class-astra-sites-batch-site-import.php:527
|
168 |
+
msgid "Unable to connect to the filesystem. Please confirm your credentials."
|
169 |
+
msgstr ""
|
170 |
+
|
171 |
+
#: inc/classes/batch-import/class-astra-sites-batch-site-import.php:531
|
172 |
+
#. translators: %s plugin name.
|
173 |
+
msgid "Successfully installed \"%s\" plugin!"
|
174 |
+
msgstr ""
|
175 |
+
|
176 |
#: inc/classes/class-astra-sites-importer-log.php:96
|
177 |
msgid "Required File Permissions to import the templates are missing."
|
178 |
msgstr ""
|
215 |
#: inc/classes/class-astra-sites-importer.php:414
|
216 |
#: inc/classes/class-astra-sites-importer.php:460
|
217 |
#: inc/classes/class-astra-sites-importer.php:508
|
218 |
+
#: inc/classes/class-astra-sites-importer.php:664
|
219 |
+
#: inc/classes/class-astra-sites-importer.php:692
|
220 |
+
#: inc/classes/class-astra-sites-importer.php:726
|
221 |
+
#: inc/classes/class-astra-sites-importer.php:778
|
222 |
+
#: inc/classes/class-astra-sites-importer.php:821
|
223 |
+
#: inc/classes/class-astra-sites-importer.php:859
|
224 |
+
#: inc/classes/class-astra-sites.php:264 inc/classes/class-astra-sites.php:438
|
225 |
+
#: inc/classes/class-astra-sites.php:542 inc/classes/class-astra-sites.php:615
|
226 |
+
#: inc/classes/class-astra-sites.php:806 inc/classes/class-astra-sites.php:825
|
227 |
msgid "You are not allowed to perform this action"
|
228 |
msgstr ""
|
229 |
|
278 |
msgid "Settings saved successfully."
|
279 |
msgstr ""
|
280 |
|
281 |
+
#: inc/classes/class-astra-sites-page.php:426
|
282 |
+
msgid "Importing Starter Template..."
|
283 |
+
msgstr ""
|
284 |
+
|
285 |
+
#: inc/classes/class-astra-sites-page.php:431
|
286 |
+
msgid "The demo you are importing seems invalid. The site is not found."
|
287 |
+
msgstr ""
|
288 |
+
|
289 |
+
#: inc/classes/class-astra-sites-page.php:433
|
290 |
+
msgid "The demo you are importing is a premium demo."
|
291 |
+
msgstr ""
|
292 |
+
|
293 |
+
#: inc/classes/class-astra-sites-page.php:433
|
294 |
+
#: inc/classes/class-astra-sites.php:1195
|
295 |
+
#: inc/classes/class-astra-sites.php:1397
|
296 |
+
msgid "Get Agency Bundle"
|
297 |
+
msgstr ""
|
298 |
+
|
299 |
+
#: inc/classes/class-astra-sites-page.php:435
|
300 |
+
msgid ""
|
301 |
+
"The import process can take a few minutes depending on the size of the site "
|
302 |
+
"and speed of the connection."
|
303 |
+
msgstr ""
|
304 |
+
|
305 |
+
#: inc/classes/class-astra-sites-page.php:466
|
306 |
+
msgid "Site Imported Successfully!"
|
307 |
+
msgstr ""
|
308 |
+
|
309 |
+
#: inc/classes/class-astra-sites-page.php:467
|
310 |
+
msgid "Visit Site"
|
311 |
+
msgstr ""
|
312 |
+
|
313 |
+
#: inc/classes/class-astra-sites-page.php:516
|
314 |
msgid "Getting Started"
|
315 |
msgstr ""
|
316 |
|
317 |
+
#: inc/classes/class-astra-sites-page.php:522
|
318 |
msgid "Select Page Builder"
|
319 |
msgstr ""
|
320 |
|
321 |
+
#: inc/classes/class-astra-sites-page.php:523
|
322 |
msgid ""
|
323 |
"We offer starter templates that can be imported in one click. These sites "
|
324 |
"are available in the following page builders. Please choose your preferred "
|
325 |
"page builder from the list below."
|
326 |
msgstr ""
|
327 |
|
328 |
+
#: inc/classes/class-astra-sites-page.php:582
|
329 |
msgid "My Favorite"
|
330 |
msgstr ""
|
331 |
|
332 |
+
#: inc/classes/class-astra-sites-page.php:587 inc/includes/templates.php:127
|
333 |
msgid "Sync Library"
|
334 |
msgstr ""
|
335 |
|
336 |
+
#: inc/classes/class-astra-sites-page.php:676
|
337 |
+
#: inc/classes/class-astra-sites-page.php:678
|
338 |
+
#: inc/classes/class-astra-sites-page.php:690
|
339 |
+
#: inc/classes/class-astra-sites.php:1019 inc/includes/templates.php:28
|
340 |
#: inc/includes/templates.php:35
|
341 |
msgid "All"
|
342 |
msgstr ""
|
343 |
|
344 |
+
#: inc/classes/class-astra-sites-page.php:695 inc/includes/templates.php:29
|
345 |
msgid "Free"
|
346 |
msgstr ""
|
347 |
|
348 |
+
#: inc/classes/class-astra-sites-page.php:700 inc/includes/admin-page.php:231
|
349 |
#: inc/includes/admin-page.php:320 inc/includes/admin-page.php:381
|
350 |
#: inc/includes/templates.php:30 inc/includes/templates.php:178
|
351 |
#: inc/includes/templates.php:307 inc/includes/templates.php:394
|
352 |
msgid "Agency"
|
353 |
msgstr ""
|
354 |
|
355 |
+
#: inc/classes/class-astra-sites-page.php:708 inc/includes/templates.php:50
|
356 |
msgid "Search..."
|
357 |
msgstr ""
|
358 |
|
359 |
+
#: inc/classes/class-astra-sites-page.php:782
|
360 |
msgid "Elementor"
|
361 |
msgstr ""
|
362 |
|
363 |
+
#: inc/classes/class-astra-sites-page.php:787
|
364 |
msgid "Beaver Builder"
|
365 |
msgstr ""
|
366 |
|
367 |
+
#: inc/classes/class-astra-sites-page.php:792
|
368 |
msgid "Gutenberg"
|
369 |
msgstr ""
|
370 |
|
371 |
+
#: inc/classes/class-astra-sites-page.php:797
|
372 |
msgid "Brizy"
|
373 |
msgstr ""
|
374 |
|
375 |
+
#: inc/classes/class-astra-sites-page.php:895
|
376 |
#. translators: 1: The number of years in an interval of time.
|
377 |
msgid "%s year"
|
378 |
msgid_plural "%s years"
|
379 |
msgstr[0] ""
|
380 |
msgstr[1] ""
|
381 |
|
382 |
+
#: inc/classes/class-astra-sites-page.php:897
|
383 |
#. translators: 1: The number of months in an interval of time.
|
384 |
msgid "%s month"
|
385 |
msgid_plural "%s months"
|
386 |
msgstr[0] ""
|
387 |
msgstr[1] ""
|
388 |
|
389 |
+
#: inc/classes/class-astra-sites-page.php:899
|
390 |
#. translators: 1: The number of weeks in an interval of time.
|
391 |
msgid "%s week"
|
392 |
msgid_plural "%s weeks"
|
393 |
msgstr[0] ""
|
394 |
msgstr[1] ""
|
395 |
|
396 |
+
#: inc/classes/class-astra-sites-page.php:901
|
397 |
#. translators: 1: The number of days in an interval of time.
|
398 |
msgid "%s day"
|
399 |
msgid_plural "%s days"
|
400 |
msgstr[0] ""
|
401 |
msgstr[1] ""
|
402 |
|
403 |
+
#: inc/classes/class-astra-sites-page.php:903
|
404 |
#. translators: 1: The number of hours in an interval of time.
|
405 |
msgid "%s hour"
|
406 |
msgid_plural "%s hours"
|
407 |
msgstr[0] ""
|
408 |
msgstr[1] ""
|
409 |
|
410 |
+
#: inc/classes/class-astra-sites-page.php:905
|
411 |
#. translators: 1: The number of minutes in an interval of time.
|
412 |
msgid "%s minute"
|
413 |
msgid_plural "%s minutes"
|
414 |
msgstr[0] ""
|
415 |
msgstr[1] ""
|
416 |
|
417 |
+
#: inc/classes/class-astra-sites-page.php:907
|
418 |
#. translators: 1: The number of seconds in an interval of time.
|
419 |
msgid "%s second"
|
420 |
msgid_plural "%s seconds"
|
421 |
msgstr[0] ""
|
422 |
msgstr[1] ""
|
423 |
|
424 |
+
#: inc/classes/class-astra-sites-page.php:911
|
425 |
msgid "now"
|
426 |
msgstr ""
|
427 |
|
428 |
+
#: inc/classes/class-astra-sites-page.php:965
|
429 |
msgid ""
|
430 |
"ERROR! Cron schedules are disabled by setting constant DISABLE_WP_CRON to "
|
431 |
"true.<br/>To start the import process please enable the cron by setting the "
|
432 |
"constant to false. E.g. define( 'DISABLE_WP_CRON', false );"
|
433 |
msgstr ""
|
434 |
|
435 |
+
#: inc/classes/class-astra-sites-page.php:969
|
436 |
msgid ""
|
437 |
"ERROR! Cron schedules are disabled by setting constant ALTERNATE_WP_CRON to "
|
438 |
"true.<br/>To start the import process please enable the cron by setting the "
|
439 |
"constant to false. E.g. define( 'ALTERNATE_WP_CRON', false );"
|
440 |
msgstr ""
|
441 |
|
442 |
+
#: inc/classes/class-astra-sites-page.php:1005
|
443 |
#. translators: 1: The HTTP response code.
|
444 |
msgid "Unexpected HTTP response code: %s"
|
445 |
msgstr ""
|
585 |
msgid "This site category does not exist. Please try a different site category."
|
586 |
msgstr ""
|
587 |
|
588 |
+
#: inc/classes/class-astra-sites.php:268
|
589 |
msgid "Invalid API URL"
|
590 |
msgstr ""
|
591 |
|
592 |
+
#: inc/classes/class-astra-sites.php:280
|
593 |
msgid "Invalid Post Meta"
|
594 |
msgstr ""
|
595 |
|
596 |
+
#: inc/classes/class-astra-sites.php:287
|
597 |
msgid "Invalid Post ID or Elementor Meta"
|
598 |
msgstr ""
|
599 |
|
600 |
+
#: inc/classes/class-astra-sites.php:309
|
601 |
msgid "Provided API URL is empty! Please try again!"
|
602 |
msgstr ""
|
603 |
|
604 |
+
#: inc/classes/class-astra-sites.php:833
|
605 |
msgid "Theme Activated"
|
606 |
msgstr ""
|
607 |
|
608 |
+
#: inc/classes/class-astra-sites.php:879
|
609 |
msgid "User does not have permission!"
|
610 |
msgstr ""
|
611 |
|
612 |
+
#: inc/classes/class-astra-sites.php:956
|
613 |
msgid "See Library"
|
614 |
msgstr ""
|
615 |
|
616 |
+
#: inc/classes/class-astra-sites.php:1020
|
617 |
msgid "Animals"
|
618 |
msgstr ""
|
619 |
|
620 |
+
#: inc/classes/class-astra-sites.php:1021
|
621 |
msgid "Architecture/Buildings"
|
622 |
msgstr ""
|
623 |
|
624 |
+
#: inc/classes/class-astra-sites.php:1022
|
625 |
msgid "Backgrounds/Textures"
|
626 |
msgstr ""
|
627 |
|
628 |
+
#: inc/classes/class-astra-sites.php:1023
|
629 |
msgid "Beauty/Fashion"
|
630 |
msgstr ""
|
631 |
|
632 |
+
#: inc/classes/class-astra-sites.php:1024
|
633 |
msgid "Business/Finance"
|
634 |
msgstr ""
|
635 |
|
636 |
+
#: inc/classes/class-astra-sites.php:1025
|
637 |
msgid "Computer/Communication"
|
638 |
msgstr ""
|
639 |
|
640 |
+
#: inc/classes/class-astra-sites.php:1026
|
641 |
msgid "Education"
|
642 |
msgstr ""
|
643 |
|
644 |
+
#: inc/classes/class-astra-sites.php:1027
|
645 |
msgid "Emotions"
|
646 |
msgstr ""
|
647 |
|
648 |
+
#: inc/classes/class-astra-sites.php:1028
|
649 |
msgid "Food/Drink"
|
650 |
msgstr ""
|
651 |
|
652 |
+
#: inc/classes/class-astra-sites.php:1029
|
653 |
msgid "Health/Medical"
|
654 |
msgstr ""
|
655 |
|
656 |
+
#: inc/classes/class-astra-sites.php:1030
|
657 |
msgid "Industry/Craft"
|
658 |
msgstr ""
|
659 |
|
660 |
+
#: inc/classes/class-astra-sites.php:1031
|
661 |
msgid "Music"
|
662 |
msgstr ""
|
663 |
|
664 |
+
#: inc/classes/class-astra-sites.php:1032
|
665 |
msgid "Nature/Landscapes"
|
666 |
msgstr ""
|
667 |
|
668 |
+
#: inc/classes/class-astra-sites.php:1033
|
669 |
msgid "People"
|
670 |
msgstr ""
|
671 |
|
672 |
+
#: inc/classes/class-astra-sites.php:1034
|
673 |
msgid "Places/Monuments"
|
674 |
msgstr ""
|
675 |
|
676 |
+
#: inc/classes/class-astra-sites.php:1035
|
677 |
msgid "Religion"
|
678 |
msgstr ""
|
679 |
|
680 |
+
#: inc/classes/class-astra-sites.php:1036
|
681 |
msgid "Science/Technology"
|
682 |
msgstr ""
|
683 |
|
684 |
+
#: inc/classes/class-astra-sites.php:1037
|
685 |
msgid "Sports"
|
686 |
msgstr ""
|
687 |
|
688 |
+
#: inc/classes/class-astra-sites.php:1038
|
689 |
msgid "Transportation/Traffic"
|
690 |
msgstr ""
|
691 |
|
692 |
+
#: inc/classes/class-astra-sites.php:1039
|
693 |
msgid "Travel/Vacation"
|
694 |
msgstr ""
|
695 |
|
696 |
+
#: inc/classes/class-astra-sites.php:1042
|
697 |
msgid "Popular"
|
698 |
msgstr ""
|
699 |
|
700 |
+
#: inc/classes/class-astra-sites.php:1043
|
701 |
msgid "Latest"
|
702 |
msgstr ""
|
703 |
|
704 |
+
#: inc/classes/class-astra-sites.php:1044
|
705 |
msgid "Upcoming"
|
706 |
msgstr ""
|
707 |
|
708 |
+
#: inc/classes/class-astra-sites.php:1045
|
709 |
msgid "Editor's Choice"
|
710 |
msgstr ""
|
711 |
|
712 |
+
#: inc/classes/class-astra-sites.php:1048
|
713 |
msgid "Any Orientation"
|
714 |
msgstr ""
|
715 |
|
716 |
+
#: inc/classes/class-astra-sites.php:1049
|
717 |
msgid "Vertical"
|
718 |
msgstr ""
|
719 |
|
720 |
+
#: inc/classes/class-astra-sites.php:1050
|
721 |
msgid "Horizontal"
|
722 |
msgstr ""
|
723 |
|
724 |
+
#: inc/classes/class-astra-sites.php:1052
|
725 |
msgid "Free Images from Pixabay"
|
726 |
msgstr ""
|
727 |
|
728 |
+
#: inc/classes/class-astra-sites.php:1053
|
729 |
msgid "Pixabay Search - Ex: flowers"
|
730 |
msgstr ""
|
731 |
|
732 |
+
#: inc/classes/class-astra-sites.php:1054
|
733 |
msgid "Downloading..."
|
734 |
msgstr ""
|
735 |
|
736 |
+
#: inc/classes/class-astra-sites.php:1055
|
737 |
msgid "Validating..."
|
738 |
msgstr ""
|
739 |
|
740 |
+
#: inc/classes/class-astra-sites.php:1056
|
741 |
msgid "Please enter an API key."
|
742 |
msgstr ""
|
743 |
|
744 |
+
#: inc/classes/class-astra-sites.php:1057
|
745 |
msgid "An error occured with code "
|
746 |
msgstr ""
|
747 |
|
748 |
+
#: inc/classes/class-astra-sites.php:1109
|
749 |
msgid "Installed! Activating.."
|
750 |
msgstr ""
|
751 |
|
752 |
+
#: inc/classes/class-astra-sites.php:1110
|
753 |
msgid "Activating..."
|
754 |
msgstr ""
|
755 |
|
756 |
+
#: inc/classes/class-astra-sites.php:1111
|
757 |
msgid "Activated!"
|
758 |
msgstr ""
|
759 |
|
760 |
+
#: inc/classes/class-astra-sites.php:1112
|
761 |
msgid "Installing..."
|
762 |
msgstr ""
|
763 |
|
764 |
+
#: inc/classes/class-astra-sites.php:1197
|
|
|
|
|
|
|
|
|
|
|
765 |
msgid "Upgrade"
|
766 |
msgstr ""
|
767 |
|
768 |
+
#: inc/classes/class-astra-sites.php:1201
|
769 |
msgid ""
|
770 |
"Syncing template library in the background. The process can take anywhere "
|
771 |
"between 2 to 3 minutes. We will notify you once done."
|
772 |
msgstr ""
|
773 |
|
774 |
+
#: inc/classes/class-astra-sites.php:1202
|
775 |
msgid ""
|
776 |
"Some of the files required during the import process are "
|
777 |
"missing.<br/><br/>Please try again after some time."
|
778 |
msgstr ""
|
779 |
|
780 |
+
#: inc/classes/class-astra-sites.php:1203
|
781 |
msgid ""
|
782 |
"<p>WordPress debug mode is currently enabled on your website. This has "
|
783 |
"interrupted the import process..</p><p>Kindly disable debug mode and try "
|
786 |
"mode.</p><p><code>define('WP_DEBUG', false);</code></p>"
|
787 |
msgstr ""
|
788 |
|
789 |
+
#: inc/classes/class-astra-sites.php:1205
|
790 |
+
#: inc/classes/class-astra-sites.php:1207
|
791 |
#. translators: %s is a documentation link.
|
792 |
msgid ""
|
793 |
"<p>Your website is facing a temporary issue in connecting the template "
|
795 |
"the issue and continue importing template.</p>"
|
796 |
msgstr ""
|
797 |
|
798 |
+
#: inc/classes/class-astra-sites.php:1211
|
799 |
#. translators: %s are white label strings.
|
800 |
msgid ""
|
801 |
"Warning! %1$s Import process is not complete. Don't close the window until "
|
802 |
"import process complete. Do you still want to leave the window?"
|
803 |
msgstr ""
|
804 |
|
805 |
+
#: inc/classes/class-astra-sites.php:1212
|
806 |
msgid "Done! View Site"
|
807 |
msgstr ""
|
808 |
|
809 |
+
#: inc/classes/class-astra-sites.php:1215
|
810 |
#. translators: %s is a template name
|
811 |
msgid "Import \"%s\" Template"
|
812 |
msgstr ""
|
813 |
|
814 |
+
#: inc/classes/class-astra-sites.php:1218
|
815 |
msgid "Installing Required Plugins.."
|
816 |
msgstr ""
|
817 |
|
818 |
+
#: inc/classes/class-astra-sites.php:1220
|
819 |
#. translators: %s are white label strings.
|
820 |
msgid "Installing %1$s Theme.."
|
821 |
msgstr ""
|
822 |
|
823 |
+
#: inc/classes/class-astra-sites.php:1242
|
824 |
msgid "Dismiss this notice."
|
825 |
msgstr ""
|
826 |
|
827 |
+
#: inc/classes/class-astra-sites.php:1259
|
828 |
msgid "XMLReader Support Missing"
|
829 |
msgstr ""
|
830 |
|
831 |
+
#: inc/classes/class-astra-sites.php:1261
|
832 |
#. translators: %s doc link.
|
833 |
msgid ""
|
834 |
"You're close to importing the template. To complete the process, enable "
|
835 |
"XMLReader support on your website.."
|
836 |
msgstr ""
|
837 |
|
838 |
+
#: inc/classes/class-astra-sites.php:1261
|
839 |
+
#: inc/classes/class-astra-sites.php:1266
|
840 |
+
#: inc/classes/class-astra-sites.php:1271 inc/includes/admin-page.php:628
|
841 |
#. translators: %s doc link.
|
842 |
msgid ""
|
843 |
"Read an article <a href=\"%s\" target=\"_blank\">here</a> to resolve the "
|
844 |
"issue."
|
845 |
msgstr ""
|
846 |
|
847 |
+
#: inc/classes/class-astra-sites.php:1264
|
848 |
msgid "cURL Support Missing"
|
849 |
msgstr ""
|
850 |
|
851 |
+
#: inc/classes/class-astra-sites.php:1266
|
852 |
#. translators: %s doc link.
|
853 |
msgid "To run a smooth import, kindly enable cURL support on your website."
|
854 |
msgstr ""
|
855 |
|
856 |
+
#: inc/classes/class-astra-sites.php:1269
|
857 |
msgid "Disable Debug Mode"
|
858 |
msgstr ""
|
859 |
|
860 |
+
#: inc/classes/class-astra-sites.php:1271
|
861 |
#. translators: %s doc link.
|
862 |
msgid ""
|
863 |
"WordPress debug mode is currently enabled on your website. With this, any "
|
864 |
"errors from third-party plugins might affect the import process."
|
865 |
msgstr ""
|
866 |
|
867 |
+
#: inc/classes/class-astra-sites.php:1271
|
868 |
msgid ""
|
869 |
"Kindly disable it to continue importing the Starter Template. To do so, you "
|
870 |
"can add the following code into the wp-config.php file."
|
871 |
msgstr ""
|
872 |
|
873 |
+
#: inc/classes/class-astra-sites.php:1274
|
874 |
msgid "Update Plugin"
|
875 |
msgstr ""
|
876 |
|
877 |
+
#: inc/classes/class-astra-sites.php:1276
|
878 |
#. translators: %s update page link.
|
879 |
msgid "Updates are available for plugins used in this starter template."
|
880 |
msgstr ""
|
881 |
|
882 |
+
#: inc/classes/class-astra-sites.php:1276
|
883 |
msgid ""
|
884 |
"Kindly <a href=\"%s\" target=\"_blank\">update</a> them for a successful "
|
885 |
"import. Skipping this step might break the template design/feature."
|
886 |
msgstr ""
|
887 |
|
888 |
+
#: inc/classes/class-astra-sites.php:1279 inc/includes/admin-page.php:479
|
889 |
#: inc/includes/templates.php:443
|
890 |
msgid "Required Plugins Missing"
|
891 |
msgstr ""
|
892 |
|
893 |
+
#: inc/classes/class-astra-sites.php:1280 inc/includes/admin-page.php:483
|
894 |
msgid ""
|
895 |
"This starter template requires premium plugins. As these are third party "
|
896 |
"premium plugins, you'll need to purchase, install and activate them first."
|
897 |
msgstr ""
|
898 |
|
899 |
+
#: inc/classes/class-astra-sites.php:1283
|
900 |
msgid "Dynamic Page"
|
901 |
msgstr ""
|
902 |
|
903 |
+
#: inc/classes/class-astra-sites.php:1284 inc/includes/admin-page.php:645
|
904 |
msgid ""
|
905 |
"The page template you are about to import contains a dynamic widget/module. "
|
906 |
"Please note this dynamic data will not be available with the imported page."
|
907 |
msgstr ""
|
908 |
|
909 |
+
#: inc/classes/class-astra-sites.php:1284 inc/includes/admin-page.php:646
|
910 |
msgid "You will need to add it manually on the page."
|
911 |
msgstr ""
|
912 |
|
913 |
+
#: inc/classes/class-astra-sites.php:1284 inc/includes/admin-page.php:647
|
914 |
msgid "This dynamic content will be available when you import the entire site."
|
915 |
msgstr ""
|
916 |
|
917 |
+
#: inc/classes/class-astra-sites.php:1371
|
918 |
#. translators: %s are link.
|
919 |
msgid ""
|
920 |
"This is a premium website demo available only with the Agency Bundles you "
|
921 |
"can purchase it from <a href=\"%s\" target=\"_blank\">here</a>."
|
922 |
msgstr ""
|
923 |
|
924 |
+
#: inc/classes/class-astra-sites.php:1375
|
925 |
#. translators: %s are link.
|
926 |
msgid ""
|
927 |
"This is a premium template available with 'Agency' packages. <a href=\"%s\" "
|
928 |
"target=\"_blank\">Validate Your License</a> Key to import this template."
|
929 |
msgstr ""
|
930 |
|
931 |
+
#: inc/classes/class-astra-sites.php:1401
|
932 |
msgid "Template"
|
933 |
msgstr ""
|
934 |
|
935 |
+
#: inc/classes/class-astra-sites.php:1402
|
936 |
msgid "Block"
|
937 |
msgstr ""
|
938 |
|
939 |
+
#: inc/classes/class-astra-sites.php:1403 inc/includes/templates.php:65
|
940 |
msgid "Dismiss"
|
941 |
msgstr ""
|
942 |
|
943 |
+
#: inc/classes/class-astra-sites.php:1404 inc/includes/admin-page.php:782
|
944 |
msgid "Install Required Plugins"
|
945 |
msgstr ""
|
946 |
|
947 |
+
#: inc/classes/class-astra-sites.php:1408
|
948 |
#. translators: %s are link.
|
949 |
msgid ""
|
950 |
"You can locate <strong>Starter Templates Settings</strong> under the "
|
951 |
"<strong>Page Settings</strong> of the Style Tab."
|
952 |
msgstr ""
|
953 |
|
954 |
+
#: inc/classes/class-astra-sites.php:1410
|
955 |
msgid "Read More →"
|
956 |
msgstr ""
|
957 |
|
958 |
+
#: inc/classes/class-astra-sites.php:1527
|
959 |
msgid "Error: You don't have the required permissions to install plugins."
|
960 |
msgstr ""
|
961 |
|
962 |
+
#: inc/classes/class-astra-sites.php:1563
|
963 |
msgid "Plugin Activated"
|
964 |
msgstr ""
|
965 |
|
966 |
+
#: inc/classes/class-astra-sites.php:1687
|
967 |
msgid ""
|
968 |
"Insufficient Permission. Please contact your Super Admin to allow the "
|
969 |
"install required plugin permissions."
|
970 |
msgstr ""
|
971 |
|
972 |
+
#: inc/classes/class-astra-sites.php:1879
|
973 |
msgid "Template library refreshed!"
|
974 |
msgstr ""
|
975 |
|
977 |
msgid "All processes are complete"
|
978 |
msgstr ""
|
979 |
|
980 |
+
#: inc/importers/batch-processing/helpers/class-wp-background-process.php:444
|
981 |
#. translators: %d are the minutes.
|
982 |
msgid "Every %d Minutes"
|
983 |
msgstr ""
|
984 |
|
985 |
+
#: inc/importers/class-astra-widget-importer.php:94
|
986 |
msgid "Import data could not be read. Please try a different file."
|
987 |
msgstr ""
|
988 |
|
989 |
+
#: inc/importers/class-astra-widget-importer.php:138
|
990 |
msgid "Widget area does not exist in theme (using Inactive)"
|
991 |
msgstr ""
|
992 |
|
993 |
+
#: inc/importers/class-astra-widget-importer.php:160
|
994 |
msgid "Site does not support widget"
|
995 |
msgstr ""
|
996 |
|
997 |
+
#: inc/importers/class-astra-widget-importer.php:196
|
998 |
msgid "Widget already exists"
|
999 |
msgstr ""
|
1000 |
|
1001 |
+
#: inc/importers/class-astra-widget-importer.php:265
|
1002 |
msgid "Imported"
|
1003 |
msgstr ""
|
1004 |
|
1005 |
+
#: inc/importers/class-astra-widget-importer.php:268
|
1006 |
msgid "Imported to Inactive"
|
1007 |
msgstr ""
|
1008 |
|
1009 |
+
#: inc/importers/class-astra-widget-importer.php:274
|
1010 |
msgid "No Title"
|
1011 |
msgstr ""
|
1012 |
|
1013 |
+
#: inc/importers/wxr-importer/class-astra-wxr-importer.php:424
|
1014 |
msgid "Import complete!"
|
1015 |
msgstr ""
|
1016 |
|
1017 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:228
|
1018 |
msgid "Could not open the file for parsing"
|
1019 |
msgstr ""
|
1020 |
|
1021 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:266
|
1022 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:385
|
1023 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:461
|
1024 |
#. translators: %1$s is WXR version, %2$s is max supported WXR version.
|
1025 |
msgid ""
|
1026 |
"This WXR file (version %1$s) is newer than the importer (version %2$s) and "
|
1027 |
"may not be supported. Please consider updating."
|
1028 |
msgstr ""
|
1029 |
|
1030 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:612
|
1031 |
msgid "The file does not exist, please try again."
|
1032 |
msgstr ""
|
1033 |
|
1034 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:672
|
1035 |
msgid "Invalid author mapping"
|
1036 |
msgstr ""
|
1037 |
|
1038 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:773
|
1039 |
msgid "Cannot import auto-draft posts"
|
1040 |
msgstr ""
|
1041 |
|
1042 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:868
|
1043 |
#. translators: %1$s is the import message, %2$s is post type.
|
1044 |
msgid "Failed to import \"%1$s\": Invalid post type %2$s"
|
1045 |
msgstr ""
|
1046 |
|
1047 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:880
|
1048 |
#. translators: %1$s single post type, %2$s is post title.
|
1049 |
msgid "%1$s \"%2$s\" already exists."
|
1050 |
msgstr ""
|
1051 |
|
1052 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:978
|
1053 |
#. translators: %s is post title
|
1054 |
msgid "Skipping attachment \"%s\", fetching attachments disabled"
|
1055 |
msgstr ""
|
1056 |
|
1057 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:1002
|
1058 |
#. translators: %1$s is the post title, %2$s is post type.
|
1059 |
msgid "Failed to import \"%1$s\" (%2$s)"
|
1060 |
msgstr ""
|
1061 |
|
1062 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:1037
|
1063 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:1925
|
1064 |
#. translators: %1$s is the post title, %2$s is post type.
|
1065 |
#. translators: %1$s is the taxonomy name, %2$s is taxonomy.
|
1066 |
msgid "Imported \"%1$s\" (%2$s)"
|
1067 |
msgstr ""
|
1068 |
|
1069 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:1045
|
1070 |
#. translators: %1$s is the original post id, %2$s is old post id.
|
1071 |
msgid "Post %1$d remapped to %2$d"
|
1072 |
msgstr ""
|
1073 |
|
1074 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:1196
|
1075 |
msgid "Invalid file type"
|
1076 |
msgstr ""
|
1077 |
|
1078 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:1702
|
1079 |
#. translators: %s user login name
|
1080 |
msgid "Failed to import user \"%s\""
|
1081 |
msgstr ""
|
1082 |
|
1083 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:1726
|
1084 |
#. translators: %s user login name
|
1085 |
msgid "Imported user \"%s\""
|
1086 |
msgstr ""
|
1087 |
|
1088 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:1733
|
1089 |
#. translators: %1$s original user Id, %2$s old user Id.
|
1090 |
msgid "User %1$d remapped to %2$d"
|
1091 |
msgstr ""
|
1092 |
|
1093 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:1898
|
1094 |
#. translators: %1$s is the taxonomy, %2$s is taxonomy name.
|
1095 |
msgid "Failed to import %1$s %2$s"
|
1096 |
msgstr ""
|
1097 |
|
1098 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:1933
|
1099 |
#. translators: %1$s is term original id, %2$s is term id.
|
1100 |
msgid "Term %1$d remapped to %2$d"
|
1101 |
msgstr ""
|
1102 |
|
1103 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:1991
|
1104 |
#. translators: %1$s is error code, %2$s is error code header, %3$s is url.
|
1105 |
msgid "Remote server returned %1$d %2$s for %3$s"
|
1106 |
msgstr ""
|
1107 |
|
1108 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:2004
|
1109 |
msgid "Remote file is incorrect size"
|
1110 |
msgstr ""
|
1111 |
|
1112 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:2009
|
1113 |
msgid "Zero size file downloaded"
|
1114 |
msgstr ""
|
1115 |
|
1116 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:2016
|
1117 |
#. translators: %s max file size.
|
1118 |
msgid "Remote file is too large, limit is %s"
|
1119 |
msgstr ""
|
1120 |
|
1121 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:2049
|
1122 |
#. translators: %d is post id.
|
1123 |
msgid "Running post-processing for post %d"
|
1124 |
msgstr ""
|
1125 |
|
1126 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:2065
|
1127 |
#. translators: %1$s is post title, %2$s is post id.
|
1128 |
msgid "Could not find the post parent for \"%1$s\" (post #%2$d)"
|
1129 |
msgstr ""
|
1130 |
|
1131 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:2073
|
1132 |
#. translators: %1$d is post id, %2$d is parent post id.
|
1133 |
msgid "Post %1$d was imported with parent %2$d, but could not be found"
|
1134 |
msgstr ""
|
1135 |
|
1136 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:2090
|
1137 |
#. translators: %1$s is the post title, %2$s is post id.
|
1138 |
msgid "Could not find the author for \"%1$s\" (post #%2$d)"
|
1139 |
msgstr ""
|
1140 |
|
1141 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:2098
|
1142 |
#. translators: %1$d is post id, %2$s is author slug.
|
1143 |
msgid "Post %1$d was imported with author \"%2$s\", but could not be found"
|
1144 |
msgstr ""
|
1145 |
|
1146 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:2127
|
1147 |
#. translators: %d is post id.
|
1148 |
msgid "Post %d was marked for post-processing, but none was required."
|
1149 |
msgstr ""
|
1150 |
|
1151 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:2141
|
1152 |
#. translators: %1$s is the post title, %2$s is post id.
|
1153 |
msgid "Could not update \"%1$s\" (post #%2$d) with mapped data"
|
1154 |
msgstr ""
|
1155 |
|
1156 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:2195
|
1157 |
#. translators: %1$s is the post title, %2$s is post id.
|
1158 |
msgid "Could not find the menu object for \"%1$s\" (post #%2$d)"
|
1159 |
msgstr ""
|
1160 |
|
1161 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:2203
|
1162 |
#. translators: %1$s is post id, %2$s is post object id, %3$s is menu type.
|
1163 |
msgid ""
|
1164 |
"Post %1$d was imported with object \"%2$d\" of type \"%3$s\", but could not "
|
1165 |
"be found"
|
1166 |
msgstr ""
|
1167 |
|
1168 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:2234
|
1169 |
#. translators: %d is comment id.
|
1170 |
msgid "Could not find the comment parent for comment #%d"
|
1171 |
msgstr ""
|
1172 |
|
1173 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:2241
|
1174 |
#. translators: %1$s is comment id, %2$s is parent comment id.
|
1175 |
msgid "Comment %1$d was imported with parent %2$d, but could not be found"
|
1176 |
msgstr ""
|
1177 |
|
1178 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:2258
|
1179 |
#. translators: %d is comment id.
|
1180 |
msgid "Could not find the author for comment #%d"
|
1181 |
msgstr ""
|
1182 |
|
1183 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:2265
|
1184 |
#. translators: %1$d is comment id, %2$d is author id.
|
1185 |
msgid "Comment %1$d was imported with author %2$d, but could not be found"
|
1186 |
msgstr ""
|
1187 |
|
1188 |
+
#: inc/importers/wxr-importer/class-wxr-importer.php:2285
|
1189 |
#. translators: %d is comment id.
|
1190 |
msgid "Could not update comment #%d with mapped data"
|
1191 |
msgstr ""
|
1206 |
|
1207 |
#: inc/includes/admin-page.php:96 inc/includes/admin-page.php:102
|
1208 |
#: inc/includes/admin-page.php:104 inc/includes/admin-page.php:491
|
1209 |
+
#: inc/includes/admin-page.php:650 inc/includes/admin-page.php:836
|
1210 |
#: inc/includes/templates.php:455
|
1211 |
msgid "Skip & Import"
|
1212 |
msgstr ""
|
1213 |
|
1214 |
#: inc/includes/admin-page.php:97 inc/includes/admin-page.php:105
|
1215 |
#: inc/includes/admin-page.php:492 inc/includes/admin-page.php:651
|
1216 |
+
#: inc/includes/admin-page.php:837 inc/includes/templates.php:456
|
1217 |
msgid "Cancel"
|
1218 |
msgstr ""
|
1219 |
|
1392 |
msgid "Heads Up!"
|
1393 |
msgstr ""
|
1394 |
|
1395 |
+
#: inc/includes/admin-page.php:668
|
1396 |
+
msgid "One Last Step.."
|
1397 |
+
msgstr ""
|
1398 |
+
|
1399 |
+
#: inc/includes/admin-page.php:672
|
1400 |
+
msgid ""
|
1401 |
+
"To get access to exclusive starter templates, themes and updates, enter "
|
1402 |
+
"your details below:"
|
1403 |
+
msgstr ""
|
1404 |
+
|
1405 |
+
#: inc/includes/admin-page.php:677
|
1406 |
+
msgid "Your First Name"
|
1407 |
+
msgstr ""
|
1408 |
+
|
1409 |
+
#: inc/includes/admin-page.php:684
|
1410 |
+
msgid "I build websites for:"
|
1411 |
+
msgstr ""
|
1412 |
+
|
1413 |
+
#: inc/includes/admin-page.php:687
|
1414 |
+
msgid "Myself"
|
1415 |
+
msgstr ""
|
1416 |
+
|
1417 |
+
#: inc/includes/admin-page.php:690
|
1418 |
+
msgid "Someone else as a profession"
|
1419 |
+
msgstr ""
|
1420 |
+
|
1421 |
+
#: inc/includes/admin-page.php:693
|
1422 |
+
msgid "Someone else as a hobby"
|
1423 |
+
msgstr ""
|
1424 |
+
|
1425 |
+
#: inc/includes/admin-page.php:701
|
1426 |
+
msgid "Your Work Email"
|
1427 |
+
msgstr ""
|
1428 |
+
|
1429 |
+
#: inc/includes/admin-page.php:708
|
1430 |
+
msgid "Submit and Start Importing"
|
1431 |
+
msgstr ""
|
1432 |
+
|
1433 |
+
#: inc/includes/admin-page.php:722
|
1434 |
msgid "Your Selected Website is Being Imported."
|
1435 |
msgstr ""
|
1436 |
|
1437 |
+
#: inc/includes/admin-page.php:724
|
1438 |
msgid "Your Selected Template is Being Imported."
|
1439 |
msgstr ""
|
1440 |
|
1441 |
+
#: inc/includes/admin-page.php:739
|
1442 |
msgid "Delete Previously Imported Site"
|
1443 |
msgstr ""
|
1444 |
|
1445 |
+
#: inc/includes/admin-page.php:740
|
1446 |
msgid ""
|
1447 |
"WARNING: Selecting this option will delete all data from the previous "
|
1448 |
"import. Choose this option only if this is intended."
|
1449 |
msgstr ""
|
1450 |
|
1451 |
+
#: inc/includes/admin-page.php:740
|
1452 |
msgid "You can find the backup to the current customizer settings at "
|
1453 |
msgstr ""
|
1454 |
|
1455 |
+
#: inc/includes/admin-page.php:740
|
1456 |
msgid "/wp-content/uploads/astra-sites/"
|
1457 |
msgstr ""
|
1458 |
|
1459 |
+
#: inc/includes/admin-page.php:751
|
1460 |
msgid "Install & Activate Astra Theme"
|
1461 |
msgstr ""
|
1462 |
|
1463 |
+
#: inc/includes/admin-page.php:752
|
1464 |
msgid ""
|
1465 |
"To import the site in the original format, you would need the Astra theme "
|
1466 |
"activated. You can import it with any other theme, but the site might lose "
|
1467 |
"some of the design settings and look a bit different."
|
1468 |
msgstr ""
|
1469 |
|
1470 |
+
#: inc/includes/admin-page.php:760
|
1471 |
msgid "Import Customizer Settings"
|
1472 |
msgstr ""
|
1473 |
|
1474 |
+
#: inc/includes/admin-page.php:764
|
1475 |
#. translators: %s are white label strings.
|
1476 |
msgid ""
|
1477 |
"%1$s customizer serves global settings that give uniform design to the "
|
1479 |
"settings."
|
1480 |
msgstr ""
|
1481 |
|
1482 |
+
#: inc/includes/admin-page.php:775
|
1483 |
msgid "Import Widgets"
|
1484 |
msgstr ""
|
1485 |
|
1486 |
+
#: inc/includes/admin-page.php:785
|
1487 |
msgid ""
|
1488 |
"Plugins needed to import this template are missing. Required plugins will "
|
1489 |
"be installed and activated automatically."
|
1490 |
msgstr ""
|
1491 |
|
1492 |
+
#: inc/includes/admin-page.php:794
|
1493 |
msgid "Import Content"
|
1494 |
msgstr ""
|
1495 |
|
1496 |
+
#: inc/includes/admin-page.php:797
|
1497 |
msgid ""
|
1498 |
"Selecting this option will import dummy pages, posts, images, and menus. If "
|
1499 |
"you do not want to import dummy content, please uncheck this option."
|
1500 |
msgstr ""
|
1501 |
|
1502 |
+
#: inc/includes/admin-page.php:815
|
1503 |
#. translators: %s is the dynamic string.
|
1504 |
msgid ""
|
1505 |
"The import process can take a few minutes depending on the size of the %s "
|
1506 |
"and speed of the connection."
|
1507 |
msgstr ""
|
1508 |
|
1509 |
+
#: inc/includes/admin-page.php:821
|
1510 |
#. translators: %s is the dynamic string.
|
1511 |
msgid "Please do NOT close this browser window until the %s is imported completely."
|
1512 |
msgstr ""
|
1513 |
|
1514 |
+
#: inc/includes/admin-page.php:835
|
1515 |
msgid "Import"
|
1516 |
msgstr ""
|
1517 |
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: Elementor,Beaver Builder,Templates,Gutenberg,Astra Starter Sites
|
|
5 |
Requires at least: 4.4
|
6 |
Requires PHP: 5.3
|
7 |
Tested up to: 5.6
|
8 |
-
Stable tag: 2.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -149,6 +149,10 @@ We are open to suggestions and would love to work on topics that our users are l
|
|
149 |
|
150 |
== Changelog ==
|
151 |
|
|
|
|
|
|
|
|
|
152 |
v2.4.0 - 30-December-2020
|
153 |
- Improvement: Additional compatibility with WordPress 5.6.
|
154 |
|
5 |
Requires at least: 4.4
|
6 |
Requires PHP: 5.3
|
7 |
Tested up to: 5.6
|
8 |
+
Stable tag: 2.5.0
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
149 |
|
150 |
== Changelog ==
|
151 |
|
152 |
+
v2.5.0 - 29-January-2021
|
153 |
+
- New: Added an ability to subscribe to Starter Templates' updates.
|
154 |
+
- Improvement: Added new API to support asynchronous import for the Starter Templates.
|
155 |
+
|
156 |
v2.4.0 - 30-December-2020
|
157 |
- Improvement: Additional compatibility with WordPress 5.6.
|
158 |
|