/** * @inheritDoc BaseAssetSourceType::getNameReplacementInFolder() * * @param AssetFolderModel $folder * @param string $fileName * * @return mixed */ protected function getNameReplacementInFolder(AssetFolderModel $folder, $fileName) { $prefix = $this->_getPathPrefix() . $folder->path; $this->_prepareForRequests(); $fileList = $this->_s3->getBucket($this->getSettings()->bucket, $prefix); foreach ($fileList as &$file) { $file = preg_replace('/^' . preg_quote($prefix, '/') . '/', '', $file['name']); } // Drop all the paths that have subfolders. $fileList = array_filter($fileList, function ($file) { return !(strpos($file, '/') !== false || empty($file)); }); return AssetsHelper::getFilenameReplacement($fileList, $fileName); }
/** * @inheritDoc BaseAssetSourceType::getNameReplacementInFolder() * * @param AssetFolderModel $folder * @param string $fileName * * @return string */ protected function getNameReplacementInFolder(AssetFolderModel $folder, $fileName) { $fileList = IOHelper::getFolderContents($this->getSourceFileSystemPath() . $folder->path, false); if (is_array($fileList)) { foreach ($fileList as &$file) { $file = IOHelper::getFileName($file); } } else { throw new Exception(Craft::t('The folder “{folder}” cannot be read.', array('folder' => $this->getSourceFileSystemPath() . $folder->path))); } return AssetsHelper::getFilenameReplacement($fileList, $fileName); }
/** * @inheritDoc BaseAssetSourceType::getNameReplacementInFolder() * * @param AssetFolderModel $folder * @param string $fileName * * @return string */ protected function getNameReplacementInFolder(AssetFolderModel $folder, $fileName) { $fileList = IOHelper::getFolderContents($this->getSourceFileSystemPath() . $folder->path, false); foreach ($fileList as &$file) { $file = IOHelper::getFileName($file); } return AssetsHelper::getFilenameReplacement($fileList, $fileName); }
/** * @inheritDoc BaseAssetSourceType::getNameReplacementInFolder() * * @param AssetFolderModel $folder * @param string $fileName * * @return string */ protected function getNameReplacementInFolder(AssetFolderModel $folder, $fileName) { $baseFileName = IOHelper::getFileName($fileName, false); $prefix = $this->_getPathPrefix() . $folder->path; $fileList = $this->_getFileList($prefix . $baseFileName); foreach ($fileList as &$file) { $file = preg_replace('/^' . preg_quote($prefix, '/') . '/', '', $file->name); } // Drop all the paths that have subfolders. $fileList = array_filter($fileList, function ($file) { return !(strpos($file, '/') !== false || empty($file)); }); return AssetsHelper::getFilenameReplacement($fileList, $fileName); }