Your IP : 216.73.216.43


Current Path : /home/rtorresani/www/vendor/magento/module-cms/Model/Wysiwyg/Images/Storage/
Upload File :
Current File : //home/rtorresani/www/vendor/magento/module-cms/Model/Wysiwyg/Images/Storage/Collection.php

<?php
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */

namespace Magento\Cms\Model\Wysiwyg\Images\Storage;

use Magento\Framework\App\Filesystem\DirectoryList;
use Magento\Framework\Exception\FileSystemException;

/**
 * Wysiwyg Images storage collection
 *
 * @api
 * @since 100.0.2
 */
class Collection extends \Magento\Framework\Data\Collection\Filesystem
{
    /**
     * @var \Magento\Framework\Filesystem
     */
    protected $_filesystem;

    /**
     * @param \Magento\Framework\Data\Collection\EntityFactory $entityFactory
     * @param \Magento\Framework\Filesystem $filesystem
     */
    public function __construct(
        \Magento\Framework\Data\Collection\EntityFactory $entityFactory,
        \Magento\Framework\Filesystem $filesystem
    ) {
        $this->_filesystem = $filesystem;
        parent::__construct($entityFactory, $filesystem);
    }

    /**
     * Generate row
     *
     * @param string $filename
     * @return array
     */
    protected function _generateRow($filename)
    {
        $filename = $filename !== null ?
            preg_replace('~[/\\\]+(?<![htps?]://)~', '/', $filename) : '';
        $path = $this->_filesystem->getDirectoryWrite(DirectoryList::MEDIA);
        try {
            $mtime = $path->stat($path->getRelativePath($filename))['mtime'];
        } catch (FileSystemException $e) {
            $mtime = 0;
        }
        return [
            'filename' => rtrim($filename, '/'),
            // phpcs:ignore Magento2.Functions.DiscouragedFunction
            'basename' => basename($filename),
            'mtime' => $mtime
        ];
    }
}