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

@@ -46,7 +46,7 @@ abstract class Base_Customer_Facing_Admin_Page extends Base_Admin_Page {
* @since 2.0.0
* @var array
*/
protected $original_parameters = array();
protected $original_parameters = [];
/**
* If this customer facing page has menu settings.
@@ -62,7 +62,7 @@ abstract class Base_Customer_Facing_Admin_Page extends Base_Admin_Page {
* @since 1.8.2
* @return void
*/
public function init() {
public function init(): void {
$this->change_parameters();
@@ -70,17 +70,17 @@ abstract class Base_Customer_Facing_Admin_Page extends Base_Admin_Page {
$this->editing = wu_request('customize');
add_action('wu_enqueue_extra_hooks', array($this, 'additional_hooks'));
add_action('wu_enqueue_extra_hooks', [$this, 'additional_hooks']);
add_action('updated_user_meta', array($this, 'save_settings'), 10, 4);
add_action('updated_user_meta', [$this, 'save_settings'], 10, 4);
wu_register_form(
"edit_admin_page_$this->id",
array(
'render' => array($this, 'render_edit_page'),
'handler' => array($this, 'handle_edit_page'),
[
'render' => [$this, 'render_edit_page'],
'handler' => [$this, 'handle_edit_page'],
'capability' => 'exist',
)
]
);
$this->register_page_settings();
@@ -92,13 +92,13 @@ abstract class Base_Customer_Facing_Admin_Page extends Base_Admin_Page {
* @since 2.0.0
* @return void
*/
public function change_parameters() {
public function change_parameters(): void {
$this->original_parameters = array(
$this->original_parameters = [
'title' => $this->get_title(),
'position' => $this->position,
'menu_icon' => $this->menu_icon,
);
];
$new_parameters = $this->get_page_settings();
@@ -114,71 +114,71 @@ abstract class Base_Customer_Facing_Admin_Page extends Base_Admin_Page {
* @since 2.0.0
* @return void
*/
public function render_edit_page() {
public function render_edit_page(): void {
$settings = $this->get_page_settings();
$fields = array();
$fields = [];
$fields['title'] = array(
$fields['title'] = [
'type' => 'text',
'title' => __('Page & Menu Title', 'wp-ultimo'),
'value' => wu_get_isset($settings, 'title', ''),
'tooltip' => '',
);
];
if ($this->menu_settings) {
$fields['position'] = array(
$fields['position'] = [
'type' => 'number',
'title' => __('Menu', 'wp-ultimo'),
'value' => wu_get_isset($settings, 'position', ''),
'tooltip' => '',
);
];
$fields['menu_icon'] = array(
$fields['menu_icon'] = [
'type' => 'dashicon',
'title' => __('Menu Icon', 'wp-ultimo'),
'value' => wu_get_isset($settings, 'menu_icon', ''),
'tooltip' => '',
);
];
}
$fields['save_line'] = array(
$fields['save_line'] = [
'type' => 'group',
'classes' => 'wu-justify-between',
'wrapper_classes' => 'wu-bg-gray-100',
'fields' => array(
'reset' => array(
'fields' => [
'reset' => [
'type' => 'submit',
'title' => __('Reset Settings', 'wp-ultimo'),
'value' => 'edit',
'classes' => 'button',
'wrapper_classes' => 'wu-mb-0',
),
'submit' => array(
],
'submit' => [
'type' => 'submit',
'title' => __('Save Changes', 'wp-ultimo'),
'value' => 'edit',
'classes' => 'button button-primary',
'wrapper_classes' => 'wu-mb-0',
),
),
);
],
],
];
$fields = apply_filters("wu_customer_facing_page_{$this->id}_fields", $fields);
$form = new \WP_Ultimo\UI\Form(
'edit_page',
$fields,
array(
[
'views' => 'admin-pages/fields',
'classes' => 'wu-modal-form wu-widget-list wu-striped wu-m-0 wu-mt-0',
'field_wrapper_classes' => 'wu-w-full wu-box-border wu-items-center wu-flex wu-justify-between wu-p-4 wu-m-0 wu-border-t wu-border-l-0 wu-border-r-0 wu-border-b-0 wu-border-gray-300 wu-border-solid',
'html_attr' => array(
'html_attr' => [
'data-wu-app' => "{$this->id}_page_customize",
'data-state' => wu_convert_to_state(),
),
)
],
]
);
echo '<div class="wu-styling">';
@@ -194,16 +194,16 @@ abstract class Base_Customer_Facing_Admin_Page extends Base_Admin_Page {
* @since 2.0.0
* @return void
*/
public function handle_edit_page() {
public function handle_edit_page(): void {
$settings_to_save = wu_request('submit') !== 'restore' ? $_POST : array(); // don't worry, this gets cleaned later on.
$settings_to_save = wu_request('submit') !== 'restore' ? $_POST : []; // don't worry, this gets cleaned later on.
$this->save_page_settings($settings_to_save);
wp_send_json_success(
array(
[
'redirect_url' => add_query_arg('updated', 1, $_SERVER['HTTP_REFERER']),
)
]
);
}
@@ -239,14 +239,14 @@ abstract class Base_Customer_Facing_Admin_Page extends Base_Admin_Page {
* @since 2.0.0
* @return void
*/
public function register_page_settings() {
public function register_page_settings(): void {
wu_register_settings_field(
'core',
$this->get_page_unique_id() . '_settings',
array(
[
'raw' => true,
)
]
);
}
@@ -258,7 +258,7 @@ abstract class Base_Customer_Facing_Admin_Page extends Base_Admin_Page {
*/
public function get_page_settings() {
$atts = wu_get_setting($this->get_page_unique_id() . '_settings', array());
$atts = wu_get_setting($this->get_page_unique_id() . '_settings', []);
return wp_parse_args($atts, $this->get_defaults());
}
@@ -284,13 +284,13 @@ abstract class Base_Customer_Facing_Admin_Page extends Base_Admin_Page {
* @since 2.0.0
* @return void
*/
public function additional_hooks() {
public function additional_hooks(): void {
add_action("load-$this->page_hook", array($this, 'register_additional_scripts'));
add_action("load-$this->page_hook", [$this, 'register_additional_scripts']);
add_action("load-$this->page_hook", array($this, 'add_additional_body_classes'));
add_action("load-$this->page_hook", [$this, 'add_additional_body_classes']);
add_action("load-$this->page_hook", array($this, 'additional_on_page_load'));
add_action("load-$this->page_hook", [$this, 'additional_on_page_load']);
}
/**
@@ -299,13 +299,13 @@ abstract class Base_Customer_Facing_Admin_Page extends Base_Admin_Page {
* @since 2.0.0
* @return void
*/
public function additional_on_page_load() {
public function additional_on_page_load(): void {
add_filter('wu_element_display_super_admin_notice', array($this, 'is_edit_mode'));
add_filter('wu_element_display_super_admin_notice', [$this, 'is_edit_mode']);
add_action("get_user_option_meta-box-order_{$this->page_hook}", array($this, 'get_settings'), 10, 3);
add_action("get_user_option_meta-box-order_{$this->page_hook}", [$this, 'get_settings'], 10, 3);
add_action("get_user_option_screen_layout_{$this->page_hook}", array($this, 'get_settings'), 10, 3);
add_action("get_user_option_screen_layout_{$this->page_hook}", [$this, 'get_settings'], 10, 3);
/**
* 'Hack-y' solution for the customer facing title problem... but good enough for now.
@@ -330,7 +330,7 @@ abstract class Base_Customer_Facing_Admin_Page extends Base_Admin_Page {
* @since 2.0.0
* @return void
*/
public function add_additional_body_classes() {
public function add_additional_body_classes(): void {
add_action(
'admin_body_class',
@@ -349,7 +349,7 @@ abstract class Base_Customer_Facing_Admin_Page extends Base_Admin_Page {
* @since 2.0.0
* @return void
*/
public function register_additional_scripts() {
public function register_additional_scripts(): void {
\WP_Ultimo\Scripts::get_instance()->register_style('wu-admin-screen', wu_get_asset('admin-screen.css', 'css'));
@@ -360,21 +360,21 @@ abstract class Base_Customer_Facing_Admin_Page extends Base_Admin_Page {
}
if (current_user_can($this->edit_capability)) {
\WP_Ultimo\Scripts::get_instance()->register_script('wu-admin-screen', wu_get_asset('admin-screen.js', 'js'), array('jquery', 'wu-fonticonpicker'));
\WP_Ultimo\Scripts::get_instance()->register_script('wu-admin-screen', wu_get_asset('admin-screen.js', 'js'), ['jquery', 'wu-fonticonpicker']);
wp_localize_script(
'wu-admin-screen',
'wu_admin_screen',
array(
[
'page_customize_link' => wu_get_form_url("edit_admin_page_$this->id"),
'customize_link' => add_query_arg('customize', 1),
'close_link' => remove_query_arg('customize'),
'i18n' => array(
'i18n' => [
'page_customize_label' => __('Customize Page', 'wp-ultimo'),
'customize_label' => __('Customize Elements', 'wp-ultimo'),
'close_label' => __('Exit Customize Mode', 'wp-ultimo'),
),
)
],
]
);
wp_enqueue_script('wu-admin-screen');
@@ -411,13 +411,13 @@ abstract class Base_Customer_Facing_Admin_Page extends Base_Admin_Page {
* @param mixed $_meta_value The original saved value.
* @return void
*/
public function save_settings($meta_id, $user_id, $meta_key, $_meta_value) {
public function save_settings($meta_id, $user_id, $meta_key, $_meta_value): void {
if (wu_request('action') !== 'meta-box-order') {
return;
}
$is_this_page = strpos((string) wu_request('page'), $this->id) !== false;
$is_this_page = str_contains((string) wu_request('page'), $this->id);
if ( ! $is_this_page) {
return;
@@ -460,7 +460,7 @@ abstract class Base_Customer_Facing_Admin_Page extends Base_Admin_Page {
$this->title . '&nbsp;' . $this->get_badge(),
$this->get_capability(),
$this->id,
array($this, 'display'),
[$this, 'display'],
$this->menu_icon,
$this->position
);