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')
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.