Пример #1
0
 protected function _afterLoad(Mage_Core_Model_Abstract $object)
 {
     if ($object->getData('mapping_serialized')) {
         $object->setMapping(unserialize($object->getData('mapping_serialized')));
     }
     return parent::_afterLoad($object);
 }
 /**
  * Perform actions after object save
  *
  * @param Mage_Widget_Model_Widget_Instance $object
  * @return Mage_Widget_Model_Mysql4_Widget_Instance
  */
 protected function _afterSave(Mage_Core_Model_Abstract $object)
 {
     $pageTable = $this->getTable('widget/widget_instance_page');
     $pageLayoutTable = $this->getTable('widget/widget_instance_page_layout');
     $layoutUpdateTable = $this->getTable('core/layout_update');
     $layoutLinkTable = $this->getTable('core/layout_link');
     $write = $this->_getWriteAdapter();
     $select = $write->select()->from($pageTable, array('page_id'))->where('instance_id = ?', $object->getId());
     $pageIds = $write->fetchCol($select);
     $removePageIds = array_diff($pageIds, $object->getData('page_group_ids'));
     $select = $write->select()->from($pageLayoutTable, array('layout_update_id'))->where('page_id in (?)', $pageIds);
     $removeLayoutUpdateIds = $write->fetchCol($select);
     $this->_deleteWidgetInstancePages($removePageIds);
     $write->delete($pageLayoutTable, $write->quoteInto('page_id in (?)', $pageIds));
     $this->_deleteLayoutUpdates($removeLayoutUpdateIds);
     foreach ($object->getData('page_groups') as $pageGroup) {
         $pageLayoutUpdateIds = $this->_saveLayoutUpdates($object, $pageGroup);
         $data = array('group' => $pageGroup['group'], 'layout_handle' => $pageGroup['layout_handle'], 'block_reference' => $pageGroup['block_reference'], 'for' => $pageGroup['for'], 'entities' => $pageGroup['entities'], 'template' => $pageGroup['template']);
         $pageId = $pageGroup['page_id'];
         if (in_array($pageGroup['page_id'], $pageIds)) {
             $write->update($pageTable, $data, $write->quoteInto('page_id = ?', $pageId));
         } else {
             $write->insert($pageTable, array_merge(array('instance_id' => $object->getId()), $data));
             $pageId = $write->lastInsertId();
         }
         foreach ($pageLayoutUpdateIds as $layoutUpdateId) {
             $write->insert($pageLayoutTable, array('page_id' => $pageId, 'layout_update_id' => $layoutUpdateId));
         }
     }
     return parent::_afterSave($object);
 }
