Commit Graph

2235 Commits

Author SHA1 Message Date
Nathan Gray
02861daf88 Add mergeprint tag for links to a specified application: links/appname 2012-01-06 18:35:34 +00:00
Ralf Becker
7630f59a13 * Calendar: new (forcable) user preference to notify external participants (non-EGroupware users), event owner has to set it, it is off by default, to keep the current behavior of not notifying externals 2012-01-05 05:47:02 +00:00
Ralf Becker
14c36dd999 * Calendar: button to close a single calendar if multiple calendars are shown (day, week and planner view) 2012-01-05 04:12:13 +00:00
Klaus Leithoff
eb6aa373e3 silence error_log from calendar_bo triggered by statMessage 2011-12-23 11:24:29 +00:00
Klaus Leithoff
3d3f0724df * calendar/esync: do not allow a minimum length of less then 1 for uid; esync: if no UID given, do not even try to fetch exceptions. 2011-12-22 14:03:12 +00:00
Nathan Gray
c23be59179 Use due date, or completed date, or start + duration preference (in order) for end date 2011-12-21 15:36:02 +00:00
Nathan Gray
4efa3dd4ae - Copy infolog entry links into calendar entry
- Match categories by name
- Event owner is current user, not infolog owner
2011-12-19 20:45:05 +00:00
Klaus Leithoff
d09b7ad087 add action to choose between sending meeting requests or a mail with the ics file of an event attached. 2011-12-16 09:55:57 +00:00
Nathan Gray
f6a443a917 Add warnings to import plugin 2011-12-15 16:24:47 +00:00
Nathan Gray
5c8bf4ec27 - Fix infolog linked contact -> participant
- Add infolog main link to calendar entry
2011-12-14 15:45:54 +00:00
Nathan Gray
3c30791c5c When creating calendar from infolog, don't add the currently selected calendar users, just the ones from infolog 2011-12-13 17:38:09 +00:00
Nathan Gray
2f4d8848c5 - Remove previously added hook & base class, turns out there's an established way to do it...
- Use existing link_app type hook to create calendar from infolog
2011-12-12 21:51:12 +00:00
Nathan Gray
332427277d Add ability to create calendar entries from infolog entries, using new base so other apps can be added (hopefully) easily later 2011-12-08 23:20:49 +00:00
Klaus Leithoff
220afbf728 * calendar/esync: active-sync does NOT want calendar owner as participant 2011-12-06 14:00:04 +00:00
Ralf Becker
f99e4f276a * CalDAV: fixed group-invitations got lost (urn:uuid url lost one char with each new import) 2011-11-24 14:37:12 +00:00
Ralf Becker
68dd900091 * Calendar: fixed groupmembers cant accept/reject group-invitations in listview via context-menu (error: failed because of insufficient rights!) 2011-11-21 14:25:44 +00:00
Ralf Becker
7c9dd8086f changed "No defintion" to "Old fixed definition" 2011-11-21 10:01:08 +00:00
Nathan Gray
1afba81ce8 Add 'No definition' option for default export definition preference. Allows use of legacy nextmatch CSV export with Import/Export app still available 2011-11-18 16:01:57 +00:00
Ralf Becker
cf5f904abc fixed fatal error: Cannot pass parameter 6 (of calendar_boupdate::update) by reference 2011-11-11 12:54:03 +00:00
Ralf Becker
89ed7d49d1 fixed alarm on series got lost, if creating an exception 2011-11-11 12:46:34 +00:00
Ralf Becker
bed836de18 * Calendar: modified column position for overlapping events, allways leave some space on the left for drag-n-drop or clicking 2011-11-11 07:28:13 +00:00
Ralf Becker
5458179c30 fixed modifying an existing event with timezone different from default timezone of user to a whole-day event (no timezone allowed according to iCal rfc) 2011-11-10 18:47:53 +00:00
Ralf Becker
8f8268f91e * Calendar: fixed many issues when moving or modifiny (parts of a) recurring event (alarms, recurrance type, time) 2011-11-10 18:39:08 +00:00
Ralf Becker
4703ccbcb3 always return an array, if an array is given as argument 2011-11-10 06:40:55 +00:00
Ralf Becker
cf1eee2818 max_user_modified for recurring events has to include all recurrences, otherwise we get a "412 Precondition Failed" in CalDAV, as it is part of the ETag 2011-11-09 17:53:42 +00:00
Nathan Gray
659406537b Remove accidentally committed test code 2011-11-09 15:50:22 +00:00
Ralf Becker
b0a22dae6a removed calendar-preference "color for Apple iCal", as it set a single color for all calendars you have access too, storing and returning color set by iCal (untested) 2011-11-09 13:23:53 +00:00
Ralf Becker
684d23326e * Calendar: fixed MyStylite bug #2434: context menu could be used to invite yourself to any event you can read 2011-11-09 09:44:28 +00:00
Nathan Gray
33a59d331d Add custom fields to import field list 2011-11-08 22:33:34 +00:00
Nathan Gray
a2c0da6ccc When exporting from list view, default selection options to listview settings 2011-11-08 22:01:41 +00:00
Ralf Becker
f37f8578cf - fixed calendar_ical::importVCal() to (again) return 0 on etag mis-match, as documented and return 412 Precondition Failed in that case
- Disabling Schedule-Tag handling completly, as current implementation seems to create too much trouble with iCal under OS X or iOS, which send If-Schedule-Tag-Match condition event for major updates, not just changing own status or alarms
2011-11-08 21:09:06 +00:00
Ralf Becker
8cad47e22f fixing r37108 calendar_timezone::DateTimeZone() returns a DateTimeZone not an egw_time object 2011-11-07 17:11:59 +00:00
Klaus Leithoff
0d0511b099 * calendar/esync: handle error regarding not getting an egw_time object but no exception is thrown; may be php 5.2.x related. occurs when a NokiaE72 tries to open Outlook invitations 2011-11-03 14:20:49 +00:00
Nathan Gray
4ab5f97ed0 Add {{links}}, {{attachments}}, {{links_attachments}} placeholders 2011-10-26 16:45:38 +00:00
Philip Herbert
0b924e9e6e esync: fix for not updated calender, contact, task on device if only description or note was changed in EGroupware. Also fixing issue that values in these fields could not be deleted on several devices. 2011-10-23 18:16:41 +00:00
Ralf Becker
b599d4a4e2 using maximum of cal_modified and cal_user_modified for iCal LAST-MODIFIED too 2011-10-23 08:31:44 +00:00
Ralf Becker
5e132c5a53 Two more fixes (thanks to Roland Scherer):
- using maximum from calendar modified and user_modified for getlastmodified, as for the etag
- invitations in inbox have to use METHOD: PUBLISH (not REQUEST)
2011-10-23 08:13:35 +00:00
Ralf Becker
291b540aa7 fix for iCal4OL using WinHTTP only supporting a certain header length 2011-10-23 07:59:05 +00:00
Ralf Becker
8096c34bef - fixed ORGANIZER/ATTENDEE in iCal for CalDAV:
+ do NOT use ORGANIZER for events without further participants or a different organizer
+ do not include event owner/ORGANIZER as participant in his own calendar, if he is only participant
--> all other cases include ORGANZIER and additional as ATTENDEE (tested with iCal on iOS and OS X)
- implemented schedule-tag and If-Schedule-Tag-Match header from CalDAV Scheduling
- allow to change participant status and add/remove alarms with schedule-tag instead of ETag
--> If-Schedule-Tag-Match header has precedence over If-Match (ETag) header, but limits changes to participant status and alarms
--> ToDo: test accepting, rejecting recurrences
2011-10-20 20:10:04 +00:00
Ralf Becker
d898e6c627 calendar-timezone needs full vcalendar component, not just a vtimezone 2011-10-20 14:01:16 +00:00
Ralf Becker
ceaec3d3c1 added calendar-timezone property, changed groupdav_handler::extra_properties signature (removed static and added $user parameter), removed calendar-user-address-set property belonging only to principal 2011-10-20 13:35:01 +00:00
Ralf Becker
0580322fd7 * eSync/Calendar fixed "wrong" generation of AS timezone blobs from TZID
still some issues left with start- and endtime, might also be caused by wrong data on the device, but dont do much harm
2011-10-20 11:23:52 +00:00
Ralf Becker
3d66a8d948 return app, so it can be used in CalDAV to generate urn:uuid 2011-10-17 15:44:26 +00:00
Ralf Becker
512138ed56 diverse fixes for resources&locations, thought iCal only autocompletes locations, no idea why it skips resources, thought resources booked via webgui are shown correct 2011-10-17 15:36:28 +00:00
Ralf Becker
77fb521ccd fixed not exported participants via CalDAV 2011-10-17 14:06:21 +00:00
Ralf Becker
a949acf031 locations and resources principal tree, should allow (untested!) to add resources via iCal autocomplate and "subscribe" to resource calendars 2011-10-16 08:53:07 +00:00
Ralf Becker
49a6cdd34d reverting accidental commit r36964 2011-10-16 08:51:11 +00:00
Ralf Becker
377a32ef7a not announcing DAV level 2, as we dont support locking 2011-10-16 08:49:29 +00:00
Ralf Becker
897bef41f6 fixed timezone alias update always reports one timezone update, event if it updated nothing 2011-10-11 13:09:51 +00:00
Ralf Becker
84c4174a3a fixed wrong logic in alias update: windows timezone is added as alias for an existing tzid, value new tz_alias column is the id of the given tzid 2011-10-11 11:43:18 +00:00
Ralf Becker
873c737b8c added missing static to calendar_timezones::DateTimeZone($tzid) 2011-10-11 09:57:38 +00:00
Ralf Becker
6385b94108 fixing the fix: DTSTART is in UTC time, Horde_iCalendar parses it in server timezone, which we need to set again for printing 2011-10-09 17:48:12 +00:00
Ralf Becker
c2f74d0c72 * CalDAV: fixed wrong VTIMEZONE component generated (has to be in UTC), probably fixes bug #2984: Problem with VTIMEZONE component generated for NZ 2011-10-08 18:40:29 +00:00
Ralf Becker
b2fa12eb3e remove unusual and unnecessary "EGw-...-wGE" prefix/postfix from etag and ctag 2011-10-08 11:34:55 +00:00
Ralf Becker
b2ea1a7d05 new method groupdav_principals::url2uid to convert a principal url to a calendar uid, fixes emclient uses urn:uuid urls in outbox posts to get freebusy 2011-10-07 06:02:30 +00:00
Ralf Becker
196f461de7 * Calendar: added windows timezones to all installations (was added in calendar update 1.7.005, but not to new installs) 2011-10-07 05:08:33 +00:00
Philip Herbert
9b8dccb16d disable debug 2011-10-05 23:21:51 +00:00
Ralf Becker
e05ce4d614 enclosing etag in quotes, as most servers do 2011-10-05 08:15:24 +00:00
Ralf Becker
bedafe6c79 fixed "403 Forbidden" when a participant with a group invitation tried to delete the event from his calendar 2011-10-05 07:39:11 +00:00
Ralf Becker
23584253fd not returning deleted entries for read, as they might have identical UID for caldav_name as a non-deleted entry and would therefore block access to these 2011-10-04 14:18:35 +00:00
Ralf Becker
0de2f3c527 fixed profind depth 0 directly on a resource contains name-part twice 2011-10-04 12:16:03 +00:00
Ralf Becker
288a88239b we should not return an etag here, as we never store the PUT ical byte-by-byte 2011-10-03 15:48:24 +00:00
Ralf Becker
175197d7c0 * CalDAV: no METHOD:PUBLISH for CalDAV outside the inbox 2011-10-03 12:53:28 +00:00
Ralf Becker
58f4cc1405 * CalDAC fix for aCal Android client sending DTSTART+DURATION instead of DTSTART+DTEND
- for new events, allways add owner as participant. Users expect to participate too, if they invite further participants
2011-10-03 09:43:06 +00:00
Ralf Becker
b11fa0302f * CalDAV/GroupDAV: return empty collection, as iCal under iOS 5 had problems with returning "404 Not found" status 2011-09-30 12:52:40 +00:00
Ralf Becker
0a7b7e40c8 - improved principal-property-search report to support test=(allof|anyof) and match-type=(contains|starts-with) attributes used by iOS iCal to autocomplete participants
--> participants are - thanks to CalDAV scheduling - now setable for new event, thought searching for them does NOT yet work, no idea why ;-)
- added somehow missing calendar-query report to supported-report-set
2011-09-24 21:10:53 +00:00
Ralf Becker
3f830b2bff - implemented principal-property-search report required for WebDAV ACL and used by Lightning to search for calendar-home-set
- had to implement a workaround for Lightning, as it wrongly interprets principal-property-search for calendar-home-set in the principal-collection-set
  matching our *DAV root returning all principals, as all have a matching calendar-home-set, as NOT supporting CalDAV scheduling
  --> search only current user's principal, when Lightning searches for calendar-home-set
