PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backups, Restore, Migration & Clone / 4.0.0
WP STAGING – WordPress Backups, Restore, Migration & Clone v4.0.0
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 years ago Scanning 5 years ago AbstractFileObject.php 1 year ago DebugLogReader.php 2 years ago DirectoryListing.php 2 years ago DiskWriteCheck.php 2 years ago FileObject.php 1 year ago Filesystem.php 1 year ago FilesystemExceptions.php 5 years ago FilterableDirectoryIterator.php 2 years ago LogCleanup.php 2 years ago LogFiles.php 2 years ago MissingFileException.php 3 years ago OPcache.php 2 years ago PartIdentifier.php 1 year ago PathChecker.php 2 years ago PathIdentifier.php 1 year ago Permissions.php 1 year ago WpUploadsFolderSymlinker.php 5 years ago
Permissions.php
61 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 /** @var string */
12 const FILTER_FOLDER_PERMISSION = 'wpstg_folder_permission';
13
14 /** @var int */
15 const DEFAULT_FILE_PERMISSION = 0644;
16
17 /** @var int */
18 const DEFAULT_DIR_PERMISSION = 0755;
19
20 /**
21 * @return int
22 */
23 public function getDirectoryOctal(): int
24 {
25 if (!defined('FS_CHMOD_DIR')) {
26 return $this->applyFilters(self::FILTER_FOLDER_PERMISSION, self::DEFAULT_DIR_PERMISSION);
27 }
28
29 if ($this->isValidPermission(FS_CHMOD_DIR)) {
30 return $this->applyFilters(self::FILTER_FOLDER_PERMISSION, FS_CHMOD_DIR);
31 }
32
33 return $this->applyFilters(self::FILTER_FOLDER_PERMISSION, self::DEFAULT_DIR_PERMISSION);
34 }
35
36 /**
37 * @return int
38 */
39 public function getFilesOctal(): int
40 {
41 if (!defined('FS_CHMOD_FILE')) {
42 return self::DEFAULT_FILE_PERMISSION;
43 }
44
45 if ($this->isValidPermission(FS_CHMOD_FILE)) {
46 return FS_CHMOD_FILE;
47 }
48
49 return self::DEFAULT_FILE_PERMISSION;
50 }
51
52 private function isValidPermission(int $permission): bool
53 {
54 if (decoct(octdec($permission)) !== $permission) {
55 return false;
56 }
57
58 return $permission >= 0 && $permission <= 0777;
59 }
60 }
61