Example #1
0
 public static function getNewFileName($destFile, $file = null)
 {
     if (!Mage::getStoreConfigFlag('magefm_cdn/general/enabled')) {
         return parent::getNewFileName($destFile);
     }
     if (is_null($file)) {
         Mage::throwException('Can\'t convert filename.');
     }
     if (!Mage::helper('magefm_cdn/storage')->fileExists($destFile . '/' . $file)) {
         return $file;
     }
     $ext = null;
     $i = 0;
     if (preg_match('#(.*)\\.([a-z0-9_-]*)$#', $file, $matches)) {
         $name = $matches[1];
         $ext = $matches[2];
     } else {
         $name = $file;
     }
     do {
         $i++;
         $fileName = "{$name}_{$i}" . (is_null($ext) ? '' : '.' . $ext);
     } while (Mage::helper('magefm_cdn/storage')->fileExists($destFile . '/' . $fileName));
     return $fileName;
 }
Example #2
0
 public function prepareForSave($data)
 {
     $this->_deleteFile = (bool) $data['delete'];
     if ($this->_deleteFile) {
         return '';
     }
     $fileName = !empty($data['value']) ? $data['value'] : $data['existing'];
     return Mage_Core_Model_File_Uploader::getNewFileName(strtolower($fileName));
 }
Example #3
0
 /**
  * Get filename which is not duplicated with other files in media temporary and media directories
  *
  * @param String $fileName
  * @param String $dispretionPath
  * @return String
  */
 protected function _getNotDuplicatedFilename($fileName, $dispretionPath)
 {
     $fileMediaName = $dispretionPath . DS . Mage_Core_Model_File_Uploader::getNewFileName($this->_getConfig()->getMediaPath($fileName));
     $fileTmpMediaName = $dispretionPath . DS . Mage_Core_Model_File_Uploader::getNewFileName($this->_getConfig()->getTmpMediaPath($fileName));
     if ($fileMediaName != $fileTmpMediaName) {
         if ($fileMediaName != $fileName) {
             return $this->_getNotDuplicatedFileName($fileMediaName, $dispretionPath);
         } elseif ($fileTmpMediaName != $fileName) {
             return $this->_getNotDuplicatedFilename($fileTmpMediaName, $dispretionPath);
         }
     }
     return $fileMediaName;
 }
Example #4
0
 /**
  * Move file from tmp path to base path
  *
  * @param string $baseTmpPath
  * @param string $basePath
  * @param string $file
  * @return string
  */
 protected function _moveFileFromTmp($baseTmpPath, $basePath, $file)
 {
     $ioObject = new Varien_Io_File();
     $destDirectory = dirname($this->getFilePath($basePath, $file));
     try {
         $ioObject->open(array('path' => $destDirectory));
     } catch (Exception $e) {
         $ioObject->mkdir($destDirectory, 0777, true);
         $ioObject->open(array('path' => $destDirectory));
     }
     if (strrpos($file, '.tmp') == strlen($file) - 4) {
         $file = substr($file, 0, strlen($file) - 4);
     }
     $destFile = dirname($file) . $ioObject->dirsep() . Mage_Core_Model_File_Uploader::getNewFileName($this->getFilePath($basePath, $file));
     Mage::helper('Mage_Core_Helper_File_Storage_Database')->copyFile($this->getFilePath($baseTmpPath, $file), $this->getFilePath($basePath, $destFile));
     $result = $ioObject->mv($this->getFilePath($baseTmpPath, $file), $this->getFilePath($basePath, $destFile));
     return str_replace($ioObject->dirsep(), '/', $destFile);
 }
Example #5
0
 /**
  * Check whether file to move exists. Getting unique name
  *
  * @param <type> $file
  * @param <type> $dirsep
  * @return string
  */
 protected function _getUniqueFileName($file, $dirsep)
 {
     if ($this->_checkDb()) {
         $destFile = Mage::helper('core/file_storage_database')->getUniqueFilename(Mage::getSingleton('catalog/product_media_config')->getBaseMediaUrlAddition(), $file);
     } else {
         $destFile = dirname($file) . $dirsep;
         if (version_compare(Mage::getVersion(), '1.5') > 0) {
             $destFile .= Mage_Core_Model_File_Uploader::getNewFileName($this->_getConfig()->getMediaPath($file));
         } else {
             $destFile .= Varien_File_Uploader::getNewFileName($this->_getConfig()->getMediaPath($file));
         }
     }
     return $destFile;
 }
 /**
  * Check whether file to move exists. Getting unique name
  *
  * @param string  $file
  * @param  string $dirsep
  * @return string
  */
 protected function _getUniqueFileName($file, $dirsep)
 {
     if (Mage::helper('core/file_storage_database')->checkDbUsage()) {
         $destFile = Mage::helper('core/file_storage_database')->getUniqueFilename($this->_getConfig()->getBaseMediaUrlAddition(), $file);
     } else {
         $destFile = dirname($file) . $dirsep . Mage_Core_Model_File_Uploader::getNewFileName($this->_getConfig()->getMediaPath($file));
     }
     return $destFile;
 }