Commit Graph

1860 Commits

Author SHA1 Message Date
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