PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backup, Restore, Migration & Clone / 4.9.3
WP STAGING – WordPress Backup, Restore, Migration & Clone v4.9.3
4.9.3 4.9.2 4.9.1 4.9.0 4.8.1 trunk 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.10.0 3.2.0 3.3.1 3.3.2 3.3.3 3.4.1 3.4.3 3.5.0 3.6.0 3.7.1 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 3.9.0 3.9.1 3.9.2 3.9.3 3.9.4 4.0.0 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.7.2 4.7.3 4.8.0
wp-staging / wp-staging.php
wp-staging Last commit date
Backend 3 days ago Backup 1 week ago Basic 3 days ago Component 3 weeks ago Core 3 days ago Framework 3 days ago Frontend 6 months ago Notifications 9 months ago Staging 3 days ago assets 3 days ago languages 1 week ago resources 1 year ago vendor_wpstg 3 days ago views 3 days ago CONTRIBUTING.md 2 years ago Deactivate.php 9 months ago README.md 4 months ago SECURITY.md 3 days ago autoloader.php 2 months ago bootstrap.php 3 days ago commonBootstrap.php 2 weeks ago constantsFree.php 3 days ago freeBootstrap.php 1 week ago install.php 3 weeks ago opcacheBootstrap.php 3 days ago readme.txt 3 days ago runtimeRequirements.php 4 months ago uninstall.php 3 days ago wp-staging-error-handler.php 7 months ago wp-staging.php 3 days ago
wp-staging.php
91 lines
1 <?php
2
3 /**
4 * Plugin Name: WP STAGING WordPress Backup Plugin - Backup Duplicator & Migration
5 * Plugin URI: https://wp-staging.com
6 * Description: Backup and staging environments, migrating WordPress sites. Update plugins without risk. Full backup and testing suite - 100% unit and end-to-end tested.
7 * Version: 4.9.3
8 * Requires at least: 3.6+
9 * Requires PHP: 7.0
10 * Author: WP-STAGING, WPStagingBackup
11 * Author URI: https://wp-staging.com/backup-wordpress
12 * License: GPLv2 or later
13 * License URI: http://www.gnu.org/licenses/gpl-2.0.html
14 * Text Domain: wp-staging
15 * Domain Path: /languages/
16 */
17
18 if (!defined("WPINC")) {
19 die;
20 }
21
22 /**
23 * Welcome to WP STAGING.
24 *
25 * If you're reading this, you are a curious person that likes
26 * to understand how things works, and that's awesome!
27 *
28 * The philosophy of this file is to work on all PHP versions.
29 *
30 * Before PHP can understand conditionals such as "if, else",
31 * it has to parse this file and split it into "tokens". This
32 * process is called "lexical analysis", and exists in almost
33 * all programming languages.
34 *
35 * This file uses only syntax that works with all PHP versions,
36 * so that any PHP version can parse it and run our version check
37 * conditional.
38 *
39 * Then we add more PHP files to be parsed, making sure they are
40 * running in a PHP version capable of parsing the syntax we are using.
41 */
42 if (version_compare(phpversion(), '7.0.0', '>=')) {
43 // The absolute path to the main file of this plugin.
44 global $pluginFilePath;
45 $pluginFilePath = __FILE__;
46
47 // phpcs:disable -- Code below runs only on PHP 7.0+ (guaranteed by the version_compare check above).
48 register_shutdown_function(function () {
49 $error = error_get_last();
50 if (!is_array($error)) {
51 return;
52 }
53
54 $fatalTypes = [E_ERROR, E_PARSE, E_USER_ERROR, E_COMPILE_ERROR, E_RECOVERABLE_ERROR];
55 if (!in_array($error['type'], $fatalTypes, true)) {
56 return;
57 }
58
59 if (strpos($error['file'], dirname(__FILE__)) !== 0) {
60 return;
61 }
62
63 error_log(sprintf(
64 '[WP STAGING] Fatal error: %s in %s on line %d',
65 $error['message'],
66 $error['file'],
67 $error['line']
68 ));
69 });
70
71 try {
72 include dirname(__FILE__) . '/opcacheBootstrap.php';
73 include_once dirname(__FILE__) . '/freeBootstrap.php';
74 } catch (\Throwable $e) {
75 error_log('[WP STAGING] Bootstrap failed: ' . $e->getMessage() . ' in ' . $e->getFile() . ':' . $e->getLine());
76 }
77 // phpcs:enable
78 } else {
79 if (!function_exists('wpstg_unsupported_php_version')) {
80 function wpstg_unsupported_php_version()
81 {
82 echo '<div class="notice-warning notice is-dismissible">';
83 echo '<p style="font-weight: bold;">' . esc_html__('PHP Version not supported', 'wp-staging') . '</p>';
84 echo '<p>' . sprintf(esc_html__('WP STAGING requires PHP %s or higher. Your site is running an outdated version of PHP (%s), which requires an update. If you can not upgrade WordPress, install WP STAGING 2.16.0 which supports PHP 5.6.', 'wp-staging'), '7.0', esc_html(phpversion())) . '</p>';
85 echo '</div>';
86 }
87 }
88
89 add_action('wpstg.admin_notices', 'wpstg_unsupported_php_version');
90 }
91