174 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			174 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * Compression Level.
 | 
						|
 *
 | 
						|
 * @var $name string Compression field name.
 | 
						|
 * @var $value mixed Current compression value.
 | 
						|
 */
 | 
						|
 | 
						|
use Smush\Core\Settings;
 | 
						|
 | 
						|
$settings            = Settings::get_instance();
 | 
						|
$lossy_level_setting = $settings->get_lossy_level_setting();
 | 
						|
$level_basic         = Settings::LEVEL_LOSSLESS;
 | 
						|
$level_super         = Settings::LEVEL_SUPER_LOSSY;
 | 
						|
$level_ultra         = Settings::LEVEL_ULTRA_LOSSY;
 | 
						|
$level_labels        = array(
 | 
						|
	Settings::LEVEL_LOSSLESS    => __( 'Basic', 'wp-smushit' ),
 | 
						|
	Settings::LEVEL_SUPER_LOSSY => __( 'Super', 'wp-smushit' ),
 | 
						|
	Settings::LEVEL_ULTRA_LOSSY => __( 'Ultra', 'wp-smushit' ),
 | 
						|
);
 | 
						|
 | 
						|
$level_notices = array(
 | 
						|
	Settings::LEVEL_LOSSLESS    => sprintf(
 | 
						|
	/* translators: 1: opening <strong>, 2: closing </strong> */
 | 
						|
		__( '%1$sBasic:%2$s Achieve flawless, lossless compression for pixel-perfect images. Minimal file size reduction, negligible impact on speed.', 'wp-smushit' ),
 | 
						|
		'<strong>',
 | 
						|
		'</strong>'
 | 
						|
	),
 | 
						|
	Settings::LEVEL_SUPER_LOSSY => sprintf(
 | 
						|
	/* translators: 1: opening <strong>, 2: closing </strong> */
 | 
						|
		__( '%1$sSuper:%2$s Harness the power of lossy compression for substantial file size reduction with excellent image clarity. Accelerate page loads for better performance.', 'wp-smushit' ),
 | 
						|
		'<strong>',
 | 
						|
		'</strong>'
 | 
						|
	),
 | 
						|
	Settings::LEVEL_ULTRA_LOSSY => sprintf(
 | 
						|
	/* translators: 1: opening <strong>, 2: closing </strong> */
 | 
						|
		__( '%1$sUltra:%2$s Unlock unprecedented compression levels up to 5x greater than Super, while preserving remarkable image quality. The ultimate choice for unparalleled performance.', 'wp-smushit' ),
 | 
						|
		'<strong>',
 | 
						|
		'</strong>'
 | 
						|
	),
 | 
						|
);
 | 
						|
 | 
						|
?>
 | 
						|
