/** * Insert data (Step 2) * * @param Pimgento_Core_Model_Task $task * * @return bool * @throws Exception */ public function insertData($task) { $file = $task->getFile(); $lines = $this->getRequest()->insertDataFromFile($this->getCode(), $file); if (!$lines) { $task->error(Mage::helper('pimgento_product')->__('No data to insert, verify the file is not empty or CSV configuration is correct')); } $task->setMessage(Mage::helper('pimgento_product')->__('%s lines found', $lines)); return true; }
/** * Download Images (Step 6) * * @param Pimgento_Core_Model_Task $task * * @return bool */ public function downloadImages($task) { $adapter = $this->getAdapter(); $ftp = null; try { $connexion = Mage::getStoreConfig('pimdata/asset/connexion'); if ($connexion == 'ftp') { /* @var $ftp Varien_Io_Ftp */ $ftp = new Varien_Io_Ftp(); $config = array('host' => Mage::getStoreConfig('pimdata/asset/host'), 'user' => Mage::getStoreConfig('pimdata/asset/user'), 'password' => Mage::getStoreConfig('pimdata/asset/password')); if (Mage::getStoreConfig('pimdata/asset/directory')) { $config['path'] = Mage::getStoreConfig('pimdata/asset/directory'); } if (Mage::getStoreConfig('pimdata/asset/passive')) { $config['passive'] = true; } $ftp->open($config); } else { if ($connexion == 'sftp') { /* @var $ftp Varien_Io_Sftp */ $ftp = new Varien_Io_Sftp(); $config = array('host' => Mage::getStoreConfig('pimdata/asset/host'), 'username' => Mage::getStoreConfig('pimdata/asset/user'), 'password' => Mage::getStoreConfig('pimdata/asset/password')); $ftp->open($config); if (Mage::getStoreConfig('pimdata/asset/directory')) { $ftp->cd(Mage::getStoreConfig('pimdata/asset/directory')); } } else { $task->error(Mage::helper('pimgento_asset')->__('Connexion type %s is not authorised', $connexion)); } } if ($ftp) { $select = $adapter->select()->from($adapter->getTableName('pimgento_asset'), array('file', 'image')); $query = $adapter->query($select); $directory = Mage::helper('pimgento_asset')->getBaseMediaPath(); while ($row = $query->fetch()) { $dir = dirname($directory . $row['image']); if (!is_dir($dir)) { mkdir($dir, 0777, true); } $ftp->read($row['file'], $directory . $row['image']); } $ftp->close(); } } catch (Exception $e) { $task->error(Mage::helper('pimgento_asset')->__($e->getMessage())); } return true; }