function commerce_purchase_order_payment_method_instances in Commerce Purchase Order 7
Returns the list of all PO payment method instances.
1 call to commerce_purchase_order_payment_method_instances()
- commerce_purchase_order_rules_payment_instance_charge_options_list in ./
commerce_purchase_order.rules.inc - Options list for payment method instances that provide a charge callback
File
- ./
commerce_purchase_order.module, line 256 - Provides an example payment method for Drupal Commerce for testing and development.
Code
function commerce_purchase_order_payment_method_instances() {
$instance_ids = array();
// load all rules.
$rules_configs = rules_config_load_multiple(FALSE);
// find all rules with an action to enable PO payment method.
foreach ($rules_configs as $rule_name => $rule) {
// Only rules and sub-types have actions.
if (!$rule instanceof Rule) {
continue;
}
foreach ($rule
->actions() as $action) {
// skip any actions that are not simple rules actions, ie loops
if (!$action instanceof RulesAction) {
continue;
}
if ($action
->getElementName() == 'commerce_payment_enable_commerce_purchase_order') {
$instance_ids[] = commerce_payment_method_instance_id('commerce_purchase_order', $rule);
continue 2;
// skip to next rule
}
}
}
return $instance_ids;
}