function comment_modules_enabled

Implements hook_modules_enabled().

Creates comment body fields for node types existing before the Comment module is enabled. We use hook_modules_enabled() rather than hook_enable() so we can react to node types of existing modules, and those of modules being enabled both before and after the Comment module in the loop of module_enable().

There is a separate comment bundle for each node type to allow for per-node-type customization of comment fields. Each one of these bundles needs a comment body field instance. A comment bundle is needed even for node types whose comments are disabled by default, because individual nodes may override that default.

See also

comment_node_type_insert()

File

drupal/core/modules/comment/comment.install, line 70
Install, update and uninstall functions for the Comment module.

Code

function comment_modules_enabled($modules) {

  // Only react if the Comment module is one of the modules being enabled.
  // hook_node_type_insert() is used to create body fields while the comment
  // module is enabled.
  if (in_array('comment', $modules)) {

    // Ensure that the list of node types reflects newly enabled modules.
    node_types_rebuild();

    // Create comment body fields for each node type, if needed.
    foreach (node_type_get_types() as $type => $info) {
      _comment_body_field_create($info);
    }
  }
}