Implements hook_system_info_alter() for the field module. Examines each enabled module that provides a field type by implementing hook_field_info and marks the module "required" if any fields of that type are now in use. A required module cannot be disabled.
&$info is an object that is updated to show which modules are required
$file is an object that describes a module or theme
$type is 'module' or something else (such as 'theme')
Read rows selected by $params and $include_additional from the field_config table. If $params include 'entity_type' or 'bundle' the field_config_instance table is joined on the 'id' = 'field_id' columns. Loads and installs the module(s) for the field(s) selected.
A Drupal "field" is a way to attach additional data to any Drupal entity declared fieldable. An entity is marked as fieldable by returning 'fieldable' => TRUE in the array returned by its hook_enitity_info(). Drupal core entities which are fieldable are: node, user, taxonomy and comment. The default is 'fieldable' => FALSE. Fields can be attached to entities using the Field API.