Пример #3
0
 /**
  *
  * @param Mage_Core_Model_Abstract $object
  */
 protected function _afterSave(Mage_Core_Model_Abstract $object)
 {
     $condition = $this->_getWriteAdapter()->quoteInto('slider_id = ?', $object->getId());
     // Stores
     $this->_getWriteAdapter()->delete($this->getTable('auguria_sliders/stores'), $condition);
     foreach ((array) $object->getData('stores') as $store) {
         $storeArray = array();
         $storeArray['slider_id'] = $object->getId();
         $storeArray['store_id'] = $store;
         $this->_getWriteAdapter()->insert($this->getTable('auguria_sliders/stores'), $storeArray);
     }
     // Cms pages
     $this->_getWriteAdapter()->delete($this->getTable('auguria_sliders/pages'), $condition);
     foreach ((array) $object->getData('pages') as $page) {
         $pageArray = array();
         $pageArray['slider_id'] = $object->getId();
         $pageArray['page_id'] = $page;
         $this->_getWriteAdapter()->insert($this->getTable('auguria_sliders/pages'), $pageArray);
     }
     // Category ids
     $this->_getWriteAdapter()->delete($this->getTable('auguria_sliders/categories'), $condition);
     foreach ((array) $object->getData('category_ids') as $category) {
         $categoryArray = array();
         $categoryArray['slider_id'] = $object->getId();
         $categoryArray['category_id'] = $category;
         $this->_getWriteAdapter()->insert($this->getTable('auguria_sliders/categories'), $categoryArray);
     }
     return parent::_afterSave($object);
 }
 /**
  * Lookup for parent_id in already saved transactions of this payment by the order_id
  * Also serialize additional information, if any
  *
  * @param Mage_Sales_Model_Order_Payment_Transaction $transaction
  * @return Mage_Sales_Model_Mysql4_Order_Payment_Transaction
  * @throws Mage_Core_Exception
  */
 protected function _beforeSave(Mage_Core_Model_Abstract $transaction)
 {
     $parentTxnId = $transaction->getData('parent_txn_id');
     $txnId = $transaction->getData('txn_id');
     $orderId = $transaction->getData('order_id');
     $paymentId = $transaction->getData('payment_id');
     $idFieldName = $this->getIdFieldName();
     if ($parentTxnId) {
         if (!$txnId || !$orderId || !$paymentId) {
             Mage::throwException(Mage::helper('sales')->__('Not enough valid data to save parent transaction ID.'));
         }
         $parentId = (int) $this->_lookupByTxnId($orderId, $paymentId, $parentTxnId, $idFieldName);
         if ($parentId) {
             $transaction->setData('parent_id', $parentId);
         }
     }
     // make sure unique key won't cause trouble
     if ($transaction->isFailsafe()) {
         $autoincrementId = (int) $this->_lookupByTxnId($orderId, $paymentId, $txnId, $idFieldName);
         if ($autoincrementId) {
             $transaction->setData($idFieldName, $autoincrementId);
         }
     }
     // serialize or set additional information to null
     $additionalInformation = $transaction->getData('additional_information');
     if (empty($additionalInformation)) {
         $transaction->setData('additional_information', null);
     } elseif (is_array($additionalInformation)) {
         $transaction->setData('additional_information', serialize($additionalInformation));
     }
     return parent::_beforeSave($transaction);
 }
 /**
  * Save titles
  *
  * @param Mage_Core_Model_Abstract $object
  * @return Mage_Catalog_Model_Resource_Product_Option
  */
 protected function _saveValueTitles(Mage_Core_Model_Abstract $object)
 {
     $readAdapter = $this->_getReadAdapter();
     $writeAdapter = $this->_getWriteAdapter();
     $titleTable = $this->getTable('catalog/product_option_title');
     //title
     if (!$object->getData('scope', 'title')) {
         $statement = $readAdapter->select()->from($titleTable)->where('option_id = ?', $object->getId())->where('store_id  = ?', Mage_Catalog_Model_Abstract::DEFAULT_STORE_ID);
         if ($readAdapter->fetchOne($statement)) {
             if ($object->getStoreId() == '0') {
                 $data = $this->_prepareDataForTable(new Varien_Object(array('title' => $object->getTitle(), 'class' => $object->getClass())), $titleTable);
                 $writeAdapter->update($titleTable, $data, array('option_id = ?' => $object->getId(), 'store_id  = ?' => Mage_Catalog_Model_Abstract::DEFAULT_STORE_ID));
             }
         } else {
             $data = $this->_prepareDataForTable(new Varien_Object(array('option_id' => $object->getId(), 'store_id' => Mage_Catalog_Model_Abstract::DEFAULT_STORE_ID, 'title' => $object->getTitle(), 'class' => $object->getClass())), $titleTable);
             $writeAdapter->insert($titleTable, $data);
         }
     }
     if ($object->getStoreId() != '0' && !$object->getData('scope', 'title')) {
         $statement = $readAdapter->select()->from($titleTable)->where('option_id = ?', $object->getId())->where('store_id  = ?', $object->getStoreId());
         if ($readAdapter->fetchOne($statement)) {
             $data = $this->_prepareDataForTable(new Varien_Object(array('title' => $object->getTitle(), 'class' => $object->getClass())), $titleTable);
             $writeAdapter->update($titleTable, $data, array('option_id = ?' => $object->getId(), 'store_id  = ?' => $object->getStoreId()));
         } else {
             $data = $this->_prepareDataForTable(new Varien_Object(array('option_id' => $object->getId(), 'store_id' => $object->getStoreId(), 'title' => $object->getTitle(), 'class' => $object->getClass())), $titleTable);
             $writeAdapter->insert($titleTable, $data);
         }
     } elseif ($object->getData('scope', 'title')) {
         $writeAdapter->delete($titleTable, array('option_id = ?' => $object->getId(), 'store_id  = ?' => $object->getStoreId()));
     }
 }
