HEX
Server: LiteSpeed
System: Linux rocket-da1.hostsila.org 4.18.0-553.84.1.lve.el8.x86_64 #1 SMP Tue Nov 25 18:33:03 UTC 2025 x86_64
User: pvowtcbu (1561)
PHP: 8.1.33
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/pvowtcbu/public_html/wp-content/plugins/tiny-compress-images/src/views/compress-details.php
<?php
/**
 * Compression details on media overview page.
 *
 * @var Tiny_Plugin $this               The plugin instance.
 * @var Tiny_Image  $tiny_image         The image being compressed.
 * @var int[]       $images_to_compress The IDs that are being compressed
 */

$available_sizes              = array_keys( $this->settings->get_sizes() );
$conversion_enabled           = $this->settings->get_conversion_enabled();
$active_sizes                 = $this->settings->get_sizes();
$active_tinify_sizes          = $this->settings->get_active_tinify_sizes();
$error                        = $tiny_image->get_latest_error();
$total                        = $tiny_image->get_count( array( 'modified', 'missing', 'has_been_compressed', 'compressed', 'has_been_converted' ) );
$active                       = $tiny_image->get_count( array( 'uncompressed', 'never_compressed', 'unconverted' ), $active_tinify_sizes );
$image_statistics             = $tiny_image->get_statistics( $active_sizes, $active_tinify_sizes );
$available_uncompressed_sizes = $image_statistics['available_uncompressed_sizes'];
$size_before                  = $image_statistics['initial_total_size'];
$size_after                   = $image_statistics['compressed_total_size'];

$size_active = array_fill_keys( $active_tinify_sizes, true );
$size_exists = array_fill_keys( $available_sizes, true );
ksort( $size_exists );

?>
<div class="details-container">
	<div class="details">
		<?php
		if ( $error ) {
			// dashicons-warning available for WP 4.3+
			?>
			<span class="icon dashicons dashicons-no error"></span>
		<?php } elseif ( $total['missing'] > 0 || $total['modified'] > 0 ) { ?>
			<span class="icon dashicons dashicons-yes alert"></span>
		<?php } elseif ( $total['compressed'] > 0 && $available_uncompressed_sizes > 0 ) { ?>
			<span class="icon dashicons dashicons-yes alert"></span>
		<?php } elseif ( $total['compressed'] > 0 ) { ?>
			<span class="icon dashicons dashicons-yes success"></span>
		<?php } ?>
		<span class="icon spinner hidden"></span>
		<?php if ( $total['has_been_compressed'] > 0 || ( 0 == $total['has_been_compressed'] && 0 == $available_uncompressed_sizes ) ) { ?>
			<span class="message">
				<?php
				printf(
					wp_kses(
						/* translators: %d: number of compressed sizes */
						_n( '<strong>%d</strong> size compressed', '<strong>%d</strong> sizes compressed', $total['has_been_compressed'], 'tiny-compress-images' ),
						array(
							'strong' => array(),
						)
					),
					absint( $total['has_been_compressed'] )
				);
				?>
			</span>
			<br>
		<?php } ?>
		<?php if ( $active['uncompressed'] > 0 ) { ?>
			<span class="message">
				<?php
				/* translators: %d: number of sizes to be compressed */
				printf( esc_html( _n( '%d size to be compressed', '%d sizes to be compressed', $available_uncompressed_sizes, 'tiny-compress-images' ) ), absint( $available_uncompressed_sizes ) );
				?>
			</span>
			<br>
		<?php } ?>
		<?php
		if ( $conversion_enabled ) {
			if ( $total['has_been_converted'] > 0 || 0 == $image_statistics['available_unconverted_sizes'] ) {
				?>
					<span class="message">
						<?php
						printf(
							wp_kses(
								/* translators: %d: number of compressed sizes */
								_n( '<strong>%d</strong> size converted', '<strong>%d</strong> sizes converted', $total['has_been_converted'], 'tiny-compress-images' ),
								array(
									'strong' => array(),
								)
							),
							absint( $total['has_been_converted'] )
						);
						?>
					</span>
					<br>
				<?php } ?>
			<?php if ( $active['unconverted'] > 0 ) { ?>
			<span class="message">
				<?php
				/* translators: %d: number of sizes to be converted */
				printf( esc_html( _n( '%d size to be converted', '%d sizes to be converted', $active['unconverted'], 'tiny-compress-images' ) ), absint( $active['unconverted'] ) );
				?>
			</span>
			<br>
				<?php
			}
		}
		?>
		<?php if ( $size_before - $size_after ) { ?>
			<span class="message">
				<?php
				/* translators: %.0f%: savings percentage */
				printf( esc_html__( 'Total savings %.0f%%', 'tiny-compress-images' ), ( 1 - floatval( $size_after ) / floatval( $size_before ) ) * 100 );
				?>
			</span>
			<br>
		<?php } ?>
		<?php if ( $error ) { ?>
			<span class="message error_message">
				<?php echo esc_html__( 'Latest error', 'tiny-compress-images' ) . ': ' . esc_html( $error ); ?>
			</span>
			<br>
		<?php } ?>
		<a class="thickbox message" href="#TB_inline?width=700&amp;height=500&amp;inlineId=modal_<?php echo absint( $tiny_image->get_id() ); ?>">
			<?php esc_html_e( 'Details', 'tiny-compress-images' ); ?>
		</a>
	</div>
	<?php if ( $available_uncompressed_sizes > 0 ) { ?>
		<?php if ( in_array( $tiny_image->get_id(), $images_to_compress, true ) ) { ?>
			<span class="hidden auto-compress"></span>
		<?php } ?>
		<button type="button" class="tiny-compress button button-small button-primary" data-id="<?php echo absint( $tiny_image->get_id() ); ?>">
			<?php esc_html_e( 'Compress', 'tiny-compress-images' ); ?>
		</button>
		<button type="button" class="tiny-mark-as-compressed button button-small button-secondary" data-id="<?php echo absint( $tiny_image->get_id() ); ?>">
			<?php esc_html_e( 'Mark as Compressed', 'tiny-compress-images' ); ?>
		</button>
	<?php } elseif ( $active['unconverted'] > 0 && $tiny_image->can_be_converted() ) { ?>
		<button type="button" class="tiny-compress button button-small button-primary" data-id="<?php echo absint( $tiny_image->get_id() ); ?>">
			<?php esc_html_e( 'Convert', 'tiny-compress-images' ); ?>
		</button>
		<button type="button" class="tiny-mark-as-compressed button button-small button-secondary" data-id="<?php echo absint( $tiny_image->get_id() ); ?>">
			<?php esc_html_e( 'Mark as Converted', 'tiny-compress-images' ); ?>
		</button>
	<?php } ?>
