/var/www/p4ela.net/www/wp-content/plugins/image-optimization/classes/image
Edit: /var/www/p4ela.net/www/wp-content/plugins/image-optimization/classes/image/image-backup.php (4086B)
set_image_backup_path( $image_size, $backup_path );
$meta->save();
return $backup_path;
}
/**
* Looks for registered backups and remove all files found.
* Also, wipes removed files from image meta.
*
* @param int[] $image_ids Array of attachment ids.
* @return void
*/
public static function remove_many( array $image_ids ): void {
foreach ( $image_ids as $image_id ) {
self::remove( $image_id );
}
}
/**
* Removes one or all backups for a specific image.
* Also, wipes removed files from image meta.
*
* @param int $image_id Attachment id.
* @param string|null $image_size Image size (e.g. 'full', 'thumbnail', etc.). All backups will be removed if no size provided.
*
* @return bool Returns true if backups were removed successfully, false otherwise.
*/
public static function remove( int $image_id, ?string $image_size = null ): bool {
$meta = new Image_Meta( $image_id );
$backups = $meta->get_image_backup_paths();
if ( empty( $backups ) ) {
return false;
}
if ( $image_size ) {
if ( ! key_exists( $image_size, $backups ) ) {
return false;
}
try {
File_System::delete( $backups[ $image_size ], false, 'f' );
} catch ( File_System_Operation_Error $e ) {
Logger::log(
Logger::LEVEL_ERROR,
"Error while removing a backup for image {$image_id} and size {$image_size}"
);
}
$meta->remove_image_backup_path( $image_size );
$meta->save();
return true;
}
foreach ( $backups as $image_size => $backup_path ) {
try {
File_System::delete( $backup_path, false, 'f' );
} catch ( File_System_Operation_Error $e ) {
Logger::log( Logger::LEVEL_ERROR, "Error while removing backups {$image_id}" );
}
$meta->remove_image_backup_path( $image_size );
}
$meta->save();
return true;
}
}