OwlCyberSecurity - MANAGER
Edit File: WPMeteor.php
<?php declare(strict_types=1); namespace WP_Rocket\ThirdParty\Plugins\Optimization; use WP_Rocket\Event_Management\Subscriber_Interface; class WPMeteor implements Subscriber_Interface { /** * Returns an array of events that this subscriber wants to listen to. * * @return array */ public static function get_subscribed_events(): array { return [ 'rocket_delay_js_settings_field' => 'maybe_disable_delay_js_field', 'activate_wp-meteor/wp-meteor.php' => 'disable_delay_js', 'wp_rocket_upgrade' => [ 'maybe_disable_delay_js', 10, 2 ], 'pre_update_option_wp_rocket_settings' => 'disable_delay_js_on_option_update', ]; } /** * Disable the delay JS field when WP Meteor is active * * @since 3.9.2 * * @param array $field Delay JS field data array. * * @return array */ public function maybe_disable_delay_js_field( $field ): array { if ( ! is_plugin_active( 'wp-meteor/wp-meteor.php' ) ) { return $field; } $field['container_class'][] = 'wpr-isDisabled'; $field['value'] = 0; $field['input_attr']['disabled'] = 1; $field['helper'] = sprintf( // translators: %1$s = plugin name. __( 'Delay JS is currently activated in %1$s. If you want to use WP Rocket’s delay JS, disable %1$s', 'rocket' ), 'WP Meteor' ); return $field; } /** * Disable delay JS option when WP Meteor is activated * * @since 3.9.2 * * @return void */ public function disable_delay_js() { $options = get_option( 'wp_rocket_settings', [] ); $options['delay_js'] = 0; update_option( 'wp_rocket_settings', $options ); } /** * Disable delay JS when updating to 3.9.2 and above and WP Meteor is active * * @since 3.9.2 * * @param string $new_version Plugin new version. * @param string $old_version Plugin old version. * * @return void */ public function maybe_disable_delay_js( $new_version, $old_version ) { if ( version_compare( $old_version, '3.9.2', '>' ) ) { return; } if ( ! is_plugin_active( 'wp-meteor/wp-meteor.php' ) ) { return; } $this->disable_delay_js(); } /** * Disable delay JS on WP Rocket settings update if WP Meteor is active * * @since 3.9.2 * * @param mixed $value The new, unserialized option value. * * @return mixed */ public function disable_delay_js_on_option_update( $value ) { if ( ! is_plugin_active( 'wp-meteor/wp-meteor.php' ) ) { return $value; } if ( ! isset( $value['delay_js'] ) ) { return $value; } if ( 0 === (int) $value['delay_js'] ) { return $value; } $value['delay_js'] = 0; return $value; } }