ImageSizeList::validate()   A
last analyzed

Complexity

Conditions 6
Paths 4

Size

Total Lines 15
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 9
CRAP Score 6

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 6
eloc 8
c 1
b 0
f 0
nc 4
nop 1
dl 0
loc 15
ccs 9
cts 9
cp 1
crap 6
rs 9.2222
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