Date Module 7.x
Notes to themers:
Previous versions put dates with both From and To dates into a fieldset and other dates were not.
The new code adds additional floating elements that are hard to contain, so now all dates are
enclosed in fieldsets in the node form. There are also new elements on the form, an optional
checkbox for hiding/showing the To date and an optional checkbox for hiding/showing time.
Previously dates on the node form had 'From date' and 'To date' labels above them, this
has been changed to remove those labels, using the Google calendar date entry screen
as a model. This simplifies the node form and dates take up less space. A light grey border
has been added around each collection of dates (the From date and the To date). The display
of labels above the date parts (year, month, day, date, time, etc) is controlled in the
field settings. Previous versions did not always honor those settings, this one does.
New Features/UX Improvements
- Issue #1249724 by KarenS, Gr Hojtsy, David_Rothstein, Improve usability of date and time input configuration.
- Issue #1250784 by David_Rothstein, Add user-friendly labels for start and end date values in Views.
- Issue #742146, Add option to remove X-WR-CALNAME if VEVENT is not a feed.
- Add option to change method from PUBLISH to REQUEST in VCALENDAR.
- Issue #334435, Add a theme function for the 'Date' and 'Time' labels in the Popup widget.
- Issue #1239956 by David_Rothstein, Change the default separation between from and to dates to use 'to' instead of a hyphen.
- Issue #1240628 by David_Rothstein, Make the date increment default to 15 instead of 1.
- Issue #1249724 by David_Rothstein: Improve usability of date and time input configuration
- Issue #1177198 by tim.plunkett: Allow CTools to process #dependency for date elements.
- Issue #1245562 by David_Rothstein, Rename the default date display format to something friendlier
- Issue #1239934 by David_Rothstein and Gr Hojtsy, Reuse the "years back and forward" dropdown widget on the Views filter settings page.
- Issue #1239228 by Gr Hojtsy, Date Views filter form UI improvements, clarify the way absolute and relative dates work.
- Issue #233047 by ksenzee and David_Rothstein, Add the Vegas jQuery timepicker as a new time selector option.
- Issue #1145976 by tim.plunkett and KarenS, Add 'is date' identifier to all date handlers.
- Issue #1234140 by arlinsundbulte, Change terminology in user-facing text from 'From/To Date' to 'Start/End Date'.
- Issue #1233948 by KarenS, Add 'All Day' checkbox to hide/show the time parts of the date form. If All day is chosen, any time is replaced with 00:00:00 when the form is submitted.
- Issue #1233612 by KarenS, Add 'Collect end date' checkbox for dates with optional end dates to hide/show the end date.
- Issue #821200 by scor and KarenS, Add RDF support to the date field.
- Issue #1211744 by EclipseGC and KarenS, Add a Date pager plugin that is designed to add paging in conjunction with a Date argument.
- Issue #1180612 by mikeryan, Add support for Migrate module.
- Issue #1198320 by ksenzee, David_Rothstein, Noyz: Make UI improvements to field settings page.
- Issue #1215738 by ksenzee, Make granularity settings checkboxes horizontal.
- Issue #1215686 by ksenzee, Change name of date field types to be more intuitive.
- Issue #1216996 by ksenzee, Change the years back/forward setting into two drop down boxes.
- Issue #1222468 by ksenzee, Hide timezone options when using granularity without time.
- Issue #1229388 by ksenzee, Hide formatter from/to choices on fields without multiple values.
Removed deprecated functions
- Removed date_handler_fields(), only applicable to D6 code.
- Removed date_views_real_url() and date_views_page_url(), used by older calendar version.
- Remove unused date_handler_field_multiple.
- Issue #1251592 by David_Rothstein, Set reasonable default values if date formats have not been configured, and add tests for that.
- Issue #1242764 Add tests for every possible combination of field type, timezone handling, and granularity.
- More work on tests, add a foreach loop to run through all field_type/widget_type combinations.
- Rework tests to use a base class rather than copying the same functions everywhere.
- Issue #1209408 Make sure date_repeat_calc() returns empty array for FREQ=NONE and INTERVAL=0, also add a test for that.
- Issue #1161006 by justinrandall, Add tests to check that dates that should have time but do not are correctly caught in validation.
- Issue #1256406 by q0rban, use variable_get() in hook_requirments().
- Follow up to Issue #1145976, Make sure 'is date' only gets applied to the date values, not delta, timezone, etc.
- Issue #1238364, Make sure the Date pager doesn't throw errors if the default date is missing.
- Issue #1246416, Add info to the Date Popup README.txt about how to download the WVega timepicker.
- Issue #1253230, Package name of Date Migrate was different than the other Date components.
- Issue #1251592, Add installation message and system requirements warnings about missing system date settings.
- Issue #1250784, Don't save psuedo field settings created by the new UI in the field itself.
- Issue #1239228 by David_Rothstein, Always add Date Views css to View UI edit forms.
- Issue #1254540 by David_Rothstein, Move borders off of the wrappers so they don't appear when the dates inside them are hidden.
- Issue #1253248 by David_Rothstein, Move RDF attributes handling to preprocess function.
- Issue #1087798 by anj, Fix X-WR-CALNAME in VCALENDAR.
- Issue #1254582 Repeat additions need to be adjusted to use the same time as the original date.
- Move vcalendar and vevent templates from Date Views to Date API modules.
- Follow up to Issue #1250344, We don't need extra space when there is a description, only when there is not.
- Issue #1239228 by Gr Hojtsy, More tweaks to filter css.
- Issue #1244924 by Gr Hojtsy, Minor text improvements in date filter configuration
- Issue #1245556 by David_Rothstein, Date granularity description incorrectly implies that it affects the date attributes that are displayed
- Issue #1247444 by Gr Hojtsy, Give a little breathing space to the date year range "other" field
- Issue #1250344 by jessebeach, Fix padding around date fields by adding clearfix class.
- Issue #1249116 by yched, Fix various glitches with D6 migration code.
- Issue #1243022 by fmosca and KarenS, Make sure all_day #states visibility is only set when there is a value for all_day.
- Issue #1236192 by loganfsmyth, Make sure #date_label_position has a default value in the Date Popup module.
- Issue #1246416, Test whether libraries_get_path() returns a valid path before using it.
- Issue #1235994, Don't display 'All Day' when using a format that has no time.
- Issue #1245690 by mikeryan, Migration plugin missing seconds from date formats
- Issue #1229406 by David Rothstein, Gbor Hojtsy, and tim.plunkett Fix broken timepicker in Chrome and Safari.
- Issue #1239412 by keithm, Fix validation error when #access is false.
- Issue #1232522, Don't alter field_ui_field_edit form except on date fields.
- Issue #1243842, Make sure the All Day and Show End Date flags work correctly in unlimited value fields that use ajax.
- Follow up to Issue #1239956, Fix tests broken by change in date separator.
- Issue #1241576, Fix date combo validation for all-day dates so they don't fail validation because the format is unexpected.
- Take the guesswork out of examining Date info for Views, add is_field flag.
- Follow up to Issue #874322, Date popup field needs to accept date without time for the all day flag to work.
- Follow up to Issue #1130814, It looks like the modification is not needed in date_repeat_set_month_day and date_repeat_set_year_day.
- Issue #1160132 by seanbfuller and KarenS, Exposed filter widgets were not displaying the default values.
- Adjust the way widgets are styled in Views exposed filters after the latest style changes for form elements.
- Issue #1234114 by arlinsandbulte, Add more space between checkboxes.
- Issue #1234090, Fix undefined variable 'all_day'.
- Issue #1232570 by dboulet, Remove some unneeded duplication of core clearfix and other css cleanup.
- Issue #1232614 by dboulet, Date css should not be setting font family.
- Timezone and Date Popup weren't obeying the settings for displaying the date part label.
- Issue #1130814 by cdracars, mikeryan, mayobutter, Fix date_modify difference between PHP 5.3.5 and 5.3.6 so both work to compute repeating dates.
- Issue #1017866 by KarenS and Jason89s, Make sure views argument and filter don't do timezone adjustment for dates that don't have time.
- Issue #1204988 by paulsheldrake, Remove IE6 code from datepicker CSS.
- Issue #1231864 by Damien McKenna, Clean up line endings in vevent and vcalendar tpl files.
- Issue #1231382 by dboulet, Clean up date css, code style fixes.
- Date repeat additions and exceptions need to be reworked into full, timezone-adjusted, datetime values when passing them to FAPI as default values.
- Issue #1223034 by c4rl, Make sure repeating date additions and exceptions work correctly when there is more than one repeating date in the same form.
- Issue #1229362, Date Popup module needs date_is_date() function, which should not require Date module. Move that to Date API.
- Issue #1227208 by ksenzee, Minor text changes.
- Issue #1094408, Change method of identifying Field module filters, using the name of the group is not robust enough.
- Issue #1227264 by gapa, Fix wrong class in date-pager.tpl.php.
- Issue #1207540, Summary grouping won't work right unless the formula alias doesn't match an actual field value.
- Issue #1227350 Summary query still needs the formula, add it back.
- Fix 'variables cannot be passed by reference' notice on repeats page.
- Issue #1222736 Fix export errors caused when previous export fix of using export plugins got broken by changes in Views.
- Issue #1077490 Fix notices about missing #date_flexible.
- Move the 'top' date pager to below the header instead of below attachment_before so you can add header text above it.
- The value for variable_get('date_first_day') should default to zero to match core default.
- Issue #1147620 by KarenS with an assist from tim.plunkett, Fix the query so it will locate dates that span days or months by checking the intersection of the date range and the query range. Also add an option to the argument so you can do a simple query for either the from or to date when checking the whole range isn't the right solution.
- Issue #307274 by ksenzee, Fix broken validation for absolute value in years back/forward.
- Issue #1173374 by fietserwin, Remove translation of the jQuery datepicker day and month names, now handled by core.
- Issue #1192020 by tim.plunkett: Fixed date granularity is too fragile in date_field_all_day().
- Issue #1110012 Remove 'parent' items from Views plugins, no longer needed? See if this fixes the issue.
- Issue #1183892, Initialize $identifier in date_views_filter_handler_simple.
- Issue #1103290 by stickywes and ingaro, Change postgres 'FMYYYY-FMMM-FMDDTFMHH:FMMI:FMSS' to 'FMYYYY-FMMM-FMDDTFMHH24:FMMI:FMSS'.
- Issue #1186528 by jox, Make date field combo label translatable.
- Issue #1123186 by KingJoshi, Fix misnamed date_part_hour_prefix in hook_theme().
- Issue #1032942 by fietserwin, Rename date popup functions that are getting picked up by theme('date').
- Issue #1206756 More tweaks to the validation changes. They were blocking zero times and causing some test failures.
- Issue #1197352 Don't display language about from and to dates when there is no todate.
- Issue #1201288 by rafa0961, fix broken references to SQLSERVER.
- More work on cleaning up validation, add in some ideas from fearlsgrove about checking the granularity of the input array against the expected granularity.
- Issue #1161006 Dates that should have time but do not were not correctly caught in validation.
- Get rid of overlapping formatter functionality. There should be a default formatter with the option to choose a date format as a setting, not a formatter for each format. This was a leftover from the D6 functionality.
- Issue #1159404 by mikeryan, Fix incorrect call to parse an rrule in date_repeat_build_dates().
- Issue #1160656 by jjs, Replace missing break in date_api.sql.inc that breaks PostgreSQL.
- Issue #1150454, Fix undefined index notices for repeat_collapsed value.
- Issue #1150462, Put length limit on content type names created by Date Tools so block delta won't overflow the allowed size.
- Issue #1136734, When migrating date format data from D6 to D7, don't try to overwrite existing custom values.
- Issue #1161042 by Ollie222, Date filters using time were inconsistently formatted.
- Issue #1130884, Bad logic in 'between' filter SQL, should always join with AND.
- Issue #1139418 by ankur, Bad logic in week argument SQL, should always join with AND.
- Issue #1118356, Disabling the Timepicker was having no effect.
- Issue #408770 by vkareh, Make sure dates with #access = FALSE get passed through date_combo_element_process().
- Issue #1037174 by das-peter, add ajax support to date popup.
- Issue #1160614 by joelstein, Make sure date repeat rule gets split correctly no matter which line endings were used.
- Issue #1110708 by mr.baileys, Fix problem combining date filter with other exposed filters.
- Switch some references to $node to use $entity instead.
- Issue #1112206, add a dummy field to the date navigation bar query to keep it from trying to create invalid sql.
- Issue #1112206, $this->view->query->clear_fields() is still need for date_browser to keep Views from trying to use missing field values.
- Date browser only works with date_argument, should work with any argument derived from date.
- Issue #1138700, missed a couple references to the construct() function.
- Follow up to Issue #1103290, constructor was not set up correctly and did not get triggered, so none of the date handlers had a db_type.
- Issue #1138622, preliminary pass at adding support for SQL Server.
- Issue #1136618 by ksenzee, Fix broken hide/show capability for date filter values.
- Issue #1059078 Add preliminary support for SQLite dates.
- Issue #1103290 by kevintheday, Use db_driver() to determine database engine.
- The 'now' values got broken again somewhere along the line. Now we need to switch the ISO format used by our SQL queries back to the datetime format the widgets use.
- Looks like Views changed ['expose']['operator'] to ['expose']['operator_id'].
- Issue #1115770, Make sure filters values are switched back to ISO format so time comparisons work correctly.
- Issue #1132916 by znerol, Fix a couple more usages of date_default_timezone_name().
- Issue #1131308 Don't try to do timzone conversion when there is no localzone for a field.
- Issue #1093222 Fix broken function to remove calendar views.
- Issue #820670 Add update to move D6 date format data to D7 data.
- Issue 1074344 Fix problem with date select widget that keeps resetting pm back to am.
- Issue #1001186 Make sure that a 2 digit year is flagged as an error.
- Issue #1117420 by threewestwinds, Make timepicker formats more useful.
- Issue #1126408 by thekevinday, Add more sql formats to date api.
- Issue #1129326 by robertom, add missing value to element in date_combo.
- Issue #998220 by jamsilver and yched, fix handling of validation in date_combo. This also fixes errors when using a date in Profile 2 and Field Collections.
- Issue #1022592 by andypost and tim.plunkett optimize hook_form_alter into hook_form FORMID_alter.
- Issue 1021424 by joostvdl and wiizzard, fix context in translations to use core values.
- Remove extra fields from the Date field. I think the filter and argument now get the right tables joined in without that. We still need the extra fields on calendar, but now we will only add them in the calendar view.
- Fix some notices in vcalendar theme.
- Fix the mini calendar querystring.
- Fix logic for day argument formula.
- Fix logic for week argument formula.
- Issue #1086582 by bojanz, summary options are in a different place now, fix the method of removing the summary option on multiple-date arguments.
- Views renamed 'wildcard' to 'exception'.
- Apparently the handler->argument value is not always populated.
- Fix fallback value for date_group.
- Issue #1103032 by tim.plunkett, Remove token integration code until Token module is fixed.
- Now that there is no group of 'Fields' we need different tests to tell if this is a field filter.
- Views changed the group name of fields from 'Fields' to 'Content'. Blech, broke everything.
- Fix potential error if handler is broken.
- Remove reference to a function that no longer exists in Views.
- Issue #1116962 by jpontani, mordonez: Parse Error - date_views_fields.inc on line 119.
- Fix the logic for year and month only dates.
- Add helper function to test if handler is a date handler.
- Fix broken handling when creating dates from timestamps.
- Set some defaults for dates without month or day.
- Issue ##1094408 by Boobaa: Date field not showing up in views arguments in localized site
- Issue #1018412 by omerida: get_class() called without object.
- There were some problems when creating a year-only date using the select filter caused by trying to create a date with zeros in the month and day. Fix the date building logic to force a valid month and day into them.
- Complex filters were not using the date handler of the individual fields.
- Issue #1100934, Replace deprecated date_array() function.
- #1096246 Date argument also was not applying the group method in the right place in the query, causing that method to be applied to all filters.
- Missed a couple places when re-naming the get_value() function in the filter.
- Fix more notices.
- #1096246 Date filter was not apply the group method in the right place in the query, causing that method to be applied to all filters.
- Fix undefined index notice.
- Remove non-used function.
- Issue #1082654 by arlinsandbulte: Remove master branch files and explain in readme.txt
- Issue #906622 by bfroehle, Start cleanup of Date token code.
- Fix typo in form processing.
- Clean up the admin summary for the date filter.
- Fix another use of get_value() in the filter.
- Fix some strict errors in the views filter.
- #1094408 by Boobaa: Date field not showing up in views arguments in localized site
- #1041428, by tim.plunkett: Fix logic errors in 'All Day' computations.
- #1054458: Move date_increment_round() function into Date API module so it is always available.
- #745074, by rsevero: Don't test for valid timezone-adjusted date for dates that don't use time.
- #1076992: The timezone element never got completely updated to D7.
- #1013662 by developer-x: Remove check for start and end date - this prevented multiday-all day events from showing 'All Day'
- #1082658: Saving the options as arrays breaks other things. Add a custom export plugin instead.
- #1082658, Views options need to be declared as arrays or they are not saved in the export in Views 3.
- #1075896 Break out the code into the simple argument and a complex argument that combines date fields.
- #1075890 Break out the code into the simple filter and a complex filter that combines date fields.
Abandoned the 7.x-1.x branch.
Start a new 7.x-2.x branch that will contain a complete re-work of the Views handling.
The 7.x-2.x branch will totally re-work and simplify the Views filters. These changes may/will
break some views and will require that you check views that use the date filter or
argument to be sure they are still configured correctly.
There is a new date_filter_handler_simple for an individual date field that simplifies
the Views handling by using most of the core Views field handling but adds in the
possibility to set a default date using options like 'now', along with a choice of a
month/day/year drop-down selector or popup calendar selector.
The date_filter_handler is an extension of the simple handler that allows you to combine
multiple dates into a single filter so that you can control all of them with the same
filter widget, allowing you to either 'OR' or 'AND' them together.
The arguments will be rewritten in the same way, with a simple argument handler for
individual dates and another handler that extends that to control multiple dates with
a single argument.
- Add some error trapping in case the parent dateObject is unable to make a date out of a string to avoid showing the user errors.
- #1027752 by B-Prod and dboulet, Fix missing table join on argument summary view.
- #1047412 by das-peter - Using date filter in February causes "The day is invalid" error.
- #1014162 Now that the datefield processing expands to date & time, the form_value is corrupted.
- Changes to the data migration code to work with latest iteration of Content Migrate.
- Views made lots of changes to field handling just before the new release, which broke lots of things here.
- Adding some work-arounds to get things working again and waiting until the dust settles on how the new core fields will be handled in Views before doing much more with the Views integration. These changes should get things working with latest Views release.
- Initial release, probably still buggy.
- Remove Date PHP4, no longer needed because PHP4 is not supported any more.
- Remove Date Timezone, now handled by core.