Added force flag to image deletion event to override trash extension

This commit is contained in:
Matthew Barbour 2019-06-27 13:34:25 -05:00 committed by Shish
parent 1bd9238b17
commit a82fb56063
3 changed files with 7 additions and 3 deletions

View file

@ -42,15 +42,19 @@ class ImageDeletionEvent extends Event
/** @var Image */
public $image;
/** @var bool */
public $force = false;
/**
* Deletes an image.
*
* Used by things like tags and comments handlers to
* clean out related rows in their tables.
*/
public function __construct(Image $image)
public function __construct(Image $image, bool $force = false)
{
$this->image = $image;
$this->force = $force;
}
}

View file

@ -67,7 +67,7 @@ class Trash extends Extension
public function onImageDeletion(ImageDeletionEvent $event)
{
if($event->image->trash===false) {
if($event->force===false && $event->image->trash===false) {
self::set_trash($event->image->id, true);
$event->stop_processing = true;
}

View file

@ -167,7 +167,7 @@ abstract class ShimmiePHPUnitTestCase extends \PHPUnit\Framework\TestCase
{
$img = Image::by_id($image_id);
if ($img) {
$ide = new ImageDeletionEvent($img);
$ide = new ImageDeletionEvent($img, true);
send_event($ide);
}
}