/** * @param Open_Gallery_Model_Item $item * @param Mage_Adminhtml_Controller_Action $controller * @return $this|Open_Gallery_Helper_Item_Interface * @throws Exception * @throws Mage_Core_Exception * @throws Open_Gallery_Exception */ public function prepareItemSave(Open_Gallery_Model_Item $item, Mage_Adminhtml_Controller_Action $controller) { parent::prepareItemSave($item, $controller); $data = $controller->getRequest()->getPost('item'); if (isset($data['value'], $data['value']['delete']) && !empty($data['value']['delete'])) { $item->deleteValueFile(); } else { if (isset($_FILES['item']['tmp_name']['value']) && $_FILES['item']['tmp_name']['value']) { try { $savedFilePath = $this->_saveFile('item[value]', array('jpg', 'jpeg', 'png', 'gif'), 'image'); $item->setData('value', $savedFilePath); } catch (Mage_Core_Exception $e) { throw $e; } catch (Exception $e) { Mage::logException($e); throw new Open_Gallery_Exception($this->__("Can't save image.")); } } } return $this; }
/** * @param Open_Gallery_Model_Item $item * @param Mage_Adminhtml_Controller_Action $controller * @return $this|Open_Gallery_Helper_Item_Interface * @throws Exception * @throws Mage_Core_Exception * @throws Open_Gallery_Exception */ public function prepareItemSave(Open_Gallery_Model_Item $item, Mage_Adminhtml_Controller_Action $controller) { parent::prepareItemSave($item, $controller); $data = $controller->getRequest()->getPost('item'); $additional = isset($data['additional']) && is_array($data['additional']) ? $data['additional'] : array(); switch ($additional['type']) { case self::VIDEO_TYPE_FILE: if (isset($data['additional_value_file'], $data['additional_value_file'], $data['additional_value_file']['delete']) && !empty($data['additional_value_file']['delete'])) { $item->deleteValueFile(); } else { if (isset($_FILES['item']['tmp_name']['additional_value_file']) && $_FILES['item']['tmp_name']['additional_value_file']) { $savedFilePath = $this->_saveFile('item[additional_value_file]', $item->getAllowedFormats(), 'video'); $additional['value_file'] = $savedFilePath; $item->setData('value', $savedFilePath); } } break; case self::VIDEO_TYPE_EMBEDDED: if (array_key_exists('value_embedded', $additional)) { $item->setData('value', $additional['value_embedded']); } break; case self::VIDEO_TYPE_YOUTUBE: if (array_key_exists('value_youtube', $additional)) { $item->setData('value', $additional['value_youtube']); } if (!$item->getData('thumbnail')) { if ($thumbnail = $this->getYouTubeImage($item->getData('value'))) { $item->setData('thumbnail', $thumbnail); } } break; } $item->setData('additional', $additional); return $this; }