Conversion::get()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Jonasdamher\Simplifyimage\Utils;
6
7
use Jonasdamher\Simplifyimage\Core\ResponseHandler;
8
9
class Conversion
10
{
11
	private string $conversionTo = 'default';
12
	private array $allowFormatConversion = ['webp','png','jpeg'];
13
	
14
	public function get(): string
15
	{
16
		return $this->conversionTo;
17
	}
18
19
	public function set(string $conversionTo)
20
	{
21
		try {
22
			if (!in_array($conversionTo, $this->allowFormatConversion, true)) {
23
				throw new \Exception("Don't exist format to conversion (" . $conversionTo . ')');
24
			}
25
		} catch (\Exception $e) {
26
			$conversionTo = 'png';
27
			ResponseHandler::fail($e->getMessage());
28
		} finally {
29
			$this->conversionTo = $conversionTo;
30
		}
31
	}
32
33
	public function transform($imagecreatefrom, string $transformImage, array $imageArray)
34
	{
35
		return ($this->get() != 'default') ?
36
			('image' . $this->get())($imagecreatefrom, $imageArray['tmp_name']) : ($transformImage)($imagecreatefrom, $imageArray['tmp_name']);
37
	}
38
}
39