function rules_modules_enabled
Implements hook_modules_enabled().
File
-
./
rules.module, line 1520
Code
function rules_modules_enabled($modules) {
// Re-enable Rules configurations that are dirty, because they require one of
// the enabled the modules.
$query = db_select('rules_dependencies', 'rd');
$query->join('rules_config', 'rc', 'rd.id = rc.id');
$query->fields('rd', array(
'id',
))
->condition('rd.module', $modules, 'IN')
->condition('rc.dirty', 1);
$ids = $query->execute()
->fetchCol();
// If there are some configurations that might work again, re-check all dirty
// configurations as others might work again too, e.g. consider a rule that is
// dirty because it requires a dirty component.
if ($ids) {
$rules_configs = rules_config_load_multiple(FALSE, array(
'dirty' => 1,
));
foreach ($rules_configs as $rules_config) {
try {
$rules_config->integrityCheck();
// If no exceptions were thrown we can set the configuration back to OK.
db_update('rules_config')->fields(array(
'dirty' => 0,
))
->condition('id', $rules_config->id)
->execute();
if ($rules_config->active) {
drupal_set_message(t('All dependencies for the Rules configuration %config are met again, so it has been re-activated.', array(
'%config' => $rules_config->label(),
)));
}
} catch (RulesIntegrityException $e) {
// The rule is still dirty, so do nothing.
}
}
}
rules_clear_cache();
}