You are here

function rules_rules_plugin_info in Rules 7.2

Implements hook_rules_plugin_info().

Note that the cache is rebuilt in the order of the plugins. Therefore the condition and action plugins must be at the top, so that any components re-building their cache can create configurations including properly setup-ed actions and conditions.

File

./rules.module, line 706
Rules engine module.

Code

function rules_rules_plugin_info() {
  return array(
    'condition' => array(
      'class' => 'RulesCondition',
      'embeddable' => 'RulesConditionContainer',
      'extenders' => array(
        'RulesPluginImplInterface' => array(
          'class' => 'RulesAbstractPluginDefaults',
        ),
        'RulesPluginFeaturesIntegrationInterface' => array(
          'methods' => array(
            'features_export' => 'rules_features_abstract_default_features_export',
          ),
        ),
        'RulesPluginUIInterface' => array(
          'class' => 'RulesAbstractPluginUI',
        ),
      ),
    ),
    'action' => array(
      'class' => 'RulesAction',
      'embeddable' => 'RulesActionContainer',
      'extenders' => array(
        'RulesPluginImplInterface' => array(
          'class' => 'RulesAbstractPluginDefaults',
        ),
        'RulesPluginFeaturesIntegrationInterface' => array(
          'methods' => array(
            'features_export' => 'rules_features_abstract_default_features_export',
          ),
        ),
        'RulesPluginUIInterface' => array(
          'class' => 'RulesAbstractPluginUI',
        ),
      ),
    ),
    'or' => array(
      'label' => t('Condition set (OR)'),
      'class' => 'RulesOr',
      'embeddable' => 'RulesConditionContainer',
      'component' => TRUE,
      'extenders' => array(
        'RulesPluginUIInterface' => array(
          'class' => 'RulesConditionContainerUI',
        ),
      ),
    ),
    'and' => array(
      'label' => t('Condition set (AND)'),
      'class' => 'RulesAnd',
      'embeddable' => 'RulesConditionContainer',
      'component' => TRUE,
      'extenders' => array(
        'RulesPluginUIInterface' => array(
          'class' => 'RulesConditionContainerUI',
        ),
      ),
    ),
    'action set' => array(
      'label' => t('Action set'),
      'class' => 'RulesActionSet',
      'embeddable' => FALSE,
      'component' => TRUE,
      'extenders' => array(
        'RulesPluginUIInterface' => array(
          'class' => 'RulesActionContainerUI',
        ),
      ),
    ),
    'rule' => array(
      'label' => t('Rule'),
      'class' => 'Rule',
      'embeddable' => 'RulesRuleSet',
      'component' => TRUE,
      'extenders' => array(
        'RulesPluginUIInterface' => array(
          'class' => 'RulesRuleUI',
        ),
      ),
    ),
    'loop' => array(
      'class' => 'RulesLoop',
      'embeddable' => 'RulesActionContainer',
      'extenders' => array(
        'RulesPluginUIInterface' => array(
          'class' => 'RulesLoopUI',
        ),
      ),
    ),
    'reaction rule' => array(
      'class' => 'RulesReactionRule',
      'embeddable' => FALSE,
      'extenders' => array(
        'RulesPluginUIInterface' => array(
          'class' => 'RulesReactionRuleUI',
        ),
      ),
    ),
    'event set' => array(
      'class' => 'RulesEventSet',
      'embeddable' => FALSE,
    ),
    'rule set' => array(
      'label' => t('Rule set'),
      'class' => 'RulesRuleSet',
      'component' => TRUE,
      // Rule sets don't get embedded - we use a separate action to execute.
      'embeddable' => FALSE,
      'extenders' => array(
        'RulesPluginUIInterface' => array(
          'class' => 'RulesRuleSetUI',
        ),
      ),
    ),
  );
}