GRAYBYTE WORDPRESS FILE MANAGER4440

Server IP : 68.65.123.43 / Your IP : 216.73.216.162
System : Linux server266.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
PHP Version : 8.0.30
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /home/inteuuod/public_html/wp-content/plugins/image-optimization/classes/image/
Upload Files :
Current_dir [ Writeable ] Document_root [ Writeable ]

Command :


Current File : /home/inteuuod/public_html/wp-content/plugins/image-optimization/classes/image//image-meta.php
<?php

namespace ImageOptimization\Classes\Image;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

class Image_Meta {
	public const IMAGE_OPTIMIZER_METADATA_KEY = 'image_optimizer_metadata';
	private const INITIAL_META_VALUE = [
		'status' => Image_Status::NOT_OPTIMIZED,
		'error_type' => null,
		'compression_level' => null,
		'retry_count' => null,
		'sizes_optimized' => [],
		'backups' => [],
		'original_data' => [
			'sizes' => [],
		],
	];

	private int $image_id;
	private array $image_meta;

	public function get_status(): string {
		return $this->image_meta['status'];
	}

	public function set_status( string $status ): Image_Meta {
		$this->image_meta['status'] = $status;

		return $this;
	}

	public function get_error_type(): ?string {
		return $this->image_meta['error_type'];
	}

	public function set_error_type( ?string $type ): Image_Meta {
		$this->image_meta['error_type'] = $type;

		return $this;
	}

	public function get_compression_level(): ?string {
		return $this->image_meta['compression_level'];
	}

	public function set_compression_level( string $compression_level ): Image_Meta {
		$this->image_meta['compression_level'] = $compression_level;

		return $this;
	}

	public function get_retry_count(): ?int {
		return $this->image_meta['retry_count'];
	}

	public function set_retry_count( ?int $retry_count ): Image_Meta {
		$this->image_meta['retry_count'] = $retry_count;

		return $this;
	}

	public function get_optimized_sizes(): array {
		return $this->image_meta['sizes_optimized'];
	}

	public function add_optimized_size( string $optimized_size ): Image_Meta {
		if ( ! in_array( $optimized_size, $this->image_meta['sizes_optimized'], true ) ) {
			$this->image_meta['sizes_optimized'][] = $optimized_size;
		}

		return $this;
	}

	public function clear_optimized_sizes(): Image_Meta {
		$this->image_meta['sizes_optimized'] = [];

		return $this;
	}

	public function set_optimized_size( array $optimized_size ): Image_Meta {
		$this->image_meta['sizes_optimized'] = $optimized_size;

		return $this;
	}

	public function clear_backups(): Image_Meta {
		$this->image_meta['backups'] = [];

		return $this;
	}

	public function get_image_backup_paths(): array {
		return $this->image_meta['backups'];
	}

	public function get_image_backup_path( string $image_size ): ?string {
		return $this->image_meta['backups'][ $image_size ] ?? null;
	}

	public function set_image_backup_path( string $image_size, string $backup_path ): Image_Meta {
		$this->image_meta['backups'][ $image_size ] = $backup_path;

		return $this;
	}

	public function remove_image_backup_path( string $image_size ): Image_Meta {
		unset( $this->image_meta['backups'][ $image_size ] );

		return $this;
	}

	public function get_original_file_size( string $image_size ): ?int {
		if ( ! isset( $this->image_meta['original_data']['sizes'][ $image_size ]['filesize'] ) ) {
			return null;
		}

		return $this->image_meta['original_data']['sizes'][ $image_size ]['filesize'];
	}

	public function get_original_mime_type( string $image_size ): ?string {
		if ( ! isset( $this->image_meta['original_data']['sizes'][ $image_size ] ) ) {
			return null;
		}

		return $this->image_meta['original_data']['sizes'][ $image_size ]['mime-type'];
	}

	public function get_original_width( string $image_size ): ?string {
		if ( ! isset( $this->image_meta['original_data']['sizes'][ $image_size ] ) ) {
			return null;
		}

		return $this->image_meta['original_data']['sizes'][ $image_size ]['width'];
	}

	public function get_original_height( string $image_size ): ?string {
		if ( ! isset( $this->image_meta['original_data']['sizes'][ $image_size ] ) ) {
			return null;
		}

		return $this->image_meta['original_data']['sizes'][ $image_size ]['height'];
	}

	public function add_original_data( string $size, array $data ): Image_Meta {
		$this->image_meta['original_data']['sizes'][ $size ] = $data;

		return $this;
	}

	public function clear_original_data(): Image_Meta {
		$this->image_meta['original_data'] = [ 'sizes' => [] ];

		return $this;
	}

	public function delete(): bool {
		return delete_post_meta( $this->image_id, self::IMAGE_OPTIMIZER_METADATA_KEY );
	}

	public function save(): Image_Meta {
		update_post_meta( $this->image_id, self::IMAGE_OPTIMIZER_METADATA_KEY, $this->image_meta );

		$this->query_meta();

		return $this;
	}

	private function query_meta(): void {
		$meta = get_post_meta( $this->image_id, self::IMAGE_OPTIMIZER_METADATA_KEY, true );
		$this->image_meta = $meta ? array_replace_recursive( self::INITIAL_META_VALUE, $meta ) : self::INITIAL_META_VALUE;
	}

	public function __construct( int $image_id ) {
		$this->image_id = $image_id;

		$this->query_meta();
	}
}

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
January 01 1970 00:00:00
root / root
0
exceptions
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
.htaccess
0.41 KB
July 10 2025 04:32:23
inteuuod / inteuuod
0644
image-backup.php
3.99 KB
February 06 2024 19:05:42
inteuuod / inteuuod
0644
image-conversion-option.php
0.313 KB
July 29 2024 16:34:36
inteuuod / inteuuod
0644
image-conversion.php
1.175 KB
July 29 2024 16:34:36
inteuuod / inteuuod
0644
image-db-update.php
0.64 KB
February 06 2024 19:05:42
inteuuod / inteuuod
0644
image-dimensions.php
1.032 KB
August 22 2024 13:32:50
inteuuod / inteuuod
0644
image-meta.php
4.614 KB
April 10 2025 14:45:10
inteuuod / inteuuod
0644
image-optimization-error-type.php
0.423 KB
April 10 2025 14:45:10
inteuuod / inteuuod
0644
image-query-builder.php
2.351 KB
September 24 2024 14:22:20
inteuuod / inteuuod
0644
image-restore.php
3.967 KB
September 24 2024 14:22:20
inteuuod / inteuuod
0644
image-status.php
0.656 KB
February 06 2024 19:05:42
inteuuod / inteuuod
0644
image.php
4.47 KB
April 10 2025 14:45:10
inteuuod / inteuuod
0644
wp-image-meta.php
7.276 KB
February 06 2024 19:05:42
inteuuod / inteuuod
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF