Export WordPress data to XML/CSV - Version 1.3.1

Version Description

  • improvement: only set max_execution_time on export pages
  • bugfix: error when using the ACF Export Add-On Pro
Download this release

Release Info

Developer soflyy
Plugin Icon 128x128 Export WordPress data to XML/CSV
Version 1.3.1
Comparing to
See all releases

Code changes from version 1.3.0 to 1.3.1

actions/wp_loaded.php CHANGED
@@ -9,13 +9,12 @@ function pmxe_wp_loaded() {
9
  $maxExecutionTime = 0;
10
  }
11
 
12
- @ini_set("max_execution_time", $maxExecutionTime);
13
-
14
  $scheduledExport = new \Wpae\Scheduling\Export();
15
 
16
  if ( ! empty($_GET['zapier_subscribe']) and ! empty($_GET['api_key']) )
17
  {
18
- $zapier_api_key = PMXE_Plugin::getInstance()->getOption('zapier_api_key');
 
19
 
20
  if ( ! empty($zapier_api_key) and $zapier_api_key == $_GET['api_key'] )
21
  {
@@ -41,6 +40,7 @@ function pmxe_wp_loaded() {
41
 
42
  if ( ! empty($_GET['zapier_unsubscribe']) and ! empty($_GET['api_key']) )
43
  {
 
44
  $zapier_api_key = PMXE_Plugin::getInstance()->getOption('zapier_api_key');
45
 
46
  if ( ! empty($zapier_api_key) and $zapier_api_key == $_GET['api_key'] )
@@ -64,6 +64,7 @@ function pmxe_wp_loaded() {
64
 
65
  if ( ! empty($_GET['export_completed']) and ! empty($_GET['api_key']))
66
  {
 
67
 
68
  $zapier_api_key = PMXE_Plugin::getInstance()->getOption('zapier_api_key');
69
 
@@ -144,6 +145,7 @@ function pmxe_wp_loaded() {
144
 
145
  if ( ! empty($_GET['action']) && ! empty($_GET['export_id']) && (!empty($_GET['export_hash']) || !empty($_GET['security_token'])))
146
  {
 
147
 
148
  if(empty($_GET['export_hash'])) {
149
  $securityToken = $_GET['security_token'];
@@ -244,8 +246,24 @@ function pmxe_wp_loaded() {
244
  }
245
 
246
  if(isset($_GET['action']) && $_GET['action'] == 'wpae_public_api') {
 
 
 
247
  $router = new \Wpae\Http\Router();
248
  $router->route($_GET['q'], false);
249
  }
250
  }
251
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  $maxExecutionTime = 0;
10
  }
11
 
 
 
12
  $scheduledExport = new \Wpae\Scheduling\Export();
13
 
14
  if ( ! empty($_GET['zapier_subscribe']) and ! empty($_GET['api_key']) )
15
  {
16
+ pmxe_set_max_execution_time();
17
+ $zapier_api_key = PMXE_Plugin::getInstance()->getOption('zapier_api_key');
18
 
19
  if ( ! empty($zapier_api_key) and $zapier_api_key == $_GET['api_key'] )
20
  {
40
 
41
  if ( ! empty($_GET['zapier_unsubscribe']) and ! empty($_GET['api_key']) )
42
  {
43
+ pmxe_set_max_execution_time();
44
  $zapier_api_key = PMXE_Plugin::getInstance()->getOption('zapier_api_key');
45
 
46
  if ( ! empty($zapier_api_key) and $zapier_api_key == $_GET['api_key'] )
64
 
65
  if ( ! empty($_GET['export_completed']) and ! empty($_GET['api_key']))
66
  {
67
+ pmxe_set_max_execution_time();
68
 
69
  $zapier_api_key = PMXE_Plugin::getInstance()->getOption('zapier_api_key');
70
 
145
 
146
  if ( ! empty($_GET['action']) && ! empty($_GET['export_id']) && (!empty($_GET['export_hash']) || !empty($_GET['security_token'])))
147
  {
148
+ pmxe_set_max_execution_time();
149
 
150
  if(empty($_GET['export_hash'])) {
151
  $securityToken = $_GET['security_token'];
246
  }
247
 
248
  if(isset($_GET['action']) && $_GET['action'] == 'wpae_public_api') {
249
+
250
+ pmxe_set_max_execution_time();
251
+
252
  $router = new \Wpae\Http\Router();
253
  $router->route($_GET['q'], false);
254
  }
255
  }
256
 
257
+ if(!function_exists('pmxe_set_max_execution_time')) {
258
+ function pmxe_set_max_execution_time()
259
+ {
260
+ @ini_set("max_input_time", PMXE_Plugin::getInstance()->getOption('max_input_time'));
261
+
262
+ $maxExecutionTime = PMXE_Plugin::getInstance()->getOption('max_execution_time');
263
+ if ($maxExecutionTime == -1) {
264
+ $maxExecutionTime = 0;
265
+ }
266
+
267
+ @ini_set("max_execution_time", $maxExecutionTime);
268
+ }
269
+ }
helpers/wp_all_export_clear_xss.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if ( ! function_exists('wp_all_export_clear_xss') ) {
4
+
5
+ function wp_all_export_clear_xss( $str ) {
6
+
7
+ return stripslashes(esc_sql(htmlspecialchars(strip_tags($str))));
8
+ }
9
+ }
models/export/record.php CHANGED
@@ -364,7 +364,7 @@ class PMXE_Export_Record extends PMXE_Model_Record {
364
 
365
  $headers = 'From: '. get_bloginfo( 'name' ) .' <'. get_bloginfo( 'admin_email' ) .'>' . "\r\n";
366
 
367
- $message = '<p>Export '. $this->options['friendly_name'] .' has been completed. You can find exported file in attachments.</p>';
368
 
369
  wp_mail($this->options['scheduled_email'], __("WP All Export", "pmxe_plugin"), $message, $headers, array($file_path));
370
 
364
 
365
  $headers = 'From: '. get_bloginfo( 'name' ) .' <'. get_bloginfo( 'admin_email' ) .'>' . "\r\n";
366
 
367
+ $message = '<p>Export '. wp_all_export_clear_xss($this->options['friendly_name']) .' has been completed. You can find exported file in attachments.</p>';
368
 
369
  wp_mail($this->options['scheduled_email'], __("WP All Export", "pmxe_plugin"), $message, $headers, array($file_path));
370
 
readme.txt CHANGED
@@ -2,7 +2,7 @@
2
  Contributors: soflyy, wpallimport
3
  Requires at least: 5.0
4
  Tested up to: 5.8
5
- Stable tag: 1.3.0
6
  Tags: export, wordpress csv export, wordpress xml export, export woocommerce, migrate, export csv from wordpress, export xml from wordpress, advanced xml export, advanced csv export, export data, bulk csv export, export custom post type, export woocommerce products, export woocommerce orders, migrate woocommerce, csv export, export csv, xml export, export xml, csv exporter, datafeed
7
 
8
  Easily export any data from WordPress. Drag & drop to create a completely custom spreadsheet, CSV, or XML file.
@@ -91,6 +91,10 @@ Either: -
91
 
92
  == Changelog ==
93
 
 
 
 
 
94
  = 1.3.0 =
95
  * improvement: added plugin version when loading tipsy JS file
96
  * improvement: moved ACF and WooCommerce support to add-ons
2
  Contributors: soflyy, wpallimport
3
  Requires at least: 5.0
4
  Tested up to: 5.8
5
+ Stable tag: 1.3.1
6
  Tags: export, wordpress csv export, wordpress xml export, export woocommerce, migrate, export csv from wordpress, export xml from wordpress, advanced xml export, advanced csv export, export data, bulk csv export, export custom post type, export woocommerce products, export woocommerce orders, migrate woocommerce, csv export, export csv, xml export, export xml, csv exporter, datafeed
7
 
8
  Easily export any data from WordPress. Drag & drop to create a completely custom spreadsheet, CSV, or XML file.
91
 
92
  == Changelog ==
93
 
94
+ = 1.3.1 =
95
+ * improvement: only set max_execution_time on export pages
96
+ * bugfix: error when using the ACF Export Add-On Pro
97
+
98
  = 1.3.0 =
99
  * improvement: added plugin version when loading tipsy JS file
100
  * improvement: moved ACF and WooCommerce support to add-ons
views/admin/export/options/settings.php CHANGED
@@ -60,7 +60,7 @@
60
  <p style="text-align:right;">
61
  <div class="input">
62
  <label for="save_import_as" style="width: 103px;"><?php _e('Friendly Name:','wp_all_export_plugin');?></label>
63
- <input type="text" name="friendly_name" title="<?php _e('Save friendly name...', 'pmxi_plugin') ?>" style="vertical-align:middle; background:#fff !important;" value="<?php echo esc_attr($post['friendly_name']) ?>" />
64
  </div>
65
  </p>
66
  </td>
60
  <p style="text-align:right;">
61
  <div class="input">
62
  <label for="save_import_as" style="width: 103px;"><?php _e('Friendly Name:','wp_all_export_plugin');?></label>
63
+ <input type="text" name="friendly_name" title="<?php _e('Save friendly name...', 'pmxi_plugin') ?>" style="vertical-align:middle; background:#fff !important;" value="<?php echo wp_all_export_clear_xss(esc_attr($post['friendly_name'])); ?>" />
64
  </div>
65
  </p>
66
  </td>
views/admin/export/template.php CHANGED
@@ -534,7 +534,7 @@
534
  // When creating a new export you should be able to select existing saved export templates that were created for the same post type.
535
  if ( $t->options['cpt'] != $post['cpt'] ) continue;
536
  ?>
537
- <option value="<?php echo $t->id ?>"><?php echo $t->name ?></option>
538
  <?php endforeach ?>
539
  </select>
540
  </div>
534
  // When creating a new export you should be able to select existing saved export templates that were created for the same post type.
535
  if ( $t->options['cpt'] != $post['cpt'] ) continue;
536
  ?>
537
+ <option value="<?php echo $t->id ?>"><?php echo wp_all_export_clear_xss($t->name); ?></option>
538
  <?php endforeach ?>
539
  </select>
540
  </div>
views/admin/manage/delete.php CHANGED
@@ -1,7 +1,7 @@
1
  <h2><?php _e('Delete Export', 'pmxe_plugin') ?></h2>
2
 
3
  <form method="post">
4
- <p><?php printf(__('Are you sure you want to delete <strong>%s</strong> export?', 'pmxe_plugin'), $item->friendly_name) ?></p>
5
  <p class="submit">
6
  <?php wp_nonce_field('delete-export', '_wpnonce_delete-export') ?>
7
  <input type="hidden" name="is_confirmed" value="1" />
1
  <h2><?php _e('Delete Export', 'pmxe_plugin') ?></h2>
2
 
3
  <form method="post">
4
+ <p><?php printf(__('Are you sure you want to delete <strong>%s</strong> export?', 'pmxe_plugin'), wp_all_export_clear_xss($item->friendly_name)); ?></p>
5
  <p class="submit">
6
  <?php wp_nonce_field('delete-export', '_wpnonce_delete-export') ?>
7
  <input type="hidden" name="is_confirmed" value="1" />
views/admin/manage/index.php CHANGED
@@ -161,7 +161,7 @@ $columns = apply_filters('pmxe_manage_imports_columns', $columns);
161
  case 'name':
162
  ?>
163
  <td style="min-width: 325px;">
164
- <strong><?php echo $item['friendly_name']; ?></strong> <br>
165
  <div class="row-actions">
166
  <span class="edit"><a class="edit" href="<?php echo esc_url(add_query_arg(array('id' => $item['id'], 'action' => 'template'), $this->baseUrl)) ?>"><?php _e('Edit Export', 'wp_all_export_plugin') ?></a></span> |
167
  <span class="edit"><a class="edit" href="<?php echo esc_url(add_query_arg(array('id' => $item['id'], 'action' => 'options'), $this->baseUrl)) ?>"><?php _e('Export Settings', 'wp_all_export_plugin') ?></a></span> |
161
  case 'name':
162
  ?>
163
  <td style="min-width: 325px;">
164
+ <strong><?php echo wp_all_export_clear_xss($item['friendly_name']); ?></strong> <br>
165
  <div class="row-actions">
166
  <span class="edit"><a class="edit" href="<?php echo esc_url(add_query_arg(array('id' => $item['id'], 'action' => 'template'), $this->baseUrl)) ?>"><?php _e('Edit Export', 'wp_all_export_plugin') ?></a></span> |
167
  <span class="edit"><a class="edit" href="<?php echo esc_url(add_query_arg(array('id' => $item['id'], 'action' => 'options'), $this->baseUrl)) ?>"><?php _e('Export Settings', 'wp_all_export_plugin') ?></a></span> |
views/admin/settings/index.php CHANGED
@@ -53,7 +53,7 @@
53
  <?php foreach ($templates as $t): ?>
54
  <tr>
55
  <td>
56
- <label class="selectit" for="template-<?php echo $t->id ?>"><input id="template-<?php echo $t->id ?>" type="checkbox" name="templates[]" value="<?php echo $t->id ?>" /> <?php echo $t->name ?></label>
57
  </td>
58
  </tr>
59
  <?php endforeach ?>
53
  <?php foreach ($templates as $t): ?>
54
  <tr>
55
  <td>
56
+ <label class="selectit" for="template-<?php echo $t->id ?>"><input id="template-<?php echo $t->id ?>" type="checkbox" name="templates[]" value="<?php echo $t->id ?>" /> <?php echo wp_all_export_clear_xss($t->name); ?></label>
57
  </td>
58
  </tr>
59
  <?php endforeach ?>
wp-all-export.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: WP All Export
4
  Plugin URI: http://www.wpallimport.com/upgrade-to-wp-all-export-pro/?utm_source=export-plugin-free&utm_medium=wp-plugins-page&utm_campaign=upgrade-to-pro
5
  Description: Export any post type to a CSV or XML file. Edit the exported data, and then re-import it later using WP All Import.
6
- Version: 1.3.0
7
  Author: Soflyy
8
  */
9
 
@@ -59,7 +59,7 @@ else {
59
  */
60
  define('PMXE_PREFIX', 'pmxe_');
61
 
62
- define('PMXE_VERSION', '1.3.0');
63
 
64
  define('PMXE_ASSETS_VERSION', '-1.0.1');
65
 
3
  Plugin Name: WP All Export
4
  Plugin URI: http://www.wpallimport.com/upgrade-to-wp-all-export-pro/?utm_source=export-plugin-free&utm_medium=wp-plugins-page&utm_campaign=upgrade-to-pro
5
  Description: Export any post type to a CSV or XML file. Edit the exported data, and then re-import it later using WP All Import.
6
+ Version: 1.3.1
7
  Author: Soflyy
8
  */
9
 
59
  */
60
  define('PMXE_PREFIX', 'pmxe_');
61
 
62
+ define('PMXE_VERSION', '1.3.1');
63
 
64
  define('PMXE_ASSETS_VERSION', '-1.0.1');
65