Use PHP 7.4 featers and PHP 8 polyfills

This commit is contained in:
David Stone
2025-02-08 13:57:32 -07:00
parent 8bea6067cd
commit b41dc2b2eb
550 changed files with 15270 additions and 14627 deletions
.phpcs.xml.distcomposer.jsoncomposer.lock
data
inc
admin-pages
class-about-admin-page.phpclass-base-admin-page.phpclass-base-customer-facing-admin-page.phpclass-broadcast-edit-admin-page.phpclass-broadcast-list-admin-page.phpclass-checkout-form-edit-admin-page.phpclass-checkout-form-list-admin-page.phpclass-customer-edit-admin-page.phpclass-customer-list-admin-page.phpclass-customizer-admin-page.phpclass-dashboard-admin-page.phpclass-discount-code-edit-admin-page.phpclass-discount-code-list-admin-page.phpclass-domain-edit-admin-page.phpclass-domain-list-admin-page.phpclass-edit-admin-page.phpclass-email-edit-admin-page.phpclass-email-list-admin-page.phpclass-email-template-customize-admin-page.phpclass-event-list-admin-page.phpclass-event-view-admin-page.phpclass-hosting-integration-wizard-admin-page.phpclass-invoice-template-customize-admin-page.phpclass-jobs-list-admin-page.phpclass-list-admin-page.phpclass-membership-edit-admin-page.phpclass-membership-list-admin-page.phpclass-migration-alert-admin-page.phpclass-payment-edit-admin-page.phpclass-payment-list-admin-page.phpclass-placeholders-admin-page.phpclass-product-edit-admin-page.phpclass-product-list-admin-page.phpclass-settings-admin-page.phpclass-setup-wizard-admin-page.phpclass-shortcodes-admin-page.phpclass-site-edit-admin-page.phpclass-site-list-admin-page.phpclass-system-info-admin-page.phpclass-tax-rates-admin-page.phpclass-template-previewer-customize-admin-page.phpclass-top-admin-nav-menu.phpclass-view-logs-admin-page.phpclass-webhook-edit-admin-page.phpclass-webhook-list-admin-page.phpclass-wizard-admin-page.php
customer-panel
debug
api
builders
checkout
class-cart.phpclass-checkout-pages.phpclass-checkout.phpclass-legacy-checkout.phpclass-line-item.php
signup-fields
class-admin-notices.phpclass-admin-themes-compatibility.phpclass-ajax.phpclass-api.phpclass-async-calls.phpclass-autoloader.phpclass-cron.phpclass-current.phpclass-dashboard-statistics.phpclass-dashboard-widgets.phpclass-documentation.phpclass-domain-mapping.phpclass-faker.phpclass-geolocation.phpclass-helper.phpclass-hooks.phpclass-light-ajax.phpclass-logger.phpclass-maintenance-mode.phpclass-newsletter.phpclass-requirements.phpclass-scripts.phpclass-session-cookie.phpclass-settings.phpclass-sunrise.phpclass-user-switching.phpclass-views.phpclass-whitelabel.phpclass-wp-ultimo.php
compat
country
database
debug
deprecated
development
domain-mapping
duplication
functions
gateways
helpers
installers
integrations
internal
invoices
limitations
limits
list-tables
loaders
managers
models
objects
site-templates
sso
tax
traits
ui
phpstan.neon.distrector.phpsunrise.php
tests
uninstall.php
views
about.phpadmin-notices.php
admin-pages
base
broadcast
emails
checkout
customers
dashboard-statistics
dashboard-widgets
events
legacy
memberships
settings
ui
wizards

@@ -28,9 +28,9 @@ class Maintenance_Mode {
*
* @since 2.0.0
*/
public function init() {
public function init(): void {
add_action('wp_ultimo_load', array($this, 'add_settings'));
add_action('wp_ultimo_load', [$this, 'add_settings']);
if (wu_get_setting('maintenance_mode')) {
$this->hooks();
@@ -43,19 +43,19 @@ class Maintenance_Mode {
* @since 2.0.0
* @return void
*/
public function hooks() {
public function hooks(): void {
add_action('wu_ajax_toggle_maintenance_mode', array($this, 'toggle_maintenance_mode'));
add_action('wu_ajax_toggle_maintenance_mode', [$this, 'toggle_maintenance_mode']);
if ( ! is_main_site()) {
add_action('admin_bar_menu', array($this, 'add_notice_to_admin_bar'), 15);
add_action('admin_bar_menu', [$this, 'add_notice_to_admin_bar'], 15);
}
if (self::check_maintenance_mode()) {
add_filter('pre_option_blog_public', '__return_true');
if ( ! is_admin()) {
add_action('wp', array($this, 'render_page'));
add_action('wp', [$this, 'render_page']);
if (function_exists('wp_robots_no_robots')) {
add_filter('wp_robots', 'wp_robots_no_robots'); // WordPress 5.7+
@@ -74,23 +74,23 @@ class Maintenance_Mode {
* @param WP_Admin_Bar $wp_admin_bar The Admin Bar class.
* @return void
*/
public function add_notice_to_admin_bar($wp_admin_bar) {
public function add_notice_to_admin_bar($wp_admin_bar): void {
if ( ! current_user_can('manage_options')) {
return;
}
if (is_admin() || self::check_maintenance_mode()) {
$args = array(
$args = [
'id' => 'wu-maintenance-mode',
'parent' => 'top-secondary',
'title' => __('Maintenance Mode - Active', 'wp-ultimo'),
'href' => '#wp-ultimo-site-maintenance-element',
'meta' => array(
'meta' => [
'class' => 'wu-maintenance-mode ' . (self::check_maintenance_mode() ? '' : 'hidden'),
'title' => __('This means that your site is not available for visitors at the moment. Only you and other logged users have access to it. Click here to toggle this option.', 'wp-ultimo'),
),
);
],
];
$wp_admin_bar->add_node($args);
}
@@ -102,7 +102,7 @@ class Maintenance_Mode {
* @since 2.0.0
* @return void
*/
public function render_page() {
public function render_page(): void {
if (is_main_site() || current_user_can('read')) {
return;
@@ -146,10 +146,10 @@ class Maintenance_Mode {
if ( ! current_user_can_for_blog($site_id, 'manage_options')) {
return wp_send_json_error(
array(
[
'message' => __('You do not have the necessary permissions to perform this option.', 'wp-ultimo'),
'value' => false,
)
]
);
}
@@ -159,10 +159,10 @@ class Maintenance_Mode {
update_site_meta($site_id, 'wu_maintenance_mode', $value);
$return = array(
$return = [
'message' => __('New maintenance settings saved.', 'wp-ultimo'),
'value' => $value,
);
];
// Flush the cache so the maintenance mode new status is applied immediately.
Cache_Manager::get_instance()->flush_known_caches();
@@ -176,18 +176,18 @@ class Maintenance_Mode {
* @since 2.0.0
* @return void
*/
public function add_settings() {
public function add_settings(): void {
wu_register_settings_field(
'sites',
'maintenance_mode',
array(
[
'title' => __('Site Maintenance Mode', 'wp-ultimo'),
'desc' => __('Allow your customers and super admins to quickly take sites offline via a toggle on the site dashboard.', 'wp-ultimo'),
'type' => 'toggle',
'default' => 0,
'order' => 23,
)
]
);
}
}