Completed
Push — master ( 88aecf...e303f8 )
by Nikita
02:33
created

Resource::compress()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 23
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 2 Features 0
Metric Value
c 2
b 2
f 0
dl 0
loc 23
rs 9.0856
cc 3
eloc 12
nc 3
nop 3
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: nikita
5
 * Date: 15.08.16
6
 * Time: 22:14
7
 */
8
9
namespace samsonphp\compressor;
10
11
12
use samsonframework\filemanager\FileManagerInterface;
13
use samsonphp\event\Event;
14
15
class Resource
16
{
17
    /** @var FileManagerInterface File system manager */
18
    protected $fileManager;
19
20
    public function __construct(FileManagerInterface $fileManager)
21
    {
22
        $this->fileManager = $fileManager;
23
    }
24
25
    public function compress(array $urls, $type, $output)
26
    {
27
        $content = '';
28
        $fileName ='';
29
        foreach ($urls as $url)
30
        {
31
            if ($this->fileManager->exists($url)) {
32
                $fileName .= $url . $this->fileManager->lastModified($url);
33
                $content .= $this->fileManager->read($url);
34
            }
35
        }
36
        $fileName = md5($fileName);
37
38
        $fileName = $fileName.'.'.$type;
39
40
        Event::fire(Compressor::E_RESOURCE_COMPRESS, array($type, &$content));
41
42
43
44
        $this->fileManager->write($output.$fileName, $content);
45
46
        return $fileName;
47
    }
48
}