if($this->getRequest()->getParam('id') && (!isset($_FILES['filename']['name']) || $_FILES['filename']['name'] == '')){ $file = $model->getFilename(); $model->setFilename($file['value']); } if($data['filename']['delete']==1) $model->setFilename(''); if($this->getRequest()->getParam('id') && (!isset($_FILES['dronimage']['name']) || $_FILES['dronimage']['name'] == '')){ $file = $model->getDronimage(); $model->setDronimage($file['value']); } if($data['dronimage']['delete']==1) $model->setDronimage('');
Full Page code
app/code/local/Webskitters/Banner/controllers/Adminhtml/BannerController.php
<?php class Webskitters_Banner_Adminhtml_BannerController extends Mage_Adminhtml_Controller_action { protected function _initAction() { $this->loadLayout() ->_setActiveMenu('banner/items') ->_addBreadcrumb(Mage::helper('adminhtml')->__('Items Manager'), Mage::helper('adminhtml')->__('Item Manager')); return $this; } public function indexAction() { $this->_initAction() ->renderLayout(); } public function editAction() { $id = $this->getRequest()->getParam('id'); $model = Mage::getModel('banner/banner')->load($id); if ($model->getId() || $id == 0) { $data = Mage::getSingleton('adminhtml/session')->getFormData(true); if (!empty($data)) { $model->setData($data); } Mage::register('banner_data', $model); $this->loadLayout(); $this->_setActiveMenu('banner/items'); $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Item Manager'), Mage::helper('adminhtml')->__('Item Manager')); $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Item News'), Mage::helper('adminhtml')->__('Item News')); $this->getLayout()->getBlock('head')->setCanLoadExtJs(true); $this->_addContent($this->getLayout()->createBlock('banner/adminhtml_banner_edit')) ->_addLeft($this->getLayout()->createBlock('banner/adminhtml_banner_edit_tabs')); $this->renderLayout(); } else { Mage::getSingleton('adminhtml/session')->addError(Mage::helper('banner')->__('Item does not exist')); $this->_redirect('*/*/'); } } public function newAction() { $this->_forward('edit'); } public function saveAction() { if ($data = $this->getRequest()->getPost()) { 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 as the upload dir $path = Mage::getBaseDir('media') . DS ; $uploader->save($path, $_FILES['filename']['name'] ); } catch (Exception $e) { } //this way the name is saved in DB $data['filename'] = $_FILES['filename']['name']; } if(isset($_FILES['dronimage']['name']) && $_FILES['dronimage']['name'] != '') { try { /* Starting upload */ $uploader = new Varien_File_Uploader('dronimage'); // 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 as the upload dir $path = Mage::getBaseDir('media') . DS ; $uploader->save($path, $_FILES['dronimage']['name'] ); } catch (Exception $e) { } //this way the name is saved in DB $data['dronimage'] = $_FILES['dronimage']['name']; } $model = Mage::getModel('banner/banner'); $model->setData($data) ->setId($this->getRequest()->getParam('id')); if($this->getRequest()->getParam('id') && (!isset($_FILES['filename']['name']) || $_FILES['filename']['name'] == '')){ $file = $model->getFilename(); $model->setFilename($file['value']); } if($data['filename']['delete']==1) $model->setFilename(''); if($this->getRequest()->getParam('id') && (!isset($_FILES['dronimage']['name']) || $_FILES['dronimage']['name'] == '')){ $file = $model->getDronimage(); $model->setDronimage($file['value']); } if($data['dronimage']['delete']==1) $model->setDronimage(''); 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('banner')->__('Item 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('banner')->__('Unable to find item to save')); $this->_redirect('*/*/'); } public function deleteAction() { if( $this->getRequest()->getParam('id') > 0 ) { try { $model = Mage::getModel('banner/banner'); $model->setId($this->getRequest()->getParam('id')) ->delete(); Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('adminhtml')->__('Item was successfully deleted')); $this->_redirect('*/*/'); } catch (Exception $e) { Mage::getSingleton('adminhtml/session')->addError($e->getMessage()); $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id'))); } } $this->_redirect('*/*/'); } public function massDeleteAction() { $bannerIds = $this->getRequest()->getParam('banner'); if(!is_array($bannerIds)) { Mage::getSingleton('adminhtml/session')->addError(Mage::helper('adminhtml')->__('Please select item(s)')); } else { try { foreach ($bannerIds as $bannerId) { $banner = Mage::getModel('banner/banner')->load($bannerId); $banner->delete(); } Mage::getSingleton('adminhtml/session')->addSuccess( Mage::helper('adminhtml')->__( 'Total of %d record(s) were successfully deleted', count($bannerIds) ) ); } catch (Exception $e) { Mage::getSingleton('adminhtml/session')->addError($e->getMessage()); } } $this->_redirect('*/*/index'); } public function massStatusAction() { $bannerIds = $this->getRequest()->getParam('banner'); if(!is_array($bannerIds)) { Mage::getSingleton('adminhtml/session')->addError($this->__('Please select item(s)')); } else { try { foreach ($bannerIds as $bannerId) { $banner = Mage::getSingleton('banner/banner') ->load($bannerId) ->setStatus($this->getRequest()->getParam('status')) ->setIsMassupdate(true) ->save(); } $this->_getSession()->addSuccess( $this->__('Total of %d record(s) were successfully updated', count($bannerIds)) ); } catch (Exception $e) { $this->_getSession()->addError($e->getMessage()); } } $this->_redirect('*/*/index'); } public function exportCsvAction() { $fileName = 'banner.csv'; $content = $this->getLayout()->createBlock('banner/adminhtml_banner_grid') ->getCsv(); $this->_sendUploadResponse($fileName, $content); } public function exportXmlAction() { $fileName = 'banner.xml'; $content = $this->getLayout()->createBlock('banner/adminhtml_banner_grid') ->getXml(); $this->_sendUploadResponse($fileName, $content); } protected function _sendUploadResponse($fileName, $content, $contentType='application/octet-stream') { $response = $this->getResponse(); $response->setHeader('HTTP/1.1 200 OK',''); $response->setHeader('Pragma', 'public', true); $response->setHeader('Cache-Control', 'must-revalidate, post-check=0, pre-check=0', true); $response->setHeader('Content-Disposition', 'attachment; filename='.$fileName); $response->setHeader('Last-Modified', date('r')); $response->setHeader('Accept-Ranges', 'bytes'); $response->setHeader('Content-Length', strlen($content)); $response->setHeader('Content-type', $contentType); $response->setBody($content); $response->sendResponse(); die; } }
0 Comments