Commit Graph

285 Commits

Author SHA1 Message Date
Ralf Becker
4e27f324c9 improved method to query events with performance gains of a factor 10 on huge databases, currently only used in conflict check 2015-01-14 19:41:01 +00:00
Ralf Becker
a35590b8fe fix replacementes in update messages 2014-10-09 13:52:14 +00:00
Ralf Becker
4c15c2f2de * Calendar/API: allow not serialized data in async jobs, only run automatic purge if we have a real number > 0 2014-07-02 12:42:12 +00:00
Klaus Leithoff
00881d1c94 silence some warnings on mail-to-all-participants 2014-03-20 16:10:52 +00:00
Ralf Becker
866d680e6a fixed iCal and iMip method and notification text for initial responses to organizer to be replys (not added=invitation) 2014-02-20 16:14:32 +00:00
Ralf Becker
90c89e0eb7 * CalDAV/Calendar: sending now iMip response to external organizer when initialy accepting invitation via CalDAV client (before only status changes where sent) 2014-02-20 15:04:47 +00:00
Hadi Nategh
874b4b594f Fix warning "Argument #1 is not an array" in calendar conflict 2014-02-12 11:59:32 +00:00
Ralf Becker
fe2438cc53 * Calendar: automatic cancel alarms from removed or rejected participants 2013-08-15 14:56:34 +00:00
Ralf Becker
012e2e4763 * Calendar: when moving a series exceptions where lost (regular recurrences shown again) and exceptions where moved too 2013-08-15 12:23:38 +00:00
Ralf Becker
1b9c105198 * Calendar: changing an existing, recurring event to whole-day, caused an end-time on day before start 2013-06-07 11:53:45 +00:00
Ralf Becker
86d54d092c * Calendar: configuration to automatic create links for participants from addressbook 2013-06-04 18:00:39 +00:00
Ralf Becker
32751c69b6 no more querying of recurrences for etag of series master, as all update methods now update modification time of series master for recurrenc-exceptions 2013-02-26 08:48:50 +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
435f726bf9 select priority should map 0 to None, not empty 2013-01-31 14:13:45 +00:00
Nathan Gray
872fe5918e Some missed skip_notifications 2012-12-18 16:00:29 +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
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
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
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
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
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
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
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
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
e09a9c3198 fixed 5.4 PHP Warning: Illegal string offset 'start' or 'end' 2012-07-02 08:14:27 +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
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
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
Ralf Becker
2f81eea8ef fixed only partially translated alarms 2012-05-15 14:41:41 +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
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
Ralf Becker
1fc54e038b * Calendar: fixed wrong time in iCal of notification, if notifying user is not in server TZ
we need to pass $event[id] so iCal class reads event again, as event is in user TZ, but iCal class expects server TZ!
2012-01-23 02:43:06 +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
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
89ed7d49d1 fixed alarm on series got lost, if creating an exception 2011-11-11 12:46:34 +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
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
f65fd9129f * Calendar: added purge interval of half a year 2011-06-14 18:16:08 +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
30259bfd4c * Calendar: fixed not included organizer in meeting request 2011-05-26 10:48:57 +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
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
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
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
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
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
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
Klaus Leithoff
4e07a37116 quieten warning when no participants in function remove_no_acl_invite 2011-02-01 14:28:56 +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
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
Jörg Lehrke
b3e551e74b * Calendar: Fix notification timezone issues (#2746) 2010-11-01 19:17:57 +00:00
Nathan Gray
7ae20bcf12 Update modified time when deleting 2010-10-04 15:09:15 +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
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
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
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
Nathan Gray
db9bbc8460 Don't delete links until purge, same as addressbook 2010-09-02 20:55:37 +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
Nathan Gray
cb3590ebab Do not send notification when a deleted event is purged 2010-06-28 11:15:25 +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
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
015245d235 Improved alarm handling 2010-06-07 17:54:29 +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
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
8cb71dfc84 Allow upgrade of single events to series via SyncML/CalDAV 2010-05-19 09:20:15 +00:00
Jörg Lehrke
7ad18fac74 Improved calendar_boupdate::find_event() (#2582) 2010-05-14 13:32:08 +00:00
Jörg Lehrke
dc8b3f2dec Fix 'non_blocking' issue (especially for Nokia) 2010-05-14 09:28:46 +00:00
Jörg Lehrke
587439511d Fix all-day recurring event issue (3) 2010-05-03 12:18:57 +00:00
Jörg Lehrke
d22a9aa537 Fix all-day recurring event timezone issue 2010-05-01 16:25:10 +00:00
Jörg Lehrke
2a2a9f5f11 Cleanup all-day handling 2010-04-23 15:15:22 +00:00
Jörg Lehrke
22bb23b8ff Fix new all-day event handling 2010-04-23 13:52:45 +00:00
Jörg Lehrke
ee18b0acac New all-day event implementation 2010-04-23 06:15:18 +00:00
Nathan Gray
c4a8515d99 Add feature to regularly remove old calendar events that are more than x years in the past. Set in Admin -> Calendar -> Site configuration 2010-04-22 20:27:14 +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
Ralf Becker
e5c782ca8e "fix warning if no participants defined (eg. iCal import)" 2010-04-14 08:41:45 +00:00
Nathan Gray
84d3643b22 Fix bug where a rejected event could still cause a schedule conflict 2010-03-25 20:23:22 +00:00
Jörg Lehrke
abfc3f522b Fix duplication by changed event title 2010-03-16 09:26:01 +00:00
Jörg Lehrke
871635002a Improve find_event() 2010-03-09 17:03:41 +00:00
Jörg Lehrke
191d0c7fd5 Fix 'search for series master' issue 2010-03-09 09:28:46 +00:00
Jörg Lehrke
a8804a44ef GroupDAV updates 2010-03-06 23:06:43 +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
Klaus Leithoff
a410651f6f changing a bit regarding the logic of the new feature (be notified about own changes) 2010-03-03 12:14:10 +00:00
Klaus Leithoff
f093aeff24 feature to enable to be notified of events you created/modified/deleted yourself; That is most helpful if you get a notification eMail with the ics attached, and thus be able to import the event somewhere else (another EGroupware/Outlook/...) 2010-03-03 11:59:55 +00:00
Christian Binder
fcd731a00b prevent iterating on empty array 2010-03-02 18:01:41 +00:00
Jörg Lehrke
c816b4188e Fix (pseudo) exception handling in CalDAV 2010-02-26 12:37:07 +00:00
Jörg Lehrke
08dbf52b66 Fix typos and code cleanup 2010-02-22 10:02:33 +00:00
Jörg Lehrke
e362a5b451 Use category names for history-log 2010-02-19 17:42:02 +00:00
Jörg Lehrke
21ccdd5f28 Fix various synchronization issues (SyncML & CalDAV) 2010-02-17 13:29:28 +00:00
Nathan Gray
de4a0e9239 Add history logging to calendar 2010-02-12 20:18:45 +00:00
Jörg Lehrke
41f587d584 Fix wrong classification in get_event_info() again 2010-02-11 21:04:10 +00:00
Jörg Lehrke
65c06844e5 Fix wrong classification in get_event_info() and UID handling for CalDAV 2010-02-11 20:50:35 +00:00
Jörg Lehrke
52ea4512ca Improve find_event() again 2010-02-11 07:33:32 +00:00
Jörg Lehrke
ad79f404e9 Fix recurring event issue 2010-02-10 19:47:39 +00:00
Jörg Lehrke
b6097fa156 SyncML Content Handling
* Improved find-methods
* Timezone support for InfoLog
* SyncML Preferences
    - addressbook and address list are now joined
    - Primary User Group for addressbook and calendar
* SlowSync uses old mapping information (can be disabled within the preferences)
2010-02-09 21:56:39 +00:00
Jörg Lehrke
75746226a4 Use egw_time for InfoLog, tracking backend and Tracker 2010-02-04 12:08:03 +00:00
Jörg Lehrke
b596935291 Fixes for get_event_info() and enhancements for find_event() 2010-02-03 12:24:42 +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
Jörg Lehrke
14e7c0cd87 Add filter to calendar_so::get_recurrence_exceptions() method 2010-01-14 17:01:30 +00:00
Ralf Becker
dd55355195 "fixed several small problems in new invitation and category acl" 2009-12-07 13:31:51 +00:00
Ralf Becker
44b15c1775 Category based ACL to limit adding of a certain category or changing the
status of a participant (included moving the event), 
eg. to implement a restricted holiday calendar
*** not yet fully tested ***
2009-12-03 18:24:19 +00:00
Jörg Lehrke
dd92e60180 Use UID for find_content(); code cleanups 2009-12-01 10:24:55 +00:00
Jörg Lehrke
6a7b07e3c6 New PARTICIPANT/ORGANIZER schema 2009-11-26 18:36:19 +00:00
Christian Binder
a7c2b81b85 moved declaration of categories var to bo class 2009-11-25 12:55:59 +00:00
Ralf Becker
9726ed19fc - fixed typo calling not existing check_acl instead of check_acl_invite
- fixed check_acl_invite to work with no acl set too
2009-11-24 13:13:41 +00:00
Ralf Becker
55fc673dc5 - new configurable invitation ACL: Require an ACL grant to invite other
users and groups:
  * No: Every user can invite other users and groups (default and old
    behavior)
  * Groups: other users can allways be invited, only groups require an invite_grant
  * Users + groups: inviting both allways requires an invite grant
  One need to keep in mind, that setting an invitation ACL via a group,
  gives each groupmember the right to invite the group / create a group
  event. So the last option propable only works, if users manage
  invitations grants on their own, or admin only sets it in small working
  groups, where every member is allowed to invite the whole group.
  --> calendar backend code removes participants a user is not allowed
      to invite
- new "only groupevents" filter, showing only real groupenvents not
  events of groupmembers (added tooltips to explain filters)
2009-11-19 18:56:04 +00:00
Christian Binder
16538f4f9d use check_perms() on ical export and merge categories on import 2009-11-18 14:46:25 +00:00
Ralf Becker
3de5e87288 "properly restoring user enviroment, after notifications send: spezially timezone" 2009-11-07 12:09:12 +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
Christian Binder
b2a3bf96a0 improved privacy on conflicting events - only check ACLs for invited participants and not all participant ACLs from conflicting event 2009-10-29 09:25:54 +00:00
Jörg Lehrke
60a7f69b57 Enable pseudo recurrence exception handling hacks 2009-10-25 18:20:58 +00:00
Ralf Becker
fe6c8fd226 also add extended (textual) information, if ical is selected for notifications 2009-10-18 12:46:18 +00:00
Jörg Lehrke
327bd79662 Improved find_event() for propper pseudo recurrence exception handling during Slow Syncs 2009-09-24 22:29:22 +00:00
Jörg Lehrke
babe8f056c * Adapted to new database schema with reference/recurrence
* Group invitation handling
* Fixes for pseudo recurrences
2009-08-23 19:26:14 +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
Ralf Becker
0a1a7f4637 some more role related fixes: updating participants, if quantity or role changes 2009-08-07 10:20:58 +00:00
Ralf Becker
bb5511cc9f - methods to combine and split status, quantity and role
- $ignore_acl parameter for calendar_boupdate::delete()
- removed setting owner always as participant: owner is allowed to
  remove himself as participant from an event
  (owner only get's set, if there are no other participants in BO)
2009-08-06 11:29:05 +00:00
Ralf Becker
c29ab01e8d - added ability to store participant roles to calendar backend,
currently not settable via GUI, but GUI leaves them untouched
- showing quantity for resources in brackets behind resource name
- docu and formatting updates all over the place
2009-08-04 17:14:16 +00:00
Ralf Becker
560f18bacd - added new colums cal_creator, cal_created for easier deleting of
doublicates from failed sync
- added cal_recurrences timestamp for exceptions (ts of original
  recurrence), for existing exceptions update script uses
  the closest recur_exception date/time for it
- using uid of original series for new recurrence exceptions,
  update script does NOT update the uid's of existing exceptions
- displaying (maybe temporary) these data in the recurrence tab
2009-07-23 16:14:22 +00:00
Ralf Becker
cb0fc5db82 - merged SyncML-1.2 branch with trunk:
svn merge -r 26935:HEAD ^/branches/SyncML-1.2/calendar .
- with the exception of class.calendar_uiforms.inc.php,
  as it was not updated with the latest changes from trunk
  and I'm not sure about the changes
--> needs further discussion, sorry :-(
svn revert inc/class.calendar_uiforms.inc.php
2009-07-15 20:35:56 +00:00
Ralf Becker
b587bab7d1 "other docu update and removed an unnecessary (doublicate) condition" 2009-03-20 08:17:54 +00:00
Klaus Leithoff
96491ed272 more debug for calendar notification 2008-12-09 14:02:10 +00:00
Ralf Becker
dab4aa74b6 use the client UID for all iCal exports, but SyncML 2008-10-05 09:22:45 +00:00
Régis Leroy
23f038f74a some comments 2008-07-11 08:17:22 +00:00
Ralf Becker
952ce04f03 "missing rename boical --> calendar_ical, uiforms --> calendar_uiforms" 2008-06-12 07:06:29 +00:00
Ralf Becker
ef700b0061 new class naming schema 2008-06-07 17:45:33 +00:00