Commit Graph

2112 Commits

Author SHA1 Message Date
Ralf Becker
65946d09f9 * Calendar: moving an event series is not preserving participants (gave error there are not participants) 2013-02-21 16:29:13 +00:00
Ralf Becker
811ea4bd1a * Calendar: copying of events now preservs quantity of resources 2013-02-21 15:21:19 +00:00
Nathan Gray
f61d4b64f5 Adapt calendar participants to et2 link 2013-02-08 14:07:39 +00:00
Nathan Gray
ca7f0f46ed Fix fatal error by passing correct type 2013-02-07 11:02:35 +00:00
Nathan Gray
ef826ee2b9 Change all merges to use common get_all_links() function 2013-02-07 09:36:07 +00:00
Nathan Gray
f2cdcefda1 Fix some undefined / not found js errors in et2 2013-02-05 08:34:26 +00:00
Ralf Becker
e47fca7d10 missing templates and a fix for new reply handling 2013-02-01 16:54:51 +00:00
Ralf Becker
ceb66bf332 * Calendar/FMail: allow to apply replys to meeting requests 2013-02-01 12:22:56 +00:00
Ralf Becker
a8e6f13304 * Calendar/CalDAV: fixed wrong time in notification mails caused by updates via CalDAV (not web interface), if user-timezone differs from server 2013-01-31 15:15:48 +00:00
Klaus Leithoff
9d142fec14 revert failed attempt for calendar holiday issue accidentally commited with r41527 2013-01-31 14:16:48 +00:00
Klaus Leithoff
435f726bf9 select priority should map 0 to None, not empty 2013-01-31 14:13:45 +00:00
Nathan Gray
15ecaec4f4 Get ical export working for scheduled export 2013-01-30 15:45:48 +00:00
Ralf Becker
2d503a7089 fixed backend returning all events for freebusy query with just email addresses 2013-01-29 14:56:03 +00:00
Ralf Becker
9d8c2f42c9 * CalDAV: fixed accepting event removed it from calendar, because email address of a deleted account was prefered over regular account, correctly reporting not found URLs in multiget report 2013-01-25 17:52:28 +00:00
Ralf Becker
cea2c54ee1 if we require an extra invite grant, we fail if that does not exist (bind privilege is not given in that case) 2013-01-24 15:32:56 +00:00
Ralf Becker
0fdd106cc2 * CalDAV: remove "bind" privilege (create new events right) on other users or groups calendar, if invite requires special ACL grant, which current user does NOT have 2013-01-24 12:54:08 +00:00
Nathan Gray
1c886276a8 Fix fatal error in export caused by field mismatch (not defined) 2013-01-23 23:22:37 +00:00
Nathan Gray
25a8b7dbc4 Fix iCal export 2013-01-23 16:10:17 +00:00
Nathan Gray
3f808215fe Re-work how calendar export criteria preset dates are calculated - use view start instead of today 2013-01-22 17:27:07 +00:00
Nathan Gray
f18c5b8aa1 Change view settings -> general settings for consistency 2013-01-22 16:15:12 +00:00
Nathan Gray
a816708e67 Fix deleting of entries 'Only admins can purge deleted items' 2013-01-22 15:54:23 +00:00
Nathan Gray
3102550f37 Fix selection tab plugin data 2013-01-21 18:59:33 +00:00
Nathan Gray
4d3caf78fa Implement Import/Export filters for calendar 2013-01-21 18:36:48 +00:00
Nathan Gray
df01374c23 Fix export of calendar views weekN, year 2013-01-21 16:17:56 +00:00
Nathan Gray
94f43e3147 Organise calendar preferences 2013-01-17 23:55:26 +00:00
Nathan Gray
a23abd324b - Fix deleting series with multiple events in series selected
- Fix un-deleting series only restored after selected event
2013-01-15 20:06:52 +00:00
Ralf Becker
8dde16eda6 * CalDAV/Calendar: fixed not working status change, if participant has no edit rights 2013-01-15 13:12:10 +00:00
Nathan Gray
66b95f54b6 When undeleting an event through the list context menu, if it is part of a series ask if you want to undelete the single event or the whole series 2013-01-14 17:21:28 +00:00
Ralf Becker
16cf3a642e fix warning implode(): Invalid arguments passed in line 1810/1811 2013-01-14 14:16:11 +00:00
Nathan Gray
e016bcec71 When deleting an event through the list context menu, if it is part of a series ask if you want to delete the single event or the whole series 2013-01-09 21:38:18 +00:00
Nathan Gray
c120397363 Use revert icon for Undelete action 2012-12-31 22:05:14 +00:00
Nathan Gray
dacf0706a3 Check for dry-run, or it will always import. No preview though. 2012-12-19 20:04:44 +00:00
Nathan Gray
872fe5918e Some missed skip_notifications 2012-12-18 16:00:29 +00:00
Nathan Gray
2f2ad58e98 Implement 'No notifications' flag when importing iCal 2012-12-17 23:56:56 +00:00
Klaus Leithoff
4aae715fd7 * Calendar/eSync: performance optimization: we only want to fetch the owners events, where he is a participant to, as we assume, events feature the user as the organizer only, are of no use in a users calendar on a mobile device 2012-12-12 13:33:41 +00:00
Klaus Leithoff
0be74c9b87 different method to read the next occourrence of a series; (as old method also fetched deleted exeptions as next occurrence) 2012-12-07 14:10:51 +00:00
Klaus Leithoff
83981b9cad * Calendar: fix for missing 2568to-firstname2568 and 2568to-lastname2568 replacements 2012-12-06 12:01:05 +00:00
Nathan Gray
5e85a8d3bf Add 9 hour duration 2012-12-03 18:05:04 +00:00
Nathan Gray
a0a6e14154 Revert changes to delete view - exceptions no longer shown 2012-11-14 16:25:21 +00:00
Ralf Becker
ae28edb43a * Calendar: notify responsible for a resource "participating" in a private event only with privacy-cleared details 2012-11-13 13:31:44 +00:00
Ralf Becker
d6ce940eb0 * Calendar: sort participants by there name 2012-11-13 11:23:29 +00:00
Ralf Becker
39e3d199fc * Calendar: ignore (unchangeable) status of groups for setting line-type of events: all users of a group-invitation accepted --> solid line for all accepted 2012-11-13 09:53:06 +00:00
Nathan Gray
2ecd33725d Add an action for deleted recurring events to delete the whole series 2012-11-09 18:04:08 +00:00
Nathan Gray
5057d1735e Allow viewing / editing deleted exceptions by editing the series 2012-11-09 17:14:02 +00:00
Nathan Gray
a6de0724bb Deleted recurrences (exceptions) now show when using deleted filter 2012-10-31 22:48:12 +00:00
Ralf Becker
40bf41ccdc do NOT track creator, as it does not change, only shows up in history sometimes, because eg. iCal import does not set it 2012-10-30 12:57:07 +00:00
Nathan Gray
a2744f82f0 Align series popup with selected row when in list view 2012-10-29 17:09:12 +00:00
Ralf Becker
c327cba153 consistently send ETag by using and extending put_response_headers 2012-10-29 12:23:17 +00:00
Nathan Gray
8c133f883d Calendar list does not send an event - just open the popup in the middle 2012-10-24 15:36:08 +00:00
Nathan Gray
8e1260d5c9 Copy alarms when copying an event 2012-10-23 18:35:48 +00:00
Nathan Gray
819da0ec6f Open series popup at mouse click instead of in the middle 2012-10-23 15:44:23 +00:00
Ralf Becker
3ff97fb7e6 fixed PHP Warning: Illegal string offset 2012-10-23 15:09:41 +00:00
Ralf Becker
7b32964069 * Calendar: fixed not working extending of an event series (latter recurrence end-date), after schema update in last package 2012-10-23 14:55:41 +00:00
Ralf Becker
6127be47d7 * CalDAV: fix recurring event one day short, if number of recurence specified together with event-length, after rrule in iCal 2012-10-23 14:22:33 +00:00
Ralf Becker
4b0559ab4d * CalDAV: allow organizer (edit-rights) update with If-Schedule-Tag-Match eg. from iOS or OS X iCal when event series was changed with "this in future" semantics 2012-10-23 11:35:07 +00:00
Ralf Becker
53229ef57d * Calendar/CalDAV/eSync: fixed truncating an existing daily event left it one day to long 2012-10-23 10:55:54 +00:00
Nathan Gray
6dbc821ec6 Fix 'Whole query' list actions 2012-10-22 19:44:04 +00:00
Nathan Gray
2bf57629fa Change popup positioning to absolute, maybe works better in FF/IE 2012-10-22 19:21:05 +00:00
Nathan Gray
505c87b946 - Hide exception button if start is after end (error)
- If actual date is missing (event creation), use start date for exception button
2012-10-22 17:03:02 +00:00
Nathan Gray
685bcd6632 Copy links when copying event 2012-10-22 16:15:06 +00:00
Ralf Becker
7d5c44ac61 * Calendar: deny creating of recurring events, if duration of a single recurrence is longer then the recurrence interval 2012-10-22 15:47:06 +00:00
Ralf Becker
f8a007bad4 * Calendar/CalDAV/eSync: fixed exceptions get not deleted with series via CalDAV or eSync
moved code from our UI to BO, to either delete exceptions (default) or keep them with a new UID
2012-10-22 13:15:40 +00:00
Ralf Becker
9f607a36bb * Calendar/CalDAV: fixed event created in calendar of a resource, was not editable (no owner set, now creating user is owner) 2012-10-22 12:45:04 +00:00
Nathan Gray
789b51d5cd Center 'Edit series' popup in window 2012-10-17 17:17:02 +00:00
Nathan Gray
fbd2f62012 Add copy action to list context menu 2012-10-15 22:37:24 +00:00
Nathan Gray
02e72dc15c Fix handling of recurrence and time zone 2012-10-12 17:11:29 +00:00
Ralf Becker
f5a1cd5ded * Calendar: passing links to timesheet, when creating a timesheet on an event 2012-10-08 14:53:51 +00:00
Ralf Becker
cb9c69e391 * Calendar: changed default filter for new users/instances from "all" to "default" (not showing rejected invitations) 2012-10-08 11:38:20 +00:00
Ralf Becker
5511838936 new CalendarServer:(created|updated)-by properties used in iOS6 2012-10-08 11:14:07 +00:00
Ralf Becker
4da2def464 automatic conversation of American Olson timezone names with 3 /-separated parts to a form without the middle part, eg. America/Buenos_Aires can be used instead of America/Argentina/Buenos_Aires 2012-10-07 18:00:36 +00:00
Ralf Becker
61a20467e8 * Calendar/CalDAV: deleting of recurrences under Android (eg. CalDAV Sync app) did not work
Android sets STATUS: CANCELLED instead of adding event to EXDATE of master, as other CalDAV clients do
2012-10-07 17:13:03 +00:00
Ralf Becker
d5af9a5e2c * Calendar/CalDAV: fixed not working update/delete of recurring event containing exceptions (always gave 412 Precondition Failed)
because recur_exceptions were not read on search
2012-10-07 17:10:36 +00:00
Nathan Gray
ed370717ad Adjust custom date selection to include the full end date - iCal export 2012-10-04 23:17:04 +00:00
Nathan Gray
b16302e090 Adjust custom date selection to include the full end date
Affects list view 'Selected range' and export range selection
2012-10-04 22:32:26 +00:00
Ralf Becker
49f1d43ad1 * Calendar: fixed recuring event lost start-date, if single recurrence got deleted, also installed save-guard in case other code triggers that too
caused by storing an event with unset start- or end-date, to not write it
2012-10-02 16:43:49 +00:00
Ralf Becker
edba919994 * CalDAV: deleting an already declined invitation returned 403 Forbidden, instead 204 No Content 2012-10-02 12:57:31 +00:00
Ralf Becker
fba3bda918 * Calendar/CalDAV/eSync: fixed recuring events were returned in sync, even if user rejected (after recent database schema changes) 2012-10-02 12:56:17 +00:00
Ralf Becker
0af9ed0cd9 disable sync-collection report for inbox and outbox, as the way they are created in EGw, we cant support sync-collection propperly
we filter by status unknown, but do not report event as deleted, when status changed to accepted
2012-10-02 10:35:12 +00:00
Ralf Becker
841182ff4e * CalDAV: privileges in other users calendar where reported wrong, leading clients to believe they have write rights here 2012-10-02 05:17:32 +00:00
Christian Binder
2fbf1d36e8 document merge helper function to allow download by HTTP POST request 2012-09-29 10:16:39 +00:00
Ralf Becker
bf66b8348f * Calendar/eMail: fixed sql error when clicking on iCal attachment and probably other iCal imports 2012-09-28 09:31:41 +00:00
Ralf Becker
034c431974 if event is an exception: update modified of master, to force etag, ctag and sync-token change 2012-09-28 08:07:12 +00:00
Ralf Becker
21f9f684cf if event is an exception: update modified of master, to force etag, ctag and sync-token change 2012-09-28 07:53:14 +00:00
Ralf Becker
2e6629a548 use no end-date / limit into the future, as unchanged entries would never be transferted later on, for sync-collection with empty sync-token 2012-09-27 20:19:28 +00:00
Ralf Becker
db4bdb7f74 * CalDAV/Calendar/Resources: calendars of resources can now be accessed or subscribed via CalDAV, to subscribe use CalDAV preferences 2012-09-27 15:46:08 +00:00
Ralf Becker
9c8f7fe1ea * CalDAV: fixed broken URL of private events in shared calendar user has no right to view 2012-09-27 09:02:43 +00:00
Ralf Becker
52675388a3 * CalDAV/CardDAV: sync-collection report for all apps allowing a more efficient sync 2012-09-26 14:30:47 +00:00
Ralf Becker
b3ef030984 fixed broken schdule-tag after consolidated modified commit yesterday 2012-09-26 11:09:28 +00:00
Ralf Becker
4ae5bfb875 * Calendar/eSync/eMail: fix not working accept/reject on calendar items (mails was working before) 2012-09-25 15:07:54 +00:00
Ralf Becker
7bf5b90739 * Calendar/CalDAV/eSync: tracking participant status changes now in modified date and user of calendar entry (main table), fixes sometimes not synced status changes and simplifies code a lot 2012-09-25 11:54:41 +00:00
Ralf Becker
f3ae8cec81 fixed new unlimited recuring events get not synced (range_end == 0 instead of NULL) 2012-09-19 13:37:09 +00:00
Ralf Becker
e56aa30134 fixed some sql errors because of no longer existing egw_cal_repeats.recur_enddate column 2012-09-19 10:27:28 +00:00
Ralf Becker
65bf21742a only users can be owners, no need to add groups 2012-09-18 11:40:08 +00:00
Ralf Becker
1eca8a8fa8 * Calendar/CalDAV/eSync: tremendious speed improvment for sync-queries on huge installations (few milisecs instead of more then 2 minutes) *** REQUIRES SCHEMA UPDATE *** 2012-09-18 08:02:56 +00:00
Ralf Becker
64173358e6 removed usage of MCAL_ constants in favor of own class-constants 2012-09-18 07:42:27 +00:00
Ralf Becker
8e73cf1f91 * Calendar: add duration intervalls 10, 12, 14 and 16 hours 2012-09-04 13:30:17 +00:00
Ralf Becker
7ade6b4f55 * Calendar: popup notifications now include a link again 2012-09-04 12:10:37 +00:00
Ralf Becker
1b3e897eec * Calendar: fixed since last update missing event details, notification iCal adds description with (required) *~*~*~*~*~*~*~*~*~* separator, extended has description before event details and links 2012-08-21 14:49:26 +00:00
Ralf Becker
81e1bff44d * Calendar/CalDAV: fixed not working accepting or rejecting recurrences of event series via CalDAV scheduling (eg. iOS devices) 2012-08-15 15:27:11 +00:00
Ralf Becker
df83423ca3 * Calendar: if deleting next recurrance of an event series containing alarms, move alarms to next recurrance, to not alarm for deleted recurance 2012-08-14 17:02:34 +00:00
Ralf Becker
4ac5e799eb fixed some more "Illegal string offset" 2012-08-14 07:55:05 +00:00
Ralf Becker
56a4bdfbbe * Calendar: fixed issue of deleted first recurrence shortens event and causes it not to be find in CalDAV or eSync ("event has exceptions before startdate"), REQUIRES SCHEMA UPDATE (visit setup)! 2012-08-11 10:01:02 +00:00
Ralf Becker
e83a7c1b8d cast accounts->members(hips) to array, to cope without PHP warnings for not (longer) existing accounts 2012-08-09 09:08:45 +00:00
Ralf Becker
cff9872f17 cast accounts->members(hips) to array, to cope without PHP warnings for not (longer) existing accounts 2012-08-09 08:41:29 +00:00
Klaus Leithoff
3aa89e8bbc fix for filling up the error_log in certain conditions on activesync on an non-existent event (with of course no participants). clear_private_infos created an eventarray on those, thus subsequent errors occured and had to be handeled in ExportChangesDiff::Synchronize 2012-07-25 08:07:10 +00:00
Ralf Becker
eff584ff4b * Calendar/eSync/CalDAV: meeting requests contain again nice body followed by a separator and describtion, ignore empty description in eSync ChangeMessage 2012-07-24 22:23:32 +00:00
Ralf Becker
cc52575549 * Calendar/CalDAV/eSync: not searching addressbook for CN, as match can be not unique or without an email address, causing notification to fail --> store as email address 2012-07-24 20:13:56 +00:00
Ralf Becker
5aa9b3cfc7 added missing assignment 2012-07-18 09:13:59 +00:00
Ralf Becker
5bab15b433 patch from Achim Koenigs <achim-at-tratschtante.de> to shift alarms of recurring events to first future recurrent, so they get stored, modified to not doublicate code 2012-07-18 06:45:09 +00:00
Ralf Becker
f8ae428f32 * Calendar: fixed EGroupware owner got notified about status changes, even if email-notification preference was "never", now only external chairs get always notified 2012-07-17 12:36:48 +00:00
Ralf Becker
68f9a07917 as we want ical body to be just describtion, we can NOT set links, as they get appended to body 2012-07-17 09:48:43 +00:00
Ralf Becker
74c201c714 docu fix 2012-07-15 08:01:13 +00:00
Christian Binder
f81fd11435 tag applications which have implemented document merge 2012-07-04 17:00:03 +00:00
Ralf Becker
e09a9c3198 fixed 5.4 PHP Warning: Illegal string offset 'start' or 'end' 2012-07-02 08:14:27 +00:00
Ralf Becker
b025809df1 * CalDAV/CardDAV expand-property report for principals used in iCal on OS X 10.7 2012-06-27 20:08:56 +00:00
Ralf Becker
966bde0b88 fixed warning "implode(): Invalid arguments passed" 2012-06-24 06:04:44 +00:00
Ralf Becker
3aac26d1ab * ProjectManager: allow datasources (eg. InfoLog) to set element category, update existing categories in elements to overwritten categories 2012-06-19 16:51:41 +00:00
Klaus Leithoff
0a076525b8 improve notification by allowing to set up specific popup notification messages and subjects; this is used for calendar notification to give worthwile information in popup and meet expectations for ical/rfc type notification 2012-06-13 14:50:41 +00:00
Klaus Leithoff
1d374636d4 * Calendar/esync: control skip notifications (server-side) on client-side calendar edits/add as we introduced the control of client - side notification 2012-06-13 09:47:36 +00:00
Ralf Becker
fc7dfc1ab6 * Calendar: notifications of type iCal use event-title as subject and describtion as body, like Exchange does, type extended provides old format 2012-06-12 16:59:06 +00:00
Ralf Becker
06ff3cf08b * Calendar/EMail: allow to accept, reject, tentative group invitations (gave error "You are not invited..." previously) 2012-06-12 16:18:17 +00:00
Klaus Leithoff
2da30ad703 fix of typos 2012-06-12 16:17:25 +00:00
Ralf Becker
313eb12f19 bocalendar_update::email_update_requested() allowing eSync to check if calendar will send a notification according to preferences 2012-06-12 15:44:55 +00:00
Klaus Leithoff
2eec3dd075 calendar/email: distinguish between meeting request and meeting reply, while displaying ics 2012-06-06 07:39:57 +00:00
Ralf Becker
cda03331e2 * Calendar: order search for events to link with by startdate descending 2012-05-22 17:08:00 +00:00
Ralf Becker
6ff1db3534 * Preferences all apps: add validation for vfs files and directories to give user immediate feedback about wrong or non vfs pathes 2012-05-22 13:51:30 +00:00
Ralf Becker
a1e8b468b4 fixed "PHP Catchable fatal error: Argument 1 passed to nextmatch_widget::egw_actions() must be an array, string given" 2012-05-16 09:22:52 +00:00
Ralf Becker
2f81eea8ef fixed only partially translated alarms 2012-05-15 14:41:41 +00:00
Ralf Becker
5d7c91a66e translating status-label now when the get used, to allow calendar_boupdate::_get_event_details() use language of to notify user 2012-05-15 13:23:11 +00:00
Ralf Becker
4ea76b4a95 need to init lang even earlier 2012-05-15 12:48:45 +00:00
Ralf Becker
6d1dc16ac3 * Calendar: notification always use language of current user, not of user to notify 2012-05-15 12:43:32 +00:00
Ralf Becker
ca6874b89b * Calendar: taking direct booking permission into account when copying events including resources (my.stylite bug #2839) 2012-05-15 11:20:07 +00:00
Ralf Becker
c4b76cf4e3 * Calendar: fixed not savable config "Prevent deleting of entries" as "Yes, users can purge their deleted items"
renamed from "user_purge" to "userpurge" (without underscore) as config can not handle situation when name and value contains underscores
2012-05-15 10:35:40 +00:00
Ralf Becker
84bc15ebba * CalDAV: fixed not working exceptions of recuring events in iCal on iOS or OS X (skipping optional and default VALUE=DATE-TIME attribute in iCal EXDATE component) 2012-05-10 11:25:55 +00:00
Ralf Becker
6c6259525a fix status="X" (no status set) returned by calendar_ical::ical2egw to "U" (unknown status), as participants with status "X" are not displayed 2012-04-24 15:09:17 +00:00
Ralf Becker
8c6341d551 * Calendar/EMail: when accepting email invitation from organizer who is an EGroupware user but created invitation outside: if no access to organizers calendar, make organizer a participant with role CHAIR
- show errors from calendar_boupdate::update()
2012-04-24 14:37:32 +00:00
Klaus Leithoff
b09b90b8db * calendar: use possible attribute values regarding X-MICROSOFT-CDO-ALLDAYEVENT 2012-04-24 11:03:25 +00:00
Nathan Gray
e5fd49940f Return export object 2012-04-18 18:00:21 +00:00
Nathan Gray
2452e2a4b0 Make sure ID is an array before treating it as an array 2012-04-16 19:19:44 +00:00
Nathan Gray
4feaa8375e Expansion of link_to custom fields 2012-04-11 20:03:11 +00:00
Ralf Becker
3e4ef81080 load wz_tooltips only if required: $GLOBALS[egw_info][flags][include_wz_tooltip] set or html::tooltip() called before calling common::egw_header(), calling header again as end of home page to allow apps to load stuff into the header (not only wz_tooltip) 2012-04-04 13:05:58 +00:00
Ralf Becker
ee8fd5b10e found a lot more calls to get_rows missing to set csv_export flag and fixed code in nextmatch dealing with situation if num_rows=-1 got stored in prefs anyway 2012-03-29 12:06:10 +00:00
Ralf Becker
5f284abfdc * Calendar: iCal import via mime-registry (clicking on iCal file in filemanager) displayed event in server- instead of user-time 2012-03-22 14:02:06 +00:00
Ralf Becker
c593286260 fixed SQL error reported on developer list: nothing known about column "recur_date"! 2012-03-20 07:18:44 +00:00
Ralf Becker
645d8896cd * Calendar: mail all participants was attaching iCal with wrong time(zone) 2012-03-12 12:45:54 +00:00
Ralf Becker
1575434535 * EMail/Calendar: for meeting requests to recuring events check recurrance enddate, not event-date, to deny importing it with "event is in the past" 2012-03-12 08:52:40 +00:00
Ralf Becker
21c49b0b26 * Calendar/CalDAV/eSync: fixed etag generation to NOT query maximum user-modification date for each entry, fixed etag and ctag for eSync to only use recurance master, as ActiveSync event does not contain extra participant data for exceptions (virtual and real) 2012-03-12 08:20:36 +00:00
Ralf Becker
dd8a5cf29e * Filemanager/FMail/Calendar: allow to open .eml and .ics files from filemanager in fmail or calendar (infrastructure for apps to register which mime-types they can open) 2012-03-08 18:43:40 +00:00
Ralf Becker
9b71a5c17a fixed own calendar was listed as shared too 2012-03-01 13:28:38 +00:00
Frédéric Erpicum
60b6c516ee ganttchart in popup for timesheet and calendar edit
remove date in timesheet bar title to make them shorter
2012-02-27 16:33:01 +00:00