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