function date_restrictions_get_bundle_instances in Date Restrictions 7
Returns instances of given types for the specified bundles.
2 calls to date_restrictions_get_bundle_instances()
- date_restrictions_get_bundle_instances_as_options in ./
date_restrictions.module - Builds a list of options representing fields.
- date_restrictions_host_entity_form_alter in modules/
host_entity/ date_restrictions_host_entity.module - Implements hook_form_alter().
File
- ./
date_restrictions.module, line 196
Code
function date_restrictions_get_bundle_instances($bundles, $field_types = array(
'date',
'datetime',
'datestamp',
)) {
if (!is_array($field_types)) {
$field_types = array(
$field_types,
);
}
$instances = array();
foreach ($bundles as $entity_type => $_bundles) {
foreach ($_bundles as $bundle) {
$query = db_select('field_config_instance', 'fci');
$query
->join('field_config', 'fc', 'fci.field_name = fc.field_name');
$query
->fields('fci', array(
'field_name',
))
->condition('fc.type', $field_types, 'IN')
->condition('fci.entity_type', $entity_type)
->condition('fci.bundle', $bundle)
->condition('fci.deleted', 0);
$result = $query
->execute();
while ($fci = $result
->fetchObject()) {
$instance = field_info_instance($entity_type, $fci->field_name, $bundle);
// Sanitize restrictions settings.
$restrictions = isset($instance['settings']['restrictions']) ? $instance['settings']['restrictions'] : NULL;
$instance['settings']['restrictions'] = date_restrictions_settings($restrictions);
$restrictions = isset($instance['settings']['restrictions2']) ? $instance['settings']['restrictions2'] : NULL;
$instance['settings']['restrictions2'] = date_restrictions_settings($restrictions);
$instances["{$entity_type}:{$bundle}:{$fci->field_name}"] = $instance;
}
}
}
return $instances;
}