File ManagerCurrent Directory: wp-content/plugins/wp-migrate-db/class/Common/Transfers/FilesLinux appserver-0d5e4f1e-php-cc8da225320a42ba9b7d66cba40b1f03 6.6.123+ #1 SMP PREEMPT_DYNAMIC Wed Mar 11 09:04:28 UTC 2026 x86_64Edit File: Excludes.php <?php namespace DeliciousBrains\WPMDB\Common\Transfers\Files; /** * Class Excludes * * @package WPMDB\Transfers\Excludes */ class Excludes { public $excludes; public function __construct() {} /** * * Given an array of paths, check if $filePath matches * * * @param string $filePath * @param array $excludes * * @return array */ public static function shouldExcludeFile( $filePath, $excludes ) { $matches = []; if ( empty( $excludes ) || ! \is_array( $excludes ) ) { return $matches; } foreach ( $excludes as $pattern ) { $include = false; if ( empty( $pattern ) ) { continue; } // If pattern starts with an exclamation mark remove exclamation mark and check if pattern matches current file path if ( 0 === strpos( $pattern, '!' ) ) { $pattern = ltrim( $pattern, '!' ); $include = true; } if ( self::pathMatches( $filePath, $pattern ) ) { $type = $include ? 'include' : 'exclude'; $matches[ $type ][ $filePath ][] = $pattern; } } // If the file should be included (based on the '!' character) none of the matched exclusion patterns matter if ( ! empty( $matches['include'] ) ) { $matches['exclude'] = []; } return $matches; } /** * * Convert glob pattern to regex * https://stackoverflow.com/a/13914119/130596 * * @param $path * @param $pattern * @param bool $ignoreCase * * @return bool */ public static function pathMatches( $path, $pattern, $ignoreCase = false ) { $expr = preg_replace_callback( '/[\\\\^$.[\\]|()?*+{}\\-\\/]/', function ( $matches ) { switch ( $matches[0] ) { case '*': return '.*'; case '?': return '.'; default: return '\\' . $matches[0]; } }, $pattern ); $expr = '/' . $expr . '/'; if ( $ignoreCase ) { $expr .= 'i'; } return (bool) preg_match( $expr, $path ); } } Upload File Directory Listing NameTypeSizeActions.. (Parent Directory)DirChunker.phpFile4.33 KB Rename | Delete | EditExcludes.phpFile1.86 KB Rename | Delete | EditFileProcessor.phpFile10.03 KB Rename | Delete | EditFiltersDirectory Rename | DeletePluginHelper.phpFile10.12 KB Rename | Delete | EditTransferManager.phpFile1.58 KB Rename | Delete | EditUtil.phpFile24.41 KB Rename | Delete | Edit