Commit Graph

2013 Commits

Author SHA1 Message Date
ralf
6b17f28490 * Addressbook/CardDAV: show and allow to sync for default and forced preferences all ABs of the admin user
also do NOT name the groups own AB "personal"
2023-04-27 16:19:35 +02:00
ralf
b4132ebf49 fix some typos or ancient syntax 2023-03-07 08:20:00 +01:00
nathan
cebe21cc2d Addressbook: Fix extra private cfs in advanced search show "null" when blank 2023-02-17 08:28:20 -07:00
nathan
727c122d8f Addressbook: Fix advanced search was losing private custom field values when they were on a separate tab 2023-02-16 08:41:23 -07:00
nathan
ee244bf282 Addressbook: Fix advanced search was not including private custom fields when they were on a separate tab 2023-02-16 08:24:17 -07:00
ralf
c3e53c9d86 replaced ProfindIterator now in Calendar and InfoLog too with a generator 2023-02-15 19:50:44 +01:00
nathan
bac32f4bba Addressbook: Fix required customfields were still required on advanced search dialog's "Extra private" tab 2023-02-15 08:44:39 -07:00
ralf
d2e03e6a28 setting same chunk-size of 500 as iterator used for optimal performance 2023-02-15 12:41:33 +01:00
ralf
9ba61e0b25 implement PROPFIND and REPORTs specially multiget with a generator to fix various problems with the iterator logic 2023-02-15 12:40:12 +01:00
ralf
27bd803e84 fix empty collection in PROPFIND/REPORT after last commit caused by creating a reference / NULL value in filter for path-attr/caldav_name 2023-02-15 08:45:28 +01:00
ralf
5e0fd45173 fix found URL in multiget REPORT where reported as NOT found too, if number of URLs exceeds chunk-size of 500 2023-02-13 23:16:43 +01:00
ralf
0b86ba7a20 * Addressbook/CardDAV: fix new Thunderbird 110 could not sync big addressbooks
TB 110 does an initial PROPFIND and then requests ALL resources in a single multiget REPORT, which caused two problems:
a) enabled CalDAV/CardDAV request logging switched output-buffering on and then runs out of memory --> switching it and therefore logging off for multiget REPORTS with more then 200 resources
b) PROPFIND iterator wrongly continued running, if the not found resources together with the found ones exceeded the chunk-size of 500
2023-02-13 22:42:13 +01:00
nathan
7fdadb84bd Addressbook: Fix shared values did not validate
Just passing them along normally now
2023-02-13 09:46:18 -07:00
nathan
d15c908e38 Addressbook: Fix required customfields were still required on advanced search dialog
Switched attribute name needed -> requred
2023-02-13 08:53:49 -07:00
ralf
6c327e7a64 * LDAP/Addressbook: make further LDAP attributes available as custom-fields using "ldap_<attribute>" as name for accounts in LDAP 2023-02-03 11:28:43 +01:00
ralf
0eff86f61a fix SQL-backends of accounts and contacts to return either avatar-url or initials 2023-01-30 15:48:53 +01:00
nathan
48008f4e96 Add ability to choose target calendar & addressbook when importing ical/vcard 2023-01-19 15:48:35 -07:00
nathan
f332b7bba5 Fully remove "tabs" attribute for tabbox, it overwrites the internal tabs collection.
Even checking for it sets 'tabs' attribute to null.  Use "extraTabs" instead.
2023-01-11 13:21:01 -07:00
nathan
115ca40737 Addressbook: Allow to choose the target addressbook when importing 2023-01-10 14:34:35 -07:00
nathan
67e643be8d Addressbook: fix "array_key_exists(): Argument #2 ($array) must be of type array, null given" error editing import vcard definition 2022-11-21 09:19:23 -07:00
nathan
972acb7aa9 Addressbook: Fix error due to missing template on mobile 2022-11-18 14:27:43 -07:00
nathan
cfec2bf52d Addressbook: fix hook processing to handle results from multiple hooks
Copied from Etemplate.php
2022-11-18 11:41:15 -07:00
nathan
b998382cd2 Addressbook: Use infolog icon for CRM of organisation action 2022-10-24 13:59:52 -06:00
nathan
6b072932bd Addressbook: Hide "Change all organisation members" label when checkbox is disabled 2022-08-03 13:52:06 -06:00
ralf
c5f671dcaf fix TypeError param #2 of array_search must be array, null given 2022-06-23 22:16:21 +02:00
ralf
f2e20eddba fix addressbook edit for new Et2SelectCountry&State:
- using allowFreeEntries for custom country-names and storing, as before, region-name not the -code
- also fix flags to show nothing for custom / free country-names
Not entirely happy about it, but not willing to spend/waste more time on this tiny feature
2022-06-23 10:06:01 +02:00
nathan
9b1923467d * Kanban: Add columns under Kanban context menu action for other applications
Also added context menu action to move kanban card to another board
2022-06-08 13:18:12 -06:00
ralf
a74bd82dde next chunk of fixed PHP Warning: Undefined array key or variable in main repo 2022-04-26 21:04:16 +02:00
ralf
b32e68c541 fix PHP 8.x TypeError: Cannot access offset of type string on string 2022-04-20 17:31:17 +02:00
ralf
49e7aab2cc * Addressbook: allow keeping custom fileAs value (LDAP: displayname) by adding it as first option 2022-03-29 10:25:52 +03:00
ralf
045d034891 fix array_key_exists() expects exactly 2 arguments, 1 given 2022-02-24 17:58:32 +02:00
Ralf Becker
b69de21bea fix PHP 8.0 TypeError: strlen(): Argument #1 ($str) must be of type string, array given 2022-01-17 21:35:50 +02:00
Ralf Becker
676fe9b36f * CardDAV/Addressbook: fix GET request regression after REST API introduction 2021-12-16 19:54:17 +02:00
Ralf Becker
fec1c6593b fix PHP 8.0 TypeError: array_search(): Argument #2 ($haystack) must be of type array, null given 2021-11-19 10:48:56 +01:00
Ralf Becker
3dd7af4aa5 fix diverse PHP 8.0 TypeErrors and ArgumentCountError in import/export 2021-11-15 14:41:36 +01:00
Ralf Becker
ed9b735456 fix PHP 8.0 TypeError: explode() expects parameter 2 to be string, array given 2021-11-10 11:38:06 +01:00
Ralf Becker
66d45452ab fix PHP 8.0 TypeError: explode(): Argument #2 ($string) must be of type string, array given 2021-11-05 14:43:32 +01:00
Ralf Becker
1500ab69f0 fix PHP 8.0 error: trim() expects parameter 1 to be string, array given 2021-10-28 21:34:02 +02:00
Ralf Becker
59a6a3c717 fix CardDAV error with DAVx5 caused by PHP 8.0 throwing an error instead ignoring it with a warning
PHP 8.0 ValueError: mb_convert_encoding(): Argument #3 ($from_encoding) contains invalid encoding "tf-"
current code expected Content-Type header to have charset enclosed in quotes, which it was not
2021-10-11 09:50:46 +02:00
nathan
da6a16e62d - Add generation target path preference to all apps
- Use common method to get merge preferences to reduce duplication
2021-10-07 10:22:45 -06:00
nathan
45f039da95 * Add preference to set the filename of merged documents using placeholders 2021-10-06 11:59:29 -06:00
Ralf Becker
d2c85cfe86 fix PHP 8.0 errors: key(): Argument #1 ($array) must be of type array, null given
guarding key() from calling with null eg. $button = key($content['button']) --> key($content['button'] ?? []) or check before !empty($content['button'])
2021-10-06 16:08:32 +02:00
Ralf Becker
66cf807cdd fix PHP 8.0 Error: Argument #2 ($array) must be of type array, null given 2021-10-05 16:35:27 +02:00
Ralf Becker
2c9949f362 REST API, do NOT take "Sync all in one addressbook" preference into account, but store in given AB 2021-09-28 11:35:01 +02:00
Ralf Becker
281e71ef71 use PUT with a UID as id to update an existing resource or create it, if not existing 2021-09-25 13:04:49 +02:00
Ralf Becker
e640873fc0 implement and document PATCH 2021-09-25 12:38:08 +02:00
Ralf Becker
1280de46d6 REST API allow sending a JSON patch to update or create a new contact (currently only via POST or PUT, not as PATCH!)
allows eg. to create a contact from a simple Wordpress contact-form only supporting POST requests and a flat object, see new example in the documentation
2021-09-24 18:06:13 +02:00
Ralf Becker
82c8ed51d2 Contacts REST API:
- implement missing PUT/POST of distribution list / CardGroups
- implement changes from next JsContact draft:
  + string plus extra localizations attribute instead of localizedString object
  + use "<domain>:<name>" for vendor attributes
- add/parse urn:uuid: prefix if UID is a UUID
2021-09-20 16:01:22 +02:00
Ralf Becker
e9998161a5 finished REST API for contacts modulo docu and bugs ;)
- JsCardGroup now used for distribution lists
- responses are not in "responses" attribute (no longer in root of object)
- fix sometimes empty / different members between PROPFIND/REPORT/JSON-GET and GET of group (caused by wrongly implemented limit to given AB)
- JSON pretty-print only if requested by Accept: application/pretty+json
- fix invalid JSON for errors (caused by opening {"responses": already sent
2021-09-19 11:09:44 +02:00
Ralf Becker
7617aae9d0 got POST, PUT and DELETE request to add, update and delete contacts working
added JSON exception handler with nicer JsCalendar parse errors
2021-09-17 20:15:36 +02:00