function eck_property_behavior_invoke_plugin in Entity Construction Kit (ECK) 7.2
Same name and namespace in other branches
- 7.3 eck.property_behavior.inc \eck_property_behavior_invoke_plugin()
A general function to call specific functions in a property behavior plugin.
9 calls to eck_property_behavior_invoke_plugin()
- eck_entity_delete in ./
eck.module - Implements hook_entity_delete().
- eck_entity_insert in ./
eck.module - Implements hook_entity_insert().
- eck_entity_presave in ./
eck.module - Implements hook_entity_presave().
- eck_entity_update in ./
eck.module - Implements hook_entity_update().
- eck__entity__form in ./
eck.entity.inc - Sets up an entities form.
File
- ./
eck.property_behavior.inc, line 40 - Property Behaviors.
Code
function eck_property_behavior_invoke_plugin($entity_type, $function_name, $all = array(), $specific = array()) {
$properties = $entity_type->properties;
$returns = array();
foreach ($properties as $property => $info) {
// If there is a behavior associated with this property we need to call the
// appropiate hooks.
if (array_key_exists('behavior', $info) && !empty($info['behavior'])) {
$behavior = $info['behavior'];
$plugin = ctools_get_plugins('eck', 'property_behavior', $behavior);
$function = ctools_plugin_get_function($plugin, $function_name);
if ($function) {
if (array_key_exists($property, $specific)) {
$return = $function($property, array_merge($all, $specific[$property]));
}
else {
$return = $function($property, $all);
}
if ($return) {
$returns[$property] = $return;
}
}
}
}
return $returns;
}