- OPTIONS / return now calendar-auto-scheduling too, as Lightning only searches there, to check if server supports CalDAV scheduling
- fixed outbox freebusy request to cope with no X-CALENDARSERVER-MASK-UID and a single attendee
2011-09-23 12:04:21 +00:00
Ralf Becker
df1d9e81b2 - implemented regular CalDAV free-busy-query report
- fixed FBTYPE for tentative accepted invitations: BUSY-TENTATIVE
- fixed typo stalling outbox free-busy request
2011-09-22 19:49:01 +00:00
Ralf Becker
b5269738d7 read-free-busy, schedule-send and schedule-deliver privileges 2011-09-22 18:46:16 +00:00
Ralf Becker
c26fcffda7 first step for CalDAV scheduling
- principal reports scheduling-inbox-URL /<username>/inbox/ and scheduling-outbox-URL /<username>/outbox/
- outbox collection contains no events
- outbox correctly answers POST for freebusy information
- outbox respons to all other POST with "204 No Content", ignore client request to deliver invitations
- inbox collection contains events of unknown status (PARTSTAT=NEEDS-ACTION)
- inbox responds to DELETE with "200 Ok"
--> iCal under OS X now shows freebusy times :-)
(had to add "write-content" privilege for calendar collections user has edit rights for, to allow adding events)
2011-09-22 15:22:52 +00:00
Ralf Becker
1f39e5c562 - added WebDAV ACL props supported-privilege-set and current-user-privilege-set
+ currently only standard WebDAV privileges: read, read-current-user-privilege-set, write-content, bind and unbind used
  + they get only queried for collections, thought we dont report any write* on collections, as we dont allow to create calendars or change properties