</div>

<div class="modal" id="modal_<?php echo absint( $tiny_image->get_id() ); ?>">
	<div class="tiny-compression-details">
		<h3>
			<?php
			/* translators: %s is the image filename */
			printf( esc_html__( 'Compression details for %s', 'tiny-compress-images' ), esc_html( $tiny_image->get_name() ) );
			?>
		</h3>
		<table>
			<tr>
				<th><?php esc_html_e( 'Size', 'tiny-compress-images' ); ?></th>
				<th><?php esc_html_e( 'Initial Size', 'tiny-compress-images' ); ?></th>
				<th><?php esc_html_e( 'Compressed', 'tiny-compress-images' ); ?></th>
				<th><?php esc_html_e( 'Format', 'tiny-compress-images' ); ?></th>
				<?php
				if ( $conversion_enabled ) {
					?>
					<th><?php esc_html_e( 'Converted', 'tiny-compress-images' ); ?></th> <?php } ?>
				<th><?php esc_html_e( 'Date', 'tiny-compress-images' ); ?></th>
			</tr>
			<?php
			$i     = 0;
			$sizes = $tiny_image->get_image_sizes() + $size_exists;
			foreach ( $sizes as $size_name => $size ) {
				if ( ! is_object( $size ) ) {
					$size = new Tiny_Image_Size();
				}
				?>
				<tr class="<?php echo ( 0 == $i % 2 ) ? 'even' : 'odd'; ?>">
					<?php
					echo '<td>';
					echo '<span title="' . esc_html( basename( (string) $size->filename ) ) . '">';
					echo ( Tiny_Image::is_original( $size_name ) ? esc_html__( 'Original', 'tiny-compress-images' ) : esc_html( ucfirst( rtrim( $size_name, '_wr2x' ) ) ) );
					echo ' </span>';
					if ( ! array_key_exists( $size_name, $active_sizes ) && ! Tiny_Image::is_retina( $size_name ) ) {
						echo '<em>' . esc_html__( '(not in use)', 'tiny-compress-images' ) . '</em>';
					} elseif ( $size->missing() && ( Tiny_Settings::wr2x_active() || ! Tiny_Image::is_retina( $size_name ) ) ) {
						echo '<em>' . esc_html__( '(file removed)', 'tiny-compress-images' ) . '</em>';
					} elseif ( $size->modified() ) {
						echo '<em>' . esc_html__( '(modified after compression)', 'tiny-compress-images' ) . '</em>';
					} elseif ( Tiny_Image::is_retina( $size_name ) ) {
						echo '<em>' . esc_html__( '(WP Retina 2x)', 'tiny-compress-images' ) . '</em>';
					} elseif ( $size->resized() ) {
						/* translators: %1$dx%2$d: resized image width x height */
						printf( '<em>' . esc_html__( '(resized to %1$dx%2$d)', 'tiny-compress-images' ) . '</em>', absint( $size->meta['output']['width'] ), absint( $size->meta['output']['height'] ) );
					}
					echo '</td>';

					if ( $size->is_duplicate() ) {
						echo '<td>-</td>';
						/* translators: %s: name of similar thumbnail size */
						printf( '<td colspan=4><em>' . esc_html__( 'Same file as "%s"', 'tiny-compress-images' ) . '</em></td>', esc_html( ucfirst( $size->duplicate_of_size() ) ) );
					} elseif ( $size->has_been_compressed() ) {

						echo '<td>' . esc_html( size_format( $size->meta['input']['size'], 1 ) ) . '</td>';
						echo '<td>' . esc_html( size_format( $size->meta['output']['size'], 1 ) ) . '</td>';
						echo '<td>' . esc_html( $size->meta['output']['type'] ) . '</td>';
						if ( $conversion_enabled ) {
							echo '<td>' . esc_html( $size->conversion_text() ) . '</td>';
						}
						/* translators: %s human friendly time difference */
						echo '<td>' . sprintf( esc_html__( '%s ago', 'tiny-compress-images' ), esc_html( human_time_diff( $size->end_time( $size_name ) ) ) ) . '</td>';
					} elseif ( ! $size->exists() ) {
						echo '<td>-</td>';
						echo '<td colspan=4><em>' . esc_html__( 'Not present', 'tiny-compress-images' ) . '</em></td>';
					} elseif ( isset( $size_active[ $size_name ] ) || Tiny_Image::is_retina( $size_name ) ) {
						echo '<td>' . esc_html( size_format( $size->filesize(), 1 ) ) . '</td>';
						echo '<td colspan=5><em>' . esc_html__( 'Not compressed', 'tiny-compress-images' ) . '</em></td>';
					} elseif ( isset( $size_exists[ $size_name ] ) ) {
						echo '<td>' . esc_html( size_format( $size->filesize(), 1 ) ) . '</td>';
						echo '<td colspan=4><em>' . esc_html__( 'Not configured to be compressed', 'tiny-compress-images' ) . '</em></td>';
					} elseif ( ! array_key_exists( $size_name, $active_sizes ) ) {
						echo '<td>' . esc_html( size_format( $size->filesize(), 1 ) ) . '</td>';
						echo '<td colspan=4><em>' . esc_html__( 'Size is not in use', 'tiny-compress-images' ) . '</em></td>';
					} else {
						echo '<td>' . esc_html( size_format( $size->filesize(), 1 ) ) . '</td>';
						echo '<td>-</td>';
						echo '<td>-</td>';
						echo '<td>-</td>';
						echo '<td>-</td>';
					}
					?>
				</tr>
				<?php
						++$i;
			} // End foreach().
			if ( $image_statistics['image_sizes_compressed'] > 0 ) {
				?>
				<tfoot>
					<tr>
						<td><?php esc_html_e( 'Combined', 'tiny-compress-images' ); ?></td>
					<td><?php echo esc_html( size_format( $size_before, 1 ) ); ?></td>
						<td><?php echo esc_html( size_format( $size_after, 1 ) ); ?></td>
						<td></td>
						<?php
						if ( $conversion_enabled ) {
							?>
							<td></td> <?php } ?>
						<td></td>
					</tr>
				</tfoot>
				<?php
			}
			?>
		</table>
		<p>
			<strong>
				<?php
				if ( $size_before - $size_after ) {
					printf(
						/* translators: %1$.0f%%: savings percentage, %2$s: total file size savings */
						esc_html__( 'Total savings %1$.0f%% (%2$s)', 'tiny-compress-images' ),
						( 1 - floatval( $size_after ) / floatval( $size_before ) ) * 100,
						esc_html( size_format( $size_before - $size_after, 1 ) )
					);
				} else {
					/* translators: %.0f%%: savings percentage */
					printf( esc_html__( 'Total savings %.0f%%', 'tiny-compress-images' ), 0 );
				}
				?>
			</strong>
		</p>
	</div>
</div>