function _radioactivity_get_field_maximum in Radioactivity 7.2
Get fields maximum energy
2 calls to _radioactivity_get_field_maximum()
- radioactivity_field_formatter_view in ./
radioactivity.field.inc - Implements hook_field_formatter_view()
- radioactivity_rules_action_maximum in ./
radioactivity.rules.inc - Action: Get maximum energy
File
- ./
radioactivity.module, line 331 - Radioactivity core functionality
Code
function _radioactivity_get_field_maximum($field_id, $entity_type) {
static $cache;
if (is_numeric($field_id)) {
$field_info = field_info_field_by_id($field_id);
$field_name = $field_info['field_name'];
}
else {
$field_name = $field_id;
}
if (isset($cache[$field_name . $entity_type])) {
return $cache[$field_name . $entity_type];
}
$table_name = 'field_data_' . $field_name;
$energy = $field_name . '_' . RADIOACTIVITY_FIELD_ENERGY;
$timestamp = $field_name . '_' . RADIOACTIVITY_FIELD_TIMESTAMP;
// grab update value from deferred values table
// and update it to the fields table if it is used
$query = db_select($table_name, "tb")
->condition("tb.entity_type", $entity_type)
->condition("tb.deleted", "0");
$query
->addExpression("MAX(tb." . $energy . ")", "energy");
$result = $query
->execute()
->fetchField();
if (!$result) {
// $cut_off;
$result = 0;
}
$cache[$field_id . $entity_type] = $result;
return $cache[$field_id . $entity_type];
}