- new groupdav::add_resource() method used to add all resources (incl. collections) to propfind or report requests
- improved autoindex to show nicely indented hierarchical properties
2011-09-21 20:08:21 +00:00
Ralf Becker
03ed1d3ddb - refactored code to use a single add_collection method in groupdav class
--> app groupdav classes now get calling groupdav object as parameter
Had a quick test with iOS & OS X addressbook, calendar and with Lightning
2011-09-18 10:56:56 +00:00
Klaus Leithoff
2d494997ab rework of bo_merge::getExportLimit, apply to etemplate, importexport, addressbook, calendar 2011-09-16 13:03:46 +00:00
Klaus Leithoff
f616b34f58 API: introduce register_single_app_hook to be able to add or update one hook for an required app. register added/updated hooks with ->location; calendar and addressbook are using this to insert export_limit hook if not available. use app hook to fetch app specific export limit with import_export side_menu additions too 2011-09-15 16:53:20 +00:00
Klaus Leithoff
fc3fc728a4 register_hooks, without hook array, does not reregister all app hooks, so use register_all_hooks instead 2011-09-15 15:03:25 +00:00
Klaus Leithoff
d9905d3fb4 calendar/addressbook/API: introduce hook to fetch the export_limit to be applied for an app; introduce method to test if a specific hook exists for an application; fetch the export_limit via hook where appropriate 2011-09-15 14:46:56 +00:00
Klaus Leithoff
70a7026915 * merge_print/calendar: control the availability of mergeprint and csv export, if the export_limit is set to ->no<- and the user in question is not exempted from export_limit restrictions 2011-09-14 13:09:13 +00:00
Klaus Leithoff
36e3a1b8ce add missing translations for export_limit feature of calendar, correcting translation strings for export_limit warnings 2011-09-14 10:27:53 +00:00
Klaus Leithoff
74b41ec99a fix bug regarding merge_print with export_limit set in calendar, as calendar may pass a search query instead of a list of ids (this is the reason, why the test within bo_merge on export_limit is not working as expected) 2011-09-13 15:41:31 +00:00
Klaus Leithoff
d52c72207c * calendar/importexport/addressbook: calendar introduce new config option to set app specific export_limit; calendar csv export: use enumerate for exporting events as csv; bo_merge: introduce new helper functions to get and check export-limit; addressbook: use new helper functions 2011-09-13 09:05:33 +00:00
Ralf Becker
0b96631cd4 Do NOT move start- and end-date, to the earliest exception, as they will NOT be found in CalDAV or ActiveSync, because
we only recognice recuring events which start before or in the current timerange and end in or after it or have no end-date.
--> give an error message, as it is a debuging/support nightmare, if this gets silently fixed when reading events.
No idea how this situation (exceptions before startdate) can be created anyway.
2011-09-12 11:04:48 +00:00
Ralf Becker
b633044a46 * API/Calendar: allow to link to accounts and allow to select accounts as participants by searching them like contacts 2011-09-07 14:47:51 +00:00
Klaus Leithoff
7ab7b51bc8 fix typo and missing param for uilist::get_rows 2011-09-05 07:12:57 +00:00
Klaus Leithoff
1d8034e17b code cleanup: as bo_merge::is_export_limit_excepted checks for ->is Admin<- already 2011-08-30 15:13:58 +00:00
Klaus Leithoff
10411b539d adapting missed export_limit_excepted processing to static bo_merge::is_export_limit_excepted 2011-08-30 14:49:49 +00:00
Nathan Gray
16bafa78b8 Implement export restriction exception for given users/groups in apps 2011-08-17 15:38:56 +00:00
Ralf Becker
8996f45e9e * Calendar: not using freebusy rights for searching calendar, as it would allow to probe for event contents
- optimised private event filter for searching to not query private grants (again) from database
2011-08-16 10:20:40 +00:00
Ralf Becker
d2a87d2de4 fixed Warning: DateTime::modify(): Failed to parse time string (1234.5 second) at position 7 (s): The timezone could not be found in the database, caused by second fraction 2011-08-11 08:41:13 +00:00
Ralf Becker
378526a648 quietend PHP Warning: explode() expects parameter 2 to be string, array given on line 313 2011-08-11 07:41:18 +00:00
Ralf Becker
3819816248 * Calendar: fixed various issues with history in calendar: id display, unecessary stuff loged, ... 2011-08-04 14:00:15 +00:00
Ralf Becker
17f6dad7eb * CalDAV: fixed and enabled iterator again, to minimize resource usage, fix for mystylite bug #1942
it was disabled because sql query was broken, because we did not use MIN(cal_end) multiple events per cal_id were returned
2011-08-03 16:13:56 +00:00
Ralf Becker
5f415cafc2 - clearify wording "display holidays or birthdays as events *in dayview*", as it currently only works in dayview and might take to much space for other views
- fixed holidays as events to show no participants and not as private
2011-08-03 15:12:07 +00:00
Ralf Becker
9b8921116b * Calendar: show status set for the whole series at recurrences too, unless they have an individual status
removed previous participants call now completly, as the above changes archive the same thing, without enumerating all recurrences to the database
2011-08-03 12:35:42 +00:00
Ralf Becker
74ddade8a0 fixed PHP fatal error: can not pass parameter 6 by reference 2011-08-02 15:55:20 +00:00
Ralf Becker
26f08e7149 fixing r35871: status was not explicitly set to false (only to true) and therefore not editable 2011-08-01 16:36:54 +00:00
Ralf Becker
b11767f450 * Calendar: fixed in readonly events custom fields were still editable 2011-08-01 15:57:23 +00:00
Klaus Leithoff
5529618ba1 fix broken category search, selected cat=1 always, when only one category wasselected, as (int) of an array does not give the required/expected result 2011-07-19 07:32:28 +00:00
Ralf Becker
816cae2dfa * CalDAV/GroupDAV: disabling not working iterator, causing not all events to be returned to client 2011-07-08 08:01:33 +00:00
Nathan Gray
c5de5fd8e2 Use edit popup for text link as well as icons 2011-07-06 16:04:18 +00:00
Nathan Gray
624839d0db Translations for placeholder labels 2011-07-05 22:21:49 +00:00
Nathan Gray
d69661ab55 Don't use start or end for range labels if they're missing / 0 2011-07-04 21:22:57 +00:00
Nathan Gray
31d1e20bdc Fix typo: definitition -> definition 2011-07-04 20:00:26 +00:00
Nathan Gray
109f2d0f90 Cleanup translations - move common stuff into preferences 2011-07-04 19:01:54 +00:00
Ralf Becker
d79a1740be * Calendar: fixed not working accept/reject of invitations, if participant is in a group with only a freebusy grant
- previouse prevented that, thought we dont know why it was implemented that way
2011-06-26 15:46:30 +00:00
Ralf Becker
be76b42634 file_access_user implementation for calendar 2011-06-26 15:41:21 +00:00
Jörg Lehrke
ef6393e8af * Fix RRULE parser (UTC fix) - Bug#2991@egroupware.org 2011-06-25 17:48:27 +00:00
Jörg Lehrke
6b084b40f9 * Fix RRULE parser (2nd part) - Bug#2991@egroupware.org 2011-06-25 14:15:16 +00:00
Jörg Lehrke
5e8e806651 * Fix RRULE parser - Bug#2991@egroupware.org 2011-06-25 12:13:36 +00:00
Nathan Gray
52e8ccef0d Fix wrong category link 2011-06-22 18:51:19 +00:00
Nathan Gray
4b81bb8e75 Make merging from list view work closer to merging from other views. Date range will be pulled from selected entries. 2011-06-22 17:23:04 +00:00
Nathan Gray
cadc2ff6e3 Display errors from merge sub-system 2011-06-22 15:34:00 +00:00
Nathan Gray
275a1d3f27 Change category list links 2011-06-21 21:14:51 +00:00
Ralf Becker
0d310bcddd fix exception: calendar_bo::resource_info(NULL) parameter must be scalar, when deleting and afterwards adding a participant 2011-06-21 06:46:51 +00:00
Nathan Gray
36a2be6dd3 Fix merge from list view 2011-06-20 18:21:29 +00:00
Ralf Becker
c4a01cd4fc * CalDAV: handle deleted events, as not existing (404 Not Found) 2011-06-19 08:54:06 +00:00
Ralf Becker
65a8e4e8d3 fixed some printing stuff in calendar, printing in listview is disabled, because it is NOT working atm. 2011-06-17 15:16:40 +00:00
Ralf Becker
dbac6bf8f0 fixed fatal error using "Insert in document" dropdown in calendar sidebox 2011-06-17 13:27:45 +00:00
Ralf Becker
18a524bd3e fixed not created "calendar_purge" job, if 0.5 years is selected 2011-06-15 13:50:17 +00:00
Ralf Becker
5dc47a9044 * Calendar: warning if user tries to move horizont further then default 1000 days and NOT start moving horizont, to allow adding events after the horizont 2011-06-14 18:33:26 +00:00
Ralf Becker
f65fd9129f * Calendar: added purge interval of half a year 2011-06-14 18:16:08 +00:00
Nathan Gray
9b794c71e5 Fix 'All categories' no longer working after multiple-categories change 2011-06-14 15:03:13 +00:00
Ralf Becker
1774e5674f support for multiple space or comma separated download dirs 2011-06-14 10:48:15 +00:00
Nathan Gray
9a225e1676 Filtering for multiple categories in list view 2011-06-13 19:57:05 +00:00
Nathan Gray
dd40662229 Allow filtering for multiple categories 2011-06-13 19:52:55 +00:00
Ralf Becker
220af27f60 Create template directory and set default document_dir preference of addressbook, calendar, infolog, tracker, timesheet and projectmanager 2011-06-11 11:57:51 +00:00
Ralf Becker
08a40bf8a8 some clients (CalenGoo on Android) send equal start&end for 1 day whole-day event 2011-06-09 17:21:01 +00:00
Nathan Gray
b2d8804275 Fix undelete in list view 2011-06-09 14:24:12 +00:00
Ralf Becker
db9d5bf6b1 switching legacy-actions off by default 2011-06-07 09:26:07 +00:00
Ralf Becker
af820949b4 transfering meeting requests via session, as get parameters are limited in size and also pass on charset, to handle non utf-8 meeting requests correct 2011-05-31 10:12:39 +00:00
Nathan Gray
82de8a636d - Use current view as filter for iCal export too
- Use preference for export selection parameter search results / given criteria
2011-05-30 17:23:46 +00:00
Ralf Becker
49e551e941 fix for mystylite bug #1679: Calendar list view: no deletion by context menu or command "delete" (right side), plus some other fixes for context menu with calendar-integration 2011-05-30 17:12:29 +00:00
Ralf Becker
486e99ec0c - Implemented a hook for timesheet_ui::edit to query calling apps for additional information to set in new tickets incl. links.
Replaces existing $_GET parameters, which are hard to set for new action system.
- also adding category color to infolog and tracker
2011-05-30 14:21:27 +00:00
Ralf Becker
145cf9ce68 New method to display meeting-requests for fmail and allow to (tentativ) accept or reject them 2011-05-27 20:32:46 +00:00
Ralf Becker
97d920bc57 open already existing events and not import them again 2011-05-26 18:40:35 +00:00
Ralf Becker
1267d2ed60 reverted accidential commited calendar_ui (re-added old ical import) 2011-05-26 18:30:54 +00:00
Ralf Becker
547ec37257 new parameter "ical" to calendar_uforms::edit, to create a new event based on an ical 2011-05-26 18:28:41 +00:00
Ralf Becker
b1427273d8 skip notifications, as AS clients do their own notifications 2011-05-26 17:17:01 +00:00
Ralf Becker
df5ec0ae72 small docu update 2011-05-26 16:50:57 +00:00
Ralf Becker
c76b39f8d4 fixed typo preventing meeting responses 2011-05-26 16:50:31 +00:00
Ralf Becker
77a3342da6 * Calendar/CalDAV: use X-EGROUPWARE-UID only, if it resolves to same email (otherwise we are in trouble if different EGw installs talk to each other) 2011-05-26 16:46:23 +00:00
Nathan Gray
1e8e802acd Try to pull 'search results' out of non-list views 2011-05-26 16:35:25 +00:00
Ralf Becker
561c650c29 fixed typo preventing parsing of iCal 2011-05-26 10:49:39 +00:00
Ralf Becker
30259bfd4c * Calendar: fixed not included organizer in meeting request 2011-05-26 10:48:57 +00:00
Nathan Gray
c0692ac303 Allow to use search results as selection for export 2011-05-24 19:56:32 +00:00
Nathan Gray
ab0522f774 Allow merging into files given by path 2011-05-24 14:45:27 +00:00
Ralf Becker
24b454a3fb fixed changed name for (attendee)status und (attendee)type 2011-05-23 20:30:29 +00:00
Ralf Becker
c15ba47b5f * Calendar/CalDAV: fixed SQL error on ctag generation, if no ACL rights for requested group calendar exists 2011-05-23 14:43:47 +00:00
Nathan Gray
06626b4cfc Skip spreadsheets shown in other selectbox 2011-05-16 18:42:49 +00:00
Ralf Becker
443704a12f temporary disabling meeting requests from calendar and docu update 2011-05-16 13:46:15 +00:00
Ralf Becker
678d0ed937 AS supports now two types of meeting requests:
a) meeting request arriving per mail via felamimail_activesync::GetMessage(List)
b) EGw internal meeting requests via calendar_activesync::GetMeetingRequest(s)
EGw backend returns both via INBOX to the client device (b) with negative id's to not conflict with mail uid's)
MettingResponse method in EGw backend calls calendar or fmail depending on id
Unfortunately this is NOT yet completly working:
- could not test with fmail, as I have no permanent internet access
- MeetingResponse method of calendar get never called, in fact client never sends one :-(
- meeting requests via calendar a now displayed double:
  a) via calendar_activesync::GetMessage(List), which could be switched off easily
  b) via calendar_activesync::GetMeetingRequest(s)
  client sends no MeetingResponse on either of them, for a) it displays buttons to accept, tentative or decline, but only calls SendMail and ChangeMessage (without status)
