<?php
namespace Smush\Core;
use Smush\Core\Stats\Global_Stats;
class Optimization_Controller extends Controller {
/**
* @var Global_Stats
*/
private $global_stats;
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(
$this,
'maybe_mark_global_stats_as_outdated',
), 10, 2 );
// 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();
}
}
}