/** * Prepare request data for mapping profile object * * @return array */ protected function prepareDataForMapping() { $data = parent::prepareDataForMapping(); if (isset($data['membership_id']) && 0 < (int) $data['membership_id']) { $membership = \XLite\Core\Database::getRepo('XLite\\Model\\Membership')->find($data['membership_id']); if (isset($membership)) { $data['membership'] = $membership; } } if (!isset($data['membership'])) { $data['membership'] = null; } return $data; }
/** * prepareDataForMapping * * @return array */ protected function prepareDataForMapping() { $data = parent::prepareDataForMapping(); foreach ($data as $key => $value) { $newKey = preg_replace('/^([^_]*_)(.*)$/', '\\2', $key); $data[$newKey] = $value; unset($data[$key]); } if (isset($data['country_code'])) { $data['country'] = \XLite\Core\Database::getRepo('XLite\\Model\\Country')->findOneByCode($data['country_code']); $data['state'] = null; if (isset($data['state_id'])) { $state = \XLite\Core\Database::getRepo('XLite\\Model\\State')->find($data['state_id']); if (isset($state) && $state->getCountry()->getCode() == $data['country_code']) { $data['state'] = $state; $data['custom_state'] = ''; } unset($data['state_id']); } if (!isset($data['state'])) { $data['state'] = $data['custom_state']; } unset($data['country_code']); } return $data; }
/** * Prepare request data for mapping into model object. * Model object is provided with methods: * prepareObjectForMapping <- getModelObject <- getDefaultModelObject (or getParam(self::PARAM_MODEL_OBJECT)) * * @return array */ protected function prepareDataForMapping() { $data = parent::prepareDataForMapping(); // Update trailing zeroes config option value // TODO? move it to separated method ? $trailingZeroes = \XLite\Core\Database::getRepo('XLite\\Model\\Config')->findOneBy(array('name' => 'trailing_zeroes', 'category' => 'General')); \XLite\Core\Database::getRepo('XLite\\Model\\Config')->update($trailingZeroes, array('value' => '1' == $data['trailing_zeroes'])); // We do not map "trailing zeroes" - it is a config option. unset($data['trailing_zeroes']); if (isset($data['format'])) { // Data format is divided into thousand and decimal separator (or any other if it would be necessary) $data = $data + $this->getFormatInfo($data); unset($data['format']); } return $data; }
/** * Prepare posted data for mapping to the object * * @return array */ protected function prepareDataForMapping() { $data = parent::prepareDataForMapping(); list($valid) = $this->getFormField('default', 'dateRangeBegin')->validate(); if ($valid) { $data['dateRangeBegin'] = $this->getFormField('default', 'dateRangeBegin')->getValue(); } list($valid) = $this->getFormField('default', 'dateRangeEnd')->validate(); if ($valid) { $data['dateRangeEnd'] = $this->getFormField('default', 'dateRangeEnd')->getValue(); } return $data; }