function rules_fetch_data
Fetches module definitions for the given hook name.
Used for collecting events, rules, actions and condition from other modules.
Parameters
$hook: The hook of the definitions to get from invoking hook_rules_{$hook}.
15 calls to rules_fetch_data()
- drush_rules_list in ./
rules.drush.inc - Get a list of all rules.
- RulesAbstractPlugin::rebuildCache in includes/
rules.core.inc - Add in the data provided by the info hooks to the cache.
- RulesContainerPluginUI::addOperations in ui/
ui.core.inc - Gets the Add-* operations for the given element.
- RulesDataProcessor::processors in includes/
rules.processor.inc - Returns defined data processors applicable for the given parameter.
- RulesEventSet::rebuildEventCache in includes/
rules.plugins.inc - Rebuilds the event cache.
1 string reference to 'rules_fetch_data'
- rules_clear_cache in ./
rules.module - Clears the rule set cache.
File
-
./
rules.module, line 265
Code
function rules_fetch_data($hook) {
$data =& drupal_static(__FUNCTION__, array());
static $discover = array(
'action_info' => 'RulesActionHandlerInterface',
'condition_info' => 'RulesConditionHandlerInterface',
'event_info' => 'RulesEventHandlerInterface',
);
if (!isset($data[$hook])) {
$data[$hook] = array();
foreach (module_implements('rules_' . $hook) as $module) {
$result = call_user_func($module . '_rules_' . $hook);
if (isset($result) && is_array($result)) {
foreach ($result as $name => $item) {
$item += array(
'module' => $module,
);
$data[$hook][$name] = $item;
}
}
}
// Support class discovery.
if (isset($discover[$hook])) {
$data[$hook] += rules_discover_plugins($discover[$hook]);
}
drupal_alter('rules_' . $hook, $data[$hook]);
}
return $data[$hook];
}