Commit Graph

2019 Commits

Author SHA1 Message Date
Ralf Becker
b307d2a5cf "using new rrule iterator to calculate recurrences
--> still need to implement new monthly last day/week rules in iCal class"
2009-11-12 10:11:23 +00:00
Ralf Becker
e7a6f37af8 "- changed $interval parameter to default to 1, if < 1
- fixed wrong name for recur_enddate"
2009-11-12 09:31:42 +00:00
Jörg Lehrke
014119f075 Add device specific timezone settings 2009-11-11 21:31:33 +00:00
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
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
cc91687826 "fixed print without edit rights" 2009-10-01 19:21:37 +00:00
Ralf Becker
d77f7998af "added missing check if recur-endtime is before start, thanks to Hans-Juergen" 2009-10-01 19:16:38 +00:00
Christian Binder
9621d17f28 make ical class ready to propagate a status only exception to a real exception. this is just successful if the user has ACL edit rights on the event - otherwise the propagation attempt gets ignored. additionaly added some logical fixes 2009-10-01 13:30:18 +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
Jörg Lehrke
327bd79662 Improved find_event() for propper pseudo recurrence exception handling during Slow Syncs 2009-09-24 22:29:22 +00:00
Christian Binder
bbe301095e fixed alarm handling: dont touch / ignore alarms being set for all users or alarms of other users since most clients do not know specific owners for alarms 2009-09-23 08:08:37 +00:00
Christian Binder
5602cac698 complete rework of the ical import part: removed unclear 1:N relations, introduced get_event_info method which completely classifies incoming events first, removed code duplicates, re-organized importVCal() to have a more linear code structure and to make debugging easier in future. -- please forgive me if i may have introduced some bugs with that but its a huge change --" 2009-09-22 13:43:55 +00:00
Ralf Becker
a8942ec499 updated holiday files submitted to egroupware.org 2009-09-21 08:11:46 +00:00
Ralf Becker
b0a29726f1 "- disabling accept_holiday.php by default, as it's only used on www.egroupware.org
- only allow 2-char locale's"
2009-09-21 07:56:45 +00:00
Ralf Becker
ff0f2dcbbe run wrong values in error message through htmlspecialchars() 2009-09-21 06:51:05 +00:00
Oscar Manuel Gómez Senovilla
2386a28cc5 Update Czech translation for trunk. Tracker #1956 2009-09-09 22:12:43 +00:00
Christian Binder
b3f5fc282b removed init of unused var minimum_uid_lenght in importVCal() 2009-08-26 12:14:41 +00:00
Jörg Lehrke
c902314499 Fixes user status update issue 2009-08-24 17:22:05 +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
faa51609ae user messages adjusted again. another attempt to make it clear for the user whats happening with event series and single occurrences of the event - if someone finds a better solution please edit 2009-08-17 21:15:40 +00:00
Christian Binder
1d5b6b6828 prevent privileged user from pressing "save" or "apply" if just a status of a single recurrence was changed - otherwise a real exception will be created 2009-08-17 20:05:46 +00:00
Stefan Becker
cead53394e Added select all on top of the listview 2009-08-17 19:18:26 +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
1793a546e3 give a response to the user on how many occurrences have been changed. Display the correct participant status depending if a single occurrence or a whole event series is displayed. 2009-08-17 14:38:18 +00:00
Christian Binder
45dfa1ab0d fix: new supported field "recurrence" was named "reference" 2009-08-17 10:34:22 +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
da981bb02f "fixed problem reported in bug #2202 and on the devel list: Database Error when modifying the time of a calendar event
wrong SQL (UPDATE with ORDER BY) was introduce in SyncML-1.2 patch, no idea what the idea behind was ..."
2009-08-09 07:51:27 +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
Christian Binder
a41aceaaae fixing wrong recurrence value: value should always be set to the effective date of the recurrence 2009-08-07 09:26:11 +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
Klaus Leithoff
95e36754ce handle offset and control the number of results retrieved regardingly (note: no offset means you get no so/bo->total) 2009-08-06 10:43:46 +00:00
Klaus Leithoff
57542f5f74 set offset to false if no num_rows is passed via argument, as 0 triggers the use of num rows, which defaults to the default max_rows 2009-08-05 11:47:29 +00:00
Klaus Leithoff
f5284a6324 allow to determine, if the listview is to use the start of the week for displaying events 2009-08-05 07:49:00 +00:00
Ralf Becker
7742b606f8 "- storing and setting ROLE
- storing and setting resource quantity as X-EGROUPWARE-QUANTITY"
2009-08-04 17:37:49 +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
Klaus Leithoff
e757e53819 remove listview from calendar_list title, as it offers no additional information. Use get_weekday_start in calendar_list as used in calendar_month; Use numEntries for calendar_month, as passing no number of entries to fetch, will result in applying the default number of entries, or the number of entries to fetch for the anonymous user 2009-08-04 14:26:11 +00:00
Klaus Leithoff
5283f3098f fix from H.J.Tappe regarding the calculation of the enddate for the events to show 2009-08-04 10:23:48 +00:00
Klaus Leithoff
4a7c8737bb calendar integration from H.J.Tappe Listview/Multiple Weekview, to show Calendar events in sitemanager sites. Simple Demo http://213.183.76.121/TrunkWebSeite/?category_id=45; Some documentation of abilities and howto available with egroupware.org Tracker Patches Sitemgr #1991, 1993 and 1994 2009-08-03 09:51:35 +00:00
Jörg Lehrke
79b1279028 Fixes Export of Yearly Recurring Events and eGW Coding Standards 2009-07-30 20:52:13 +00:00
Ralf Becker
5aa62b71b9 "- first step of using new recurrence field
- fixed some wrong idention"
2009-07-28 08:58:39 +00:00
Ralf Becker
062f02987b holiday files / modifications uploaded to egroupware.org 2009-07-28 05:48:11 +00:00
Ralf Becker
4cfc990ea1 Hongkong and Thai holidays, thanks to Louis Li <96477092(at)alumni.cityu.edu.hk> 2009-07-28 05:44:48 +00:00
Nigel Vickers
7d2308bedf add switch based logging to default file /tmp/log-vcal or if set ['server']['temp_dir']./log-vcal 2009-07-24 14:18:57 +00:00
Ralf Becker
841aef5769 "fixed typo (in commented code) phpgwpai" 2009-07-24 10:34:20 +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
Christian Binder
5b263e23eb removed the "all future" field from participants states. Instead added uniform behaviour with existing event handling when editing a single recurrence or all recurrences. The message being displayed when editing a single recurrence read only is just meant as a proposal. Stylite usability PROs, please adjust this to whatever you want to. 2009-07-22 15:38:58 +00:00
Jörg Lehrke
7b6da8320a Fix SIF Parser again 2009-07-20 19:38:12 +00:00
Jörg Lehrke
71dfd3b2bb Fix SIF Parser 2009-07-18 22:36:44 +00:00
Jörg Lehrke
3fdb693e35 Fix whole day events 2009-07-18 12:40:58 +00:00
Christian Binder
3d1cb839ce so class STEP2: re-insert recurrences for deleted exceptions manually to avoid the forced rebuild of all recurrences and states 2009-07-17 17:16:34 +00:00