ralf
f05ce485ca
do not generate a custom fileAs for new contacts
2022-04-21 15:45:20 +02:00
ralf
f42f26d86b
always generate minified CSS, if grunt is installed
...
- still run other npm tasks (install & build), if grunt is not installed
- run "npm install --legacy-peer-deps", to cope with dependency mismatch caused by downgraded grunt-newer
--> if developer install should not use minified CSS: remove grunt and the previous generated .min.css files
--> if downgraded grunt-newer caused CSS "problems": run once manually: grunt cssmin
2022-04-21 13:45:38 +02:00
nathan
75e573b6a1
* Api: Merge placeholder that checks for EMPTY {{IF fieldname~EMPTY~True text~False text}}
...
EMPTY check was already there, just adding it explicitly into the placeholder list
2022-04-12 09:04:18 -06:00
Hadi Nategh
8175a592d5
Fix some mail actions e.g. "view as source" or "Html" no longer working
2022-04-11 12:43:18 +02:00
ralf
28b42f4276
* Filemanager/SMB: fix not working sharing of SMB shares (with fixed credentials!)
...
sanitize URL before sending them to PHP / other stream-wrappers like the smb one, which chokes on our ro=1 parameter
2022-04-08 12:42:53 +03:00
nathan
fe91205192
Check & set context for filesystem:// too
2022-04-07 14:18:13 -06:00
nathan
0d32bb6e5c
Api: Make sure mountpoint URL query and target URL query don't double ? in path query
2022-04-07 14:18:13 -06:00
nathan
725b32941f
Api: Fix sharing folders by making sure compression is off
2022-04-06 14:44:46 -06:00
ralf
64c9507912
fix PHP 8.1 error/mysqli_sql_exception: Invalid character set was provided (utf-8 instead of utf8)
2022-04-04 10:19:26 +03:00
ralf
73662af7b2
LDAP resources are objects (no longer resources) from PHP 8.1+
2022-04-04 09:23:10 +03:00
ralf
790f9b2ff9
fix broken tracker mailhandling caused by protected constructor
...
also disable reading from DB, in case no (numeric) acc_id given, like from tracker mailhandling
2022-03-30 10:57:41 +03:00
ralf
22c8d8808f
Allow overwriting values in all mail accounts through an optional file /var/www/mail-overwrites.inc.php
2022-03-29 19:39:39 +03: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
20d3394e2b
fix IDE warning/error: constructor returning something
2022-03-29 09:12:02 +03:00
ralf
4f3e9fa06c
do NOT attempt to use credentials encrypted with user password in an async context
...
(where user password is not available)
otherwise an s/mime certificate or user specific password will stall sending notification, even if no smtp authentication required
2022-03-28 17:58:41 +03:00
ralf
9a07c4a1dd
do NOT overwrite everything, if vfs-upload is used without id:
...
- using fallback id of "file_widget" the client-side uses
- ignore validation, if there is no id
2022-03-28 13:32:05 +03:00
ralf
a5d6fea958
do not prefix empty path with preprocessor script, as it prevents client-side expansion
2022-03-23 20:57:00 +02:00
Hadi Nategh
6b1dd6a5fd
Fix error "explode(): Argument #2 ($string) must be of type string, array given", happens sometimes while merging contacts
2022-03-22 10:54:44 +01:00
ralf
e5a6f195dc
fix delete-account did not show 0 entries for InfoLog, also give a total per InfoLog type
2022-03-15 10:50:57 +02:00
ralf
71d079c9f3
only send password (or hash) to client-side, if explicitly requested
2022-02-25 13:53:03 +02:00
ralf
e3113455cc
taking modification time of api/etemplate.php script into account too for .xet cache-buster
2022-02-16 20:14:38 +02:00
ralf
22954466c8
improve logging of updating SQL statements to given table(s)
2022-02-16 14:06:36 +02:00
nathan
8203eb3efd
Use flatpickr for date widget calendar
2022-02-15 11:51:23 -07:00
Ralf Becker
dfb1f326ac
fix call to undefined method EGroupware\Api\Framework\Login::deny_screen()
2022-02-07 12:12:48 +02:00
Ralf Becker
f23a800f83
add missing $relpath
2022-02-03 15:39:33 +02:00
Ralf Becker
10d61dd4c7
extract data-preparation from Etemplate\Widget\Vfs::beforeSendToClient() to use it to send the data to client-side in an AJAX call
2022-02-03 15:33:10 +02:00
Ralf Becker
855b786d97
fix get_file_id() (sometimes) not finding the right id for shared directories or writable Collabora shares
2022-01-27 21:15:36 +02:00
nathan
09c210415e
Make sure we use the lowest file_id, even if that comes from a disabled file, so we're consistent with versioned files
2022-01-26 12:54:00 -07:00
nathan
048b3c015f
Collabora: Use the same file ID when accessing via share
2022-01-25 15:11:18 -07:00
Ralf Becker
a09c6d3639
do NOT handle / redirect for not found eT2 session in ajax_destroy_session()
...
as it's called, when the session is no longer needed
2022-01-19 20:16:28 +02:00
Ralf Becker
49cac615d7
fixing the fix ;)
...
call_user_func_array(): Argument #1 ($callback) must be a valid callback, class admin_account does not have a method "ajax_process_content"
2022-01-12 13:32:48 +02:00
Ralf Becker
1d462dabfd
fix Error Method admin_account::delete::et2_process() does not exist
2022-01-12 13:00:04 +02:00
Ralf Becker
8a629a5ef7
fix not closing popups when using et2_process json.php handler
2022-01-10 19:55:05 +02:00
Ralf Becker
fc9ab417ed
run quota-recalc only if fsck fixed something
2022-01-09 17:31:44 +02:00
Ralf Becker
1f4cb50e74
use $method parameter of Api\Etemplate::exec() plus new et2_process handler as menuaction GET parameter
...
allows determining the called function on the URL to eg. send it to different FPM pool
(before the menuaction of et2 was always "EGroupware\Api\Etemplate::ajax_process_content")
2022-01-09 16:38:14 +02:00
Ralf Becker
e2c09aa1b0
* Filemanager/API: directory size is now the sum of the size of its contained files (allowing to eg. implement quota in future)
2021-12-30 14:37:58 +02:00
Ralf Becker
578accd72f
allow to pass url including http(s) scheme to Html::link($url, ...) and therefore other methods of Html class
2021-12-23 10:01:29 +02:00
nathan
ccfcf2a086
Add a hook for before get_rows is called
2021-12-16 14:43:33 -07:00
Ralf Becker
08da663007
fix PHP Warning: explode(): Empty delimiter
2021-12-16 20:22:57 +02:00
Ralf Becker
ff47694b24
fix still not working sync-report for accounts addressbook
...
turns out Microsoft AD also returns a "Virtual List View error" if sorting by standard LDAP (modify|created)timestamp, have to use when(Changed|Created) instead, as for filter
2021-12-16 20:07:57 +02:00
Ralf Becker
dc8b0a7080
fix SQLfs fsck to query errors in chunks of 500, in case there are a huge numbers of them
2021-12-14 21:25:07 +02:00
Hadi Nategh
ebfa396195
Decode html entities used in inline image sources because tinymce encodes them
2021-12-13 16:40:32 +01:00
nathan
d69d57e6e9
Merge branch 'master' into web-components
2021-12-06 10:52:10 -07:00
Hadi Nategh
c115e762b1
Add underline button into html editor's toolbar
2021-12-06 10:14:37 +01:00
nathan
d126834468
* Etemplate: Add link icon overlay to link list
2021-12-03 14:28:54 -07:00
nathan
98882c3159
Replace hyphen in utf-8
2021-12-03 14:28:54 -07:00
nathan
41c2f0c92b
Api: Force merge placeholder charset to UTF-8, avoids mangled accent characters
2021-12-03 14:28:54 -07:00
Ralf Becker
cda751ac58
fix broken filemanager after PM integration commit
...
array_merge_recursive accumulates values in sub-arrays:
array_merge_recursive(['nm'=>['get_rows'=>'a.c.m']], ['nm'=>['get_rows'=>'a.c.m']]) === ['nm'=>['get_rows'=>['a.c.m','a.c.m']]
2021-12-03 14:28:54 -07:00
Ralf Becker
ec4edf84d8
* CardDAV/ActiveDirectory: fix empty account-addressbook if sync-collection-report is used
...
Microsoft AD can NOT filter by (modify|create)TimeStamp, we have to use when(Created|Changed) attribute
2021-12-03 14:28:54 -07:00
nathan
5af7d0f644
* Etemplate: Add link icon overlay to link list
2021-12-03 14:18:48 -07:00
nathan
0e5e2f3ceb
Replace hyphen in utf-8
2021-12-03 11:37:47 -07:00
nathan
2453bafbe9
Api: Force merge placeholder charset to UTF-8, avoids mangled accent characters
2021-12-03 11:36:02 -07:00
Ralf Becker
5bd2b86683
fix broken filemanager after PM integration commit
...
array_merge_recursive accumulates values in sub-arrays:
array_merge_recursive(['nm'=>['get_rows'=>'a.c.m']], ['nm'=>['get_rows'=>'a.c.m']]) === ['nm'=>['get_rows'=>['a.c.m','a.c.m']]
2021-12-02 22:18:41 +02:00
Ralf Becker
4d014fab49
* CardDAV/ActiveDirectory: fix empty account-addressbook if sync-collection-report is used
...
Microsoft AD can NOT filter by (modify|create)TimeStamp, we have to use when(Created|Changed) attribute
2021-12-02 20:09:08 +02:00
nathan
2545c8fde1
Merge branch 'master' into web-components
2021-12-01 15:31:45 -07:00
Ralf Becker
c688315141
fix syntax error under PHP 7.3
...
7.3 is still the minimum requirement for 21.1
2021-12-01 19:59:41 +02:00
nathan
26595b4cba
* Projectmanager: Add calendar integration so projects can be shown as events in calendar
2021-12-01 10:32:32 -07:00
Ralf Becker
0685005f41
* Guacamole/Backup/Restore: fix not working restore for Guacamole
...
disabling constraints and only truncate Guacamole tables, not dropping and creating them again
2021-11-30 21:56:17 +02:00
Ralf Becker
33ec3f05a7
fix Undefined array key warning
2021-11-29 16:45:48 +02:00
Ralf Becker
0a2488ed99
fix a couple of Undefined array key warnings
2021-11-29 16:35:50 +02:00
Ralf Becker
cbb72e06d9
fix / work around PHP 8.0 Error Call to undefined method EGroupware\Api\Etemplate\Widget\Vfs::set_attrs()
2021-11-24 20:57:45 +01:00
nathan
da6ff9d639
Merge branch 'master' into web-components
2021-11-24 09:42:28 -07:00
Ralf Becker
68a79dce6a
fix PHP 8.0 TypeError: Unsupported operand types
2021-11-23 18:07:49 +01:00
Ralf Becker
4bf375c970
fix PHP 8.0 TypeError: Illegal offset type
2021-11-23 17:44:46 +01:00
Ralf Becker
ce76fa5d7f
fix PHP 8.0 TypeError: Unsupported operand types: string & int
2021-11-23 17:23:49 +01:00
Ralf Becker
47b3f5c239
fix PHP 8.0 TypeError: array_keys(): Argument #1 ($array) must be of type array, null given
2021-11-19 13:00:51 +01:00
nathan
b91e1d8a5f
Merge branch 'master' into web-components
2021-11-18 10:28:30 -07:00
Ralf Becker
1f50b3b0c5
fix PHP 8.0 ArgumentCountError: readlink() expects exactly 1 argument, 2 given
2021-11-17 20:24:19 +01:00
nathan
bc18846d75
Improve logging message to include values instead of 'Array'
2021-11-17 08:49:32 -07:00
Ralf Becker
bbc7fb93de
fix PHP 8.0 TypeError: in_array(): Argument #2 ($haystack) must be of type array, null given
2021-11-16 18:20:35 +01:00
Ralf Becker
dfb1a3be22
fix PHP 8.0 TypeError: Cannot access offset of type string on string
2021-11-15 16:01:11 +01:00
Ralf Becker
d83f04bd49
fix PHP 8.0 TypeError: Cannot access offset of type string on string
2021-11-15 15:03:51 +01:00
Ralf Becker
be1920b687
fix PHP 8.0 TypeError: array_keys(): Argument #1 ($array) must be of type array, null given
2021-11-13 17:39:33 +01:00
Ralf Becker
11e630da2a
fix PHP 8.0 TypeError: fwrite(): Argument #2 ($data) must be of type string, array given
2021-11-13 17:30:57 +01:00
Ralf Becker
587a9c0a88
fix PHP 8.0 TypeError: in_array(): Argument #2 ($haystack) must be of type array, null given
2021-11-13 17:24:31 +01:00
Ralf Becker
8063b9a8ef
fix PHP 8.0 TypeError: array_merge(): Argument #1 must be of type array, null given
2021-11-13 17:18:21 +01:00
Ralf Becker
e95edf60ec
fix PHP 8.0 TypeError: Unsupported operand types: string + int
2021-11-13 17:05:20 +01:00
Ralf Becker
b18d1da363
fix PHP 8.0 TypeError: ZipArchive::setCommentName(): Argument #2 ($comment) must be of type string, array given
2021-11-13 17:01:43 +01:00
Ralf Becker
392a27b77c
try fixing an other case where an unrelated XML error was reported
...
Error passing XML file '<text type="text" id="#Kunde_Firma"/>' line 12: EndTag: '</' not found
There is obviously no line 12 ;)
2021-11-11 09:49:31 +01:00
Ralf Becker
59eff1db26
quieten permanent log of search links for non-ascii project-names etc.
2021-11-11 09:10:34 +01:00
Ralf Becker
146e94160f
check we have an email to send the mdn to (otherwise Horde_Mime_Mdn throws a RuntimeException)
2021-11-11 08:30:15 +01:00
Ralf Becker
c221253a82
fix PHP 8.0 TypeError: Unsupported operand types: string & int
2021-11-11 07:59:54 +01:00
nathan
ed66beaf8f
Merge branch 'master' into web-components
2021-11-10 10:25:51 -07:00
Ralf Becker
577ff9dd26
fix unrelated XML errors sometimes shown parsing eTemplates
2021-11-10 13:55:48 +01:00
Ralf Becker
c1dfa685ec
fix PHP 8.0 TypeError: array_merge(): Argument #2 must be of type array, null given
2021-11-10 12:47:05 +01:00
Ralf Becker
1ea91d8721
fix/catch PHP 8.0 ValueError: mb_convert_encoding(): Argument #3 ($from_encoding) contains invalid encoding "cp1250"
2021-11-10 12:43:03 +01:00
Ralf Becker
03835c0247
fix PHP 8.0 TypeError: strpos(): Argument #1 ($haystack) must be of type string, array given
2021-11-10 12:14:58 +01:00
nathan
a717234b2f
Merge branch 'master' into web-components
2021-11-09 15:02:25 -07:00
nathan
2ce96a6f8d
Maybe fix SQL error from searching contacts with private + duplicates
2021-11-09 14:33:37 -07:00
Ralf Becker
867726f5c9
* LDAP/Addressbook: fix region contains for given country invalid value gives an LDAP error on update
...
cause by trying to write NULL, which is not allowed, unsetting the attribute the proper way now
2021-11-09 11:06:43 +01:00
Hadi Nategh
968774d829
Update jQuery-ui to 1.13.0
2021-11-09 11:06:17 +01:00
Ralf Becker
7020030c17
fix PHP 8.0 problem "new" > 0 causing mail accounts created via admin for an other user to fail
2021-11-09 08:02:49 +01:00
nathan
f4ad6c6dbc
Merge branch 'master' into web-components
2021-11-08 09:23:48 -07:00
Ralf Becker
74cc2f03ff
fix PHP 8.0 TypeError: Api\Accounts::username(): Argument #1 ($account_id) must be of type ?int, string given
...
new method for account link-title not throwing an error, for non-numeric arguments and therefore stalling all titles
2021-11-08 12:22:41 +01:00
Ralf Becker
02270f63fb
fix PHP 8.0 TypeError: Exception::__construct(): Argument #2 ($code) must be of type int, string given
2021-11-08 11:36:25 +01:00
nathan
e03b8bbdc9
Merge branch 'master' into web-components
2021-11-05 11:08:31 -06:00
Ralf Becker
2f1559a490
fix PHP 8.0 TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given
2021-11-05 15:18:57 +01:00
Ralf Becker
9fbd07e335
fix PHP 8.0 TypeError: Unsupported operand types: null + array
2021-11-05 14:49:56 +01:00
Ralf Becker
de7f4329ff
fix PHP 8.0 TypeError: uasort(): Argument #1 ($array) must be of type array, null given
2021-11-05 14:37:21 +01:00
Ralf Becker
57ac760a78
fix PHP 8.0 ValueError: stripos(): Argument #3 ($offset) must be contained in argument #1 ($haystack)
2021-11-05 11:38:49 +01:00
Ralf Becker
4db49da7e5
fix PHP 8.0 error: trim expects string, array given
...
removed trim
2021-11-05 09:08:17 +01:00
Hadi Nategh
201d1f9972
Fix PHP8.0 error (TypeError): strlen(): Argument #1 ($string) must be of type string, array given
2021-11-04 17:23:45 +01:00
nathan
b7daf84d90
Merge branch 'master' into web-components
2021-11-04 09:24:37 -06:00
Hadi Nategh
62fcc3156c
Fix PHP8.0 (TypeError): explode(): Argument #2 ($string) must be of type string, array given
2021-11-04 14:30:23 +01:00
Hadi Nategh
1f28336702
Fix stripos(): Argument #3 ($offset) must be contained in argument #1 ($haystack) by preventing empty html value being processed
2021-11-04 14:12:21 +01:00
nathan
672ed0aa0e
- DateTime widget to handle dates with times
...
- Time & Date+time parser & formatter functions
- Date widget does not return a time
2021-11-03 09:05:16 -06:00
Ralf Becker
d04b98e64c
* Filemanager: fix not working variables eg. $user in GUI mount (Admin > Filemanager)
...
also support no user/password for sharing links
2021-11-03 14:54:22 +01:00
nathan
76d7447dab
Merge branch 'master' into web-components
2021-11-01 09:37:26 -06:00
nathan
be6146661d
Api: Fix check of disabled attribute was misbehaving if the value was null or 0
...
This showed up when validating tracker config, some rows were disabled with disabled="@tracker". When tracker=0, they did not return their value.
2021-10-28 14:02:13 -06:00
Ralf Becker
c15cb2de41
add $depth parameter to Vfs::checkLock($url, int $depth=0) and use it to query all locks in one go for filemanager_ui::get_rows()
2021-10-28 21:08:31 +02:00
nathan
a794adfcf2
API: Make sure memberships is an array to avoid other errors (PHP 8.0)
2021-10-27 13:38:05 -06:00
Ralf Becker
09cb38541b
fix regression reported by @asig2016 after big warning fix
2021-10-23 09:55:20 +02:00
nathan
e3526d2bef
Api: Fix "Unsupported operand types: array + bool" when infolog linked contact could not be read
2021-10-22 09:39:24 -06:00
nathan
4e54c2b5a3
Api: Fix merge action files in subdirectories had their path as part of action caption instead of just the file name
2021-10-21 09:51:05 -06:00
Ralf Becker
b1af39be37
fix big chunk of PHP 8.0 warnings
2021-10-21 10:39:57 +02:00
nathan
82423d60bb
Api: Fix cf sub-entry placeholder expansion was not passing content for placeholders like {{#customer/n_fn}}
2021-10-20 14:08:43 -06:00
Ralf Becker
f6d756a0c1
closing/commiting the session to speed up calendar loading
2021-10-20 13:53:41 +02:00
nathan
7a7f80f7d9
Api: Fix replacements from sub-apps (eg: infolog contact) were missing
2021-10-19 09:17:22 -06:00
nathan
fbbc466c78
Merge branch 'master' into web-components
2021-10-18 10:56:05 -06:00
Hadi Nategh
0dd215d340
* Mail: Add set flags action into mail filters
2021-10-15 17:23:48 +02:00
nathan
33fcb4e657
Infolog: Avoid errors adding app replacements if incorrect parameters given
2021-10-15 09:09:53 -06:00
Hadi Nategh
75d119f31f
* Mail: Implements date extension for vacation rule. None imap admin user can also set vacation rule by date.
2021-10-15 14:29:19 +02:00
nathan
93108177ce
Remove unwanted use
2021-10-14 13:34:54 -06:00
nathan
aefeade501
Placeholder / merge translations
2021-10-14 09:05:12 -06:00
Hadi Nategh
524edf21d7
PHP8: fix lots of warnings
2021-10-14 14:14:58 +02:00
Hadi Nategh
e76ae2db32
Remove none existing mail connectionTimeout preference. Fixes warning of Undefined array key 'connectionTimeout'.
2021-10-14 11:34:56 +02:00
Ralf Becker
69782e833e
fix PHP 8.0 error forwarding mail as attachment (calling count on null)
2021-10-14 09:39:01 +02:00
Ralf Becker
fe5a0b8567
fix PHP 8.0 error when converting an InfoLog into a ticket
...
Cannot access offset of type string on string
Also add line and file to our non-json exception handler, for easier identifying the problems
2021-10-14 08:05:22 +02:00
nathan
98ed7edda4
Fix incorrect default preference for merged document filenamer
2021-10-13 15:47:01 -06:00
nathan
965e100082
Fix expansion broken in ddddc5ba05
...
Caused export field checkboxes in new definition to not keep their value
2021-10-13 15:08:16 -06:00
nathan
918d91eb9b
Fix ReflectionParameter::isArray() was deprecated as of PHP 8.0.0
2021-10-13 10:52:56 -06:00
nathan
047b86f38b
Placeholders list common UI: different recursion check for better results
...
This one still puts simple customfields in, but just skips the linked apps cfs
2021-10-13 08:39:23 -06:00
nathan
7dba4b9284
Placeholders - avoid infinite recursion if apps have custom fields of other apps
2021-10-12 15:44:48 -06:00
nathan
9e2bb05ded
Placeholders list common UI
...
Should reduce maintenance by using a common UI to show placeholders based on the placeholder list
2021-10-12 14:18:18 -06:00
Hadi Nategh
309e020324
Fix error "Non-static method Merge::get_all_ids() cannot be called statically"
2021-10-12 12:54:56 +02:00
Ralf Becker
7248b6649b
fix a bunch of PHP Warnings
2021-10-12 11:51:28 +02:00
Ralf Becker
044aae3cf8
fix PHP 8.0 error: Undefined constant "EGroupware\Api\Contacts\cat_id"
2021-10-11 18:40:21 +02:00
Ralf Becker
f29a2b5ea8
fix PHP Warning: Illegal string offset 'tmp_name'
2021-10-11 14:02:46 +02:00
Ralf Becker
59794cc3a4
output line and file of exception as trace not always contain it
2021-10-09 08:43:32 +02:00
Ralf Becker
a04cbc0ab4
an other chunk of PHP 8.0 Warnings fixed
2021-10-08 15:43:48 +02:00
Hadi Nategh
f62ff90444
Accept mail externalImages with long url
2021-10-08 14:30:04 +02:00
Ralf Becker
cb991f1243
fix Api\Accounts::username(): Argument #1 ($account_id) must be of type ?int, string given
2021-10-08 14:10:45 +02:00
Ralf Becker
fac81f660d
fix PHP 8.0 errors around ACL dialog and policy:
...
- bitwise AND operator gives TypeError if both values are neither a number nor a numeric string, eg: null, "run"
- Etemplate::setElementAttribute() must NOT be called before instantiating an Etemplate object, you will get fatal error otherwise, because no request object
2021-10-08 09:05:58 +02:00
nathan
d43c27a31b
Fix nested placeholders (customfields from other apps) were not being displayed properly
2021-10-07 14:51:16 -06:00
nathan
c73a7beac8
Add placeholder list for calendar & filemanager
2021-10-07 13:47:14 -06:00
Ralf Becker
417bbccbe3
fix PHP 8.0 Fatal error: Declaration of Api\Etemplate\Request\Session::read($id = null) must be compatible with Api\Etemplate\Request::read($id = null, $handle_not_found = true)
2021-10-07 18:39:40 +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
40af04e38e
Fix broken Merge::get_app_class(), we need it to autoload the class
2021-10-07 09:31:43 -06:00
Ralf Becker
460d8cbe0d
fix not working preferences GUI after ddddc5ba05
2021-10-07 17:28:06 +02:00
Ralf Becker
a8d14ffa0a
fix TypeError: Argument 1 passed to EGroupware\Api\Accounts::username() must be of the type int, null given
2021-10-07 16:53:33 +02:00