--> do NOT update if you already use AS!!!!!!!!!!!!!!!!!!!!!!!!!!
2011-05-15 18:25:16 +00:00
Klaus Leithoff
59a0fc75ad temporary fix for array passed as custom-field-link 2011-05-12 15:03:26 +00:00
Klaus Leithoff
11411abef5 fix for 'cf_link_fields do not create link on inital save' in calendar: reason no id passed when called tracking for new events 2011-05-11 15:09:16 +00:00
Ralf Becker
a3805293b2 name Z-Push based ActiveSync protocoll support in EGroupware "eSync" 2011-05-07 16:52:48 +00:00
Nathan Gray
ffbef21045 Allow documents in dirs other than user's preference dir by passing full path 2011-05-05 21:41:20 +00:00
Ralf Becker
4e13824fc5 patch #2953: limit calculation of exceptions in recuring event to horizont 2011-05-03 17:33:50 +00:00
Ralf Becker
9e141e72e0 patch #2952: typo in class.calendar_so.inc.php 2011-05-03 17:28:54 +00:00
Ralf Becker
b0949a3e65 return parsed organizer, as we need it in AS and it does not hurt other users of ical class 2011-04-28 17:56:44 +00:00
Ralf Becker
f3402daf91 fixed not included participants which are email addresses or contacts in AS 2011-04-28 17:55:44 +00:00
Ralf Becker
05843ff1d9 new name for no_notifications checkbox 2011-04-28 07:27:09 +00:00
Ralf Becker
653d4991d7 context menu for calendar list 2011-04-27 16:53:06 +00:00
Ralf Becker
0a04c20764 do NOT allow users to purge deleted events, if we dont have 'user_purge' enabled 2011-04-27 16:28:38 +00:00
Ralf Becker
0aac7e43a9 using new historylog custom field stuff 2011-04-20 06:22:29 +00:00
Nathan Gray
34e915876d Skip events that don't fit into the selected time range 2011-04-18 19:25:23 +00:00
Ralf Becker
f46cb24198 * PostgreSQL: when importing/updating timezones, only query last insert id, if not already in database (gives warning for PostgreSQL) 2011-04-11 16:06:10 +00:00
Nathan Gray
459e6be4d2 Blacklist calendar CSV import because it doesn't work the same as the others, and you should use iCal. If someone needs it, they can put it back in. 2011-04-11 15:21:10 +00:00
Ralf Becker
440bcb1235 * Calendar: fixed not working "use event TZ" pref for iCal exports and allways use event TZ for calendar notifications (NOT use file export pref.) 2011-04-11 10:59:59 +00:00
Ralf Becker
51c365d572 deal with cols parameter to search() being an array 2011-04-10 13:52:35 +00:00
Ralf Becker
1b8654b57f fixed PostgreSQL error on CalDAV PROPFIND: not all selected columns where in GROUP BY clause 2011-04-10 13:11:33 +00:00
Ralf Becker
da95032505 fixed some problems with r34529: move all filtering into SQL query
- group-calendar empty
- owner-too filter fixed
- events with multiple users with differnt status and group invitation fixed
2011-04-09 14:41:15 +00:00
Ralf Becker
1d9f9e4ee3 removed not used code and only query user what to do with exceptions, if we have some 2011-04-08 14:21:23 +00:00
Ralf Becker
2de73d86a5 fixed not working creation of new series, calendar_bo::read() always returned some event, even if no id given 2011-04-08 14:20:01 +00:00
Nathan Gray
02d8b86d7e Limit UI to just ID 2011-04-07 15:10:05 +00:00
Ralf Becker
f4e372747a allways update modified TS and modifier in save(), removed code to only conditionally update in update()
fixes bug that ctag got not updated when eg. a recurrence got deleted
2011-04-07 08:01:48 +00:00
Ralf Becker
c443126893 make sure ca(rd|l)dav_name never get copied 2011-04-07 07:28:46 +00:00
Nathan Gray
9ba77ce164 Enable conditional import for calendar 2011-04-06 23:51:24 +00:00
Nathan Gray
20b6a2f2ee Add calendar ID to field mapping options 2011-04-06 23:27:22 +00:00
Nathan Gray
49acbabce2 Add calendar ID to merge tags 2011-04-06 23:18:08 +00:00
Nathan Gray
cdf246b0dc Improve human friendly value handling 2011-04-06 23:12:50 +00:00
Nathan Gray
5325043b71 Default export date selection to current calendar view, overriding preferences 2011-04-06 22:25:21 +00:00
Ralf Becker
0bfd238e3f * CalDAV: store name part of URL from client PUT request, to fully comply with CalDAV spec 2011-04-06 19:26:10 +00:00
Ralf Becker
be3dd73dcf quietened permanent error_log 2011-04-06 12:56:40 +00:00
Ralf Becker
bef80c1f7f improved performance of ctag generation (using only a single and quick DB query, compared to multiple queries plus one for each recurring event 2011-04-06 12:46:21 +00:00
Ralf Becker
7ccc7adadf fixed recurring events with enddate are on recurrence short in AS
enddate in EGroupware or iCal is only a date, but AS needs a time incl. correct starttime
2011-04-06 08:04:43 +00:00
Ralf Becker
1df79639b9 quieten permanent error_log 2011-04-06 08:03:32 +00:00
Ralf Becker
66c61cb74e - move all filtering into SQL query in calendar_so, to be able to correctly return N rows starting from row M
- re-enabling propfind iterator again for calendar (fetching events in chunks of 500), to lower memory footprint
Please note: changed SQL queries used for CalDAV do not take changed participants (or status) in exceptions into account
2011-04-05 15:32:20 +00:00
Philip Herbert
81a74f2069 fix for foldersync loop, when users calendar is empty and ctag=0 2011-04-04 21:56:37 +00:00
Philip Herbert
cbcc4c6c49 updated activesync engine to latest as12.1 code from Andreas B:
- adding better support for non strict protocol implementations to improve device compatibility
- fixing an issue of iOS Mail App crashing, due to server reporting changes not requested by client during message fetch.
- adding support for multiple profiles(with different usernames) on one device to one server. (iOS) 
- Protocol Version 14.1 is now offered to the client
- general improvements to request handling
Updated egw backend and all plugins to be compatible with latest changes to sync engine.

ATTENTION: profiles need to be recreated on the devices.
2011-04-02 20:18:37 +00:00
Ralf Becker
e34db60775 fixed typo causing fatal error when client sends a recuring event with a given number of occurences 2011-04-01 08:23:09 +00:00
Nathan Gray
ccfe337f1e Remove date from fancy date+time formatting for multi-day events, leave day-relative time 2011-03-29 15:10:55 +00:00
Nathan Gray
4d5105806d Add different day / time for multi-day events, based on which day is being merged 2011-03-28 16:55:24 +00:00
Nathan Gray
267241e149 Add date to starttime & endtime for multi-day events 2011-03-28 16:24:36 +00:00
Ralf Becker
2a9198eb86 throw an exception, if calendar_bo::resource_info($uid) is called with a non-scalar parameter 2011-03-28 12:04:34 +00:00
Ralf Becker
32f0131e08 fix for egroupware.org bug #2842: Invalid array in class.calendar_uiviews.inc.php 2011-03-28 10:41:23 +00:00
Philip Herbert
3a32a328a1 fixed calendar categories not beeing imported from as clients 2011-03-27 20:40:53 +00:00
Philip Herbert
b57bc41e54 as support for message flag 2011-03-27 19:02:04 +00:00
Ralf Becker
4457bdf5f8 * updated timezone database to version 1.2011b from current Lightning snapshot
- automatic import of updated timezone database calendar/setup/timezones.sqlite, so in future commting new timezones is all it needs
2011-03-27 09:50:08 +00:00
Ralf Becker
649861a7a8 - supporting AS busystatus (0=free --> non_blocking=1, 1=tentative,2=busy,3=out-of-office --> non_blocking=0)
- fixed whole day events been transmitted 1 sec short from EGw to the device (#2903)
2011-03-25 08:24:02 +00:00
Ralf Becker
cd4ff32143 returning and parsing of exceptions and alarms:
- AS does NOT support differnet participants or status for exceptions
- AS only supports a single alarm
2011-03-24 23:31:03 +00:00
Ralf Becker
bd6889657e fixed etag for series not containing etag's of exceptions 2011-03-24 22:18:30 +00:00
Ralf Becker
4fcd8a40bb fixed fatal error: 6. param is no reference 2011-03-24 22:17:11 +00:00
Ralf Becker
4101c181d4 fixed doublicat groups, because they were in grants and memberships 2011-03-24 17:19:31 +00:00
Ralf Becker
c925abb578 Personal calendar is now always synced, as AS (at least some devices) stall if there's no personal calendar.
Prefs only allow to select additonal calendars to sync. 
Added a "none" forced pref, to hide that ability from the users.
2011-03-24 10:08:32 +00:00
Ralf Becker
ad287e8664 calendar_bo::list_cals() returns now array no longer indexed by account names, as this overwrites identical account names with the last one
also do NOT return no longer existing account, which are eg. still included in acl
2011-03-24 09:26:39 +00:00
Ralf Becker
26a55d8c01 removed not possible condition (private events are NOT returned by calendar_so::serach() for filter "showonlypublic", so no need to deal with them here 2011-03-23 08:12:29 +00:00
Nathan Gray
8d81db64af Fix hideprivate / showonlypublic filters 2011-03-22 16:03:35 +00:00
Nathan Gray
8a102f94e8 Fix for import / update search for existing record. If new record key (ex ID) was not set, search matched all (calendar doesn't support conditional importing, but it has the bug) 2011-03-21 23:01:04 +00:00
Nathan Gray
63824121d8 Add user filter to ical export 2011-03-21 17:52:32 +00:00
Nathan Gray
4aa8d937e1 Fix user filter 2011-03-21 17:50:05 +00:00
Nathan Gray
de241b18f8 Add config setting to enable 'Do not notify' checkbox 2011-03-21 16:57:11 +00:00
Nathan Gray
b356e6fbee Set default export definition 2011-03-21 16:06:16 +00:00
Ralf Becker
c0b4f3b4c6 * Calendar: store async job of alarm with alarm owner as owner to get eg. the correct from address 2011-03-21 14:13:42 +00:00
Philip Herbert
ca11300994 GetFolderList must always return an array to not break sync 2011-03-20 18:08:44 +00:00
Ralf Becker
3684567a53 AS calendar prefs to choose which calendars to sync 2011-03-19 18:06:31 +00:00
Ralf Becker
136865d48e empty settings method, calendar selection with follow later 2011-03-19 12:53:31 +00:00
Nathan Gray
1e9f96e9a7 Prevent recur data from being copied to different days. 2011-03-14 23:25:51 +00:00
Nathan Gray
1a0ae9c9cc Change names to be consistent with other apps 2011-03-14 20:58:28 +00:00
Nathan Gray
0e2c6c6812 Add user control to export selection 2011-03-14 20:39:59 +00:00
Ralf Becker
246f13ff6a * Calendar: fixed PostgreSQL error on transfering records of a delted user to an other one 2011-03-11 07:37:34 +00:00
Ralf Becker
d7356a350f * Calendar: fixed SQL error on search: Argument of OR must be of type boolean, not of type smallint 2011-03-10 17:56:13 +00:00
Nathan Gray
e0d509ca3a Automatically handle converting+adding text categories without explicit translation 2011-03-09 18:21:14 +00:00
Nathan Gray
bc39d9ab5b Add 'Do not notify of these changes' checkbox to list 2011-03-09 17:42:52 +00:00
Nathan Gray
f28fb14572 Add 'Do not notify of these changes' checkbox to edit dialog 2011-03-09 17:26:20 +00:00
Philip Herbert
9167125f66 moved notes/description handling to backend, implemented description in calendar 2011-03-07 21:00:17 +00:00
Philip Herbert
b0b4c8bf6a implemented/fixed read flag handling, enabled categories for addressbook, fixed typos 2011-03-07 15:03:56 +00:00
Ralf Becker
63e61442c9 * Calendar: fixed in some cases not updated alarms, if event got moved
- sending alarms to CalDAV/GroupDAV clients as offset, not fixed time like before
- only exception to the above are alarms for recuring events to Lightning, which must be absolute, as offset lead to infinit poping up alarms in Lightning
- update all alarm times of other users alarms too, when storing events, as they might not be included in the stored event
2011-03-07 13:49:08 +00:00
Ralf Becker
3dfe00c4bc fixed not disabled alarm delete button, if user has no edit rights (already gave a permission denied message) 2011-03-07 10:18:20 +00:00
Ralf Becker
3bb9e89bcf * CalDAV/Lightning: fixed under some conditions infinit poping up alarms and user not able to add alarms
- Lightning pops up alarm, until Sequence/etag get updated: if user has no edit rights on an other users calendar, etag never got updated, now we update it
- fixed user was not able to add alarms via CalDAV, if he had no edit rights for event (was always possible in web UI)
- alarms from other users calendars are not included any more, as they make no sense but a lot of trouble
- fixed wrong condition on adding alarms, causing some alarms no being saved
2011-03-05 10:21:32 +00:00
Nathan Gray
6b3adf2129 Add preference to use import/export definition for exporting from nextmatch 2011-03-01 23:06:21 +00:00
Nathan Gray
b2bea332b1 Do private filtering on DB level 2011-02-28 23:43:34 +00:00
Ralf Becker
ef8ac254a4 many fixes in calendar:
- fixed fatal error if participant is no account
- if participant has no email use a pseudo one: noreply-$uid-uid@egroupware.org
- do not add account of calendar as participant (readd it in ChangeMessage)
- use calendar_boupdate::update() instead of ::save() to get notifications
- fixed fatal error call to member function ->format(), if event has an exception
2011-02-24 22:55:05 +00:00
Nathan Gray
d98b1c7437 Add some handling for importing participants from human-friendly form 2011-02-24 18:42:30 +00:00
Nathan Gray
92fcec4acb Change marker detection to be more flexible, allowing for IF, NELF, etc 2011-02-23 21:02:22 +00:00
Nathan Gray
9f3f96e502 Fix missing custom fields 2011-02-23 20:48:57 +00:00
Nathan Gray
ab93527a77 Get list of extensions from parent class 2011-02-22 19:58:04 +00:00
Nathan Gray
6554ca4c09 Add 2609day/name2609 for name of week, change 2609range/month2609 to name of month instead of number 2011-02-22 18:45:33 +00:00
Nathan Gray
c44e418d87 Change display of placeholder tags from 2432...2432 to {{...}} 2011-02-18 17:02:14 +00:00
Nathan Gray
e70f70f148 Better handling for multi-day events - properly show up for each day of the week 2011-02-18 16:09:42 +00:00
Nathan Gray
f41e44fee7 Prevent first event in the range from filling in empty dates when using 2432day/date2432 2011-02-18 15:30:21 +00:00
Nathan Gray
50543c0115 Don't show private events in search results, even if user has freebusy permission 2011-02-17 20:39:10 +00:00
Nathan Gray
76497460f5 Reset merge selectbox after choosing a file 2011-02-17 18:27:37 +00:00
Nathan Gray
27b9ae4ee3 Add 2934day/date2934 placeholder to first entry inside day of week and daily tables. Only available inside the selected date range(s). 2011-02-17 18:18:06 +00:00
Nathan Gray
d529f10479 Prevent duplicate events in some tables 2011-02-17 17:37:24 +00:00
Nathan Gray
65baaf764e Fix range date format 2011-02-17 16:50:46 +00:00
Nathan Gray
077122e03f Fix user filter for merge 2011-02-16 17:23:52 +00:00
Nathan Gray
4c4f2e5e32 Apply current filters to range selections when merging 2011-02-16 17:19:19 +00:00
Ralf Becker
1e296760d9 fixed not working ctag calculation in trunk, plus docu and logging 2011-02-16 14:21:59 +00:00
Nathan Gray
8b1440560e - Add merge print directory to sidebox so it's available from all views
- Add day_n, yesterday, today & tomorrow tables
2011-02-15 20:35:46 +00:00
Ralf Becker
2d26d18c74 if contact in $_GET[participants] parameter for edit is a user, use the user instead 2011-02-15 11:34:36 +00:00
Andreas Stöckel
45d3e8d82a Fixed problem with event stacks for non drag-droppable event objects 2011-02-14 11:58:43 +00:00
Andreas Stöckel
80cfc89293 Clicking on a stack of events now always openes the event lying on top of the stack 2011-02-14 11:03:12 +00:00
Jörg Lehrke
c59cb90742 * CalDAV: Apply other users' calendar color, too 2011-02-13 21:08:29 +00:00
Ralf Becker
a045b4cc5f * Calendar: alternative overlapping columns resulting in equally wide visible parts for unlimited number of columns
- for equally sized columns, the first one (used for whole day events or non-overlapping events) is fairly small (1/Nth of total width)
- still open again is problem of events in columns > 1 are not clickable (unless we set a z-index, which has other problems)
2011-02-11 16:50:24 +00:00
Ralf Becker
ec7cc493ef * Calendar: using equally sized, non-overlaping columns for multiple events at the same time
- old overlapping events failed for more then 6 columns
- clicking on events opened the frist/underlaying event not the visible one
2011-02-11 15:43:40 +00:00
Nathan Gray
21c1f08322 - Fix range filter, adds range selected in mini-calendar to date filter
- Use selected date range for merge, if no events are checked
2011-02-10 19:19:52 +00:00
Nathan Gray
974ef4b74a - Add calendar_ prefix to merge fields
- Fix bug in weekly table preventing more than one week
2011-02-10 19:17:26 +00:00
Christian Binder
96ab59b2fd Enable calendar items for projectmanager eRoles 2011-02-09 20:55:20 +00:00
Nathan Gray
7ca1ba08d5 Implement merge for calendar 2011-02-09 15:58:06 +00:00
Klaus Leithoff
4e07a37116 quieten warning when no participants in function remove_no_acl_invite 2011-02-01 14:28:56 +00:00
Nathan Gray
f8343aa0e3 - Add default iCal import & export
- Remove Export: & Import: from sidebox menu, use Import/Export app
2011-01-28 20:04:52 +00:00
Ralf Becker
3c469c8392 fixed status of all recurrences get set to "unknown", if status of a single recurrence get changed 2011-01-06 05:19:10 +00:00
Ralf Becker
df5aae20f5 fixed corrupted non-ascii chars in deleted message 2011-01-06 04:48:41 +00:00
Ralf Becker
5382856b60 modified week_number method a bit more, to allow to call it for arbitrary dates, not just the weekstart 2011-01-05 22:26:34 +00:00
Ralf Becker
a145fdb13f * Weeknumbers in calendar views, were wrong for week-start-day other then Monday
iso8601 defines them only for week starting Monday, so we use now the Monday to calculate the week-number, even if user prefers an other startday
2011-01-05 21:49:55 +00:00
Ralf Becker
20db16219d * Calendar: invite rights, should NOT implicate a freebusy rights (users with invite rights could see freebusy times of other users) 2011-01-04 19:27:17 +00:00
Andreas Stöckel
70030216f3 Added possibility to view birthdays and/or holidays as non-blocking event in calender with special icon prepending it 2010-12-22 15:17:56 +00:00
Ralf Becker
c65705aac4 - started implementing virtual exceptions for AS (currently commented out in line 176, as not yet tested)
- ChangeMessage now searched contacts for participants and always re-adds resources (everything but accounts, contacts and email)
- some more timezone specific fixes
>>> none of the above is tested, as my iPhone charges no more and battery is now flat :-(
2010-12-21 02:45:40 +00:00
Ralf Becker
59c33be565 Import of recurring events (got timezones working for southern hermisphere DST)
and other fixes
2010-12-20 03:29:37 +00:00
Ralf Becker
416410f338 deleting of events 2010-12-19 04:07:01 +00:00
Ralf Becker
a460dde341 Saving/modifying of calendar event on the server:
- no recurring events yet
- no categories
- no deleting on the client yet (like AB, what to return?)
2010-12-19 03:54:09 +00:00
Ralf Becker
0dd2109b62 - timezones get now converted correctly to what AS uses instead of timezones
- direction back is implemented (and tested) but not yet used, as storing events is not yet implemented
- timestamps are passed to zpush now in servertime, which it converts internal to UTC times
- recurring event information is now correctly supplied (thought we do NOT yet deal with virtual exceptions!)
--> next step would be storing events synced in from the client
2010-12-19 00:31:07 +00:00
Ralf Becker
dd5000f11b making monthly_byday_num and monthly_bymonthday public, to use it in calendar_activsync 2010-12-19 00:24:22 +00:00
Ralf Becker
904471d3d3 fixed typo 2010-12-18 23:58:11 +00:00
Ralf Becker
0ff32d804a - added recurrence information to calendar events (GetMessage)
- added timezone export (currently disabled)
--> both needs testing and will probably not just work
2010-12-17 03:44:43 +00:00
Ralf Becker
f9163f2747 typo 2010-12-17 03:40:55 +00:00
Nathan Gray
cf7dd57c66 Use edit link (if available) only on icons, text link is for view 2010-12-13 15:37:25 +00:00
Nathan Gray
0df9ee0c6d Implode arrays when not exporting human-friendly values so they don't say 'Array' 2010-12-10 22:54:27 +00:00
Nathan Gray
cc72785afe If edit link / settings are available, use an edit popup 2010-12-10 20:05:51 +00:00
Klaus Leithoff
0cd5658ca1 * calendar: make configurable the number of users, until day- or weekview are consolidated; 5 is set as default 2010-12-10 11:03:35 +00:00
Andreas Stöckel
a24826e7fe Fixed MyStylite bug #964 2010-12-09 21:04:34 +00:00
Klaus Leithoff
a1de30be38 * Calendar, MailToAllParticipants: force type to plain as thunderbird (with lightning attached) seems to try to be smart while parsing html messages with ics attachments, but fails with a parse error, resulting in a not displayed message in thunderbird 2010-12-09 11:57:14 +00:00
Klaus Leithoff
8a293796e1 fix for postgres 2010-12-07 11:34:18 +00:00
Ralf Becker
8f3d6954e5 search extra account repository for birthdays too 2010-12-06 18:40:08 +00:00
Ralf Becker
0e4217f37f * fixed birthday of contacts/accounts in LDAP could not be modified in addressbook 2010-12-06 18:25:35 +00:00
Ralf Becker
08ec384512 allways using account_fullname for calendars 2010-12-03 17:55:04 +00:00
Ralf Becker
a7ea17d896 fixed fatal error, after move of get_ctag to calendar_bo 2010-12-03 13:22:08 +00:00
Ralf Becker
9981730b29 moved ctag to calendar_bo, to use it in CalDAV and ActiveSync, thought it needs to be reworked, as it is to expensive performance-wise 2010-12-02 22:27:32 +00:00
Ralf Becker
96d44948f7 missing 5. parameter 2010-12-02 22:11:05 +00:00
Ralf Becker
83fd244b5c new parameter $clear_private_infos_users to read using EGW_ACL_FREEBUSY instead of EGW_ACL_READ (eg. private appointments) and clear private infos, if no read rights 2010-12-02 21:50:22 +00:00
Philip Herbert
25ac3231b9 corrected dateformat for calendar 2010-12-02 16:04:53 +00:00
Ralf Becker
f94a2a1851 propset svn:keywords Id 2010-12-02 09:03:56 +00:00
Ralf Becker
fafa84e5c7 changed debug_message to use error_log and not echo messages (stalls *DAV or ActiveSync) 2010-11-28 11:01:44 +00:00
Ralf Becker
aabee4a462 implemented calendar message list 2010-11-26 21:33:34 +00:00
Ralf Becker
07e09c71d8 move etag to calendar_bo 2010-11-26 21:32:10 +00:00
Ralf Becker
240e09440f working folderlist for calendar 2010-11-26 11:13:00 +00:00
Philip Herbert
e43136c6ff add basic calendar plugin for activesync 2010-11-26 09:45:38 +00:00
Nathan Gray
b69442d47f Respect convert to human friendly values option 2010-11-22 23:44:31 +00:00
Nathan Gray
65a1f21890 Fix logic to hide delete button 2010-11-22 16:46:18 +00:00
Nathan Gray
7358243aa1 *Users can now see and restore their 'deleted' but held events, if deletion prevention is turned on. There is now a config setting to allow users to purge their own 'deleted' events. 2010-11-22 16:19:28 +00:00
Jörg Lehrke
46345ee80d * Fix 'Shift Calendar Series' issue (Stylite #8273) 2010-11-21 13:23:01 +00:00
Ralf Becker
c9e5921ff1 fixed typo causing $$enddate$$ in notifcation message to show startdate 2010-11-16 13:39:19 +00:00
Ralf Becker
c115d73cfb * check quantity of resource to book against maximum, as conflict check only fails if other events are involved 2010-11-11 13:29:37 +00:00
Ralf Becker
b19c4b3030 * fixed conflict check of resource quantity and storage of changed quantity in existing events
(changed quantity was used for conflict check, but not stored!)
There is still a bug with multiple non-overlapping events overlapping the checked event: check is against quantity sum, not the maximum
2010-11-11 08:51:13 +00:00
Nathan Gray
9f13b381e0 Convert recurrence type and interval to human friendly values 2010-11-09 19:26:25 +00:00
Nathan Gray
7394f39167 Make sure owner gets included in fields to be converted to human-friendly formats 2010-11-09 19:05:40 +00:00
Ralf Becker
17df92a460 some PHP pdo_sqlite can for whatever reason NOT read the timezones database (reported eg. on Gentu)
not much we can do, but give an good error message, with a download link to the MySQL dump
2010-11-09 09:48:15 +00:00
Ralf Becker
0571fc21e0 * support multiget report on url with uid, as lightning uses multiget after a PUT on the PUT url, which is the uid 2010-11-08 09:25:58 +00:00
Nathan Gray
9ab9397af7 Format CSV export data from internal/numeric format into something a little more friendly for normal people 2010-11-04 17:27:08 +00:00
Ralf Becker
9dfe1a55f4 convert all timestamps from DB returned as string to integers, to avoid missinterpretation from egw_time as Ymd string 2010-11-04 13:30:11 +00:00
Philip Herbert
4d3be13eec enable X-RECURRENCE-ID for Nokia S60 Devices 2010-11-04 10:46:56 +00:00
Jörg Lehrke
fbbef0c68c * Calendar: Use participant's preferences to handle status resets while moving events 2010-11-02 11:00:41 +00:00
Jörg Lehrke
8b5ff32c53 Fix calendar preferences 2010-11-02 09:47:06 +00:00
Jörg Lehrke
b3e551e74b * Calendar: Fix notification timezone issues (#2746) 2010-11-01 19:17:57 +00:00
Ralf Becker
abb976d0cf fixed typo 2010-10-28 09:43:40 +00:00
Ralf Becker
0a35a4a7c2 an other PostgreSQL compatibility problem: cast to varchar necessary 2010-10-28 09:22:01 +00:00
Ralf Becker
f08decd739 /infolog/ does not imply setting the current user (for new entries it's done anyway) 2010-10-26 09:35:44 +00:00
Jörg Lehrke
298c4ebaf1 Fix time-range parser for CalDAV 2010-10-23 11:43:52 +00:00
Ralf Becker
ca4f237dc4 fixed http status "400 Something went wrong" on PUT request in CalDAV, if user has no explicit FREEBUSY rights for calendar of modified event 2010-10-21 15:30:20 +00:00
Ralf Becker
ddcc0e1f75 removed never implemented cats_no_subs common pref and always include sub-cats (no change as currently only one was selectable) 2010-10-14 16:16:02 +00:00
Nathan Gray
831c5e0f84 Add import / export support through importexport app 2010-10-13 17:25:40 +00:00
Nathan Gray
7c55020318 Use just set cal_id variable instead of potentially not set event['cal_id'] 2010-10-13 17:24:32 +00:00
Ralf Becker
8dee351338 avoid invinit recurrence on broken calendar entries (reference AND recur_type set) 2010-10-13 14:08:24 +00:00
Nathan Gray
cc2bee8dd0 Add exporting iCal and CSV via importexport 2010-10-12 22:45:02 +00:00
Ralf Becker
8aa40841e0 fix for mystylite bug #818: planner by user only with read rights (should work with freebusy rights too) 2010-10-12 14:33:19 +00:00
Ralf Becker
f3ea81f5c6 remove "Yes" from available views for homepage and missing translations 2010-10-12 11:24:25 +00:00
Klaus Leithoff
01f7688185 allow to set/choose the view in home-view 2010-10-12 09:49:17 +00:00
Jörg Lehrke
33bd0fed50 Announce all available addressbooks and calendars of the current user with GroupDAV 2010-10-09 22:49:10 +00:00
Nathan Gray
e1505758b7 Add ability to set an alarm for after the appointment [starts] 2010-10-06 17:40:49 +00:00
Nathan Gray
c30e35bdd8 Sort categories alphabetically in planner by category view 2010-10-06 16:25:27 +00:00
Nathan Gray
7ae20bcf12 Update modified time when deleting 2010-10-04 15:09:15 +00:00
Klaus Leithoff
a5342d2eb1 calendar: handle catchable fatal error while trying to build rule 2010-10-04 10:07:52 +00:00
Klaus Leithoff
b976930423 preventing invalid birthdays stored with the datastore such as 0000-00-00 or 0.0.00 to transform to a birthday 2010-09-30 09:32:34 +00:00
Jörg Lehrke
a85fdb55cd Allow to add events to group calendars via CalDAV 2010-09-29 16:54:16 +00:00
Klaus Leithoff
b052ffeb0a allow cats for planner to be an array 2010-09-28 08:25:23 +00:00
Nathan Gray
2b13b73b60 When deleting but keeping events, hold on to links as well so they can be restored if event is restored 2010-09-27 18:03:46 +00:00
Klaus Leithoff
5c8d3301d6 postgres compatibility gathering of birthdays for homearea (calendar merge of birtdays into holidays) order by column must be part of distinct selection list; adapting calendar home view to meet expected date format by using egw_time::to 2010-09-17 13:51:12 +00:00
Ralf Becker
1e79225a29 removed explicit var parameter from Horde_iCalendar $component parameter of _ical2egw_callback, as all object are passed by reference in PHP5+, but usage via call_user_func_array(), gives warning as no (explicit) var parameters are allowed 2010-09-15 13:10:29 +00:00
Jörg Lehrke
9ae3b93e63 Fix CalDAV ctag calculation 2010-09-14 05:07:33 +00:00
Jörg Lehrke
bb9190a669 New content_history approach for calendar synchronization; fix various Sync issues 2010-09-12 20:14:46 +00:00
Jörg Lehrke
6fde93d15b Improved ctag for CalDAV 2010-09-12 12:44:22 +00:00
Jörg Lehrke
13cf31924f Fix find_event() issue 2010-09-11 23:15:05 +00:00
Jörg Lehrke
07063ebf7a Update cal_modified for all required cases; adjust CalDAV ctag function 2010-09-11 18:08:48 +00:00
Ralf Becker
c5f77ca982 new param $sql_filter for search() 2010-09-10 19:12:59 +00:00
Ralf Becker
ce35264ed9 fix for postgreSQL bug reported by Anthony Messina (amessina-at-messinet.com): sync_contentid is varchar(60) and needs explicit cast, fixed by letting egw_db do the quoting, which is more save anyway 2010-09-10 07:01:41 +00:00
Ralf Becker
8241be4091 storing deleted timestamp instead of a deleted flag, to allow to use calendar table instead of egw_api_content_history later on 2010-09-09 09:11:57 +00:00
Klaus Leithoff
c3fe8e2ded fix for scrollbar for searchfield in calendar sidebox for safari; provided by Chr.Fueller 2010-09-07 14:48:13 +00:00
Nathan Gray
49471c5e2b Change link title so it can give the date for a particular recurrence, if the passed id is in the form CAL_ID-RECUR_DATE 2010-09-03 18:04:48 +00:00
Nathan Gray
db9bbc8460 Don't delete links until purge, same as addressbook 2010-09-02 20:55:37 +00:00
Jörg Lehrke
f91095f2ec Fix EXDATE issue for Apple devices 2010-08-26 20:28:54 +00:00
Nathan Gray
9b62e51e2d Add action to list view for admins to recover events from list view (egw.stylite.de bug #8140) 2010-08-24 16:59:13 +00:00
Ralf Becker
1d98728552 fixed not disabled custom field tab, if no cfs exist
(problem was added history tab, which changed name of tabs widget, now using "tabs=general|...")
2010-08-16 07:13:47 +00:00
Jörg Lehrke
44c3c7eb9a Improve iPhone iCal support 2010-08-15 06:42:05 +00:00
Jörg Lehrke
d4985709c5 Fix recurrence enddate issue 2010-08-15 06:34:16 +00:00
Jörg Lehrke
f90e1da24f Fix alarm handling for recurring events starting in the past 2010-08-10 21:21:18 +00:00
Jörg Lehrke
0f284a0bfb Disable Thunderbird special treatment 2010-08-08 21:52:44 +00:00
Ralf Becker
c7bc0fbd82 using created and modified timestamps from calendar, and not reading them separate from egw_content_history table 2010-08-05 17:57:59 +00:00
Ralf Becker
a3d06cb638 improved performance by not checking exceptions for referencing a master which mentions them as exceptions 2010-08-05 17:11:13 +00:00
Ralf Becker
be91330030 fixed not working notifications for types:
- responses: on participant responses too (everytime)
- modifications: on all modification, but responses
2010-08-02 14:15:05 +00:00
Hans-Jürgen Tappe
a66ae024a9 Tracker #2453. Introduce a year view, which uses a fixed month / day grid and
displays the events inline (like in day / week view).
2010-07-31 07:51:52 +00:00
Klaus Leithoff
d813c7adc7 save states of calendar view to session only when we are in calendar 2010-07-16 09:00:49 +00:00
Klaus Leithoff
e2dab5d56b fix for reset_stati on Drag and Drop; Work by Chr.Fueller, leithoff 2010-07-13 14:35:34 +00:00
Klaus Leithoff
26c7f601f3 making sure / checking that alarmData is an array as expected. 2010-07-13 11:48:06 +00:00
Klaus Leithoff
f2bc58898f rework of calendar purge function 2010-07-06 08:20:53 +00:00
Jörg Lehrke
c9e1b56d2d Fix vCalendar v1.0 EXDATE export 2010-07-05 19:05:54 +00:00
Ralf Becker
419516c011 removed columns from DELETE statement 2010-07-02 06:00:25 +00:00
Jörg Lehrke
75b25bb796 Fix FroupDAV report issue 2010-07-02 05:01:15 +00:00
Nathan Gray
f8431b00a7 - Fix purging of old events so it doesn't delete everything
- Trick config into calling the hook when purging is turned off so cron job is cancelled
2010-07-01 15:27:37 +00:00
Jörg Lehrke
09bc2c09cd Fix CTag issues for GroupDAV 2010-06-29 13:52:56 +00:00
Jörg Lehrke
affd4b1885 Fix CalDAV issues 2010-06-29 09:19:25 +00:00
Jörg Lehrke
5cb14e716e Fix CalDAV delete event issue 2010-06-28 17:34:57 +00:00
Nathan Gray
3a4bd1e45a Allow admins to restore deleted events 2010-06-28 11:38:28 +00:00
Nathan Gray
cb3590ebab Do not send notification when a deleted event is purged 2010-06-28 11:15:25 +00:00
Jörg Lehrke
2bfebbdb7f Improve group invitation handling 2010-06-28 05:08:22 +00:00
Jörg Lehrke
bce68a9e82 Fix CalDAV group attendee issue; various GroupDAV improvements 2010-06-27 22:16:22 +00:00
Jörg Lehrke
c6b0f825d9 Fix SyncML replace and recur_enddate issue 2010-06-26 15:58:33 +00:00
Jörg Lehrke
c5ae8dd8e2 Support Free/Busy information with credentials as part of the URL 2010-06-26 11:35:11 +00:00
Jörg Lehrke
9bca389162 Fix status change permission issue 2010-06-24 16:21:23 +00:00
Jörg Lehrke
48bc5c8119 Remove user as attendee, if he is the only participant and has accepted 2010-06-23 15:54:07 +00:00
Jörg Lehrke
7b850eabb6 Fix recurring event issues for vCal 1.0 imports; fix bug Stylite #646 2010-06-23 14:52:55 +00:00
Jörg Lehrke
16def751e3 Add 'reset stati options' to calendar 2010-06-23 14:47:34 +00:00
Ralf Becker
a4ae9df347 searching case insensitive for PostgreSQL too 2010-06-22 16:59:04 +00:00
Jörg Lehrke
b94e897717 Optimze alarm handling 2010-06-18 13:44:50 +00:00
Jörg Lehrke
ae1807c571 Fix recurring event alarm issue 2010-06-18 13:37:42 +00:00
Jörg Lehrke
b44f0c2f41 Fix SyncML device timezone issues 2010-06-17 07:38:27 +00:00
Jörg Lehrke
b53e7ccbcc Fix participant issue in event shifting 2010-06-16 10:41:45 +00:00
Jörg Lehrke
1800367a2d Fix iCalendar v1.0 TZ issue 2010-06-14 14:54:24 +00:00
Nathan Gray
61099d4a89 Move purging of old calendar events to use less API and do more with the DB directly. Hopefully will be a little easier on the DB. 2010-06-14 11:45:00 +00:00
Klaus Leithoff
01afc4aff5 fix invalid javascript variable names for draggable/droppable IDs when owner/calendar is a group 2010-06-14 08:11:22 +00:00
Jörg Lehrke
53ebb5dc19 Improve charset support for CalDAV 2010-06-14 07:51:28 +00:00
Jörg Lehrke
f54410da4f Fix recurrence enddate again 2010-06-11 22:13:27 +00:00
Jörg Lehrke
65e7054869 Fix recurrence enddate for vCalendar 1.0 2010-06-11 12:16:58 +00:00
Jörg Lehrke
e513532840 Fix enddate and alarm issue for series event shifting 2010-06-11 07:32:10 +00:00
Jörg Lehrke
0f00bb08a2 Set recurrence enddate to end time and use device TZ for vCalendar 1.0 2010-06-11 06:19:22 +00:00
Ralf Becker
30b509e9ce reverting setting of target app, as it is unneccessary 2010-06-10 17:54:03 +00:00
Ralf Becker
3289d93605 - missing target for new button in sidebox
- adding message to opener.location.search, instead using referer (which points to toplevel frame and reloads framework)
2010-06-10 17:24:22 +00:00
Ralf Becker
0d62b7efdc remove setting of not defined block "submit_column", causing holiday admin to fail 2010-06-10 09:09:31 +00:00
Jörg Lehrke
625603d59f Implement new 'change startdate of series events' approach 2010-06-09 18:00:11 +00:00
Ralf Becker
3f344fd852 store whole state in prefs, so calendar displays identical view after a new login (beside the date) 2010-06-09 16:14:19 +00:00
Jörg Lehrke
c7c0230233 Fix tab hidding issue in calendar.edit 2010-06-08 17:45:22 +00:00
Jörg Lehrke
f6eb00e6a1 Allow alarms for recurring events starting in the past 2010-06-08 16:36:55 +00:00
Klaus Leithoff
0c60f43c61 fix for wrong message on event-deletion (was: series deleted); corrected one german translation string 2010-06-08 09:52:48 +00:00
Jörg Lehrke
9303dca432 Disable the alarms-tab for newly created series event exceptions completely 2010-06-08 08:53:40 +00:00
Ralf Becker
9a32f0dc9e using relative width, works better then absolute one, giving just enough space for icon at minimal width of sidebox 2010-06-08 06:41:55 +00:00
Jörg Lehrke
015245d235 Improved alarm handling 2010-06-07 17:54:29 +00:00
Jörg Lehrke
82455c87a6 Newer Nokia E-Series SyncML supported fields default 2010-06-07 12:50:17 +00:00
Philip Herbert
f6e5b9de41 recognize Nokia e72-1 and e51-1 as s60 phone (supported fields) 2010-06-07 10:26:00 +00:00
Ralf Becker
48573b83a5 jdots adaption for calendar 2010-06-04 21:28:26 +00:00
Ralf Becker
ffc49a9ec6 fixed add link for jdots 2010-06-04 08:49:23 +00:00
Ralf Becker
b1682123c7 certain clean-ups, plus fixing wrong query passed to calendar integration (leftover from parameter change) 2010-06-01 09:28:37 +00:00
Ralf Becker
22406f6885 fixing call to calendar_so::search() to use new parameters, causing CalDAV to fail 2010-06-01 09:26:00 +00:00
Ralf Becker
13463578f5 using already read event to check acl (and not just the id causing a read) 2010-06-01 09:24:10 +00:00
Ralf Becker
a7fd927ae7 doing read (without acl check) first and then check acl on read event, to save reading it multiple times 2010-06-01 09:22:06 +00:00
Nathan Gray
586a58a4e7 Fix purging old events to get rid of events for all users, not just the admin that set it. 2010-06-01 07:36:14 +00:00
Nathan Gray
eeeebb5197 Delete alarms even if event is not really deleted 2010-05-28 07:24:34 +00:00
Jörg Lehrke
f1343bfde0 Fix EGW_ACL_FREEBUSY issue 2010-05-21 15:53:06 +00:00
Ralf Becker
de1a64cacd "missing break in deleted filter (showing only unknow status)" 2010-05-21 15:09:11 +00:00
Ralf Becker
3a19b96589 "fixed not not changed old $_cols parameter to $params['cols']" 2010-05-21 15:05:31 +00:00
Jörg Lehrke
e4d0b6737c Fix egw_ical iterator issues 2010-05-21 06:18:52 +00:00
Ralf Becker
2d53603ccd replaced several calendar_so::search() parameter with new array $params parameter and added new $params[users] with raw users as passed to calendar_bo::search() (without members and memberships added) for calendar integration 2010-05-20 15:22:37 +00:00
Ralf Becker
06854c6301 replaced several calendar_so::search() parameter with new array $params parameter and added new $params[users] with raw users as passed to calendar_bo::search() (without members and memberships added) for calendar integration 2010-05-20 15:12:59 +00:00
Jörg Lehrke
45172377ab Activate new 'Delete Series' handling 2010-05-20 14:43:50 +00:00
Ralf Becker
a91b9f2ebf added Jörgs delete_series popup to calendar.edit, thought calendar does NOT yet react on the user choice of deleting the exececptions or not (also moved styles again to app.css file) 2010-05-20 09:19:15 +00:00
Jörg Lehrke
54f6b31a37 Fix series exception delete issue 2010-05-19 17:41:46 +00:00
Jörg Lehrke
4c1e3a9e70 Fix CalDAV series event handling 2010-05-19 16:13:37 +00:00
Jörg Lehrke
03885572b6 Fix etag/ctag issues for CalDAV 2010-05-19 15:25:07 +00:00
Jörg Lehrke
8cb71dfc84 Allow upgrade of single events to series via SyncML/CalDAV 2010-05-19 09:20:15 +00:00
Jörg Lehrke
32678401e8 Fix calendar_bo::search() issue with events outside the search window (bug#8090) 2010-05-18 15:12:51 +00:00
Jörg Lehrke
2552476036 Special Lightning CalDAV treatment 2010-05-18 14:41:22 +00:00
Andreas Stöckel
7e9c97a770 Fixed unlocking of calendar entries when the edit window is closed 2010-05-18 10:31:08 +00:00
Jörg Lehrke
e8298f217f Fix iCal attendee CN issue 2010-05-18 10:04:29 +00:00
Jörg Lehrke
d2c03cd287 Fix CalDAV PUT failure 2010-05-18 10:03:21 +00:00
Jörg Lehrke
7ab47224c9 Fix calendar_bo::search() returning all-day events one day later (bug#2602) 2010-05-17 15:40:06 +00:00
Jörg Lehrke
27f1fef944 Fix CalDAV invitation issue (Stylite#513) 2010-05-17 14:20:34 +00:00
Ralf Becker
3629e919f5 "disabling not working iterator:
Replacement code for in r29270 removed filter  

	$cal_filters['query']['cal_reference'] = 0;

only works, if all recurrences and the master are returned in a single chunk, otherwise events get returned multiple times"
2010-05-14 17:51:55 +00:00
Jörg Lehrke
7ad18fac74 Improved calendar_boupdate::find_event() (#2582) 2010-05-14 13:32:08 +00:00
Jörg Lehrke
5623866894 Fix monthly recurrence issue (bug#2584) 2010-05-14 10:17:11 +00:00
Jörg Lehrke
dc8b3f2dec Fix 'non_blocking' issue (especially for Nokia) 2010-05-14 09:28:46 +00:00
Jörg Lehrke
362afdb312 Fix GroupDAV private event issue 2010-05-14 08:35:16 +00:00
Jörg Lehrke
015173f608 Fix email-only attendees issue 2010-05-14 08:06:08 +00:00
Jörg Lehrke
1985580304 New Delete Series Dialog 2010-05-12 11:15:45 +00:00
Ralf Becker
06b8c5ac75 "fix for bub #2579 - PHP Fatal error: Using $this when not in object context
--> get_path can NOT be static"
2010-05-09 20:23:53 +00:00
Jörg Lehrke
91cfd18e16 Fix all-day event recurrence issue 2010-05-06 19:16:43 +00:00
Nathan Gray
a2eab86ef8 Use pre-existing function to handle deleted flag 2010-05-04 21:35:06 +00:00
Nathan Gray
5bea81f18f Handle if event deleted flag gets turned into a string (Postgres) 2010-05-04 15:47:53 +00:00
Jörg Lehrke
ec48d32681 Calendar recurrence horizont configurable; fix recur_enddate issue 2010-05-03 16:43:42 +00:00
Jörg Lehrke
587439511d Fix all-day recurring event issue (3) 2010-05-03 12:18:57 +00:00
Jörg Lehrke
9013a52b81 Fix Edit recurring event issues again :-( 2010-05-03 07:52:10 +00:00
Jörg Lehrke
be18410907 Fix Edit all-day recurring event issues 2010-05-03 06:50:50 +00:00
Jörg Lehrke
d22a9aa537 Fix all-day recurring event timezone issue 2010-05-01 16:25:10 +00:00
Jörg Lehrke
df6e3195e4 User Calendar CalDAV directory contains only 'not rejected' entries 2010-05-01 16:24:05 +00:00
Nathan Gray
f081a1ba2b Reset status of participants when copying an event 2010-04-30 16:00:03 +00:00