diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 3fdeafee26311cb3f7fe91c4909c2c2c1e942118..5466c9dcf23b97b1f7efc698da4003194f3eef46 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -77,6 +77,7 @@ Fix fieldsets in field handler. #870960 by bojanz, dereine: Field label should derive from field Label, not field name. #1056824 by greggles: Rename the displayed permission from "access all views" to "bypass views access control". #1022052 bojanz, dereine: Don't add the field_info into the views data array +#970162 by longwave: Add "time hence" options to date field format Views 3.x-7.x-alpha1 (05-Jan-2011) ================================== diff --git a/handlers/views_handler_field_date.inc b/handlers/views_handler_field_date.inc index ec8352edf4eef79dcc693df1fd754d09ecf4568f..b9814aacb8cb1dfc90b7f2a0764a33199a31a6a0 100644 --- a/handlers/views_handler_field_date.inc +++ b/handlers/views_handler_field_date.inc @@ -28,7 +28,10 @@ class views_handler_field_date extends views_handler_field { 'custom' => t('Custom'), 'raw time ago' => t('Time ago'), 'time ago' => t('Time ago (with "ago" appended)'), - 'raw time span' => t('Time span (future dates start with - )'), + 'raw time hence' => t('Time hence'), + 'time hence' => t('Time hence (with "hence" appended)'), + 'raw time span' => t('Time span (future dates have "-" prepended)'), + 'inverse time span' => t('Time span (past dates have "-" prepended)'), 'time span' => t('Time span (with "ago/hence" appended)'), ), '#default_value' => isset($this->options['date_format']) ? $this->options['date_format'] : 'small', @@ -39,14 +42,14 @@ class views_handler_field_date extends views_handler_field { '#description' => t('If "Custom", see the PHP docs for date formats. If "Time ago" this is the the number of different units to display, which defaults to two.'), '#default_value' => isset($this->options['custom_date_format']) ? $this->options['custom_date_format'] : '', '#process' => array('ctools_dependent_process'), - '#dependency' => array('edit-options-date-format' => array('custom', 'raw time ago', 'time ago', 'raw time span', 'time span')), + '#dependency' => array('edit-options-date-format' => array('custom', 'raw time ago', 'time ago', 'raw time span', 'time span', 'raw time span', 'inverse time span', 'time span')), ); } function render($values) { $value = $values->{$this->field_alias}; $format = $this->options['date_format']; - if (in_array($format, array('custom', 'raw time ago', 'time ago', 'raw time span', 'time span'))) { + if (in_array($format, array('custom', 'raw time ago', 'time ago', 'raw time span', 'time span', 'raw time span', 'inverse time span', 'time span'))) { $custom_format = $this->options['custom_date_format']; } @@ -57,8 +60,14 @@ class views_handler_field_date extends views_handler_field { return format_interval($time_diff, is_numeric($custom_format) ? $custom_format : 2); case 'time ago': return t('%time ago', array('%time' => format_interval($time_diff, is_numeric($custom_format) ? $custom_format : 2))); + case 'raw time hence': + return format_interval(-$time_diff, is_numeric($custom_format) ? $custom_format : 2); + case 'time hence': + return t('%time hence', array('%time' => format_interval(-$time_diff, is_numeric($custom_format) ? $custom_format : 2))); case 'raw time span': return ($time_diff < 0 ? '-' : '') . format_interval(abs($time_diff), is_numeric($custom_format) ? $custom_format : 2); + case 'inverse time span': + return ($time_diff > 0 ? '-' : '') . format_interval(abs($time_diff), is_numeric($custom_format) ? $custom_format : 2); case 'time span': return t(($time_diff < 0 ? '%time hence' : '%time ago'), array('%time' => format_interval(abs($time_diff), is_numeric($custom_format) ? $custom_format : 2))); case 'custom':