BackWPup – WordPress Backup Plugin - Version 3.3.7

Version Description

Download this release

Release Info

Developer nullbyte
Plugin Icon 128x128 BackWPup – WordPress Backup Plugin
Version 3.3.7
Comparing to
See all releases

Code changes from version 3.3.6 to 3.3.7

assets/Gruntfile.js DELETED
@@ -1,52 +0,0 @@
1
- module.exports = function(grunt) {
2
-
3
- grunt.loadNpmTasks('grunt-contrib-uglify');
4
- grunt.loadNpmTasks('grunt-contrib-cssmin');
5
- grunt.loadNpmTasks('grunt-contrib-jshint');
6
-
7
- // Project configuration.
8
- grunt.initConfig({
9
- pkg: grunt.file.readJSON('package.json'),
10
- cssmin: {
11
- minify: {
12
- expand: true,
13
- cwd: 'css/',
14
- src: ['*.css', '!*.min.css'],
15
- dest: 'css/',
16
- ext: '.min.css'
17
- }
18
- },
19
- jshint: {
20
- grunt: {
21
- src: ['Gruntfile.js']
22
- },
23
- pluginjs: {
24
- expand: true,
25
- cwd: 'js/',
26
- src: [
27
- '*.js',
28
- '!*.min.js'
29
- ]
30
- }
31
- },
32
- uglify: {
33
- theme: {
34
- expand: true,
35
- files: {
36
- 'js/general.min.js': [ 'js/general.js' ],
37
- 'js/page_edit_jobtype_dbdump.min.js': [ 'js/page_edit_jobtype_dbdump.js' ],
38
- 'js/page_edit_jobtype_file.min.js': [ 'js/page_edit_jobtype_file.js' ],
39
- 'js/page_edit_tab_cron.min.js': [ 'js/page_edit_tab_cron.js' ],
40
- 'js/page_edit_tab_job.min.js': [ 'js/page_edit_tab_job.js' ],
41
- 'js/page_settings.min.js': [ 'js/page_settings.js' ],
42
- }
43
- }
44
- }
45
- });
46
-
47
- // Register tasks
48
- grunt.registerTask('production', ['jshint', 'cssmin', 'uglify']);
49
-
50
- // Default task
51
- grunt.registerTask('default', ['production']);
52
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/package.json DELETED
@@ -1,17 +0,0 @@
1
- {
2
- "name": "BackWPup_Assets",
3
- "version": "1.0.0",
4
- "description": "BackWPup css/js minifiy",
5
- "repository": {
6
- "type": "git",
7
- "url": "https://github.com/inpsyde/backwpup"
8
- },
9
- "author": "Inpsyde GmbH",
10
- "license": "GPL-3.0",
11
- "devDependencies": {
12
- "grunt": "*",
13
- "grunt-contrib-cssmin": "*",
14
- "grunt-contrib-uglify": "*",
15
- "grunt-contrib-jshint": "*"
16
- }
17
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
backwpup.php CHANGED
@@ -5,7 +5,7 @@
5
  * Description: WordPress Backup Plugin
6
  * Author: Inpsyde GmbH
7
  * Author URI: http://inpsyde.com
8
- * Version: 3.3.6
9
  * Text Domain: backwpup
10
  * Domain Path: /languages/
11
  * Network: true
@@ -109,7 +109,7 @@ if ( ! class_exists( 'BackWPup' ) ) {
109
  }
110
 
111
  // Notices and messages in admin
112
- if ( is_admin() ) {
113
 
114
  /// Notice for PHP 5.2 users
115
  $php_notice = new BackWPup_Php_Admin_Notice();
@@ -121,17 +121,36 @@ if ( ! class_exists( 'BackWPup' ) ) {
121
  add_action( 'wp_dashboard_setup', array( $inpsyder_widget, 'setup_widget' ) );
122
  add_action( 'backwpup_admin_messages', array( $inpsyder_widget, 'print_plugin_widget_markup' ), 0 );
123
 
124
- // Setup "dismissible" option actions for PHP 5.2 notice and work for Inpsyde widget
 
 
 
 
 
 
 
 
 
125
  BackWPup_Dismissible_Notice_Option::setup_actions(
126
  true,
127
  BackWPup_Php_Admin_Notice::NOTICE_ID,
128
- 'manage_options'
129
  );
130
  BackWPup_Dismissible_Notice_Option::setup_actions(
131
  false,
132
  BackWPup_Become_Inpsyder_Widget::NOTICE_ID,
133
  'backwpup'
134
  );
 
 
 
 
 
 
 
 
 
 
135
  }
136
 
137
  // Phone Home
@@ -227,7 +246,7 @@ if ( ! class_exists( 'BackWPup' ) ) {
227
  //BackWPup classes auto load
228
  if ( strstr( strtolower( $class ), 'backwpup_' ) ) {
229
  $dir = dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'inc' . DIRECTORY_SEPARATOR;
230
- $class_file_name = 'class-' . str_replace( array( 'backwpup_', '_' ), array( '', '-' ), strtolower( $class ) ) . '.php';
231
  if ( strstr( strtolower( $class ), 'backwpup_pro' ) ) {
232
  $dir .= 'pro' . DIRECTORY_SEPARATOR;
233
  $class_file_name = str_replace( 'pro-','', $class_file_name );
5
  * Description: WordPress Backup Plugin
6
  * Author: Inpsyde GmbH
7
  * Author URI: http://inpsyde.com
8
+ * Version: 3.3.7
9
  * Text Domain: backwpup
10
  * Domain Path: /languages/
11
  * Network: true
109
  }
110
 
111
  // Notices and messages in admin
112
+ if ( is_admin() && current_user_can( 'backwpup' ) ) {
113
 
114
  /// Notice for PHP 5.2 users
115
  $php_notice = new BackWPup_Php_Admin_Notice();
121
  add_action( 'wp_dashboard_setup', array( $inpsyder_widget, 'setup_widget' ) );
122
  add_action( 'backwpup_admin_messages', array( $inpsyder_widget, 'print_plugin_widget_markup' ), 0 );
123
 
124
+ // Beta Tester notice
125
+ $beta_tester_notice = new BackWPup_BetaTester_Admin_Notice();
126
+ add_action( 'backwpup_admin_messages', array( $beta_tester_notice, 'dashboard_message' ), 20 );
127
+
128
+ // 40% discount
129
+ $pro_discount_widget = new BackWPup_Discount_Widget();
130
+ add_action( 'wp_dashboard_setup', array( $pro_discount_widget, 'setup_widget' ) );
131
+ add_action( 'backwpup_admin_messages', array( $pro_discount_widget, 'print_plugin_widget_markup' ), 0 );
132
+
133
+ // Setup "dismissible" option actions for notices
134
  BackWPup_Dismissible_Notice_Option::setup_actions(
135
  true,
136
  BackWPup_Php_Admin_Notice::NOTICE_ID,
137
+ 'backwpup'
138
  );
139
  BackWPup_Dismissible_Notice_Option::setup_actions(
140
  false,
141
  BackWPup_Become_Inpsyder_Widget::NOTICE_ID,
142
  'backwpup'
143
  );
144
+ BackWPup_Dismissible_Notice_Option::setup_actions(
145
+ false,
146
+ BackWPup_BetaTester_Admin_Notice::NOTICE_ID,
147
+ 'backwpup'
148
+ );
149
+ BackWPup_Dismissible_Notice_Option::setup_actions(
150
+ false,
151
+ BackWPup_Discount_Widget::NOTICE_ID,
152
+ 'backwpup'
153
+ );
154
  }
155
 
156
  // Phone Home
246
  //BackWPup classes auto load
247
  if ( strstr( strtolower( $class ), 'backwpup_' ) ) {
248
  $dir = dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'inc' . DIRECTORY_SEPARATOR;
249
+ $class_file_name = 'class-' . str_replace( array( 'backwpup_', '_' ), array( '', '-' ), strtolower( $class ) ) . '.php';
250
  if ( strstr( strtolower( $class ), 'backwpup_pro' ) ) {
251
  $dir .= 'pro' . DIRECTORY_SEPARATOR;
252
  $class_file_name = str_replace( 'pro-','', $class_file_name );
inc/class-admin.php CHANGED
@@ -525,7 +525,7 @@ final class BackWPup_Admin {
525
  */
526
  public function hide_phone_home_client_notices( $show = true, $screen = null ) {
527
 
528
- if ( $screen instanceof \WP_Screen ) {
529
  return $screen->id === 'toplevel_page_backwpup' || strpos( $screen->id, 'backwpup' ) === 0;
530
  }
531
 
525
  */
526
  public function hide_phone_home_client_notices( $show = true, $screen = null ) {
527
 
528
+ if ( $screen instanceof WP_Screen ) {
529
  return $screen->id === 'toplevel_page_backwpup' || strpos( $screen->id, 'backwpup' ) === 0;
530
  }
531
 
inc/class-become-inpsyder-widget.php CHANGED
@@ -6,7 +6,11 @@
6
  class BackWPup_Become_Inpsyder_Widget {
7
 
8
  const NOTICE_ID = 'become_inpsyder';
9
- const MAIN_ADMIN_PAGE_ID = 'toplevel_page_backwpup';
 
 
 
 
10
 
11
  /**
12
  * A flag set once per request that is true when the widget should not be shown on the page
@@ -16,6 +20,11 @@ class BackWPup_Become_Inpsyder_Widget {
16
  private static $should_show;
17
 
18
  public function setup_widget() {
 
 
 
 
 
19
  if ( $this->should_display() ) {
20
  wp_add_dashboard_widget(
21
  'backwpup_become_inpsyder',
@@ -26,14 +35,16 @@ class BackWPup_Become_Inpsyder_Widget {
26
  }
27
 
28
  public function print_plugin_widget_markup() {
 
29
  static $done;
30
- if ( ! $done && get_current_screen()->id === self::MAIN_ADMIN_PAGE_ID && $this->should_display() ) {
 
31
  $done = true;
32
  ?>
33
- <div class="metabox-holder postbox">
34
- <h3 class="hndle"><span><?= esc_html__( 'Make BackWPup better!', 'backwpup' ) ?></span></h3>
35
  <div class="inside">
36
- <?= $this->widget_markup( 'left' ) ?>
37
  </div>
38
  </div>
39
  <?php
@@ -41,6 +52,11 @@ class BackWPup_Become_Inpsyder_Widget {
41
  }
42
 
43
  public function print_widget_markup() {
 
 
 
 
 
44
  static $done;
45
  if ( ! $done && $this->should_display() ) {
46
  $done = true;
@@ -65,6 +81,13 @@ class BackWPup_Become_Inpsyder_Widget {
65
  // If notice is dismissed for good, don't show it
66
  self::$should_show = ! $option->is_dismissed( self::NOTICE_ID );
67
 
 
 
 
 
 
 
 
68
  return self::$should_show;
69
  }
70
 
@@ -85,7 +108,10 @@ class BackWPup_Become_Inpsyder_Widget {
85
  $plugin_file = dirname( dirname( __FILE__ ) ) . '/backwpup.php';
86
  $logo_url = plugins_url( '/assets/images/inpsyde.png', $plugin_file );
87
 
88
- $job_url = esc_url( __( 'https://inpsyde.com/en/jobs/?utm_source=BackWPup&utm_medium=Link&utm_campaign=BecomeAnInpsyder', 'backwpup' ) );
 
 
 
89
 
90
  ob_start();
91
  ?>
@@ -99,12 +125,12 @@ class BackWPup_Become_Inpsyder_Widget {
99
  ?>
100
  <br>
101
  <strong>
102
- <?php
103
- esc_html_e(
104
- 'This is why we are looking for a talented developer who can work remotely and support us in BackWPup',
105
- 'backwpup'
106
- );
107
- ?>
108
  </strong>
109
  <?php
110
  esc_html_e(
@@ -113,24 +139,24 @@ class BackWPup_Become_Inpsyder_Widget {
113
  );
114
  ?>
115
  </p>
116
- <p<?= $btn_float === 'right' ? ' align="right' : '' ?>">
117
- <a
118
- style="background: #8fba2b; border-color: #7ba617 #719c0d #719c0d; -webkit-box-shadow: 0 1px 0 #719c0d; box-shadow: 0 1px 0 #719c0d; text-shadow: 0 -1px 1px #719c0d, 1px 0 1px #719c0d, 0 1px 1px #719c0d, -1px 0 1px #719c0d;"
119
- class="button button-large button-primary"
120
- href="<?= $job_url ?>"
121
- target="_blank">
122
- <?= esc_html__( 'Apply now!', 'backwpup' ) ?>
123
- </a>
124
  </p>
125
  <hr>
126
  <p>
127
 
128
- <a class="button button-small" id="backwpup_dismiss_become_new_inpsyder" href="<?= esc_url( $dismiss_url ) ?>">
129
- <?= esc_html__( 'Don\'t show again', 'backwpup' ) ?>
130
  </a>
131
 
132
- <a style="float: right;" href="<?= $job_url ?>">
133
- <img src="<?= $logo_url ?>" alt="<?= esc_attr__( 'Work for Inpsyde', 'backwpup' ) ?>">
134
  </a>
135
  </p>
136
  </div>
@@ -139,7 +165,7 @@ class BackWPup_Become_Inpsyder_Widget {
139
  function( $ ) {
140
  $( '#backwpup_dismiss_become_new_inpsyder' ).on( 'click', function( e ) {
141
  e.preventDefault();
142
- $.post( $( this ).attr( 'href' ), { isAjax: 1 } );
143
  $( '#backwpup_become_inpsyder' ).hide();
144
  $( '#backwpup_become_inpsyder-hide' ).click();
145
  } );
6
  class BackWPup_Become_Inpsyder_Widget {
7
 
8
  const NOTICE_ID = 'become_inpsyder';
9
+
10
+ private static $main_admin_page_ids = array(
11
+ 'toplevel_page_backwpup',
12
+ 'toplevel_page_backwpup-network',
13
+ );
14
 
15
  /**
16
  * A flag set once per request that is true when the widget should not be shown on the page
20
  private static $should_show;
21
 
22
  public function setup_widget() {
23
+
24
+ if ( defined( 'INPSYDE_DASHBOARD_WIDGET' ) && ! INPSYDE_DASHBOARD_WIDGET ) {
25
+ return;
26
+ }
27
+
28
  if ( $this->should_display() ) {
29
  wp_add_dashboard_widget(
30
  'backwpup_become_inpsyder',
35
  }
36
 
37
  public function print_plugin_widget_markup() {
38
+
39
  static $done;
40
+ $screen_id = get_current_screen()->id;
41
+ if ( ! $done && in_array( $screen_id, self::$main_admin_page_ids, true ) && $this->should_display() ) {
42
  $done = true;
43
  ?>
44
+ <div class="metabox-holder postbox" id="backwpup_become_inpsyder">
45
+ <h3 class="hndle"><span><?php echo esc_html__( 'Make BackWPup better!', 'backwpup' ) ?></span></h3>
46
  <div class="inside">
47
+ <?php echo $this->widget_markup( 'left' ) ?>
48
  </div>
49
  </div>
50
  <?php
52
  }
53
 
54
  public function print_widget_markup() {
55
+
56
+ if ( defined( 'INPSYDE_DASHBOARD_WIDGET' ) && ! INPSYDE_DASHBOARD_WIDGET ) {
57
+ return;
58
+ }
59
+
60
  static $done;
61
  if ( ! $done && $this->should_display() ) {
62
  $done = true;
81
  // If notice is dismissed for good, don't show it
82
  self::$should_show = ! $option->is_dismissed( self::NOTICE_ID );
83
 
84
+ $expiration_date = new DateTime('2017-05-02 00:00:00');
85
+ $now = new DateTime('now');
86
+
87
+ if ( $now < $expiration_date ) {
88
+ self::$should_show = false;
89
+ }
90
+
91
  return self::$should_show;
92
  }
93
 
108
  $plugin_file = dirname( dirname( __FILE__ ) ) . '/backwpup.php';
109
  $logo_url = plugins_url( '/assets/images/inpsyde.png', $plugin_file );
110
 
111
+ $job_url = __(
112
+ 'https://inpsyde.com/en/jobs/?utm_source=BackWPup&utm_medium=Link&utm_campaign=BecomeAnInpsyder',
113
+ 'backwpup'
114
+ );
115
 
116
  ob_start();
117
  ?>
125
  ?>
126
  <br>
127
  <strong>
128
+ <?php
129
+ esc_html_e(
130
+ 'This is why we are looking for a talented developer who can work remotely and support us in BackWPup',
131
+ 'backwpup'
132
+ );
133
+ ?>
134
  </strong>
135
  <?php
136
  esc_html_e(
139
  );
140
  ?>
141
  </p>
142
+ <p<?php echo $btn_float === 'right' ? ' align="right' : '' ?>">
143
+ <a
144
+ style="background: #8fba2b; border-color: #7ba617 #719c0d #719c0d; -webkit-box-shadow: 0 1px 0 #719c0d; box-shadow: 0 1px 0 #719c0d; text-shadow: 0 -1px 1px #719c0d, 1px 0 1px #719c0d, 0 1px 1px #719c0d, -1px 0 1px #719c0d;"
145
+ class="button button-large button-primary"
146
+ href="<?php echo esc_url( $job_url ) ?>"
147
+ target="_blank">
148
+ <?php echo esc_html__( 'Apply now!', 'backwpup' ) ?>
149
+ </a>
150
  </p>
151
  <hr>
152
  <p>
153
 
154
+ <a class="button button-small" id="backwpup_dismiss_become_new_inpsyder" href="<?php echo esc_url( $dismiss_url ) ?>">
155
+ <?php echo esc_html__( 'Don\'t show again', 'backwpup' ) ?>
156
  </a>
157
 
158
+ <a style="float: right;" href="<?php echo $job_url ?>">
159
+ <img src="<?php echo $logo_url ?>" alt="<?php echo esc_attr__( 'Work for Inpsyde', 'backwpup' ) ?>">
160
  </a>
161
  </p>
162
  </div>
165
  function( $ ) {
166
  $( '#backwpup_dismiss_become_new_inpsyder' ).on( 'click', function( e ) {
167
  e.preventDefault();
168
+ $.post( $( this ).attr( 'href' ), { isAjax: 1 } );
169
  $( '#backwpup_become_inpsyder' ).hide();
170
  $( '#backwpup_become_inpsyder-hide' ).click();
171
  } );
inc/class-betatester-admin-notice.php ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ *
5
+ */
6
+ class BackWPup_BetaTester_Admin_Notice {
7
+
8
+ const NOTICE_ID = 'beta_tester';
9
+ const MAIN_ADMIN_PAGE_IDS = 'toplevel_page_backwpup';
10
+
11
+ private static $main_admin_page_ids = array(
12
+ 'toplevel_page_backwpup',
13
+ 'toplevel_page_backwpup-network',
14
+ );
15
+
16
+ /**
17
+ * A flag set once per request that is true when the notice should be shown on the page
18
+ *
19
+ * @var bool
20
+ */
21
+ private static $should_show;
22
+
23
+ /**
24
+ * Display a notice in BackWPup admin dashboard.
25
+ */
26
+ public function dashboard_message() {
27
+
28
+ static $done;
29
+ $screen_id = get_current_screen()->id;
30
+ if ( ! $done && in_array( $screen_id, self::$main_admin_page_ids, true ) && $this->should_display() ) {
31
+ $done = true;
32
+ ?>
33
+ <div class="metabox-holder postbox" id="backwpup_dismiss_beta_tester_notice">
34
+ <div class="inside">
35
+ <?php echo $this->widget_markup() ?>
36
+ </div>
37
+ </div>
38
+ <?php
39
+ }
40
+ }
41
+
42
+ /**
43
+ * Should we display the notice ?
44
+ *
45
+ * @return bool
46
+ */
47
+ private function should_display() {
48
+
49
+ if ( ! is_bool( self::$should_show ) ) {
50
+ $option = new BackWPup_Dismissible_Notice_Option( true );
51
+ self::$should_show = ! $option->is_dismissed( self::NOTICE_ID );
52
+ }
53
+
54
+ $expiration_date = new DateTime('2017-05-02 00:00:00');
55
+ $now = new DateTime('now');
56
+
57
+ if ( $now < $expiration_date ) {
58
+ self::$should_show = false;
59
+ }
60
+
61
+ return self::$should_show;
62
+ }
63
+
64
+ /**
65
+ * The markup for the admin page message.
66
+ *
67
+ * @return string
68
+ */
69
+ private function widget_markup() {
70
+
71
+ $dismiss_url = BackWPup_Dismissible_Notice_Option::dismiss_action_url(
72
+ self::NOTICE_ID,
73
+ BackWPup_Dismissible_Notice_Option::FOR_USER_FOR_GOOD_ACTION
74
+ );
75
+
76
+ $join_us = esc_html__( 'Join us as beta tester!', 'backwpup' );
77
+ $join_us_url = esc_html__( 'https://backwpup.com/become-backwpup-beta-tester/', 'backwpup' );
78
+
79
+ ob_start();
80
+ ?>
81
+ <div>
82
+ <p>
83
+ <?php
84
+ echo esc_html__(
85
+ 'To ensure that our releases are as bug-free as possible, we need you as a beta tester!',
86
+ 'backwpup'
87
+ );
88
+ ?>
89
+ </p>
90
+ <p>
91
+ <a
92
+ style="background: #8fba2b; border-color: #7ba617 #719c0d #719c0d; -webkit-box-shadow: 0 1px 0 #719c0d; box-shadow: 0 1px 0 #719c0d; text-shadow: 0 -1px 1px #719c0d, 1px 0 1px #719c0d, 0 1px 1px #719c0d, -1px 0 1px #719c0d;"
93
+ class="button button-primary"
94
+ href="<?php echo esc_url( $join_us_url ) ?>"
95
+ target="_blank">
96
+ <?php echo $join_us ?>
97
+ </a>
98
+
99
+ <a
100
+ class="button"
101
+ id="backwpup_dismiss_beta_tester"
102
+ href="<?php echo esc_url( $dismiss_url ) ?>">
103
+ <?php echo esc_html__( 'Don\'t show again', 'backwpup' ) ?>
104
+ </a>
105
+ </p>
106
+ </div>
107
+ <script>
108
+ (
109
+ function( $ ) {
110
+ $( '#backwpup_dismiss_beta_tester' ).on( 'click', function( e ) {
111
+ e.preventDefault();
112
+ $.post( $( this ).attr( 'href' ), { isAjax: 1 } );
113
+ $( '#backwpup_dismiss_beta_tester_notice' ).hide();
114
+ } );
115
+ }
116
+ )( jQuery );
117
+ </script>
118
+ <?php
119
+
120
+ return ob_get_clean();
121
+ }
122
+ }
inc/class-discount-widget.php ADDED
@@ -0,0 +1,159 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Display widget advertising 40% off BackWPup pro.
5
+ */
6
+ class BackWPup_Discount_Widget {
7
+
8
+ const NOTICE_ID = 'pro_discount';
9
+ const WIDGET_TITLE = 'Celebrate 4 Million Downloads with Us!';
10
+
11
+ /**
12
+ * A flag set once per request that is true when the widget should not be shown on the page
13
+ *
14
+ * @var bool
15
+ */
16
+ private static $should_show;
17
+
18
+ private static $pages_to_skip = array(
19
+ 'backwpup-pro_page_backwpup-phone-home-consent',
20
+ );
21
+
22
+ public function setup_widget() {
23
+ if ( defined( 'INPSYDE_DASHBOARD_WIDGET' ) && ! INPSYDE_DASHBOARD_WIDGET ) {
24
+ return;
25
+ }
26
+
27
+ if ( $this->should_display() ) {
28
+ wp_add_dashboard_widget(
29
+ 'backwpup_pro_discount',
30
+ esc_html__( self::WIDGET_TITLE, 'backwpup' ),
31
+ array( $this, 'print_widget_markup' )
32
+ );
33
+ }
34
+ }
35
+
36
+ public function print_plugin_widget_markup() {
37
+ static $done;
38
+ if ( ! $done && $this->should_display() ) {
39
+ $done = true;
40
+ ?>
41
+ <div class="metabox-holder postbox" id="backwpup_pro_discount">
42
+ <h3 class="hndle"><span><?php echo esc_html__( self::WIDGET_TITLE, 'backwpup' ) ?></span></h3>
43
+ <div class="inside">
44
+ <?php echo $this->widget_markup( 'left' ) ?>
45
+ </div>
46
+ </div>
47
+ <?php
48
+ }
49
+ }
50
+
51
+ public function print_widget_markup() {
52
+ if ( defined( 'INPSYDE_DASHBOARD_WIDGET' ) && ! INPSYDE_DASHBOARD_WIDGET ) {
53
+ return;
54
+ }
55
+
56
+ static $done;
57
+ if ( ! $done && $this->should_display() ) {
58
+ $done = true;
59
+ echo $this->widget_markup();
60
+ }
61
+ }
62
+
63
+ /**
64
+ * We don't display widget if it was dismissed for good, or if it is after May 1, 2017.
65
+ *
66
+ * @return bool
67
+ */
68
+ private function should_display() {
69
+ // If already checked, don't check again
70
+ if ( is_bool( self::$should_show ) ) {
71
+ return self::$should_show;
72
+ }
73
+
74
+ $option = new BackWPup_Dismissible_Notice_Option( false );
75
+
76
+ // If notice is dismissed for good, don't show it
77
+ self::$should_show = ! $option->is_dismissed( self::NOTICE_ID );
78
+
79
+ $screen = get_current_screen();
80
+ $is_dashboard = $screen->id === 'dashboard';
81
+ $is_backwpup = $screen->id === 'toplevel_page_backwpup' || strpos( $screen->id, 'backwpup' ) === 0;
82
+ $pages_to_skip = in_array( $screen->id, self::$pages_to_skip, true );
83
+
84
+ // On pages explicitly skipped, don't show anything
85
+ if ( ! $is_dashboard && ( ! $is_backwpup || $pages_to_skip ) ) {
86
+ self::$should_show = false;
87
+ return self::$should_show;
88
+ }
89
+
90
+ $expiration_date = new DateTime('2017-05-02 00:00:00');
91
+ $now = new DateTime('now');
92
+
93
+ if ( $now >= $expiration_date ) {
94
+ self::$should_show = false;
95
+ }
96
+
97
+ return self::$should_show;
98
+ }
99
+
100
+ /**
101
+ * The markup for the admin notice.
102
+ *
103
+ * @param string $btn_float
104
+ *
105
+ * @return string
106
+ */
107
+ private function widget_markup( $btn_float = 'right' ) {
108
+ $dismiss_url = BackWPup_Dismissible_Notice_Option::dismiss_action_url(
109
+ self::NOTICE_ID,
110
+ BackWPup_Dismissible_Notice_Option::FOR_USER_FOR_GOOD_ACTION
111
+ );
112
+
113
+ $discount_url = __(
114
+ 'https://backwpup.com/?utm_source=BackWPup&utm_medium=Link&utm_campaign=4million#buy',
115
+ 'backwpup'
116
+ );
117
+
118
+ ob_start();
119
+ ?>
120
+ <div>
121
+ <p align="justify">
122
+ <?php
123
+ esc_html_e(
124
+ 'We want to celebrate our 4 millionth download! And we want to say thank you! With an amazing 40% BackWPup discount on BackWPup PRO from April 25th to May 1st, 2017!',
125
+ 'backwpup'
126
+ );
127
+ ?>
128
+ </p>
129
+ <p>
130
+ <a
131
+ style="background: #8fba2b; border-color: #7ba617 #719c0d #719c0d; -webkit-box-shadow: 0 1px 0 #719c0d; box-shadow: 0 1px 0 #719c0d; text-shadow: 0 -1px 1px #719c0d, 1px 0 1px #719c0d, 0 1px 1px #719c0d, -1px 0 1px #719c0d;"
132
+ class="button button-large button-primary"
133
+ href="<?php echo esc_url( $discount_url ) ?>"
134
+ target="_blank">
135
+ <?php echo esc_html__( 'Get an amazing discount with coupon code "4million"', 'backwpup' ) ?>
136
+ </a>
137
+
138
+ <a class="button button-small" id="backwpup_dismiss_pro_discount" href="<?php echo esc_url( $dismiss_url ) ?>">
139
+ <?php echo esc_html__( 'Don\'t show again', 'backwpup' ) ?>
140
+ </a>
141
+ </p>
142
+ </div>
143
+ <script>
144
+ (
145
+ function( $ ) {
146
+ $( '#backwpup_dismiss_pro_discount' ).on( 'click', function( e ) {
147
+ e.preventDefault();
148
+ $.post( $( this ).attr( 'href' ), { isAjax: 1 } );
149
+ $( '#backwpup_pro_discount' ).hide();
150
+ $( '#backwpup_pro_discount-hide' ).click();
151
+ } );
152
+ }
153
+ )( jQuery );
154
+ </script>
155
+ <?php
156
+
157
+ return ob_get_clean();
158
+ }
159
+ }
inc/class-encryption-mcrypt.php CHANGED
@@ -88,8 +88,34 @@ class BackWPup_Encryption_Mcrypt {
88
  return '';
89
  }
90
 
91
- return $this->deprecated
 
 
 
 
92
  ? @mcrypt_decrypt( MCRYPT_RIJNDAEL_256, $this->key, $encrypted, MCRYPT_MODE_CBC, md5( $this->key ) )
93
  : mcrypt_decrypt( MCRYPT_RIJNDAEL_256, $this->key, $encrypted, MCRYPT_MODE_CBC, md5( $this->key ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
94
  }
95
  }
88
  return '';
89
  }
90
 
91
+ if ( defined( 'BACKWPUP_MCRYPT_KEY_MODE' ) && BACKWPUP_MCRYPT_KEY_MODE === 1 ) {
92
+ return $this->decrypt_deprecated( $encrypted );
93
+ }
94
+
95
+ $decrypted = $this->deprecated
96
  ? @mcrypt_decrypt( MCRYPT_RIJNDAEL_256, $this->key, $encrypted, MCRYPT_MODE_CBC, md5( $this->key ) )
97
  : mcrypt_decrypt( MCRYPT_RIJNDAEL_256, $this->key, $encrypted, MCRYPT_MODE_CBC, md5( $this->key ) );
98
+
99
+ $skip_deprecated = defined( 'BACKWPUP_MCRYPT_KEY_MODE' ) && BACKWPUP_MCRYPT_KEY_MODE === 2;
100
+
101
+ if ( ! $skip_deprecated && ! @wp_check_invalid_utf8( $decrypted ) ) {
102
+ $decrypted = $this->decrypt_deprecated( $encrypted );
103
+ }
104
+
105
+ return $decrypted;
106
+ }
107
+
108
+ /**
109
+ * @param string $encrypted
110
+ *
111
+ * @return string
112
+ */
113
+ private function decrypt_deprecated( $encrypted ) {
114
+
115
+ $key = md5( $this->key );
116
+
117
+ return $this->deprecated
118
+ ? @mcrypt_decrypt( MCRYPT_RIJNDAEL_256, $key, $encrypted, MCRYPT_MODE_CBC, md5( $key ) )
119
+ : mcrypt_decrypt( MCRYPT_RIJNDAEL_256, $key, $encrypted, MCRYPT_MODE_CBC, md5( $key ) );
120
  }
121
  }
inc/class-encryption.php CHANGED
@@ -40,7 +40,7 @@ class BackWPup_Encryption {
40
  try {
41
  $cypher_class = self::cypher_class_for_string( $string );
42
  }
43
- catch ( \Exception $e ) {
44
 
45
  /** @TODO what to do here? The string is encrypted, but cypher used to encrypt isn't supported in current system */
46
 
@@ -50,7 +50,7 @@ class BackWPup_Encryption {
50
  try {
51
  list( $key, $key_type ) = self::get_encrypt_info( $cypher_class, $string );
52
  }
53
- catch ( \Exception $e ) {
54
 
55
  /** @TODO what to do here? The string is encrypted, a custom key was used to encrypt, but it is not available anymore */
56
 
@@ -100,7 +100,7 @@ class BackWPup_Encryption {
100
  try {
101
  $cypher_class = self::cypher_class_for_string( $string );
102
  }
103
- catch ( \Exception $e ) {
104
 
105
  /** @TODO what to do here? The cypher used to encrypt is not supported in current system */
106
 
@@ -117,7 +117,7 @@ class BackWPup_Encryption {
117
  try {
118
  list( $key, $key_type ) = self::get_encrypt_info( $cypher_class, $string );
119
  }
120
- catch ( \Exception $e ) {
121
 
122
  /** @TODO what to do here? A custom key was used to encrypt but it is not available anymore */
123
  return '';
@@ -126,7 +126,7 @@ class BackWPup_Encryption {
126
  /** @var BackWPup_Encryption_OpenSSL|BackWPup_Encryption_Mcrypt|BackWPup_Encryption_Fallback $cypher */
127
  $cypher = new $cypher_class( $key, $key_type );
128
 
129
- return $cypher->decrypt( $string );
130
  }
131
 
132
  /**
@@ -146,7 +146,7 @@ class BackWPup_Encryption {
146
  }
147
 
148
  if ( ! call_user_func( array( $class, 'supported' ) ) ) {
149
- throw new \Exception(
150
  "Give string was encrypted using {$class} but it is not currently supported in this system."
151
  );
152
  }
@@ -197,7 +197,7 @@ class BackWPup_Encryption {
197
  $has_custom_key = strpos( $string, $enc_prefix . self::KEY_TYPE_CUSTOM ) === 0;
198
 
199
  if ( $has_custom_key && ! defined( 'BACKWPUP_ENC_KEY' ) ) {
200
- throw new \Exception(
201
  "Give string was encrypted using a custom key but 'BACKWPUP_ENC_KEY' constant is not defined anymore."
202
  );
203
  }
40
  try {
41
  $cypher_class = self::cypher_class_for_string( $string );
42
  }
43
+ catch ( Exception $e ) {
44
 
45
  /** @TODO what to do here? The string is encrypted, but cypher used to encrypt isn't supported in current system */
46
 
50
  try {
51
  list( $key, $key_type ) = self::get_encrypt_info( $cypher_class, $string );
52
  }
53
+ catch ( Exception $e ) {
54
 
55
  /** @TODO what to do here? The string is encrypted, a custom key was used to encrypt, but it is not available anymore */
56
 
100
  try {
101
  $cypher_class = self::cypher_class_for_string( $string );
102
  }
103
+ catch ( Exception $e ) {
104
 
105
  /** @TODO what to do here? The cypher used to encrypt is not supported in current system */
106
 
117
  try {
118
  list( $key, $key_type ) = self::get_encrypt_info( $cypher_class, $string );
119
  }
120
+ catch ( Exception $e ) {
121
 
122
  /** @TODO what to do here? A custom key was used to encrypt but it is not available anymore */
123
  return '';
126
  /** @var BackWPup_Encryption_OpenSSL|BackWPup_Encryption_Mcrypt|BackWPup_Encryption_Fallback $cypher */
127
  $cypher = new $cypher_class( $key, $key_type );
128
 
129
+ return trim( $cypher->decrypt( $string ), "\0" );
130
  }
131
 
132
  /**
146
  }
147
 
148
  if ( ! call_user_func( array( $class, 'supported' ) ) ) {
149
+ throw new Exception(
150
  "Give string was encrypted using {$class} but it is not currently supported in this system."
151
  );
152
  }
197
  $has_custom_key = strpos( $string, $enc_prefix . self::KEY_TYPE_CUSTOM ) === 0;
198
 
199
  if ( $has_custom_key && ! defined( 'BACKWPUP_ENC_KEY' ) ) {
200
+ throw new Exception(
201
  "Give string was encrypted using a custom key but 'BACKWPUP_ENC_KEY' constant is not defined anymore."
202
  );
203
  }
inc/class-php-admin-notice.php CHANGED
@@ -120,16 +120,16 @@ class BackWPup_Php_Admin_Notice {
120
  ?>
121
  <div class="notice notice-warning is-dismissible">
122
  <p>
123
- <?= esc_html__( 'With the upcoming major release, BackWPup will be requiring PHP version 5.3 or higher.',
124
  'backwpup' ) ?>
125
- <?= esc_html__( 'Currently, you are running PHP version 5.2.', 'backwpup' ) ?>
126
  <strong>
127
- <a href="<?= $learn_more_url ?>"><?= esc_html__( 'Please urgently read here!', 'backwpup' ) ?></a>
128
  </strong>
129
  </p>
130
  <p>
131
- <a style="font-size:smaller;" id="backwpup_dismiss_php52_notice" href="<?= esc_url( $dismiss_url ) ?>">
132
- <?= esc_html__( 'Don\'t show again.', 'backwpup' ) ?>
133
  </a>
134
  </p>
135
  </div>
@@ -159,22 +159,22 @@ class BackWPup_Php_Admin_Notice {
159
  ob_start();
160
  ?>
161
  <div class="notice notice-error is-dismissible">
162
- <h3><?= esc_html__( 'Please urgently read here!', 'backwpup' ) ?></h3>
163
  <p>
164
- <?= esc_html__( 'BackWPup has determined, your installation is still running on the old PHP 5.2 version.', 'backwpup' ) ?>
165
  </p>
166
  <p>
167
- <?= esc_html__( 'In order to ensure a fast and secure development for BackWPup, we will most likely not support PHP version 5.2 in our next version.', 'backwpup' ) ?>
168
- <?= esc_html__( 'No need to worry, your host can update your PHP version relatively quickly and without any problems.', 'backwpup' ) ?>
169
- <?= esc_html__( 'Otherwise you can continue to stay on this last version and do not update the plugin in the future!', 'backwpup' ) ?>
170
  </p>
171
  <p>
172
- <strong><?= $this->contact_page_link() ?></strong><br>
173
- <?= esc_html__( 'If the response from PHP 5.2 users is surprisingly high, we will eventually keep support for PHP 5.2 for a while.', 'backwpup' ) ?>
174
  </p>
175
  <p>
176
- <?= esc_html__( 'Cheers!', 'backwpup' ) ?><br>
177
- <?= esc_html__( 'Your BackWPup Team!', 'backwpup' ) ?>
178
  </p>
179
  </div>
180
  <?php
120
  ?>
121
  <div class="notice notice-warning is-dismissible">
122
  <p>
123
+ <?php echo esc_html__( 'With the upcoming major release, BackWPup will be requiring PHP version 5.3 or higher.',
124
  'backwpup' ) ?>
125
+ <?php echo esc_html__( 'Currently, you are running PHP version 5.2.', 'backwpup' ) ?>
126
  <strong>
127
+ <a href="<?php echo $learn_more_url ?>"><?php echo esc_html__( 'Please urgently read here!', 'backwpup' ) ?></a>
128
  </strong>
129
  </p>
130
  <p>
131
+ <a style="font-size:smaller;" id="backwpup_dismiss_php52_notice" href="<?php echo esc_url( $dismiss_url ) ?>">
132
+ <?php echo esc_html__( 'Don\'t show again.', 'backwpup' ) ?>
133
  </a>
134
  </p>
135
  </div>
159
  ob_start();
160
  ?>
161
  <div class="notice notice-error is-dismissible">
162
+ <h3><?php echo esc_html__( 'Please urgently read here!', 'backwpup' ) ?></h3>
163
  <p>
164
+ <?php echo esc_html__( 'BackWPup has determined, your installation is still running on the old PHP 5.2 version.', 'backwpup' ) ?>
165
  </p>
166
  <p>
167
+ <?php echo esc_html__( 'In order to ensure a fast and secure development for BackWPup, we will most likely not support PHP version 5.2 in our next version.', 'backwpup' ) ?>
168
+ <?php echo esc_html__( 'No need to worry, your host can update your PHP version relatively quickly and without any problems.', 'backwpup' ) ?>
169
+ <?php echo esc_html__( 'Otherwise you can continue to stay on this last version and do not update the plugin in the future!', 'backwpup' ) ?>
170
  </p>
171
  <p>
172
+ <strong><?php echo $this->contact_page_link() ?></strong><br>
173
+ <?php echo esc_html__( 'If the response from PHP 5.2 users is surprisingly high, we will eventually keep support for PHP 5.2 for a while.', 'backwpup' ) ?>
174
  </p>
175
  <p>
176
+ <?php echo esc_html__( 'Cheers!', 'backwpup' ) ?><br>
177
+ <?php echo esc_html__( 'Your BackWPup Team!', 'backwpup' ) ?>
178
  </p>
179
  </div>
180
  <?php
languages/backwpup.pot CHANGED
@@ -12,137 +12,137 @@ msgstr ""
12
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
13
  "Project-Id-Version: BackWPup Pro\n"
14
 
15
- #: backwpup.php:324 inc/class-page-backups.php:271
16
  msgid "Folder"
17
  msgstr ""
18
 
19
- #: backwpup.php:325
20
  msgid "Backup to Folder"
21
  msgstr ""
22
 
23
- #: backwpup.php:340
24
  msgid "Email"
25
  msgstr ""
26
 
27
- #: backwpup.php:341
28
  msgid "Backup sent via email"
29
  msgstr ""
30
 
31
- #: backwpup.php:356
32
  msgid "FTP"
33
  msgstr ""
34
 
35
- #: backwpup.php:357
36
  msgid "Backup to FTP"
37
  msgstr ""
38
 
39
- #: backwpup.php:372 inc/class-destination-dropbox.php:307
40
  msgid "Dropbox"
41
  msgstr ""
42
 
43
- #: backwpup.php:373 inc/class-page-about.php:517
44
  msgid "Backup to Dropbox"
45
  msgstr ""
46
 
47
- #: backwpup.php:388 inc/class-destination-s3.php:27
48
  msgid "S3 Service"
49
  msgstr ""
50
 
51
- #: backwpup.php:389
52
  msgid "Backup to an S3 Service"
53
  msgstr ""
54
 
55
- #: backwpup.php:407
56
  msgid "MS Azure"
57
  msgstr ""
58
 
59
- #: backwpup.php:408
60
  msgid "Backup to Microsoft Azure (Blob)"
61
  msgstr ""
62
 
63
- #: backwpup.php:423
64
  msgid "RSC"
65
  msgstr ""
66
 
67
- #: backwpup.php:424 inc/class-page-about.php:522
68
  msgid "Backup to Rackspace Cloud Files"
69
  msgstr ""
70
 
71
- #: backwpup.php:441
72
  msgid "SugarSync"
73
  msgstr ""
74
 
75
- #: backwpup.php:442 inc/class-page-about.php:537
76
  msgid "Backup to SugarSync"
77
  msgstr ""
78
 
79
- #: backwpup.php:461
80
  #, php-format
81
  msgid "PHP Version %1$s is to low, you need Version %2$s or above."
82
  msgstr ""
83
 
84
- #: backwpup.php:468
85
  #, php-format
86
  msgid "Missing function \"%s\"."
87
  msgstr ""
88
 
89
- #: backwpup.php:477
90
  #, php-format
91
  msgid "Missing class \"%s\"."
92
  msgstr ""
93
 
94
- #: inc/class-admin.php:213 inc/class-help.php:24
95
  msgid "http://docs.backwpup.com"
96
  msgstr ""
97
 
98
- #: inc/class-admin.php:213
99
  msgid "Documentation"
100
  msgstr ""
101
 
102
- #: inc/class-admin.php:225
103
  msgid "BackWPup Dashboard"
104
  msgstr ""
105
 
106
- #: inc/class-admin.php:225
107
  msgid "Dashboard"
108
  msgstr ""
109
 
110
- #: inc/class-admin.php:241 inc/class-adminbar.php:82
111
  #: inc/class-page-settings.php:115
112
  msgid "Jobs"
113
  msgstr ""
114
 
115
- #: inc/class-admin.php:256
116
  msgid "Add new job"
117
  msgstr ""
118
 
119
- #: inc/class-admin.php:271 inc/class-adminbar.php:98
120
  #: inc/class-page-logs.php:328 inc/class-page-settings.php:115
121
  msgid "Logs"
122
  msgstr ""
123
 
124
- #: inc/class-admin.php:286 inc/class-adminbar.php:106
125
  msgid "Backups"
126
  msgstr ""
127
 
128
- #: inc/class-admin.php:301
129
  msgid "Settings"
130
  msgstr ""
131
 
132
- #: inc/class-admin.php:314
133
  msgid "About"
134
  msgstr ""
135
 
136
- #: inc/class-admin.php:329 inc/class-admin.php:335
137
  msgid "Cheating, huh?"
138
  msgstr ""
139
 
140
- #: inc/class-admin.php:379
141
  #, php-format
142
  msgid "<a class=\"backwpup-get-pro\" href=\"%s\">Get BackWPup Pro now.</a>"
143
  msgstr ""
144
 
145
- #: inc/class-admin.php:379 inc/class-admin.php:399 inc/class-help.php:17
146
  #: inc/class-help.php:22 inc/class-job.php:394
147
  #: inc/class-jobtype-dbcheck.php:15 inc/class-jobtype-dbdump.php:15
148
  #: inc/class-jobtype-file.php:15 inc/class-jobtype-wpexp.php:15
@@ -154,16 +154,16 @@ msgstr ""
154
  msgid "http://backwpup.com"
155
  msgstr ""
156
 
157
- #: inc/class-admin.php:399
158
  #, php-format
159
  msgid "version %s"
160
  msgstr ""
161
 
162
- #: inc/class-admin.php:443
163
  msgid "Add BackWPup Role"
164
  msgstr ""
165
 
166
- #: inc/class-admin.php:447
167
  msgid "&mdash; No additional role for BackWPup &mdash;"
168
  msgstr ""
169
 
@@ -187,39 +187,52 @@ msgstr ""
187
  msgid "Run Now"
188
  msgstr ""
189
 
190
- #: inc/class-become-inpsyder-widget.php:22
191
- #: inc/class-become-inpsyder-widget.php:34
192
  msgid "Make BackWPup better!"
193
  msgstr ""
194
 
195
- #: inc/class-become-inpsyder-widget.php:88
196
  msgid "https://inpsyde.com/en/jobs/?utm_source=BackWPup&utm_medium=Link&utm_campaign=BecomeAnInpsyder"
197
  msgstr ""
198
 
199
- #: inc/class-become-inpsyder-widget.php:96
200
  msgid "We want to make BackWPup even stronger and its support much faster."
201
  msgstr ""
202
 
203
- #: inc/class-become-inpsyder-widget.php:104
204
  msgid "This is why we are looking for a talented developer who can work remotely and support us in BackWPup"
205
  msgstr ""
206
 
207
- #: inc/class-become-inpsyder-widget.php:111
208
  msgid "and other exciting WordPress projects at our VIP partner agency."
209
  msgstr ""
210
 
211
- #: inc/class-become-inpsyder-widget.php:122
212
  msgid "Apply now!"
213
  msgstr ""
214
 
215
- #: inc/class-become-inpsyder-widget.php:129
 
216
  msgid "Don't show again"
217
  msgstr ""
218
 
219
- #: inc/class-become-inpsyder-widget.php:133
220
  msgid "Work for Inpsyde"
221
  msgstr ""
222
 
 
 
 
 
 
 
 
 
 
 
 
 
223
  #: inc/class-create-archive.php:64
224
  msgid "The file name of an archive cannot be empty."
225
  msgstr ""
@@ -3934,62 +3947,62 @@ msgstr ""
3934
  msgid "Reset all settings to default"
3935
  msgstr ""
3936
 
3937
- #: inc/class-php-admin-notice.php:119
3938
  msgid "With the upcoming major release, BackWPup will be requiring PHP version 5.3 or higher."
3939
  msgstr ""
3940
 
3941
- #: inc/class-php-admin-notice.php:121
3942
  msgid "Currently, you are running PHP version 5.2."
3943
  msgstr ""
3944
 
3945
- #: inc/class-php-admin-notice.php:123 inc/class-php-admin-notice.php:158
3946
  msgid "Please urgently read here!"
3947
  msgstr ""
3948
 
3949
- #: inc/class-php-admin-notice.php:128
3950
  msgid "Don't show again."
3951
  msgstr ""
3952
 
3953
- #: inc/class-php-admin-notice.php:160
3954
  msgid "BackWPup has determined, your installation is still running on the old PHP 5.2 version."
3955
  msgstr ""
3956
 
3957
- #: inc/class-php-admin-notice.php:163
3958
  msgid "In order to ensure a fast and secure development for BackWPup, we will most likely not support PHP version 5.2 in our next version."
3959
  msgstr ""
3960
 
3961
- #: inc/class-php-admin-notice.php:164
3962
  msgid "No need to worry, your host can update your PHP version relatively quickly and without any problems."
3963
  msgstr ""
3964
 
3965
- #: inc/class-php-admin-notice.php:165
3966
  msgid "Otherwise you can continue to stay on this last version and do not update the plugin in the future!"
3967
  msgstr ""
3968
 
3969
- #: inc/class-php-admin-notice.php:169
3970
  msgid "If the response from PHP 5.2 users is surprisingly high, we will eventually keep support for PHP 5.2 for a while."
3971
  msgstr ""
3972
 
3973
- #: inc/class-php-admin-notice.php:172
3974
  msgid "Cheers!"
3975
  msgstr ""
3976
 
3977
- #: inc/class-php-admin-notice.php:173
3978
  msgid "Your BackWPup Team!"
3979
  msgstr ""
3980
 
3981
- #. Translators: This is the anchor text for an HTML link pointing to BackWPup contact page
3982
- #: inc/class-php-admin-notice.php:201
3983
  msgid "contact us"
3984
  msgstr ""
3985
 
3986
- #. Translators: %s is replaced by an HTML link with text "contact us" pointing to BackWPup contact page
3987
- #: inc/class-php-admin-notice.php:203
3988
  #, php-format
3989
  msgid "If you would like to have PHP 5.2 supported, please %s."
3990
  msgstr ""
3991
 
3992
- #: inc/class-php-admin-notice.php:204
3993
  msgid "https://backwpup.com/php52/"
3994
  msgstr ""
3995
 
@@ -4831,79 +4844,79 @@ msgstr ""
4831
  msgid "Wizards"
4832
  msgstr ""
4833
 
4834
- #: inc/pro/class-settings-apikeys.php:42
4835
  msgid "Hash key"
4836
  msgstr ""
4837
 
4838
- #: inc/pro/class-settings-apikeys.php:43
4839
  msgid "Hash Key for BackWPup. It will be used to have hashes in folder and file names. It must at least 6 chars long."
4840
  msgstr ""
4841
 
4842
- #: inc/pro/class-settings-apikeys.php:46
4843
  msgid "Hash key:"
4844
  msgstr ""
4845
 
4846
- #: inc/pro/class-settings-apikeys.php:59
4847
  msgid "Dropbox API Keys"
4848
  msgstr ""
4849
 
4850
- #: inc/pro/class-settings-apikeys.php:60
4851
  msgid "If you want to set your own Dropbox API Keys, you can do it here. Leave empty for default."
4852
  msgstr ""
4853
 
4854
- #: inc/pro/class-settings-apikeys.php:63
4855
  msgid "Full Dropbox App key:"
4856
  msgstr ""
4857
 
4858
- #: inc/pro/class-settings-apikeys.php:71
4859
  msgid "Full Dropbox App secret:"
4860
  msgstr ""
4861
 
4862
- #: inc/pro/class-settings-apikeys.php:79
4863
  msgid "Sandbox App key:"
4864
  msgstr ""
4865
 
4866
- #: inc/pro/class-settings-apikeys.php:87
4867
  msgid "Sandbox App secret:"
4868
  msgstr ""
4869
 
4870
- #: inc/pro/class-settings-apikeys.php:100
4871
  msgid "SugarSync API Keys"
4872
  msgstr ""
4873
 
4874
- #: inc/pro/class-settings-apikeys.php:101
4875
  msgid "If you want to set your own SugarSync API keys you can do that here. Leave empty for default."
4876
  msgstr ""
4877
 
4878
- #: inc/pro/class-settings-apikeys.php:104
4879
  msgid "Access Key ID:"
4880
  msgstr ""
4881
 
4882
- #: inc/pro/class-settings-apikeys.php:112
4883
  msgid "Private Access Key:"
4884
  msgstr ""
4885
 
4886
- #: inc/pro/class-settings-apikeys.php:119
4887
  msgid "App ID:"
4888
  msgstr ""
4889
 
4890
- #: inc/pro/class-settings-apikeys.php:132
4891
  msgid "Google API Keys"
4892
  msgstr ""
4893
 
4894
- #: inc/pro/class-settings-apikeys.php:136
4895
  msgid "Client ID:"
4896
  msgstr ""
4897
 
4898
- #: inc/pro/class-settings-apikeys.php:144
4899
  msgid "Client secret:"
4900
  msgstr ""
4901
 
4902
- #: inc/pro/class-settings-apikeys.php:151
4903
  msgid "Redirect URIs:"
4904
  msgstr ""
4905
 
4906
- #: inc/pro/class-settings-apikeys.php:155
4907
  msgid "Add this URI in a new line to the field."
4908
  msgstr ""
4909
 
@@ -5215,4 +5228,4 @@ msgstr ""
5215
 
5216
  #: inc/pro/class-wizard-systemtest.php:202
5217
  msgid "There are errors. Please correct them, or BackWPup cannot work."
5218
- msgstr ""
12
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
13
  "Project-Id-Version: BackWPup Pro\n"
14
 
15
+ #: backwpup.php:333 inc/class-page-backups.php:271
16
  msgid "Folder"
17
  msgstr ""
18
 
19
+ #: backwpup.php:334
20
  msgid "Backup to Folder"
21
  msgstr ""
22
 
23
+ #: backwpup.php:349
24
  msgid "Email"
25
  msgstr ""
26
 
27
+ #: backwpup.php:350
28
  msgid "Backup sent via email"
29
  msgstr ""
30
 
31
+ #: backwpup.php:365
32
  msgid "FTP"
33
  msgstr ""
34
 
35
+ #: backwpup.php:366
36
  msgid "Backup to FTP"
37
  msgstr ""
38
 
39
+ #: backwpup.php:381 inc/class-destination-dropbox.php:307
40
  msgid "Dropbox"
41
  msgstr ""
42
 
43
+ #: backwpup.php:382 inc/class-page-about.php:517
44
  msgid "Backup to Dropbox"
45
  msgstr ""
46
 
47
+ #: backwpup.php:397 inc/class-destination-s3.php:27
48
  msgid "S3 Service"
49
  msgstr ""
50
 
51
+ #: backwpup.php:398
52
  msgid "Backup to an S3 Service"
53
  msgstr ""
54
 
55
+ #: backwpup.php:416
56
  msgid "MS Azure"
57
  msgstr ""
58
 
59
+ #: backwpup.php:417
60
  msgid "Backup to Microsoft Azure (Blob)"
61
  msgstr ""
62
 
63
+ #: backwpup.php:432
64
  msgid "RSC"
65
  msgstr ""
66
 
67
+ #: backwpup.php:433 inc/class-page-about.php:522
68
  msgid "Backup to Rackspace Cloud Files"
69
  msgstr ""
70
 
71
+ #: backwpup.php:450
72
  msgid "SugarSync"
73
  msgstr ""
74
 
75
+ #: backwpup.php:451 inc/class-page-about.php:537
76
  msgid "Backup to SugarSync"
77
  msgstr ""
78
 
79
+ #: backwpup.php:470
80
  #, php-format
81
  msgid "PHP Version %1$s is to low, you need Version %2$s or above."
82
  msgstr ""
83
 
84
+ #: backwpup.php:477
85
  #, php-format
86
  msgid "Missing function \"%s\"."
87
  msgstr ""
88
 
89
+ #: backwpup.php:486
90
  #, php-format
91
  msgid "Missing class \"%s\"."
92
  msgstr ""
93
 
94
+ #: inc/class-admin.php:215 inc/class-help.php:24
95
  msgid "http://docs.backwpup.com"
96
  msgstr ""
97
 
98
+ #: inc/class-admin.php:215
99
  msgid "Documentation"
100
  msgstr ""
101
 
102
+ #: inc/class-admin.php:227
103
  msgid "BackWPup Dashboard"
104
  msgstr ""
105
 
106
+ #: inc/class-admin.php:227
107
  msgid "Dashboard"
108
  msgstr ""
109
 
110
+ #: inc/class-admin.php:243 inc/class-adminbar.php:82
111
  #: inc/class-page-settings.php:115
112
  msgid "Jobs"
113
  msgstr ""
114
 
115
+ #: inc/class-admin.php:258
116
  msgid "Add new job"
117
  msgstr ""
118
 
119
+ #: inc/class-admin.php:273 inc/class-adminbar.php:98
120
  #: inc/class-page-logs.php:328 inc/class-page-settings.php:115
121
  msgid "Logs"
122
  msgstr ""
123
 
124
+ #: inc/class-admin.php:288 inc/class-adminbar.php:106
125
  msgid "Backups"
126
  msgstr ""
127
 
128
+ #: inc/class-admin.php:303
129
  msgid "Settings"
130
  msgstr ""
131
 
132
+ #: inc/class-admin.php:316
133
  msgid "About"
134
  msgstr ""
135
 
136
+ #: inc/class-admin.php:331 inc/class-admin.php:337
137
  msgid "Cheating, huh?"
138
  msgstr ""
139
 
140
+ #: inc/class-admin.php:381
141
  #, php-format
142
  msgid "<a class=\"backwpup-get-pro\" href=\"%s\">Get BackWPup Pro now.</a>"
143
  msgstr ""
144
 
145
+ #: inc/class-admin.php:381 inc/class-admin.php:401 inc/class-help.php:17
146
  #: inc/class-help.php:22 inc/class-job.php:394
147
  #: inc/class-jobtype-dbcheck.php:15 inc/class-jobtype-dbdump.php:15
148
  #: inc/class-jobtype-file.php:15 inc/class-jobtype-wpexp.php:15
154
  msgid "http://backwpup.com"
155
  msgstr ""
156
 
157
+ #: inc/class-admin.php:401
158
  #, php-format
159
  msgid "version %s"
160
  msgstr ""
161
 
162
+ #: inc/class-admin.php:445
163
  msgid "Add BackWPup Role"
164
  msgstr ""
165
 
166
+ #: inc/class-admin.php:449
167
  msgid "&mdash; No additional role for BackWPup &mdash;"
168
  msgstr ""
169
 
187
  msgid "Run Now"
188
  msgstr ""
189
 
190
+ #: inc/class-become-inpsyder-widget.php:31
191
+ #: inc/class-become-inpsyder-widget.php:45
192
  msgid "Make BackWPup better!"
193
  msgstr ""
194
 
195
+ #: inc/class-become-inpsyder-widget.php:105
196
  msgid "https://inpsyde.com/en/jobs/?utm_source=BackWPup&utm_medium=Link&utm_campaign=BecomeAnInpsyder"
197
  msgstr ""
198
 
199
+ #: inc/class-become-inpsyder-widget.php:115
200
  msgid "We want to make BackWPup even stronger and its support much faster."
201
  msgstr ""
202
 
203
+ #: inc/class-become-inpsyder-widget.php:123
204
  msgid "This is why we are looking for a talented developer who can work remotely and support us in BackWPup"
205
  msgstr ""
206
 
207
+ #: inc/class-become-inpsyder-widget.php:130
208
  msgid "and other exciting WordPress projects at our VIP partner agency."
209
  msgstr ""
210
 
211
+ #: inc/class-become-inpsyder-widget.php:141
212
  msgid "Apply now!"
213
  msgstr ""
214
 
215
+ #: inc/class-become-inpsyder-widget.php:148
216
+ #: inc/class-betatester-admin-notice.php:96
217
  msgid "Don't show again"
218
  msgstr ""
219
 
220
+ #: inc/class-become-inpsyder-widget.php:152
221
  msgid "Work for Inpsyde"
222
  msgstr ""
223
 
224
+ #: inc/class-betatester-admin-notice.php:69
225
+ msgid "Join us as beta tester!"
226
+ msgstr ""
227
+
228
+ #: inc/class-betatester-admin-notice.php:70
229
+ msgid "https://backwpup.com/become-backwpup-beta-tester/"
230
+ msgstr ""
231
+
232
+ #: inc/class-betatester-admin-notice.php:78
233
+ msgid "To ensure that our releases are as bug-free as possible, we need you as a beta tester!"
234
+ msgstr ""
235
+
236
  #: inc/class-create-archive.php:64
237
  msgid "The file name of an archive cannot be empty."
238
  msgstr ""
3947
  msgid "Reset all settings to default"
3948
  msgstr ""
3949
 
3950
+ #: inc/class-php-admin-notice.php:123
3951
  msgid "With the upcoming major release, BackWPup will be requiring PHP version 5.3 or higher."
3952
  msgstr ""
3953
 
3954
+ #: inc/class-php-admin-notice.php:125
3955
  msgid "Currently, you are running PHP version 5.2."
3956
  msgstr ""
3957
 
3958
+ #: inc/class-php-admin-notice.php:127 inc/class-php-admin-notice.php:162
3959
  msgid "Please urgently read here!"
3960
  msgstr ""
3961
 
3962
+ #: inc/class-php-admin-notice.php:132
3963
  msgid "Don't show again."
3964
  msgstr ""
3965
 
3966
+ #: inc/class-php-admin-notice.php:164
3967
  msgid "BackWPup has determined, your installation is still running on the old PHP 5.2 version."
3968
  msgstr ""
3969
 
3970
+ #: inc/class-php-admin-notice.php:167
3971
  msgid "In order to ensure a fast and secure development for BackWPup, we will most likely not support PHP version 5.2 in our next version."
3972
  msgstr ""
3973
 
3974
+ #: inc/class-php-admin-notice.php:168
3975
  msgid "No need to worry, your host can update your PHP version relatively quickly and without any problems."
3976
  msgstr ""
3977
 
3978
+ #: inc/class-php-admin-notice.php:169
3979
  msgid "Otherwise you can continue to stay on this last version and do not update the plugin in the future!"
3980
  msgstr ""
3981
 
3982
+ #: inc/class-php-admin-notice.php:173
3983
  msgid "If the response from PHP 5.2 users is surprisingly high, we will eventually keep support for PHP 5.2 for a while."
3984
  msgstr ""
3985
 
3986
+ #: inc/class-php-admin-notice.php:176
3987
  msgid "Cheers!"
3988
  msgstr ""
3989
 
3990
+ #: inc/class-php-admin-notice.php:177
3991
  msgid "Your BackWPup Team!"
3992
  msgstr ""
3993
 
3994
+ #. Translators: This is the anchor text for an HTML link pointing to BackWPup contact page
3995
+ #: inc/class-php-admin-notice.php:205
3996
  msgid "contact us"
3997
  msgstr ""
3998
 
3999
+ #. Translators: %s is replaced by an HTML link with text "contact us" pointing to BackWPup contact page
4000
+ #: inc/class-php-admin-notice.php:207
4001
  #, php-format
4002
  msgid "If you would like to have PHP 5.2 supported, please %s."
4003
  msgstr ""
4004
 
4005
+ #: inc/class-php-admin-notice.php:208
4006
  msgid "https://backwpup.com/php52/"
4007
  msgstr ""
4008
 
4844
  msgid "Wizards"
4845
  msgstr ""
4846
 
4847
+ #: inc/pro/class-settings-apikeys.php:45
4848
  msgid "Hash key"
4849
  msgstr ""
4850
 
4851
+ #: inc/pro/class-settings-apikeys.php:46
4852
  msgid "Hash Key for BackWPup. It will be used to have hashes in folder and file names. It must at least 6 chars long."
4853
  msgstr ""
4854
 
4855
+ #: inc/pro/class-settings-apikeys.php:49
4856
  msgid "Hash key:"
4857
  msgstr ""
4858
 
4859
+ #: inc/pro/class-settings-apikeys.php:73
4860
  msgid "Dropbox API Keys"
4861
  msgstr ""
4862
 
4863
+ #: inc/pro/class-settings-apikeys.php:74
4864
  msgid "If you want to set your own Dropbox API Keys, you can do it here. Leave empty for default."
4865
  msgstr ""
4866
 
4867
+ #: inc/pro/class-settings-apikeys.php:77
4868
  msgid "Full Dropbox App key:"
4869
  msgstr ""
4870
 
4871
+ #: inc/pro/class-settings-apikeys.php:88
4872
  msgid "Full Dropbox App secret:"
4873
  msgstr ""
4874
 
4875
+ #: inc/pro/class-settings-apikeys.php:100
4876
  msgid "Sandbox App key:"
4877
  msgstr ""
4878
 
4879
+ #: inc/pro/class-settings-apikeys.php:111
4880
  msgid "Sandbox App secret:"
4881
  msgstr ""
4882
 
4883
+ #: inc/pro/class-settings-apikeys.php:131
4884
  msgid "SugarSync API Keys"
4885
  msgstr ""
4886
 
4887
+ #: inc/pro/class-settings-apikeys.php:132
4888
  msgid "If you want to set your own SugarSync API keys you can do that here. Leave empty for default."
4889
  msgstr ""
4890
 
4891
+ #: inc/pro/class-settings-apikeys.php:135
4892
  msgid "Access Key ID:"
4893
  msgstr ""
4894
 
4895
+ #: inc/pro/class-settings-apikeys.php:143
4896
  msgid "Private Access Key:"
4897
  msgstr ""
4898
 
4899
+ #: inc/pro/class-settings-apikeys.php:154
4900
  msgid "App ID:"
4901
  msgstr ""
4902
 
4903
+ #: inc/pro/class-settings-apikeys.php:175
4904
  msgid "Google API Keys"
4905
  msgstr ""
4906
 
4907
+ #: inc/pro/class-settings-apikeys.php:179
4908
  msgid "Client ID:"
4909
  msgstr ""
4910
 
4911
+ #: inc/pro/class-settings-apikeys.php:191
4912
  msgid "Client secret:"
4913
  msgstr ""
4914
 
4915
+ #: inc/pro/class-settings-apikeys.php:202
4916
  msgid "Redirect URIs:"
4917
  msgstr ""
4918
 
4919
+ #: inc/pro/class-settings-apikeys.php:206
4920
  msgid "Add this URI in a new line to the field."
4921
  msgstr ""
4922
 
5228
 
5229
  #: inc/pro/class-wizard-systemtest.php:202
5230
  msgid "There are errors. Please correct them, or BackWPup cannot work."
5231
+ msgstr ""
readme.txt CHANGED
@@ -2,15 +2,14 @@
2
  Contributors: inpsyde, danielhuesken, Bueltge, nullbyte
3
  Tags: Amazon, Amazon S3, back up, backup, chinese, cloud, cloud files, database, db backup, dropbox, dump, file, french, ftp, ftps, german, migrate, multisite, russian, schedule, sftp, storage, S3, time, upload, xml
4
  Requires at least: 3.9
5
- Tested up to: 4.7.2
6
- Stable tag: 3.3.6
7
  License: GPLv3
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
10
  Schedule complete automatic backups of your WordPress installation. Decide which content will be stored (Dropbox, S3…). This is the free version
11
 
12
  == Description ==
13
-
14
  The **backup plugin** **[BackWPup](http://backwpup.com/)** can be used to save your complete installation including /wp-content/ and push them to an external Backup Service, like **Dropbox**, **S3**, **FTP** and many more, see list below. With a single backup .zip file you are able to easily restore an installation. Please understand: this free version will not be supported as good as the [BackWPup Pro version](http://backwpup.com). With our premium version you get first class support and more features.
15
 
16
 
@@ -157,6 +156,15 @@ Yes. You need to have writing access to the wp-config.php file (usually residing
157
  [You can find a detailed tutorial in the BackWPup documentation.](http://docs.backwpup.com/article/118-install-backwpup)
158
 
159
  == Changelog ==
 
 
 
 
 
 
 
 
 
160
  = Version 3.3.6 =
161
  * Improved: Compatibility with PHP 7 and PHP 7.1
162
  * Improved: Encryption (use Open SSL when available, mcrypt as fallback for PHP 5.2 users)
2
  Contributors: inpsyde, danielhuesken, Bueltge, nullbyte
3
  Tags: Amazon, Amazon S3, back up, backup, chinese, cloud, cloud files, database, db backup, dropbox, dump, file, french, ftp, ftps, german, migrate, multisite, russian, schedule, sftp, storage, S3, time, upload, xml
4
  Requires at least: 3.9
5
+ Tested up to: 4.7.3
6
+ Stable tag: 3.3.7
7
  License: GPLv3
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
10
  Schedule complete automatic backups of your WordPress installation. Decide which content will be stored (Dropbox, S3…). This is the free version
11
 
12
  == Description ==
 
13
  The **backup plugin** **[BackWPup](http://backwpup.com/)** can be used to save your complete installation including /wp-content/ and push them to an external Backup Service, like **Dropbox**, **S3**, **FTP** and many more, see list below. With a single backup .zip file you are able to easily restore an installation. Please understand: this free version will not be supported as good as the [BackWPup Pro version](http://backwpup.com). With our premium version you get first class support and more features.
14
 
15
 
156
  [You can find a detailed tutorial in the BackWPup documentation.](http://docs.backwpup.com/article/118-install-backwpup)
157
 
158
  == Changelog ==
159
+ = Version 3.3.7 =
160
+ * Fixed: Services credentials lost after 3.3.6 update
161
+ * Fixed: Removed all instances of PHP short echo tags and other minor PHP 5.2 compatibility issues
162
+ * Improved: Dashboard widget only shown to user who has 'backwpup' capability and can be hidden defining INPSYDE_DASHBOARD_WIDGET constant
163
+ * Changed: German translation of job announcement in dashboard widget is now gender neutral
164
+ * Added: Italian translation for the plugin
165
+ * Added: Message in BackWPup dashboard to ask users to join as BackWPup beta testers
166
+ * PRO: Fixed: Removed duplicate file in Google vendor folder
167
+
168
  = Version 3.3.6 =
169
  * Improved: Compatibility with PHP 7 and PHP 7.1
170
  * Improved: Encryption (use Open SSL when available, mcrypt as fallback for PHP 5.2 users)