Commit Graph

2319 Commits

Author SHA1 Message Date
ralf
230b27bc8a fix stall, if no/wrong user timezone set in prefs 2023-05-17 10:02:49 +02:00
ralf
2f4d0cd85a fix stall when timezone in prefs is stored as empty array 2023-05-17 09:04:09 +02:00
ralf
5d35fcd990 also allow calling Mail\Avatar::getAvatar() without an email 2023-05-10 16:09:05 +02:00
ralf
498aebe192 fix Mail\Avatar::getLavatar(): Argument #1 ($address) must be of type string, null given 2023-05-10 14:25:32 +02:00
ralf
ace7a22c2f * Mail: performance improvements for huge addressbooks by caching avatars 2023-05-10 09:49:54 +02:00
ralf
db8bd9dcc3 * eSync/Mail: fix wrong timezone conversation if user-timezone is different from server-timezone 2023-05-09 17:06:05 +02:00
ralf
d045fde07c * Mail: searching in compose now ignores custom fields as they might lead to unexpected results 2023-05-08 15:13:12 +02:00
nathan
f3a1ada852 Fix wrong name shown for Et2EmailTag if multiple contacts share the same email address 2023-05-01 14:43:10 -06:00
nathan
84dd9284e2 Api: Fix encodeId() failed with integers 2023-04-28 09:39:34 -06:00
ralf
33063e7c9f * AD/LDAP/Import: for AD always do a full import of groups, as AD seems not to update the modification date, if only members change 2023-04-27 16:24:35 +02:00
ralf
839863bde1 * 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:12 +02:00
ralf
5db8883db6 fixing ValueError: str_repeat(): Argument #2 ($times) must be greater than or equal to 0
fixes 1894a19a86
2023-04-27 11:01:04 +02:00
ralf
34e71f2ed2 change default to disable last/next event for users, as it's quite a performance drain 2023-04-25 17:02:02 +02:00
ralf
3c7650aaab * Calendar/CalDAV: fix recurring events with users only added to an exception and have been deleted or rejected after 2023-04-25 15:14:01 +02:00
nathan
8fdfcc5c61 Fix missing entry values 2023-04-24 13:27:57 -06:00
ralf
df63934fcc docu update 2023-04-18 15:06:49 +02:00
ralf
c7c2ab9118 fix some PHP Deprecated and typos in comments 2023-04-18 09:11:30 +02:00
nathan
43873af7bc Add implicit preference to remember user's last sort order.
Sort stored in favorites override this when the favorite is used.
2023-04-14 10:28:16 -06:00
nathan
6b870ec652 Api: Fix single custom field with ID = fieldname did not properly load value 2023-04-13 16:46:40 -06:00
ralf
a0b81c3cc3 * LDAP/AD: if only users get imported, set their primary group and memberships as configured for auto-created accounts (Default group by default) 2023-04-05 16:57:33 +02:00
ralf
390e90fa89 add link to instructions how to install missing timezones in the DB to the logged error-message 2023-04-05 08:44:15 +02:00
ralf
566dac47af * LDAP/AD/Setup: periodic import disables (add|edit)account hooks, if account-repository is not SQL and further performance improvements
- also log interactive initial or incremental import via setup
- fix conflict resolution if account_id of user already used for a group
2023-04-04 19:59:05 +02:00
ralf
fc003c613b * EPL/CTI/Addressbook: phone numbers written with unusual separator like pipe symbol where not found 2023-04-03 16:44:31 +02:00
ralf
2446f2968a * LDAP/ADS: fix memberships of local groups were lost in periodic account-import
also logging startup errors like LDAP connection problems
2023-04-03 15:25:41 +02:00
nathan
d27cb07ceb Change sharing permissions
Filemanager now allows all but Collabora share in CE.  Other apps are unchanged - EPL only
2023-03-30 10:19:54 -06:00
ralf
8211e0a8e3 fix PHP Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated 2023-03-29 22:32:16 +02:00
nathan
b67abdafd1 Fix up recur days 2023-03-28 13:48:26 -06:00
ralf
4136150cdb * LDAP/Univention: periodic account-import for Univention (mailPrimaryAddress), use LDAP account-filter for reading accounts too
also set chunk-size for reading to 500 was somehow 5, probably from debugging
2023-03-25 21:36:39 +01:00
ralf
b1c3b07c45 do NOT stall for somehow invalid date(time) values: log it and return empty 2023-03-23 21:31:47 +01:00
ralf
6332470072 allow to use non-ascii chars for link-ids e.g. the name of Wiki pages can contain them
we store them as "\uXXXX" in the ascii column
2023-03-23 17:53:05 +01:00
ralf
4ec4ddb2a1 * WebAuthN: fix not working registration of new authentication devices or browsers
generally prefer app.min.js over old, pre RollupJS app.js
2023-03-23 11:55:17 +01:00
ralf
f46163c611 fix typo in docu 2023-03-20 19:28:15 +01:00
ralf
d7b6597076 * Api/MariaDB/MySQL: fix SQL error handling in PHP 8.1
also introduce parameter to limit number of deleted rows and more docu
2023-03-17 11:04:45 +01:00
ralf
0c13bc863a stop Chrome from autofilling passwords and do NOT display a password for OAuth when editing an account 2023-03-14 10:18:46 +01:00
ralf
0a3892d2f2 fix some typos and old constructs 2023-03-10 08:45:07 +01:00
ralf
fb9c214182 * Admin/Setup: logging all DB backup operations to a text file db_backup.log in backup-directory 2023-03-10 08:33:23 +01:00
ralf
15a4ff3c99 do NOT show absolute path of error, but the one relative to our root 2023-03-08 14:27:00 +01:00
ralf
a94038163c fix not generally not working display multiple groups in status and also not displayed avatar pictures in that case 2023-02-28 15:15:23 +01:00
ralf
a8dd625a61 register old-hbox client-side and all old-*box on server-side 2023-02-27 09:57:21 +01:00
nathan
be3e5fbe8d Fix public addressbook categories with were not visible with grant on personal addressbook 2023-02-24 14:40:51 -07:00
nathan
04bedf30be Make sure we use the right app when cleaning select-cat value 2023-02-24 14:23:11 -07:00
nathan
bbd41b4255 Group grant in addressbook does not give access to personal categories, public or private 2023-02-24 13:54:41 -07:00
ralf
fe0af6a487 also register "old-button" so smallPART can still use it, fixes [0 Start] button not working in tests 2023-02-24 19:59:39 +01:00
ralf
4099066a59 fake "Domain Users" group to now show "#-513" in case it's excluded by a filter 2023-02-24 09:59:25 +01:00
ralf
190c785388 * AD/LDAP: account import supports now (keeping) local groups and their memberships, if configured to do so 2023-02-24 09:47:42 +01:00
ralf
ce555f7f0e * ActiveDirectory: fix making extra AD attributes available via custom fields with "ldap_" prefix 2023-02-23 19:56:07 +01:00
ralf
94c9051460 * AD/LDAP: fix SQL error "duplicate entry 'X' on egw_accounts.account_lid" when updating an existing account
also fixed TypeError deleting no longer existing groups
2023-02-23 11:47:15 +01:00
nathan
46389e72f7 Do not try to validate empty strings as email. If it's required but empty, give the required validation message. 2023-02-22 15:17:17 -07:00
ralf
bf6891d06a let framework know we are a popup
stops setting data-sidebox and egw.js fails because there is no sidebox
2023-02-22 09:01:40 +01:00
nathan
b1c4c54adc Get unavailable cats working again 2023-02-21 15:25:45 -07:00
ralf
6c917cd369 fix unhandled exception stalling LDAP/AD account sync
not (yet) fixing the cause, but logging it as error and continuing
2023-02-21 11:18:33 +01:00
ralf
9dd62ad9a0 always add exception code to the logged exception 2023-02-19 08:40:55 +01:00
ralf
9a408f40ac fix typo / replaced wrong line 2023-02-18 19:38:09 +01:00
ralf
bbf9d62c5a fixing unhandled "MySQL server has gone away" in PHP 8.1 2023-02-18 09:01:22 +01:00
ralf
c3e53c9d86 replaced ProfindIterator now in Calendar and InfoLog too with a generator 2023-02-15 19:50:44 +01:00
ralf
a769cdad34 fix not working account_id filter for contacts in ActiveDirectory 2023-02-15 15:32:44 +01:00
ralf
330656c437 * Status/ActiveDirectory: fix not displayed photo avatar 2023-02-15 14:34:20 +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
ralf
7522e7615f fix Argument 2 passed to EGroupware\Api\Mail\Smtp::mailbox_address() must be of the type string, null given
called in /usr/share/egroupware/api/src/Mail/Smtp.php on line 238
caused by no mail domain specified in config or mail account
2023-02-07 08:19:39 +01:00
ralf
c48e2dccf1 fix explode(): Argument #2 ($string) must be of type string, array given 2023-02-06 20:38:14 +01:00
ralf
6e1de33a23 fix server- and client-side had different attribute-names for legacy-options 2023-02-06 17:14:22 +01:00
Hadi Nategh
28d8a73ace Fix broken vfs size indicator 2023-02-06 12:10:15 +01:00
nathan
1faeffebee Stop Widget::get_array() creating unwanted indexes
When some widgets checked for value in beforeSendToClient() or validate(), they were accidentally creating a numeric index in nm content.  When these indexes built up over several submits, they caused problems with grids with repeating rows.

