You are here

function commerce_recurring_rules_provide_order_properties in Commerce Recurring Framework 7.2

Provide extra information for generating the next recurring order.

1 string reference to 'commerce_recurring_rules_provide_order_properties'
commerce_recurring_rules_action_info in ./commerce_recurring.rules.inc
Implements hook_rules_action_info().

File

./commerce_recurring.rules.inc, line 436
Rules integration for recurring entities.

Code

function commerce_recurring_rules_provide_order_properties($recurring_entity) {
  $items = field_get_items('commerce_recurring', $recurring_entity, 'commerce_recurring_order');
  $commerce_order = reset($items);
  $commerce_order = commerce_order_load($commerce_order['target_id']);
  $return = array(
    'commerce_order' => $commerce_order,
  );

  // Provide a default way to copy customer profiles to the new order.
  $profile_fields = commerce_info_fields('commerce_customer_profile_reference', 'commerce_order');
  foreach ($profile_fields as $name => $field) {

    // @TODO: The recurring order might be from a different order bundle.
    if ($instance = field_info_instance('commerce_order', $name, 'commerce_order')) {
      $return[$name] = $commerce_order->{$name};
    }
  }
  return $return;
}