<div class="sui-tabs sui-side-tabs wp-smush-lossy-level-tabs">
 | 
						|
	<div role="tablist" class="sui-tabs-menu">
 | 
						|
		<!-- Basic -->
 | 
						|
		<button
 | 
						|
			type="button"
 | 
						|
			role="tab"
 | 
						|
			id="lossy-level__basic"
 | 
						|
			class="sui-tab-item<?php echo $level_basic === $lossy_level_setting ? ' active' : ''; ?>"
 | 
						|
			aria-controls="lossy-level__basic-notice">
 | 
						|
			<?php echo esc_html( $settings->get_lossy_level_label( $level_basic ) ); ?>
 | 
						|
		</button>
 | 
						|
		<input
 | 
						|
			type="radio"
 | 
						|
			class="sui-screen-reader-text"
 | 
						|
			aria-hidden="true"
 | 
						|
			name="<?php echo esc_attr( $name ); ?>"
 | 
						|
			aria-labelledby="<?php echo esc_attr( $name . '-label' ); ?>"
 | 
						|
			aria-describedby="<?php echo esc_attr( $name . '-desc' ); ?>"
 | 
						|
			value="<?php echo (int) $level_basic; ?>"
 | 
						|
			<?php checked( $lossy_level_setting, $level_basic, true ); ?> />
 | 
						|
 | 
						|
		<!-- Super -->
 | 
						|
		<button
 | 
						|
			type="button"
 | 
						|
			role="tab"
 | 
						|
			id="lossy-level__super"
 | 
						|
			class="sui-tab-item<?php echo $level_super === $lossy_level_setting ? ' active' : ''; ?>"
 | 
						|
			aria-controls="lossy-level__super-notice"
 | 
						|
			tabindex="-1">
 | 
						|
			<?php echo esc_html( $settings->get_lossy_level_label( $level_super ) ); ?>
 | 
						|
		</button>
 | 
						|
		<input
 | 
						|
			type="radio"
 | 
						|
			class="sui-screen-reader-text"
 | 
						|
			aria-hidden="true"
 | 
						|
			name="<?php echo esc_attr( $name ); ?>"
 | 
						|
			aria-labelledby="<?php echo esc_attr( $name . '-label' ); ?>"
 | 
						|
			aria-describedby="<?php echo esc_attr( $name . '-desc' ); ?>"
 | 
						|
			value="<?php echo (int) $level_super; ?>"
 | 
						|
			<?php checked( $lossy_level_setting, $level_super, true ); ?> />
 | 
						|
 | 
						|
		<!-- Ultra -->
 | 
						|
		<?php if ( WP_Smush::is_pro() ) : ?>
 | 
						|
			<button
 | 
						|
				type="button"
 | 
						|
				role="tab"
 | 
						|
				id="lossy-level__ultra"
 | 
						|
				class="sui-tab-item<?php echo $level_ultra === $lossy_level_setting ? ' active' : ''; ?>"
 | 
						|
				aria-controls="lossy-level__ultra-notice"
 | 
						|
				tabindex="-1">
 | 
						|
				<?php echo esc_html( $settings->get_lossy_level_label( $level_ultra ) ); ?>
 | 
						|
			</button>
 | 
						|
			<input
 | 
						|
				type="radio"
 | 
						|
				class="sui-screen-reader-text"
 | 
						|
				aria-hidden="true"
 | 
						|
				name="<?php echo esc_attr( $name ); ?>"
 | 
						|
				aria-labelledby="<?php echo esc_attr( $name . '-label' ); ?>"
 | 
						|
				aria-describedby="<?php echo esc_attr( $name . '-desc' ); ?>"
 | 
						|
				value="<?php echo (int) $level_ultra; ?>"
 | 
						|
				<?php checked( $lossy_level_setting, $level_ultra, true ); ?> />
 | 
						|
		<?php else :
 | 
						|
			$utm_link = $this->get_utm_link(
 | 
						|
				array(
 | 
						|
					'utm_campaign' => 'smush_ultra_bulksmush_radio',
 | 
						|
				)
 | 
						|
			);
 | 
						|
		?>
 | 
						|
			<a target="_blank" href="<?php echo esc_url( $utm_link ); ?>" class="sui-tab-item wp-smush-ultra-compression-link wp-smush-upsell-ultra-compression">
 | 
						|
				<?php esc_html_e( '🚀 Ultra - unlock 5x more compression', 'wp-smushit' ); ?>
 | 
						|
				<span class="sui-icon-open-new-window" aria-hidden="true"></span>
 | 
						|
			</a>
 | 
						|
		<?php endif; ?>
 | 
						|
	</div>
 | 
						|
	<div class="sui-tabs-content">
 | 
						|
		<div role="tabpanel"
 | 
						|
			id="lossy-level__basic-notice"
 | 
						|
			class="sui-tab-content<?php echo $level_basic === $lossy_level_setting ? ' active' : ''; ?>"
 | 
						|
			aria-labelledby="lossy-level__basic"
 | 
						|
			tabindex="0">
 | 
						|
			<p>
 | 
						|
				<i class="sui-notice-icon sui-icon-info sui-md" aria-hidden="true"></i>
 | 
						|
				<?php
 | 
						|
					echo wp_kses(
 | 
						|
						$level_notices[ $level_basic ],
 | 
						|
						array(
 | 
						|
							'strong' => array(),
 | 
						|
						)
 | 
						|
					);
 | 
						|
					?>
 | 
						|
			</p>
 | 
						|
		</div>
 | 
						|
		<div role="tabpanel"
 | 
						|
			id="lossy-level__super-notice"
 | 
						|
			class="sui-tab-content<?php echo $level_super === $lossy_level_setting ? ' active' : ''; ?>"
 | 
						|
			aria-labelledby="lossy-level__super"
 | 
						|
			tabindex="0"
 | 
						|
			hidden>
 | 
						|
			<p>
 | 
						|
				<i class="sui-notice-icon sui-icon-info sui-md" aria-hidden="true"></i>
 | 
						|
				<?php
 | 
						|
					echo wp_kses(
 | 
						|
						$level_notices[ $level_super ],
 | 
						|
						array(
 | 
						|
							'strong' => array(),
 | 
						|
						)
 | 
						|
					);
 | 
						|
					?>
 | 
						|
			</p>
 | 
						|
		</div>
 | 
						|
		<div role="tabpanel"
 | 
						|
			id="lossy-level__ultra-notice"
 | 
						|
			class="sui-tab-content<?php echo $level_ultra === $lossy_level_setting ? ' active' : ''; ?>"
 | 
						|
			aria-labelledby="lossy-level__ultra"
 | 
						|
			tabindex="0"
 | 
						|
			hidden>
 | 
						|
			<p>
 | 
						|
				<i class="sui-notice-icon sui-icon-info sui-md" aria-hidden="true"></i>
 | 
						|
				<?php
 | 
						|
					echo wp_kses(
 | 
						|
						$level_notices[ $level_ultra ],
 | 
						|
						array(
 | 
						|
							'strong' => array(),
 | 
						|
						)
 | 
						|
					);
 | 
						|
					?>
 | 
						|
			</p>
 | 
						|
		</div>
 | 
						|
	</div>
 | 
						|
</div>
 |