BackWPup – WordPress Backup Plugin - Version 3.6.9

Version Description

Download this release

Release Info

Developer dinamiko
Plugin Icon 128x128 BackWPup – WordPress Backup Plugin
Version 3.6.9
Comparing to
See all releases

Code changes from version 3.6.8 to 3.6.9

Files changed (36) hide show
  1. assets/templates/phpnotice/de/notice.php +2 -2
  2. assets/templates/phpnotice/de/question.php +3 -3
  3. assets/templates/phpnotice/de_DE_formal/notice.php +2 -2
  4. assets/templates/phpnotice/de_DE_formal/question.php +3 -3
  5. assets/templates/phpnotice/en/notice.php +2 -2
  6. assets/templates/phpnotice/en/question.php +3 -3
  7. assets/templates/phpnotice/it/notice.php +2 -2
  8. assets/templates/phpnotice/it/question.php +3 -3
  9. backwpup.php +22 -22
  10. inc/Helper/MimeType.php +0 -222
  11. inc/class-admin.php +1 -1
  12. inc/class-destination-downloader.php +1 -1
  13. inc/class-destination-dropbox-api.php +5 -5
  14. inc/class-destination-email.php +2 -2
  15. inc/class-destination-msazure.php +6 -13
  16. inc/class-destination-rsc.php +6 -7
  17. inc/class-destination-s3.php +7 -8
  18. inc/class-destination-sugarsync.php +3 -3
  19. inc/class-download-file.php +2 -2
  20. inc/class-job.php +16 -3
  21. inc/class-option.php +1 -1
  22. languages/backwpup.pot +87 -87
  23. readme.txt +22 -5
  24. vendor/autoload.php +1 -1
  25. vendor/composer/autoload_classmap.php +1 -0
  26. vendor/composer/autoload_psr4.php +1 -0
  27. vendor/composer/autoload_real.php +7 -7
  28. vendor/composer/autoload_static.php +12 -6
  29. vendor/composer/installed.json +50 -31
  30. vendor/inpsyde/backwpup-shared/src/File/MimeTypeExtractor.php +227 -0
  31. vendor/pear/pear-core-minimal/src/PEAR.php +1 -1
  32. vendor/pear/pear-core-minimal/src/PEAR/ErrorStack.php +1 -1
  33. vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php +0 -4
  34. vendor/symfony/event-dispatcher/Debug/WrappedListener.php +6 -2
  35. vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php +1 -1
  36. vendor/symfony/event-dispatcher/GenericEvent.php +1 -1
