/** * Add customer group ids and website ids to rule data after load * * @param Mage_Core_Model_Abstract $object * * @return Mage_SalesRule_Model_Resource_Rule */ protected function _afterLoad(Mage_Core_Model_Abstract $object) { $object->setData('customer_group_ids', (array) $this->getCustomerGroupIds($object->getId())); $object->setData('website_ids', (array) $this->getWebsiteIds($object->getId())); parent::_afterLoad($object); return $this; }
/** * 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; }
protected function _beforeSave(Mage_Core_Model_Abstract $object) { if (is_null($object->getOrigData())) { $object->setData('create_date', Mage::helper('M2ePro')->getCurrentGmtDate()); } $object->setData('update_date', Mage::helper('M2ePro')->getCurrentGmtDate()); return $this; }
protected function _afterLoad(Mage_Core_Model_Abstract $object) { if ($object->getId()) { $stores = $this->lookupStoreIds($object->getId()); $object->setData('store_id', $stores); $object->setData('stores', $stores); } return parent::_afterLoad($object); }
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()); } }
/** * Also serialize additional information * * @param Mage_Core_Model_Abstract $payment */ protected function _beforeSave(Mage_Core_Model_Abstract $payment) { $additionalInformation = $payment->getData('additional_information'); if (empty($additionalInformation)) { $payment->setData('additional_information', null); } elseif (is_array($additionalInformation)) { $payment->setData('additional_information', serialize($additionalInformation)); } return parent::_beforeSave($payment); }
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; }
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); }
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()); } }
protected function _afterLoad(Mage_Core_Model_Abstract $object) { $webform = Mage::getModel('webforms/webforms')->load($object->getData('webform_id')); $select = $this->_getReadAdapter()->select()->from($this->getTable('webforms/results_values'))->where('result_id = ?', $object->getId()); $values = $this->_getReadAdapter()->fetchAll($select); foreach ($values as $val) { $object->setData('field_' . $val['field_id'], $val['value']); $object->setData('key_' . $val['field_id'], $val['key']); } $object->setData('ip', long2ip($object->getCustomerIp())); Mage::dispatchEvent('webforms_result_load', array('webform' => $webform, 'result' => $object)); return parent::_afterLoad($object); }
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; }
/** * @param Mage_Core_Model_Abstract $object * @return self */ protected function _afterLoad(Mage_Core_Model_Abstract $object) { if ($object->getId()) { $recipients = $this->lookupRecipients($object->getId()); $object->setData('recipients', $recipients); if ($details = $this->lookupDetails($object->getId())) { unset($details['trigger_id']); foreach ($details as $name => $value) { $object->setData($name, $value); } } } return parent::_afterLoad($object); }
/** * Set the post this comment is associated to * * @param Fishpig_Wordpress_Model_Post $post * @return Fishpig_Wordpress_Model_Post_Comment */ public function setPost(Fishpig_Wordpress_Model_Post $post) { $this->setPostId($post->getId()); $this->setData('comment_post_ID', $post->getId()); return parent::setData('post', $post); }
/** * @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); }
/** * Uploads single file and set the relative file path in the model * * @param Mage_Core_Model_Abstract $object * @param Jarlssen_UploaderComponent_Model_Config $config * * @throws Exception */ public function processFile(Mage_Core_Model_Abstract $object, Jarlssen_UploaderComponent_Model_Config $config) { $inputName = $config->getInputName(); $uploadPath = $config->getAbsoluteUploadPath(); try { if ($result = $this->_upload($config, $uploadPath, $_FILES[$inputName]['name'])) { $fileName = $result['file']; $relativeFilePath = $config->getRelativeUploadPath() . DS . $fileName; $object->setData($inputName, $relativeFilePath); } } catch (Exception $e) { $object->setData($inputName, $object->getOrigData($inputName)); Mage::logException($e); throw new Exception($e->getMessage(), $e->getCode(), $e); } }
/** * * @param Mage_Core_Model_Abstract $object */ protected function _afterLoad(Mage_Core_Model_Abstract $object) { if ($object->getId()) { // Stores $select = $this->_getReadAdapter()->select()->from($this->getTable('auguria_sliders/stores'))->where('slider_id = ?', $object->getId()); if ($data = $this->_getReadAdapter()->fetchAll($select)) { $storesArray = array(); foreach ($data as $row) { $storesArray[] = $row['store_id']; } $object->setData('stores', $storesArray); } // Cms pages $select = $this->_getReadAdapter()->select()->from($this->getTable('auguria_sliders/pages'))->where('slider_id = ?', $object->getId()); if ($data = $this->_getReadAdapter()->fetchAll($select)) { $pagesArray = array(); foreach ($data as $row) { $pagesArray[] = $row['page_id']; } $object->setData('pages', $pagesArray); } // Category ids $select = $this->_getReadAdapter()->select()->from($this->getTable('auguria_sliders/categories'))->where('slider_id = ?', $object->getId()); if ($data = $this->_getReadAdapter()->fetchAll($select)) { $categoriesArray = array(); foreach ($data as $row) { $categoriesArray[] = $row['category_id']; } $object->setData('category_ids', $categoriesArray); } } return parent::_afterLoad($object); }
/** * Set personalisation tags on the object. * * @param Mage_Core_Model_Abstract $object * @return Mage_Cms_Model_Resource_Block */ protected function _afterLoad(Mage_Core_Model_Abstract $object) { if ($object->getId()) { $object->setData('personalisation_tags', $this->lookupPersonalisationTags($object->getId())); } return parent::_afterLoad($object); }
protected function _beforeSave(Mage_Core_Model_Abstract $object) { if ($object->getData('condition_note') === '') { $object->setData('condition_note', new Zend_Db_Expr("''")); } return $this; }
protected function _afterLoad(Mage_Core_Model_Abstract $object) { if (!is_null($object->getData('display_in_store'))) { if (is_string($object->getData('display_in_store'))) { $object->setData('display_in_store', explode(',', $object->getData('display_in_store'))); } } else { $object->setData('display_in_store', array()); } if (!is_null($object->getData('display_in_category'))) { if (is_string($object->getData('display_in_category'))) { $object->setData('display_in_category', explode(',', $object->getData('display_in_category'))); } } else { $object->setData('display_in_category', array()); } }
/** * Perform operations after object load * * @param Mage_Core_Model_Abstract $object * @return Mage_Cms_Model_Resource_Page */ protected function _afterLoad(Mage_Core_Model_Abstract $object) { if ($object->getId()) { $products = $this->getProductIds($object->getId()); $object->setData('product_id', $products); } return parent::_afterLoad($object); }
/** * Perform actions before object save * * @param Mage_Core_Model_Abstract $object * @return Mage_Eav_Model_Resource_Attribute */ protected function _beforeSave(Mage_Core_Model_Abstract $object) { $validateRules = $object->getData('validate_rules'); if (is_array($validateRules)) { $object->setData('validate_rules', serialize($validateRules)); } return parent::_beforeSave($object); }
/** * @test * @dataProvider dataProvider */ public function newCustomerActivationState($email, $storeCode, $groupCode, $activeByDefault, $specificGroups) { $store = $this->app()->getStore($storeCode); $store->setConfig(Netzarbeiter_CustomerActivation_Helper_Data::XML_PATH_DEFAULT_STATUS, $activeByDefault); $store->setConfig(Netzarbeiter_CustomerActivation_Helper_Data::XML_PATH_DEFAULT_STATUS_BY_GROUP, $specificGroups); $this->setCurrentStore($store); /* @var $group Mage_Customer_Model_Group */ $group = Mage::getModel('customer/group')->load($groupCode, 'customer_group_code'); $this->_model = Mage::getModel('customer/customer'); $this->_model->setData(array('store_id' => $store->getId(), 'website_id' => $store->getWebsiteId(), 'group_id' => $group->getId(), 'email' => $email))->save(); // Since it's so easy thanks to EcomDev_PHPUnit, lets check triggered events, too $this->assertEventDispatchedExactly('customer_save_before', 1); $this->assertEventDispatchedExactly('customer_save_after', 1); $expected = $this->expected("%s-%d-%d-%d", $storeCode, $group->getId(), $activeByDefault, $specificGroups)->getIsActivated(); $message = sprintf("Expected new customer %s with group %s in store %s to be %s, but found to be %s\n" . "All groups default status: %s, %srequire activation for specific groups)", $this->_model->getEmail(), $group->getCode(), $store->getCode(), $expected ? 'activated' : 'inactive', $expected ? 'inactive' : 'active', $activeByDefault ? 'active' : 'inactive', $specificGroups ? '' : "don't "); $this->assertEquals($expected, $this->_model->getCustomerActivated(), $message); }
protected function _afterLoad(Mage_Core_Model_Abstract $object) { if (!is_null($object->getData('customer_group_ids'))) { if (is_string($object->getData('customer_group_ids'))) { $object->setData('customer_group_ids', explode(',', $object->getData('customer_group_ids'))); } } else { $object->setData('customer_group_ids', array()); } if (!is_null($object->getData('website_ids'))) { if (is_string($object->getData('website_ids'))) { $object->setData('website_ids', explode(',', $object->getData('website_ids'))); } } else { $object->setData('website_ids', array()); } }
/** * Perform operations after object load * * @param Mage_Core_Model_Abstract $object * @return Creativestyle_CheckoutByAmazon_Model_Mysql4_Log_Abstract */ protected function _afterLoad(Mage_Core_Model_Abstract $object) { if ($object->getId()) { $orders = $this->lookupOrderIds($object->getId()); $object->setData('order_id', $orders); } return parent::_afterLoad($object); }
/** * Perform actions after object load * * @param Mage_Widget_Model_Widget_Instance $object * @return Mage_Widget_Model_Resource_Widget_Instance */ protected function _afterLoad(Mage_Core_Model_Abstract $object) { $adapter = $this->_getReadAdapter(); $select = $adapter->select()->from($this->getTable('widget/widget_instance_page'))->where('instance_id = ?', (int) $object->getId()); $result = $adapter->fetchAll($select); $object->setData('page_groups', $result); return parent::_afterLoad($object); }
protected function _beforeSave(Mage_Core_Model_Abstract $object) { if ($object->isObjectNew() && !$object->hasCreatedAt()) { $object->setCreatedAt(Mage::getSingleton('core/date')->gmtDate()); } if (is_array($object->getData('store_ids'))) { $object->setData('store_ids', implode(',', $object->getData('store_ids'))); } if (is_array($object->getData('cancellation_event'))) { $object->setData('cancellation_event', implode(',', $object->getData('cancellation_event'))); } $object->setUpdatedAt(Mage::getSingleton('core/date')->gmtDate()); if ($object->hasData('rule')) { $this->_saveRule($object); } return parent::_beforeSave($object); }
/** * 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); } }
/** * Custom load model only by query text (skip synonym for) * * @param Mage_Core_Model_Abstract $object * @param string $value * @return Mage_CatalogSearch_Model_Mysql4_Query */ public function loadByQueryText(Mage_Core_Model_Abstract $object, $value) { $select = $this->_getReadAdapter()->select()->from($this->getMainTable())->where('query_text = ?', $value)->where('store_id = ?', $object->getStoreId())->limit(1); if ($data = $this->_getReadAdapter()->fetchRow($select)) { $object->setData($data); $this->_afterLoad($object); } return $this; }
/** * Update attributes for entity * * @param array $data * @param Mage_Core_Model_Abstract $object * @param array $attributes * @return Mage_Sales_Model_Api_Resource */ protected function _updateAttributes($data, $object, $type, array $attributes = null) { foreach ($data as $attribute => $value) { if ($this->_isAllowedAttribute($attribute, $type, $attributes)) { $object->setData($attribute, $value); } } return $this; }
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; }