Commit Graph

1191 Commits

Author SHA1 Message Date
Ralf Becker
a4176448f0 "New recurance rule iterator:
- Implemented two new monthly rrules: last day of month and last weekday (eg. workday) of month
- The constructor accepts times only as DateTime (or decendents like egw_date) to work timezone-correct.
- The timezone of the event is determined by timezone of the startime, other times get converted to that timezone.
- There's a static factory method calendar_rrule::event2rrule(array $event,$usertime=true), which converts an event read by calendar_bo::read() or calendar_bo::search() to a rrule iterator.
- The rrule iterator object can be casted to string, to get a human readable describtion of the rrule.
- There's an interactive test-form, if the class get's called directly: http://localhost/egroupware/calendar/inc/class.calendar_rrule.inc.php
--> next step will be to use the rrule iterator in calendar_bo::insert_all_repetions() to calculate the recurences"
2009-11-11 20:38:16 +00:00
Ralf Becker
5e24cc0c9b "UTC is treated specially: it's implicitly mapped to tz_id=-1 (to be able to store it for events), but calendar_ical creates NO VTIMEZONE component for it." 2009-11-10 20:38:00 +00:00
Ralf Becker
aa90d987c1 "fix: csv export is not always exporting custom fields" 2009-11-10 20:18:35 +00:00
Ralf Becker
9df8b0bdbf new static calendar_timezones::DateTimeZone($tzid) method returning a
DateTimeZone object resolving by PHP not supported Windows timezones
with their standard alias
2009-11-10 20:07:33 +00:00
Ralf Becker
4865854281 Added aliases for Windows timezone to standard TZID's 2009-11-10 19:37:27 +00:00
Ralf Becker
85bf743434 "Using VTIMEZONE component from new calendar_timezones class (imported sqlite DB from Lighting) for exports and importing TZID from iCals.
Horde Code already uses VTIMEZONE component to return times in servertime, no need to change anything there."
2009-11-10 15:08:35 +00:00
Ralf Becker
ddfcdfff06 allow EGroupware users to select only timezones, for which we have a VTIMEZONE component (I think the others are only unofficial aliases, not included in our database) 2009-11-09 09:00:53 +00:00
Ralf Becker
3de5e87288 "properly restoring user enviroment, after notifications send: spezially timezone" 2009-11-07 12:09:12 +00:00
Jörg Lehrke
7198ed861f make code more comprehensible 2009-11-06 15:44:04 +00:00
Christian Binder
1fac8112a9 fixed a very small typo :-) 2009-11-04 21:16:08 +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
f3a21aec7b make alarm content array really empty if all alarms have been stripped out due to ACL issues - otherwise one empty row will be displayed in form 2009-11-04 09:41:19 +00:00
Ralf Becker
01ecab32bc "fixed typo, thanks to jaytraxx" 2009-11-04 08:06:45 +00:00
Ralf Becker
28518afcbf "quietening diagnostics in search" 2009-11-04 07:57:55 +00:00
Ralf Becker
e9e7ad77b6 "setting tzid from user prefs for new entries" 2009-11-04 07:56:00 +00:00
Jörg Lehrke
bacca46078 Fix Alarm Inport Issues 2009-11-03 16:31:07 +00:00
Ralf Becker
54f32ae08a "fixed sql error after switching on custom fields column" 2009-11-03 16:13:45 +00:00
Ralf Becker
867636861e Added calendar table for timezones:
- timezone data is imported from SQLite DB from Thunderbird Lighting 1.0pre
- contains iCal VTIMEZONE component
- also contains not yet used latitude and longitude for timezone
- methods to convert between TZID string, nummeric tz_id and VTIMEZONE
  iCal component
--> preparation to store timezone information for each events
    (using tz_id as foreing key into egw_cal_timezones table)