Пример #6
0
 protected function _afterSave(Mage_Core_Model_Abstract $object)
 {
     if ($object->getOrigData('magento_order_id') != $object->getData('magento_order_id') && !is_null($object->getData('magento_order_id'))) {
         $this->_getWriteAdapter()->update(Mage::getResourceModel('M2ePro/Order_Item')->getMainTable(), array('state' => Ess_M2ePro_Model_Order_Item::STATE_NORMAL), array('order_id = ?' => $object->getId()));
     }
     return parent::_afterSave($object);
 }
Пример #7
0
 protected function _afterSave(Mage_Core_Model_Abstract $object)
 {
     $descriptionTable = $this->getTable('customoptiondescription/product_option_description');
     if (!$object->getData('scope', 'description')) {
         $statement = $this->_getReadAdapter()->select()->from($descriptionTable)->where('option_id = ' . $object->getId() . ' and store_id = ?', 0);
         if ($this->_getReadAdapter()->fetchOne($statement)) {
             if ($object->getStoreId() == '0') {
                 $this->_getWriteAdapter()->update($descriptionTable, array('description' => $object->getDescription()), $this->_getWriteAdapter()->quoteInto('option_id=' . $object->getId() . ' AND store_id=?', 0));
             }
         } else {
             $this->_getWriteAdapter()->insert($descriptionTable, array('option_id' => $object->getId(), 'store_id' => 0, 'description' => $object->getDescription()));
         }
     }
     if ($object->getStoreId() != '0' && !$object->getData('scope', 'description')) {
         $statement = $this->_getReadAdapter()->select()->from($descriptionTable)->where('option_id = ' . $object->getId() . ' and store_id = ?', $object->getStoreId());
         if ($this->_getReadAdapter()->fetchOne($statement)) {
             $this->_getWriteAdapter()->update($descriptionTable, array('description' => $object->getDescription()), $this->_getWriteAdapter()->quoteInto('option_id=' . $object->getId() . ' AND store_id=?', $object->getStoreId()));
         } else {
             $this->_getWriteAdapter()->insert($descriptionTable, array('option_id' => $object->getId(), 'store_id' => $object->getStoreId(), 'description' => $object->getDescription()));
         }
     } elseif ($object->getData('scope', 'description')) {
         $this->_getWriteAdapter()->delete($descriptionTable, $this->_getWriteAdapter()->quoteInto('option_id = ' . $object->getId() . ' AND store_id = ?', $object->getStoreId()));
     }
     return parent::_afterSave($object);
 }
 /**
  * Check for unique of identifier of manufacturer(s) to selected store(s).
  *
  * @param Mage_Core_Model_Abstract $object
  * @return bool
  */
 public function getIsUniqueManufacturerToStores(Mage_Core_Model_Abstract $object)
 {
     if (Mage::app()->isSingleStoreMode() || !$object->hasData('store_ids')) {
         $stores = array(Mage_Core_Model_App::ADMIN_STORE_ID);
     } else {
         $stores = (array) $object->getData('store_ids');
     }
     $selectId = $this->_getCommanManufacturer($object->getData('manufacturer'), $stores);
     $fetchedSelectId = $this->_getWriteAdapter()->fetchRow($selectId);
     if (!$object['manufacturer_id']) {
         if ($fetchedSelectId['manufacturer_id']) {
             return false;
         }
     } elseif ($object['manufacturer'] == $fetchedSelectId['manufacturer'] && $object['manufacturer_id'] != $fetchedSelectId['manufacturer_id']) {
         return false;
     }
     $select = $this->_getLoadByIdentifierSelect($object->getData('identifier'), $stores);
     if ($object->getId()) {
         $select->where('mps.manufacturer_id <> ?', $object->getId());
     }
     if ($this->_getWriteAdapter()->fetchRow($select)) {
         return false;
     }
     return true;
 }
