43 lines
1.2 KiB
PHP
43 lines
1.2 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace WebPExpress;
|
||
|
|
use \WebPExpress\Convert;
|
||
|
|
use \WebPExpress\Mime;
|
||
|
|
use \WebPExpress\SanityCheck;
|
||
|
|
|
||
|
|
class HandleDeleteFileHook
|
||
|
|
{
|
||
|
|
|
||
|
|
/**
|
||
|
|
* hook: wp_delete_file
|
||
|
|
*/
|
||
|
|
public static function deleteAssociatedWebP($filename)
|
||
|
|
{
|
||
|
|
try {
|
||
|
|
$filename = SanityCheck::absPathExistsAndIsFileInDocRoot($filename);
|
||
|
|
|
||
|
|
$mimeTypes = [
|
||
|
|
'image/jpeg',
|
||
|
|
'image/png',
|
||
|
|
];
|
||
|
|
if (!Mime::isOneOfTheseImageMimeTypes($filename, $mimeTypes)) {
|
||
|
|
return $filename;
|
||
|
|
}
|
||
|
|
|
||
|
|
$config = Config::loadConfigAndFix();
|
||
|
|
$destination = Convert::getDestination($filename, $config);
|
||
|
|
if (@file_exists($destination)) {
|
||
|
|
if (@unlink($destination)) {
|
||
|
|
Convert::updateBiggerThanOriginalMark($filename, $destination, $config);
|
||
|
|
} else {
|
||
|
|
error_log('WebP Express failed deleting webp:' . $destination);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
} catch (SanityException $e) {
|
||
|
|
// fail silently. (maybe we should write to debug log instead?)
|
||
|
|
}
|
||
|
|
|
||
|
|
return $filename;
|
||
|
|
}
|
||
|
|
}
|