ImageSizeList   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 19
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 10
c 1
b 0
f 0
dl 0
loc 19
ccs 9
cts 9
cp 1
rs 10
wmc 6

1 Method

Rating   Name   Duplication   Size   Complexity  
A validate() 0 15 6
1
<?php
2
3
namespace kalanis\kw_rules\Rules\File;
4
5
6
use kalanis\kw_rules\Interfaces\IValidateFile;
7
use kalanis\kw_rules\Exceptions\RuleException;
8
use kalanis\kw_rules\Rules\TCheckArrayRange;
9
10
11
/**
12
 * Class ImageSizeList
13
 * @package kalanis\kw_rules\Rules\File
14
 * Check if input image size is in list of preset ones
15
 */
16
class ImageSizeList extends AFileRule
17
{
18
    use TCheckArrayRange;
19
20 6
    public function validate(IValidateFile $entry): void
21
    {
22 6
        $filename = $entry->getTempName();
23 6
        if (!empty($filename)) {
24 6
            $imageSize = @getimagesize($filename);
25 6
            if (false !== $imageSize) {
26 6
                foreach ($this->againstValue as $argument) {
27 6
                    if (($imageSize[0] == $argument[0]) && ($imageSize[1] == $argument[1])) {
28 1
                        return;
29
                    }
30
                }
31
            }
32
        }
33
34 5
        throw new RuleException($this->errorText);
35
    }
36
}
37