Commit Graph

2389 Commits

Author SHA1 Message Date
ralf
da49ce2924 if authenticated via token we have to use the admin connection, but only for the user authenticated as 2023-08-03 10:22:45 +02:00
ralf
f6249e9ad8 * PostgreSQL/Mail: fix SQL error querying email avatars 2023-08-02 11:50:09 +02:00
nathan
c5e4af397a Api: Fix adding links did not always work after triggering a form reload 2023-08-01 16:49:16 -06:00
ralf
27f750d33b if download GET parameter contains a decent cache-buster, we allow caching for 10 days 2023-08-01 23:45:26 +02:00
nathan
e19ab7edb2 Api: Add "search" to list of link entries sent to client
Fixes broken site-search
2023-08-01 09:24:52 -06:00
ralf
76c59d2103 * LDAP/AD: fix local uploaded pictures are lost when automatic import is used 2023-08-01 15:38:11 +02:00
ralf
e75b89f158 remove add (optional) $vacation_rule return parameter as it causes a PHP Fatal error in hosting 2023-08-01 07:59:01 +02:00
ralf
027ad398d6 * Mail: new modus for vacation notice to not save message to INBOX and REST API to set vacation handling 2023-07-31 16:24:58 +02:00
nathan
eca2cc9d46 Api: Add {{share}} & {{share-files_only}} merge placeholders that create an external share link 2023-07-28 08:27:31 -06:00
ralf
0b46feb706 fix typo 2023-07-28 09:43:38 +02:00
ralf
3d2f915037 guard against CalDAV clients wrongly sending a Content-Type or Accept header for JSON 2023-07-27 20:50:26 +02:00
ralf
f56c0749b3 fix not working auth_type=(fallback|fallbackmail2sql) as Auth::backend() calls __construct(null, null) 2023-07-27 14:09:17 +02:00
nathan
f3258ebc45 Fix validation of CF options from json file 2023-07-26 10:11:07 -06:00
ralf
d3b644ebec fix Error: Call to undefined method calendar_bo::find_or_add_categories() when specifying categories 2023-07-26 16:30:10 +02:00
ralf
a89b69528e aggregate Etemplate\Widget\Url::ajax_contact() requests and search for all of them in a single AJAX request and SQL query 2023-07-25 18:18:29 +02:00
ralf
7a7c04ccc8 for api.queue close session to NOT block other requests (api.queue should NOT be used for changing something in session) 2023-07-25 11:37:37 +02:00
nathan
edcc260b7b WIP on caching static option file and searching it client-side
Get it working in nextmatch
2023-07-24 15:13:28 -06:00
ralf
b013f75eef * Calendar: new REST API to read, create, modify and delete events, see https://github.com/EGroupware/egroupware/blob/master/doc/REST-CalDAV-CardDAV/Calendar.md 2023-07-24 17:08:18 +02:00
nathan
f0be2fcdca WIP on caching static option file and searching it client-side
Still needs file caching & passing correct URL
2023-07-21 16:40:29 -06:00
ralf
7e333ceac9 WIP Calendar REST API 2023-07-21 17:41:37 +02:00
ralf
a3bed88d04 fix docu, spelling and some static vs. non-static calls 2023-07-21 08:54:06 +02:00
ralf
9ad249fa30 * Adressbook/CardDAV: unconditionally start output-buffering to fix problems with huge multiget reports from TB110 AB 2023-07-15 08:29:47 +02:00
nathan
0c9cb71a70 Get rid of "Undefined array key "HTTP_X_FORWARDED_PROTO"" warning 2023-07-14 10:58:53 -06:00
nathan
604a12f7e6 Get rid of "Undefined variable $args" warning 2023-07-14 10:56:18 -06:00
nathan
5b621ffcba Get rid of a bunch more warnings 2023-07-14 10:52:05 -06:00
nathan
8ed5c2aa7e Get rid of a bunch of warnings in Entry & subclasses 2023-07-14 10:14:06 -06:00
ralf
efaa3ae386 WIP Mail REST API: fix reported problems with calendar quick add 2023-07-13 18:44:00 +02:00
ralf
3e27def4f9 WIP Mail REST API: change calendar to use new egw.openDialog():
- renamed app.dialogExec() to app.openDialog() or egw.openDialog()
- the later is the nicer place, but fails for lost window context with popups :(
2023-07-13 15:22:21 +02:00
ralf
c63784d7e8 WIP new app.ts method dialogExec(_menuaction) opening a popup into a dialog 2023-07-11 22:45:54 +02:00
ralf
f2b81f6fd2 WIP Mail REST API: fix failed POST request to create a contact (gave 501 Not Implemented) 2023-07-11 14:08:09 +02:00
ralf
96bb3a6884 WIP new app.ts method dialogExec(_menuaction) opening a popup into a dialog
ToDo: overwrite Framework actions in etemplate2.handle_load() to eg. close dialog, but not window, or refresh window instead of opener
2023-07-11 13:38:09 +02:00
nathan
23f0b6faaf * Api: Restrict customfield options read from a file to only JSON files. Files should contain an array of options.
ex:
[
  { "value": "Α", "label": "α alpha" },
  { "value": "Β", "label": "β beta" }
]
2023-07-10 14:43:32 -06:00
milan
5e3c67a5cf converted egw_action from javascript to typescript
classes are now uppercase and in their own files. lowercase classes are deprecated.
Interfaces are now actual interfaces that should be implemented instead of creating and returning an ai Object every time
2023-07-10 16:54:22 +02:00
ralf
2f56677cc8 WIP Mail REST Api: permanent log result of primary backend for fallback auth 2023-07-07 16:17:36 +02:00
ralf
9a559c5000 WIP Mail REST API: fix broken fallback auth 2023-07-07 16:02:02 +02:00
ralf
8115a92a6a WIP Mail REST API: missing files from last commit 2023-07-07 12:25:45 +02:00
ralf
2bd5fd5601 WIP Mail REST API: enable direct sending of mails with token authentication / no password not allowing to save mail to Sent folder 2023-07-07 12:22:15 +02:00
ralf
d46f8f4a4e WIP REST API for mail & token auth: fix wrong namespace 2023-07-07 09:34:04 +02:00
ralf
1a0660a6cc * Setup/Authentication: added an authentication log and fallback authentication for all backends 2023-07-06 15:50:53 +02:00
ralf
333750587c WIP REST API: show checkbox in application password to (re-)generate new token and display it 2023-07-04 11:22:49 +02:00
ralf
07300704bc WIP Mail Rest API: UI for application passwords/tokens for admin 2023-07-03 17:09:26 +02:00
ralf
9359e3eee5 WIP REST API: using tokens to authenticate as user or impersonate a user without the password and optional limited application rights 2023-06-30 20:45:45 +02:00
ralf
65b239ca2c WIP Mail REST API: do NOT read attachments into memory, they might be to big 2023-06-30 17:13:42 +02:00
ralf
95ba35bfeb fix restoring 1.8 database gave "Duplicate entry" error by mapping that (again) to InvalidSql exception (was changed due to PHP 8) 2023-06-30 10:01:01 +02:00
nathan
3cfdca0ae9 * Api: Customfield selectboxes can read options from a PHP file in the VFS using @[path] ex: @/home/Default/selects.php 2023-06-29 13:36:28 -06:00
nathan
649b0bfd59 Use code 204 instead of 404 to avoid browser treating it like an error 2023-06-29 09:48:30 -06:00
ralf
dfef4ce0c5 WIP REST API for mail
currently we can launch (interactive) compose windows, if user is online
ToDo:
- send mails for a user
- authentication as arbitrary user with an API token
2023-06-29 12:50:04 +02:00
ralf
5bb1d3c888 needs ungreedy, to not include quotes 2023-06-28 07:48:51 +02:00
ralf
23895c94be WIP improve avatar loading in mail app
currently ET2Avatar is NOT correctly handling contactId=email:<email>
2023-06-27 08:59:59 +02:00
nathan
325fdcb02c Api: User selection = none fixes
- Fix display was 'false' instead of blank
- Fix widget type check was not preserving original value
2023-06-26 10:49:25 -06:00
nathan
faa1e17460 Mail: Fix event detection in multipart mixed mails
Meeting form was not presented, just request content
2023-06-26 08:43:29 -06:00
ralf
742c067740 * ActiveDirectory: implement fail over for multiple AD controllers (failed controllers are blacklisted for 5min) 2023-06-23 09:46:59 +02:00
hadi
fce9ba3a41 * Mail: fix mixed up inline images and attachments in smime signed messages 2023-06-19 17:05:37 +02:00
hadi
b744859b70 Make sure the status is by_date before adding date rules into sieve vacation notice 2023-06-19 10:19:04 +02:00
ralf
fd527047fb fix wrongly placed exception 2023-06-16 14:53:37 +02:00
ralf
51ff3f185d fix PHP TypeError: Argument #2 ($array) must be of type array, null given 2023-06-16 10:16:20 +02:00
ralf
0386a463ec fix returning unsanitized user-input 2023-06-16 09:38:32 +02:00
ralf
99cf6fee84 better (commented out) logging of onShutdown functions 2023-06-15 12:36:03 +02:00
nathan
3a54a93eb3 Stop changing symlink mime to target mime when saving 2023-06-14 13:29:35 -06:00
nathan
4c058ffc5f Change new favourite icon from new to add 2023-06-12 14:19:53 -06:00
ralf
1acb12c6a2 fix SQL error creating or deleting a user when admin accounts list is sorted by ID (account_id) 2023-06-12 15:23:06 +02:00
ralf
7799ef9a97 fix lots of warnings filling zpush logs 2023-06-09 18:30:09 +02:00
ralf
608963aa9b fix lots of warnings filling zpush logs 2023-06-09 18:28:57 +02:00
nathan
9313156daa Api: Adjust max_lang_time when saving custom messages so they're available right away 2023-06-09 09:40:34 -06:00
nathan
492993e78e Avoid some PHP warnings
- Undefined array keys
- Undefined class variables
- Passing null to string functions
2023-06-07 13:54:17 -06:00
ralf
f16cfd45fe fix PHP TypeError: implode(): Argument #2 ($array) must be of type ?array, int given 2023-06-07 20:05:27 +02:00
ralf
1d26a1cb6c fix error reported ldap instead of ldaps 2023-05-26 08:55:05 +02:00
ralf
6dc1ae4b23 fix array_map(): Argument #2 ($array) must be of type array, int given 2023-05-25 09:45:11 +02:00
nathan
00b48f3b04 Api: Make sure the current user is always in the list of accounts sent to client 2023-05-18 14:46:20 -06:00
ralf
3ed73db7be fix stall with no/wrong server-timezone 2023-05-17 10:08:44 +02:00
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