/var/www/hkosl.com/littleark/webadmin/libraies/league/flysystem/src/Adapter/AbstractAdapter.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?php

namespace League\Flysystem\Adapter;

use 
League\Flysystem\AdapterInterface;

abstract class 
AbstractAdapter implements AdapterInterface
{
    
/**
     * @var string path prefix
     */
    
protected $pathPrefix;

    
/**
     * @var string
     */
    
protected $pathSeparator '/';

    
/**
     * Set the path prefix.
     *
     * @param string $prefix
     *
     * @return self
     */
    
public function setPathPrefix($prefix)
    {
        
$is_empty = empty($prefix);

        if ( ! 
$is_empty) {
            
$prefix rtrim($prefix$this->pathSeparator) . $this->pathSeparator;
        }

        
$this->pathPrefix $is_empty null $prefix;
    }

    
/**
     * Get the path prefix.
     *
     * @return string path prefix
     */
    
public function getPathPrefix()
    {
        return 
$this->pathPrefix;
    }

    
/**
     * Prefix a path.
     *
     * @param string $path
     *
     * @return string prefixed path
     */
    
public function applyPathPrefix($path)
    {
        
$path ltrim($path'\\/');

        if (
strlen($path) === 0) {
            return 
$this->getPathPrefix() ?: '';
        }

        if (
$prefix $this->getPathPrefix()) {
            
$path $prefix $path;
        }

        return 
$path;
    }

    
/**
     * Remove a path prefix.
     *
     * @param string $path
     *
     * @return string path without the prefix
     */
    
public function removePathPrefix($path)
    {
        
$pathPrefix $this->getPathPrefix();

        if (
$pathPrefix === null) {
            return 
$path;
        }

        return 
substr($pathstrlen($pathPrefix));
    }
}