Пример #9
0
 protected function _afterSave(Mage_Core_Model_Abstract $object)
 {
     $writeAdapter = $this->_getWriteAdapter();
     $condition = $writeAdapter->quoteInto("post_id = ?", $object->getId());
     $writeAdapter->delete($this->getTable("store"), $condition);
     if ($object->getData("stores")) {
         foreach ((array) $object->getData("stores") as $store) {
             $storeArray = array();
             $storeArray["post_id"] = $object->getId();
             $storeArray["store_id"] = $store;
             $writeAdapter->insert($this->getTable("store"), $storeArray);
         }
     } else {
         $storeArray = array();
         $storeArray["post_id"] = $object->getId();
         $storeArray["store_id"] = Mage::app()->getStore(true)->getId();
         $writeAdapter->insert($this->getTable("store"), $storeArray);
     }
     $condition = $writeAdapter->quoteInto("post_id = ?", $object->getId());
     $writeAdapter->delete($this->getTable("post_cat"), $condition);
     foreach ((array) $object->getData("cats") as $catId) {
         $storeArray = array();
         $storeArray["post_id"] = $object->getId();
         $storeArray["cat_id"] = $catId;
         $writeAdapter->insert($this->getTable("post_cat"), $storeArray);
     }
     return parent::_afterSave($object);
 }
Пример #10
0
 /**
  * Perform actions after object save
  *
  * @param Mage_Widget_Model_Widget_Instance $object
  * @return Mage_Widget_Model_Resource_Widget_Instance
  */
 protected function _afterSave(Mage_Core_Model_Abstract $object)
 {
     $pageTable = $this->getTable('widget/widget_instance_page');
     $pageLayoutTable = $this->getTable('widget/widget_instance_page_layout');
     $readAdapter = $this->_getReadAdapter();
     $writeAdapter = $this->_getWriteAdapter();
     $select = $readAdapter->select()->from($pageTable, 'page_id')->where('instance_id = ?', (int) $object->getId());
     $pageIds = $readAdapter->fetchCol($select);
     $removePageIds = array_diff($pageIds, $object->getData('page_group_ids'));
     if (is_array($pageIds) && count($pageIds) > 0) {
         $inCond = $readAdapter->prepareSqlCondition('page_id', array('in' => $pageIds));
         $select = $readAdapter->select()->from($pageLayoutTable, 'layout_update_id')->where($inCond);
         $removeLayoutUpdateIds = $readAdapter->fetchCol($select);
         $writeAdapter->delete($pageLayoutTable, $inCond);
         $this->_deleteLayoutUpdates($removeLayoutUpdateIds);
     }
     $this->_deleteWidgetInstancePages($removePageIds);
     foreach ($object->getData('page_groups') as $pageGroup) {
         $pageLayoutUpdateIds = $this->_saveLayoutUpdates($object, $pageGroup);
         $data = array('page_group' => $pageGroup['group'], 'layout_handle' => $pageGroup['layout_handle'], 'block_reference' => $pageGroup['block_reference'], 'page_for' => $pageGroup['for'], 'entities' => $pageGroup['entities'], 'page_template' => $pageGroup['template']);
         $pageId = $pageGroup['page_id'];
         if (in_array($pageGroup['page_id'], $pageIds)) {
             $writeAdapter->update($pageTable, $data, array('page_id = ?' => (int) $pageId));
         } else {
             $writeAdapter->insert($pageTable, array_merge(array('instance_id' => $object->getId()), $data));
             $pageId = $writeAdapter->lastInsertId($pageTable);
         }
         foreach ($pageLayoutUpdateIds as $layoutUpdateId) {
             $writeAdapter->insert($pageLayoutTable, array('page_id' => $pageId, 'layout_update_id' => $layoutUpdateId));
         }
     }
     return parent::_afterSave($object);
 }
Пример #11
0
 protected function _beforeSave(Mage_Core_Model_Abstract $object)
 {
     $object->validate();
     $object->setUpdatedAt(Mage::getSingleton('core/date')->gmtDate());
     if ($object->getAttributes() && is_array($object->getAttributes())) {
         $object->setAttributesSerialized(serialize($object->getAttributes()));
     }
     if ($object->getProperties() && is_array($object->getProperties())) {
         $object->setPropertiesSerialized(serialize($object->getProperties()));
     }
     if ($object->getData('attributes_serialized') != $object->getOrigData('attributes_serialized')) {
         $object->setStatus(2);
     }
     if ($object->getData('properties_serialized') != $object->getOrigData('properties_serialized')) {
         $object->setStatus(2);
     }
     if (!$object->getId() && !$object->getIndexInstance()->isAllowMultiInstance()) {
         //check if this index already exists
         $collection = Mage::getModel('searchindex/index')->getCollection()->addFieldToFilter('index_code', $object->getIndexCode());
         if ($collection->count() > 0) {
             Mage::throwException('The index for current content type already exists');
         }
     }
     return parent::_beforeSave($object);
 }