assets/templates/phpnotice/de/notice.php CHANGED
@@ -29,7 +29,7 @@ if ( ! $plugin_name || ! $more_info_url ) {
29
 
30
  </p>
31
  <p class="notice-links">
32
- <?= $buttons->agree_button() ?>
33
- <?= $buttons->more_info_button( $more_info_url ) ?>
34
  </p>
35
  </div>
29
 
30
  </p>
31
  <p class="notice-links">
32
+ <?php echo $buttons->agree_button() ?>
33
+ <?php echo $buttons->more_info_button( $more_info_url ) ?>
34
  </p>
35
  </div>
assets/templates/phpnotice/de/question.php CHANGED
@@ -52,9 +52,9 @@ if ( ! $plugin_name || ! $title ) {
52
  </p>
53
 
54
  <p class="page-links">
55
- <?= $buttons->agree_button() ?>
56
- <?= $buttons->maybe_button() ?>
57
- <?= $buttons->disagree_button() ?>
58
  </p>
59
 
60
  </div>
52
  </p>
53
 
54
  <p class="page-links">
55
+ <?php echo $buttons->agree_button() ?>
56
+ <?php echo $buttons->maybe_button() ?>
57
+ <?php echo $buttons->disagree_button() ?>
58
  </p>
59
 
60
  </div>
assets/templates/phpnotice/de_DE_formal/notice.php CHANGED
@@ -29,7 +29,7 @@ if ( ! $plugin_name || ! $more_info_url ) {
29
 
30
  </p>
31
  <p class="notice-links">
32
- <?= $buttons->agree_button() ?>
33
- <?= $buttons->more_info_button( $more_info_url ) ?>
34
  </p>
35
  </div>
29
 
30
  </p>
31
  <p class="notice-links">
32
+ <?php echo $buttons->agree_button() ?>
33
+ <?php echo $buttons->more_info_button( $more_info_url ) ?>
34
  </p>
35
  </div>
assets/templates/phpnotice/de_DE_formal/question.php CHANGED
@@ -52,9 +52,9 @@ if ( ! $plugin_name || ! $title ) {
52
  </p>
53
 
54
  <p class="page-links">
55
- <?= $buttons->agree_button() ?>
56
- <?= $buttons->maybe_button() ?>
57
- <?= $buttons->disagree_button() ?>
58
  </p>
59
 
60
  </div>
52
  </p>
53
 
54
  <p class="page-links">
55
+ <?php echo $buttons->agree_button() ?>
56
+ <?php echo $buttons->maybe_button() ?>
57
+ <?php echo $buttons->disagree_button() ?>
58
  </p>
59
 
60
  </div>
assets/templates/phpnotice/en/notice.php CHANGED
@@ -30,7 +30,7 @@ if ( ! $plugin_name || ! $more_info_url ) {
30
 
31
  </p>
32
  <p class="notice-links">
33
- <?= $buttons->agree_button() ?>
34
- <?= $buttons->more_info_button( $more_info_url ) ?>
35
  </p>
36
  </div>
30
 
31
  </p>
32
  <p class="notice-links">
33
+ <?php echo $buttons->agree_button() ?>
34
+ <?php echo $buttons->more_info_button( $more_info_url ) ?>
35
  </p>
36
  </div>
assets/templates/phpnotice/en/question.php CHANGED
@@ -57,9 +57,9 @@ if ( ! $plugin_name || ! $title ) {
57
  </p>
58
 
59
  <p class="page-links">
60
- <?= $buttons->agree_button() ?>
61
- <?= $buttons->maybe_button() ?>
62
- <?= $buttons->disagree_button() ?>
63
  </p>
64
 
65
  </div>
57
  </p>
58
 
59
  <p class="page-links">
60
+ <?php echo $buttons->agree_button() ?>
61
+ <?php echo $buttons->maybe_button() ?>
62
+ <?php echo $buttons->disagree_button() ?>
63
  </p>
64
 
65
  </div>
assets/templates/phpnotice/it/notice.php CHANGED
@@ -30,7 +30,7 @@ if ( ! $plugin_name || ! $more_info_url ) {
30
 
31
  </p>
32
  <p class="notice-links">
33
- <?= $buttons->agree_button() ?>
34
- <?= $buttons->more_info_button( $more_info_url ) ?>
35
  </p>
36
  </div>
30
 
31
  </p>
32
  <p class="notice-links">
33
+ <?php echo $buttons->agree_button() ?>
34
+ <?php echo $buttons->more_info_button( $more_info_url ) ?>
35
  </p>
36
  </div>
assets/templates/phpnotice/it/question.php CHANGED
@@ -58,9 +58,9 @@ if ( ! $plugin_name || ! $title ) {
58
  </p>
59
 
60
  <p class="page-links">
61
- <?= $buttons->agree_button() ?>
62
- <?= $buttons->maybe_button() ?>
63
- <?= $buttons->disagree_button() ?>
64
  </p>
65
 
66
  </div>
58
  </p>
59
 
60
  <p class="page-links">
61
+ <?php echo $buttons->agree_button() ?>
62
+ <?php echo $buttons->maybe_button() ?>
63
+ <?php echo $buttons->disagree_button() ?>
64
  </p>
65
 
66
  </div>
backwpup.php CHANGED
@@ -5,30 +5,11 @@
5
  * Description: WordPress Backup Plugin
6
  * Author: Inpsyde GmbH
7
  * Author URI: http://inpsyde.com
8
- * Version: 3.6.8
9
  * Text Domain: backwpup
10
  * Domain Path: /languages/
11
  * Network: true
12
- * License: GPLv3
13
- * License URI: http://www.gnu.org/licenses/gpl-3.0
14
- */
15
-
16
- /**
17
- * Copyright (C) 2012-2016 Inpsyde GmbH (email: info@inpsyde.com)
18
- *
19
- * This program is free software; you can redistribute it and/or
20
- * modify it under the terms of the GNU General Public License
21
- * as published by the Free Software Foundation; either version 2
22
- * of the License, or (at your option) any later version.
23
- *
24
- * This program is distributed in the hope that it will be useful,
25
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
26
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27
- * GNU General Public License for more details.
28
- *
29
- * You should have received a copy of the GNU General Public License
30
- * along with this program; if not, write to the Free Software
31
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
32
  */
33
 
34
  if ( ! class_exists( 'BackWPup', false ) ) {
@@ -206,7 +187,7 @@ if ( ! class_exists( 'BackWPup', false ) ) {
206
  || strlen(
207
  self::$plugin_data['hash']
208
  ) > 12 ) {
209
- self::$plugin_data['hash'] = substr( md5( md5( __FILE__ ) ), 14, 6 );
210
  update_site_option( 'backwpup_cfg_hash', self::$plugin_data['hash'] );
211
  }
212
  if ( defined( 'WP_TEMP_DIR' ) && is_dir( WP_TEMP_DIR ) ) {
@@ -244,6 +225,25 @@ if ( ! class_exists( 'BackWPup', false ) ) {
244
  }
245
  }
246
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
247
  /**
248
  * Load Plugin Translation
249
  *
5
  * Description: WordPress Backup Plugin
6
  * Author: Inpsyde GmbH
7
  * Author URI: http://inpsyde.com
8
+ * Version: 3.6.9
9
  * Text Domain: backwpup
10
  * Domain Path: /languages/
11
  * Network: true
12
+ * License: GPLv2+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  */
14
 
15
  if ( ! class_exists( 'BackWPup', false ) ) {
187
  || strlen(
188
  self::$plugin_data['hash']
189
  ) > 12 ) {
190
+ self::$plugin_data['hash'] = self::get_generated_hash(6);
191
  update_site_option( 'backwpup_cfg_hash', self::$plugin_data['hash'] );
192
  }
193
  if ( defined( 'WP_TEMP_DIR' ) && is_dir( WP_TEMP_DIR ) ) {
225
  }
226
  }
227
 
228
+ /**
229
+ * Generates a random hash
230
+ *
231
+ * @param int $length
232
+ *
233
+ * @return string
234
+ */
235
+ public static function get_generated_hash( $length = 6 ) {
236
+
237
+ $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
238
+
239
+ $hash = '';
240
+ for ( $i = 0; $i < 254; $i++ ) {
241
+ $hash .= $chars[mt_rand(0, 61)];
242
+ }
243
+
244
+ return substr(md5($hash), mt_rand(0, 31 - $length), $length);
245
+ }
246
+
247
  /**
248
  * Load Plugin Translation
249
  *
inc/Helper/MimeType.php DELETED
@@ -1,222 +0,0 @@
1
- <?php # -*- coding: utf-8 -*-
2
-
3
- namespace Inpsyde\BackWPup\Helper;
4
-
5
- /**
6
- * Class MimeType
7
- */
8
- class MimeType {
9
-
10
- const DEFAULT_MIME_TYPE = 'application/octet-stream';
11
-
12
- private static $mime_types = array(
13
- 'zip' => 'application/zip',
14
- 'gz' => 'application/gzip',
15
- 'bz2' => 'application/x-bzip',
16
- 'tar' => 'application/x-tar',
17
- '3gp' => 'video/3gpp',
18
- 'ai' => 'application/postscript',
19
- 'aif' => 'audio/x-aiff',
20
- 'aifc' => 'audio/x-aiff',
21
- 'aiff' => 'audio/x-aiff',
22
- 'asc' => 'text/plain',
23
- 'atom' => 'application/atom+xml',
24
- 'au' => 'audio/basic',
25
- 'avi' => 'video/x-msvideo',
26
- 'bcpio' => 'application/x-bcpio',
27
- 'bin' => 'application/octet-stream',
28
- 'bmp' => 'image/bmp',
29
- 'cdf' => 'application/x-netcdf',
30
- 'cgm' => 'image/cgm',
31
- 'class' => 'application/octet-stream',
32
- 'cpio' => 'application/x-cpio',
33
- 'cpt' => 'application/mac-compactpro',
34
- 'csh' => 'application/x-csh',
35
- 'css' => 'text/css',
36
- 'dcr' => 'application/x-director',
37
- 'dif' => 'video/x-dv',
38
- 'dir' => 'application/x-director',
39
- 'djv' => 'image/vnd.djvu',
40
- 'djvu' => 'image/vnd.djvu',
41
- 'dll' => 'application/octet-stream',
42
- 'dmg' => 'application/octet-stream',
43
- 'dms' => 'application/octet-stream',
44
- 'doc' => 'application/msword',
45
- 'dtd' => 'application/xml-dtd',
46
- 'dv' => 'video/x-dv',
47
- 'dvi' => 'application/x-dvi',
48
- 'dxr' => 'application/x-director',
49
- 'eps' => 'application/postscript',
50
- 'etx' => 'text/x-setext',
51
- 'exe' => 'application/octet-stream',
52
- 'ez' => 'application/andrew-inset',
53
- 'flv' => 'video/x-flv',
54
- 'gif' => 'image/gif',
55
- 'gram' => 'application/srgs',
56
- 'grxml' => 'application/srgs+xml',
57
- 'gtar' => 'application/x-gtar',
58
- 'hdf' => 'application/x-hdf',
59
- 'hqx' => 'application/mac-binhex40',
60
- 'htm' => 'text/html',
61
- 'html' => 'text/html',
62
- 'ice' => 'x-conference/x-cooltalk',
63
- 'ico' => 'image/x-icon',
64
- 'ics' => 'text/calendar',
65
- 'ief' => 'image/ief',
66
- 'ifb' => 'text/calendar',
67
- 'iges' => 'model/iges',
68
- 'igs' => 'model/iges',
69
- 'jnlp' => 'application/x-java-jnlp-file',
70
- 'jp2' => 'image/jp2',
71
- 'jpe' => 'image/jpeg',
72
- 'jpeg' => 'image/jpeg',
73
- 'jpg' => 'image/jpeg',
74
- 'js' => 'application/x-javascript',
75
- 'kar' => 'audio/midi',
76
- 'latex' => 'application/x-latex',
77
- 'lha' => 'application/octet-stream',
78
- 'lzh' => 'application/octet-stream',
79
- 'm3u' => 'audio/x-mpegurl',
80
- 'm4a' => 'audio/mp4a-latm',
81
- 'm4p' => 'audio/mp4a-latm',
82
- 'm4u' => 'video/vnd.mpegurl',
83
- 'm4v' => 'video/x-m4v',
84
- 'mac' => 'image/x-macpaint',
85
- 'man' => 'application/x-troff-man',
86
- 'mathml' => 'application/mathml+xml',
87
- 'me' => 'application/x-troff-me',
88
- 'mesh' => 'model/mesh',
89
- 'mid' => 'audio/midi',
90
- 'midi' => 'audio/midi',
91
- 'mif' => 'application/vnd.mif',
92
- 'mov' => 'video/quicktime',
93
- 'movie' => 'video/x-sgi-movie',
94
- 'mp2' => 'audio/mpeg',
95
- 'mp3' => 'audio/mpeg',
96
- 'mp4' => 'video/mp4',
97
- 'mpe' => 'video/mpeg',
98
- 'mpeg' => 'video/mpeg',
99
- 'mpg' => 'video/mpeg',
100
- 'mpga' => 'audio/mpeg',
101
- 'ms' => 'application/x-troff-ms',
102
- 'msh' => 'model/mesh',
103
- 'mxu' => 'video/vnd.mpegurl',
104
- 'nc' => 'application/x-netcdf',
105
- 'oda' => 'application/oda',
106
- 'ogg' => 'application/ogg',
107
- 'ogv' => 'video/ogv',
108
- 'pbm' => 'image/x-portable-bitmap',
109
- 'pct' => 'image/pict',
110
- 'pdb' => 'chemical/x-pdb',
111
- 'pdf' => 'application/pdf',
112
- 'pgm' => 'image/x-portable-graymap',
113
- 'pgn' => 'application/x-chess-pgn',
114
- 'pic' => 'image/pict',
115
- 'pict' => 'image/pict',
116
- 'png' => 'image/png',
117
- 'pnm' => 'image/x-portable-anymap',
118
- 'pnt' => 'image/x-macpaint',
119
- 'pntg' => 'image/x-macpaint',
120
- 'ppm' => 'image/x-portable-pixmap',
121
- 'ppt' => 'application/vnd.ms-powerpoint',
122
- 'ps' => 'application/postscript',
123
- 'qt' => 'video/quicktime',
124
- 'qti' => 'image/x-quicktime',
125
- 'qtif' => 'image/x-quicktime',
126
- 'ra' => 'audio/x-pn-realaudio',
127
- 'ram' => 'audio/x-pn-realaudio',
128
- 'ras' => 'image/x-cmu-raster',
129
- 'rdf' => 'application/rdf+xml',
130
- 'rgb' => 'image/x-rgb',
131
- 'rm' => 'application/vnd.rn-realmedia',
132
- 'roff' => 'application/x-troff',
133
- 'rtf' => 'text/rtf',
134
- 'rtx' => 'text/richtext',
135
- 'sgm' => 'text/sgml',
136
- 'sgml' => 'text/sgml',
137
- 'sh' => 'application/x-sh',
138
- 'shar' => 'application/x-shar',
139
- 'silo' => 'model/mesh',
140
- 'sit' => 'application/x-stuffit',
141
- 'skd' => 'application/x-koan',
142
- 'skm' => 'application/x-koan',
143
- 'skp' => 'application/x-koan',
144
- 'skt' => 'application/x-koan',
145
- 'smi' => 'application/smil',
146
- 'smil' => 'application/smil',
147
- 'snd' => 'audio/basic',
148
- 'so' => 'application/octet-stream',
149
- 'spl' => 'application/x-futuresplash',
150
- 'src' => 'application/x-wais-source',
151
- 'sv4cpio' => 'application/x-sv4cpio',
152
- 'sv4crc' => 'application/x-sv4crc',
153
- 'svg' => 'image/svg+xml',
154
- 'swf' => 'application/x-shockwave-flash',
155
- 't' => 'application/x-troff',
156
- 'tcl' => 'application/x-tcl',
157
- 'tex' => 'application/x-tex',
158
- 'texi' => 'application/x-texinfo',
159
- 'texinfo' => 'application/x-texinfo',
160
- 'tif' => 'image/tiff',
161
- 'tiff' => 'image/tiff',
162
- 'tr' => 'application/x-troff',
163
- 'tsv' => 'text/tab-separated-values',
164
- 'txt' => 'text/plain',
165
- 'ustar' => 'application/x-ustar',
166
- 'vcd' => 'application/x-cdlink',
167
- 'vrml' => 'model/vrml',
168
- 'vxml' => 'application/voicexml+xml',
169
- 'wav' => 'audio/x-wav',
170
- 'wbmp' => 'image/vnd.wap.wbmp',
171
- 'wbxml' => 'application/vnd.wap.wbxml',
172
- 'webm' => 'video/webm',
173
- 'wml' => 'text/vnd.wap.wml',
174
- 'wmlc' => 'application/vnd.wap.wmlc',
175
- 'wmls' => 'text/vnd.wap.wmlscript',
176
- 'wmlsc' => 'application/vnd.wap.wmlscriptc',
177
- 'wmv' => 'video/x-ms-wmv',
178
- 'wrl' => 'model/vrml',
179
- 'xbm' => 'image/x-xbitmap',
180
- 'xht' => 'application/xhtml+xml',
181
- 'xhtml' => 'application/xhtml+xml',
182
- 'xls' => 'application/vnd.ms-excel',
183
- 'xml' => 'application/xml',
184
- 'xpm' => 'image/x-xpixmap',
185
- 'xsl' => 'application/xml',
186
- 'xslt' => 'application/xslt+xml',
187
- 'xul' => 'application/vnd.mozilla.xul+xml',
188
- 'xwd' => 'image/x-xwindowdump',
189
- 'xyz' => 'chemical/x-xyz',
190
- );
191
-
192
- public static function from_file_path( $file ) {
193
-
194
- if ( is_dir( $file ) || is_link( $file ) ) {
195
- return self::DEFAULT_MIME_TYPE;
196
- }
197
- if ( ! is_readable( $file ) ) {
198
- return self::DEFAULT_MIME_TYPE;
199
- }
200
-
201
- $filesuffix = pathinfo( $file, PATHINFO_EXTENSION );
202
- $suffix = strtolower( $filesuffix );
203
-
204
- if ( isset( self::$mime_types[ $suffix ] ) ) {
205
- return self::$mime_types[ $suffix ];
206
- }
207
-
208
- $mime_type = '';
209
- if ( function_exists( 'fileinfo' ) ) {
210
- $finfo = finfo_open( FILEINFO_MIME_TYPE );
211
- $mime_type = finfo_file( $finfo, $file );
212
- }
213
- if ( ! $mime_type && function_exists( 'mime_content_type' ) ) {
214
- $mime_type = mime_content_type( $file );
215
- }
216
- if ( $mime_type ) {
217
- return $mime_type;
218
- }
219
-
220
- return self::DEFAULT_MIME_TYPE;
221
- }
222
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/class-admin.php CHANGED
@@ -257,7 +257,7 @@ final class BackWPup_Admin {
257
  array(
258
  BackWPup::get_destination( $id ),
259
  'edit_ajax',
260
- )
261
  );
262
  }
263
  }
257
  array(
258
  BackWPup::get_destination( $id ),
259
  'edit_ajax',
260
+ ), 10, 0
261
  );
262
  }
263
  }
inc/class-destination-downloader.php CHANGED
@@ -7,7 +7,7 @@
7
  */
8
 
9
  use Inpsyde\Restore\Api\Controller\DecryptController;
10
- use Inpsyde\Restore\Api\Exception\DecryptException;
11
 
12
  /**
13
  * Class BackWPup_Destination_Downloader
7
  */
8
 
9
  use Inpsyde\Restore\Api\Controller\DecryptController;
10
+ use Inpsyde\Restore\Api\Module\Decryption\Exception\DecryptException;
11
 
12
  /**
13
  * Class BackWPup_Destination_Downloader
inc/class-destination-dropbox-api.php CHANGED
@@ -56,21 +56,21 @@ final class BackWPup_Destination_Dropbox_API {
56
  */
57
  public function __construct( $boxtype = 'dropbox', BackWPup_Job $job_object = null ) {
58
 
59
- if ( $boxtype == 'dropbox' ) {
60
  $this->oauth_app_key = get_site_option(
61
  'backwpup_cfg_dropboxappkey',
62
- base64_decode( "dHZkcjk1MnRhZnM1NmZ2" )
63
  );
64
  $this->oauth_app_secret = BackWPup_Encryption::decrypt(
65
- get_site_option( 'backwpup_cfg_dropboxappsecret', base64_decode( "OWV2bDR5MHJvZ2RlYmx1" ) )
66
  );
67
  } else {
68
  $this->oauth_app_key = get_site_option(
69
  'backwpup_cfg_dropboxsandboxappkey',
70
- base64_decode( "cHVrZmp1a3JoZHR5OTFk" )
71
  );
72
  $this->oauth_app_secret = BackWPup_Encryption::decrypt(
73
- get_site_option( 'backwpup_cfg_dropboxsandboxappsecret', base64_decode( "eGNoYzhxdTk5eHE0eWdq" ) )
74
  );
75
  }
76
 
56
  */
57
  public function __construct( $boxtype = 'dropbox', BackWPup_Job $job_object = null ) {
58
 
59
+ if ( $boxtype === 'dropbox' ) {
60
  $this->oauth_app_key = get_site_option(
61
  'backwpup_cfg_dropboxappkey',
62
+ base64_decode( 'NXdtdXl0cm5qZzB5aHhw' )
63
  );
64
  $this->oauth_app_secret = BackWPup_Encryption::decrypt(
65
+ get_site_option( 'backwpup_cfg_dropboxappsecret', base64_decode( 'cXYzZmp2N2IxcG1rbWxy' ) )
66
  );
67
  } else {
68
  $this->oauth_app_key = get_site_option(
69
  'backwpup_cfg_dropboxsandboxappkey',
70
+ base64_decode( 'a3RqeTJwdXFwZWVydW92' )
71
  );
72
  $this->oauth_app_secret = BackWPup_Encryption::decrypt(
73
+ get_site_option( 'backwpup_cfg_dropboxsandboxappsecret', base64_decode( 'aXJ1eDF3Ym9mMHM5eGp6' ) )
74
  );
75
  }
76
 
inc/class-destination-email.php CHANGED
@@ -3,7 +3,7 @@
3
  // http://swiftmailer.org/
4
  // https://github.com/swiftmailer/swiftmailer
5
 
6
- use Inpsyde\BackWPup\Helper;
7
 
8
  /**
9
  *
@@ -336,7 +336,7 @@ class BackWPup_Destination_Email extends BackWPup_Destinations {
336
  $message->setFrom( array( $job_object->job['emailsndemail'] => $job_object->job['emailsndemailname'] ) );
337
  $message->setTo( $this->get_email_array( $job_object->job['emailaddress'] ) );
338
  $message->setBody( sprintf( __( 'Backup archive: %s', 'backwpup' ), $job_object->backup_file ), 'text/plain', strtolower( get_bloginfo( 'charset' ) ) );
339
- $message->attach( Swift_Attachment::fromPath( $job_object->backup_folder . $job_object->backup_file, Helper\MimeType::from_file_path( $job_object->backup_folder . $job_object->backup_file ) ) );
340
  // Send the message
341
  $result = $emailer->send( $message );
342
  } catch ( Exception $e ) {
3
  // http://swiftmailer.org/
4
  // https://github.com/swiftmailer/swiftmailer
5
 
6
+ use \Inpsyde\BackWPupShared\File\MimeTypeExtractor;
7
 
8
  /**
9
  *
336
  $message->setFrom( array( $job_object->job['emailsndemail'] => $job_object->job['emailsndemailname'] ) );
337
  $message->setTo( $this->get_email_array( $job_object->job['emailaddress'] ) );
338
  $message->setBody( sprintf( __( 'Backup archive: %s', 'backwpup' ), $job_object->backup_file ), 'text/plain', strtolower( get_bloginfo( 'charset' ) ) );
339
+ $message->attach( Swift_Attachment::fromPath( $job_object->backup_folder . $job_object->backup_file, MimeTypeExtractor::fromFilePath( $job_object->backup_folder . $job_object->backup_file ) ) );
340
  // Send the message
341
  $result = $emailer->send( $message );
342
  } catch ( Exception $e ) {
inc/class-destination-msazure.php CHANGED
@@ -3,7 +3,7 @@
3
  // http://www.windowsazure.com/en-us/develop/php/
4
  // https://github.com/WindowsAzure/azure-sdk-for-php
5
 
6
- use Inpsyde\BackWPup\Helper;
7
 
8
  /**
9
  * Documentation: http://www.windowsazure.com/en-us/develop/php/how-to-guides/blob-service/
@@ -121,7 +121,6 @@ class BackWPup_Destination_MSAzure extends BackWPup_Destinations {
121
  //create a new container
122
  if ( ! empty( $_POST[ 'newmsazurecontainer' ] ) && ! empty( $_POST[ 'msazureaccname' ] ) && ! empty( $_POST[ 'msazurekey' ] ) ) {
123
  try {
124
- set_include_path( get_include_path() . PATH_SEPARATOR . BackWPup::get_plugin_data( 'plugindir' ) .'/vendor/PEAR/');
125
  $blobRestProxy = WindowsAzure\Common\ServicesBuilder::getInstance()->createBlobService( 'DefaultEndpointsProtocol=https;AccountName=' . sanitize_text_field( $_POST[ 'msazureaccname' ] ) . ';AccountKey=' . sanitize_text_field( $_POST[ 'msazurekey' ] ) );
126
  $container_options = new WindowsAzure\Blob\Models\CreateContainerOptions();
127
  $container_options->setPublicAccess( WindowsAzure\Blob\Models\PublicAccessType::NONE );
@@ -147,7 +146,6 @@ class BackWPup_Destination_MSAzure extends BackWPup_Destinations {
147
 
148
  if ( BackWPup_Option::get( $jobid, 'msazureaccname' ) && BackWPup_Option::get( $jobid, 'msazurekey' ) && BackWPup_Option::get( $jobid, 'msazurecontainer' ) ) {
149
  try {
150
- set_include_path( get_include_path() . PATH_SEPARATOR . BackWPup::get_plugin_data( 'plugindir' ) .'/vendor/PEAR/');
151
  $blobRestProxy = WindowsAzure\Common\ServicesBuilder::getInstance()->createBlobService( 'DefaultEndpointsProtocol=https;AccountName=' . BackWPup_Option::get( $jobid, 'msazureaccname' ) . ';AccountKey=' . BackWPup_Encryption::decrypt( BackWPup_Option::get( $jobid, 'msazurekey' ) ) );
152
  $blobRestProxy->deleteBlob( BackWPup_Option::get( $jobid, 'msazurecontainer' ), $backupfile );
153
  //update file list
@@ -171,7 +169,6 @@ class BackWPup_Destination_MSAzure extends BackWPup_Destinations {
171
  */
172
  public function file_download( $jobid, $get_file, $local_file_path = null ) {
173
  try {
174
- set_include_path( get_include_path() . PATH_SEPARATOR . BackWPup::get_plugin_data( 'plugindir' ) .'/vendor/PEAR/');
175
  $blobRestProxy = WindowsAzure\Common\ServicesBuilder::getInstance()->createBlobService( 'DefaultEndpointsProtocol=https;AccountName=' . BackWPup_Option::get( $jobid, 'msazureaccname' ) . ';AccountKey=' . BackWPup_Encryption::decrypt( BackWPup_Option::get( $jobid, 'msazurekey' ) ) );
176
  $blob = $blobRestProxy->getBlob( BackWPup_Option::get( $jobid, 'msazurecontainer' ), $get_file );
177
  if ( $level = ob_get_level() ) {
@@ -182,7 +179,7 @@ class BackWPup_Destination_MSAzure extends BackWPup_Destinations {
182
  @set_time_limit( 300 );
183
  nocache_headers();
184
  header( 'Content-Description: File Transfer' );
185
- header( 'Content-Type: ' . Helper\MimeType::from_file_path( $get_file ) );
186
  header( 'Content-Disposition: attachment; filename="' . basename( $get_file ) . '"' );
187
  header( 'Content-Transfer-Encoding: binary' );
188
  header( 'Content-Length: ' . $blob->getProperties()->getContentLength() );
@@ -217,7 +214,6 @@ class BackWPup_Destination_MSAzure extends BackWPup_Destinations {
217
  $job_object->log( sprintf( __( '%d. Try sending backup to a Microsoft Azure (Blob)&#160;&hellip;', 'backwpup' ), $job_object->steps_data[ $job_object->step_working ][ 'STEP_TRY' ] ), E_USER_NOTICE );
218
 
219
  try {
220
- set_include_path( get_include_path() . PATH_SEPARATOR . BackWPup::get_plugin_data( 'plugindir' ) .'/vendor/PEAR/');
221
  /* @var $blobRestProxy WindowsAzure\Blob\BlobRestProxy */ //https causes an error SSL: Connection reset by peer that is why http
222
  $blobRestProxy = WindowsAzure\Common\ServicesBuilder::getInstance()->createBlobService('DefaultEndpointsProtocol=http;AccountName=' . $job_object->job[ 'msazureaccname' ] . ';AccountKey=' . BackWPup_Encryption::decrypt( $job_object->job[ 'msazurekey' ] ) );
223
 
@@ -413,16 +409,14 @@ class BackWPup_Destination_MSAzure extends BackWPup_Destinations {
413
  }
414
 
415
  /**
416
- * @param string $args
417
  */
418
- public function edit_ajax( $args = '' ) {
419
 
420
  $error = '';
 
421
 
422
- if ( is_array( $args ) ) {
423
- $ajax = FALSE;
424
- }
425
- else {
426
  if ( ! current_user_can( 'backwpup_jobs_edit' ) )
427
  wp_die( -1 );
428
  check_ajax_referer( 'backwpup_ajax_nonce' );
@@ -435,7 +429,6 @@ class BackWPup_Destination_MSAzure extends BackWPup_Destinations {
435
 
436
  if ( ! empty( $args[ 'msazureaccname' ] ) && ! empty( $args[ 'msazurekey' ] ) ) {
437
  try {
438
- set_include_path( get_include_path() . PATH_SEPARATOR . BackWPup::get_plugin_data( 'plugindir' ) .'/vendor/PEAR/');
439
  $blobRestProxy = WindowsAzure\Common\ServicesBuilder::getInstance()->createBlobService( 'DefaultEndpointsProtocol=https;AccountName=' . $args[ 'msazureaccname' ] . ';AccountKey=' . BackWPup_Encryption::decrypt( $args[ 'msazurekey' ] ) );
440
  $containers = $blobRestProxy->listContainers()->getContainers();
441
  }
3
  // http://www.windowsazure.com/en-us/develop/php/
4
  // https://github.com/WindowsAzure/azure-sdk-for-php
5
 
6
+ use \Inpsyde\BackWPupShared\File\MimeTypeExtractor;
7
 
8
  /**
9
  * Documentation: http://www.windowsazure.com/en-us/develop/php/how-to-guides/blob-service/
121
  //create a new container
122
  if ( ! empty( $_POST[ 'newmsazurecontainer' ] ) && ! empty( $_POST[ 'msazureaccname' ] ) && ! empty( $_POST[ 'msazurekey' ] ) ) {
123
  try {
 
124
  $blobRestProxy = WindowsAzure\Common\ServicesBuilder::getInstance()->createBlobService( 'DefaultEndpointsProtocol=https;AccountName=' . sanitize_text_field( $_POST[ 'msazureaccname' ] ) . ';AccountKey=' . sanitize_text_field( $_POST[ 'msazurekey' ] ) );
125
  $container_options = new WindowsAzure\Blob\Models\CreateContainerOptions();
126
  $container_options->setPublicAccess( WindowsAzure\Blob\Models\PublicAccessType::NONE );
146
 
147
  if ( BackWPup_Option::get( $jobid, 'msazureaccname' ) && BackWPup_Option::get( $jobid, 'msazurekey' ) && BackWPup_Option::get( $jobid, 'msazurecontainer' ) ) {
148
  try {
 
149
  $blobRestProxy = WindowsAzure\Common\ServicesBuilder::getInstance()->createBlobService( 'DefaultEndpointsProtocol=https;AccountName=' . BackWPup_Option::get( $jobid, 'msazureaccname' ) . ';AccountKey=' . BackWPup_Encryption::decrypt( BackWPup_Option::get( $jobid, 'msazurekey' ) ) );
150
  $blobRestProxy->deleteBlob( BackWPup_Option::get( $jobid, 'msazurecontainer' ), $backupfile );
151
  //update file list
169
  */
170
  public function file_download( $jobid, $get_file, $local_file_path = null ) {
171
  try {
 
172
  $blobRestProxy = WindowsAzure\Common\ServicesBuilder::getInstance()->createBlobService( 'DefaultEndpointsProtocol=https;AccountName=' . BackWPup_Option::get( $jobid, 'msazureaccname' ) . ';AccountKey=' . BackWPup_Encryption::decrypt( BackWPup_Option::get( $jobid, 'msazurekey' ) ) );
173
  $blob = $blobRestProxy->getBlob( BackWPup_Option::get( $jobid, 'msazurecontainer' ), $get_file );
174
  if ( $level = ob_get_level() ) {
179
  @set_time_limit( 300 );
180
  nocache_headers();
181
  header( 'Content-Description: File Transfer' );
182
+ header( 'Content-Type: ' . MimeTypeExtractor::fromFilePath( $get_file ) );
183
  header( 'Content-Disposition: attachment; filename="' . basename( $get_file ) . '"' );
184
  header( 'Content-Transfer-Encoding: binary' );
185
  header( 'Content-Length: ' . $blob->getProperties()->getContentLength() );
214
  $job_object->log( sprintf( __( '%d. Try sending backup to a Microsoft Azure (Blob)&#160;&hellip;', 'backwpup' ), $job_object->steps_data[ $job_object->step_working ][ 'STEP_TRY' ] ), E_USER_NOTICE );
215
 
216
  try {
 
217
  /* @var $blobRestProxy WindowsAzure\Blob\BlobRestProxy */ //https causes an error SSL: Connection reset by peer that is why http
218
  $blobRestProxy = WindowsAzure\Common\ServicesBuilder::getInstance()->createBlobService('DefaultEndpointsProtocol=http;AccountName=' . $job_object->job[ 'msazureaccname' ] . ';AccountKey=' . BackWPup_Encryption::decrypt( $job_object->job[ 'msazurekey' ] ) );
219
 
409
  }
410
 
411
  /**
412
+ * @param array $args
413
  */
414
+ public function edit_ajax( $args = array() ) {
415
 
416
  $error = '';
417
+ $ajax = FALSE;
418
 
419
+ if ( isset($_POST[ 'msazureaccname' ]) || isset($_POST[ 'msazurekey' ]) ) {
 
 
 
420
  if ( ! current_user_can( 'backwpup_jobs_edit' ) )
421
  wp_die( -1 );
422
  check_ajax_referer( 'backwpup_ajax_nonce' );
429
 
430
  if ( ! empty( $args[ 'msazureaccname' ] ) && ! empty( $args[ 'msazurekey' ] ) ) {
431
  try {
 
432
  $blobRestProxy = WindowsAzure\Common\ServicesBuilder::getInstance()->createBlobService( 'DefaultEndpointsProtocol=https;AccountName=' . $args[ 'msazureaccname' ] . ';AccountKey=' . BackWPup_Encryption::decrypt( $args[ 'msazurekey' ] ) );
433
  $containers = $blobRestProxy->listContainers()->getContainers();
434
  }
inc/class-destination-rsc.php CHANGED
@@ -3,7 +3,7 @@
3
  // http://www.rackspace.com/cloud/files/
4
  // https://github.com/rackspace/php-opencloud
5
 
6
- use Inpsyde\BackWPup\Helper;
7
 
8
  /**
9
  *
@@ -228,7 +228,7 @@ class BackWPup_Destination_RSC extends BackWPup_Destinations {
228
  @set_time_limit( 300 );
229
  nocache_headers();
230
  header( 'Content-Description: File Transfer' );
231
- header( 'Content-Type: ' . Helper\MimeType::from_file_path( $get_file ) );
232
  header( 'Content-Disposition: attachment; filename="' . basename( $get_file ) . '"' );
233
  header( 'Content-Transfer-Encoding: binary' );
234
  header( 'Content-Length: ' . $backupfile->getContentLength() );
@@ -426,15 +426,14 @@ class BackWPup_Destination_RSC extends BackWPup_Destinations {
426
  }
427
 
428
  /**
429
- * @param string $args
430
  */
431
- public function edit_ajax( $args = '' ) {
432
 
433
  $error = '';
 
434
 
435
- if ( is_array( $args ) ) {
436
- $ajax = FALSE;
437
- } else {
438
  if ( ! current_user_can( 'backwpup_jobs_edit' ) )
439
  wp_die( -1 );
440
  check_ajax_referer( 'backwpup_ajax_nonce' );
3
  // http://www.rackspace.com/cloud/files/
4
  // https://github.com/rackspace/php-opencloud
5
 
6
+ use \Inpsyde\BackWPupShared\File\MimeTypeExtractor;
7
 
8
  /**
9
  *
228
  @set_time_limit( 300 );
229
  nocache_headers();
230
  header( 'Content-Description: File Transfer' );
231
+ header( 'Content-Type: ' . MimeTypeExtractor::fromFilePath( $get_file ) );
232
  header( 'Content-Disposition: attachment; filename="' . basename( $get_file ) . '"' );
233
  header( 'Content-Transfer-Encoding: binary' );
234
  header( 'Content-Length: ' . $backupfile->getContentLength() );
426
  }
427
 
428
  /**
429
+ * @param array $args
430
  */
431
+ public function edit_ajax( $args = array() ) {
432
 
433
  $error = '';
434
+ $ajax = FALSE;
435
 
436
+ if ( isset($_POST[ 'rscusername' ]) || isset($_POST[ 'rscapikey' ]) ) {
 
 
437
  if ( ! current_user_can( 'backwpup_jobs_edit' ) )
438
  wp_die( -1 );
439
  check_ajax_referer( 'backwpup_ajax_nonce' );
inc/class-destination-s3.php CHANGED
@@ -4,7 +4,7 @@
4
  // https://github.com/aws/aws-sdk-php
5
  // http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
6
 
7
- use Inpsyde\BackWPup\Helper;
8
 
9
  /**
10
  * Documentation: http://docs.amazonwebservices.com/aws-sdk-php-2/latest/class-Aws.S3.S3Client.html
@@ -305,16 +305,15 @@ class BackWPup_Destination_S3 extends BackWPup_Destinations {
305
  }
306
 
307
  /**
308
- * @param string $args
309
  */
310
- public function edit_ajax( $args = '' ) {
311
 
312
  $error = '';
313
  $buckets_list = array();
 
314
 
315
- if ( is_array( $args ) ) {
316
- $ajax = false;
317
- } else {
318
  if ( ! current_user_can( 'backwpup_jobs_edit' ) ) {
319
  wp_die( - 1 );
320
  }
@@ -860,7 +859,7 @@ class BackWPup_Destination_S3 extends BackWPup_Destinations {
860
 
861
  $create_args['Body'] = $up_file_handle;
862
  $create_args['Key'] = $job_object->job['s3dir'] . $job_object->backup_file;
863
- $create_args['ContentType'] = Helper\MimeType::from_file_path( $job_object->backup_folder . $job_object->backup_file );
864
 
865
  try {
866
  $s3->putObject( $create_args );
@@ -883,7 +882,7 @@ class BackWPup_Destination_S3 extends BackWPup_Destinations {
883
  $args = array(
884
  'ACL' => 'private',
885
  'Bucket' => $job_object->job['s3bucket'],
886
- 'ContentType' => Helper\MimeType::from_file_path( $job_object->backup_folder . $job_object->backup_file ),
887
  'Key' => $job_object->job['s3dir'] . $job_object->backup_file,
888
  );
889
  if ( ! empty( $job_object->job['s3ssencrypt'] ) ) {
4
  // https://github.com/aws/aws-sdk-php
5
  // http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
6
 
7
+ use \Inpsyde\BackWPupShared\File\MimeTypeExtractor;
8
 
9
  /**
10
  * Documentation: http://docs.amazonwebservices.com/aws-sdk-php-2/latest/class-Aws.S3.S3Client.html
305
  }
306
 
307
  /**
308
+ * @param array $args
309
  */
310
+ public function edit_ajax( $args = array() ) {
311
 
312
  $error = '';
313
  $buckets_list = array();
314
+ $ajax = false;
315
 
316
+ if ( isset($_POST['s3accesskey']) || isset($_POST['s3secretkey']) ) {
 
 
317
  if ( ! current_user_can( 'backwpup_jobs_edit' ) ) {
318
  wp_die( - 1 );
319
  }
859
 
860
  $create_args['Body'] = $up_file_handle;
861
  $create_args['Key'] = $job_object->job['s3dir'] . $job_object->backup_file;
862
+ $create_args['ContentType'] = MimeTypeExtractor::fromFilePath( $job_object->backup_folder . $job_object->backup_file );
863
 
864
  try {
865
  $s3->putObject( $create_args );
882
  $args = array(
883
  'ACL' => 'private',
884
  'Bucket' => $job_object->job['s3bucket'],
885
+ 'ContentType' => MimeTypeExtractor::fromFilePath( $job_object->backup_folder . $job_object->backup_file ),
886
  'Key' => $job_object->job['s3dir'] . $job_object->backup_file,
887
  );
888
  if ( ! empty( $job_object->job['s3ssencrypt'] ) ) {
inc/class-destination-sugarsync.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- use Inpsyde\BackWPup\Helper;
4
 
5
  /**
6
  *
@@ -203,7 +203,7 @@ class BackWPup_Destination_SugarSync extends BackWPup_Destinations {
203
  @set_time_limit( 300 );
204
  nocache_headers();
205
  header( 'Content-Description: File Transfer' );
206
- header( 'Content-Type: ' . Helper\MimeType::from_file_path( (string) $response->displayName ) );
207
  header( 'Content-Disposition: attachment; filename="' . (string) $response->displayName . '"' );
208
  header( 'Content-Transfer-Encoding: binary' );
209
  header( 'Content-Length: ' . (int) $response->size );
@@ -855,7 +855,7 @@ class BackWPup_Destination_SugarSync_API {
855
  $name = basename( $file );
856
  }
857
 
858
- $content_type = Helper\MimeType::from_file_path( $file );
859
 
860
  $xmlrequest = '<?xml version="1.0" encoding="UTF-8"?>';
861
  $xmlrequest .= '<file>';
1
  <?php
2
 
3
+ use \Inpsyde\BackWPupShared\File\MimeTypeExtractor;
4
 
5
  /**
6
  *
203
  @set_time_limit( 300 );
204
  nocache_headers();
205
  header( 'Content-Description: File Transfer' );
206
+ header( 'Content-Type: ' . MimeTypeExtractor::fromFilePath( (string) $response->displayName ) );
207
  header( 'Content-Disposition: attachment; filename="' . (string) $response->displayName . '"' );
208
  header( 'Content-Transfer-Encoding: binary' );
209
  header( 'Content-Length: ' . (int) $response->size );
855
  $name = basename( $file );
856
  }
857
 
858
+ $content_type = MimeTypeExtractor::fromFilePath( $file );
859
 
860
  $xmlrequest = '<?xml version="1.0" encoding="UTF-8"?>';
861
  $xmlrequest .= '<file>';
inc/class-download-file.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- use Inpsyde\BackWPup\Helper;
4
 
5
  /**
6
  * Class BackWPup_Download_File
@@ -115,7 +115,7 @@ final class BackWPup_Download_File implements BackWPup_Download_File_Interface {
115
  */
116
  public function headers() {
117
 
118
- $mime = Helper\MimeType::from_file_path( $this->filepath );
119
 
120
  $level = ob_get_level();
121
  if ( $level ) {
1
  <?php
2
 
3
+ use \Inpsyde\BackWPupShared\File\MimeTypeExtractor;
4
 
5
  /**
6
  * Class BackWPup_Download_File
115
  */
116
  public function headers() {
117
 
118
+ $mime = MimeTypeExtractor::fromFilePath( $this->filepath );
119
 
120
  $level = ob_get_level();
121
  if ( $level ) {
inc/class-job.php CHANGED
@@ -268,7 +268,7 @@ final class BackWPup_Job {
268
  //set Logfile
269
  $log_folder = get_site_option( 'backwpup_cfg_logfolder' );
270
  $log_folder = BackWPup_File::get_absolute_path( $log_folder );
271
- $this->logfile = $log_folder . 'backwpup_log_' . BackWPup::get_plugin_data( 'hash' ) . '_' . date( 'Y-m-d_H-i-s',
272
  current_time( 'timestamp' ) ) . '.html';
273
  //write settings to job
274
  BackWPup_Option::update( $this->job['jobid'], 'lastrun', $this->start_time );
@@ -2078,8 +2078,21 @@ final class BackWPup_Job {
2078
  $manifest['blog_info']['plugins']['baseurl'] = WP_PLUGIN_URL;
2079
  $manifest['blog_info']['themes']['basedir'] = get_theme_root();
2080
  $manifest['blog_info']['themes']['baseurl'] = get_theme_root_uri();
2081
- // add job settings
2082
- $manifest['job_settings'] = $this->job;
 
 
 
 
 
 
 
 
 
 
 
 
 
2083
  // add archive info
2084
  foreach ( $this->additional_files_to_backup as $file ) {
2085
  $manifest['archive']['extra_files'][] = basename( $file );
268
  //set Logfile
269
  $log_folder = get_site_option( 'backwpup_cfg_logfolder' );
270
  $log_folder = BackWPup_File::get_absolute_path( $log_folder );
271
+ $this->logfile = $log_folder . 'backwpup_log_' . BackWPup::get_generated_hash( 6 ) . '_' . date( 'Y-m-d_H-i-s',
272
  current_time( 'timestamp' ) ) . '.html';
273
  //write settings to job
274
  BackWPup_Option::update( $this->job['jobid'], 'lastrun', $this->start_time );
2078
  $manifest['blog_info']['plugins']['baseurl'] = WP_PLUGIN_URL;
2079
  $manifest['blog_info']['themes']['basedir'] = get_theme_root();
2080
  $manifest['blog_info']['themes']['baseurl'] = get_theme_root_uri();
2081
+
2082
+ // Add job settings
2083
+ $manifest['job_settings'] = array(
2084
+ 'dbdumptype' => $this->job['dbdumptype'],
2085
+ 'dbdumpfile' => $this->job['dbdumpfile'],
2086
+ 'dbdumpfilecompression' => $this->job['dbdumpfilecompression'],
2087
+ 'dbdumpdbcharset' => $this->job['dbdumpdbcharset'],
2088
+ 'type' => $this->job['type'],
2089
+ 'destinations' => $this->job['destinations'],
2090
+ 'backuptype' => $this->job['backuptype'],
2091
+ 'archiveformat' => $this->job['archiveformat'],
2092
+ 'dbdumpexclude' => $this->job['dbdumpexclude'],
2093
+
2094
+ );
2095
+
2096
  // add archive info
2097
  foreach ( $this->additional_files_to_backup as $file ) {
2098
  $manifest['archive']['extra_files'][] = basename( $file );
inc/class-option.php CHANGED
@@ -25,7 +25,7 @@ final class BackWPup_Option {
25
  //job
26
  add_site_option( 'backwpup_cfg_jobmaxexecutiontime', 30 );
27
  add_site_option( 'backwpup_cfg_jobstepretry', 3 );
28
- add_site_option( 'backwpup_cfg_jobrunauthkey', substr( md5( BackWPup::get_plugin_data( 'hash' ) ), 11, 8 ) );
29
  add_site_option( 'backwpup_cfg_loglevel', 'normal_translated' );
30
  add_site_option( 'backwpup_cfg_jobwaittimems', 0 );
31
  add_site_option( 'backwpup_cfg_jobdooutput', 0 );
25
  //job
26
  add_site_option( 'backwpup_cfg_jobmaxexecutiontime', 30 );
27
  add_site_option( 'backwpup_cfg_jobstepretry', 3 );
28
+ add_site_option( 'backwpup_cfg_jobrunauthkey', BackWPup::get_generated_hash( 8 ) );
29
  add_site_option( 'backwpup_cfg_loglevel', 'normal_translated' );
30
  add_site_option( 'backwpup_cfg_jobwaittimems', 0 );
31
  add_site_option( 'backwpup_cfg_jobdooutput', 0 );
languages/backwpup.pot CHANGED
@@ -10,8 +10,8 @@ msgstr ""
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
12
  "Content-Transfer-Encoding: 8bit\n"
13
- "POT-Creation-Date: 2019-02-20T11:26:45+00:00\n"
14
- "PO-Revision-Date: 2019-02-20T11:26:45+00:00\n"
15
  "X-Domain: backwpup\n"
16
 
17
  #: backwpup.php:304
@@ -536,7 +536,7 @@ msgid "Uploading to Dropbox&#160;&hellip;"
536
  msgstr ""
537
 
538
  #: inc/class-destination-dropbox.php:432
539
- #: inc/class-destination-msazure.php:292
540
  #: inc/class-destination-sugarsync.php:266
541
  msgid "Backup transferred to %s"
542
  msgstr ""
@@ -865,10 +865,10 @@ msgid "Backup transferred to FTP server: %s"
865
  msgstr ""
866
 
867
  #: inc/class-destination-ftp.php:673
868
- #: inc/class-destination-msazure.php:277
869
  #: inc/class-destination-rsc.php:294
870
- #: inc/class-destination-s3.php:844
871
- #: inc/class-destination-s3.php:959
872
  msgid "Can not open source file for transfer."
873
  msgstr ""
874
 
@@ -920,50 +920,50 @@ msgstr ""
920
  msgid "File deletion"
921
  msgstr ""
922
 
923
- #: inc/class-destination-msazure.php:130
924
  msgid "MS Azure container \"%s\" created."
925
  msgstr ""
926
 
927
- #: inc/class-destination-msazure.php:133
928
  msgid "MS Azure container create: %s"
929
  msgstr ""
930
 
931
- #: inc/class-destination-msazure.php:217
932
  msgid "%d. Try sending backup to a Microsoft Azure (Blob)&#160;&hellip;"
933
  msgstr ""
934
 
935
- #: inc/class-destination-msazure.php:239
936
  msgid "MS Azure container \"%s\" does not exist!"
937
  msgstr ""
938
 
939
- #: inc/class-destination-msazure.php:243
940
  msgid "Connected to MS Azure container \"%s\"."
941
  msgstr ""
942
 
943
- #: inc/class-destination-msazure.php:246
944
  msgid "Starting upload to MS Azure&#160;&hellip;"
945
  msgstr ""
946
 
947
- #: inc/class-destination-msazure.php:298
948
- #: inc/class-destination-msazure.php:354
949
  msgid "Microsoft Azure API: %s"
950
  msgstr ""
951
 
952
- #: inc/class-destination-msazure.php:347
953
  msgid "One file deleted on Microsoft Azure container."
954
  msgid_plural "%d files deleted on Microsoft Azure container."
955
  msgstr[0] ""
956
 
957
- #: inc/class-destination-msazure.php:448
958
  msgid "Missing account name!"
959
  msgstr ""
960
 
961
- #: inc/class-destination-msazure.php:450
962
- #: inc/class-destination-s3.php:361
963
  msgid "Missing access key!"
964
  msgstr ""
965
 
966
- #: inc/class-destination-msazure.php:454
967
  msgid "No container found!"
968
  msgstr ""
969
 
@@ -1049,15 +1049,15 @@ msgid "One file deleted on Rackspace cloud container."
1049
  msgid_plural "%d files deleted on Rackspace cloud container."
1050
  msgstr[0] ""
1051
 
1052
- #: inc/class-destination-rsc.php:471
1053
  msgid "Missing username!"
1054
  msgstr ""
1055
 
1056
- #: inc/class-destination-rsc.php:473
1057
  msgid "Missing API Key!"
1058
  msgstr ""
1059
 
1060
- #: inc/class-destination-rsc.php:477
1061
  msgid "A container could not be found!"
1062
  msgstr ""
1063
 
@@ -1142,140 +1142,140 @@ msgstr ""
1142
  msgid "Save files encrypted (AES256) on server."
1143
  msgstr ""
1144
 
1145
- #: inc/class-destination-s3.php:363
1146
  msgid "Missing secret access key!"
1147
  msgstr ""
1148
 
1149
- #: inc/class-destination-s3.php:369
1150
  msgid "No bucket found!"
1151
  msgstr ""
1152
 
1153
- #: inc/class-destination-s3.php:519
1154
  msgid "Bucket %1$s created."
1155
  msgstr ""
1156
 
1157
- #: inc/class-destination-s3.php:522
1158
  msgid " %s is not a valid bucket name."
1159
  msgstr ""
1160
 
1161
- #: inc/class-destination-s3.php:572
1162
- #: inc/class-destination-s3.php:869
1163
- #: inc/class-destination-s3.php:937
1164
- #: inc/class-destination-s3.php:996
1165
- #: inc/class-destination-s3.php:1007
1166
  msgid "S3 Service API: %s"
1167
  msgstr ""
1168
 
1169
- #: inc/class-destination-s3.php:700
1170
  msgid "Storage Class: %s"
1171
  msgstr ""
1172
 
1173
- #: inc/class-destination-s3.php:735
1174
  msgid "Cannot delete backup from %s."
1175
  msgstr ""
1176
 
1177
- #: inc/class-destination-s3.php:747
1178
  msgid "One file deleted on S3 Bucket."
1179
  msgid_plural "%d files deleted on S3 Bucket"
1180
  msgstr[0] ""
1181
 
1182
- #: inc/class-destination-s3.php:778
1183
  msgid "%d. Trying to send backup file to S3 Service&#160;&hellip;"
1184
  msgstr ""
1185
 
1186
- #: inc/class-destination-s3.php:804
1187
  msgid "Connected to S3 Bucket \"%1$s\" in %2$s"
1188
  msgstr ""
1189
 
1190
- #: inc/class-destination-s3.php:809
1191
  msgid "S3 Bucket \"%s\" does not exist!"
1192
  msgstr ""
1193
 
1194
- #: inc/class-destination-s3.php:818
1195
  msgid "Checking for not aborted multipart Uploads&#160;&hellip;"
1196
  msgstr ""
1197
 
1198
- #: inc/class-destination-s3.php:831
1199
  msgid "Upload for %s aborted."
1200
  msgstr ""
1201
 
1202
- #: inc/class-destination-s3.php:837
1203
  msgid "Starting upload to S3 Service&#160;&hellip;"
1204
  msgstr ""
1205
 
1206
- #: inc/class-destination-s3.php:973
1207
  msgid "Backup transferred to %s."
1208
  msgstr ""
1209
 
1210
- #: inc/class-destination-s3.php:989
1211
  msgid "Cannot transfer backup to S3! (%1$d) %2$s"
1212
  msgstr ""
1213
 
1214
- #: inc/class-destination-s3.php:1119
1215
  msgid "Amazon S3: US Standard"
1216
  msgstr ""
1217
 
1218
- #: inc/class-destination-s3.php:1123
1219
  msgid "Amazon S3: US West (Northern California)"
1220
  msgstr ""
1221
 
1222
- #: inc/class-destination-s3.php:1127
1223
  msgid "Amazon S3: US West (Oregon)"
1224
  msgstr ""
1225
 
1226
- #: inc/class-destination-s3.php:1131
1227
  msgid "Amazon S3: EU (Ireland)"
1228
  msgstr ""
1229
 
1230
- #: inc/class-destination-s3.php:1135
1231
  msgid "Amazon S3: EU (London)"
1232
  msgstr ""
1233
 
1234
- #: inc/class-destination-s3.php:1139
1235
  msgid "Amazon S3: EU (Germany)"
1236
  msgstr ""
1237
 
1238
- #: inc/class-destination-s3.php:1143
1239
  msgid "Amazon S3: Asia Pacific (Mumbai)"
1240
  msgstr ""
1241
 
1242
- #: inc/class-destination-s3.php:1147
1243
  msgid "Amazon S3: Asia Pacific (Tokyo)"
1244
  msgstr ""
1245
 
1246
- #: inc/class-destination-s3.php:1151
1247
  msgid "Amazon S3: Asia Pacific (Seoul)"
1248
  msgstr ""
1249
 
1250
- #: inc/class-destination-s3.php:1155
1251
  msgid "Amazon S3: Asia Pacific (Singapore)"
1252
  msgstr ""
1253
 
1254
- #: inc/class-destination-s3.php:1159
1255
  msgid "Amazon S3: Asia Pacific (Sydney)"
1256
  msgstr ""
1257
 
1258
- #: inc/class-destination-s3.php:1163
1259
  msgid "Amazon S3: South America (Sao Paulo)"
1260
  msgstr ""
1261
 
1262
- #: inc/class-destination-s3.php:1167
1263
  msgid "Amazon S3: China (Beijing)"
1264
  msgstr ""
1265
 
1266
- #: inc/class-destination-s3.php:1171
1267
  msgid "Google Storage: EU"
1268
  msgstr ""
1269
 
1270
- #: inc/class-destination-s3.php:1175
1271
  msgid "Google Storage: USA"
1272
  msgstr ""
1273
 
1274
- #: inc/class-destination-s3.php:1179
1275
  msgid "Google Storage: Asia"
1276
  msgstr ""
1277
 
1278
- #: inc/class-destination-s3.php:1183
1279
  msgid "Dream Host Cloud Storage"
1280
  msgstr ""
1281
 
@@ -1764,133 +1764,133 @@ msgstr ""
1764
  msgid "%d. Trying to generate a manifest file&#160;&hellip;"
1765
  msgstr ""
1766
 
1767
- #: inc/class-job.php:2111
1768
  msgid "You may have noticed the manifest.json file in this archive."
1769
  msgstr ""
1770
 
1771
- #: inc/class-job.php:2112
1772
  msgid "manifest.json might be needed for later restoring a backup from this archive."
1773
  msgstr ""
1774
 
1775
- #: inc/class-job.php:2114
1776
  msgid "Please leave manifest.json untouched and in place. Otherwise it is safe to be ignored."
1777
  msgstr ""
1778
 
1779
- #: inc/class-job.php:2125
1780
  msgid "Added manifest.json file with %1$s to backup file list."
1781
  msgstr ""
1782
 
1783
- #: inc/class-job.php:2165
1784
  msgid "Wrong BackWPup JobID"
1785
  msgstr ""
1786
 
1787
- #: inc/class-job.php:2178
1788
  msgid "A BackWPup job is already running"
1789
  msgstr ""
1790
 
1791
- #: inc/class-job.php:2340
1792
  msgid "exec command is not active."
1793
  msgstr ""
1794
 
1795
- #: inc/class-job.php:2346
1796
  msgid "mysqldump binary not found."
1797
  msgstr ""
1798
 
1799
- #: inc/class-job.php:2373
1800
  msgctxt "SIGHUP: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1801
  msgid "Hangup detected on controlling terminal or death of controlling process"
1802
  msgstr ""
1803
 
1804
- #: inc/class-job.php:2379
1805
  msgctxt "SIGINT: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1806
  msgid "Interrupt from keyboard"
1807
  msgstr ""
1808
 
1809
- #: inc/class-job.php:2385
1810
  msgctxt "SIGQUIT: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1811
  msgid "Quit from keyboard"
1812
  msgstr ""
1813
 
1814
- #: inc/class-job.php:2391
1815
  msgctxt "SIGILL: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1816
  msgid "Illegal Instruction"
1817
  msgstr ""
1818
 
1819
- #: inc/class-job.php:2397
1820
  msgctxt "SIGABRT: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1821
  msgid "Abort signal from abort(3)"
1822
  msgstr ""
1823
 
1824
- #: inc/class-job.php:2403
1825
  msgctxt "SIGBUS: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1826
  msgid "Bus error (bad memory access)"
1827
  msgstr ""
1828
 
1829
- #: inc/class-job.php:2409
1830
  msgctxt "SIGFPE: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1831
  msgid "Floating point exception"
1832
  msgstr ""
1833
 
1834
- #: inc/class-job.php:2415
1835
  msgctxt "SIGSEGV: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1836
  msgid "Invalid memory reference"
1837
  msgstr ""
1838
 
1839
- #: inc/class-job.php:2421
1840
  msgctxt "SIGTERM: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1841
  msgid "Termination signal"
1842
  msgstr ""
1843
 
1844
- #: inc/class-job.php:2427
1845
  msgctxt "SIGSTKFLT: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1846
  msgid "Stack fault on coprocessor"
1847
  msgstr ""
1848
 
1849
- #: inc/class-job.php:2433
1850
  msgctxt "SIGUSR1: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1851
  msgid "User-defined signal 1"
1852
  msgstr ""
1853
 
1854
- #: inc/class-job.php:2439
1855
  msgctxt "SIGUSR2: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1856
  msgid "User-defined signal 2"
1857
  msgstr ""
1858
 
1859
- #: inc/class-job.php:2445
1860
  msgctxt "SIGURG: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1861
  msgid "Urgent condition on socket"
1862
  msgstr ""
1863
 
1864
- #: inc/class-job.php:2451
1865
  msgctxt "SIGXCPU: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1866
  msgid "CPU time limit exceeded"
1867
  msgstr ""
1868
 
1869
- #: inc/class-job.php:2457
1870
  msgctxt "SIGXFSZ: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1871
  msgid "File size limit exceeded"
1872
  msgstr ""
1873
 
1874
- #: inc/class-job.php:2463
1875
  msgctxt "SIGPWR: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1876
  msgid "Power failure"
1877
  msgstr ""
1878
 
1879
- #: inc/class-job.php:2469
1880
  msgctxt "SIGSYS: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1881
  msgid "Bad argument to routine"
1882
  msgstr ""
1883
 
1884
- #: inc/class-job.php:2478
1885
  msgid "Signal \"%1$s\" (%2$s) is sent to script!"
1886
  msgstr ""
1887
 
1888
- #: inc/class-job.php:2515
1889
  #: inc/class-job.php:2528
 
1890
  msgid "System: %s"
1891
  msgstr ""
1892
 
1893
- #: inc/class-job.php:2543
1894
  msgid "Exception caught in %1$s: %2$s"
1895
  msgstr ""
1896
 
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
12
  "Content-Transfer-Encoding: 8bit\n"
13
+ "POT-Creation-Date: 2019-05-07T07:51:23+00:00\n"
14
+ "PO-Revision-Date: 2019-05-07T07:51:23+00:00\n"
15
  "X-Domain: backwpup\n"
16
 
17
  #: backwpup.php:304
536
  msgstr ""
537
 
538
  #: inc/class-destination-dropbox.php:432
539
+ #: inc/class-destination-msazure.php:288
540
  #: inc/class-destination-sugarsync.php:266
541
  msgid "Backup transferred to %s"
542
  msgstr ""
865
  msgstr ""
866
 
867
  #: inc/class-destination-ftp.php:673
868
+ #: inc/class-destination-msazure.php:273
869
  #: inc/class-destination-rsc.php:294
870
+ #: inc/class-destination-s3.php:843
871
+ #: inc/class-destination-s3.php:958
872
  msgid "Can not open source file for transfer."
873
  msgstr ""
874
 
920
  msgid "File deletion"
921
  msgstr ""
922
 
923
+ #: inc/class-destination-msazure.php:129
924
  msgid "MS Azure container \"%s\" created."
925
  msgstr ""
926
 
927
+ #: inc/class-destination-msazure.php:132
928
  msgid "MS Azure container create: %s"
929
  msgstr ""
930
 
931
+ #: inc/class-destination-msazure.php:214
932
  msgid "%d. Try sending backup to a Microsoft Azure (Blob)&#160;&hellip;"
933
  msgstr ""
934
 
935
+ #: inc/class-destination-msazure.php:235
936
  msgid "MS Azure container \"%s\" does not exist!"
937
  msgstr ""
938
 
939
+ #: inc/class-destination-msazure.php:239
940
  msgid "Connected to MS Azure container \"%s\"."
941
  msgstr ""
942
 
943
+ #: inc/class-destination-msazure.php:242
944
  msgid "Starting upload to MS Azure&#160;&hellip;"
945
  msgstr ""
946
 
947
+ #: inc/class-destination-msazure.php:294
948
+ #: inc/class-destination-msazure.php:350
949
  msgid "Microsoft Azure API: %s"
950
  msgstr ""
951
 
952
+ #: inc/class-destination-msazure.php:343
953
  msgid "One file deleted on Microsoft Azure container."
954
  msgid_plural "%d files deleted on Microsoft Azure container."
955
  msgstr[0] ""
956
 
957
+ #: inc/class-destination-msazure.php:441
958
  msgid "Missing account name!"
959
  msgstr ""
960
 
961
+ #: inc/class-destination-msazure.php:443
962
+ #: inc/class-destination-s3.php:360
963
  msgid "Missing access key!"
964
  msgstr ""
965
 
966
+ #: inc/class-destination-msazure.php:447
967
  msgid "No container found!"
968
  msgstr ""
969
 
1049
  msgid_plural "%d files deleted on Rackspace cloud container."
1050
  msgstr[0] ""
1051
 
1052
+ #: inc/class-destination-rsc.php:470
1053
  msgid "Missing username!"
1054
  msgstr ""
1055
 
1056
+ #: inc/class-destination-rsc.php:472
1057
  msgid "Missing API Key!"
1058
  msgstr ""
1059
 
1060
+ #: inc/class-destination-rsc.php:476
1061
  msgid "A container could not be found!"
1062
  msgstr ""
1063
 
1142
  msgid "Save files encrypted (AES256) on server."
1143
  msgstr ""
1144
 
1145
+ #: inc/class-destination-s3.php:362
1146
  msgid "Missing secret access key!"
1147
  msgstr ""
1148
 
1149
+ #: inc/class-destination-s3.php:368
1150
  msgid "No bucket found!"
1151
  msgstr ""
1152
 
1153
+ #: inc/class-destination-s3.php:518
1154
  msgid "Bucket %1$s created."
1155
  msgstr ""
1156
 
1157
+ #: inc/class-destination-s3.php:521
1158
  msgid " %s is not a valid bucket name."
1159
  msgstr ""
1160
 
1161
+ #: inc/class-destination-s3.php:571
1162
+ #: inc/class-destination-s3.php:868
1163
+ #: inc/class-destination-s3.php:936
1164
+ #: inc/class-destination-s3.php:995
1165
+ #: inc/class-destination-s3.php:1006
1166
  msgid "S3 Service API: %s"
1167
  msgstr ""
1168
 
1169
+ #: inc/class-destination-s3.php:699
1170
  msgid "Storage Class: %s"
1171
  msgstr ""
1172
 
1173
+ #: inc/class-destination-s3.php:734
1174
  msgid "Cannot delete backup from %s."
1175
  msgstr ""
1176
 
1177
+ #: inc/class-destination-s3.php:746
1178
  msgid "One file deleted on S3 Bucket."
1179
  msgid_plural "%d files deleted on S3 Bucket"
1180
  msgstr[0] ""
1181
 
1182
+ #: inc/class-destination-s3.php:777
1183
  msgid "%d. Trying to send backup file to S3 Service&#160;&hellip;"
1184
  msgstr ""
1185
 
1186
+ #: inc/class-destination-s3.php:803
1187
  msgid "Connected to S3 Bucket \"%1$s\" in %2$s"
1188
  msgstr ""
1189
 
1190
+ #: inc/class-destination-s3.php:808
1191
  msgid "S3 Bucket \"%s\" does not exist!"
1192
  msgstr ""
1193
 
1194
+ #: inc/class-destination-s3.php:817
1195
  msgid "Checking for not aborted multipart Uploads&#160;&hellip;"
1196
  msgstr ""
1197
 
1198
+ #: inc/class-destination-s3.php:830
1199
  msgid "Upload for %s aborted."
1200
  msgstr ""
1201
 
1202
+ #: inc/class-destination-s3.php:836
1203
  msgid "Starting upload to S3 Service&#160;&hellip;"
1204
  msgstr ""
1205
 
1206
+ #: inc/class-destination-s3.php:972
1207
  msgid "Backup transferred to %s."
1208
  msgstr ""
1209
 
1210
+ #: inc/class-destination-s3.php:988
1211
  msgid "Cannot transfer backup to S3! (%1$d) %2$s"
1212
  msgstr ""
1213
 
1214
+ #: inc/class-destination-s3.php:1118
1215
  msgid "Amazon S3: US Standard"
1216
  msgstr ""
1217
 
1218
+ #: inc/class-destination-s3.php:1122
1219
  msgid "Amazon S3: US West (Northern California)"
1220
  msgstr ""
1221
 
1222
+ #: inc/class-destination-s3.php:1126
1223
  msgid "Amazon S3: US West (Oregon)"
1224
  msgstr ""
1225
 
1226
+ #: inc/class-destination-s3.php:1130
1227
  msgid "Amazon S3: EU (Ireland)"
1228
  msgstr ""
1229
 
1230
+ #: inc/class-destination-s3.php:1134
1231
  msgid "Amazon S3: EU (London)"
1232
  msgstr ""
1233
 
1234
+ #: inc/class-destination-s3.php:1138
1235
  msgid "Amazon S3: EU (Germany)"
1236
  msgstr ""
1237
 
1238
+ #: inc/class-destination-s3.php:1142
1239
  msgid "Amazon S3: Asia Pacific (Mumbai)"
1240
  msgstr ""
1241
 
1242
+ #: inc/class-destination-s3.php:1146
1243
  msgid "Amazon S3: Asia Pacific (Tokyo)"
1244
  msgstr ""
1245
 
1246
+ #: inc/class-destination-s3.php:1150
1247
  msgid "Amazon S3: Asia Pacific (Seoul)"
1248
  msgstr ""
1249
 
1250
+ #: inc/class-destination-s3.php:1154
1251
  msgid "Amazon S3: Asia Pacific (Singapore)"
1252
  msgstr ""
1253
 
1254
+ #: inc/class-destination-s3.php:1158
1255
  msgid "Amazon S3: Asia Pacific (Sydney)"
1256
  msgstr ""
1257
 
1258
+ #: inc/class-destination-s3.php:1162
1259
  msgid "Amazon S3: South America (Sao Paulo)"
1260
  msgstr ""
1261
 
1262
+ #: inc/class-destination-s3.php:1166
1263
  msgid "Amazon S3: China (Beijing)"
1264
  msgstr ""
1265
 
1266
+ #: inc/class-destination-s3.php:1170
1267
  msgid "Google Storage: EU"
1268
  msgstr ""
1269
 
1270
+ #: inc/class-destination-s3.php:1174
1271
  msgid "Google Storage: USA"
1272
  msgstr ""
1273
 
1274
+ #: inc/class-destination-s3.php:1178
1275
  msgid "Google Storage: Asia"
1276
  msgstr ""
1277
 
1278
+ #: inc/class-destination-s3.php:1182
1279
  msgid "Dream Host Cloud Storage"
1280
  msgstr ""
1281
 
1764
  msgid "%d. Trying to generate a manifest file&#160;&hellip;"
1765
  msgstr ""
1766
 
1767
+ #: inc/class-job.php:2124
1768
  msgid "You may have noticed the manifest.json file in this archive."
1769
  msgstr ""
1770
 
1771
+ #: inc/class-job.php:2125
1772
  msgid "manifest.json might be needed for later restoring a backup from this archive."
1773
  msgstr ""
1774
 
1775
+ #: inc/class-job.php:2127
1776
  msgid "Please leave manifest.json untouched and in place. Otherwise it is safe to be ignored."
1777
  msgstr ""
1778
 
1779
+ #: inc/class-job.php:2138
1780
  msgid "Added manifest.json file with %1$s to backup file list."
1781
  msgstr ""
1782
 
1783
+ #: inc/class-job.php:2178
1784
  msgid "Wrong BackWPup JobID"
1785
  msgstr ""
1786
 
1787
+ #: inc/class-job.php:2191
1788
  msgid "A BackWPup job is already running"
1789
  msgstr ""
1790
 
1791
+ #: inc/class-job.php:2353
1792
  msgid "exec command is not active."
1793
  msgstr ""
1794
 
1795
+ #: inc/class-job.php:2359
1796
  msgid "mysqldump binary not found."
1797
  msgstr ""
1798
 
1799
+ #: inc/class-job.php:2386
1800
  msgctxt "SIGHUP: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1801
  msgid "Hangup detected on controlling terminal or death of controlling process"
1802
  msgstr ""
1803
 
1804
+ #: inc/class-job.php:2392
1805
  msgctxt "SIGINT: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1806
  msgid "Interrupt from keyboard"
1807
  msgstr ""
1808
 
1809
+ #: inc/class-job.php:2398
1810
  msgctxt "SIGQUIT: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1811
  msgid "Quit from keyboard"
1812
  msgstr ""
1813
 
1814
+ #: inc/class-job.php:2404
1815
  msgctxt "SIGILL: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1816
  msgid "Illegal Instruction"
1817
  msgstr ""
1818
 
1819
+ #: inc/class-job.php:2410
1820
  msgctxt "SIGABRT: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1821
  msgid "Abort signal from abort(3)"
1822
  msgstr ""
1823
 
1824
+ #: inc/class-job.php:2416
1825
  msgctxt "SIGBUS: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1826
  msgid "Bus error (bad memory access)"
1827
  msgstr ""
1828
 
1829
+ #: inc/class-job.php:2422
1830
  msgctxt "SIGFPE: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1831
  msgid "Floating point exception"
1832
  msgstr ""
1833
 
1834
+ #: inc/class-job.php:2428
1835
  msgctxt "SIGSEGV: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1836
  msgid "Invalid memory reference"
1837
  msgstr ""
1838
 
1839
+ #: inc/class-job.php:2434
1840
  msgctxt "SIGTERM: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1841
  msgid "Termination signal"
1842
  msgstr ""
1843
 
1844
+ #: inc/class-job.php:2440
1845
  msgctxt "SIGSTKFLT: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1846
  msgid "Stack fault on coprocessor"
1847
  msgstr ""
1848
 
1849
+ #: inc/class-job.php:2446
1850
  msgctxt "SIGUSR1: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1851
  msgid "User-defined signal 1"
1852
  msgstr ""
1853
 
1854
+ #: inc/class-job.php:2452
1855
  msgctxt "SIGUSR2: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1856
  msgid "User-defined signal 2"
1857
  msgstr ""
1858
 
1859
+ #: inc/class-job.php:2458
1860
  msgctxt "SIGURG: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1861
  msgid "Urgent condition on socket"
1862
  msgstr ""
1863
 
1864
+ #: inc/class-job.php:2464
1865
  msgctxt "SIGXCPU: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1866
  msgid "CPU time limit exceeded"
1867
  msgstr ""
1868
 
1869
+ #: inc/class-job.php:2470
1870
  msgctxt "SIGXFSZ: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1871
  msgid "File size limit exceeded"
1872
  msgstr ""
1873
 
1874
+ #: inc/class-job.php:2476
1875
  msgctxt "SIGPWR: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1876
  msgid "Power failure"
1877
  msgstr ""
1878
 
1879
+ #: inc/class-job.php:2482
1880
  msgctxt "SIGSYS: Please see http://man7.org/linux/man-pages/man7/signal.7.html for details"
1881
  msgid "Bad argument to routine"
1882
  msgstr ""
1883
 
1884
+ #: inc/class-job.php:2491
1885
  msgid "Signal \"%1$s\" (%2$s) is sent to script!"
1886
  msgstr ""
1887
 
 
1888
  #: inc/class-job.php:2528
1889
+ #: inc/class-job.php:2541
1890
  msgid "System: %s"
1891
  msgstr ""
1892
 
1893
+ #: inc/class-job.php:2556
1894
  msgid "Exception caught in %1$s: %2$s"
1895
  msgstr ""
1896
 
readme.txt CHANGED
@@ -1,12 +1,11 @@
1
  === BackWPup - WordPress Backup Plugin ===
2
- Contributors: inpsyde, danielhuesken, Bueltge, nullbyte
3
  Tags: backup, database backup, cloud backup, restore, wordpress backup
4
  Requires at least: 3.9
5
- Tested up to: 5.1.0
6
  Requires PHP: 5.3.3
7
- Stable tag: 3.6.8
8
- License: GPLv3
9
- License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
11
  Schedule complete automatic backups of your WordPress installation. Decide which content will be stored (Dropbox, S3…). This is the free version
12
 
@@ -160,6 +159,24 @@ Yes. You need to have writing access to the wp-config.php file (usually residing
160
  [You can find a detailed tutorial in the BackWPup documentation.](https://backwpup.com/docs/install-backwpup-pro-activate-licence/)
161
 
162
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
163
  = Version 3.6.8 =
164
  Release Date: Feb 25, 2019
165
 
1
  === BackWPup - WordPress Backup Plugin ===
2
+ Contributors: inpsyde, danielhuesken, Bueltge, nullbyte, wido, dinamiko
3
  Tags: backup, database backup, cloud backup, restore, wordpress backup
4
  Requires at least: 3.9
5
+ Tested up to: 5.1.1
6
  Requires PHP: 5.3.3
7
+ Stable tag: 3.6.9
8
+ License: GPLv2+
 
9
 
10
  Schedule complete automatic backups of your WordPress installation. Decide which content will be stored (Dropbox, S3…). This is the free version
11
 
159
  [You can find a detailed tutorial in the BackWPup documentation.](https://backwpup.com/docs/install-backwpup-pro-activate-licence/)
160
 
161
  == Changelog ==
162
+
163
+ = Version 3.6.9 =
164
+ Release Date: May 7, 2019
165
+
166
+ * Fixed: Google Drive destination automatically remove old backup files
167
+ * Fixed: Do not expose destination data within the manifest file
168
+ * Fixed: Update Dropbox Tokens
169
+ * Fixed: Restore error: MIME returns html instead of event stream
170
+ * Fixed: Log files name are predictable because of weak hash
171
+ * Fixed: ZipArchive doesn't fallback to PclZip in Restore
172
+ * Fixed: Session already started could cause issues during ajax calls
173
+ * Fixed: Wrong vendor include path for PEAR using MS Azure
174
+ * Fixed: Decryption Key prompt when any error occur during the first step of a Restore
175
+ * Fixed: Phone home client notice and php 5 issue with php short echo tag
176
+ * Fixed: mime_content_type function may not exists prevent backup decryption
177
+ * Improve: Restore Log and produce report for user feedback
178
+ * Changed: License changed to GPLv2+
179
+
180
  = Version 3.6.8 =
181
  Release Date: Feb 25, 2019
182
 
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit1f6824ea47e4f9e309f072fadc50e868::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit2dba50ba57466a48cbb5b63c2b704554::getLoader();
vendor/composer/autoload_classmap.php CHANGED
@@ -1414,6 +1414,7 @@ return array(
1414
  'HTTP_Request2_ResponseTest' => $vendorDir . '/pear/http_request2/tests/Request2/ResponseTest.php',
1415
  'HTTP_Request2_SOCKS5' => $vendorDir . '/pear/http_request2/HTTP/Request2/SOCKS5.php',
1416
  'HTTP_Request2_SocketWrapper' => $vendorDir . '/pear/http_request2/HTTP/Request2/SocketWrapper.php',
 
1417
  'Inpsyde_PhoneHome_ActionController' => $vendorDir . '/inpsyde/phone-home-client/src/ActionController.php',
1418
  'Inpsyde_PhoneHome_Configuration' => $vendorDir . '/inpsyde/phone-home-client/src/Configuration.php',
1419
  'Inpsyde_PhoneHome_Consent' => $vendorDir . '/inpsyde/phone-home-client/src/Consent/Consent.php',
1414
  'HTTP_Request2_ResponseTest' => $vendorDir . '/pear/http_request2/tests/Request2/ResponseTest.php',
1415
  'HTTP_Request2_SOCKS5' => $vendorDir . '/pear/http_request2/HTTP/Request2/SOCKS5.php',
1416
  'HTTP_Request2_SocketWrapper' => $vendorDir . '/pear/http_request2/HTTP/Request2/SocketWrapper.php',
1417
+ 'Inpsyde\\BackWPupShared\\File\\MimeTypeExtractor' => $vendorDir . '/inpsyde/backwpup-shared/src/File/MimeTypeExtractor.php',
1418
  'Inpsyde_PhoneHome_ActionController' => $vendorDir . '/inpsyde/phone-home-client/src/ActionController.php',
1419
  'Inpsyde_PhoneHome_Configuration' => $vendorDir . '/inpsyde/phone-home-client/src/Configuration.php',
1420
  'Inpsyde_PhoneHome_Consent' => $vendorDir . '/inpsyde/phone-home-client/src/Consent/Consent.php',
vendor/composer/autoload_psr4.php CHANGED
@@ -17,6 +17,7 @@ return array(
17
  'Psr\\Container\\' => array($vendorDir . '/psr/container/src'),
18
  'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
19
  'Inpsyde\\BackWPup\\' => array($baseDir . '/inc'),
 
20
  'Firebase\\JWT\\' => array($vendorDir . '/firebase/php-jwt/src'),
21
  'Base32\\' => array($vendorDir . '/christian-riesen/base32/src'),
22
  );
17
  'Psr\\Container\\' => array($vendorDir . '/psr/container/src'),
18
  'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
19
  'Inpsyde\\BackWPup\\' => array($baseDir . '/inc'),
20
+ 'Inpsyde\\BackWPupShared\\' => array($vendorDir . '/inpsyde/backwpup-shared/src'),
21
  'Firebase\\JWT\\' => array($vendorDir . '/firebase/php-jwt/src'),
22
  'Base32\\' => array($vendorDir . '/christian-riesen/base32/src'),
23
  );
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit1f6824ea47e4f9e309f072fadc50e868
6
  {
7
  private static $loader;
8
 
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit1f6824ea47e4f9e309f072fadc50e868
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit1f6824ea47e4f9e309f072fadc50e868', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit1f6824ea47e4f9e309f072fadc50e868', 'loadClassLoader'));
25
 
26
  $includePaths = require __DIR__ . '/include_paths.php';
27
  $includePaths[] = get_include_path();
@@ -31,7 +31,7 @@ class ComposerAutoloaderInit1f6824ea47e4f9e309f072fadc50e868
31
  if ($useStaticLoader) {
32
  require_once __DIR__ . '/autoload_static.php';
33
 
34
- call_user_func(\Composer\Autoload\ComposerStaticInit1f6824ea47e4f9e309f072fadc50e868::getInitializer($loader));
35
  } else {
36
  $map = require __DIR__ . '/autoload_namespaces.php';
37
  foreach ($map as $namespace => $path) {
@@ -52,19 +52,19 @@ class ComposerAutoloaderInit1f6824ea47e4f9e309f072fadc50e868
52
  $loader->register(true);
53
 
54
  if ($useStaticLoader) {
55
- $includeFiles = Composer\Autoload\ComposerStaticInit1f6824ea47e4f9e309f072fadc50e868::$files;
56
  } else {
57
  $includeFiles = require __DIR__ . '/autoload_files.php';
58
  }
59
  foreach ($includeFiles as $fileIdentifier => $file) {
60
- composerRequire1f6824ea47e4f9e309f072fadc50e868($fileIdentifier, $file);
61
  }
62
 
63
  return $loader;
64
  }
65
  }
66
 
67
- function composerRequire1f6824ea47e4f9e309f072fadc50e868($fileIdentifier, $file)
68
  {
69
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
70
  require $file;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInit2dba50ba57466a48cbb5b63c2b704554
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit2dba50ba57466a48cbb5b63c2b704554', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit2dba50ba57466a48cbb5b63c2b704554', 'loadClassLoader'));
25
 
26
  $includePaths = require __DIR__ . '/include_paths.php';
27
  $includePaths[] = get_include_path();
31
  if ($useStaticLoader) {
32
  require_once __DIR__ . '/autoload_static.php';
33
 
34
+ call_user_func(\Composer\Autoload\ComposerStaticInit2dba50ba57466a48cbb5b63c2b704554::getInitializer($loader));
35
  } else {
36
  $map = require __DIR__ . '/autoload_namespaces.php';
37
  foreach ($map as $namespace => $path) {
52
  $loader->register(true);
53
 
54
  if ($useStaticLoader) {
55
+ $includeFiles = Composer\Autoload\ComposerStaticInit2dba50ba57466a48cbb5b63c2b704554::$files;
56
  } else {
57
  $includeFiles = require __DIR__ . '/autoload_files.php';
58
  }
59
  foreach ($includeFiles as $fileIdentifier => $file) {
60
+ composerRequire2dba50ba57466a48cbb5b63c2b704554($fileIdentifier, $file);
61
  }
62
 
63
  return $loader;
64
  }
65
  }
66
 
67
+ function composerRequire2dba50ba57466a48cbb5b63c2b704554($fileIdentifier, $file)
68
  {
69
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
70
  require $file;
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit1f6824ea47e4f9e309f072fadc50e868
8
  {
9
  public static $files = array (
10
  '2c102faa651ef8ea5874edb585946bce' => __DIR__ . '/..' . '/swiftmailer/swiftmailer/lib/swift_required.php',
@@ -44,6 +44,7 @@ class ComposerStaticInit1f6824ea47e4f9e309f072fadc50e868
44
  'I' =>
45
  array (
46
  'Inpsyde\\BackWPup\\' => 17,
 
47
  ),
48
  'F' =>
49
  array (
@@ -100,6 +101,10 @@ class ComposerStaticInit1f6824ea47e4f9e309f072fadc50e868
100
  array (
101
  0 => __DIR__ . '/../..' . '/inc',
102
  ),
 
 
 
 
103
  'Firebase\\JWT\\' =>
104
  array (
105
  0 => __DIR__ . '/..' . '/firebase/php-jwt/src',
@@ -1598,6 +1603,7 @@ class ComposerStaticInit1f6824ea47e4f9e309f072fadc50e868
1598
  'HTTP_Request2_ResponseTest' => __DIR__ . '/..' . '/pear/http_request2/tests/Request2/ResponseTest.php',
1599
  'HTTP_Request2_SOCKS5' => __DIR__ . '/..' . '/pear/http_request2/HTTP/Request2/SOCKS5.php',
1600
  'HTTP_Request2_SocketWrapper' => __DIR__ . '/..' . '/pear/http_request2/HTTP/Request2/SocketWrapper.php',
 
1601
  'Inpsyde_PhoneHome_ActionController' => __DIR__ . '/..' . '/inpsyde/phone-home-client/src/ActionController.php',
1602
  'Inpsyde_PhoneHome_Configuration' => __DIR__ . '/..' . '/inpsyde/phone-home-client/src/Configuration.php',
1603
  'Inpsyde_PhoneHome_Consent' => __DIR__ . '/..' . '/inpsyde/phone-home-client/src/Consent/Consent.php',
@@ -2509,11 +2515,11 @@ class ComposerStaticInit1f6824ea47e4f9e309f072fadc50e868
2509
  public static function getInitializer(ClassLoader $loader)
2510
  {
2511
  return \Closure::bind(function () use ($loader) {
2512
- $loader->prefixLengthsPsr4 = ComposerStaticInit1f6824ea47e4f9e309f072fadc50e868::$prefixLengthsPsr4;
2513
- $loader->prefixDirsPsr4 = ComposerStaticInit1f6824ea47e4f9e309f072fadc50e868::$prefixDirsPsr4;
2514
- $loader->prefixesPsr0 = ComposerStaticInit1f6824ea47e4f9e309f072fadc50e868::$prefixesPsr0;
2515
- $loader->fallbackDirsPsr0 = ComposerStaticInit1f6824ea47e4f9e309f072fadc50e868::$fallbackDirsPsr0;
2516
- $loader->classMap = ComposerStaticInit1f6824ea47e4f9e309f072fadc50e868::$classMap;
2517
 
2518
  }, null, ClassLoader::class);
2519
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInit2dba50ba57466a48cbb5b63c2b704554
8
  {
9
  public static $files = array (
10
  '2c102faa651ef8ea5874edb585946bce' => __DIR__ . '/..' . '/swiftmailer/swiftmailer/lib/swift_required.php',
44
  'I' =>
45
  array (
46
  'Inpsyde\\BackWPup\\' => 17,
47
+ 'Inpsyde\\BackWPupShared\\' => 23,
48
  ),
49
  'F' =>
50
  array (
101
  array (
102
  0 => __DIR__ . '/../..' . '/inc',
103
  ),
104
+ 'Inpsyde\\BackWPupShared\\' =>
105
+ array (
106
+ 0 => __DIR__ . '/..' . '/inpsyde/backwpup-shared/src',
107
+ ),
108
  'Firebase\\JWT\\' =>
109
  array (
110
  0 => __DIR__ . '/..' . '/firebase/php-jwt/src',
1603
  'HTTP_Request2_ResponseTest' => __DIR__ . '/..' . '/pear/http_request2/tests/Request2/ResponseTest.php',
1604
  'HTTP_Request2_SOCKS5' => __DIR__ . '/..' . '/pear/http_request2/HTTP/Request2/SOCKS5.php',
1605
  'HTTP_Request2_SocketWrapper' => __DIR__ . '/..' . '/pear/http_request2/HTTP/Request2/SocketWrapper.php',
1606
+ 'Inpsyde\\BackWPupShared\\File\\MimeTypeExtractor' => __DIR__ . '/..' . '/inpsyde/backwpup-shared/src/File/MimeTypeExtractor.php',
1607
  'Inpsyde_PhoneHome_ActionController' => __DIR__ . '/..' . '/inpsyde/phone-home-client/src/ActionController.php',
1608
  'Inpsyde_PhoneHome_Configuration' => __DIR__ . '/..' . '/inpsyde/phone-home-client/src/Configuration.php',
1609
  'Inpsyde_PhoneHome_Consent' => __DIR__ . '/..' . '/inpsyde/phone-home-client/src/Consent/Consent.php',
2515
  public static function getInitializer(ClassLoader $loader)
2516
  {
2517
  return \Closure::bind(function () use ($loader) {
2518
+ $loader->prefixLengthsPsr4 = ComposerStaticInit2dba50ba57466a48cbb5b63c2b704554::$prefixLengthsPsr4;
2519
+ $loader->prefixDirsPsr4 = ComposerStaticInit2dba50ba57466a48cbb5b63c2b704554::$prefixDirsPsr4;
2520
+ $loader->prefixesPsr0 = ComposerStaticInit2dba50ba57466a48cbb5b63c2b704554::$prefixesPsr0;
2521
+ $loader->fallbackDirsPsr0 = ComposerStaticInit2dba50ba57466a48cbb5b63c2b704554::$fallbackDirsPsr0;
2522
+ $loader->classMap = ComposerStaticInit2dba50ba57466a48cbb5b63c2b704554::$classMap;
2523
 
2524
  }, null, ClassLoader::class);
2525
  }
vendor/composer/installed.json CHANGED
@@ -292,12 +292,12 @@
292
  "source": {
293
  "type": "git",
294
  "url": "git@bitbucket.org:inpsyde/backwpup-shared.git",
295
- "reference": "a07e4cf6afc13d801e209c442c2cb3ebf95d6cb0"
296
  },
297
  "dist": {
298
  "type": "zip",
299
- "url": "https://bitbucket.org/inpsyde/backwpup-shared/get/a07e4cf6afc13d801e209c442c2cb3ebf95d6cb0.zip",
300
- "reference": "a07e4cf6afc13d801e209c442c2cb3ebf95d6cb0",
301
  "shasum": "",
302
  "mirrors": [
303
  {
@@ -306,7 +306,16 @@
306
  }
307
  ]
308
  },
309
- "time": "2018-12-24T15:07:43+00:00",
 
 
 
 
 
 
 
 
 
310
  "type": "library",
311
  "extra": {
312
  "branch-alias": {
@@ -314,6 +323,16 @@
314
  }
315
  },
316
  "installation-source": "dist",
 
 
 
 
 
 
 
 
 
 
317
  "notification-url": "https://repo.packagist.com/inpsyde/downloads/",
318
  "license": [
319
  "GPL-2"
@@ -327,22 +346,22 @@
327
  "description": "Shared repository for free, pro and restore",
328
  "homepage": "https://bitbucket.org/inpsyde/backwpup-shared",
329
  "support": {
330
- "source": "https://bitbucket.org/inpsyde/backwpup-shared/src/a07e4cf6afc13d801e209c442c2cb3ebf95d6cb0/?at=master"
331
  }
332
  },
333
  {
334
  "name": "inpsyde/phone-home-client",
335
- "version": "0.1.1",
336
- "version_normalized": "0.1.1.0",
337
  "source": {
338
  "type": "git",
339
  "url": "git@bitbucket.org:inpsyde/phone-home-client.git",
340
- "reference": "f47b268e02d79a8f20f9433e050e505f5efa4365"
341
  },
342
  "dist": {
343
  "type": "zip",
344
- "url": "https://bitbucket.org/inpsyde/phone-home-client/get/f47b268e02d79a8f20f9433e050e505f5efa4365.zip",
345
- "reference": "f47b268e02d79a8f20f9433e050e505f5efa4365",
346
  "shasum": "",
347
  "mirrors": [
348
  {
@@ -354,7 +373,7 @@
354
  "require": {
355
  "php": ">=5.2"
356
  },
357
- "time": "2017-02-16T12:33:28+00:00",
358
  "type": "library",
359
  "extra": {
360
  "branch-alias": {
@@ -387,7 +406,7 @@
387
  "description": "A WordPress package to be used by plugins to add a page that ask for phone-home consensus and send data in case user approves.",
388
  "homepage": "https://bitbucket.org/inpsyde/phone-home-client",
389
  "support": {
390
- "source": "https://bitbucket.org/inpsyde/phone-home-client/src/f47b268e02d79a8f20f9433e050e505f5efa4365/?at=0.1.1"
391
  }
392
  },
393
  {
@@ -954,17 +973,17 @@
954
  },
955
  {
956
  "name": "pear/pear-core-minimal",
957
- "version": "v1.10.7",
958
- "version_normalized": "1.10.7.0",
959
  "source": {
960
  "type": "git",
961
  "url": "https://github.com/pear/pear-core-minimal.git",
962
- "reference": "19a3e0fcd50492c4357372f623f55f1b144346da"
963
  },
964
  "dist": {
965
  "type": "zip",
966
- "url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/19a3e0fcd50492c4357372f623f55f1b144346da",
967
- "reference": "19a3e0fcd50492c4357372f623f55f1b144346da",
968
  "shasum": "",
969
  "mirrors": [
970
  {
@@ -980,7 +999,7 @@
980
  "replace": {
981
  "rsky/pear-core-min": "self.version"
982
  },
983
- "time": "2018-12-05T20:03:52+00:00",
984
  "type": "library",
985
  "installation-source": "dist",
986
  "autoload": {
@@ -1542,17 +1561,17 @@
1542
  },
1543
  {
1544
  "name": "symfony/event-dispatcher",
1545
- "version": "v4.2.3",
1546
- "version_normalized": "4.2.3.0",
1547
  "source": {
1548
  "type": "git",
1549
  "url": "https://github.com/symfony/event-dispatcher.git",
1550
- "reference": "bd09ad265cd50b2b9d09d65ce6aba2d29bc81fe1"
1551
  },
1552
  "dist": {
1553
  "type": "zip",
1554
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/bd09ad265cd50b2b9d09d65ce6aba2d29bc81fe1",
1555
- "reference": "bd09ad265cd50b2b9d09d65ce6aba2d29bc81fe1",
1556
  "shasum": "",
1557
  "mirrors": [
1558
  {
@@ -1579,7 +1598,7 @@
1579
  "symfony/dependency-injection": "",
1580
  "symfony/http-kernel": ""
1581
  },
1582
- "time": "2019-01-16T20:35:37+00:00",
1583
  "type": "library",
1584
  "extra": {
1585
  "branch-alias": {
@@ -1614,17 +1633,17 @@
1614
  },
1615
  {
1616
  "name": "symfony/polyfill-mbstring",
1617
- "version": "v1.10.0",
1618
- "version_normalized": "1.10.0.0",
1619
  "source": {
1620
  "type": "git",
1621
  "url": "https://github.com/symfony/polyfill-mbstring.git",
1622
- "reference": "c79c051f5b3a46be09205c73b80b346e4153e494"
1623
  },
1624
  "dist": {
1625
  "type": "zip",
1626
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494",
1627
- "reference": "c79c051f5b3a46be09205c73b80b346e4153e494",
1628
  "shasum": "",
1629
  "mirrors": [
1630
  {
@@ -1639,11 +1658,11 @@
1639
  "suggest": {
1640
  "ext-mbstring": "For best performance"
1641
  },
1642
- "time": "2018-09-21T13:07:52+00:00",
1643
  "type": "library",
1644
  "extra": {
1645
  "branch-alias": {
1646
- "dev-master": "1.9-dev"
1647
  }
1648
  },
1649
  "installation-source": "dist",
292
  "source": {
293
  "type": "git",
294
  "url": "git@bitbucket.org:inpsyde/backwpup-shared.git",
295
+ "reference": "2ad13d2aa01fb5a235c8f4e1108959a40796826d"
296
  },
297
  "dist": {
298
  "type": "zip",
299
+ "url": "https://bitbucket.org/inpsyde/backwpup-shared/get/2ad13d2aa01fb5a235c8f4e1108959a40796826d.zip",
300
+ "reference": "2ad13d2aa01fb5a235c8f4e1108959a40796826d",
301
  "shasum": "",
302
  "mirrors": [
303
  {
306
  }
307
  ]
308
  },
309
+ "require": {
310
+ "ext-fileinfo": "*",
311
+ "php": ">=5.3"
312
+ },
313
+ "require-dev": {
314
+ "brain/monkey": "^2.0@dev",
315
+ "inpsyde/php-coding-standards": "^0.13.0@dev",
316
+ "phpunit/phpunit": "^6"
317
+ },
318
+ "time": "2019-04-24T14:49:05+00:00",
319
  "type": "library",
320
  "extra": {
321
  "branch-alias": {
323
  }
324
  },
325
  "installation-source": "dist",
326
+ "autoload": {
327
+ "psr-4": {
328
+ "Inpsyde\\BackWPupShared\\": "src/"
329
+ }
330
+ },
331
+ "autoload-dev": {
332
+ "psr-4": {
333
+ "Inpsyde\\BackWPupShared\\Tests\\": "tests/php/"
334
+ }
335
+ },
336
  "notification-url": "https://repo.packagist.com/inpsyde/downloads/",
337
  "license": [
338
  "GPL-2"
346
  "description": "Shared repository for free, pro and restore",
347
  "homepage": "https://bitbucket.org/inpsyde/backwpup-shared",
348
  "support": {
349
+ "source": "https://bitbucket.org/inpsyde/backwpup-shared/src/2ad13d2aa01fb5a235c8f4e1108959a40796826d/?at=bugfix/BWU-1372-mime_content_type-function"
350
  }
351
  },
352
  {
353
  "name": "inpsyde/phone-home-client",
354
+ "version": "0.1.2",
355
+ "version_normalized": "0.1.2.0",
356
  "source": {
357
  "type": "git",
358
  "url": "git@bitbucket.org:inpsyde/phone-home-client.git",
359
+ "reference": "041bf5d093b7dcb2574210f09f9d24939d3482a3"
360
  },
361
  "dist": {
362
  "type": "zip",
363
+ "url": "https://bitbucket.org/inpsyde/phone-home-client/get/041bf5d093b7dcb2574210f09f9d24939d3482a3.zip",
364
+ "reference": "041bf5d093b7dcb2574210f09f9d24939d3482a3",
365
  "shasum": "",
366
  "mirrors": [
367
  {
373
  "require": {
374
  "php": ">=5.2"
375
  },
376
+ "time": "2019-04-26T13:35:19+00:00",
377
  "type": "library",
378
  "extra": {
379
  "branch-alias": {
406
  "description": "A WordPress package to be used by plugins to add a page that ask for phone-home consensus and send data in case user approves.",
407
  "homepage": "https://bitbucket.org/inpsyde/phone-home-client",
408
  "support": {
409
+ "source": "https://bitbucket.org/inpsyde/phone-home-client/src/041bf5d093b7dcb2574210f09f9d24939d3482a3/?at=0.1.2"
410
  }
411
  },
412
  {
973
  },
974
  {
975
  "name": "pear/pear-core-minimal",
976
+ "version": "v1.10.9",
977
+ "version_normalized": "1.10.9.0",
978
  "source": {
979
  "type": "git",
980
  "url": "https://github.com/pear/pear-core-minimal.git",
981
+ "reference": "742be8dd68c746a01e4b0a422258e9c9cae1c37f"
982
  },
983
  "dist": {
984
  "type": "zip",
985
+ "url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/742be8dd68c746a01e4b0a422258e9c9cae1c37f",
986
+ "reference": "742be8dd68c746a01e4b0a422258e9c9cae1c37f",
987
  "shasum": "",
988
  "mirrors": [
989
  {
999
  "replace": {
1000
  "rsky/pear-core-min": "self.version"
1001
  },
1002
+ "time": "2019-03-13T18:15:44+00:00",
1003
  "type": "library",
1004
  "installation-source": "dist",
1005
  "autoload": {
1561
  },
1562
  {
1563
  "name": "symfony/event-dispatcher",
1564
+ "version": "v4.2.8",
1565
+ "version_normalized": "4.2.8.0",
1566
  "source": {
1567
  "type": "git",
1568
  "url": "https://github.com/symfony/event-dispatcher.git",
1569
+ "reference": "fbce53cd74ac509cbe74b6f227622650ab759b02"
1570
  },
1571
  "dist": {
1572
  "type": "zip",
1573
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/fbce53cd74ac509cbe74b6f227622650ab759b02",
1574
+ "reference": "fbce53cd74ac509cbe74b6f227622650ab759b02",
1575
  "shasum": "",
1576
  "mirrors": [
1577
  {
1598
  "symfony/dependency-injection": "",
1599
  "symfony/http-kernel": ""
1600
  },
1601
+ "time": "2019-04-06T13:51:08+00:00",
1602
  "type": "library",
1603
  "extra": {
1604
  "branch-alias": {
1633
  },
1634
  {
1635
  "name": "symfony/polyfill-mbstring",
1636
+ "version": "v1.11.0",
1637
+ "version_normalized": "1.11.0.0",
1638
  "source": {
1639
  "type": "git",
1640
  "url": "https://github.com/symfony/polyfill-mbstring.git",
1641
+ "reference": "fe5e94c604826c35a32fa832f35bd036b6799609"
1642
  },
1643
  "dist": {
1644
  "type": "zip",
1645
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fe5e94c604826c35a32fa832f35bd036b6799609",
1646
+ "reference": "fe5e94c604826c35a32fa832f35bd036b6799609",
1647
  "shasum": "",
1648
  "mirrors": [
1649
  {
1658
  "suggest": {
1659
  "ext-mbstring": "For best performance"
1660
  },
1661
+ "time": "2019-02-06T07:57:58+00:00",
1662
  "type": "library",
1663
  "extra": {
1664
  "branch-alias": {
1665
+ "dev-master": "1.11-dev"
1666
  }
1667
  },
1668
  "installation-source": "dist",
vendor/inpsyde/backwpup-shared/src/File/MimeTypeExtractor.php ADDED
@@ -0,0 +1,227 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php # -*- coding: utf-8 -*-
2
+
3
+ namespace Inpsyde\BackWPupShared\File;
4
+
5
+ /**
6
+ * Class MimeTypeExtractor
7
+ */
8
+ class MimeTypeExtractor
9
+ {
10
+ const DEFAULT_MIME_TYPE = 'application/octet-stream';
11
+
12
+ /**
13
+ * Mime Type List
14
+ *
15
+ * @var array
16
+ */
17
+ private static $mimeTypeList = array(
18
+ 'zip' => 'application/zip',
19
+ 'gz' => 'application/gzip',
20
+ 'bz2' => 'application/x-bzip',
21
+ 'tar' => 'application/x-tar',
22
+ '3gp' => 'video/3gpp',
23
+ 'ai' => 'application/postscript',
24
+ 'aif' => 'audio/x-aiff',
25
+ 'aifc' => 'audio/x-aiff',
26
+ 'aiff' => 'audio/x-aiff',
27
+ 'asc' => 'text/plain',
28
+ 'atom' => 'application/atom+xml',
29
+ 'au' => 'audio/basic',
30
+ 'avi' => 'video/x-msvideo',
31
+ 'bcpio' => 'application/x-bcpio',
32
+ 'bin' => 'application/octet-stream',
33
+ 'bmp' => 'image/bmp',
34
+ 'cdf' => 'application/x-netcdf',
35
+ 'cgm' => 'image/cgm',
36
+ 'class' => 'application/octet-stream',
37
+ 'cpio' => 'application/x-cpio',
38
+ 'cpt' => 'application/mac-compactpro',
39
+ 'csh' => 'application/x-csh',
40
+ 'css' => 'text/css',
41
+ 'dcr' => 'application/x-director',
42
+ 'dif' => 'video/x-dv',
43
+ 'dir' => 'application/x-director',
44
+ 'djv' => 'image/vnd.djvu',
45
+ 'djvu' => 'image/vnd.djvu',
46
+ 'dll' => 'application/octet-stream',
47
+ 'dmg' => 'application/octet-stream',
48
+ 'dms' => 'application/octet-stream',
49
+ 'doc' => 'application/msword',
50
+ 'dtd' => 'application/xml-dtd',
51
+ 'dv' => 'video/x-dv',
52
+ 'dvi' => 'application/x-dvi',
53
+ 'dxr' => 'application/x-director',
54
+ 'eps' => 'application/postscript',
55
+ 'etx' => 'text/x-setext',
56
+ 'exe' => 'application/octet-stream',
57
+ 'ez' => 'application/andrew-inset',
58
+ 'flv' => 'video/x-flv',
59
+ 'gif' => 'image/gif',
60
+ 'gram' => 'application/srgs',
61
+ 'grxml' => 'application/srgs+xml',
62
+ 'gtar' => 'application/x-gtar',
63
+ 'hdf' => 'application/x-hdf',
64
+ 'hqx' => 'application/mac-binhex40',
65
+ 'htm' => 'text/html',
66
+ 'html' => 'text/html',
67
+ 'ice' => 'x-conference/x-cooltalk',
68
+ 'ico' => 'image/x-icon',
69
+ 'ics' => 'text/calendar',
70
+ 'ief' => 'image/ief',
71
+ 'ifb' => 'text/calendar',
72
+ 'iges' => 'model/iges',
73
+ 'igs' => 'model/iges',
74
+ 'jnlp' => 'application/x-java-jnlp-file',
75
+ 'jp2' => 'image/jp2',
76
+ 'jpe' => 'image/jpeg',
77
+ 'jpeg' => 'image/jpeg',
78
+ 'jpg' => 'image/jpeg',
79
+ 'js' => 'application/x-javascript',
80
+ 'kar' => 'audio/midi',
81
+ 'latex' => 'application/x-latex',
82
+ 'lha' => 'application/octet-stream',
83
+ 'lzh' => 'application/octet-stream',
84
+ 'm3u' => 'audio/x-mpegurl',
85
+ 'm4a' => 'audio/mp4a-latm',
86
+ 'm4p' => 'audio/mp4a-latm',
87
+ 'm4u' => 'video/vnd.mpegurl',
88
+ 'm4v' => 'video/x-m4v',
89
+ 'mac' => 'image/x-macpaint',
90
+ 'man' => 'application/x-troff-man',
91
+ 'mathml' => 'application/mathml+xml',
92
+ 'me' => 'application/x-troff-me',
93
+ 'mesh' => 'model/mesh',
94
+ 'mid' => 'audio/midi',
95
+ 'midi' => 'audio/midi',
96
+ 'mif' => 'application/vnd.mif',
97
+ 'mov' => 'video/quicktime',
98
+ 'movie' => 'video/x-sgi-movie',
99
+ 'mp2' => 'audio/mpeg',
100
+ 'mp3' => 'audio/mpeg',
101
+ 'mp4' => 'video/mp4',
102
+ 'mpe' => 'video/mpeg',
103
+ 'mpeg' => 'video/mpeg',
104
+ 'mpg' => 'video/mpeg',
105
+ 'mpga' => 'audio/mpeg',
106
+ 'ms' => 'application/x-troff-ms',
107
+ 'msh' => 'model/mesh',
108
+ 'mxu' => 'video/vnd.mpegurl',
109
+ 'nc' => 'application/x-netcdf',
110
+ 'oda' => 'application/oda',
111
+ 'ogg' => 'application/ogg',
112
+ 'ogv' => 'video/ogv',
113
+ 'pbm' => 'image/x-portable-bitmap',
114
+ 'pct' => 'image/pict',
115
+ 'pdb' => 'chemical/x-pdb',
116
+ 'pdf' => 'application/pdf',
117
+ 'pgm' => 'image/x-portable-graymap',
118
+ 'pgn' => 'application/x-chess-pgn',
119
+ 'pic' => 'image/pict',
120
+ 'pict' => 'image/pict',
121
+ 'png' => 'image/png',
122
+ 'pnm' => 'image/x-portable-anymap',
123
+ 'pnt' => 'image/x-macpaint',
124
+ 'pntg' => 'image/x-macpaint',
125
+ 'ppm' => 'image/x-portable-pixmap',
126
+ 'ppt' => 'application/vnd.ms-powerpoint',
127
+ 'ps' => 'application/postscript',
128
+ 'qt' => 'video/quicktime',
129
+ 'qti' => 'image/x-quicktime',
130
+ 'qtif' => 'image/x-quicktime',
131
+ 'ra' => 'audio/x-pn-realaudio',
132
+ 'ram' => 'audio/x-pn-realaudio',
133
+ 'ras' => 'image/x-cmu-raster',
134
+ 'rdf' => 'application/rdf+xml',
135
+ 'rgb' => 'image/x-rgb',
136
+ 'rm' => 'application/vnd.rn-realmedia',
137
+ 'roff' => 'application/x-troff',
138
+ 'rtf' => 'text/rtf',
139
+ 'rtx' => 'text/richtext',
140
+ 'sgm' => 'text/sgml',
141
+ 'sgml' => 'text/sgml',
142
+ 'sh' => 'application/x-sh',
143
+ 'shar' => 'application/x-shar',
144
+ 'silo' => 'model/mesh',
145
+ 'sit' => 'application/x-stuffit',
146
+ 'skd' => 'application/x-koan',
147
+ 'skm' => 'application/x-koan',
148
+ 'skp' => 'application/x-koan',
149
+ 'skt' => 'application/x-koan',
150
+ 'smi' => 'application/smil',
151
+ 'smil' => 'application/smil',
152
+ 'snd' => 'audio/basic',
153
+ 'so' => 'application/octet-stream',
154
+ 'spl' => 'application/x-futuresplash',
155
+ 'src' => 'application/x-wais-source',
156
+ 'sv4cpio' => 'application/x-sv4cpio',
157
+ 'sv4crc' => 'application/x-sv4crc',
158
+ 'svg' => 'image/svg+xml',
159
+ 'swf' => 'application/x-shockwave-flash',
160
+ 't' => 'application/x-troff',
161
+ 'tcl' => 'application/x-tcl',
162
+ 'tex' => 'application/x-tex',
163
+ 'texi' => 'application/x-texinfo',
164
+ 'texinfo' => 'application/x-texinfo',
165
+ 'tif' => 'image/tiff',
166
+ 'tiff' => 'image/tiff',
167
+ 'tr' => 'application/x-troff',
168
+ 'tsv' => 'text/tab-separated-values',
169
+ 'txt' => 'text/plain',
170
+ 'ustar' => 'application/x-ustar',
171
+ 'vcd' => 'application/x-cdlink',
172
+ 'vrml' => 'model/vrml',
173
+ 'vxml' => 'application/voicexml+xml',
174
+ 'wav' => 'audio/x-wav',
175
+ 'wbmp' => 'image/vnd.wap.wbmp',
176
+ 'wbxml' => 'application/vnd.wap.wbxml',
177
+ 'webm' => 'video/webm',
178
+ 'wml' => 'text/vnd.wap.wml',
179
+ 'wmlc' => 'application/vnd.wap.wmlc',
180
+ 'wmls' => 'text/vnd.wap.wmlscript',
181
+ 'wmlsc' => 'application/vnd.wap.wmlscriptc',
182
+ 'wmv' => 'video/x-ms-wmv',
183
+ 'wrl' => 'model/vrml',
184
+ 'xbm' => 'image/x-xbitmap',
185
+ 'xht' => 'application/xhtml+xml',
186
+ 'xhtml' => 'application/xhtml+xml',
187
+ 'xls' => 'application/vnd.ms-excel',
188
+ 'xml' => 'application/xml',
189
+ 'xpm' => 'image/x-xpixmap',
190
+ 'xsl' => 'application/xml',
191
+ 'xslt' => 'application/xslt+xml',
192
+ 'xul' => 'application/vnd.mozilla.xul+xml',
193
+ 'xwd' => 'image/x-xwindowdump',
194
+ 'xyz' => 'chemical/x-xyz',
195
+ );
196
+
197
+ /**
198
+ * @param string $file
199
+ * @return string
200
+ */
201
+ public static function fromFilePath($file)
202
+ {
203
+ if (!is_readable($file) || is_dir($file) || is_link($file)) {
204
+ return self::DEFAULT_MIME_TYPE;
205
+ }
206
+
207
+ $mimeType = '';
208
+ $fileSuffix = pathinfo($file, PATHINFO_EXTENSION);
209
+ $suffix = strtolower($fileSuffix);
210
+
211
+ if (isset(self::$mimeTypeList[$suffix])) {
212
+ $mimeType = self::$mimeTypeList[$suffix];
213
+ }
214
+
215
+ if (!$mimeType && function_exists('finfo_file')) {
216
+ $finfo = finfo_open(FILEINFO_MIME_TYPE);
217
+ $mimeType = finfo_file($finfo, $file);
218
+ finfo_close($finfo);
219
+ }
220
+
221
+ if (!$mimeType && function_exists('mime_content_type')) {
222
+ $mimeType = mime_content_type($file);
223
+ }
224
+
225
+ return $mimeType ?: self::DEFAULT_MIME_TYPE;
226
+ }
227
+ }
vendor/pear/pear-core-minimal/src/PEAR.php CHANGED
@@ -542,7 +542,7 @@ class PEAR
542
  count($object->_expected_errors) > 0 &&
543
  count($exp = end($object->_expected_errors))
544
  ) {
545
- if ($exp[0] == "*" ||
546
  (is_int(reset($exp)) && in_array($code, $exp)) ||
547
  (is_string(reset($exp)) && in_array($message, $exp))
548
  ) {
542
  count($object->_expected_errors) > 0 &&
543
  count($exp = end($object->_expected_errors))
544
  ) {
545
+ if ($exp[0] === "*" ||
546
  (is_int(reset($exp)) && in_array($code, $exp)) ||
547
  (is_string(reset($exp)) && in_array($message, $exp))
548
  ) {
vendor/pear/pear-core-minimal/src/PEAR/ErrorStack.php CHANGED
@@ -676,7 +676,7 @@ class PEAR_ErrorStack {
676
  * @return boolean
677
  * @since PEAR1.5.0a1
678
  */
679
- function staticPop($package)
680
  {
681
  if ($package) {
682
  if (!isset($GLOBALS['_PEAR_ERRORSTACK_SINGLETON'][$package])) {
676
  * @return boolean
677
  * @since PEAR1.5.0a1
678
  */
679
+ static function staticPop($package)
680
  {
681
  if ($package) {
682
  if (!isset($GLOBALS['_PEAR_ERRORSTACK_SINGLETON'][$package])) {
vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php CHANGED
@@ -304,10 +304,6 @@ class TraceableEventDispatcher implements TraceableEventDispatcherInterface
304
  if (null !== $this->logger) {
305
  $this->logger->debug('Notified event "{event}" to listener "{listener}".', $context);
306
  }
307
-
308
- if (!isset($this->called[$eventName])) {
309
- $this->called[$eventName] = new \SplObjectStorage();
310
- }
311
  } else {
312
  $this->callStack->detach($listener);
313
  }
304
  if (null !== $this->logger) {
305
  $this->logger->debug('Notified event "{event}" to listener "{listener}".', $context);
306
  }
 
 
 
 
307
  } else {
308
  $this->callStack->detach($listener);
309
  }
vendor/symfony/event-dispatcher/Debug/WrappedListener.php CHANGED
@@ -29,6 +29,7 @@ class WrappedListener
29
  private $dispatcher;
30
  private $pretty;
31
  private $stub;
 
32
  private static $hasClassStub;
33
 
34
  public function __construct($listener, $name, Stopwatch $stopwatch, EventDispatcherInterface $dispatcher = null)
@@ -96,7 +97,7 @@ class WrappedListener
96
 
97
  return [
98
  'event' => $eventName,
99
- 'priority' => null !== $this->dispatcher ? $this->dispatcher->getListenerPriority($eventName, $this->listener) : null,
100
  'pretty' => $this->pretty,
101
  'stub' => $this->stub,
102
  ];
@@ -104,11 +105,14 @@ class WrappedListener
104
 
105
  public function __invoke(Event $event, $eventName, EventDispatcherInterface $dispatcher)
106
  {
 
 
107
  $this->called = true;
 
108
 
109
  $e = $this->stopwatch->start($this->name, 'event_listener');
110
 
111
- ($this->listener)($event, $eventName, $this->dispatcher ?: $dispatcher);
112
 
113
  if ($e->isStarted()) {
114
  $e->stop();
29
  private $dispatcher;
30
  private $pretty;
31
  private $stub;
32
+ private $priority;
33
  private static $hasClassStub;
34
 
35
  public function __construct($listener, $name, Stopwatch $stopwatch, EventDispatcherInterface $dispatcher = null)
97
 
98
  return [
99
  'event' => $eventName,
100
+ 'priority' => null !== $this->priority ? $this->priority : (null !== $this->dispatcher ? $this->dispatcher->getListenerPriority($eventName, $this->listener) : null),
101
  'pretty' => $this->pretty,
102
  'stub' => $this->stub,
103
  ];
105
 
106
  public function __invoke(Event $event, $eventName, EventDispatcherInterface $dispatcher)
107
  {
108
+ $dispatcher = $this->dispatcher ?: $dispatcher;
109
+
110
  $this->called = true;
111
+ $this->priority = $dispatcher->getListenerPriority($eventName, $this->listener);
112
 
113
  $e = $this->stopwatch->start($this->name, 'event_listener');
114
 
115
+ ($this->listener)($event, $eventName, $dispatcher);
116
 
117
  if ($e->isStarted()) {
118
  $e->stop();
vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php CHANGED
@@ -105,7 +105,7 @@ class RegisterListenersPass implements CompilerPassInterface
105
  $definition->addMethodCall('addListener', $args);
106
 
107
  if (isset($this->hotPathEvents[$args[0]])) {
108
- $container->getDefinition($id)->addTag('container.hot_path');
109
  }
110
  }
111
  $extractingDispatcher->listeners = [];
105
  $definition->addMethodCall('addListener', $args);
106
 
107
  if (isset($this->hotPathEvents[$args[0]])) {
108
+ $container->getDefinition($id)->addTag($this->hotPathTagName);
109
  }
110
  }
111
  $extractingDispatcher->listeners = [];
vendor/symfony/event-dispatcher/GenericEvent.php CHANGED
@@ -111,7 +111,7 @@ class GenericEvent extends Event implements \ArrayAccess, \IteratorAggregate
111
  */
112
  public function hasArgument($key)
113
  {
114
- return array_key_exists($key, $this->arguments);
115
  }
116
 
117
  /**
111
  */
112
  public function hasArgument($key)
113
  {
114
+ return \array_key_exists($key, $this->arguments);
115
  }
116
 
117
  /**