Astra Starter Sites - Version 1.0.1

Version Description

Download this release

Release Info

Developer Nikschavan
Plugin Icon Astra Starter Sites
Version 1.0.1
Comparing to
See all releases

Code changes from version 1.0.0 to 1.0.1

admin/view-astra-sites.php CHANGED
@@ -67,6 +67,7 @@ if ( count( $all_demos ) > 0 ) {
67
  data-demo-slug="<?php echo esc_attr( $demo['slug'] ); ?>"
68
  data-content="<?php echo esc_attr( $demo['content'] ); ?>"
69
  data-required-plugins="<?php echo esc_attr( $demo['required_plugins'] ); ?>">
 
70
 
71
  <?php if ( 'premium' === $demo['astra_demo_type'] ) { ?>
72
  <span class="demo-type <?php echo esc_attr( $demo['astra_demo_type'] ); ?>"><?php echo esc_attr( $demo['astra_demo_type'] ); ?></span>
@@ -113,6 +114,7 @@ if ( count( $all_demos ) > 0 ) {
113
  data-screenshot="{{{data.screenshot}}}"
114
  data-content="{{{data.content}}}"
115
  data-required-plugins="{{data.required_plugins}}">
 
116
 
117
  <span class="demo-type {{{data.astra_demo_type}}}">{{{data.astra_demo_type}}}</span>
118
 
@@ -154,6 +156,7 @@ if ( count( $all_demos ) > 0 ) {
154
  data-screenshot="{{{data.screenshot}}}"
155
  data-content="{{{data.content}}}"
156
  data-required-plugins="{{data.required_plugins}}">
 
157
  <button class="close-full-overlay"><span class="screen-reader-text"><?php esc_html_e( 'Close', 'astra-sites' ); ?></span></button>
158
  <button class="previous-theme"><span class="screen-reader-text"><?php esc_html_e( 'Previous', 'astra-sites' ); ?></span></button>
159
  <button class="next-theme"><span class="screen-reader-text"><?php esc_html_e( 'Next', 'astra-sites' ); ?></span></button>
67
  data-demo-slug="<?php echo esc_attr( $demo['slug'] ); ?>"
68
  data-content="<?php echo esc_attr( $demo['content'] ); ?>"
69
  data-required-plugins="<?php echo esc_attr( $demo['required_plugins'] ); ?>">
70
+ <input type="hidden" class="astra-site-options" value="<?php echo esc_attr( $demo['astra_site_options'] ); ?>" >
71
 
72
  <?php if ( 'premium' === $demo['astra_demo_type'] ) { ?>
73
  <span class="demo-type <?php echo esc_attr( $demo['astra_demo_type'] ); ?>"><?php echo esc_attr( $demo['astra_demo_type'] ); ?></span>
114
  data-screenshot="{{{data.screenshot}}}"
115
  data-content="{{{data.content}}}"
116
  data-required-plugins="{{data.required_plugins}}">
117
+ <input type="hidden" class="astra-site-options" value="{{data.astra_site_options}}" >
118
 
119
  <span class="demo-type {{{data.astra_demo_type}}}">{{{data.astra_demo_type}}}</span>
120
 
156
  data-screenshot="{{{data.screenshot}}}"
157
  data-content="{{{data.content}}}"
158
  data-required-plugins="{{data.required_plugins}}">
159
+ <input type="hidden" class="astra-site-options" value="{{data.astra_site_options}}" >
160
  <button class="close-full-overlay"><span class="screen-reader-text"><?php esc_html_e( 'Close', 'astra-sites' ); ?></span></button>
161
  <button class="previous-theme"><span class="screen-reader-text"><?php esc_html_e( 'Previous', 'astra-sites' ); ?></span></button>
162
  <button class="next-theme"><span class="screen-reader-text"><?php esc_html_e( 'Next', 'astra-sites' ); ?></span></button>
assets/js/admin.js CHANGED
@@ -192,7 +192,8 @@ jQuery(document).on( 'wp-plugin-install-error', function( event, response ) {
192
  jQuery(document).on( 'wp-plugin-install-success', function( event, response ) {
193
  event.preventDefault();
194
 
195
- var $message = jQuery( '.plugin-card-' + response.slug ).find( '.install-now' );
 
196
 
197
  // Transform the 'Install' button into an 'Activate' button.
198
  var $init = $message.data('init');
@@ -207,10 +208,10 @@ jQuery(document).on( 'wp-plugin-install-success', function( event, response ) {
207
  jQuery.ajax({
208
  url: astraDemo.ajaxurl,
209
  type: 'POST',
210
- dataType: 'json',
211
  data: {
212
  'action' : 'astra-required-plugin-activate',
213
- 'init' : $init
 
214
  },
215
  })
216
  .done(function (result) {
@@ -249,16 +250,18 @@ jQuery(document).on('click', '.activate-now', function (event) {
249
  return;
250
  }
251
 
252
- $button.addClass( 'updating-message' )
253
  .html( astraDemo.strings.btnActivating );
254
 
 
 
255
  jQuery.ajax({
256
  url: astraDemo.ajaxurl,
257
  type: 'POST',
258
- dataType: 'json',
259
  data: {
260
  'action' : 'astra-required-plugin-activate',
261
- 'init' : $init
 
262
  },
263
  })
264
  .done(function (result) {
@@ -282,15 +285,16 @@ jQuery(document).on('click', '.activate-now', function (event) {
282
 
283
  function renderDemoPreview(anchor) {
284
 
285
- var demoId = anchor.data('id') || '',
286
- apiURL = anchor.data('demo-api') || '',
287
- demoType = anchor.data('demo-type') || '',
288
- demoURL = anchor.data('demo-url') || '',
289
- screenshot = anchor.data('screenshot') || '',
290
- demo_name = anchor.data('demo-name') || '',
291
- demo_slug = anchor.data('demo-slug') || '',
292
- content = anchor.data('content') || '',
293
- requiredPlugins = anchor.data('required-plugins') || '';
 
294
 
295
  var template = wp.template('astra-demo-preview');
296
 
@@ -303,7 +307,8 @@ function renderDemoPreview(anchor) {
303
  demo_name : demo_name,
304
  slug : demo_slug,
305
  content : content,
306
- requiredPlugins : requiredPlugins
 
307
  }];
308
 
309
  // Initial set count.
@@ -589,15 +594,16 @@ jQuery(document).on('keyup input', '#wp-filter-search-input', function () {
589
  function renderDemoGrid(demos) {
590
  jQuery.each(demos, function (index, demo) {
591
 
592
- id = demo.id;
593
- content = demo.content;
594
- demo_api = demo.demo_api;
595
- demo_name = demo.title;
596
- demo_slug = demo.slug;
597
- screenshot = demo.featured_image_url;
598
- astra_demo_url = demo.astra_demo_url;
599
- astra_demo_type = demo.astra_demo_type;
600
- requiredPlugins = demo.required_plugins;
 
601
 
602
  templateData = [{
603
  id: id,
@@ -608,7 +614,8 @@ function renderDemoGrid(demos) {
608
  demo_name: demo_name,
609
  slug: demo_slug,
610
  content: content,
611
- required_plugins: requiredPlugins
 
612
  }]
613
 
614
  var template = wp.template('astra-single-demo');
192
  jQuery(document).on( 'wp-plugin-install-success', function( event, response ) {
193
  event.preventDefault();
194
 
195
+ var $message = jQuery( '.plugin-card-' + response.slug ).find( '.install-now' );
196
+ var $siteOptions = jQuery( '.wp-full-overlay-header').find('.astra-site-options').val();
197
 
198
  // Transform the 'Install' button into an 'Activate' button.
199
  var $init = $message.data('init');
208
  jQuery.ajax({
209
  url: astraDemo.ajaxurl,
210
  type: 'POST',
 
211
  data: {
212
  'action' : 'astra-required-plugin-activate',
213
+ 'init' : $init,
214
+ 'options' : $siteOptions,
215
  },
216
  })
217
  .done(function (result) {
250
  return;
251
  }
252
 
253
+ $button.addClass('updating-message button-primary')
254
  .html( astraDemo.strings.btnActivating );
255
 
256
+ var siteOptions = jQuery( '.wp-full-overlay-header').find('.astra-site-options').val();
257
+
258
  jQuery.ajax({
259
  url: astraDemo.ajaxurl,
260
  type: 'POST',
 
261
  data: {
262
  'action' : 'astra-required-plugin-activate',
263
+ 'init' : $init,
264
+ 'options' : siteOptions,
265
  },
266
  })
267
  .done(function (result) {
285
 
286
  function renderDemoPreview(anchor) {
287
 
288
+ var demoId = anchor.data('id') || '',
289
+ apiURL = anchor.data('demo-api') || '',
290
+ demoType = anchor.data('demo-type') || '',
291
+ demoURL = anchor.data('demo-url') || '',
292
+ screenshot = anchor.data('screenshot') || '',
293
+ demo_name = anchor.data('demo-name') || '',
294
+ demo_slug = anchor.data('demo-slug') || '',
295
+ content = anchor.data('content') || '',
296
+ requiredPlugins = anchor.data('required-plugins') || '',
297
+ astraSiteOptions = anchor.find('.astra-site-options').val() || '';
298
 
299
  var template = wp.template('astra-demo-preview');
300
 
307
  demo_name : demo_name,
308
  slug : demo_slug,
309
  content : content,
310
+ requiredPlugins : requiredPlugins,
311
+ astra_site_options : astraSiteOptions,
312
  }];
313
 
314
  // Initial set count.
594
  function renderDemoGrid(demos) {
595
  jQuery.each(demos, function (index, demo) {
596
 
597
+ id = demo.id;
598
+ content = demo.content;
599
+ demo_api = demo.demo_api;
600
+ demo_name = demo.title;
601
+ demo_slug = demo.slug;
602
+ screenshot = demo.featured_image_url;
603
+ astra_demo_url = demo.astra_demo_url;
604
+ astra_demo_type = demo.astra_demo_type;
605
+ requiredPlugins = demo.required_plugins;
606
+ astraSiteOptions = demo.astra_site_options || '';
607
 
608
  templateData = [{
609
  id: id,
614
  demo_name: demo_name,
615
  slug: demo_slug,
616
  content: content,
617
+ required_plugins: requiredPlugins,
618
+ astra_site_options: astraSiteOptions
619
  }]
620
 
621
  var template = wp.template('astra-single-demo');
astra-sites.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Astra Sites
4
  * Plugin URI: http://www.wpastra.com/pro/
5
  * Description: Import sites build with Astra theme.
6
- * Version: 1.0.0
7
  * Author: Brainstorm Force
8
  * Author URI: http://www.brainstormforce.com
9
  * Text Domain: astra-sites
@@ -14,7 +14,7 @@
14
  /**
15
  * Set constants.
16
  */
17
- define( 'ASTRA_SITES_VER', '1.0.0' );
18
  define( 'ASTRA_SITES_FILE', __FILE__ );
19
  define( 'ASTRA_SITES_BASE', plugin_basename( ASTRA_SITES_FILE ) );
20
  define( 'ASTRA_SITES_DIR', plugin_dir_path( ASTRA_SITES_FILE ) );
3
  * Plugin Name: Astra Sites
4
  * Plugin URI: http://www.wpastra.com/pro/
5
  * Description: Import sites build with Astra theme.
6
+ * Version: 1.0.1
7
  * Author: Brainstorm Force
8
  * Author URI: http://www.brainstormforce.com
9
  * Text Domain: astra-sites
14
  /**
15
  * Set constants.
16
  */
17
+ define( 'ASTRA_SITES_VER', '1.0.1' );
18
  define( 'ASTRA_SITES_FILE', __FILE__ );
19
  define( 'ASTRA_SITES_BASE', plugin_basename( ASTRA_SITES_FILE ) );
20
  define( 'ASTRA_SITES_DIR', plugin_dir_path( ASTRA_SITES_FILE ) );
classes/class-astra-sites.php CHANGED
@@ -65,6 +65,16 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
65
  add_action( 'wp_ajax_astra-list-sites', array( $this, 'list_demos' ) );
66
  add_action( 'wp_ajax_astra-required-plugins', array( $this, 'required_plugin' ) );
67
  add_action( 'wp_ajax_astra-required-plugin-activate', array( $this, 'required_plugin_activate' ) );
 
 
 
 
 
 
 
 
 
 
68
  }
69
 
70
  /**
@@ -217,6 +227,7 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
217
  private function includes() {
218
 
219
  require_once ASTRA_SITES_DIR . 'admin/class-astra-sites-admin.php';
 
220
 
221
  // Load the Importers.
222
  require_once ASTRA_SITES_DIR . 'importers/class-astra-sites-helper.php';
@@ -242,7 +253,9 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
242
  );
243
  }
244
 
245
- $plugin_init = esc_attr( $_POST['init'] );
 
 
246
 
247
  $activate = activate_plugin( $plugin_init, '', false, true );
248
 
@@ -255,6 +268,8 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
255
  );
256
  }
257
 
 
 
258
  wp_send_json_success(
259
  array(
260
  'success' => true,
@@ -290,17 +305,38 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
290
  if ( count( $required_plugins ) > 0 ) {
291
  foreach ( $required_plugins as $key => $plugin ) {
292
 
293
- // Inactive plugins.
294
- if ( file_exists( WP_PLUGIN_DIR . '/' . $plugin['init'] ) && is_plugin_inactive( $plugin['init'] ) ) {
295
- $response['inactive'][] = $plugin;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
296
 
297
- // Not Installed plugins.
298
- } elseif ( ! file_exists( WP_PLUGIN_DIR . '/' . $plugin['init'] ) ) {
299
- $response['notinstalled'][] = $plugin;
300
 
301
- // Active plugins.
302
- } else {
303
- $response['active'][] = $plugin;
 
 
 
 
 
 
 
 
304
  }
305
  }
306
  }
@@ -309,6 +345,50 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
309
  wp_send_json_success( $response );
310
  }
311
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
312
  /**
313
  * Ajax callback for demo import action.
314
  *
@@ -375,9 +455,6 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
375
  // Import Enabled Extensions.
376
  $this->import_astra_enabled_extension( $demo_data['astra-enabled-extensions'] );
377
 
378
- // Import Widgets data.
379
- $this->import_widgets( $demo_data['astra-site-widgets-data'] );
380
-
381
  // Import Customizer Settings.
382
  $this->import_customizer_settings( $demo_data['astra-site-customizer-data'] );
383
 
@@ -389,6 +466,9 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
389
 
390
  // Import Custom 404 extension options.
391
  $this->import_custom_404_extension_options( $demo_data['astra-custom-404'] );
 
 
 
392
  }
393
 
394
  /**
@@ -486,14 +566,14 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
486
  // default values.
487
  $remote_args = array();
488
  $defaults = array(
489
- 'id' => '',
490
- 'astra-site-widgets-data' => '',
491
- 'astra-site-customizer-data' => '',
492
- 'astra-site-options-data' => '',
493
- 'astra-site-wxr-path' => '',
494
- 'astra-enabled-extensions' => '',
495
- 'astra-custom-404' => '',
496
- 'required-plugins' => '',
497
  );
498
 
499
  $api_args = array(
@@ -503,15 +583,19 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
503
  $response = wp_remote_get( $demo_api_uri, $api_args );
504
 
505
  if ( ! is_wp_error( $response ) || wp_remote_retrieve_response_code( $response ) === 200 ) {
 
506
  $result = json_decode( wp_remote_retrieve_body( $response ), true );
507
- $remote_args['id'] = $result['id'];
508
- $remote_args['astra-site-widgets-data'] = json_decode( $result['astra-site-widgets-data'] );
509
- $remote_args['astra-site-customizer-data'] = $result['astra-site-customizer-data'];
510
- $remote_args['astra-site-options-data'] = $result['astra-site-options-data'];
511
- $remote_args['astra-site-wxr-path'] = $result['astra-site-wxr-path'];
512
- $remote_args['astra-enabled-extensions'] = $result['astra-enabled-extensions'];
513
- $remote_args['astra-custom-404'] = $result['astra-custom-404'];
514
- $remote_args['required-plugins'] = $result['required-plugins'];
 
 
 
515
  }
516
 
517
  // Merge remote demo and defaults.
@@ -561,6 +645,7 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
561
  $astra_demos[ $key ]['demo_api'] = isset( $demo['_links']['self'][0]['href'] ) ? esc_url( $demo['_links']['self'][0]['href'] ) : self::get_api_url( new stdClass() ) . $demo['id'];
562
  $astra_demos[ $key ]['content'] = isset( $demo['content']['rendered'] ) ? strip_tags( $demo['content']['rendered'] ) : '';
563
  $astra_demos[ $key ]['required_plugins'] = isset( $demo['required-plugins'] ) ? json_encode( $demo['required-plugins'] ) : '';
 
564
  }
565
 
566
  // Free up memory by unsetting variables that are not required.
@@ -628,4 +713,3 @@ if ( ! class_exists( 'Astra_Sites' ) ) :
628
  Astra_Sites::set_instance();
629
 
630
  endif;
631
-
65
  add_action( 'wp_ajax_astra-list-sites', array( $this, 'list_demos' ) );
66
  add_action( 'wp_ajax_astra-required-plugins', array( $this, 'required_plugin' ) );
67
  add_action( 'wp_ajax_astra-required-plugin-activate', array( $this, 'required_plugin_activate' ) );
68
+ add_action( 'plugins_loaded', array( $this, 'load_textdomain' ) );
69
+ }
70
+
71
+ /**
72
+ * Loads textdomain for the plugin.
73
+ *
74
+ * @since 1.0.1
75
+ */
76
+ function load_textdomain() {
77
+ load_plugin_textdomain( 'astra-sites' );
78
  }
79
 
80
  /**
227
  private function includes() {
228
 
229
  require_once ASTRA_SITES_DIR . 'admin/class-astra-sites-admin.php';
230
+ require_once ASTRA_SITES_DIR . 'classes/compatibility/class-astra-sites-compatibility-so-widgets.php';
231
 
232
  // Load the Importers.
233
  require_once ASTRA_SITES_DIR . 'importers/class-astra-sites-helper.php';
253
  );
254
  }
255
 
256
+ $plugin_init = ( isset( $_POST['init'] ) ) ? esc_attr( $_POST['init'] ) : '';
257
+ $astra_site_options = ( isset( $_POST['options'] ) ) ? json_decode( stripslashes( $_POST['options'] ) ) : '';
258
+ $astra_site_options = ( $astra_site_options );
259
 
260
  $activate = activate_plugin( $plugin_init, '', false, true );
261
 
268
  );
269
  }
270
 
271
+ do_action( 'astra_sites_after_plugin_activation', $plugin_init, $astra_site_options );
272
+
273
  wp_send_json_success(
274
  array(
275
  'success' => true,
305
  if ( count( $required_plugins ) > 0 ) {
306
  foreach ( $required_plugins as $key => $plugin ) {
307
 
308
+ /**
309
+ * Has Pro Version Support?
310
+ * And
311
+ * Is Pro Version Installed?
312
+ */
313
+ $plugin_pro = self::pro_plugin_exist( $plugin['init'] );
314
+ if ( $plugin_pro ) {
315
+
316
+ // Pro - Active.
317
+ if ( is_plugin_active( $plugin_pro['init'] ) ) {
318
+ $response['active'][] = $plugin_pro;
319
+
320
+ // Pro - Inactive.
321
+ } else {
322
+ $response['inactive'][] = $plugin_pro;
323
+ }
324
+ } else {
325
 
326
+ // Lite - Installed but Inactive.
327
+ if ( file_exists( WP_PLUGIN_DIR . '/' . $plugin['init'] ) && is_plugin_inactive( $plugin['init'] ) ) {
 
328
 
329
+ $response['inactive'][] = $plugin;
330
+
331
+ // Lite - Not Installed.
332
+ } elseif ( ! file_exists( WP_PLUGIN_DIR . '/' . $plugin['init'] ) ) {
333
+
334
+ $response['notinstalled'][] = $plugin;
335
+
336
+ // Lite - Active.
337
+ } else {
338
+ $response['active'][] = $plugin;
339
+ }
340
  }
341
  }
342
  }
345
  wp_send_json_success( $response );
346
  }
347
 
348
+ /**
349
+ * Has Pro Version Support?
350
+ * And
351
+ * Is Pro Version Installed?
352
+ *
353
+ * Check Pro plugin version exist of requested plugin lite version.
354
+ *
355
+ * Eg. If plugin 'BB Lite Version' required to import demo. Then we check the 'BB Agency Version' is exist?
356
+ * If yes then we only 'Activate' Agency Version. [We couldn't install agency version.]
357
+ * Else we 'Activate' or 'Install' Lite Version.
358
+ *
359
+ * @since 1.0.1
360
+ *
361
+ * @param string $lite_version Lite version init file.
362
+ * @return mixed Return false if not installed or not supported by us
363
+ * else return 'Pro' version details.
364
+ */
365
+ public static function pro_plugin_exist( $lite_version = '' ) {
366
+
367
+ // Lite init => Pro init.
368
+ $plugins = array(
369
+ 'beaver-builder-lite-version/fl-builder.php' => array(
370
+ 'slug' => 'bb-plugin',
371
+ 'init' => 'bb-plugin/fl-builder.php',
372
+ 'name' => 'Beaver Builder Plugin (Agency Version)',
373
+ ),
374
+ 'ultimate-addons-for-beaver-builder-lite/bb-ultimate-addon.php' => array(
375
+ 'slug' => 'bb-ultimate-addon',
376
+ 'init' => 'bb-ultimate-addon/bb-ultimate-addon.php',
377
+ 'name' => 'Ultimate Addon for Beaver Builder',
378
+ ),
379
+ );
380
+
381
+ if ( isset( $plugins[ $lite_version ] ) ) {
382
+
383
+ // Pro plugin directory exist?
384
+ if ( file_exists( WP_PLUGIN_DIR . '/' . $plugins[ $lite_version ]['init'] ) ) {
385
+ return $plugins[ $lite_version ];
386
+ }
387
+ }
388
+
389
+ return false;
390
+ }
391
+
392
  /**
393
  * Ajax callback for demo import action.
394
  *
455
  // Import Enabled Extensions.
456
  $this->import_astra_enabled_extension( $demo_data['astra-enabled-extensions'] );
457
 
 
 
 
458
  // Import Customizer Settings.
459
  $this->import_customizer_settings( $demo_data['astra-site-customizer-data'] );
460
 
466
 
467
  // Import Custom 404 extension options.
468
  $this->import_custom_404_extension_options( $demo_data['astra-custom-404'] );
469
+
470
+ // Import Widgets data.
471
+ $this->import_widgets( $demo_data['astra-site-widgets-data'] );
472
  }
473
 
474
  /**
566
  // default values.
567
  $remote_args = array();
568
  $defaults = array(
569
+ 'id' => '',
570
+ 'astra-site-widgets-data' => '',
571
+ 'astra-site-customizer-data' => '',
572
+ 'astra-site-options-data' => '',
573
+ 'astra-site-wxr-path' => '',
574
+ 'astra-enabled-extensions' => '',
575
+ 'astra-custom-404' => '',
576
+ 'required-plugins' => '',
577
  );
578
 
579
  $api_args = array(
583
  $response = wp_remote_get( $demo_api_uri, $api_args );
584
 
585
  if ( ! is_wp_error( $response ) || wp_remote_retrieve_response_code( $response ) === 200 ) {
586
+
587
  $result = json_decode( wp_remote_retrieve_body( $response ), true );
588
+
589
+ if ( ! isset( $result['code'] ) ) {
590
+ $remote_args['id'] = $result['id'];
591
+ $remote_args['astra-site-widgets-data'] = json_decode( $result['astra-site-widgets-data'] );
592
+ $remote_args['astra-site-customizer-data'] = $result['astra-site-customizer-data'];
593
+ $remote_args['astra-site-options-data'] = $result['astra-site-options-data'];
594
+ $remote_args['astra-site-wxr-path'] = $result['astra-site-wxr-path'];
595
+ $remote_args['astra-enabled-extensions'] = $result['astra-enabled-extensions'];
596
+ $remote_args['astra-custom-404'] = $result['astra-custom-404'];
597
+ $remote_args['required-plugins'] = $result['required-plugins'];
598
+ }
599
  }
600
 
601
  // Merge remote demo and defaults.
645
  $astra_demos[ $key ]['demo_api'] = isset( $demo['_links']['self'][0]['href'] ) ? esc_url( $demo['_links']['self'][0]['href'] ) : self::get_api_url( new stdClass() ) . $demo['id'];
646
  $astra_demos[ $key ]['content'] = isset( $demo['content']['rendered'] ) ? strip_tags( $demo['content']['rendered'] ) : '';
647
  $astra_demos[ $key ]['required_plugins'] = isset( $demo['required-plugins'] ) ? json_encode( $demo['required-plugins'] ) : '';
648
+ $astra_demos[ $key ]['astra_site_options'] = isset( $demo['astra-site-options-data'] ) ? json_encode( $demo['astra-site-options-data'] ) : '';
649
  }
650
 
651
  // Free up memory by unsetting variables that are not required.
713
  Astra_Sites::set_instance();
714
 
715
  endif;
 
classes/compatibility/class-astra-sites-compatibility-so-widgets.php ADDED
@@ -0,0 +1,77 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Astra Sites Compatibility for 'SiteOrigin Widgets Bundle'
4
+ *
5
+ * @see https://wordpress.org/plugins/so-widgets-bundle/
6
+ *
7
+ * @package Astra Sites
8
+ * @since 1.0.0
9
+ */
10
+
11
+ if ( ! class_exists( 'Astra_Sites_Compatibility_SO_Widgets' ) ) :
12
+
13
+ /**
14
+ * Astra_Sites_Compatibility_SO_Widgets
15
+ *
16
+ * @since 1.0.0
17
+ */
18
+ class Astra_Sites_Compatibility_SO_Widgets {
19
+
20
+ /**
21
+ * Instance
22
+ *
23
+ * @access private
24
+ * @var object Class object.
25
+ * @since 1.0.0
26
+ */
27
+ private static $instance;
28
+
29
+ /**
30
+ * Initiator
31
+ *
32
+ * @since 1.0.0
33
+ * @return object initialized object of class.
34
+ */
35
+ public static function instance() {
36
+ if ( ! isset( self::$instance ) ) {
37
+ self::$instance = new self;
38
+ }
39
+ return self::$instance;
40
+ }
41
+
42
+ /**
43
+ * Constructor
44
+ *
45
+ * @since 1.0.0
46
+ */
47
+ public function __construct() {
48
+ add_action( 'astra_sites_after_plugin_activation', array( $this, 'site_origin' ), 10, 2 );
49
+ }
50
+
51
+ /**
52
+ * Update Site Origin Active Widgets
53
+ *
54
+ * @since 1.0.0
55
+ * @param string $plugin_init Plugin init file.
56
+ * @param array $astra_site_options Astra Site Options.
57
+ * @return void
58
+ */
59
+ function site_origin( $plugin_init = '', $astra_site_options = array() ) {
60
+
61
+ if ( 'so-widgets-bundle/so-widgets-bundle.php' === $plugin_init ) {
62
+ if ( isset( $astra_site_options->siteorigin_widgets_active ) ) {
63
+ update_option( 'siteorigin_widgets_active', $astra_site_options->siteorigin_widgets_active );
64
+ wp_cache_delete( 'active_widgets', 'siteorigin_widgets' );
65
+ }
66
+ }
67
+
68
+ }
69
+
70
+ }
71
+
72
+ /**
73
+ * Kicking this off by calling 'instance()' method
74
+ */
75
+ Astra_Sites_Compatibility_SO_Widgets::instance();
76
+
77
+ endif;
importers/class-astra-customizer-import.php CHANGED
@@ -43,9 +43,19 @@ class Astra_Customizer_Import {
43
  *
44
  * @since 1.0.0
45
  *
46
- * @param (Array) $data customizer options from the demo.
47
  */
48
- public function import( $data ) {
49
- update_option( 'astra-settings', $data );
 
 
 
 
 
 
 
 
 
 
50
  }
51
  }
43
  *
44
  * @since 1.0.0
45
  *
46
+ * @param (Array) $options customizer options from the demo.
47
  */
48
+ public function import( $options ) {
49
+
50
+ // Update Astra Theme customizer settings.
51
+ if ( isset( $options['astra-settings'] ) ) {
52
+ update_option( 'astra-settings', $options['astra-settings'] );
53
+ }
54
+
55
+ // Add Custom CSS.
56
+ if ( isset( $options['custom-css'] ) ) {
57
+ wp_update_custom_css_post( $options['custom-css'] );
58
+ }
59
+
60
  }
61
  }
importers/class-astra-site-options-import.php CHANGED
@@ -45,20 +45,48 @@ class Astra_Site_Options_Import {
45
  * @param (Array) $options Array of site options to be imported from the demo.
46
  */
47
  public function import_options( $options ) {
48
- $show_on_front = $options['show_on_front'];
49
- $page_on_front = get_page_by_title( $options['page_on_front'] );
50
- $page_for_posts = get_page_by_title( $options['page_for_posts'] );
51
- $siteorigin_widgets_active = $options['siteorigin_widgets_active'];
52
 
53
- // Update site options.
54
- update_option( 'show_on_front', $show_on_front );
55
- update_option( 'page_on_front', $page_on_front->ID );
56
- update_option( 'page_for_posts', $page_for_posts->ID );
57
- update_option( 'siteorigin_widgets_active', $siteorigin_widgets_active );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
 
59
- $this->set_nav_menu_locations( $options['nav_menu_locations'] );
 
 
 
60
 
61
- $this->insert_logo( $options['custom_logo'] );
 
 
 
 
 
 
 
 
 
62
  }
63
 
64
  /**
@@ -74,16 +102,19 @@ class Astra_Site_Options_Import {
74
  $menu_locations = array();
75
 
76
  // Update menu locations.
77
- foreach ( $nav_menu_locations as $menu => $value ) {
 
 
78
 
79
- $term = get_term_by( 'slug', $value, 'nav_menu' );
80
 
81
- if ( is_object( $term ) ) {
82
- $menu_locations[ $menu ] = $term->term_id;
 
83
  }
84
- }
85
 
86
- set_theme_mod( 'nav_menu_locations', $menu_locations );
 
87
  }
88
 
89
 
45
  * @param (Array) $options Array of site options to be imported from the demo.
46
  */
47
  public function import_options( $options ) {
 
 
 
 
48
 
49
+ // Show on Front.
50
+ if ( isset( $options['show_on_front'] ) ) {
51
+ update_option( 'show_on_front', $options['show_on_front'] );
52
+ }
53
+
54
+ // Page on Front.
55
+ if ( isset( $options['page_on_front'] ) ) {
56
+ $page_on_front = get_page_by_title( $options['page_on_front'] );
57
+ if ( is_object( $page_on_front ) ) {
58
+ update_option( 'page_on_front', $page_on_front->ID );
59
+ }
60
+ }
61
+
62
+ // Page for Posts.
63
+ if ( isset( $options['page_for_posts'] ) ) {
64
+ $page_for_posts = get_page_by_title( $options['page_for_posts'] );
65
+ if ( is_object( $page_for_posts ) ) {
66
+ update_option( 'page_for_posts', $page_for_posts->ID );
67
+ }
68
+ }
69
+
70
+ // Nav Menu Locations.
71
+ if ( isset( $options['nav_menu_locations'] ) ) {
72
+ $this->set_nav_menu_locations( $options['nav_menu_locations'] );
73
+ }
74
 
75
+ // Insert Logo.
76
+ if ( isset( $options['custom_logo'] ) ) {
77
+ $this->insert_logo( $options['custom_logo'] );
78
+ }
79
 
80
+ // Elementor Options.
81
+ if ( isset( $options['elementor_scheme_color'] ) ) {
82
+ update_option( 'elementor_scheme_color', $options['elementor_scheme_color'] );
83
+ }
84
+ if ( isset( $options['elementor_scheme_color-picker'] ) ) {
85
+ update_option( 'elementor_scheme_color-picker', $options['elementor_scheme_color-picker'] );
86
+ }
87
+ if ( isset( $options['elementor_scheme_typography'] ) ) {
88
+ update_option( 'elementor_scheme_typography', $options['elementor_scheme_typography'] );
89
+ }
90
  }
91
 
92
  /**
102
  $menu_locations = array();
103
 
104
  // Update menu locations.
105
+ if ( isset( $nav_menu_locations ) ) {
106
+
107
+ foreach ( $nav_menu_locations as $menu => $value ) {
108
 
109
+ $term = get_term_by( 'slug', $value, 'nav_menu' );
110
 
111
+ if ( is_object( $term ) ) {
112
+ $menu_locations[ $menu ] = $term->term_id;
113
+ }
114
  }
 
115
 
116
+ set_theme_mod( 'nav_menu_locations', $menu_locations );
117
+ }
118
  }
119
 
120
 
languages/astra-sites.pot ADDED
@@ -0,0 +1,362 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2017 Brainstorm Force
2
+ # This file is distributed under the same license as the Astra Sites package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: Astra Sites 1.0.0\n"
6
+ "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/astra-sites\n"
7
+ "POT-Creation-Date: 2017-08-04 10:06:45+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: 2017-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"
15
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
+ "X-Poedit-Country: United States\n"
17
+ "X-Poedit-SourceCharset: UTF-8\n"
18
+ "X-Poedit-KeywordsList: "
19
+ "__;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_"
20
+ "attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c;\n"
21
+ "X-Poedit-Basepath: ../\n"
22
+ "X-Poedit-SearchPath-0: .\n"
23
+ "X-Poedit-Bookmarks: \n"
24
+ "X-Textdomain-Support: yes\n"
25
+ "X-Generator: grunt-wp-i18n1.0.0\n"
26
+
27
+ #. Plugin Name of the plugin/theme
28
+ msgid "Astra Sites"
29
+ msgstr ""
30
+
31
+ #: admin/view-astra-sites.php:33
32
+ msgid "All"
33
+ msgstr ""
34
+
35
+ #: admin/view-astra-sites.php:47
36
+ msgid "Search Sites"
37
+ msgstr ""
38
+
39
+ #: admin/view-astra-sites.php:48
40
+ msgid "Search Sites..."
41
+ msgstr ""
42
+
43
+ #: admin/view-astra-sites.php:83 admin/view-astra-sites.php:128
44
+ msgid "Details &amp; Preview"
45
+ msgstr ""
46
+
47
+ #: admin/view-astra-sites.php:88 admin/view-astra-sites.php:134
48
+ #: admin/view-astra-sites.php:202
49
+ msgid "Preview"
50
+ msgstr ""
51
+
52
+ #: admin/view-astra-sites.php:160
53
+ msgid "Close"
54
+ msgstr ""
55
+
56
+ #: admin/view-astra-sites.php:161
57
+ msgid "Previous"
58
+ msgstr ""
59
+
60
+ #: admin/view-astra-sites.php:162
61
+ msgid "Next"
62
+ msgstr ""
63
+
64
+ #: admin/view-astra-sites.php:163 admin/view-astra-sites.php:191
65
+ msgid "Install Plugins"
66
+ msgstr ""
67
+
68
+ #: admin/view-astra-sites.php:179 classes/class-astra-sites.php:201
69
+ msgid "Read more"
70
+ msgstr ""
71
+
72
+ #: admin/view-astra-sites.php:182
73
+ msgid "Required Plugins"
74
+ msgstr ""
75
+
76
+ #: admin/view-astra-sites.php:197
77
+ msgid "Collapse"
78
+ msgstr ""
79
+
80
+ #: admin/view-astra-sites.php:216
81
+ #. translators: %1$s & %2$s are a Demo API URL
82
+ msgid ""
83
+ "<p> It seems the demo data server, <i><a href=\"%1$s\">%2$s</a></i> is "
84
+ "unreachable from your site.</p>"
85
+ msgstr ""
86
+
87
+ #: admin/view-astra-sites.php:218
88
+ msgid ""
89
+ "<p class=\"left-margin\"> 1. Sometimes, simple page reload fixes any "
90
+ "temporary issues. No kidding!</p>"
91
+ msgstr ""
92
+
93
+ #: admin/view-astra-sites.php:220
94
+ msgid ""
95
+ "<p class=\"left-margin\"> 2. If that does not work, you will need to talk "
96
+ "to your server administrator and check if demo server is being blocked by "
97
+ "the firewall!</p>"
98
+ msgstr ""
99
+
100
+ #: admin/view-astra-sites.php:223
101
+ #. translators: %1$s is a support link
102
+ msgid ""
103
+ "<p>If that does not help, please open up a <a href=\"%1$s\" "
104
+ "target=\"_blank\">Support Ticket</a> and we will be glad take a closer look "
105
+ "for you.</p>"
106
+ msgstr ""
107
+
108
+ #: classes/class-astra-sites.php:85
109
+ #. translators: 1: theme.php file
110
+ msgid ""
111
+ "Astra Theme needs to be active for you to use currently installed \"Astra "
112
+ "Sites\" plugin. <a href=\"%1$s\">Install & Activate Now</a>"
113
+ msgstr ""
114
+
115
+ #: classes/class-astra-sites.php:106
116
+ msgid "See Library"
117
+ msgstr ""
118
+
119
+ #: classes/class-astra-sites.php:192
120
+ msgid "Purchase"
121
+ msgstr ""
122
+
123
+ #: classes/class-astra-sites.php:197
124
+ msgid "Done! View Site"
125
+ msgstr ""
126
+
127
+ #: classes/class-astra-sites.php:198
128
+ msgid "Activating"
129
+ msgstr ""
130
+
131
+ #: classes/class-astra-sites.php:199
132
+ msgid "Active"
133
+ msgstr ""
134
+
135
+ #: classes/class-astra-sites.php:200
136
+ msgid "Import This Site"
137
+ msgstr ""
138
+
139
+ #: classes/class-astra-sites.php:202
140
+ msgid "Hide"
141
+ msgstr ""
142
+
143
+ #: classes/class-astra-sites.php:203
144
+ msgid "There was a problem receiving a response from server."
145
+ msgstr ""
146
+
147
+ #: classes/class-astra-sites.php:204
148
+ msgid "No Demos found, Try a different search."
149
+ msgstr ""
150
+
151
+ #: classes/class-astra-sites.php:205
152
+ msgid ""
153
+ "Executing Demo Import will make your site similar as ours. Please bear in "
154
+ "mind -\n"
155
+ "\n"
156
+ "1. It is recommended to run import on a fresh WordPress installation.\n"
157
+ "\n"
158
+ "2. Importing site does not delete any pages or posts. However, it can "
159
+ "overwrite your existing content.\n"
160
+ "\n"
161
+ "3. Copyrighted media will not be imported. Instead it will be replaced with "
162
+ "placeholders."
163
+ msgstr ""
164
+
165
+ #: classes/class-astra-sites.php:241
166
+ msgid "No plugin specified"
167
+ msgstr ""
168
+
169
+ #: classes/class-astra-sites.php:266
170
+ msgid "Plugin Successfully Activated"
171
+ msgstr ""
172
+
173
+ #: importers/class-widgets-importer.php:83
174
+ msgid "Import data could not be read. Please try a different file."
175
+ msgstr ""
176
+
177
+ #: importers/class-widgets-importer.php:127
178
+ msgid "Widget area does not exist in theme (using Inactive)"
179
+ msgstr ""
180
+
181
+ #: importers/class-widgets-importer.php:149
182
+ msgid "Site does not support widget"
183
+ msgstr ""
184
+
185
+ #: importers/class-widgets-importer.php:185
186
+ msgid "Widget already exists"
187
+ msgstr ""
188
+
189
+ #: importers/class-widgets-importer.php:254
190
+ msgid "Imported"
191
+ msgstr ""
192
+
193
+ #: importers/class-widgets-importer.php:257
194
+ msgid "Imported to Inactive"
195
+ msgstr ""
196
+
197
+ #: importers/class-widgets-importer.php:263
198
+ msgid "No Title"
199
+ msgstr ""
200
+
201
+ #: importers/wxr-importer/class-wxr-importer.php:130
202
+ msgid "Could not open the file for parsing"
203
+ msgstr ""
204
+
205
+ #: importers/wxr-importer/class-wxr-importer.php:166
206
+ #: importers/wxr-importer/class-wxr-importer.php:282
207
+ #: importers/wxr-importer/class-wxr-importer.php:355
208
+ msgid ""
209
+ "This WXR file (version %1$s) is newer than the importer (version %2$s) and "
210
+ "may not be supported. Please consider updating."
211
+ msgstr ""
212
+
213
+ #: importers/wxr-importer/class-wxr-importer.php:503
214
+ msgid "The file does not exist, please try again."
215
+ msgstr ""
216
+
217
+ #: importers/wxr-importer/class-wxr-importer.php:563
218
+ msgid "Invalid author mapping"
219
+ msgstr ""
220
+
221
+ #: importers/wxr-importer/class-wxr-importer.php:664
222
+ msgid "Cannot import auto-draft posts"
223
+ msgstr ""
224
+
225
+ #: importers/wxr-importer/class-wxr-importer.php:752
226
+ msgid "Failed to import \"%1$s\": Invalid post type %2$s"
227
+ msgstr ""
228
+
229
+ #: importers/wxr-importer/class-wxr-importer.php:762
230
+ msgid "%1$s \"%2$s\" already exists."
231
+ msgstr ""
232
+
233
+ #: importers/wxr-importer/class-wxr-importer.php:856
234
+ msgid "Skipping attachment \"%s\", fetching attachments disabled"
235
+ msgstr ""
236
+
237
+ #: importers/wxr-importer/class-wxr-importer.php:877
238
+ msgid "Failed to import \"%1$s\" (%2$s)"
239
+ msgstr ""
240
+
241
+ #: importers/wxr-importer/class-wxr-importer.php:909
242
+ #: importers/wxr-importer/class-wxr-importer.php:1754
243
+ msgid "Imported \"%1$s\" (%2$s)"
244
+ msgstr ""
245
+
246
+ #: importers/wxr-importer/class-wxr-importer.php:914
247
+ msgid "Post %1$d remapped to %2$d"
248
+ msgstr ""
249
+
250
+ #: importers/wxr-importer/class-wxr-importer.php:1061
251
+ msgid "Invalid file type"
252
+ msgstr ""
253
+
254
+ #: importers/wxr-importer/class-wxr-importer.php:1559
255
+ msgid "Failed to import user \"%s\""
256
+ msgstr ""
257
+
258
+ #: importers/wxr-importer/class-wxr-importer.php:1580
259
+ msgid "Imported user \"%s\""
260
+ msgstr ""
261
+
262
+ #: importers/wxr-importer/class-wxr-importer.php:1584
263
+ msgid "User %1$d remapped to %2$d"
264
+ msgstr ""
265
+
266
+ #: importers/wxr-importer/class-wxr-importer.php:1730
267
+ msgid "Failed to import %1$s %2$s"
268
+ msgstr ""
269
+
270
+ #: importers/wxr-importer/class-wxr-importer.php:1759
271
+ msgid "Term %1$d remapped to %2$d"
272
+ msgstr ""
273
+
274
+ #: importers/wxr-importer/class-wxr-importer.php:1812
275
+ msgid "Remote server returned %1$d %2$s for %3$s"
276
+ msgstr ""
277
+
278
+ #: importers/wxr-importer/class-wxr-importer.php:1825
279
+ msgid "Remote file is incorrect size"
280
+ msgstr ""
281
+
282
+ #: importers/wxr-importer/class-wxr-importer.php:1830
283
+ msgid "Zero size file downloaded"
284
+ msgstr ""
285
+
286
+ #: importers/wxr-importer/class-wxr-importer.php:1836
287
+ msgid "Remote file is too large, limit is %s"
288
+ msgstr ""
289
+
290
+ #: importers/wxr-importer/class-wxr-importer.php:1858
291
+ msgid "Running post-processing for post %d"
292
+ msgstr ""
293
+
294
+ #: importers/wxr-importer/class-wxr-importer.php:1871
295
+ msgid "Could not find the post parent for \"%1$s\" (post #%2$d)"
296
+ msgstr ""
297
+
298
+ #: importers/wxr-importer/class-wxr-importer.php:1876
299
+ msgid "Post %1$d was imported with parent %2$d, but could not be found"
300
+ msgstr ""
301
+
302
+ #: importers/wxr-importer/class-wxr-importer.php:1890
303
+ msgid "Could not find the author for \"%1$s\" (post #%2$d)"
304
+ msgstr ""
305
+
306
+ #: importers/wxr-importer/class-wxr-importer.php:1895
307
+ msgid "Post %1$d was imported with author \"%2$s\", but could not be found"
308
+ msgstr ""
309
+
310
+ #: importers/wxr-importer/class-wxr-importer.php:1921
311
+ msgid "Post %d was marked for post-processing, but none was required."
312
+ msgstr ""
313
+
314
+ #: importers/wxr-importer/class-wxr-importer.php:1932
315
+ msgid "Could not update \"%1$s\" (post #%2$d) with mapped data"
316
+ msgstr ""
317
+
318
+ #: importers/wxr-importer/class-wxr-importer.php:1977
319
+ msgid "Could not find the menu object for \"%1$s\" (post #%2$d)"
320
+ msgstr ""
321
+
322
+ #: importers/wxr-importer/class-wxr-importer.php:1982
323
+ msgid ""
324
+ "Post %1$d was imported with object \"%2$d\" of type \"%3$s\", but could not "
325
+ "be found"
326
+ msgstr ""
327
+
328
+ #: importers/wxr-importer/class-wxr-importer.php:2004
329
+ msgid "Could not find the comment parent for comment #%d"
330
+ msgstr ""
331
+
332
+ #: importers/wxr-importer/class-wxr-importer.php:2008
333
+ msgid "Comment %1$d was imported with parent %2$d, but could not be found"
334
+ msgstr ""
335
+
336
+ #: importers/wxr-importer/class-wxr-importer.php:2022
337
+ msgid "Could not find the author for comment #%d"
338
+ msgstr ""
339
+
340
+ #: importers/wxr-importer/class-wxr-importer.php:2026
341
+ msgid "Comment %1$d was imported with author %2$d, but could not be found"
342
+ msgstr ""
343
+
344
+ #: importers/wxr-importer/class-wxr-importer.php:2043
345
+ msgid "Could not update comment #%d with mapped data"
346
+ msgstr ""
347
+
348
+ #. Plugin URI of the plugin/theme
349
+ msgid "http://www.wpastra.com/pro/"
350
+ msgstr ""
351
+
352
+ #. Description of the plugin/theme
353
+ msgid "Import sites build with Astra theme."
354
+ msgstr ""
355
+
356
+ #. Author of the plugin/theme
357
+ msgid "Brainstorm Force"
358
+ msgstr ""
359
+
360
+ #. Author URI of the plugin/theme
361
+ msgid "http://www.brainstormforce.com"
362
+ msgstr ""
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
  === Astra Sites ===
2
  Contributors: brainstormforce
3
  Donate link: https://wpastra.com/pro/
4
- Tags: demo
5
  Requires at least: 4.4
6
  Tested up to: 4.8.1
7
- Stable tag: 1.0.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -22,5 +22,14 @@ Import Astra sites with just one click.
22
 
23
  == Changelog ==
24
 
25
- = 1.0 =
26
- * Initial Release
 
 
 
 
 
 
 
 
 
1
  === Astra Sites ===
2
  Contributors: brainstormforce
3
  Donate link: https://wpastra.com/pro/
4
+ Tags: demo, theme demos, one click import
5
  Requires at least: 4.4
6
  Tested up to: 4.8.1
7
+ Stable tag: 1.0.1
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
22
 
23
  == Changelog ==
24
 
25
+ v1.0.1 - 04-Aug-2017
26
+ * New: Added Elementor plugin options support.
27
+ * New: Added Customizer CSS support.
28
+ * Enhancement: Avoided Lite Plugin version if Pro version is Installed. Now added support for Beaver Builder Plugin (Lite Version).
29
+ * Enhancement: Astra sites API call validated before import.
30
+ * Enhancement: Site logo imported from Astra sites.
31
+ * Fix: Bug where widgets created with SiteOrigin plugin were not being imported.
32
+
33
+ v1.0.0
34
+ * Initial release
35
+