Completed
Push — master ( 71bab5...9e3424 )
by Afshin
02:36
created

ImageService::createPhotos()   B

Complexity

Conditions 8
Paths 34

Size

Total Lines 21
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 8
eloc 12
nc 34
nop 4
dl 0
loc 21
rs 7.1428
c 0
b 0
f 0
1
<?php
2
namespace Core\Services;
3
4
use Gregwar\Image\Image as GImage;
0 ignored issues
show
Bug introduced by
The type Gregwar\Image\Image 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...
5
use Core\Interfaces\_Service;
6
7
class ImageService extends _Service
8
{
9
10
    public function cropResize($src,$destUrl, $width, $height, $quality = 80,$fileExt  = 'jpg')
11
    {
12
        $image = GImage::open($src);
13
        $image->cropResize($width, $height);
14
        $destUrl = $destUrl.'.'.$fileExt;
15
        $image->save($destUrl, $fileExt = 'jpg', $quality );
16
17
18
        return $image;
19
    }
20
21
    public function scaleResize($src,$destUrl, $width, $height, $quality = 80,$fileExt  = 'jpg')
22
    {
23
        $image = GImage::open($src);
24
        $image->scaleResize($width, $height);
25
        $destUrl = $destUrl.'.'.$fileExt;
26
        $image->save($destUrl, $fileExt = 'jpg', $quality );
27
28
29
        return $image;
30
    }
31
32
    public function resize($src,$destUrl, $width, $height, $quality = 80,$fileExt  = 'jpg')
33
    {
34
        $image = GImage::open($src);
35
        $image->resize($width, $height);
36
        $destUrl = $destUrl.'.'.$fileExt;
37
        $image->save($destUrl, $fileExt = 'jpg', $quality );
38
39
40
        return $image;
41
    }
42
43
    public function zoomCrop($src,$destUrl, $width, $height, $quality = 80,$fileExt  = 'jpg')
44
    {
45
46
47
        $image = GImage::open($src);
48
        $image->zoomCrop($width, $height);
49
        $destUrl = $destUrl.'.'.$fileExt;
50
        $image->save($destUrl, $fileExt = 'jpg', $quality );
51
        return $image;
52
    }
53
54
    public function createPhotos($src,$photoid,$type='user_photo', $dimensions = false)
55
    {
56
57
        // Get default dimensions
58
        $dest = realpath('.'.$GLOBALS['settings']['image']['upload_path']);
59
        $defaultDimensions = $dimensions ? $dimensions : $GLOBALS['settings']['image'][$type]['dimensions'];
60
        foreach ($defaultDimensions as $keys=>$dimension)
61
        {
62
            if(!isset($dimension[2])) $dimension[2] = 100; // quality
63
            if(!isset($dimension[4])) $dimension[4] = 'jpg'; // quality
64
65
            $destUrl = $dest.'/'.getImageDirName($photoid,$type).getImageFileName($photoid,$keys,$type);
66
            if(isset($dimension[3]) && $dimension[3] == true){
67
                $image = $this->zoomCrop($src,trim($destUrl),$dimension[0], $dimension[1], $dimension[2],$dimension[4]);
68
            }else {
69
                $image = $this->cropResize($src,trim($destUrl),$dimension[0], $dimension[1], $dimension[2],$dimension[4]);
70
            }
71
            // $image = $this->cropResize($src,trim($destUrl),$dimension[0], $dimension[1], $dimension[2],$dimension[4]);
72
73
            if($image ){
74
                $cropedArr[$keys] = $src;
75
            }
76
        }
77
    }
78
79
80
81
}