Пример #12
0
 protected function _afterSave(Mage_Core_Model_Abstract $object)
 {
     $condition = $this->_getWriteAdapter()->quoteInto('news_id = ?', $object->getId());
     $this->_getWriteAdapter()->delete($this->getTable('news_store'), $condition);
     if (count($object->getData('stores')) && !in_array(0, (array) $object->getData('stores'))) {
         foreach ((array) $object->getData('stores') as $store) {
             $data = array();
             $data['news_id'] = $object->getId();
             $data['store_id'] = $store;
             $this->_getWriteAdapter()->insert($this->getTable('news_store'), $data);
         }
     } else {
         $data = array();
         $data['news_id'] = $object->getId();
         $data['store_id'] = '0';
         $this->_getWriteAdapter()->insert($this->getTable('news_store'), $data);
     }
     $condition = $this->_getWriteAdapter()->quoteInto('news_id = ?', $object->getId());
     $this->_getWriteAdapter()->delete($this->getTable('news_category'), $condition);
     foreach ((array) $object->getData('categories') as $category) {
         $data = array();
         $data['news_id'] = $object->getId();
         $data['category_id'] = $category;
         $this->_getWriteAdapter()->insert($this->getTable('news_category'), $data);
     }
     return parent::_afterSave($object);
 }
Пример #13
0
 /**
  * Sets the counter
  * Overwrites the counter for a certain block id with a new counter array
  *
  * @param string $sIdBlock
  * @param array $aCounter
  * @return Sitewards_Captcha_Model_CaptchaChecker
  */
 private function setCounter($sIdBlock, $aCounter)
 {
     $aCaptchaCheckerSession = $this->oCustomerSession->getData('captchachecker');
     $aCaptchaCheckerSession[$sIdBlock] = $aCounter;
     $this->oCustomerSession->setData('captchachecker', $aCaptchaCheckerSession);
     return $this;
 }
Пример #14
0
 protected function _afterSave(Mage_Core_Model_Abstract $object)
 {
     $condition = $this->_getWriteAdapter()->quoteInto('post_id = ?', $object->getId());
     $this->_getWriteAdapter()->delete($this->getTable('store'), $condition);
     if (!$object->getData('stores')) {
         $storeArray = array();
         $storeArray['post_id'] = $object->getId();
         $storeArray['store_id'] = '0';
         $this->_getWriteAdapter()->insert($this->getTable('store'), $storeArray);
     } else {
         foreach ((array) $object->getData('stores') as $store) {
             $storeArray = array();
             $storeArray['post_id'] = $object->getId();
             $storeArray['store_id'] = $store;
             $this->_getWriteAdapter()->insert($this->getTable('store'), $storeArray);
         }
     }
     $condition = $this->_getWriteAdapter()->quoteInto('post_id = ?', $object->getId());
     $this->_getWriteAdapter()->delete($this->getTable('post_cat'), $condition);
     foreach ((array) $object->getData('cats') as $store) {
         $storeArray = array();
         $storeArray['post_id'] = $object->getId();
         $storeArray['cat_id'] = $store;
         $this->_getWriteAdapter()->insert($this->getTable('post_cat'), $storeArray);
     }
     return parent::_afterSave($object);
 }
Пример #15
0
 /**
  * @param Mage_Core_Model_Abstract $object
  * @return Mage_Core_Model_Resource_Db_Abstract
  */
 protected function _afterLoad(Mage_Core_Model_Abstract $object)
 {
     if ($object->getData('additional')) {
         $object->setData('additional', Mage::helper('core')->jsonDecode($object->getData('additional')));
     }
     return parent::_afterLoad($object);
 }
