Commit Graph

2743 Commits

Author SHA1 Message Date
Klaus Leithoff
2d494997ab rework of bo_merge::getExportLimit, apply to etemplate, importexport, addressbook, calendar 2011-09-16 13:03:46 +00:00
Klaus Leithoff
f616b34f58 API: introduce register_single_app_hook to be able to add or update one hook for an required app. register added/updated hooks with ->location; calendar and addressbook are using this to insert export_limit hook if not available. use app hook to fetch app specific export limit with import_export side_menu additions too 2011-09-15 16:53:20 +00:00
Klaus Leithoff
fc3fc728a4 register_hooks, without hook array, does not reregister all app hooks, so use register_all_hooks instead 2011-09-15 15:03:25 +00:00
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
Klaus Leithoff
69a930ab67 * calendar/holidays: fix charset for japanese holidays 2011-08-22 14:29:22 +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
17a41103d5 Loa language translation from vimontha <kvimontha@yahoo.com> 2011-08-09 06:12:25 +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
e1fce75a74 Cleanup translations - common importexport stuff 2011-07-04 20:06:30 +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
Nathan Gray
341bf0e8c4 Enable import CSV plugin, but remove default definition. Admin can create it if needed 2011-07-04 14:34:44 +00:00
Ralf Becker
c13c463143 Using cal_modified as deleted-timestamp, as querying it from SyncML tables creates too many problems (refresh table stops before copying all rows!) 2011-07-01 08:30:51 +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
Oscar Manuel Gómez Senovilla
164871ec02 Update Czech translation for trunk. Tracker #2886 2011-06-23 13:53:19 +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
Ralf Becker
2bf55a7c87 some fixes for English and Suomi translation, from our Suomi resident here as Stylite 2011-06-22 15:53:36 +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
0f2983a504 delete in the past wrongly created entries for a singel recurrence, which mess up the update, beside being wrong anyway 2011-06-21 07:48:16 +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
8e7c73dd84 some fixes for English and Suomi translation, from our Suomi resident here as Stylite 2011-06-16 13:01:29 +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
fcfbd038bc some fixes for the English translation, from our Suomi resident here as Stylite 2011-06-10 06:19:36 +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
9dfdabe1a3 some fixes for the English translation, mostly correcting case, from our Suomi resident here as Stylite 2011-06-07 06:29:49 +00:00
Ralf Becker
e841e04b8b italien translation from Ilias Chasapakis from Webtrain 2011-06-06 10:12:50 +00:00
Ralf Becker
cfc3039bc0 calling the global action-object-manager 2011-06-02 17:01:56 +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
c81bd1a291 Change default charset from utf-8 to user's preferred charset 2011-05-24 15:57:16 +00:00
Nathan Gray
cae8752274 Make default import definitions available only to admins 2011-05-24 15:40:22 +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
Ralf Becker
59a91269e9 upper check-all button also needs to call egw_objectManager.toggleAllSelected() 2011-05-06 13:25:43 +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
Nathan Gray
45855d6b6e Use action system to select all 2011-05-04 17:49:48 +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
30b922f30e - fixed not working switching legacy actions columns on again
- moved some translations to common
2011-05-03 06:26:56 +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
Nathan Gray
1f0826c391 Good Friday and Easter Monday until 2016 from Kenneth Hawkins 2011-04-22 15:00:28 +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
Nathan Gray
905900dd41 Add ability to select group calendars for export 2011-04-06 22:04:37 +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