You are here

function commerce_discount_types in Commerce Discount 7

Return an array of all defined discount types.

Return value

array The array of types, keyed by type name.

7 calls to commerce_discount_types()
commerce_discount_build_discount_rules in ./commerce_discount.module
Build the rules configuration for the given discounts.
commerce_discount_entity_info in ./commerce_discount.module
Implements hook_entity_info().
commerce_discount_form in includes/commerce_discount.admin.inc
Form callback: create or edit a discount.
commerce_discount_install_helper in ./commerce_discount.install
Helper function to define and create the required fields & instances.
commerce_discount_type in ./commerce_discount.module
Loads the data for a specific discount type.

... See full list

File

./commerce_discount.module, line 699
Defines the discount and discount offer entities, bundles and functionality.

Code

function commerce_discount_types() {
  $discount_types =& drupal_static(__FUNCTION__);
  if (!isset($discount_types)) {
    $discount_types = array();
    foreach (module_implements('commerce_discount_type_info') as $module) {
      foreach (module_invoke($module, 'commerce_discount_type_info') as $type => $info) {
        $info += array(
          // Remember the providing module.
          'module' => $module,
        );
        $discount_types[$type] = $info;
      }
    }

    // Allow the type info to be altered by other modules.
    drupal_alter('commerce_discount_type_info', $discount_types);
  }
  return $discount_types;
}