/** * @param Mage_Customer_Model_Customer $customer */ protected function _moveAttributesData($customer) { $attributes = array('po_limit' => $this->_poLimitId, 'po_credit' => $this->_poCreditId); foreach ($attributes as $attributeCode => $attributeId) { try { $select = $this->_db->select()->from($customer->getResource()->getTable('customer_entity_int'), array('value'))->where('attribute_id = ?', $attributeId)->where('entity_id = ?', $customer->getId()); $value = $this->_db->fetchOne($select); if ((int) $value > 0) { $this->_db->insert($customer->getResource()->getTable('customer_entity_decimal'), array('entity_type_id' => $customer->getEntityTypeId(), 'attribute_id' => $attributeId, 'entity_id' => $customer->getId(), 'value' => (int) $value)); } } catch (Exception $e) { } try { $this->_db->delete($customer->getResource()->getTable('customer_entity_int'), 'entity_type_id = ' . $customer->getEntityTypeId() . ' AND attribute_id = ' . $attributeId . ' AND ' . 'entity_id = ' . $customer->getId()); } catch (Exception $e) { } } }
private function _getAttributeValue(Mage_Customer_Model_Customer $customer, $attributeCode) { $attribute = $customer->getResource()->getAttribute($attributeCode); if (!$attribute) { return; } if (is_array($attribute)) { return join(",", $attribute->getFrontEnd()->getValue($customer)); } else { if (!is_array($attribute)) { return $attribute->getFrontEnd()->getValue($customer); } } }
/** * Constructor * * @param array $data */ public function __construct(array $data = array()) { if (isset($data['attribute_collection'])) { $this->_attributeCollection = $data['attribute_collection']; unset($data['attribute_collection']); } else { $this->_attributeCollection = Mage::getResourceModel(static::ATTRIBUTE_COLLECTION_NAME); $this->_attributeCollection->addSystemHiddenFilterWithPasswordHash(); $data['attribute_collection'] = $this->_attributeCollection; } parent::__construct($data); $this->_specialAttributes[] = self::COLUMN_WEBSITE; $this->_specialAttributes[] = self::COLUMN_STORE; $this->_permanentAttributes[] = self::COLUMN_EMAIL; $this->_permanentAttributes[] = self::COLUMN_WEBSITE; $this->_indexValueAttributes[] = 'group_id'; $this->addMessageTemplate(self::ERROR_DUPLICATE_EMAIL_SITE, $this->_helper('Mage_ImportExport_Helper_Data')->__('E-mail is duplicated in import file')); $this->addMessageTemplate(self::ERROR_ROW_IS_ORPHAN, $this->_helper('Mage_ImportExport_Helper_Data')->__('Orphan rows that will be skipped due default row errors')); $this->addMessageTemplate(self::ERROR_INVALID_STORE, $this->_helper('Mage_ImportExport_Helper_Data')->__('Invalid value in Store column (store does not exists?)')); $this->addMessageTemplate(self::ERROR_EMAIL_SITE_NOT_FOUND, $this->_helper('Mage_ImportExport_Helper_Data')->__('E-mail and website combination is not found')); $this->addMessageTemplate(self::ERROR_PASSWORD_LENGTH, $this->_helper('Mage_ImportExport_Helper_Data')->__('Invalid password length')); $this->_initStores(true)->_initAttributes(); $this->_customerModel = Mage::getModel('Mage_Customer_Model_Customer'); /** @var $customerResource Mage_Customer_Model_Resource_Customer */ $customerResource = $this->_customerModel->getResource(); $this->_entityTable = $customerResource->getEntityTable(); }