/** * 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; }
/** * 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; }