/** * Prepare data for passed table * * @param Varien_Object $object * @param string $table * @return array */ protected function _prepareDataForTable(Varien_Object $object, $table) { if (method_exists(get_parent_class(__CLASS__), '_prepareDataForTable')) { return parent::_prepareDataForTable($object, $table); } else { /** * Compatibility part 1.4 - 1.5 */ $data = array(); $fields = $this->_getWriteAdapter()->describeTable($table); foreach (array_keys($fields) as $field) { if ($object->hasData($field)) { $fieldValue = $object->getData($field); if ($fieldValue instanceof Zend_Db_Expr) { $data[$field] = $fieldValue; } else { if (null !== $fieldValue) { $fieldValue = $this->_prepareTableValueForSave($fieldValue, $fields[$field]['DATA_TYPE']); // Method not available in old magento //$fieldValue = $this->_getWriteAdapter()->prepareColumnValue($fields[$field], $fieldValue); $data[$field] = $fieldValue; } else { if (!empty($fields[$field]['NULLABLE'])) { $data[$field] = null; } } } } } return $data; } }