Commit Graph

4491 Commits

Author SHA1 Message Date
Ralf Becker
923c78940e do NOT force user to change password, if LDAP does NOT support shadowlastchange attribute 2011-11-15 10:10:20 +00:00
Ralf Becker
8202298db5 do NOT force user to change password, if LDAP does NOT support shadowlastchange attribute 2011-11-15 10:09:44 +00:00
Ralf Becker
5367b5a273 allow to use LDAP homeDirectory attribute as $home in mount-url 2011-11-15 06:57:14 +00:00
Ralf Becker
08aca8ff51 allow to use LDAP homeDirectory attribute as $home in mount-url 2011-11-15 06:56:32 +00:00
Ralf Becker
33d12fce79 disabled NOT working addressbook-findshared report, which is only used in 10.6, but currently creates and error with 10.6 addressbook 2011-11-14 11:55:54 +00:00
Ralf Becker
89fdaa7691 disabled NOT working addressbook-findshared report, which is only used in 10.6, but currently creates and error with 10.6 addressbook 2011-11-14 11:54:59 +00:00
Klaus Leithoff
c90b1cafa7 silence php-warning; silence error_log 2011-11-10 14:39:07 +00:00
Ralf Becker
52fbfcff9b in case no charset is set, default to utf-8, as otherwise setting charset in sqlfs_stream_wrapper can stall install 2011-11-10 10:25:20 +00:00
Ralf Becker
a48104bfd7 in case no charset is set, default to utf-8, as otherwise setting charset in sqlfs_stream_wrapper can stall install 2011-11-10 10:24:37 +00:00
Ralf Becker
6440415f81 fixed exception stalling new installs 2011-11-10 10:10:10 +00:00
Ralf Becker
64c076c536 fixed exception stalling new installs 2011-11-10 10:09:37 +00:00
Nathan Gray
c3abca67db Return an array, not null, if there are no preferences for the app 2011-11-09 16:32:42 +00:00
Ralf Becker
b7a2bb01d5 removed calendar-preference "color for Apple iCal", as it set a single color for all calendars you have access too, storing and returning color set by iCal (untested) 2011-11-09 13:25:19 +00:00
Ralf Becker
b0a22dae6a removed calendar-preference "color for Apple iCal", as it set a single color for all calendars you have access too, storing and returning color set by iCal (untested) 2011-11-09 13:23:53 +00:00
Ralf Becker
1aca51010a fixed not working update of events, as etag2value still expected EGw- -wGE around ETag and adding Apple iCal 5.0.1 under OS X 10.7.2 user-agent 2011-11-08 21:10:37 +00:00
Ralf Becker
ade24e4943 added OS X 10.7.2 iCal 5.0.1 user agent 2011-11-08 21:03:49 +00:00
Ralf Becker
e714be2d36 fixed not working update of events, as etag2value still expected EGw- -wGE around ETag 2011-11-08 21:02:47 +00:00
Ralf Becker
80510b5412 * CalDAV/CardDAV: major rework fixing lots of bugs/incompatibilites and adding new features: eg. autocompletion of accounts and resources under iCal, searchable addressbook gateway for all addressbooks available
merged changes from Trunk up to r37094 from addressbook, calendar, infolog, phpgwapi, egw-pear and resources (only CalDAV/CardDAV related stuff of cause)
2011-11-06 09:40:33 +00:00
Klaus Leithoff
ddb2190927 fix typo 2011-11-02 14:59:27 +00:00
Klaus Leithoff
ac061f68f7 fix typo 2011-11-02 14:57:41 +00:00
Ralf Becker
f993bf1051 no need to add group-members as additional proxys, ACL grants to groups are understood by WebDAV ACL (tested with iCal) 2011-11-02 14:03:36 +00:00
Ralf Becker
69288160ae fixed not working proxy display in iCal, if resource-name contains a german umlaut: names get now transliterated to ascii (they are unique anyway, as prefixed by resource-id) 2011-11-02 13:41:41 +00:00
Klaus Leithoff
3978446168 check availaility of htmlarea before opening compose as html or html mails as html for reply; implement check based on http_user_agent for user agent known to be not compliant with ckeditor (android); allow class attribute for div, blockquote, a and img 2011-10-31 10:59:31 +00:00
Klaus Leithoff
e0853e2bd2 check availaility of htmlarea before opening compose as html or html mails as html for reply; implement check based on http_user_agent for user agent known to be not compliant with ckeditor (android); allow class attribute for div, blockquote, a and img 2011-10-31 10:28:30 +00:00
Klaus Leithoff
f95f562e01 * API: updating CKEDITOR to version 3.6.2, altering editor modes and availability of toolbar options 2011-10-28 09:19:38 +00:00
Klaus Leithoff
d844dcdbd5 * API: updating CKEDITOR to version 3.6.2, altering editor modes and availability of toolbar options 2011-10-28 09:12:40 +00:00
Ralf Becker
5202d0db2d do NOT query proxys for app user has no rights too, can give SQL error, if app is not even installed, eg. resources 2011-10-25 08:08:01 +00:00
Ralf Becker
6cf8cd6dfc casting boolean explicitly to string, as ADODB_postgres64::qstr() has an unwanted special handling for boolean types, causing eg. query in CalDAV for resources throw an invalid SQL exception under PostgreSQL 2011-10-25 07:50:32 +00:00
Ralf Becker
a5230cb614 casting boolean explicitly to string, as ADODB_postgres64::qstr() has an unwanted special handling for boolean types, causing eg. query in CalDAV for resources throw an invalid SQL exception under PostgreSQL 2011-10-25 07:49:54 +00:00
Ralf Becker
8096c34bef - fixed ORGANIZER/ATTENDEE in iCal for CalDAV:
+ do NOT use ORGANIZER for events without further participants or a different organizer
+ do not include event owner/ORGANIZER as participant in his own calendar, if he is only participant
--> all other cases include ORGANZIER and additional as ATTENDEE (tested with iCal on iOS and OS X)
- implemented schedule-tag and If-Schedule-Tag-Match header from CalDAV Scheduling
- allow to change participant status and add/remove alarms with schedule-tag instead of ETag
--> If-Schedule-Tag-Match header has precedence over If-Match (ETag) header, but limits changes to participant status and alarms
--> ToDo: test accepting, rejecting recurrences
2011-10-20 20:10:04 +00:00
Ralf Becker
e0690d2342 type attribute for principal-property-search report limiting search on a certain type/tree 2011-10-20 20:00:13 +00:00
Ralf Becker
ceaec3d3c1 added calendar-timezone property, changed groupdav_handler::extra_properties signature (removed static and added $user parameter), removed calendar-user-address-set property belonging only to principal 2011-10-20 13:35:01 +00:00
Ralf Becker
0a5e2426d1 fixed wrong timing in serialization of array, when storing arrays as config values, probably also fixing last issue of community bug #3059 2011-10-20 11:41:20 +00:00
Ralf Becker
512138ed56 diverse fixes for resources&locations, thought iCal only autocompletes locations, no idea why it skips resources, thought resources booked via webgui are shown correct 2011-10-17 15:36:28 +00:00
Klaus Leithoff
6b89d27858 catch exeption on CreateObject of bopreferences, if no felamimail is available 2011-10-17 08:42:37 +00:00
Klaus Leithoff
b56fe24784 catch exeption on CreateObject of bopreferences, if no felamimail is available 2011-10-17 08:41:43 +00:00
Ralf Becker
586a07924a implementation of (announced, but previously not implemented) acl-principal-prop-set report 2011-10-17 06:44:09 +00:00
Ralf Becker
a949acf031 locations and resources principal tree, should allow (untested!) to add resources via iCal autocomplate and "subscribe" to resource calendars 2011-10-16 08:53:07 +00:00
Ralf Becker
6d9491cf55 not announcing DAV level 2, as we dont support locking 2011-10-16 08:49:20 +00:00
Jörg Lehrke
add2ff08c3 * Fix WBXML namespache issue (bug 3048) 2011-10-15 22:46:47 +00:00
Jörg Lehrke
d76b136151 * Fix WBXML namespache issue (bug 3048) 2011-10-15 22:46:13 +00:00
Ralf Becker
9bb739d9b4 disable custom field tab, if no custom fields for specific queue/type2 2011-10-14 13:54:46 +00:00
Ralf Becker
6ff4534aa6 disable custom field tab, if no custom fields for specific queue/type2 2011-10-14 13:54:02 +00:00
Ralf Becker
5cf9f585c2 fixed not working storing of config for an app, which not yet has a config 2011-10-13 06:19:14 +00:00
Ralf Becker
5b3d0c3ca2 fixed behavior of GET or HEAD with If-None-Match returning "304 Not Modified" instead of "412 Precondition Failed", if no If-Match header given 2011-10-08 18:27:02 +00:00
Ralf Becker
b2fa12eb3e remove unusual and unnecessary "EGw-...-wGE" prefix/postfix from etag and ctag 2011-10-08 11:34:55 +00:00
Ralf Becker
b2ea1a7d05 new method groupdav_principals::url2uid to convert a principal url to a calendar uid, fixes emclient uses urn:uuid urls in outbox posts to get freebusy 2011-10-07 06:02:30 +00:00
Klaus Leithoff
c1fa4cd3e9 if we have NO password, eg. because we run by async service outside a regular user session
--> fall back to the default profile / mail config from setup
2011-10-06 09:38:09 +00:00
Ralf Becker
e654d3fbfb correctly handle uid/name-part of path containing #%? 2011-10-06 07:51:24 +00:00
Jörg Lehrke
c894eb6397 * Fix WBXML encoding issue (community bug#3020) 2011-10-05 17:40:14 +00:00
Ralf Becker
e05ce4d614 enclosing etag in quotes, as most servers do 2011-10-05 08:15:24 +00:00
Ralf Becker
8cce6075bd fixed iCal parser to unescape escaped separators AFTER spliting by them, causing eg. semicolons in vcard N property (name) to fail 2011-10-05 06:27:24 +00:00
Jörg Lehrke
b65428b153 * Fix WBXML encoding issue (community bug#3020) 2011-10-04 21:21:38 +00:00
Ralf Becker
b227e61236 removed certain properties defined only on the principal 2011-10-04 11:37:44 +00:00
Ralf Becker
c670740a71 fixed encoding issue with group-name containing a space, causing eg. OS X iCal to not display proxys 2011-10-04 07:27:33 +00:00
Ralf Becker
60ba2b9628 fixed admins not having access to all accounts, if account_selection was none or groupmembers, from which admins are explicitly excepted 2011-10-03 13:40:41 +00:00
Ralf Becker
175197d7c0 * CalDAV: no METHOD:PUBLISH for CalDAV outside the inbox 2011-10-03 12:53:28 +00:00
Ralf Becker
0837c263ff CalDAV principals: fixed wrong namespace causing iOS5 iCal to NOT autocomplete participants 2011-10-03 09:59:50 +00:00
Ralf Becker
700143eef8 if we have NO password, eg. because we run by async service outside a regular user session
--> fall back to the default profile / mail config from setup
2011-09-29 15:26:13 +00:00
Ralf Becker
4eaf9609c1 fixed docu-typo 2011-09-28 15:41:42 +00:00
Ralf Becker
bb4b9819b0 * CalDAV/GroupDAV/InfoLog: making synced InfoLog types configurable and moved getctag method to infolog_bo in preparation of InfoLog eSync support 2011-09-28 12:35:53 +00:00
Ralf Becker
aac290a330 fixed typo: record-type is "users" not "user" 2011-09-26 17:08:36 +00:00
Klaus Leithoff
e48ece66ae if ldap with fallback sql, we may be able to fetch and set the password last change date, if we are on primary, so check if the method exists instead of returning false. 2011-09-26 15:23:22 +00:00
Klaus Leithoff
db3f408f18 if ldap with fallback sql, we may be able to fetch and set the password last change date, if we are on primary, so check if the method exists instead of returning false. 2011-09-26 15:20:40 +00:00
Klaus Leithoff
740758d026 check if method exists for the fallback_auth, before calling get/setLastPwdChange 2011-09-26 11:01:16 +00:00
Klaus Leithoff
4b3bcf0fb8 check if method exists for the fallback_auth, before calling get/setLastPwdChange 2011-09-26 10:57:00 +00:00
Ralf Becker
21f4b6e887 * GroupDAV/KDE assume KDE 4.7+ uses native Akonadi resource, while below pre-Akonadi GroupDAV resource is used: unfortunately both have contradicting requirements 2011-09-26 10:21:25 +00:00
Ralf Becker
7443fdc639 * GroupDAV/KDE assume KDE 4.7+ uses native Akonadi resource, while below pre-Akonadi GroupDAV resource is used: unfortunately both have contradicting requirements 2011-09-26 10:20:27 +00:00
Klaus Leithoff
15457b47d4 * API: is_a compatibility vs. php5.3.8 resolving to instanceof operator for most common basic classes 2011-09-26 10:01:38 +00:00
Klaus Leithoff
ac2279d933 * API: is_a compatibility vs. php5.3.8 resolving to instanceof operator for most common basic classes 2011-09-26 09:52:43 +00:00
Klaus Leithoff
f7a50ec383 * API/CheckPasswordAge: new approach to the issue, as we have to take into account that the timestamp of the last password change may not be provided by the auth system. We fetch the timestamp from the authsystem if the method is implemented for the auth method configured (instead of juggling with account_lastpasswd_change or account_lastpwd_change) 2011-09-26 08:51:48 +00:00
Ralf Becker
b791b23f08 fixed typo causing to not announce addressbook outside of addressbook folder 2011-09-26 06:39:13 +00:00
Ralf Becker
14dde4c1ff iOS iCal sends now pricipal-property-search reports to autocomplete participants, but not (yet) displays the result, for whatever reason ... 2011-09-25 12:00:20 +00:00
Ralf Becker
b4b04844fe added two more match-type values from CardDAV:text-match 2011-09-24 21:15:44 +00:00
Ralf Becker
0a7b7e40c8 - improved principal-property-search report to support test=(allof|anyof) and match-type=(contains|starts-with) attributes used by iOS iCal to autocomplete participants
--> participants are - thanks to CalDAV scheduling - now setable for new event, thought searching for them does NOT yet work, no idea why ;-)
- added somehow missing calendar-query report to supported-report-set
2011-09-24 21:10:53 +00:00
Jörg Lehrke
bfd686bbac * Fix SyncEvolution issue (community bug#2975) 2011-09-24 17:54:19 +00:00
Jörg Lehrke
f6f47e586b * Fix SyncEvolution issue (community bug#2975) 2011-09-24 17:33:35 +00:00
Ralf Becker
3f830b2bff - implemented principal-property-search report required for WebDAV ACL and used by Lightning to search for calendar-home-set
- had to implement a workaround for Lightning, as it wrongly interprets principal-property-search for calendar-home-set in the principal-collection-set
  matching our *DAV root returning all principals, as all have a matching calendar-home-set, as NOT supporting CalDAV scheduling
  --> search only current user's principal, when Lightning searches for calendar-home-set
- OPTIONS / return now calendar-auto-scheduling too, as Lightning only searches there, to check if server supports CalDAV scheduling
- fixed outbox freebusy request to cope with no X-CALENDARSERVER-MASK-UID and a single attendee
2011-09-23 12:04:21 +00:00
Klaus Leithoff
53c78cd9e2 as the timestamp used for ldap is not the unixtimestamp, we just use time for updating the session cache on auth_alpwchange_val 2011-09-23 11:10:05 +00:00
Klaus Leithoff
ac22466ba0 set the session cache for auth_alpwchange_val in methods for changepassword too 2011-09-23 09:56:12 +00:00
Klaus Leithoff
6bff18eadd set the session cache only when not in admin mode 2011-09-23 09:41:03 +00:00
Klaus Leithoff
b860d7fb50 set the session cache for auth_alpwchange_val on setLastPwdChange 2011-09-23 09:29:59 +00:00
Ralf Becker
b5269738d7 read-free-busy, schedule-send and schedule-deliver privileges 2011-09-22 18:46:16 +00:00
Klaus Leithoff
afb4dff864 * API/CheckPasswordAge: new approach to the issue, as we have to take into account that the timestamp of the last password change may not be provided by the auth system. We fetch the timestamp from the authsystem if the method is implemented for the auth method configured (instead of juggling with account_lastpasswd_change or account_lastpwd_change) 2011-09-22 15:29:41 +00:00
Ralf Becker
c26fcffda7 first step for CalDAV scheduling
- principal reports scheduling-inbox-URL /<username>/inbox/ and scheduling-outbox-URL /<username>/outbox/
- outbox collection contains no events
- outbox correctly answers POST for freebusy information
- outbox respons to all other POST with "204 No Content", ignore client request to deliver invitations
- inbox collection contains events of unknown status (PARTSTAT=NEEDS-ACTION)
- inbox responds to DELETE with "200 Ok"
--> iCal under OS X now shows freebusy times :-)
(had to add "write-content" privilege for calendar collections user has edit rights for, to allow adding events)
2011-09-22 15:22:52 +00:00
Ralf Becker
1f39e5c562 - added WebDAV ACL props supported-privilege-set and current-user-privilege-set
+ currently only standard WebDAV privileges: read, read-current-user-privilege-set, write-content, bind and unbind used
  + they get only queried for collections, thought we dont report any write* on collections, as we dont allow to create calendars or change properties
- new groupdav::add_resource() method used to add all resources (incl. collections) to propfind or report requests
- improved autoindex to show nicely indented hierarchical properties
2011-09-21 20:08:21 +00:00
Ralf Becker
d5f9c5b93c - show user collections /<username>/(addressbook|calendar|infolog)/ in propfind
- only define addressbook-home-set and calendar-home-set for principal-collections
- advertice /addressbook/ as addressbook-gateway (searchable collection for all contacts accessible to a user)
2011-09-20 19:16:24 +00:00
Ralf Becker
8b74af09c5 correctly handle (forced) user preference account-selection "none" or "groupmembers": do not show other groups or users 2011-09-19 14:15:33 +00:00
Ralf Becker
c41b9f6d2c fixed no longer possible direct access/mount of VFS root via WebDAV after r36606 2011-09-19 11:40:18 +00:00
Ralf Becker
b848d23ef3 fixed no longer possible direct access/mount of VFS root via WebDAV after r36606 2011-09-19 11:39:46 +00:00
Ralf Becker
03ed1d3ddb - refactored code to use a single add_collection method in groupdav class
--> app groupdav classes now get calling groupdav object as parameter
Had a quick test with iOS & OS X addressbook, calendar and with Lightning
2011-09-18 10:56:56 +00:00
Ralf Becker
b49aae4675 - using now associative properties for easier extending, which get converted at end of add_collection to HTTP_WebDAV_Server properties
- added addressbook-findshared report to principals
2011-09-17 12:31:47 +00:00
Ralf Becker
f61e4dfcfa added collection to /principals/ resourcetype and principal-collection-set to root 2011-09-17 12:29:51 +00:00
Klaus Leithoff
8f9c8732e9 introduce register_single_app_hook and hook_exists to hook class 2011-09-16 13:08:14 +00:00
Ralf Becker
7f7e84afaa activating calendar-proxy in OPTIONS 2011-09-16 11:48:28 +00:00
Ralf Becker
2a7127a4c3 show real namespaces instead of not (visibly) defined shortcuts 2011-09-16 10:21:40 +00:00
Ralf Becker
6ce0906838 * CalDAV: implemented calendar proxy support and cleaned up principals tree 2011-09-15 22:45:00 +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
Ralf Becker
ee455dfa07 check if we are already trying to unlink the entry, to avoid an infinit recursion 2011-09-15 16:35:54 +00:00
Ralf Becker
93b7e6885c check if we are already trying to unlink the entry, to avoid an infinit recursion 2011-09-15 16:35:28 +00:00