diff --git a/drupal/sites/all/modules/contrib/date/date.devel_generate.inc b/drupal/sites/all/modules/contrib/date/date.devel_generate.inc index 47de084..1ddc4eb 100644 --- a/drupal/sites/all/modules/contrib/date/date.devel_generate.inc +++ b/drupal/sites/all/modules/contrib/date/date.devel_generate.inc @@ -15,8 +15,15 @@ function date_devel_generate($entity, $field, $instance, $bundle) { $entity_field = array(); if (isset($instance['widget']['settings']['year_range'])) { $split = explode(':', $instance['widget']['settings']['year_range']); - $back = str_replace('-', '', $split[0]); - $forward = str_replace('+', '', $split[1]); + + // Determine how much to go back and forward depending on whether a relative + // number of years (with - or + sign) or an absolute year is given. + $back = strpos($split[0], '-') === 0 + ? str_replace('-', '', $split[0]) + : date_format(date_now(), 'Y') - $split[0]; + $forward = strpos($split[1], '+') === 0 + ? str_replace('+', '', $split[1]) + : $split[1] - date_format(date_now(), 'Y'); } else { $back = 2;