diff --git a/modules/commerce_kickstart/commerce_kickstart_order/commerce_kickstart_order.module b/modules/commerce_kickstart/commerce_kickstart_order/commerce_kickstart_order.module index 455b98b..4509af7 100644 --- a/modules/commerce_kickstart/commerce_kickstart_order/commerce_kickstart_order.module +++ b/modules/commerce_kickstart/commerce_kickstart_order/commerce_kickstart_order.module @@ -17,16 +17,16 @@ function commerce_kickstart_order_default_message_type_alter(&$items) { 'days' => '30', ); - $items['commerce_order_order_confirmation']->message_text['und'] = array( + $items['commerce_order_order_confirmation']->message_text[LANGUAGE_NONE] = array( array( 'value' => 'Order [message:message-commerce-order:order-number] at [site:name]', 'format' => NULL, 'safe_value' => 'Order [message:message-commerce-order:order-number] at [site:name]' ), array( - 'value' => str_replace(array('\u0027', '\u003E', '\u003C', '\/'), array('"', '>', '<', '/'), "\u003Cdiv class=\u0027message-wrapper\u0027\u003E\r\n \u003Cdiv class=\u0027header\u0027\u003E\r\n \u003Cdiv class=\u0027logo\u0027\u003E\u003Ca href=\u0027[site:url]\u0027\u003E[site:site-logo]\u003C\/a\u003E\u003C\/div\u003E\r\n \u003Cdiv class=\u0027thank-you\u0027\u003EThanks for your order\u003C\/div\u003E\r\n \u003C\/div\u003E\r\n\r\n \u003Cdiv class=\u0027body\u0027\u003E\r\n \u003Cp class=\u0027detail\u0027\u003E\r\n Here are the details for your order \u003Cspan class=\u0027order\u0027\u003E\u003Ca href=\u0027[message:message-commerce-order:view-url]\u0027\u003E#[message:message-commerce-order:order-id]\u003C\/a\u003E\u003C\/span\u003E, placed on [message:message-commerce-order:created]\r\n \u003C\/p\u003E\r\n\r\n \u003Cdiv class=\u0027view-order-status [message:message-commerce-order:status]\u0027\u003E\u003Ca href=\u0027[message:message-commerce-order:view-url]\u0027\u003EView your order\u003C\/a\u003E\u003C\/div\u003E\r\n\r\n \u003Cdiv class=\u0027shipping-wrapper\u0027\u003E\r\n \u003Cdiv class=\u0027ship-to\u0027\u003E\r\n \u003Cp class=\u0027ship-to-title\u0027\u003EShip to\u003C\/p\u003E\r\n \u003Cp class=\u0027details\u0027\u003E\r\n [message:message-commerce-order:commerce-customer-billing:commerce_customer_address]\r\n \u003C\/p\u003E\r\n \u003C\/div\u003E\r\n\r\n \u003Cdiv class=\u0027ship-method\u0027\u003E\r\n \u003Cp class=\u0027ship-method-title\u0027\u003E\u003C\/p\u003E\r\n \u003Cp class=\u0027express-delivery\u0027\u003E\u003C\/p\u003E\r\n \u003Cp class=\u0027details\u0027\u003E\u003C\/p\u003E\r\n \u003C\/div\u003E\r\n \u003C\/div\u003E\r\n\r\n\r\n \u003Cdiv class=\u0027order-summary-wrapper\u0027\u003E\r\n \u003Cp class=\u0027items-title\u0027\u003EItems in your order\u003C\/p\u003E\r\n !order-summary\r\n \u003C\/div\u003E\r\n\r\n \u003Cp class=\u0027question\u0027\u003E\u003Cb\u003EOrder questions ?\u003C\/b\u003E \u003Ca href=\u0027[site:url]/contact\u0027\u003EContact us\u003C\/a\u003E\u003C\/p\u003E\r\n\r\n \u003C\/div\u003E\r\n\u003C\/div\u003E\r\n"), + 'value' => str_replace(array('\u0027', '\u003E', '\u003C', '\/'), array('"', '>', '<', '/'), "\u003Cdiv class=\u0027message-wrapper\u0027\u003E\r\n \u003Cdiv class=\u0027header\u0027\u003E\r\n \u003Cdiv class=\u0027logo\u0027\u003E\u003Ca href=\u0027[site:url]\u0027\u003E[site:site-logo]\u003C\/a\u003E\u003C\/div\u003E\r\n \u003Cdiv class=\u0027thank-you\u0027\u003EThanks for your order\u003C\/div\u003E\r\n \u003C\/div\u003E\r\n\r\n \u003Cdiv class=\u0027body\u0027\u003E\r\n \u003Cp class=\u0027detail\u0027\u003E\r\n Here are the details for your order \u003Cspan class=\u0027order\u0027\u003E\u003Ca href=\u0027[message:message-commerce-order:view-url]\u0027\u003E#[message:message-commerce-order:order-id]\u003C\/a\u003E\u003C\/span\u003E, placed on [message:message-commerce-order:created]\r\n \u003C\/p\u003E\r\n\r\n \u003Cdiv class=\u0027view-order-status [message:message-commerce-order:status]\u0027\u003E\u003Ca href=\u0027[message:message-commerce-order:view-url]\u0027\u003EView your order\u003C\/a\u003E\u003C\/div\u003E\r\n\r\n \u003Cdiv class=\u0027shipping-wrapper\u0027\u003E\r\n \u003Cdiv class=\u0027ship-to\u0027\u003E\r\n \u003Cp class=\u0027ship-to-title\u0027\u003EShip to\u003C\/p\u003E\r\n \u003Cp class=\u0027details\u0027\u003E\r\n [message:message-commerce-order:customer-data:commerce_customer_address]\r\n \u003C\/p\u003E\r\n \u003C\/div\u003E\r\n\r\n \u003Cdiv class=\u0027ship-method\u0027\u003E\r\n \u003Cp class=\u0027ship-method-title\u0027\u003E\u003C\/p\u003E\r\n \u003Cp class=\u0027express-delivery\u0027\u003E\u003C\/p\u003E\r\n \u003Cp class=\u0027details\u0027\u003E\u003C\/p\u003E\r\n \u003C\/div\u003E\r\n \u003C\/div\u003E\r\n\r\n\r\n \u003Cdiv class=\u0027order-summary-wrapper\u0027\u003E\r\n \u003Cp class=\u0027items-title\u0027\u003EItems in your order\u003C\/p\u003E\r\n !order-summary\r\n \u003C\/div\u003E\r\n\r\n \u003Cp class=\u0027question\u0027\u003E\u003Cb\u003EOrder questions ?\u003C\/b\u003E \u003Ca href=\u0027[site:url]/contact\u0027\u003EContact us\u003C\/a\u003E\u003C\/p\u003E\r\n\r\n \u003C\/div\u003E\r\n\u003C\/div\u003E\r\n"), 'format' => 'full_html', - 'safe_value' => str_replace(array('\u0027', '\u003E', '\u003C', '\/'), array('"', '>', '<', '/'), "\u003Cdiv class=\u0027message-wrapper\u0027\u003E\n\u003Cdiv class=\u0027header\u0027\u003E\n\u003Cdiv class=\u0027logo\u0027\u003E\u003Ca href=\u0027[site:url]\u0027\u003E[site:site-logo]\u003C\/a\u003E\u003C\/div\u003E\n\u003Cdiv class=\u0027thank-you\u0027\u003EThanks for your order\u003C\/div\u003E\n\u003C\/div\u003E\n\u003Cdiv class=\u0027body\u0027\u003E\n\u003Cp class=\u0027detail\u0027\u003E\n Here are the details for your order \u003Cspan class=\u0027order\u0027\u003E\u003Ca href=\u0027[message:message-commerce-order:view-url]\u0027\u003E#[message:message-commerce-order:order-id]\u003C\/a\u003E\u003C\/span\u003E, placed on [message:message-commerce-order:created]\n \u003C\/p\u003E\n\u003Cdiv class=\u0027view-order-status [message:message-commerce-order:status]\u0027\u003E\u003Ca href=\u0027[message:message-commerce-order:view-url]\u0027\u003EView your order\u003C\/a\u003E\u003C\/div\u003E\n\u003Cdiv class=\u0027shipping-wrapper\u0027\u003E\n\u003Cdiv class=\u0027ship-to\u0027\u003E\n\u003Cp class=\u0027ship-to-title\u0027\u003EShip to\u003C\/p\u003E\n\u003Cp class=\u0027details\u0027\u003E\n [message:message-commerce-order:commerce-customer-billing:commerce_customer_address]\n \u003C\/p\u003E\n\u003C\/div\u003E\n\u003Cdiv class=\u0027ship-method\u0027\u003E\n\u003Cp class=\u0027ship-method-title\u0027\u003E\u003C\/p\u003E\n\u003Cp class=\u0027express-delivery\u0027\u003E\u003C\/p\u003E\n\u003Cp class=\u0027details\u0027\u003E\u003C\/p\u003E\n\u003C\/div\u003E\n\u003C\/div\u003E\n\u003Cdiv class=\u0027order-summary-wrapper\u0027\u003E\n\u003Cp class=\u0027items-title\u0027\u003EItems in your order\u003C\/p\u003E\n\u003Cp\u003E !order-summary\n \u003C\/p\u003E\u003C\/div\u003E\n\u003Cp class=\u0027question\u0027\u003E\u003Cb\u003EOrder questions ?\u003C\/b\u003E \u003Ca href=\u0027[site:url]/contact\u0027\u003EContact us\u003C\/a\u003E\u003C\/p\u003E\n\u003C\/div\u003E\n\u003C\/div\u003E\n"), + 'safe_value' => str_replace(array('\u0027', '\u003E', '\u003C', '\/'), array('"', '>', '<', '/'), "\u003Cdiv class=\u0027message-wrapper\u0027\u003E\n\u003Cdiv class=\u0027header\u0027\u003E\n\u003Cdiv class=\u0027logo\u0027\u003E\u003Ca href=\u0027[site:url]\u0027\u003E[site:site-logo]\u003C\/a\u003E\u003C\/div\u003E\n\u003Cdiv class=\u0027thank-you\u0027\u003EThanks for your order\u003C\/div\u003E\n\u003C\/div\u003E\n\u003Cdiv class=\u0027body\u0027\u003E\n\u003Cp class=\u0027detail\u0027\u003E\n Here are the details for your order \u003Cspan class=\u0027order\u0027\u003E\u003Ca href=\u0027[message:message-commerce-order:view-url]\u0027\u003E#[message:message-commerce-order:order-id]\u003C\/a\u003E\u003C\/span\u003E, placed on [message:message-commerce-order:created]\n \u003C\/p\u003E\n\u003Cdiv class=\u0027view-order-status [message:message-commerce-order:status]\u0027\u003E\u003Ca href=\u0027[message:message-commerce-order:view-url]\u0027\u003EView your order\u003C\/a\u003E\u003C\/div\u003E\n\u003Cdiv class=\u0027shipping-wrapper\u0027\u003E\n\u003Cdiv class=\u0027ship-to\u0027\u003E\n\u003Cp class=\u0027ship-to-title\u0027\u003EShip to\u003C\/p\u003E\n\u003Cp class=\u0027details\u0027\u003E\n [message:message-commerce-order:customer-data:commerce_customer_address]\n \u003C\/p\u003E\n\u003C\/div\u003E\n\u003Cdiv class=\u0027ship-method\u0027\u003E\n\u003Cp class=\u0027ship-method-title\u0027\u003E\u003C\/p\u003E\n\u003Cp class=\u0027express-delivery\u0027\u003E\u003C\/p\u003E\n\u003Cp class=\u0027details\u0027\u003E\u003C\/p\u003E\n\u003C\/div\u003E\n\u003C\/div\u003E\n\u003Cdiv class=\u0027order-summary-wrapper\u0027\u003E\n\u003Cp class=\u0027items-title\u0027\u003EItems in your order\u003C\/p\u003E\n\u003Cp\u003E !order-summary\n \u003C\/p\u003E\u003C\/div\u003E\n\u003Cp class=\u0027question\u0027\u003E\u003Cb\u003EOrder questions ?\u003C\/b\u003E \u003Ca href=\u0027[site:url]/contact\u0027\u003EContact us\u003C\/a\u003E\u003C\/p\u003E\n\u003C\/div\u003E\n\u003C\/div\u003E\n"), ), ); } diff --git a/modules/commerce_kickstart/commerce_kickstart_order/commerce_kickstart_order.tokens.inc b/modules/commerce_kickstart/commerce_kickstart_order/commerce_kickstart_order.tokens.inc new file mode 100644 index 0000000..1e5124c --- /dev/null +++ b/modules/commerce_kickstart/commerce_kickstart_order/commerce_kickstart_order.tokens.inc @@ -0,0 +1,57 @@ + t('Customer data'), + 'description' => t("Customer profile data to be used for orders."), + 'type' => 'commerce-customer-profile', + ); +} + +/** + * Implements hook_tokens(). + * + * Use Shipping data if present, Billing data if not. + */ +function commerce_kickstart_order_tokens($type, $tokens, array $data = array(), array $options = array()) { + $replacements = array(); + + // Only for Order tokens. + if ($type == 'commerce-order' && !empty($data['commerce-order'])) { + $commerce_order = $data['commerce-order']; + // Get the right customer profile. + $items = field_get_items('commerce_order', $commerce_order, 'commerce_customer_shipping') ? field_get_items('commerce_order', $commerce_order, 'commerce_customer_shipping') : field_get_items('commerce_order', $commerce_order, 'commerce_customer_billing'); + // No customer profiles, return nothing. + if (!$items) { + return $replacements; + } + $customer_profile = commerce_customer_profile_load($items[0]['profile_id']); + + foreach ($tokens as $name => $original) { + switch ($name) { + case 'customer-data': + $replacements[$original] = render(field_view_value('commerce_order', $commerce_order, 'commerce_customer_' . $customer_profile->type, $customer_profile->profile_id)); + break; + } + } + + // Chained token relationships. + if (isset($customer_profile) && $customer_profile_tokens = token_find_with_prefix($tokens, 'customer-data')) { + $replacements += token_generate('commerce-customer-profile', $customer_profile_tokens, array('commerce-customer-profile' => $customer_profile), $options); + } + } + + return $replacements; +}