PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backups, Restore, Migration & Clone / 4.11.2
WP STAGING – WordPress Backups, Restore, Migration & Clone v4.11.2
4.11.2 4.11.1 4.11.0 4.10.0 4.9.5 4.9.4 4.9.3 4.9.2 4.9.1 4.9.0 4.8.1 trunk 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.10.0 3.2.0 3.3.1 3.3.2 3.3.3 3.4.1 3.4.3 3.5.0 3.6.0 3.7.1 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 3.9.0 3.9.1 3.9.2 3.9.3 3.9.4 4.0.0 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.7.2 4.7.3 4.8.0
wp-staging / Framework / Filesystem / Permissions.php
wp-staging / Framework / Filesystem Last commit date
Filters 2 weeks ago Scanning 2 weeks ago AbstractFileObject.php 2 weeks ago AbstractFilesystemScanner.php 2 weeks ago DebugLogReader.php 2 weeks ago DirectoryListing.php 2 weeks ago DirectorySize.php 2 weeks ago DiskWriteCheck.php 2 weeks ago FileObject.php 2 weeks ago Filesystem.php 2 weeks ago FilesystemExceptions.php 5 years ago FilesystemScanner.php 2 weeks ago FilesystemScannerDto.php 2 weeks ago FilterableDirectoryIterator.php 2 weeks ago LegacyFileRulesTrait.php 2 weeks ago LogCleanup.php 2 weeks ago LogFiles.php 2 weeks ago MissingFileException.php 3 years ago OPcache.php 2 weeks ago PartIdentifier.php 2 weeks ago PathChecker.php 2 weeks ago PathIdentifier.php 2 weeks ago Permissions.php 2 weeks ago WpUploadsFolderSymlinker.php 2 weeks ago
Permissions.php
70 lines
1 <?php
2
3 namespace WPStaging\Framework\Filesystem;
4
5 use WPStaging\Framework\Traits\ApplyFiltersTrait;
6
7 class Permissions
8 {
9 use ApplyFiltersTrait;
10
11
12 const FILTER_FOLDER_PERMISSION = 'wpstg_folder_permission';
13
14
15 const FILTER_FILE_PERMISSION = 'wpstg_file_permission';
16
17
18 const DEFAULT_FILE_PERMISSION = 0644;
19
20
21 const DEFAULT_DIR_PERMISSION = 0755;
22
23
24
25
26 public function getDirectoryOctal(): int
27 {
28 if (!defined('FS_CHMOD_DIR')) {
29 return $this->applyFilters(self::FILTER_FOLDER_PERMISSION, self::DEFAULT_DIR_PERMISSION);
30 }
31
32 if ($this->isValidPermission(FS_CHMOD_DIR)) {
33 return $this->applyFilters(self::FILTER_FOLDER_PERMISSION, FS_CHMOD_DIR);
34 }
35
36 return $this->applyFilters(self::FILTER_FOLDER_PERMISSION, self::DEFAULT_DIR_PERMISSION);
37 }
38
39
40
41
42
43
44
45 public function getFilePermission(string $filePath): int
46 {
47 $permission = self::DEFAULT_FILE_PERMISSION;
48 if (defined('FS_CHMOD_FILE') && $this->isValidPermission(FS_CHMOD_FILE)) {
49 $permission = FS_CHMOD_FILE;
50 }
51
52 $filtered = $this->applyFilters(self::FILTER_FILE_PERMISSION, $permission, $filePath);
53
54 if (!is_int($filtered) || !$this->isValidPermission($filtered)) {
55 return $permission;
56 }
57
58 return $filtered;
59 }
60
61
62
63
64
65 private function isValidPermission(int $permission): bool
66 {
67 return $permission >= 0 && $permission <= 0777;
68 }
69 }
70