Edit File by line
/home/zeestwma/ajeebong.../wp-conte.../plugins/image-op.../modules/core/componen...
File: conflicts.php
<?php
[0] Fix | Delete
[1] Fix | Delete
namespace ImageOptimization\Modules\Core\Components;
[2] Fix | Delete
[3] Fix | Delete
if ( ! defined( 'ABSPATH' ) ) {
[4] Fix | Delete
exit; // Exit if accessed directly.
[5] Fix | Delete
}
[6] Fix | Delete
[7] Fix | Delete
class Conflicts {
[8] Fix | Delete
private array $conflicting_plugins;
[9] Fix | Delete
[10] Fix | Delete
private const CONFLICTING_PLUGINS = [
[11] Fix | Delete
'imagify/imagify.php' => 'Imagify',
[12] Fix | Delete
'optimole-wp/optimole-wp.php' => 'Image optimization service by Optimole',
[13] Fix | Delete
'ewww-image-optimizer/ewww-image-optimizer.php' => 'EWWW Image Optimizer',
[14] Fix | Delete
'ewww-image-optimizer-cloud/ewww-image-optimizer-cloud.php' => 'EWWW Image Optimizer Cloud',
[15] Fix | Delete
'kraken-image-optimizer/kraken.php' => 'Kraken Image Optimizer',
[16] Fix | Delete
'shortpixel-image-optimiser/wp-shortpixel.php' => 'ShortPixel Image Optimizer',
[17] Fix | Delete
'wp-smushit/wp-smush.php' => 'Smush',
[18] Fix | Delete
'wp-smush-pro/wp-smush.php' => 'Smush PRO',
[19] Fix | Delete
'tiny-compress-images/tiny-compress-images.php' => 'TinyPNG - JPEG, PNG & WebP image compression',
[20] Fix | Delete
];
[21] Fix | Delete
[22] Fix | Delete
public function render_notice(): void {
[23] Fix | Delete
$conflicting_plugins_names = $this->conflicting_plugins;
[24] Fix | Delete
[25] Fix | Delete
?>
[26] Fix | Delete
<div class="notice notice-warning image-optimizer__notice image-optimizer__notice--warning">
[27] Fix | Delete
<p>
[28] Fix | Delete
<b>
[29] Fix | Delete
<?php esc_html_e(
[30] Fix | Delete
'Image optimizer has detected multiple active image optimization plugins.',
[31] Fix | Delete
'image-optimization'
[32] Fix | Delete
); ?>
[33] Fix | Delete
</b>
[34] Fix | Delete
[35] Fix | Delete
<span>
[36] Fix | Delete
<?php esc_html_e(
[37] Fix | Delete
'Having more than one may result in unexpected results.',
[38] Fix | Delete
'image-optimization'
[39] Fix | Delete
); ?>
[40] Fix | Delete
</span>
[41] Fix | Delete
</p>
[42] Fix | Delete
[43] Fix | Delete
<form action="<?php echo esc_url( admin_url( 'plugins.php' ) ); ?>" method="post" style="margin:0.5em 0;padding:2px">
[44] Fix | Delete
<span style="margin-inline-end: 8px;"><?php echo esc_html( join( ', ', $conflicting_plugins_names ) ); ?></span>
[45] Fix | Delete
[46] Fix | Delete
<input type="hidden" name="action" value="deactivate-selected">
[47] Fix | Delete
[48] Fix | Delete
<?php foreach ( array_keys( $this->conflicting_plugins ) as $plugin ) { ?>
[49] Fix | Delete
<input type="hidden" name="checked[]" value="<?php echo esc_attr( $plugin ); ?>">
[50] Fix | Delete
<?php } ?>
[51] Fix | Delete
[52] Fix | Delete
<input type="hidden" name="_wpnonce" value="<?php echo esc_attr( wp_create_nonce( 'bulk-plugins' ) ); ?>">
[53] Fix | Delete
[54] Fix | Delete
<input type="submit"
[55] Fix | Delete
style="border:none;background-color:transparent;text-decoration:underline;cursor:pointer;font-size:13px;color:#135e96;"
[56] Fix | Delete
value="<?php esc_html_e( 'Deactivate All', 'image-optimization' ); ?>">
[57] Fix | Delete
</form>
[58] Fix | Delete
</div>
[59] Fix | Delete
<?php
[60] Fix | Delete
}
[61] Fix | Delete
[62] Fix | Delete
public function get_conflicting_plugins(): array {
[63] Fix | Delete
$plugins = get_option( 'active_plugins' );
[64] Fix | Delete
$conflicting_plugins_file_names = array_keys( self::CONFLICTING_PLUGINS );
[65] Fix | Delete
$output = [];
[66] Fix | Delete
[67] Fix | Delete
foreach ( $plugins as $plugin_file_name ) {
[68] Fix | Delete
if ( in_array( $plugin_file_name, $conflicting_plugins_file_names, true ) ) {
[69] Fix | Delete
$output[ $plugin_file_name ] = self::CONFLICTING_PLUGINS[ $plugin_file_name ];
[70] Fix | Delete
}
[71] Fix | Delete
}
[72] Fix | Delete
[73] Fix | Delete
return $output;
[74] Fix | Delete
}
[75] Fix | Delete
[76] Fix | Delete
public function __construct() {
[77] Fix | Delete
$this->conflicting_plugins = $this->get_conflicting_plugins();
[78] Fix | Delete
[79] Fix | Delete
if ( ! empty( $this->conflicting_plugins ) ) {
[80] Fix | Delete
add_action( 'admin_notices', [ $this, 'render_notice' ] );
[81] Fix | Delete
}
[82] Fix | Delete
}
[83] Fix | Delete
}
[84] Fix | Delete
[85] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function