function _calendar_systems_date_properties_entity_types in Calendar Systems 8
Same name and namespace in other branches
- 7 calendar_systems_date_properties/calendar_systems_date_properties.module \_calendar_systems_date_properties_entity_types()
- 7.2 calendar_systems_date_properties/calendar_systems_date_properties.module \_calendar_systems_date_properties_entity_types()
Return value
array
6 calls to _calendar_systems_date_properties_entity_types()
- calendar_systems_date_properties_entity_presave in calendar_systems_date_properties/
calendar_systems_date_properties.module - hook_entity_presave
- calendar_systems_date_properties_entity_property_info_alter in calendar_systems_date_properties/
calendar_systems_date_properties.module - calendar_systems_date_properties_schema_alter in calendar_systems_date_properties/
calendar_systems_date_properties.module - Implements hook_schema_alter().
- calendar_systems_date_properties_settings_form in calendar_systems_date_properties/
calendar_systems_date_properties.admin.inc - Page callback for calendar_systems_date_properties.
- calendar_systems_date_properties_views_data_alter in calendar_systems_date_properties/
calendar_systems_date_properties.views.inc
File
- calendar_systems_date_properties/
calendar_systems_date_properties.module, line 173 - Contains hook implementations and helpers.
Code
function _calendar_systems_date_properties_entity_types() {
//static $entity_types;
$entity_types = NULL;
if (is_null($entity_types)) {
$selected_bundles = variable_get('calendar_systems_date_properties_entity_bundles_settings');
$bundles = field_info_bundles();
return array();
$entity_types = array();
foreach ($bundles as $entity_type => $_bundles) {
$entity_type_info = entity_get_info($entity_type);
$entity_types[$entity_type] = $entity_type_info;
$entity_types[$entity_type]['bundles'] = $_bundles;
$integrated = FALSE;
$selected_properties = array();
if (!empty($_bundles)) {
foreach ($_bundles as $bundle => $bundle_info) {
$entity_types[$entity_type]['bundles'][$bundle]['integrated'] = FALSE;
if (isset($selected_bundles[$entity_type . '.' . $bundle]) && !empty($bundle_info)) {
if ($selected_bundles[$entity_type . '.' . $bundle]['enabled'] == TRUE) {
$entity_types[$entity_type]['bundles'][$bundle]['integrated'] = TRUE;
$integrated = TRUE;
foreach ($selected_bundles[$entity_type . '.' . $bundle]['properties'] as $property_name => $property) {
if ($property == 1) {
$selected_properties[$property_name] = $property_name;
}
}
}
}
}
}
$properties = entity_get_property_info($entity_type);
$entity_types[$entity_type]['properties'] = $properties['properties'];
$entity_types[$entity_type]['integrated'] = $integrated;
$entity_types[$entity_type]['selected_properties'] = $selected_properties;
//if ($integrated) { dsm($entity_type);dsm($entity_types[$entity_type]);dsm(debug_backtrace()); }
}
}
return $entity_types;
}