PluginProbe
WPFunnels – Funnel Builder for WooCommerce with Checkout & One Click Upsell / 3.12.4
WPFunnels – Funnel Builder for WooCommerce with Checkout & One Click Upsell v3.12.4
3.13.3 3.13.2 3.13.1 3.13.0 3.12.13 3.12.12 3.12.11 3.12.10 3.12.9 3.12.8 3.12.7 3.12.6 3.12.5 3.12.4 3.12.3 3.12.1 3.12.2 3.12.0 3.11.1 3.11.0 3.10.9 3.10.8 3.10.7 3.10.6 2.8.16 All 261 releases
wpfunnels / vendor / league / flysystem / src / PathPrefixer.php

PathPrefixer.php in WPFunnels – Funnel Builder for WooCommerce with Checkout & One Click Upsell 3.12.4, at vendor/league/flysystem/src/PathPrefixer.php

51 lines 1.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare(strict_types=1);
4
5 namespace League\Flysystem;
6
7 use function rtrim;
8 use function strlen;
9 use function substr;
10
11 final class PathPrefixer
12 {
13 private string $prefix = '';
14
15 public function __construct(string $prefix, private string $separator = '/')
16 {
17 $this->prefix = rtrim($prefix, '\\/');
18
19 if ($this->prefix !== '' || $prefix === $separator) {
20 $this->prefix .= $separator;
21 }
22 }
23
24 public function prefixPath(string $path): string
25 {
26 return $this->prefix . ltrim($path, '\\/');
27 }
28
29 public function stripPrefix(string $path): string
30 {
31 /* @var string */
32 return substr($path, strlen($this->prefix));
33 }
34
35 public function stripDirectoryPrefix(string $path): string
36 {
37 return rtrim($this->stripPrefix($path), '\\/');
38 }
39
40 public function prefixDirectoryPath(string $path): string
41 {
42 $prefixedPath = $this->prefixPath(rtrim($path, '\\/'));
43
44 if ($prefixedPath === '' || substr($prefixedPath, -1) === $this->separator) {
45 return $prefixedPath;
46 }
47
48 return $prefixedPath . $this->separator;
49 }
50 }
51