function apachesolr_get_max_date in Apache Solr Search 7
Same name and namespace in other branches
- 8 apachesolr.module \apachesolr_get_max_date()
- 6.3 apachesolr.module \apachesolr_get_max_date()
Callback that returns the maximum value of the facet's date field.
@todo Cache this value.
Parameters
$facet: An array containing the facet definition.
Return value
The maximum time of the field.
1 string reference to 'apachesolr_get_max_date'
- date_apachesolr_field_mappings in ./
apachesolr.module - Implements hook_apachesolr_field_mappings() on behalf of date module.
File
- ./
apachesolr.module, line 2714 - Integration with the Apache Solr search application.
Code
function apachesolr_get_max_date(array $facet) {
// FieldAPI date fields.
$table = 'field_data_' . $facet['field api name'];
$column = $facet['field api name'] . '_value';
$query = db_select($table, 't');
$query
->addExpression('MAX(' . $column . ')', 'max');
$query_max = $query
->execute()
->fetch()->max;
// Update to unix timestamp if this is an ISO or other format.
if (is_numeric($query_max)) {
$return = (int) $query_max;
}
else {
$return = strtotime($query_max);
if ($return === FALSE) {
// Not a string that strtotime accepts (ex. '0000-00-00T00:00:00').
// Return default end date of 1 year from now.
$return = time() + 52 * 7 * 24 * 60 * 60;
}
}
return $return;
}