HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //proc/self/cwd/wp-content/plugins/wp-smushit/core/avif/class-avif-configuration.php
<?php

namespace Smush\Core\Avif;

use Smush\Core\Settings;
use Smush\Core\Next_Gen\Next_Gen_Configuration_Interface;

class Avif_Configuration implements Next_Gen_Configuration_Interface {
	const FORMAT_KEY = 'avif';

	/**
	 * @var Settings
	 */
	private $settings;

	/**
	 * @var Avif_Helper;
	 */
	private $helper;

	public function __construct() {
		$this->settings = Settings::get_instance();
		$this->helper   = new Avif_Helper();
	}

	public function get_format_name() {
		return __( 'AVIF', 'wp-smushit' );
	}

	public function get_format_key() {
		return self::FORMAT_KEY;
	}

	public function is_activated() {
		return $this->settings->is_avif_module_active();
	}

	public function is_fallback_activated() {
		return $this->settings->is_avif_fallback_active();
	}

	public function is_configured() {
		return $this->is_activated();
	}

	public function direct_conversion_enabled() {
		return $this->is_activated();
	}

	public function is_server_configured() {
		return false;
	}

	public function support_server_configuration() {
		return false;
	}

	public function should_show_wizard() {
		return false;
	}

	public function toggle_module( $enable_avif ) {
		if ( $enable_avif ) {
			$this->activate();
		} else {
			$this->deactivate();
		}

		do_action( 'wp_smush_avif_status_changed' );
	}

	public function set_next_gen_method( $avif_method ) {
		// No-op.
	}

	public function set_next_gen_fallback( $fallback_activated ) {
		$this->settings->set( 'avif_fallback', $fallback_activated );
	}

	private function activate() {
		$this->settings->set( 'avif_mod', true );
	}

	private function deactivate() {
		$this->settings->set( 'avif_mod', false );
	}

	public function delete_all_next_gen_files() {
		$this->helper->delete_all_avif_files();
	}
}