OXIESEC PANEL
- Current Dir:
/
/
usr
/
share
/
php
/
Composer
/
Package
/
Archiver
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
07/20/2024 06:32:22 AM
rwxr-xr-x
📄
ArchivableFilesFilter.php
990 bytes
01/31/2018 03:28:18 PM
rw-r--r--
📄
ArchivableFilesFinder.php
2.82 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
ArchiveManager.php
5.94 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
ArchiverInterface.php
1.24 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
BaseExcludeFilter.php
3.9 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
ComposerExcludeFilter.php
858 bytes
01/31/2018 03:28:18 PM
rw-r--r--
📄
GitExcludeFilter.php
2.03 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
HgExcludeFilter.php
2.73 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
PharArchiver.php
2.8 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
ZipArchiver.php
1.95 KB
01/31/2018 03:28:18 PM
rw-r--r--
Editing: ArchivableFilesFinder.php
Close
<?php /* * This file is part of Composer. * * (c) Nils Adermann <naderman@naderman.de> * Jordi Boggiano <j.boggiano@seld.be> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Composer\Package\Archiver; use Composer\Util\Filesystem; use FilesystemIterator; use Symfony\Component\Finder\Finder; use Symfony\Component\Finder\SplFileInfo; /** * A Symfony Finder wrapper which locates files that should go into archives * * Handles .gitignore, .gitattributes and .hgignore files as well as composer's * own exclude rules from composer.json * * @author Nils Adermann <naderman@naderman.de> */ class ArchivableFilesFinder extends \FilterIterator { /** * @var Finder */ protected $finder; /** * Initializes the internal Symfony Finder with appropriate filters * * @param string $sources Path to source files to be archived * @param array $excludes Composer's own exclude rules from composer.json * @param bool $ignoreFilters Ignore filters when looking for files */ public function __construct($sources, array $excludes, $ignoreFilters = false) { $fs = new Filesystem(); $sources = $fs->normalizePath($sources); if ($ignoreFilters) { $filters = array(); } else { $filters = array( new HgExcludeFilter($sources), new GitExcludeFilter($sources), new ComposerExcludeFilter($sources, $excludes), ); } $this->finder = new Finder(); $filter = function (\SplFileInfo $file) use ($sources, $filters, $fs) { if ($file->isLink() && strpos($file->getLinkTarget(), $sources) !== 0) { return false; } $relativePath = preg_replace( '#^'.preg_quote($sources, '#').'#', '', $fs->normalizePath($file->getRealPath()) ); $exclude = false; foreach ($filters as $filter) { $exclude = $filter->filter($relativePath, $exclude); } return !$exclude; }; if (method_exists($filter, 'bindTo')) { $filter = $filter->bindTo(null); } $this->finder ->in($sources) ->filter($filter) ->ignoreVCS(true) ->ignoreDotFiles(false); parent::__construct($this->finder->getIterator()); } public function accept() { /** @var SplFileInfo $current */ $current = $this->getInnerIterator()->current(); if (!$current->isDir()) { return true; } $iterator = new FilesystemIterator($current, FilesystemIterator::SKIP_DOTS); return !$iterator->valid(); } }