Files
medicalalert-web-reloaded/wp/wp-content/plugins/imagify/inc/deprecated/classes/class-imagify-enable-media-replace-deprecated.php
Tony Volpe 4eb982d7a8 Merged in feature/from-pantheon (pull request #16)
code from pantheon

* code from pantheon
2024-01-10 17:03:02 +00:00

182 lines
4.5 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
/**
* Compat class for Enable Media Replace plugin.
*
* @since 1.8.4
* @deprecated
*/
class Imagify_Enable_Media_Replace_Deprecated {
/**
* The attachment ID.
*
* @var int
* @since 1.6.9
* @since 1.9 Deprecated
* @deprecated
*/
protected $attachment_id;
/**
* The attachment.
*
* @var Imagify_Attachment
* @since 1.6.9
* @since 1.9 Deprecated
* @deprecated
*/
protected $attachment;
/**
* Tell if the attachment has data.
* No data means not processed by Imagify, or restored.
*
* @var bool
* @since 1.8.4
* @since 1.9 Deprecated
* @deprecated
*/
protected $attachment_has_data;
/**
* Filesystem object.
*
* @var object Imagify_Filesystem
* @since 1.7.1
* @since 1.8.4 Deprecated
* @deprecated
*/
protected $filesystem;
/**
* Optimize the attachment files if the old ones were also optimized.
* Delete the old backup file.
*
* @since 1.6.9
* @since 1.8.4 Deprecated.
* @see $this->store_old_backup_path()
* @deprecated
*
* @param string $return_url The URL the user will be redirected to.
* @return string The same URL.
*/
public function optimize( $return_url ) {
_deprecated_function( get_class( $this ) . '::' . __FUNCTION__ . '()', '1.8.4' );
$attachment = $this->get_attachment();
if ( $attachment->get_data() ) {
/**
* The old images have been optimized in the past.
*/
// Use the same otimization level for the new ones.
$optimization_level = $attachment->get_optimization_level();
// Remove old optimization data.
$attachment->delete_imagify_data();
// Optimize and overwrite the previous backup file if exists and needed.
add_filter( 'imagify_backup_overwrite_backup', '__return_true', 42 );
$attachment->optimize( $optimization_level );
remove_filter( 'imagify_backup_overwrite_backup', '__return_true', 42 );
}
$filesystem = Imagify_Filesystem::get_instance();
/**
* Delete the old backup file.
*/
if ( ! $this->old_backup_path || ! $filesystem->exists( $this->old_backup_path ) ) {
// The user didn't choose to rename the files, or there is no old backup.
$this->old_backup_path = null;
return $return_url;
}
$new_backup_path = $attachment->get_raw_backup_path();
if ( $new_backup_path === $this->old_backup_path ) {
// We don't want to delete the new backup.
$this->old_backup_path = null;
return $return_url;
}
// Finally, delete the old backup file.
$filesystem->delete( $this->old_backup_path );
$this->old_backup_path = null;
return $return_url;
}
/**
* When the user chooses to change the file name, store the old backup file path. This path will be used later to delete the file.
*
* @since 1.6.9
* @since 1.9.10 Deprecated.
* @deprecated
*
* @param string $new_filename The new file name.
* @param string $current_path The current file path.
* @param int $post_id The attachment ID.
* @return string The same file name.
*/
public function store_old_backup_path( $new_filename, $current_path, $post_id ) {
_deprecated_function( get_class( $this ) . '::' . __FUNCTION__ . '()', '1.9.10' );
if ( ! $this->media_id || $post_id !== $this->media_id ) {
return $new_filename;
}
$this->get_process();
if ( ! $this->process ) {
$this->media_id = 0;
return $new_filename;
}
$media = $this->process->get_media();
$backup_path = $media->get_backup_path();
if ( $backup_path ) {
$this->old_backup_path = $backup_path;
// Keep track of existing WebP files.
$media_files = $media->get_media_files();
if ( $media_files ) {
foreach ( $media_files as $media_file ) {
$this->old_webp_paths[] = imagify_path_to_webp( $media_file['path'] );
}
}
} else {
$this->media_id = 0;
$this->old_backup_path = false;
$this->old_webp_paths = [];
}
return $new_filename;
}
/**
* Get the attachment.
*
* @since 1.6.9
* @since 1.9 Deprecated.
* @deprecated
*
* @return object A Imagify_Attachment object (or any class extending it).
*/
protected function get_attachment() {
if ( $this->attachment ) {
return $this->attachment;
}
_deprecated_function( get_class( $this ) . '::' . __FUNCTION__ . '()', '1.9', '\\Imagify\\ThirdParty\\EnableMediaReplace\\Main::get_instance()->get_process()' );
$this->attachment = get_imagify_attachment( 'wp', $this->attachment_id, 'enable_media_replace' );
return $this->attachment;
}
}