/home/sharedstore/public_html/prestashop.sharedstore.ma/src/Core/File
Edit: /home/sharedstore/public_html/prestashop.sharedstore.ma/src/Core/File/InvoiceModelFinder.php (2280B)
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*/
namespace PrestaShop\PrestaShop\Core\File;
use Symfony\Component\Filesystem\Filesystem;
use Symfony\Component\Finder\Finder;
/**
* Class InvoiceModelFinder finds invoice model files.
*/
final class InvoiceModelFinder implements FileFinderInterface
{
/**
* @var array
*/
private $invoiceModelDirectories;
/**
* @param array $invoiceModelDirectories
*/
public function __construct(array $invoiceModelDirectories)
{
$this->invoiceModelDirectories = $invoiceModelDirectories;
}
/**
* Finds all invoice model files.
*
* @return array
*/
public function find()
{
$directories = $this->invoiceModelDirectories;
$filesystem = new Filesystem();
foreach ($directories as $key => $directory) {
if (!$filesystem->exists($directory)) {
unset($directories[$key]);
}
}
$finder = new Finder();
$finder->files()
->in($directories)
->name('invoice-*.tpl');
$fileNames = [];
foreach ($finder as $file) {
$fileNames[] = $file->getFilename();
}
return $fileNames;
}
}