You are here

function commerce_usps_service_list in Commerce USPS 7.2

Same name and namespace in other branches
  1. 7 commerce_usps.module \commerce_usps_service_list()

Returns an array of USPS services and related data.

Parameters

string $type: A string to be matched against the service array keys for destination type.

Return value

array USPS codes for making the XML request

5 calls to commerce_usps_service_list()
commerce_usps_commerce_shipping_service_info in ./commerce_usps.module
Implements hook_commerce_shipping_service_info().
commerce_usps_commerce_shipping_service_rate_options_alter in ./commerce_usps.module
Implements hook_commerce_shipping_service_rate_options_alter().
commerce_usps_rate_v4_request in includes/commerce_usps.xml.inc
Builds a domestics USPS rate request.
commerce_usps_service_by_id in ./commerce_usps.module
Look up a USPS shipping service by it's id.
commerce_usps_settings_form in includes/commerce_usps.admin.inc
Form builder function for module settings.

File

./commerce_usps.module, line 144
Defines the USPS shipping method and services for Drupal Commerce.

Code

function commerce_usps_service_list($type = '') {
  $usps_services = array(
    'domestic' => array(
      'usps_first_class' => array(
        'request_name' => 'FIRST CLASS',
        'title' => t('USPS First Class'),
        'id' => 0,
      ),
      'usps_priority_mail' => array(
        'request_name' => 'PRIORITY',
        'title' => t('USPS Priority Mail'),
        'id' => 1,
      ),
      'usps_express_mail' => array(
        'request_name' => 'EXPRESS',
        'title' => t('USPS Express Mail'),
        'id' => 3,
      ),
      'usps_standard_post' => array(
        'request_name' => 'Retail Ground',
        'title' => t('USPS Retail Ground'),
        'id' => 4,
      ),
      'usps_media_mail' => array(
        'request_name' => 'MEDIA',
        'title' => t('USPS Media Mail'),
        'id' => 6,
      ),
      'usps_library_mail' => array(
        'request_name' => 'LIBRARY',
        'title' => t('USPS Library Mail'),
        'id' => 7,
      ),
    ),
    'international' => array(
      'usps_pm_express_international' => array(
        'title' => t('USPS Priority Mail Express International'),
        'id' => 1,
      ),
      'usps_pmi' => array(
        'title' => t('USPS Priority Mail International'),
        'id' => 2,
      ),
      'usps_global_express_guarnteed' => array(
        'title' => t('USPS Global Express Guaranteed'),
        'id' => 4,
      ),
      'usps_pmi_small_flat_rate_box' => array(
        'title' => t('USPS Priority Mail International Small Flat Rate Box'),
        'id' => 16,
      ),
      'usps_pmi_medium_flat_rate_box' => array(
        'title' => t('USPS Priority Mail International Medium Flat Rate Box'),
        'id' => 9,
      ),
      'usps_pmi_large_flat_rate_box' => array(
        'title' => t('USPS Priority Mail International Large Flat Rate Box'),
        'id' => 11,
      ),
      'usps_fcm_international_package' => array(
        'title' => t('USPS First-Class Mail International Package'),
        'id' => 15,
      ),
      'usps_pmi_express_flat_rate_boxes' => array(
        'title' => t('USPS Priority Mail Express International Flat Rate Boxes'),
        'id' => 26,
      ),
    ),
  );

  // Allow other modules to add or alter services.
  drupal_alter('commerce_usps_services_list', $usps_services);

  // If the service destination is defined, return only those services.
  if (!empty($usps_services[$type])) {
    return $usps_services[$type];
  }
  return $usps_services;
}