public function saveAction() { $data = $this->getRequest()->getPost(); //DebugBreak(); //If the manufacturer already exits or not $collection = Mage::getModel('manufacturer/manufacturer')->getCollection()->addFieldToFilter('menufecturer_name', $data['menufecturer_name']); $manufacturer_data = $collection->getData(); if (count($collection) > 0 && $manufacturer_data[0]['status'] == 1 && $this->getRequest()->getParam('id') != $manufacturer_data[0]['manufacturer_id']) { $this->_forward('edit'); Mage::getSingleton('adminhtml/session')->addError(Mage::helper('adminhtml')->__('Manufacturer Already Exists')); //Mage::getSingleton('adminhtml/session')->setFormData(false); } else { if ($data) { if (isset($_FILES['filename']['name']) && $_FILES['filename']['name'] != '') { try { /* Starting upload */ $uploader = new Varien_File_Uploader('filename'); // Any extention would work $uploader->setAllowedExtensions(array('jpg', 'jpeg', 'gif', 'png')); $uploader->setAllowRenameFiles(false); // Set the file upload mode // false -> get the file directly in the specified folder // true -> get the file in the product like folders // (file.jpg will go in something like /media/f/i/file.jpg) $uploader->setFilesDispersion(false); // We set media/Manufacturer as the upload dir $path = Mage::getBaseDir('media') . DS . "Manufacturer" . DS; $uploader->save($path, str_replace(" ", "_", $_FILES['filename']['name'])); } catch (Exception $e) { } //If the uploaded file is not image it will mnot allow to save manufacturer $fileName = $_FILES['filename']['name']; $fileName = explode(".", $fileName); //this way the name is saved in DB try { if ($uploader->chechAllowedExtension($fileName[1])) { $data['filename'] = str_replace(" ", "_", $_FILES['filename']['name']); } else { Mage::getSingleton('adminhtml/session')->addError("Upload Image Files Only"); Mage::getSingleton('adminhtml/session')->setFormData($data); $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id'))); return; } } catch (Exception $e) { Mage::getSingleton('adminhtml/session')->addError($e->getMessage()); Mage::getSingleton('adminhtml/session')->setFormData($data); $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id'))); return; } } $model = Mage::getModel('manufacturer/manufacturer'); $model->setData($data)->setId($this->getRequest()->getParam('id')); try { if ($model->getCreatedTime == NULL || $model->getUpdateTime() == NULL) { $model->setCreatedTime(now())->setUpdateTime(now()); } else { $model->setUpdateTime(now()); } $model->save(); Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('manufacturer')->__('Manufacturer was successfully saved')); Mage::getSingleton('adminhtml/session')->setFormData(false); if ($this->getRequest()->getParam('back')) { $this->_redirect('*/*/edit', array('id' => $model->getId())); return; } $this->_redirect('*/*/'); return; } catch (Exception $e) { Mage::getSingleton('adminhtml/session')->addError($e->getMessage()); Mage::getSingleton('adminhtml/session')->setFormData($data); $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id'))); return; } } Mage::getSingleton('adminhtml/session')->addError(Mage::helper('manufacturer')->__('Unable to find manufacturer to save')); $this->_redirect('*/*/'); } }