{ $bg_optimization = WP_Smush::get_instance()->core()->mod->bg_optimization; $bg_optimization->start_bulk_smush_direct(); } } public function background_process_dead() { $this->global_stats->mark_as_outdated(); } private function make_identifier() { $identifier = 'wp_smush_background_scan_process'; if ( is_multisite() ) { $post_fix = '_' . get_current_blog_id(); $identifier .= $post_fix; } return $identifier; } public function localize_media_library_scan_script_data( $script_data ) { $scan_script_data = $this->background_process->get_status()->to_array(); $scan_script_data['nonce'] = wp_create_nonce( 'wp_smush_media_library_scanner' ); $script_data['media_library_scan'] = $scan_script_data; return $script_data; } private function set_optimize_on_scan_completed( $status ) { $this->optimize_on_scan_completed = $status; if ( $this->optimize_on_scan_completed ) { update_option( self::$optimize_on_completed_option_key, 1, false ); } else { delete_option( self::$optimize_on_completed_option_key ); } } private function enabled_optimize_on_scan_completed() { if ( null === $this->optimize_on_scan_completed ) { $this->optimize_on_scan_completed = get_option( self::$optimize_on_completed_option_key ); } return ! empty( $this->optimize_on_scan_completed ); } private function get_scan_status() { $is_completed = $this->background_process->get_status()->is_completed(); $is_cancelled = $this->background_process->get_status()->is_cancelled(); $status = $this->background_process->get_status()->to_array(); $status['optimize_on_scan_completed'] = $this->enabled_optimize_on_scan_completed(); // Add global stats on completed/cancelled. if ( $is_completed || $is_cancelled ) { $status['global_stats'] = WP_Smush::get_instance()->admin()->get_global_stats_with_bulk_smush_content_and_notice(); } if ( $is_completed ) { $bg_optimization = WP_Smush::get_instance()->core()->mod->bg_optimization; $status['enabled_background_process'] = $bg_optimization->should_use_background(); } return $status; } public function get_background_process() { return $this->background_process; } }