BackUpWordPress - Version 3.2.6

Version Description

= 3.2.5 =

  • Security fixes related to add_query_arg

= 3.2.1 =

  • Important bug fixes. Please upgrade to this version to avoid incomplete or broken backups.

= 3.1.3 =

  • Fixes backwards compatibility for add-ons and avoids a Fatal Error. Please upgrade straight to this version before upgrading your add-ons.

= 3.0.4 =

  • Fixes a few minor bugs. Immediate update is recommended.

= 3.0.2 =

  • Important: we have dropped support for PHP 5.2, you will not be able to activate BackUpWordPress on a server running PHP versions older than PHP 5.3.29

= 3.0.1 =

  • This is a critical update. Fixes a bug in the core backup library. Please update immediately.
Download this release

Release Info

Developer pauldewouters
Plugin Icon 128x128 BackUpWordPress
Version 3.2.6
Comparing to
See all releases

Code changes from version 3.2.5.1-beta to 3.2.6

Files changed (4) hide show
  1. admin/actions.php +9 -51
  2. changelog.txt +0 -7
  3. languages/backupwordpress.pot +3 -3
  4. readme.txt +14 -17
admin/actions.php CHANGED
@@ -685,16 +685,6 @@ function hmbkp_ajax_cron_test() {
685
 
686
  }
687
 
688
- // Skip test if Cron is disabled
689
- if ( defined( 'DISABLE_WP_CRON' ) && DISABLE_WP_CRON ) {
690
-
691
- delete_option( 'hmbkp_wp_cron_test_failed' );
692
-
693
- echo 1;
694
-
695
- die;
696
- }
697
-
698
  // Skip the test if they are using Alternate Cron
