Пример #1
0
 /**
  * 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;
 }
Пример #2
0
 /**
  * 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;
 }
Пример #3
0
 /**
  * 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;
 }
Пример #4
0
 /**
  * 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();
 }
Пример #5
0
 /**
  * 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();
 }