Пример #1
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, $keepRatio = true)
 {
     if (!Mage::helper('uaudio_storage')->isEnabled()) {
         return parent::resizeFile($source, $keepRatio);
     }
     if (!$this->_getStorageModel()->fileExists($source)) {
         return false;
     }
     try {
         $targetFile = str_replace('//', '/', $this->getThumbsPath($source)) . DS . pathinfo($source, PATHINFO_BASENAME);
         if (!$this->_getStorageModel()->fileExists($targetFile)) {
             $tmpName = $this->_getStorageModel()->copyFileToTmp($source);
             $image = Varien_Image_Adapter::factory('GD2');
             $image->open($tmpName);
             $width = $this->getConfigData('resize_width');
             $height = $this->getConfigData('resize_height');
             $image->keepAspectRatio($keepRatio);
             $image->resize($width, $height);
             $image->save($tmpName);
             $dest = $this->_getStorageModel()->moveFile($tmpName, $targetFile);
             return $dest;
         } else {
             return $this->_getStorageModel()->getRelativeDestination($targetFile);
         }
     } catch (Exception $e) {
         Mage::logException($e);
         return false;
     }
 }
Пример #2
0
 public function resizeFile($source, $keepRatio = true)
 {
     if ($dest = parent::resizeFile($source, $keepRatio)) {
         if ($this->getS3Helper()->checkS3Usage()) {
             /** @var Arkade_S3_Model_Core_File_Storage_S3 $storageModel */
             $storageModel = $this->getS3Helper()->getStorageDatabaseModel();
             $filePath = ltrim(str_replace(Mage::getConfig()->getOptions()->getMediaDir(), '', $dest), DS);
             $storageModel->saveFile($filePath);
         }
     }
     return $dest;
 }