699
  if ( defined( 'ALTERNATE_WP_CRON' ) ) {
700
 
@@ -706,20 +696,22 @@ function hmbkp_ajax_cron_test() {
706
 
707
  }
708
 
709
- $spawn = hmbkp_get_cron_spawn();
710
 
711
- $code = wp_remote_retrieve_response_code( $spawn );
712
- $message = wp_remote_retrieve_response_message( $spawn );
 
 
713
 
714
- if ( is_wp_error( $spawn ) ) {
715
 
716
- echo '<div id="hmbkp-warning" class="updated fade"><p><strong>' . __( 'BackUpWordPress has detected a problem.', 'backupwordpress' ) . '</strong> ' . sprintf( __( '%1$s is returning a %2$s response which could mean cron jobs aren\'t getting fired properly. BackUpWordPress relies on wp-cron to run scheduled backups. See the %3$s for more details.', 'backupwordpress' ), '<code>wp-cron.php</code>', '<code>' . $spawn->get_error_message() . '</code>', '<a href="http://wordpress.org/extend/plugins/backupwordpress/faq/">FAQ</a>' ) . '</p></div>';
717
 
718
  update_option( 'hmbkp_wp_cron_test_failed', true );
719
 
720
- } elseif ( 200 !== $code ) {
721
 
722
- echo '<div id="hmbkp-warning" class="updated fade"><p><strong>' . __( 'BackUpWordPress has detected a problem.', 'backupwordpress' ) . '</strong> ' . sprintf( __( '%1$s is returning a %2$s response which could mean cron jobs aren\'t getting fired properly. BackUpWordPress relies on wp-cron to run scheduled backups. See the %3$s for more details.', 'backupwordpress' ), '<code>wp-cron.php</code>', '<code>' . esc_html( $code ) . ' ' . esc_html( $message ) . '</code>', '<a href="http://wordpress.org/extend/plugins/backupwordpress/faq/">FAQ</a>' ) . '</p></div>';
723
 
724
  update_option( 'hmbkp_wp_cron_test_failed', true );
725
 
@@ -736,37 +728,3 @@ function hmbkp_ajax_cron_test() {
736
 
737
  }
738
  add_action( 'wp_ajax_hmbkp_cron_test', 'hmbkp_ajax_cron_test' );
739
-
740
- /**
741
- * Spawn a request to `wp-cron.php` and return the response.
742
- *
743
- * This function is designed to mimic the functionality in `spawn_cron()` with the addition of returning
744
- * the result of the `wp_remote_post()` request.
745
- *
746
- * @return WP_Error|array The response or WP_Error on failure.
747
- */
748
- function hmbkp_get_cron_spawn() {
749
-
750
- global $wp_version;
751
-
752
- $sslverify = version_compare( $wp_version, 4.0, '<' );
753
- $doing_wp_cron = sprintf( '%.22F', microtime( true ) );
754
-
755
- $cron_request = apply_filters( 'cron_request', array(
756
- 'url' => site_url( 'wp-cron.php?doing_wp_cron=' . $doing_wp_cron ),
757
- 'key' => $doing_wp_cron,
758
- 'args' => array(
759
- 'timeout' => 3,
760
- 'blocking' => true,
761
- 'sslverify' => apply_filters( 'https_local_ssl_verify', $sslverify )
762
- )
763
- ) );
764
-
765
- # Enforce a blocking request in case something that's hooked onto the 'cron_request' filter sets it to false
766
- $cron_request['args']['blocking'] = true;
767
-
768
- $result = wp_remote_post( $cron_request['url'], $cron_request['args'] );
769
-
770
- return $result;
771
-
772
- }
685
 
686
  }
687
 
 
 
 
 
 
 
 
 
 
 
688
  // Skip the test if they are using Alternate Cron
689
  if ( defined( 'ALTERNATE_WP_CRON' ) ) {
690
 
696
 
697
  }
698
 
699
+ $url = site_url( 'wp-cron.php' );
700
 
701
+ // Attempt to load wp-cron.php 3 times, if we get the same error each time then inform the user.
702
+ $response1 = wp_remote_head( $url, array( 'timeout' => 30 ) );
703
+ $response2 = wp_remote_head( $url, array( 'timeout' => 30 ) );
704
+ $response3 = wp_remote_head( $url, array( 'timeout' => 30 ) );
705
 
706
+ if ( is_wp_error( $response1 ) && is_wp_error( $response2 ) && is_wp_error( $response3 ) ) {
707
 
708
+ echo '<div id="hmbkp-warning" class="updated fade"><p><strong>' . __( 'BackUpWordPress has detected a problem.', 'backupwordpress' ) . '</strong> ' . sprintf( __( '%1$s is returning a %2$s response which could mean cron jobs aren\'t getting fired properly. BackUpWordPress relies on wp-cron to run scheduled backups. See the %3$s for more details.', 'backupwordpress' ), '<code>wp-cron.php</code>', '<code>' . $response1->get_error_message() . '</code>', '<a href="http://wordpress.org/extend/plugins/backupwordpress/faq/">FAQ</a>' ) . '</p></div>';
709
 
710
  update_option( 'hmbkp_wp_cron_test_failed', true );
711
 
712
+ } elseif ( ! in_array( 200, array_map( 'wp_remote_retrieve_response_code', array( $response1, $response2, $response3 ) ) ) ) {
713
 
714
+ echo '<div id="hmbkp-warning" class="updated fade"><p><strong>' . __( 'BackUpWordPress has detected a problem.', 'backupwordpress' ) . '</strong> ' . sprintf( __( '%1$s is returning a %2$s response which could mean cron jobs aren\'t getting fired properly. BackUpWordPress relies on wp-cron to run scheduled backups. See the %3$s for more details.', 'backupwordpress' ), '<code>wp-cron.php</code>', '<code>' . esc_html( wp_remote_retrieve_response_code( $response1 ) ) . ' ' . esc_html( get_status_header_desc( wp_remote_retrieve_response_code( $response1 ) ) ) . '</code>', '<a href="http://wordpress.org/extend/plugins/backupwordpress/faq/">FAQ</a>' ) . '</p></div>';
715
 
716
  update_option( 'hmbkp_wp_cron_test_failed', true );
717
 
728
 
729
  }
730
  add_action( 'wp_ajax_hmbkp_cron_test', 'hmbkp_ajax_cron_test' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
changelog.txt DELETED
@@ -1,7 +0,0 @@
1
- f170f82 (HEAD -> 3.2.5.1-beta) Merge branch 'cron-test' into 3.2.5.1-beta
2
- cfafb2e Merge branch 'mu-settings-page' into 3.2.5.1-beta
3
- 3ce5701 (origin/cron-test, cron-test) Correctly set the `sslverify` argument
4
- d924e1e (origin/mu-settings-page, mu-settings-page) Fix settings URL
5
- 297ab9c (origin/master, origin/HEAD, master) Merge pull request #820 from herrherrmann/master
6
- 63d1ad0 Updated and extended German translation.
7
- 29710f0 Fixes admin page slug for multisite
 
 
 
 
 
 
 
languages/backupwordpress.pot CHANGED
@@ -4,7 +4,7 @@ msgid ""
4
  msgstr ""
5
  "Project-Id-Version: BackUpWordPress Backup Plugin 3.2.6\n"
6
  "Report-Msgid-Bugs-To: support@humanmade.co.uk\n"
7
- "POT-Creation-Date: 2015-06-08 11:45:41+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -61,11 +61,11 @@ msgstr ""
61
  msgid "Max backups must be greater than 0"
62
  msgstr ""
63
 
64
- #: admin/actions.php:716 admin/actions.php:722
65
  msgid "BackUpWordPress has detected a problem."
66
  msgstr ""
67
 
68
- #: admin/actions.php:716 admin/actions.php:722
69
  msgid ""
70
  "%1$s is returning a %2$s response which could mean cron jobs aren't getting "
71
  "fired properly. BackUpWordPress relies on wp-cron to run scheduled backups. "
4
  msgstr ""
5
  "Project-Id-Version: BackUpWordPress Backup Plugin 3.2.6\n"
6
  "Report-Msgid-Bugs-To: support@humanmade.co.uk\n"
7
+ "POT-Creation-Date: 2015-06-09 13:00:54+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
61
  msgid "Max backups must be greater than 0"
62
  msgstr ""
63
 
64
+ #: admin/actions.php:708 admin/actions.php:714
65
  msgid "BackUpWordPress has detected a problem."
66
  msgstr ""
67
 
68
+ #: admin/actions.php:708 admin/actions.php:714
69
  msgid ""
70
  "%1$s is returning a %2$s response which could mean cron jobs aren't getting "
71
  "fired properly. BackUpWordPress relies on wp-cron to run scheduled backups. "
readme.txt CHANGED
@@ -113,18 +113,11 @@ You can also tweet <a href="http://twitter.com/humanmadeltd">@humanmadeltd</a> o
113
  == Screenshots ==
114
 
115
  1. Manage multiple schedules.
116
- 2. Choose your schedule, backup type, number of backups to keep and whether to recieve a notification email.
117
  3. Easily manage exclude rules and see exactly which files are included and excluded from your backup.
118
 
119
  == Upgrade Notice ==
120
 
121
- = 3.2.5.1-beta =
122
-
123
- * Correctly set the `sslverify` argument
124
- * Fix settings URL
125
- * Updated and extended German translation.
126
- * Fixes admin page slug for multisite
127
-
128
  = 3.2.5 =
129
 
130
  * Security fixes related to add_query_arg
@@ -151,7 +144,11 @@ You can also tweet <a href="http://twitter.com/humanmadeltd">@humanmadeltd</a> o
151
 
152
  == Changelog ==
153
 
154
- ## 3.2.5 / 2015-04-29
 
 
 
 
155
 
156
  * Fixes an issue when evaluating expression with empty
157
  * Fixes a fatal error on PHP 5.3
@@ -171,21 +168,21 @@ You can also tweet <a href="http://twitter.com/humanmadeltd">@humanmadeltd</a> o
171
  * Removes redundant exclude statement as CVS folders are excluded by default
172
  * Adds a flag parameter to allow get_files to return all files including default excludes
173
 
174
- ### 3.2.4 / 2015-04-01
175
 
176
  * Fixes default exclude pattern that was too greedy.
177
 
178
- ### 3.2.3 / 2015-04-01
179
 
180
  * Fixes issue where files where 'cache' files were excluded by default.
181
  * Updates brazilian portuguese translations.
182
  * Fixes the issue with the 'no thanks' button in the Support modal and misc JS improvements. props SiamKreative.
183
 
184
- ### 3.2.2 / 2015-03-25
185
 
186
  * Fixes error in manual backups, caused by incorrect plugin version number in class, which is used for the JS script version.
187
 
188
- ### 3.2.1 / 2015-03-25
189
 
190
  * Check if shell_exec is available before running command
191
  * Only validate day of month if this is the schedule type
@@ -193,7 +190,7 @@ You can also tweet <a href="http://twitter.com/humanmadeltd">@humanmadeltd</a> o
193
  * (issue-770) Exclude the folder, not the wildcard
194
  * (issue-751) Rename plugin
195
 
196
- ### 3.2 / 2015-03-16
197
 
198
  * (issue-698) skip mySql bug
199
  * Use shell_exec
@@ -266,7 +263,7 @@ You can also tweet <a href="http://twitter.com/humanmadeltd">@humanmadeltd</a> o
266
  * Fixes recursive exclusion of files
267
 
268
 
269
- ### 3.1.4 / 2015-02-24
270
 
271
  * (upgrade-options) Bump version
272
  * strtolower is redundant
@@ -279,11 +276,11 @@ You can also tweet <a href="http://twitter.com/humanmadeltd">@humanmadeltd</a> o
279
  * Leave bare minimum to avoid fatal error
280
  * remove old main plugin class
281
 
282
- ### 3.1.3 / 2015-02-04
283
 
284
  * Keep deprecated classes in a deprecated.php file to avoid Fatal Error in addons during upgrade.
285
 
286
- ### 3.1.2 / 2015-02-03
287
 
288
  * (simplify-bwp-file-timestamp) Simplify the file name timestamp
289
  * Fix class file name
113
  == Screenshots ==
114
 
115
  1. Manage multiple schedules.
116
+ 2. Choose your schedule, backup type, number of backups to keep and whether to receive a notification email.
117
  3. Easily manage exclude rules and see exactly which files are included and excluded from your backup.
118
 
119
  == Upgrade Notice ==
120
 
 
 
 
 
 
 
 
121
  = 3.2.5 =
122
 
123
  * Security fixes related to add_query_arg
144
 
145
  == Changelog ==
146
 
147
+ #### 3.2.6 / 2015-06-09
148
+
149
+ * Fixes admin page slug for multisite
150
+
151
+ #### 3.2.5 / 2015-04-29
152
 
153
  * Fixes an issue when evaluating expression with empty
154
  * Fixes a fatal error on PHP 5.3
168
  * Removes redundant exclude statement as CVS folders are excluded by default
169
  * Adds a flag parameter to allow get_files to return all files including default excludes
170
 
171
+ #### 3.2.4 / 2015-04-01
172
 
173
  * Fixes default exclude pattern that was too greedy.
174
 
175
+ #### 3.2.3 / 2015-04-01
176
 
177
  * Fixes issue where files where 'cache' files were excluded by default.
178
  * Updates brazilian portuguese translations.
179
  * Fixes the issue with the 'no thanks' button in the Support modal and misc JS improvements. props SiamKreative.
180
 
181
+ #### 3.2.2 / 2015-03-25
182
 
183
  * Fixes error in manual backups, caused by incorrect plugin version number in class, which is used for the JS script version.
184
 
185
+ #### 3.2.1 / 2015-03-25
186
 
187
  * Check if shell_exec is available before running command
188
  * Only validate day of month if this is the schedule type
190
  * (issue-770) Exclude the folder, not the wildcard
191
  * (issue-751) Rename plugin
192
 
193
+ #### 3.2 / 2015-03-16
194
 
195
  * (issue-698) skip mySql bug
196
  * Use shell_exec
263
  * Fixes recursive exclusion of files
264
 
265
 
266
+ #### 3.1.4 / 2015-02-24
267
 
268
  * (upgrade-options) Bump version
269
  * strtolower is redundant
276
  * Leave bare minimum to avoid fatal error
277
  * remove old main plugin class
278
 
279
+ #### 3.1.3 / 2015-02-04
280
 
281
  * Keep deprecated classes in a deprecated.php file to avoid Fatal Error in addons during upgrade.
282
 
283
+ #### 3.1.2 / 2015-02-03
284
 
285
  * (simplify-bwp-file-timestamp) Simplify the file name timestamp
286
  * Fix class file name