/** * Return content of default robot.txt * * @return bool|string */ protected function _getDefaultValue() { if ($this->_directory->isFile($this->_file)) { return $this->_directory->readFile($this->_file); } return false; }
/** * Get files collection * * @return array */ public function getFilesCollection() { $paths = $this->mediaWriteDirectory->search('.*', $this->_helper->getCurrentPath()); $files = []; $requestParams = $this->_helper->getRequestParams(); $storageType = $this->_helper->getStorageType(); foreach ($paths as $path) { if (!$this->mediaWriteDirectory->isFile($path)) { continue; } $fileName = pathinfo($path, PATHINFO_BASENAME); $file = ['text' => $fileName, 'id' => $this->urlEncoder->encode($fileName)]; if (self::TYPE_IMAGE == $storageType) { $requestParams['file'] = $fileName; $file['thumbnailParams'] = $requestParams; $size = @getimagesize($path); if (is_array($size)) { $file['width'] = $size[0]; $file['height'] = $size[1]; } } $files[] = $file; } return $files; }
/** * Create thumbnail for image and save it to thumbnails directory * * @param string $source Image path to be resized * @param bool $keepRation Keep aspect ratio or not * @return bool|string Resized filepath or false if errors were occurred */ public function resizeFile($source, $keepRation = true) { $realPath = $this->_directory->getRelativePath($source); if (!$this->_directory->isFile($realPath) || !$this->_directory->isExist($realPath)) { return false; } $targetDir = $this->getThumbsPath($source); $pathTargetDir = $this->_directory->getRelativePath($targetDir); if (!$this->_directory->isExist($pathTargetDir)) { $this->_directory->create($pathTargetDir); } if (!$this->_directory->isExist($pathTargetDir)) { return false; } $image = $this->_imageFactory->create(); $image->open($source); $image->keepAspectRatio($keepRation); $image->resize($this->_resizeParameters['width'], $this->_resizeParameters['height']); $dest = $targetDir . '/' . pathinfo($source, PATHINFO_BASENAME); $image->save($dest); if ($this->_directory->isFile($this->_directory->getRelativePath($dest))) { return $dest; } return false; }
/** * Constructor * * @param \Magento\Framework\App\Filesystem $filesystem * @param string|null $destination * @throws \Magento\Framework\Model\Exception */ public function __construct(\Magento\Framework\App\Filesystem $filesystem, $destination = null) { $this->_directoryHandle = $filesystem->getDirectoryWrite(\Magento\Framework\App\Filesystem::SYS_TMP_DIR); if (!$destination) { $destination = uniqid('importexport_'); $this->_directoryHandle->touch($destination); } if (!is_string($destination)) { throw new \Magento\Framework\Model\Exception(__('Destination file path must be a string')); } if (!$this->_directoryHandle->isWritable()) { throw new \Magento\Framework\Model\Exception(__('Destination directory is not writable')); } if ($this->_directoryHandle->isFile($destination) && !$this->_directoryHandle->isWritable($destination)) { throw new \Magento\Framework\Model\Exception(__('Destination file is not writable')); } $this->_destination = $destination; $this->_init(); }
/** * Constructor * * @param Filesystem $filesystem * @param string|null $destination * @param string $destinationDirectoryCode * @throws \Magento\Framework\Exception\LocalizedException */ public function __construct(\Magento\Framework\Filesystem $filesystem, $destination = null, $destinationDirectoryCode = DirectoryList::SYS_TMP) { $this->_directoryHandle = $filesystem->getDirectoryWrite($destinationDirectoryCode); if (!$destination) { $destination = uniqid('importexport_'); $this->_directoryHandle->touch($destination); } if (!is_string($destination)) { throw new \Magento\Framework\Exception\LocalizedException(__('The destination file path must be a string.')); } if (!$this->_directoryHandle->isWritable()) { throw new \Magento\Framework\Exception\LocalizedException(__('The destination directory is not writable.')); } if ($this->_directoryHandle->isFile($destination) && !$this->_directoryHandle->isWritable($destination)) { throw new \Magento\Framework\Exception\LocalizedException(__('Destination file is not writable')); } $this->_destination = $destination; $this->_init(); }