function biblio_create_fields_by_bundle in Bibliography Module 7.3
Attach fields to bundles.
Parameters
$bundles: Array with the bundles to process, or empty array to use all Biblio bundles.
9 calls to biblio_create_fields_by_bundle()
- BiblioAddContributorTestCase::setUp in tests/
AddContributor.test - Sets up a Drupal site for running functional and integration tests.
- BiblioBibtexTestCase::setUp in tests/
BibTex.test - Sets up a Drupal site for running functional and integration tests.
- BiblioCiteProcTestCase::setUp in tests/
CiteProc.test - Sets up a Drupal site for running functional and integration tests.
- BiblioEndNoteTestCase::setUp in tests/
EndNote.test - Sets up a Drupal site for running functional and integration tests.
- BiblioImportPreventDuplicateTestCase::setUp in tests/
ImportPreventDuplicates.test - Sets up a Drupal site for running functional and integration tests.
1 string reference to 'biblio_create_fields_by_bundle'
- biblio_ui_attach_biblio_fields_submit in modules/
biblio_ui/ biblio_ui.module - Submit handler; Attach biblio fields to selected biblio types.
File
- ./
biblio.module, line 746 - Maintains bibliographic lists.
Code
function biblio_create_fields_by_bundle($bundles = array(), $clear_cache = TRUE) {
$entity_info = entity_get_info('biblio');
$bundles = $bundles ? $bundles : array_keys($entity_info['bundles']);
$fields_info = biblio_fields_info();
foreach ($bundles as $bundle) {
foreach ($fields_info as $field_name => $field_info) {
if (in_array($field_name, array(
'biblio_contributor_role',
'biblio_contributor',
))) {
continue;
}
if (!empty($field_info['bundles_info']) && isset($field_info['bundles_info'][$bundle])) {
// Allow per bundle settings to override the instance's default settings.
$field_info['instance'] = drupal_array_merge_deep($field_info['instance'], $field_info['bundles_info'][$bundle]);
biblio_create_field($field_name, 'biblio', $bundle, $field_info, $clear_cache);
}
elseif (!isset($field_info['bundles_info'])) {
biblio_create_field($field_name, 'biblio', $bundle, $field_info, $clear_cache);
}
}
}
}