2009-10-31 14:47:16 +00:00
Jörg Lehrke
85a9a06a96 Only one VTIMEZONE per VCALENDAR; Export Alarms again 2009-10-30 21:39:19 +00:00
Jörg Lehrke
a87fc26aa7 Fix RRULE issue for vCal 1.0; Fix timestamps with TZ issue 2009-10-29 19:42:32 +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
6d3bf02d1c Pseudo recurrence exception handling hacks; vCal 1.0 extensions 2009-10-25 18:22:01 +00:00
Jörg Lehrke
60a7f69b57 Enable pseudo recurrence exception handling hacks 2009-10-25 18:20:58 +00:00
Jörg Lehrke
2eed0b9ddc Fix comment 2009-10-25 18:20:00 +00:00
Christian Binder
e3074ac9dc re-implemented implicit EGW_ACL_PRIVATE grant for group invitations - removed unneeded error logging 2009-10-23 07:51:07 +00:00
Ralf Becker
9850e07dd2 "weekday starts pref contained only monday" 2009-10-22 16:55:09 +00:00
Ralf Becker
7d89d8866d "fixed calendar csv-export:
- was only exporting 15 events (num_rows not forwarded to bo)
- participants contained html for status icon"
2009-10-22 13:41:44 +00:00
Jörg Lehrke
d0028ffc31 Improve readability 2009-10-19 20:50:17 +00:00
Jörg Lehrke
a11565ec9c Fix VTIMEZONE RRULE issue and be more compliant with standard 2009-10-19 20:46:23 +00:00
Ralf Becker
20e655c466 Default and forced preferences for nearly all apps 2009-10-19 17:04:11 +00:00
Ralf Becker
1fa1b92a56 docu update 2009-10-18 12:59:12 +00:00
Ralf Becker
5408924afb All EGroupware apps can now set default and forced preferences on
installation time --> nice user experience and cleaner look (by hiding
exotic prefs by focing them to a usual value):
- settings returned from settings hook can contain values for keys
  'default' or 'forced'
- if settings hook require part of api or application, which are not
  available during installation time: use a method hook (instead of
  an old $app/inc/hook_settings.inc.php file), and check if
  $hook_param['setup'] is true
- default prefs created so far in setup/admin_account.php got removed
- common prefs in preferences_hooks::settings() got reworked to set
  default and forced prefs
- calendar prefs in calendar_hooks::settings() got reworked to set
  default and forced prefs
--> I will rework prefs of all our (default) applications according to a
best practice list of Stylite consultants
2009-10-18 12:57:30 +00:00
Ralf Becker
fe6c8fd226 also add extended (textual) information, if ical is selected for notifications 2009-10-18 12:46:18 +00:00
Ralf Becker
4f69a5d1b0 using references to loop of items in profind and some cleanups 2009-10-16 08:36:28 +00:00
Ralf Becker
ff91aa6223 - fixed setting of roles
- automatically adding owner as chair
2009-10-13 09:00:01 +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
d6cf835680 missing translation of role 2009-10-13 08:58:06 +00:00
Ralf Becker
9d50eb121d disabled debug-message and halfway fixed rules 2009-10-12 21:26:11 +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
Ralf Becker
a3c57c48b3 "fixed typo reported in bug #2302 - Error while imported iCal file (PHP Error)" 2009-10-12 15:44:52 +00:00
Ralf Becker
e3c468361d "stop calendar to update prefs on each request (do it only on change)" 2009-10-12 09:34:56 +00:00
Ralf Becker
4e21b766b9 - reworked old browser class to use have only static methods
--> recogniced it's so old and dusty, it does not make sense any more
--> moved content_header() method to html class
- fixed calls of browser->content_header to use html::content_header
  instead
2009-10-11 11:37:46 +00:00
Jörg Lehrke
6f780041fa Fix VTIMEZONE handling 2009-10-09 18:20:13 +00:00
Ralf Becker
ab9c9d21b6 New egw_time class used to implement correct timezone handling for
calendar, plus a first calendar implemenation.

This implementation just replaces following calendar_bo methods:
- date2ts($date,$user2server=False)
- date2array($date,$server2user=False)
- date2string($date,$server2user=False,$format='Ymd')
- format_date($date,$format='')
which static methods from egw_time.

If your server is in same timezone as the user, you should experience no
difference. As a small test, you can switch to an other timezone (eg.
UTC) to recognice on a weekly repeating event (which still repeats on
equal server time!) that it moves by one hour when daylight saving
changes. This switching to a TZ with different daylight saving rules,
was not working before.

Happy testing :-)
2009-10-07 13:29:06 +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
Christian Binder
49de506d6f also export servertime if event has no recur_enddate - it could be a weekly or monthly recurring event 2009-10-06 14:29:46 +00:00
Christian Binder
68dc2e4f47 also set date_format if servertime gets set - just for the case that it is used later 2009-10-06 13:20:41 +00:00
Christian Binder
14d4f08b36 added missing param date_format 2009-10-06 12:41:08 +00:00
Jörg Lehrke
1353ae511a Adds TZID/VTIMEZONE support for server timezone entries 2009-10-05 21:00:08 +00:00