/** * Unserialize Varien_Object field in an object * * @param Mage_Core_Model_Abstract $object * @param string $field * @param mixed $defaultValue */ protected function _unserializeField(Varien_Object $object, $field, $defaultValue = null) { if ($field != 'additional_info') { return parent::_unserializeField($object, $field, $defaultValue); } $value = $object->getData($field); if (empty($value)) { $object->setData($field, $defaultValue); } elseif (!is_array($value) && !is_object($value)) { $unserializedValue = false; try { $unserializedValue = Mage::helper('core/unserializeArray')->unserialize($value); } catch (Exception $e) { Mage::logException($e); } $object->setData($field, $unserializedValue); } }
/** * Save object data * * @param Mage_Core_Model_Abstract $object * @return Mage_Sales_Model_Resource_Order_Abstract */ public function save(Mage_Core_Model_Abstract $object) { if (!$object->getForceObjectSave()) { parent::save($object); } return $this; }
/** * Load quote data by identifier without store * * @param Mage_Sales_Model_Quote $quote * @param int $quoteId * @return Mage_Sales_Model_Resource_Quote */ public function loadByIdWithoutStore($quote, $quoteId) { $read = $this->_getReadAdapter(); if ($read) { $select = parent::_getLoadSelect('entity_id', $quoteId, $quote); $data = $read->fetchRow($select); if ($data) { $quote->setData($data); } } $this->_afterLoad($quote); return $this; }