Completed
Push — ezp25676-flysystem_1_x_update ( 17056c...4f7ba9 )
by
unknown
23:08
created

LocalAdapterFactory::setDirectoriesPermissions()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 3
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 6
rs 9.4285
1
<?php
2
/**
3
 * This file is part of the ezplatform package.
4
 *
5
 * @copyright Copyright (C) eZ Systems AS. All rights reserved.
6
 * @license For full copyright and license information view LICENSE file distributed with this source code.
7
 */
8
9
namespace eZ\Bundle\EzPublishIOBundle\DependencyInjection\Factory;
10
11
12
use League\Flysystem\Adapter\Local;
13
14
class LocalAdapterFactory
15
{
16
    private $filesPermissions = 0750;
17
18
    private $directoriesPermissions = 640;
19
20
    /**
21
     * @param int $filesPermissions
22
     * @return LocalAdapterFactory
23
     */
24
    public function setFilesPermissions($filesPermissions)
25
    {
26
        $this->filesPermissions = $filesPermissions;
27
28
        return $this;
29
    }
30
31
    /**
32
     * @param int $directoriesPermissions
33
     * @return LocalAdapterFactory
34
     */
35
    public function setDirectoriesPermissions($directoriesPermissions)
36
    {
37
        $this->directoriesPermissions = $directoriesPermissions;
38
39
        return $this;
40
    }
41
42
    /**
43
     *
44
     * @param string $rootDir
45
     * @param int $filesPermissions Permissions used when creating files. Example: 0640.
46
     * @param int $directoriesPermissions Permissions when creating directories. Example: 0750.
47
     * @return Local
48
     */
49
    public function build($rootDir, $filesPermissions, $directoriesPermissions)
50
    {
51
        return new Local(
52
            $rootDir,
53
            LOCK_EX,
54
            Local::DISALLOW_LINKS,
55
            ['file' => $filesPermissions, 'dir' => $directoriesPermissions]
56
        );
57
    }
58
}
59