PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backup, Restore, Migration & Clone / 4.9.2
WP STAGING – WordPress Backup, Restore, Migration & Clone v4.9.2
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 1 day ago Backup 1 day ago Basic 2 weeks ago Component 2 weeks ago Core 2 weeks ago Framework 1 day ago Frontend 5 months ago Notifications 8 months ago Staging 1 day ago assets 1 day ago languages 1 day ago resources 1 year ago vendor_wpstg 1 day ago views 1 day ago CONTRIBUTING.md 2 years ago Deactivate.php 8 months ago README.md 3 months ago SECURITY.md 2 years ago autoloader.php 2 months ago bootstrap.php 2 months ago commonBootstrap.php 1 week ago constantsFree.php 1 day ago freeBootstrap.php 1 day ago install.php 2 weeks ago opcacheBootstrap.php 1 day ago readme.txt 1 day ago runtimeRequirements.php 3 months ago uninstall.php 1 day ago wp-staging-error-handler.php 7 months ago wp-staging.php 1 day 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.2
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