: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
use Smush\Core\Stats\Global_Stats;
class Optimization_Controller extends Controller {
public function __construct() {
$this->global_stats = Global_Stats::get();
$this->register_action( 'wp_smush_image_sizes_changed', array( $this, 'mark_global_stats_as_outdated' ) );
$this->register_action( 'wp_smush_settings_updated', array(
'maybe_mark_global_stats_as_outdated',
// TODO: handle auto optimization when media item is uploaded
// TODO: handle bulk smush ajax
public function mark_global_stats_as_outdated() {
$this->global_stats->mark_as_outdated();
public function maybe_mark_global_stats_as_outdated( $old_settings, $settings ) {
$old_original = ! empty( $old_settings['original'] );
$new_original = ! empty( $settings['original'] );
$original_status_changed = $old_original !== $new_original;
if ( $original_status_changed ) {
$this->mark_global_stats_as_outdated();