Issues (2563)

app/Contracts/ImageFactoryInterface.php (2 issues)

Labels
Severity
1
<?php
2
3
/**
4
 * webtrees: online genealogy
5
 * Copyright (C) 2025 webtrees development team
6
 * This program is free software: you can redistribute it and/or modify
7
 * it under the terms of the GNU General Public License as published by
8
 * the Free Software Foundation, either version 3 of the License, or
9
 * (at your option) any later version.
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
 * GNU General Public License for more details.
14
 * You should have received a copy of the GNU General Public License
15
 * along with this program. If not, see <https://www.gnu.org/licenses/>.
16
 */
17
18
declare(strict_types=1);
19
20
namespace Fisharebest\Webtrees\Contracts;
21
22
use Fisharebest\Webtrees\MediaFile;
0 ignored issues
show
The type Fisharebest\Webtrees\MediaFile was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
23
use Intervention\Image\Interfaces\ImageInterface;
24
use League\Flysystem\FilesystemOperator;
25
use Psr\Http\Message\ResponseInterface;
26
27
/**
28
 * Make an image (from another image).
29
 */
30
interface ImageFactoryInterface
31
{
32
    /**
33
     * Send the original file - either inline or as a download.
34
     */
35
    public function fileResponse(FilesystemOperator $filesystem, string $path, bool $download): ResponseInterface;
36
37
    /**
38
     * Send the original file - either inline or as a download.
39
     */
40
    public function thumbnailResponse(
41
        FilesystemOperator $filesystem,
42
        string $path,
43
        int $width,
44
        int $height,
45
        string $fit
46
    ): ResponseInterface;
47
48
    /**
49
     * Create a full-size version of an image.
50
     */
51
    public function mediaFileResponse(MediaFile $media_file, bool $add_watermark, bool $download): ResponseInterface;
52
53
    /**
54
     * Create a smaller version of an image.
55
     */
56
    public function mediaFileThumbnailResponse(
57
        MediaFile $media_file,
58
        int $width,
59
        int $height,
60
        string $fit,
61
        bool $add_watermark
62
    ): ResponseInterface;
63
64
    /**
65
     * Does a full-sized image need a watermark?
66
     */
67
    public function fileNeedsWatermark(MediaFile $media_file, UserInterface $user): bool;
0 ignored issues
show
The type Fisharebest\Webtrees\Contracts\UserInterface was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
68
69
    /**
70
     * Does a thumbnail image need a watermark?
71
     */
72
    public function thumbnailNeedsWatermark(MediaFile $media_file, UserInterface $user): bool;
73
74
    /**
75
     * Create a watermark image, perhaps specific to a media-file.
76
     */
77
    public function createWatermark(int $width, int $height, MediaFile $media_file): ImageInterface;
78
79
    /**
80
     * Add a watermark to an image.
81
     */
82
    public function addWatermark(ImageInterface $image, ImageInterface $watermark): ImageInterface;
83
84
    /**
85
     * Send a replacement image, to replace one that could not be found or created.
86
     */
87
    public function replacementImageResponse(string $text): ResponseInterface;
88
}
89