Fixes addressbook organisation column goes missing
2023-02-03 11:32:20 -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
c2714a6813 * Univention: make birthday of users available in addressbook (univentionPerson.univentionBirthday attribute) 2023-02-03 11:26:17 +01:00
ralf
4b342db97e fix some warnings / notices in session creation 2023-02-03 09:57:37 +01:00
ralf
4f0e65c1a5 fix not working login with domain selectbox 2023-02-03 09:57:07 +01:00
ralf
b4eafbcd70 * LDAP: fix LDAP protocol error creating new groups without a description
make sure not to unset (empty) description for new groups
2023-02-02 08:56:53 +01:00
ralf
dba604ca59 removed now unnecessary and not used lavatar parameter, as it caused multiple requests to same picture because auf different urls 2023-02-01 08:43:21 +01:00
Hadi Nategh
5cb375fabf Get font-size of server-side lavatar similar to client-side 2023-01-31 16:24:51 +01:00
ralf
f120607e4b fixing the fix ;) 2023-01-30 17:36:21 +01:00
ralf
a8c8c94144 fix class EGroupware\Api\Api\Link not found 2023-01-30 17:08:47 +01:00
ralf
9ad73f1ea1 fix LDAP/AD clients to query jpegphoto so its existence get used by the regular code to (not) generate avatar-url 2023-01-30 16:50:20 +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
ralf
f2eae9041a * Mail/OAuth: fix not working auth with custom Office365 domains outside mail wizard
Mailserver was not available, so OAuth was not detected, when trying to get a new access-token for a refresh-token
2023-01-30 10:19:56 +01:00
nathan
5bab72b8be Use client-side Et2LAvatar for user accounts whenever possible, only using avatar.php when there's a real image.
TODO:
- Need to find a cheap way to determine if there's a real image in Api/src/Accounts.php & class.mail_compose.inc.php

