function rules_rules_plugin_info

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 738

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',
                ),
            ),
        ),
    );
}