Beispiel #1
0
 /**
  * This overrides the original function and adds a check, that skips the import if the file
  * in the media/catalog/product directory is newer than the one in media/import.
  * @see Mage_ImportExport_Model_Import_Uploader::_moveFile()
  */
 protected function _moveFile($tmpPath, $destPath)
 {
     if (!$this->_isDuplicateAppendSuffix()) {
         return parent::_moveFile($tmpPath, $destPath);
     }
     $sourceFile = realpath($tmpPath);
     $destinationFile = realpath($destPath);
     if (file_exists($destinationFile)) {
         $sourceStats = stat($sourceFile);
         $destinationStats = stat($destinationFile);
         if ($sourceStats['mtime'] <= $destinationStats['mtime']) {
             return true;
         }
     }
     return $sourceFile !== false ? copy($sourceFile, $destPath) : false;
 }
Beispiel #2
0
 /**
  * Returns an object for upload a media files
  */
 protected function _getUploader()
 {
     if (is_null($this->_fileUploader)) {
         $this->_fileUploader = new Mage_ImportExport_Model_Import_Uploader();
         $this->_fileUploader->init();
         $tmpDir = Mage::getConfig()->getOptions()->getMediaDir() . '/import';
         $destDir = Mage::getConfig()->getOptions()->getMediaDir() . '/catalog/product';
         if (!is_writable($destDir)) {
             @mkdir($destDir, 0777, true);
         }
         if (!$this->_fileUploader->setTmpDir($tmpDir)) {
             Mage::throwException("File directory '{$tmpDir}' is not readable.");
         }
         if (!$this->_fileUploader->setDestDir($destDir)) {
             Mage::throwException("File directory '{$destDir}' is not writable.");
         }
     }
     return $this->_fileUploader;
 }
 /**
  * Returns an object for upload a media files
  */
 protected function _getUploader()
 {
     if (is_null($this->_fileUploader)) {
         $this->_fileUploader = new Mage_ImportExport_Model_Import_Uploader();
         $this->_fileUploader->init();
         $this->_fileUploader->removeValidateCallback('catalog_product_image');
         $this->_fileUploader->setFilesDispersion(false);
         $tmpDir = Mage::getConfig()->getOptions()->getMediaDir() . '/import';
         $destDir = Mage::getConfig()->getOptions()->getMediaDir() . '/catalog/category';
         if (!is_writable($destDir)) {
             @mkdir($destDir, 0777, true);
         }
         // diglin - add auto creation in case folder doesn't exist
         if (!file_exists($tmpDir)) {
             @mkdir($tmpDir, 0777, true);
         }
         if (!$this->_fileUploader->setTmpDir($tmpDir)) {
             Mage::throwException("File directory '{$tmpDir}' is not readable.");
         }
         if (!$this->_fileUploader->setDestDir($destDir)) {
             Mage::throwException("File directory '{$destDir}' is not writable.");
         }
     }
     return $this->_fileUploader;
 }