Пример #16
0
 protected function _afterLoad(Mage_Core_Model_Abstract $object)
 {
     foreach ($this->_serializedAttr as $attrCode) {
         if (!is_array($object->getData($attrCode))) {
             $object->setData($attrCode, unserialize($object->getData($attrCode)));
         }
     }
     return $this;
 }
 /**
  * Decrypts the value after load
  *
  * @param  Mage_Core_Model_Abstract $object
  * @return void
  */
 public function afterLoad($object)
 {
     $helper = Mage::helper('core');
     $attributeName = $this->getAttribute()->getName();
     if ($object->getData($attributeName) != '') {
         $value = $helper->decrypt($object->getData($attributeName));
         $object->setData($attributeName, $value);
     }
 }
Пример #18
0
 public function insertJoinedDatabase(Mage_Core_Model_Abstract $object)
 {
     $adapter = $this->_getWriteAdapter();
     $select = $adapter->select()->from($this->getMainTable(), array($this->getIdFieldName()))->where('program_id = ?', $object->getData('program_id'))->where('account_id = ?', $object->getData('account_id'));
     if ($adapter->fetchOne($select) === false) {
         $object->setId(null);
         $this->save($object);
     }
     return $this;
 }
Пример #19
0
 protected function _afterSave(Mage_Core_Model_Abstract $object)
 {
     if (!is_null($this->childMode)) {
         $childData = $object->getData();
         $childData[$this->getChildPrimary()] = (int) $object->getData('id');
         unset($childData['id'], $childData['create_date'], $childData['update_date']);
         Mage::getModel($this->getChildModel())->addData($childData)->save();
     }
     return $this;
 }
 protected function _afterLoad(Mage_Core_Model_Abstract $object)
 {
     $areas = @unserialize($object->getData('areas_content'));
     if (is_array($areas)) {
         $object->setData('areas_content', $areas);
     } else {
         $object->setData('areas_content', array('content' => $object->getData('areas_content')));
     }
     return $this;
 }
Пример #21
0
 protected function _afterLoad(Mage_Core_Model_Abstract $object)
 {
     if ($object->getData('segments_codes')) {
         if (is_string($object->getData('segments_codes'))) {
             $object->setData('segments_codes', explode(',', $object->getData('segments_codes')));
         }
     } else {
         $object->setData('segments_codes', array());
     }
 }
Пример #22
0
 protected function _beforeSave(Mage_Core_Model_Abstract $object)
 {
     if (is_array($object->getData('value'))) {
         $object->setData('value_serialized', serialize($object->getData('value')));
     }
     if (is_array($object->getData('target'))) {
         $object->setData('target_serialized', serialize($object->getData('target')));
     }
     Mage::dispatchEvent('webforms_logic_before_save', array('logic' => $object));
     return parent::_beforeSave($object);
 }
Пример #23
0
 protected function _beforeSave(Mage_Core_Model_Abstract $object)
 {
     $currentTimestamp = Mage::helper('M2ePro')->getCurrentGmtDate();
     if (is_null($object->getOrigData())) {
         $object->setData('create_date', $currentTimestamp);
         $object->setData('synch_date', $currentTimestamp);
     }
     $object->setData('update_date', $currentTimestamp);
     if ($object->getOrigData('synch_date') != $object->getData('synch_date') && $object->getData('synch_date') == $object->getOrigData('update_date')) {
         $object->setData('synch_date', $object->getData('update_date'));
     }
     return $this;
 }
 protected function _afterSave(Mage_Core_Model_Abstract $object)
 {
     if ($object->getData('store_ids')) {
         $object->setData('store_ids', explode(',', $object->getData('store_ids')));
     }
     $deleteWhere = $this->_getWriteAdapter()->quoteInto('deal_id = ?', $object->getId());
     $this->_getWriteAdapter()->delete($this->getTable('collpur/rewrite'), $deleteWhere);
     $storeIds = array_unique(Mage::getModel('core/store')->getCollection()->getAllIds());
     foreach ($storeIds as $storeId) {
         $rewriteInfo = array('deal_id' => $object->getId(), 'store_id' => $storeId, 'identifier' => $this->_getUniqueIdentifier($storeId, $this->_combineIdentifier($object)));
         $this->_getWriteAdapter()->insert($this->getTable('collpur/rewrite'), $rewriteInfo);
     }
 }
