Index: addresses.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/addresses/addresses.inc,v retrieving revision 1.57 diff -u -p -r1.57 addresses.inc --- addresses.inc 8 Jan 2009 07:56:26 -0000 1.57 +++ addresses.inc 26 Nov 2009 04:59:09 -0000 @@ -702,7 +702,7 @@ function theme_addresses_field_primary($ * @ingroup themeable */ function theme_addresses_field_aname($afields) { - return ''. theme('placeholder', $object['aname']) . $values['primary'] .''; + return '
'. t('Address Name') .':
'. $afields['aname'] .'
'; } /** @@ -861,7 +861,7 @@ function theme_addresses_singleline($afi // Add the country if (!empty($afields['country'])) { - $output .= ', '. $afields['country']; + $output .= ', '. drupal_strtoupper($afields['country']); } return $output; Index: addresses.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/addresses/addresses.module,v retrieving revision 1.62 diff -u -p -r1.62 addresses.module --- addresses.module 11 Feb 2009 07:24:29 -0000 1.62 +++ addresses.module 26 Nov 2009 04:59:09 -0000 @@ -31,7 +31,7 @@ function addresses_addressesfieldapi($op 'display' => ADDRESSES_FIELD_NONE, 'title' => t('Address Name'), 'theme' => array( - 'aname' => '' + 'aname' => t('Address Name'), ), 'token' => 'addresses_general', ), @@ -42,7 +42,7 @@ function addresses_addressesfieldapi($op 'display' => ADDRESSES_FIELD_SHOW, 'title' => t('Street'), 'theme' => array( - 'street' => t('Street and number.'), + 'street' => t('Street and number'), ), 'token' => 'addresses_adr', ), @@ -53,7 +53,7 @@ function addresses_addressesfieldapi($op 'display' => ADDRESSES_FIELD_SHOW, 'title' => t('Additional'), 'theme' => array( - 'additional' => '' + 'additional' => t('Additional'), ), 'token' => 'addresses_adr', ), @@ -75,8 +75,8 @@ function addresses_addressesfieldapi($op 'display' => ADDRESSES_FIELD_SHOW, 'title' => t('Province'), 'theme' => array( - 'province_name' => t('State/Province name.'), - 'province_code' => t('State/Province code.'), + 'province_name' => t('State/Province name'), + 'province_code' => t('State/Province code'), ), 'token' => 'addresses_adr', ), @@ -87,9 +87,9 @@ function addresses_addressesfieldapi($op 'display' => ADDRESSES_FIELD_SHOW, 'title' => t('Country'), 'theme' => array( - 'country_name' => t('Country name.'), - 'country_code2' => t('Country 2-digits code.'), - 'country_code3' => t('Country 3-digits code.'), + 'country_name' => t('Country name'), + 'country_code2' => t('Country 2-digits code'), + 'country_code3' => t('Country 3-digits code'), ), 'token' => 'addresses_adr', ), @@ -100,7 +100,7 @@ function addresses_addressesfieldapi($op 'display' => ADDRESSES_FIELD_SHOW, 'title' => t('Postal code'), 'theme' => array( - 'postal_code' => t('Postal code.'), + 'postal_code' => t('Postal code'), ), 'token' => 'addresses_adr', ), @@ -110,7 +110,7 @@ function addresses_addressesfieldapi($op 'default' => 0, 'description' => t('Mark it as the primary address or not (default is not)'), 'display' => ADDRESSES_FIELD_NONE, - 'title' => t('Primary Address Checkbox'), + 'title' => t('Primary Address'), 'token' => 'addresses_general', ) ); @@ -292,7 +292,7 @@ function addresses_theme() { 'file' => 'addresses.inc', ), // Shows addresses using a single line - 'addresses_address_singleline' => array( + 'addresses_singleline' => array( 'arguments' => array('addresses'), 'file' => 'addresses.inc', ), Index: addresses_cck/addresses_cck.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/addresses/addresses_cck/addresses_cck.inc,v retrieving revision 1.4 diff -u -p -r1.4 addresses_cck.inc --- addresses_cck/addresses_cck.inc 17 Nov 2008 16:01:57 -0000 1.4 +++ addresses_cck/addresses_cck.inc 26 Nov 2009 04:59:09 -0000 @@ -22,10 +22,42 @@ function theme_addresses_cck_formatter_d * Show the Address using the Single Line view. * @ingroup themable */ -function theme_addresses_cck_formatter_single_line($element) { +function theme_addresses_cck_formatter_singleline($element) { // Include the important .inc file module_load_include('inc', 'addresses'); // Print the address using the one-line only theme return theme('addresses_singleline', $element['#item']); } + +/** + * Show City and Address Name in one line. + * @ingroup themable + */ +function theme_addresses_cck_formatter_city_aname($element) { + return $element['#item']['city'] . ': ' . $element['#item']['aname']; +} + +/** + * Show a single field of the address. + * @ingroup themable + */ +function theme_addresses_cck_formatter_field($element) { + switch ($element['#formatter']) { + case 'province_code': + return drupal_strtoupper($element['#item']['province']); + case 'province_name': + $provinces = _addresses_province_get($element['#item']['country']); + return $provinces[$element['#item']['province']]; + case 'country_code2': + return drupal_strtoupper($element['#item']['country']); + case 'country_code3': + $country_code3 = _addresses_country_get_code3(); + return drupal_strtoupper($country_code3[$element['#item']['country']]); + case 'country_name': + $countries = _addresses_country_get(); + return $countries[$element['#item']['country']]; + default: + return $element['#item'][$element['#formatter']]; + } +} Index: addresses_cck/addresses_cck.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/addresses/addresses_cck/addresses_cck.module,v retrieving revision 1.16 diff -u -p -r1.16 addresses_cck.module --- addresses_cck/addresses_cck.module 11 Dec 2008 18:20:24 -0000 1.16 +++ addresses_cck/addresses_cck.module 26 Nov 2009 04:59:09 -0000 @@ -48,7 +48,7 @@ function addresses_cck_field_info() { } /** - * Implementation of hook_formatter_info(). + * Implementation of hook_field_formatter_info(). * * Its a CCK hook to declare information about a formatter. * @@ -62,30 +62,25 @@ function addresses_cck_field_info() { function addresses_cck_field_formatter_info() { $default = array( 'arguments' => array('element'), - 'multiple values' => CONTENT_HANDLE_CORE, 'field types' => array('addresses_cck'), + 'multiple values' => CONTENT_HANDLE_CORE, ); - $formatters = array( - 'default' => array( - 'label' => t('Default'), - 'arguments' => array('element'), - 'multiple values' => CONTENT_HANDLE_CORE, - 'field types' => array('addresses_cck'), - ), -// 'single_line' => array( -// 'label' => t('Single Line'), -// 'arguments' => array('element'), -// 'multiple values' => CONTENT_HANDLE_CORE, -// 'field types' => array('addresses_cck'), -// ), - ); + $formatters = array(); + $formatters['default'] = array( + 'label' => t('Default'), + ) + $default; + $formatters['singleline'] = array( + 'label' => t('Single Line') + ) + $default; + $formatters['city_aname'] = array( + 'label' => t('City and Address name') + ) + $default; $afields = module_invoke_all('addressesfieldapi', 'fields'); foreach ($afields as $ftype => $field) { if (!empty($field['theme'])) { foreach ($field['theme'] as $theme => $description) { - $formatters['addresses_field_'. $theme] = $default; - $formatters['addresses_field_'. $theme]['label'] = $description; + $formatters[$theme] = array('label' => $description) + $default; } } } @@ -157,30 +152,6 @@ function addresses_cck_field_settings($o // Return the table similar to those set on hook_schema. // It describes each database field that will be stored. return module_invoke_all('addressesfieldapi', 'fields'); - - case 'views data': - // Rerebuild the Views integration, since the address field is, - // in fact, a bundle of fields. - $db_info = content_database_info($field); - $table_alias = content_views_tablename($field); - $cck_default = content_views_field_views_data($field); - $data[$table_alias]['table'] = $cck_default[$table_alias]['table']; - unset($cck_default[$table_alias]['table']); - - $cck_default = array_shift($cck_default[$table_alias]); - - $ftypes = module_invoke_all('addressesfieldapi', 'fields'); - foreach ($ftypes as $ftype => $field_data) { - $field_cck = $cck_default; - $field_cck['title'] .= ' '. $field_data['title']; - $field_cck['field']['field'] = $field['field_name'] .'_'. $ftype; - $field_cck['filter']['title'] .= ' '. $field_data['title']; - -// unset($field_cck['field']['additional fields']); - $data[$table_alias][$field['field_name'] .'_'. $ftype] = $field_cck; - } - - return $data; } } @@ -203,18 +174,36 @@ function _addresses_cck_field_validate(& * Implementation of hook_theme(). */ function addresses_cck_theme() { - return array( - // Shows address in the default view: Multilines - 'addresses_cck_formatter_default' => array( - 'arguments' => array('element'), - 'file' => 'addresses_cck.inc', - ), - // Shows address in only one line - 'addresses_cck_formatter_single_line' => array( - 'arguments' => array('element'), - 'file' => 'addresses_cck.inc', - ), + // Add the CCS + drupal_add_css(drupal_get_path('module', 'addresses') .'/addresses.css'); + + $default = array( + 'arguments' => array('element'), + 'file' => 'addresses_cck.inc', ); + + $theme = array(); + + // Shows address in the default view: Multilines + $theme['addresses_cck_formatter_default'] = $default; + + // Shows address in only one line + $theme['addresses_cck_formatter_singleline'] = $default; + + // Shows city and aname in one line + $theme['addresses_cck_formatter_city_aname'] = $default; + + // Shows a single field + $afields = module_invoke_all('addressesfieldapi', 'fields'); + foreach ($afields as $field) { + if (!empty($field['theme'])) { + foreach (array_keys($field['theme']) as $theme_name) { + $theme["addresses_cck_formatter_$theme_name"] = array('function' => 'theme_addresses_cck_formatter_field') + $default; + } + } + } + + return $theme; } /**