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
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
77fb521ccd
fixed not exported participants via CalDAV
2011-10-17 14:06:21 +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
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
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
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
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
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
Ralf Becker
9e141e72e0
patch #2952 : typo in class.calendar_so.inc.php
2011-05-03 17:28:54 +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
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
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
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
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
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
b2bea332b1
Do private filtering on DB level
2011-02-28 23:43:34 +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
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
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
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
7c55020318
Use just set cal_id variable instead of potentially not set event['cal_id']
2010-10-13 17:24:32 +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
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
Jörg Lehrke
f90e1da24f
Fix alarm handling for recurring events starting in the past
2010-08-10 21:21:18 +00:00
Klaus Leithoff
f2bc58898f
rework of calendar purge function
2010-07-06 08:20:53 +00:00
Ralf Becker
419516c011
removed columns from DELETE statement
2010-07-02 06:00:25 +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
c6b0f825d9
Fix SyncML replace and recur_enddate issue
2010-06-26 15:58:33 +00:00
Ralf Becker
a4ae9df347
searching case insensitive for PostgreSQL too
2010-06-22 16:59:04 +00:00
Jörg Lehrke
ae1807c571
Fix recurring event alarm issue
2010-06-18 13:37:42 +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
Jörg Lehrke
f6eb00e6a1
Allow alarms for recurring events starting in the past
2010-06-08 16:36:55 +00:00
Jörg Lehrke
015245d235
Improved alarm handling
2010-06-07 17:54:29 +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
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
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
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
ec48d32681
Calendar recurrence horizont configurable; fix recur_enddate issue
2010-05-03 16:43:42 +00:00
Nathan Gray
a2daa3f5cc
Add trailing / to regex to silence warning
2010-04-27 18:35:14 +00:00
Klaus Leithoff
5e8b903207
if filter showonlypublic is set, set status filter to hide rejected too
2010-04-26 12:28:30 +00:00
Klaus Leithoff
09ea5fe114
feature to filter for only public events (no events tacked as private)
2010-04-26 07:08:23 +00:00
Nathan Gray
afafbec708
Use db->quote to get good cross db comparisons
2010-04-23 19:11:24 +00:00
Ralf Becker
74ccf7501d
helper function to construct union-query-columns for calendar_integration
2010-04-23 06:52:48 +00:00
Nathan Gray
074b893e37
Change preserving deleted events. For speed improvements, use an extra column instead of joining to the sync tables
2010-04-22 16:09:36 +00:00
Klaus Leithoff
ebe6ec61fa
fixing problem in listview, using the new UNION functionality
2010-04-16 07:55:43 +00:00
Klaus Leithoff
06fed70281
all user_types supported while building the UNION
2010-04-15 13:41:57 +00:00
Klaus Leithoff
d41940fc1f
work in progress, forgot that ressources are user_types too
2010-04-15 13:23:16 +00:00
Klaus Leithoff
b1987c62fa
use UNIONs instead of OR for calendar filter "owner too"
2010-04-15 12:52:35 +00:00
Nathan Gray
3a09d2072f
Fix for cast from Anthony Messina
2010-03-07 22:09:48 +00:00
Jörg Lehrke
a8804a44ef
GroupDAV updates
2010-03-06 23:06:43 +00:00
Nathan Gray
79824c2e0c
Use cast only for Postgres, as in projectmanager
2010-03-06 15:49:59 +00:00
Nathan Gray
11183a763d
Cast sync_contentid to unsigned int
2010-03-06 02:40:57 +00:00
Nathan Gray
cb5054f2e4
Add an option to keep deleted events, only an admin can purge them
2010-03-05 20:01:44 +00:00
Jörg Lehrke
85b6ba5ef0
Cleanup issues found during backport
2010-02-23 18:19:12 +00:00
Jörg Lehrke
ce7324f12f
Fix daywise search
2010-02-19 17:10:15 +00:00
Jörg Lehrke
21ccdd5f28
Fix various synchronization issues (SyncML & CalDAV)
2010-02-17 13:29:28 +00:00
Klaus Leithoff
f9a3ab52dc
only do the integration query, if currentapp is calendar, because of performance issues thereof (addressbook fetches the last calendar event(, which fetchs the infologs))
2010-02-02 13:29:51 +00:00
Klaus Leithoff
6e258109d8
as you can now see other apps in calendar, you must make sure you read only true calendar events for recurring dates, participants and customfields
2010-02-01 10:35:05 +00:00
Jörg Lehrke
32639bd47e
Major SyncML Calendar update
...
- SIFE support improved
- various vCalendar 1.0 issues fixed
- device specific timezone support for recurring events
- pseudo exception handling improvements
2010-01-29 21:42:54 +00:00
Ralf Becker
cc848debf2
disable integration for GroupDAV, SyncML, ...
2010-01-24 03:50:40 +00:00
Christian Binder
fb16385a8d
method get_related should only return the ids
2010-01-22 19:47:32 +00:00
Ralf Becker
890125cab5
A few more change for the new integration interface, probably not the
...
last ...
2010-01-21 23:36:05 +00:00
Ralf Becker
12e5f2b218
allow calendar integration to supply participants and icons
2010-01-21 03:00:53 +00:00
Ralf Becker
8c1e245925
hook to supply further union queries for calendar display
2010-01-19 22:20:44 +00:00
Christian Binder
c32beca725
fixed a typo
2010-01-15 08:49:36 +00:00
Jörg Lehrke
14e7c0cd87
Add filter to calendar_so::get_recurrence_exceptions() method
2010-01-14 17:01:30 +00:00
Ralf Becker
dd0a5c1b13
Fixed CalDAV/GroupDAV to include all exceptions of a series in the
...
resource of the series master. Now the status of single recurrences of a
serie are send to the clients as (virtual) exceptions as Jaytrax&Joerg
implemented it already for SyncML.
The implementation is unfortunately a little different, as CalDAV
differs from SyncML and I dont know the SyncML part that well. Maybe we
can re-unify the code again together.
Tested so far with Tb3/Lightning1.0b and a little with iPhone.
Please let me know, if you run into problems with other clients.
2009-12-27 04:21:33 +00:00
Jörg Lehrke
3fa506f24a
Change calendar filter 'all' to include 'owner'; typo in get_recurrences()
2009-11-29 21:02:15 +00:00
Jörg Lehrke
a0e1a238dd
Optimized SyncML memory footprint; fixes various filter issues
2009-11-29 14:03:45 +00:00
Jörg Lehrke
43c5373b4d
Fix event recur_interval mismatch issue
2009-11-27 06:46:32 +00:00
Jörg Lehrke
0f77f7e802
Fix role handling in get_recurrences()
2009-11-26 20:21:16 +00:00
Jörg Lehrke
6a7b07e3c6
New PARTICIPANT/ORGANIZER schema
2009-11-26 18:36:19 +00:00
Jörg Lehrke
4088b81c5c
Impoved support for recurrences if device timezone differs from event timezone
2009-11-19 10:13:17 +00:00
Ralf Becker
b7c5dd63dc
"recalculate recurences, if timezone of a recuring event changes
...
(it would be nice, if there's a simple method to find out if two different timezones switch at identical times, eg. Europe/Berlin and Europe/Paris do so, so we can avoid the recalculation)"
2009-11-12 19:11:27 +00:00
Ralf Becker
4e9120ecf0
New tz_id column in egw_cal storing id into egw_cal_timezones
...
Please note: timestamps in egw_cal* tables are in server-time,
tz_id / timezone is only used to (re-)calculate recurrences and to
export in iCals (NOT yet implemented)
2009-11-04 15:00:08 +00:00
Ralf Becker
28518afcbf
"quietening diagnostics in search"
2009-11-04 07:57:55 +00:00
Ralf Becker
54f32ae08a
"fixed sql error after switching on custom fields column"
2009-11-03 16:13:45 +00:00
Jörg Lehrke
2eed0b9ddc
Fix comment
2009-10-25 18:20:00 +00:00
Jörg Lehrke
d0028ffc31
Improve readability
2009-10-19 20:50:17 +00:00
Ralf Becker
867f5d650d
default params for calendar_so::combine_status(,=1,='REQ-PARTICIPANT')
2009-10-13 08:58:54 +00:00
Ralf Becker
0548cf5770
- added roles to UI
...
- enabling again resource booking without direct booking permission
(status is then unknown, not accepted)
2009-10-12 19:16:42 +00:00
Jörg Lehrke
6312a087e3
Fix participants() deleted attendee issue, again
2009-10-07 04:23:42 +00:00
Jörg Lehrke
7f07102630
Fix participants() deleted attendee issue
2009-10-06 23:30:05 +00:00
Ralf Becker
04d48a677a
Implemented display of custom fields in list-view
...
ToDo: implement search, sort and filtering by them
2009-10-03 07:32:05 +00:00
Ralf Becker
c38acb88d5
New filter for calendar based on participant status:
...
- Not rejected
- Accepted
- Invitations
- Tentative
- Rejected
- Owner too: display also events you own, not only ones you participate
- All incl. rejected
- Hide private infos: as usual
--> filter is stored in the user prefs (survives logouts)
--> old "show events you rejected" preference got removed
Also added a hook allowing applications supplying resources to modify
calendar search with SQL.
2009-09-29 19:58:51 +00:00
Ralf Becker
f855b57683
"make storing of cf's aware of arrays
...
Thanks to Hans-Jürgen Tappe"
2009-09-27 07:59:01 +00:00
Christian Binder
2db8bd6c9c
complete rework of participants() method. The only purpose of this method is now to add or delete participants - NOT to overwrite stati. Added a new param "add_only" to have the possibility to check for the existence of a single participant in the egw_cal_user db and add this participant if needed. This is used for e.g. group invitations where a default set of stati does no primary exist for the user.
2009-08-17 14:45:42 +00:00
Christian Binder
77de24e563
manually insert or truncate the recurrences when changing enddate. recurrences rebuild (and stati reset) is now minimized to the following cases: move startdate/enddate, change recur_type, change recur_interval
2009-08-10 09:24:39 +00:00