- Still some work for me to do in Et2SelectEmail
2023-01-27 10:34:40 -07:00
ralf
55054024b6 fix PHP Deprecated errors visible in egroupware-docker-install.log 2023-01-26 10:42:33 +01:00
ralf
ad05cd493e fix error exporting LDAP accounts to SQL: array_key_exits parameter #2 must be of type array, bool given 2023-01-25 19:12:51 +01:00
ralf
09ceed3ba2 rename/move Api\avatar::lavatar() to Api\Contacts\Lavatar::generate() to be in line with our CS 2023-01-25 12:27:26 +01:00
ralf
e30501b736 fix partner link 2023-01-23 09:14:42 +01:00
nathan
2ab7079f13 Et2LinkString: Can now fetch its own link data, given application & entryId
Includes some fixes for only_app filter
2023-01-17 14:03:28 -07:00
ralf
c49f7849bb * Mail: OAuth authentication for Microsoft (Office365, outlook.com, ...) and GMail 2023-01-16 16:56:51 -06:00
ralf
5bc7ed497c fix OAuth with Microsoft mail servers
Seems MS needs it's v2.0 provider URL (https://login.microsoftonline.com/common/v2.0'), to work, the default without v2.0 fails to login via IMAP
2023-01-13 20:28:42 -06:00
nathan
374ba994a4 Customfield validation fixes
- customfield did not pass required setting on to widgets
- link entry did not support required
2023-01-13 11:28:02 -07:00
ralf
4a70021f41 WIP Oauth authentication for Office365:
- add all Microsoft email domains
- using login.microsoftonline.com/common as OAuth provider URL
- use mail-server name to detect custom mail domains
--> auth with IMAP agains outlook.office365.com still NOT working, probably needs some kind of further verification / being an Microsoft partner
2023-01-12 19:33:31 -06:00
ralf
5d385455d2 temporary fix for TinyMCE and tabs not loading in KnowledgeBase under 23.1/master
Problem is that JavaScript in inline script tags is executed before the egw_ready promise is created
fixing it by using window.setTimeout( , 200) for now
2023-01-12 18:04:12 -06:00
ralf
22ac1a21f1 Revert "fix some egw_LAB not defined errors by using top.egw_ready instead"
This reverts commit 38d44ee3e2.
2023-01-12 18:04:12 -06:00
nathan
4f7b54c6bb Fix some more select attribute / legacy options issues 2023-01-11 15:49:56 -07:00
nathan
bc4423498a Fix option groups only kept the first group 2023-01-11 14:20:31 -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
18764aab64 Fix select-number could not get options server-side 2023-01-11 13:00:50 -07:00
nathan
9722716d1a Fix category select fails server-side validation, probably related to 8ec106f22b 2023-01-09 11:46:54 -07:00
nathan
c403edc49a Fix incorrect suggested password length 2023-01-05 15:35:04 -07:00
nathan
10ad1ae7c4 Also keep working for previous tag names 2023-01-05 14:21:38 -07:00
nathan
3ecd9c222b Fix switch widget did not validate value server-side 2023-01-05 14:06:39 -07:00
nathan
233b2f472c Fix duration in nextmatch row did not show correct value 2023-01-05 10:24:49 -07:00
nathan
578f2fc4b1 Fix customfields did not save 2023-01-05 10:04:29 -07:00
ralf
fefe82162e WIP converting filesystem templates to new syntax
- basically commiting what the preprocessor currently generates for the client-side
- server-side need to understand new syntax (et2-prefix and camelCase attribute-names) too
- preprocessor can now be called as cli to either echo-out the new template or replace in-place
- for now only modified edit-templates of addressbook, infolog and timesheet
- setting a new (not yet existing) DTD
2023-01-01 11:49:31 -06:00
ralf
6895d00160 WIP OAuth for mail, fixed not getting access-token from Microsoft
thought it's still not working: "Mailserver denied authentication" with the access-token we get :(
Must be something wired and MS specific, as it's working now with GMail
2022-12-26 17:25:47 -06:00
ralf
71aabaea73 WIP OAuth for mail:
fixing some typos to test with Office365
2022-12-25 15:19:14 -06:00
ralf
14b6a9a5ab WIP OAuth authentication for mail: working now with Gmail 2022-12-25 14:49:37 -06:00
ralf
21f8a936a0 WIP OAuth/OpenIDConnect authentication for mail / Office365 mail service
Using now https://proxy.egroupware.org/oauth as redirect-url, redirecting to specific EGroupware instance specified in state query parameter
2022-12-24 12:12:57 -06:00
ralf
dc832ce12b WIP OAuth/OpenIDConnect authentication for mail / Office365 mail services
Mail wizzard triggers on a *.onmicrosoft.com domain and then automatically uses Office365 servers with OpenIDConnect authentication
- access- and refresh-token get acquired with https://outlook.office.com/IMAP.AccessAsUser.All scope
ToDo:
- find out why Microsoft denies access with the returned access-token
- store access-token for its lifetime in the cache
- store refresh-token instead of password, to get a new access-token, if it's expired
--> add OAuth logic to mail client (not just wizard)
2022-12-23 14:33:19 -06:00
nathan
3e54b25a91 Fix for option group validation 2022-12-20 15:45:50 -07:00
ralf
87bf5af8e4 fix PHP 8.x Error: array_keys(): Argument #1 ($array) must be of type array, null given 2022-12-20 09:10:10 -06:00
ralf
773706d821 set required PHP version for master/23.1 to 8.0, as 7.4 no longer works/is supported 2022-12-13 07:29:03 -06:00
ralf
139ab59461 fix PHP 8.x about math between float and string 2022-12-09 08:33:09 +01:00
nathan
eb9ccfc655 Fix PHP 8.1 Error: Undefined constant EGroupware\Api\Vfs\StreamWrapper::vfs 2022-12-07 09:55:21 -07:00
nathan
8764d51701 Force / respect password requirements set in site configuration when suggesting passwords 2022-12-06 14:32:14 -07:00
nathan
75115d96a9 Try to fix contact sharing filemanager access 2022-12-06 13:02:48 -07:00
ralf
de9a37e87f fix PHP 8.1 TypeError: Unsupported operand types: string - float
Also change config template, to enforce only entering numbers, as the label suggested before
2022-12-06 10:09:18 +01:00
ralf
9077583170 partial revert of PHP 8.1 installation fix, as it breaks VFS WebDAV access 2022-12-06 09:25:10 +01:00
ralf
f61ce9eae8 fix installation under PHP 8.1 2022-12-05 15:55:30 +01:00
ralf
d6d77546a5 also allow column names with prefix when deleting 2022-12-01 13:11:53 +01:00
nathan
3402ed645a Quota changes
- nicer error message
- add quota for group directories with separate default
- support for more decimal places in human file size
- add some help_text to default quota
2022-11-23 13:53:47 -07:00
nathan
bfc9588739 Fix URLS with ! in query were not properly activated, leaving out part of the URL 2022-11-23 09:45:38 -07:00
ralf
a823563281 * Setup: add dry-run option to account import from AD or LDAP 2022-11-21 10:10:27 +01:00
nathan
8434549ace Add quota for home directories
Set default quota amount in Admin -> Applications -> Filemanager -> Quota
2022-11-18 12:43:27 -07:00
ralf
6857e858de fix typo 2022-11-18 20:14:17 +01:00
nathan
448a575886 Fix file sizes with decimal like "5.0GB" were parsed as 0GB 2022-11-18 11:47:02 -07:00
nathan
d38681279a Fix et2-number did not validate 2022-11-18 11:42:45 -07:00
ralf
f09ae2b6d1 remove 2nd @ in error-message 2022-11-17 20:37:40 +01:00
nathan
57be82de46 Collabora's extra share needs to use restricted fstab from original share, not full fstab 2022-11-17 09:29:42 -07:00
nathan
6787c1ad98 Avoid error if customfield does not have private 2022-11-16 14:05:37 -07:00
ralf
2e12d92d51 cache authentication for 1 hour, to not have to ask the backend again (eg. for LDAP or AD) 2022-11-11 21:00:49 +01:00
ralf
d768cc7d94 return which AD server we (tried) to contact in error-messages 2022-11-10 11:27:08 +01:00
ralf
cbb2b4f5cd get adLDAPUsers::info() to return false again instead of throwing under PHP 8.x 2022-11-09 12:33:41 +01:00
ralf
6a51e56961 allow to paginate through CalDAV/CardDAV autoindex start-page with accounts 2022-11-07 20:52:41 +01:00
ralf
4f1daddd57 forgot to remove shortcut for debugging before commiting 2022-11-05 09:17:38 +01:00
ralf
5b1fe16e9e New method Api\Accounts::isHuge() is used to NOT query members and (not yet working) disable the column in group-list 2022-11-05 09:12:43 +01:00
ralf
37c0091e3d read memberships in a single SQL query with a JOIN 2022-11-04 17:49:29 +01:00
nathan
8f51b00da3 No need to merge into signature if there is no signature 2022-11-03 10:54:47 -06:00
ralf
9cd64b1e5b fix PHP 8.x Fatal: Cannot access offset of type string on string 2022-11-02 10:49:04 +01:00
nathan
953166b161 Fix problems with links from mail
- unsaved links were not properly displayed
- unsaved links could not be removed
- calendar preserved original links, so even if you removed one it came back
2022-11-01 15:38:58 -06:00
ralf
75c07334df * MySQL 8.0: fix DB backup recorded Int columns as TinyInt and stalls restore
* MySQL 8.0: timestamp columns had no default and did not update automatic
2022-11-01 18:45:33 +01:00
nathan
166168b5bf Admin: Push for categories 2022-10-27 11:13:41 -06:00
ralf
ce5e30dc4c remove all private IP addresses from X-Forwarded-For header, not just 10.0.0.0/8 2022-10-27 14:54:59 +02:00
ralf
352e05d8e8 catch exception in _try_lang to NOT generate a Fatal error by throwing another exception in the handler 2022-10-25 14:31:28 +02:00
ralf
9640bc3e55 do NOT try to access notifications, if not installed or enabled for the user
gives a SQL error, if not installed
2022-10-24 09:11:04 +02:00
nathan
c985338a11 Admin push update fixes
- Implement for categories
- Fix some account update duplication
2022-10-18 11:29:22 -06:00
ralf
b19d75874a Fix PHP 8.x Fatal: array_merge(): Argument #2 must be of type array, null given 2022-10-17 15:58:59 +02:00
ralf
8e3cedbf08 fix error deleting links to files (they have negative ids!) 2022-10-17 12:11:59 +02:00
ralf
664bb86b2a WIP timesheet timers: create a single working time timesheet per configured periode of day, week or month 2022-10-14 10:12:11 +02:00
nathan
359fcf9782 Fix bug where sharing 3 different shares, the third link doesn't work 2022-10-13 11:53:02 -06:00
Hadi Nategh
aa139d2f15 return logout to mobile menu and remove print icon 2022-10-13 16:03:05 +02:00
nathan
475fc869f5 Fix share link to single file
If it's mounted to root, we should serve root
2022-10-12 11:45:05 -06:00
nathan
241b5ec839 Fix some missing translations in merge placeholder display 2022-10-11 15:34:25 -06:00
Hadi Nategh
214f2bd03c Remove extra logout button from mobile top header menu 2022-10-10 13:20:11 +02:00
nathan
479c90dc33 Pass custom filter attributes along
Fixes Status filter shows all possible values
2022-10-07 16:24:42 -06:00