private function init_address(&$address) { static $model; if (empty($address['country_name'])) { $address['country_name'] = waCountryModel::getInstance()->name(ifempty($address['country'])); } if (empty($address['region_name'])) { $address['region_name'] = ''; if (!empty($address['country']) && !empty($address['region'])) { if (!$model) { $model = new waRegionModel(); } if ($region = $model->get($address['country'], $address['region'])) { $address['region_name'] = $region['name']; } } } if (empty($address['address'])) { $fields = array('street', 'city', 'region_name', 'zip', 'country_name'); $address['address'] = ''; $chunks = array(); foreach ($fields as $field) { if (!empty($address[$field])) { $chunks[] = $address[$field]; } } $address['address'] = implode(', ', $chunks); if (preg_match('/^(.{1,119}),\\s+(.*)$/', $address['address'], $matches)) { $address['address_1'] = $matches[1]; $address['address_2'] = $matches[2]; } else { $address['address_1'] = $address['address']; $address['address_2'] = ''; } $address['name'] = ''; $fields = array('firstname', 'lasname', 'middlename'); foreach ($fields as $field) { if (!empty($address[$field])) { $address['name'] .= ' ' . $address[$field]; } } $address['name'] = trim($address['name']); } }
/** * Returns customer's shipping address written in one string. * * @param array $order_params 'params' element of order data array returned by getOrder() method of shopOrderModel class * @param bool $for_map Whether full or brief address information must be returned; defaults to true * @return string */ public static function getShippingAddressText($order_params, $for_map = true) { $address = array(); foreach (waContactFields::get('address')->getFields() as $k => $v) { $address[$k] = ifset($order_params['shipping_address.' . $k]); } if ($for_map) { $address_f = array(); foreach (array('country', 'region', 'zip', 'city', 'street') as $k) { if (!isset($address[$k])) { continue; } elseif ($k == 'country') { $address_f[$k] = waCountryModel::getInstance()->name(ifempty($address['country'])); } elseif ($k == 'region') { $address_f['region'] = ''; if (!empty($address['country']) && !empty($address['region'])) { $model = new waRegionModel(); if ($region = $model->get($address['country'], $address['region'])) { $address_f['region'] = $region['name']; } } } else { $address_f[$k] = $address[$k]; } } return implode(', ', $address_f); } return implode(', ', $address); }
public function format($data) { return waCountryModel::getInstance()->name($data); }