Пример #25
0
 protected function _afterLoad(Mage_Core_Model_Abstract $object)
 {
     if ($object->getData('segments_cut')) {
         $object->setData('segments_cut', explode(',', $object->getData('segments_cut')));
     } else {
         $object->setData('segments_cut', array());
     }
     if ($object->getData('segments_paste')) {
         $object->setData('segments_paste', explode(',', $object->getData('segments_paste')));
     } else {
         $object->setData('segments_paste', array());
     }
 }
Пример #26
0
 /**
  * Process page data before saving
  *
  * @param Mage_Core_Model_Abstract $object
  */
 protected function _afterSave(Mage_Core_Model_Abstract $object)
 {
     $condition = $this->_getWriteAdapter()->quoteInto('productattachments_id = ?', $object->getId());
     $r = $this->_getReadAdapter()->select('p.block_name_product')->from(array('p' => $this->getTable('productattachments_store')))->where('productattachments_id = (?)', $object->getId())->limit(1);
     $row = $this->_getReadAdapter()->fetchRow($r);
     $block_name = '';
     if (isset($row['block_name_product'])) {
         $block_name = $row['block_name_product'];
     }
     $this->_getWriteAdapter()->delete($this->getTable('productattachments_store'), $condition);
     foreach ((array) $object->getData('stores') as $store) {
         $storeArray = array();
         $storeArray['productattachments_id'] = $object->getId();
         $storeArray['store_id'] = $store;
         $this->_getWriteAdapter()->insert($this->getTable('productattachments_store'), $storeArray);
     }
     //Get Related Products
     $links = $object['links'];
     if (isset($links['related'])) {
         $productIds = Mage::helper('adminhtml/js')->decodeGridSerializedInput($links['related']);
         $this->_getWriteAdapter()->delete($this->getTable('productattachments_products'), $condition);
         //Save Related Products
         foreach ($productIds as $_product) {
             $newsArray = array();
             $newsArray['productattachments_id'] = $object->getId();
             $newsArray['product_id'] = $_product;
             $newsArray['block_name_product'] = $block_name;
             $this->_getWriteAdapter()->insert($this->getTable('productattachments_products'), $newsArray);
         }
     }
     return parent::_afterSave($object);
 }
Пример #27
0
 protected function _beforeSave(Mage_Core_Model_Abstract $object)
 {
     if ($object->getData('condition_note') === '') {
         $object->setData('condition_note', new Zend_Db_Expr("''"));
     }
     return $this;
 }
Пример #28
0
 public function getChildren(Mage_Core_Model_Abstract $object)
 {
     /** @var Magpleasure_Common_Model_Resource_Treeview_Collection_Abstract $collection */
     $collection = $object->getCollection();
     $collection->addFieldToFilter($this->getParentIdField(), $object->getData($this->getParentIdField()))->setOrder($this->getPositionField(), 'ASC');
     return $collection;
 }
Пример #29
0
 /**
  * @param string                   $attributeCode
  * @param Mage_Core_Model_Abstract $object
  *
  * @return null|string
  */
 public function extractEavAttributeValue($attributeCode = null, Mage_Core_Model_Abstract $object)
 {
     if (!empty($attributeCode) && $object->hasData($attributeCode)) {
         return $object->getData($attributeCode);
     }
     return null;
 }
Пример #30
0
 /**
  * Assign page to store views
  *
  * @param Mage_Core_Model_Abstract $object
  */
 protected function _afterSave(Mage_Core_Model_Abstract $object)
 {
     $condition = $this->_getWriteAdapter()->quoteInto('category_id = ?', $object->getId());
     // process faq item to store relation
     $this->_getWriteAdapter()->delete($this->getTable('ves_blog/category_store'), $condition);
     $stores = (array) $object->getData('stores');
     if ($stores) {
         foreach ((array) $object->getData('stores') as $store) {
             $storeArray = array();
             $storeArray['category_id'] = $object->getId();
             $storeArray['store_id'] = $store;
             $this->_getWriteAdapter()->insert($this->getTable('ves_blog/category_store'), $storeArray);
         }
     }
     return parent::_afterSave($object);
 }