Submit
Path:
~
/
home
/
b
/
f
/
x
/
bfxleof
/
www
/
wp-content
/
plugins
/
duplicator
/
classes
/
utilities
/
File Content:
class.u.scancheck.php
<?php defined('ABSPATH') || defined('DUPXABSPATH') || exit; /** * Recursivly scans a directory and finds all sym-links and unreadable files * * Standard: PSR-2 * @link http://www.php-fig.org/psr/psr-2 * * @package Duplicator * @subpackage classes/utilities * @copyright (c) 2017, Snapcreek LLC * */ // Exit if accessed directly if (! defined('DUPLICATOR_VERSION')) exit; class DUP_ScanCheck { /** * The number of files scanned */ public $fileCount = 0; /** * The number of directories scanned */ public $dirCount = 0; /** * The maximum count of files before the recursive function stops */ public $maxFiles = 1000000; /** * The maximum count of directories before the recursive function stops */ public $maxDirs = 75000; /** * Recursivly scan the root directory provided */ public $recursion = true; /** * Stores a list of symbolic link files */ public $symLinks = array(); /** * Stores a list of files unreadable by PHP */ public $unreadable = array(); /** * Stores a list of dirs with utf8 settings */ public $nameTestDirs = array(); /** * Stores a list of files with utf8 settings */ public $nameTestFiles = array(); /** * If the maxFiles or maxDirs limit is reached then true */ protected $limitReached = false; /** * Is the server running on Windows */ private $isWindows = false; /** * Init this instance of the object */ function __construct() { $this->isWindows = defined('PHP_WINDOWS_VERSION_BUILD'); } /** * Start the scan process * * @param string $dir A valid directory path where the scan will run * @param array $results Used for recursion, do not pass in value with calling * * @return obj The scan check object with the results of the scan */ public function run($dir, &$results = array()) { //Stop Recursion if Max search is reached if ($this->fileCount > $this->maxFiles || $this->dirCount > $this->maxDirs) { $this->limitReached = true; return $results; } $files = @scandir($dir); if (is_array($files)) { foreach ($files as $key => $value) { $path = realpath($dir.DIRECTORY_SEPARATOR.$value); if ($path) { //Files if (!is_dir($path)) { if (!is_readable($path)) { $results[] = $path; $this->unreadable[] = $path; } else if ($this->isLink($path)) { $results[] = $path; $this->symLinks[] = $path; } else { $name = basename($path); $invalid_test = preg_match('/(\/|\*|\?|\>|\<|\:|\\|\|)/', $name) || trim($name) == '' || (strrpos($name, '.') == strlen($name) - 1 && substr($name, -1) == '.') || preg_match('/[^\x20-\x7f]/', $name); if ($invalid_test) { if (! DUP_Util::$PHP7_plus && DUP_Util::isWindows()) { $this->nameTestFiles[] = utf8_decode($path); } else { $this->nameTestFiles[] = $path; } } } $this->fileCount++; } //Dirs else if ($value != "." && $value != "..") { if (!$this->isLink($path) && $this->recursion) { $this->Run($path, $results); } if (!is_readable($path)) { $results[] = $path; $this->unreadable[] = $path; } else if ($this->isLink($path)) { $results[] = $path; $this->symLinks[] = $path; } else { $invalid_test = strlen($path) > 244 || trim($path) == '' || preg_match('/[^\x20-\x7f]/', $path); if ($invalid_test) { if (! DUP_Util::$PHP7_plus && DUP_Util::isWindows()) { $this->nameTestDirs[] = utf8_decode($path); } else { $this->nameTestDirs[] = $path; } } } $this->dirCount++; } } } } return $this; } /** * Separation logic for supporting how different operating systems work * * @param string $target A valid file path * * @return bool Is the target a sym link */ private function isLink($target) { //Currently Windows does not support sym-link detection if ($this->isWindows) { return false; } elseif (is_link($target)) { return true; } return false; } }
Edit
Rename
Chmod
Delete
FILE
FOLDER
Name
Size
Permission
Action
JsonSerializable.php
577 bytes
0644
LimitStream.php
4209 bytes
0644
article-modified-time-presenter.php
609 bytes
0644
base.php
2793 bytes
0644
class-sitemaps-admin.php
3665 bytes
0644
class-tracking-server-data.php
1989 bytes
0644
class-wpseo-statistics.php
1443 bytes
0644
class.archive.config.php
1364 bytes
0644
class.db.php
7236 bytes
0644
class.pack.database.php
30838 bytes
0644
class.snaplib.u.net.php
1831 bytes
0644
class.u.json.php
4832 bytes
0644
class.u.multisite-20260622063853.php
907 bytes
0644
class.u.multisite.php
907 bytes
0644
class.u.php
27146 bytes
0644
class.u.scancheck.php
5179 bytes
0644
class.u.shell.php
1322 bytes
0644
class.u.string-20260623090340.php
3081 bytes
0644
class.u.string.php
3081 bytes
0644
class.u.validator.php
5903 bytes
0644
class.u.zip.php
6054 bytes
0644
class.web.services.php
7748 bytes
0644
ctrl.package.php
17073 bytes
0644
define.php
4567 bytes
0644
elFinderPlugin-20260705182242.php
3331 bytes
0644
elFinderPlugin.php
3331 bytes
0644
elFinderVolumeLocalFileSystem.class-20260623050500-20260705194237.php
48544 bytes
0644
elFinderVolumeLocalFileSystem.class-20260623050500.php
48544 bytes
0644
elFinderVolumeLocalFileSystem.class.php
48544 bytes
0644
exceptions.php
708 bytes
0644
flexible-widget.php
11167 bytes
0644
image-helper.php
10231 bytes
0644
index.php
14 bytes
0644
loco.php
5626 bytes
0644
loco.xml
657 bytes
0644
manager.php
14659 bytes
0644
meta-fields-presenter.php
1600 bytes
0644
module.php
1297 bytes
0644
quick-edit-handler-1650.js
1848 bytes
0644
recovery.php
1146 bytes
0644
setup.php
2699 bytes
0644
uninstall.php
4401 bytes
0644
wordpress-seojs-ar.json
25925 bytes
0644
wordpress-seojs-uk.json
26506 bytes
0644
N4ST4R_ID | Naxtarrr