public function saveAction() { $data = $this->getRequest()->getParams(); $uploader = new Mage_Core_Model_File_Uploader('file'); $uploader->setAllowedExtensions(array('csv')); $uploader->setAllowRenameFiles(true); $path = Mage::getBaseDir('var') . DS . 'import'; if (!file_exists($path)) { mkdir($path, 0777); } try { $result = $uploader->save($path); $fullPath = $result['path'] . DS . $result['file']; $csv = new Varien_File_Csv(); $data = $csv->getData($fullPath); $items = array(); if (count($data) > 1) { for ($i = 1; $i < count($data); $i++) { $item = array(); for ($j = 0; $j < count($data[0]); $j++) { if (isset($data[$i][$j]) && trim($data[$i][$j]) != '') { $item[strtolower($data[0][$j])] = $data[$i][$j]; } } $items[] = $item; } } $resource = Mage::getSingleton('core/resource'); $writeConnection = $resource->getConnection('core_write'); $table = $resource->getTableName('seoautolink/link'); $table2 = $resource->getTableName('seoautolink/link_store'); $i = 0; foreach ($items as $item) { if (!isset($item['keyword'])) { continue; } $item = new Varien_Object($item); $query = "REPLACE {$table} SET\n keyword = '" . addslashes($item->getKeyword()) . "',\n url = '" . addslashes($item->getUrl()) . "',\n url_title = '" . addslashes($item->getUrlTitle()) . "',\n url_target = '" . addslashes($item->getUrlTarget()) . "',\n is_nofollow = '" . (int) $item->getIsNofollow() . "',\n max_replacements = '" . (int) $item->getMaxReplacements() . "',\n sort_order = '" . (int) $item->getSortOrder() . "',\n occurence = '" . (int) $item->getOccurence() . "',\n is_active = '" . (int) $item->getIsActive() . "',\n created_at = '" . now() . "',\n updated_at = '" . now() . "';\n REPLACE {$table2} SET\n store_id = '" . (int) $item->getStoreId() . "',\n link_id = LAST_INSERT_ID();\n "; $writeConnection->query($query); $i++; } Mage::getSingleton('adminhtml/session')->addSuccess('' . $i . ' records were inserted or updated'); } catch (Exception $e) { Mage::getSingleton('adminhtml/session')->addError($e->getMessage()); } $this->_redirect('*/*/'); }