Commit Graph

2697 Commits

Author SHA1 Message Date
ralf
303dc2bc70 allow to set a higher account-import log-level then "info" 2023-08-15 16:02:54 +02:00
nathan
2c5170f15b * Api: Store recoverable password (encrypted) for shares so you don't have to change it when you forget 2023-08-14 13:42:00 -06:00
hadi
7e5f5f960d Missing parts from commit f0656f280f 2023-08-14 17:35:40 +02:00
ralf
35b0216687 * Calendar/CalDAV: Thunderbird and CalDAVSynchronizer: update only participant data, instead of failing when the event was changed 2023-08-10 15:11:48 +02:00
ralf
9092ffe8d7 * Calendar/CalDAV: do NOT limit number of returned events for GET requests with download parameter 2023-08-09 15:19:31 +02:00
ralf
aceb73eb53 * LDAP/AD: fix duplicate key account_lid error on import caused by mixed case in account-names not treated equal 2023-08-07 10:52:28 +02:00
ralf
af0c557cc5 convert associative array to a real array with value attribute, to preserve the order of numeric keys 2023-08-04 09:10:17 +02:00
ralf
2022adfbfb be more verbose on errors and return full Sieve script text (for user/password, not for admin connection) 2023-08-03 13:58:51 +02:00
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
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
nathan
f8e56edc20 Limit number of accounts (& other select/taglist search results) sent to client 2022-10-04 15:49:07 -06:00
ralf
caef7296ce invalidating/deleting et2-select-cat's cache on adding, updating or deleting categories
Also pushing cat-changes as app "api-cats" to client-side
ToDo: client-side code to update category list in admin or preferences
2022-10-04 12:54:30 +02:00
nathan
5031631dc4 Make two anonymous shares at the same time work 2022-10-03 14:27:11 -06:00
ralf
49ac54b365 Revert "json requests now close the PHP session immediately again and reopen it, if there was an update to the session" as it breaks Collabora editing
This reverts commit fe4d0dbbe3.
2022-09-27 19:02:20 +02:00
nathan
5027e075d7 Allow groups to have lavatars 2022-09-26 15:16:38 -06:00
ralf
fe4d0dbbe3 json requests now close the PHP session immediately again and reopen it, if there was an update to the session
this allows to run more PHP requests in parallel
2022-09-24 15:50:44 +02:00
ralf
84d65bcf3b there is currently no avatar for groups, no need to ask server about it 2022-09-24 14:44:42 +02:00
nathan
00c9550465 Fix selects without empty_label were not allowed to be empty in some cases, even without required=true
For example select-account multiple=true, or customfield select-account with rows > 1 would give error "'' is NOT allowed ('not found')"
2022-09-23 09:39:50 -06:00
nathan
159a370da6 Fix more than one anonymous shares gave error / BasicAuth prompt
First one was successful, but subsequent anonymous shares in the same browser failed
2022-09-20 11:33:16 -06:00
ralf
1260203755 setting minimum version for 22.1 to PHP 7.4, recommended and maximum version to PHP 8.1 2022-09-20 13:53:07 +02:00
ralf
5dcc670ac0 nicer way to set current Vfs user and also not overwriting the default context 2022-09-16 09:33:09 +02:00
ralf
0f376ae6df * LDAP/AD/OpenID Connect: fix error creating tokens with profile claim, if user has a picture 2022-09-16 09:14:38 +02:00
ralf
c59b5a7a6e document how to test LDAP/AD behavior 2022-09-16 09:13:01 +02:00
ralf
1989e1a949 fix PHP 8.1 makes all schema errors fatal, change that back to previous behavior, to ease updates 2022-09-14 14:45:09 +02:00
ralf
0c11d2fd59 fix OpenID scope "profile" gives error that it cant create /home//.tmp 2022-09-14 10:01:33 +02:00
nathan
cfbb74b83e Fix some Et2DateDuration bugs
- Duration did not validate correctly
- Validation errors were not actually shown
- Empty duration ('') did not work consistently
2022-09-13 13:00:25 -06:00
ralf
52cca3676e Revert "reinsert filtered <style></style> section at initial position"
It seems to lead to a significant higher memory usage and did NOT fix the problem it was supposed to fix (empty line above email after sending)

This reverts commit 4e0bb13571.
2022-09-13 08:24:11 +02:00
ralf
26824323e5 got mailing lists working again in mail compose using includeLists=true attribute
using "$list_name <$list_id@lists.egroupware.org>" instead of just integer ids for the list, thought et2-select-mail is NOT displaying the mailing-list icon, after a mailing-list is selected
2022-09-12 14:51:13 +02:00
Hadi Nategh
f7c8c09a4b Drop tutorials 2022-09-12 13:24:00 +02:00
ralf
e916dda8a6 disallow https-urls too 2022-09-12 12:50:31 +02:00
ralf
b13c1d97b4 fix PHP 8.x throws mysqli_sql_exception when it can not connect 2022-09-09 08:24:39 +02:00
ralf
4e0bb13571 reinsert filtered <style></style> section at initial position
no longer at the beginning as this can insert unwanted extra lines in mail, if signature contains a style block
2022-09-08 16:52:49 +02:00
Hadi Nategh
a35b7e578b Revert accidentally removed condition on status 2022-09-07 12:06:38 +02:00
Hadi Nategh
e0b98b7c4c Change framework user avatar to et2-avatar 2022-09-07 11:53:29 +02:00
ralf
c31b99112d * Mail: remove left (and right) margin of p and div, which can interact bad with the signature 2022-09-06 15:41:45 +02:00
ralf
cf355d1d5c do NOT stall because DB does not know the TZ, report once per session
Happens with PHP 8.1 and older MariaDB (or MySQL) without (loaded) timezone data
Unknown or incorrect time zone: 'UTC'
2022-09-05 10:52:29 +02:00
nathan
a3d2674757 Et2Select + search: Fix some bugs
- Select a searched value didn't validate due to different attribute name
- et2-searchbox inside et2-select threw an additional change event, needed to catch that
- fix_bad_value() needs different handling when you can search, otherwise it just gets cleared again
2022-08-31 13:28:20 -06:00
nathan
33dcbc218f Revert "Calendar: Fix some kanban listen problems"
This reverts commit 59e64cd908.
2022-08-25 10:16:05 -06:00
nathan
59e64cd908 Calendar: Fix some kanban listen problems
- Status filter isn't really applicable
- Priority was missing its options
2022-08-25 10:13:32 -06:00
nathan
0ae69429b5 Fix CustomFilterHeader did not work properly
Some transformations were not correctly handled, and events were therefor not bound
2022-08-16 09:29:08 -06:00
ralf
cad42eb6aa fix validation of taglist now send to select, specially using "id" attribute, if there is no "value"
also check modifications of select_options, as done in preferences
fixes not validating mail preferences: toggleOnActions and contactLabel
2022-08-10 14:39:19 +02:00
ralf
ea0cbd0441 account selection currently only need to use server-side search, for pref "Primary group and search"
for all other types the local search is sufficient, as everything is already local!
fix Taglist::ajax_search for accounts to pass the icon to client-side and always set value instead of id
2022-08-09 10:47:57 +02:00
ralf
e7eb9f42e3 fix many errors around et2-select emulating old taglist:
- preprocessor: translate attributes autocomplete_url -> searchUrl, autocomplete_params -> searchOptions, and allow options
- sending search query as URL/GET parameter with default of app: <appname>
- handle searchUrl like allowFreeEntries by adding selected result to select_options via createFreeEntries, as they otherwise get removed by fix_bad_value not finding the value in select_options
- change taglist validation (again) to not validate search values
- still requires changes in application code, as taglist always behaved like multiple=true (returning and expecting an array of values) and did automatically search from client-side for it's initial value(s)
--> maybe more changes are in order to NOT require changing application code
--> fixes editing Sieve rules
2022-08-08 17:28:51 +02:00
ralf
bb28500ef7 fix mail preferences could not be saved 2022-08-05 20:20:46 +02:00
ralf
3c4b03ca3c * SAML/Univention: support for Univention SAML IdP for SSO incl. docu 2022-08-04 20:10:23 +02:00
ralf
d540576656 do NOT allow to call Api\Etemplate\Widget\Link::ajax_delete() without a positive link_id 2022-08-04 19:37:23 +02:00
nathan
e984ccf9a4 Fix double categories in nextmatch 2022-08-03 10:51:28 -06:00
ralf
b00136f178 coping with new et2-tab-box widget:
- change preprocessor to always us it
- giving tab-panels again some padding-top
- change et2_grid to NOT set a width, if cell has a colspan
- switching table-layout: fixed off again, as it does not work well with infolog.edit
- remove dropped Chosen, jQuery-UI, MagicSuggest and old blueimp gallery from Gruntfile
- simplified infolog.edit a bit, which gives better results
2022-08-03 10:57:49 +02:00
nathan
7375768e25 Fix tabs=>extraTabs did not validate properly 2022-08-02 16:45:01 -06:00
ralf
5d1ccb55a0 fix some more missing images in calendar 2022-08-02 14:03:52 +02:00
ralf
b1660cc799 fix missing-eT2-request redirects sometimes use the webserver_url twice and therefore getting a 404 Not found 2022-07-31 09:29:43 +02:00
ralf
22a320ea48 forgot to commit adding install_mailto_handler whitelisting for client-side 2022-07-26 10:07:18 +02:00
ralf
010197b8af get merge to merge jpegphoto too and save can store it in filesystem 2022-07-25 11:19:41 +02:00
ralf
2e5b87a6e1 fix typo in docu 2022-07-25 11:19:41 +02:00
ralf
e90ae88a20 fix preprocessor and transformer can't know if application widget is a web-component or a legacy widget
- white-list now records-* like et2-* widgets for camelCase attribute names
- server-side transformer also transforms attribute-names to camelCase for widget-type et2-*
- client-side transformAttributes() also transforms attribute-names to camelCase for widget-type et2-*
--> hopefully this can be dropped, once als widgets are web-components
2022-07-22 11:08:55 +02:00
nathan
b20f57d5ba Fix select-type would not validate server side 2022-07-19 11:55:08 -06:00
nathan
1a2e691cbb Fix some bugs with static options being repeated
- Select Tab options being sent from server & cached
- Static options not properly set for all selects
2022-07-19 11:47:03 -06:00
nathan
dc23a18f85 Categories are cached client side now 2022-07-19 10:32:33 -06:00
ralf
bec95a4a9d et2-select-tab widget to fix common preferences not storing and some fixes 2022-07-19 15:17:43 +02:00
Hadi Nategh
a49cc54bdd * Mail/Sieve: fix vacation notice activated by date does not work if the start date is set in future 2022-07-18 14:00:18 +02:00
nathan
4256b589e7 Use substr instead of str_starts_with to avoid PHP 8.0 2022-07-15 13:40:18 -06:00
nathan
5793b462ba Fix et2-select widgets in template did not validate 2022-07-15 12:48:25 -06:00
nathan
96354be5ec Get text editor toolbar preference working with webcomponents 2022-07-14 13:22:48 -06:00
nathan
53e5e45a5d Better handling for options with more properties set (title, icon)
Previously they were being discarded
2022-07-14 13:16:48 -06:00
ralf
733770ea36 * SAML: generate a self-signed certificate (not just the public key) 2022-07-11 20:27:49 +02:00
ralf
480e913151 add uid to selectable username attributes 2022-07-11 12:22:06 +02:00
ralf
aefe04d3b8 WIP LDAP import 2022-07-11 07:54:16 +02:00
ralf
a80d810926 fix broken setting of CSP via hook since commit a304f34e6b
(fix PHP Error: [] operator not supported for strings)
2022-07-08 14:15:30 +02:00
ralf
c9b61be8d2 fix PHP Deprecated warning: Automatic conversion of false to array is deprecated 2022-07-08 10:10:17 +02:00
nathan
ed16ce52a2 Change nextmatch headers to use web components 2022-07-07 13:18:42 -06:00
ralf
aab768d87f WIP implement VLV search for LDAP too and also filtering by >=modifyTimestamp used for account-import 2022-07-07 07:57:33 +02:00
ralf
c151f7786f fix not always working instantiation for contacts and accounts objects differing from global configured repository 2022-07-06 21:27:44 +02:00
ralf
6fb464d90b * ActiveDirectory/LDAP: implemented deleting of accounts via full/initial import, periodic import does NOT delete 2022-07-06 17:08:44 +02:00
nathan
c8ccf78550 Accept search & search options from SearchMixin
We want it in the signature, even if we don't use it right now.
2022-07-05 10:13:06 -06:00
ralf
c616f1c6b5 fix some typos and IDE warnings 2022-07-05 15:18:50 +02:00
ralf
94e74f8db4 * Mail/Dovecot: allow to use admin credentials to access mail when no session password is available, e.g. for SSO 2022-07-05 15:16:01 +02:00
ralf
a5fbb5c4ef fix 404 Not Found / wrong redirect after expired/no longer existing eT2 session 2022-07-05 08:43:53 +02:00
ralf
9a407d8ebb fix adding/removing group-memberships were not imported as change is on the group not the user 2022-07-04 11:18:02 +02:00
Hadi Nategh
cb2fe3f93c * Mobile view: fix broken Security & Password menu 2022-07-01 09:34:50 +02:00
ralf
242e055f53 * ActiveDirectory: allow to configure an optional group-context
also fixes problems with Univention AD storing stock groups (eg. Domain Users) in a different OU=Groups than users
2022-06-30 16:44:51 +02:00
ralf
970c22b2a2 some fixes for LDAP/ADS account import:
- fix not working "Users, groups and memberships" option
- calling add/edit account/group hooks to eg. create home-directories and mail-accounts
2022-06-30 15:17:19 +02:00
ralf
a304f34e6b fix PHP Error: [] operator not supported for strings 2022-06-29 08:59:59 +02:00
ralf
2dd3a25b35 WIP ADS/LDAP account import:
- implement import from groups and memberships
--> ToDo: deleting of accounts and testing with LDAP
2022-06-28 22:21:08 +02:00
nathan
4f4b83733c Mail: Re-size header labels in display popup, change mail date widget to date-time-today 2022-06-28 10:18:42 -06:00
ralf
e28329b1d7 WIP ADS/LDAP account-import:
- refactored to a class
- added async import and logging
--> ToDo: groups, deleting of users and testing with LDAP
2022-06-28 16:58:38 +02:00
ralf
ee58655ce6 WIP ADS/LDAP account-sync:
- using (simple) paged result for initial sync
- incremental sync uses modification time
- currently only user and no periodic sync yet
2022-06-27 21:08:34 +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
ralf
296cffc109 run egw destructor explizit for merge-downloads to allow eg. notifications emails in shutdown handler 2022-06-22 09:57:33 +02:00
ralf
1894a19a86 fix ValueError: str_repeat(): Argument #2 ($times) must be greater than or equal to 0
Also replace HTML entities, as we're converting to text
2022-06-21 14:15:28 +02:00
nathan
f13bf7b154 Et2SelectThumbnail 2022-06-17 13:07:33 -06:00
ralf
26492c4260 fix for US numbers formatted as "+1 123-456-7890" 2022-06-16 15:04:49 +02:00
ralf
669f679fbc change our CSP to allow data: for connect-src, which is used by Shoelace to "load" icons 2022-06-13 13:19:54 +02:00
nathan
531cc473e2 Et2Select: Implement allowFreeEntries & editModeEnabled properties
Also added Et2SelectEmail, which uses them
2022-06-10 10:11:34 -06:00
ralf
a3a893ae14 allow to request merged download in a different format eg. PDF 2022-06-10 10:52:26 +02:00
ralf
597a983264 no longer load TinyMCE styles for preview and change TinyMCE margin to 10px we have in preview 2022-06-09 09:48:52 +02:00
nathan
796c0a33df Et2SelectCat: Add in category colors & icons 2022-06-06 16:09:08 -06:00
nathan
aa20af559a LinkApp selection 2022-05-27 14:11:35 -06:00
ralf
89615cf9de * CalDAV/CardDAV/TbSync: fix wrong/minimal privileges on sub-collections causing TbSync not to display this calendars or addressbooks 2022-05-27 12:03:37 +02:00
ralf
b33c13824f drop jquery-ui, jquery-ui-touch-punch-fix and temp. comment out last usages in framework classes 2022-05-25 21:01:26 +02:00
ralf
50b9a15436 add calendar-proxy-(read|write)-for properties on principal as requested by TbSync 2022-05-24 20:22:33 +02:00
ralf
7a55eef6c8 fix typo in preference name rt(e)_font* 2022-05-23 12:48:30 +02:00
ralf
55a13aa99d refactor VLV and server-side sorting into a trait, so it can be used in Accounts\Ldap too 2022-05-20 21:49:08 +02:00
ralf
ab427562b7 * LDAP: implement optional group-filter
also some code cleanups and fixes
2022-05-20 21:47:02 +02:00
ralf
c57ae62d1c fix not working installation under PHP 8.1 due to mysqli throwing errors now by default 2022-05-20 18:00:54 +02:00
nathan
b9d145a40b Link fixes
- Fix actual Expose didn't work on links themselves
- Adjust delete button / context menu caption to match file/link
2022-05-12 10:08:59 -06:00
ralf
a3a63f3586 * Filemanager: use bigger popups to open files (PDF: 1024*1024, text: 800*1024, images: 640*800) 2022-05-12 15:30:23 +02:00
ralf
40a42ed1c8 fix broken file-access cache after a917293 (fix smallPART file-access depending on full path)
fix wrong condition when storing an attachment, either the file or it's directory must be writable
2022-05-12 15:16:55 +02:00
ralf
6602078660 fix "Network error" download a log via our Api\Json\Tail class eg. CalDAV/CardDAV log 2022-05-12 11:28:17 +02:00
ralf
1fb46bb74c display attachments also as a block (fieldset) replacing the ruler, if one is configured 2022-05-11 18:05:54 +02:00
ralf
6d57d81faa fix smallPART file-access depending on full path (not just /apps/smallpart/$id!)
allow apps like smallpart to additional return 0|1 instead of bool, to not cache result, if it depends on $rel_path, as cache does not consider $rel_path
2022-05-11 13:49:57 +02:00
ralf
c2b0d713c3 never set a full path as filename of an attachment as it triggers rejection for some mail-servers 2022-05-11 10:36:43 +02:00
ralf
b7d3b7408e WIP get TinyMCE to respect users preferred font and -size 2022-05-10 18:46:12 +02:00
ralf
ced6c77f46 fix PHP 8.x TypeError sending mail 2022-05-10 18:43:30 +02:00
ralf
9a0cc36366 fix PHP 8.1 throws \mysqli_sql_exception or \PDOException for SQL errors
- change them to our regular Api\Db\Exception
- for prop(find|patch) explicitly catch PDOException to deal more graceful with non-ascii prop-names
2022-05-10 12:36:25 +02:00
ralf
c4e0989bf9 replace original message header with fieldset in html and convert it to plain as before 2022-05-10 11:51:35 +02:00
ralf
7e70eee888 final fix for "Network error" when stream files to client
It is important to FIRST disable zlib.output_compression (before headers are sent!) and THEN end all output-buffering!
Without the two steps in this order, we are either limited by the memory limit or get the "Network error", because the streaming/fpassthrough does not apply the compression.
2022-05-05 12:47:31 +02:00
ralf
13c633b064 lower number of rows queried per chunk to 2000 to avoid memory_limit on huge tables 2022-05-04 12:22:29 +02:00
nathan
10af4f7514 Historylog + webcomponents
- historylog widget now uses webcomponents for timestamp & user, and whenever possible for values
- History::get_rows() formats customfield date/date-time values as needed
- implement setDetachedAttributes(), if nextmatch & historylog are calling them on webcomponents, might as well use that to set what they pass
2022-05-03 11:01:42 -06:00
ralf
38d44ee3e2 fix some egw_LAB not defined errors by using top.egw_ready instead 2022-05-03 15:40:06 +02:00
ralf
9dd44f7929 fix not loaded grants / other users categories after last commit 2022-05-03 13:33:51 +02:00
ralf
7fb436d44c HistoryLog: making sure server-side sends eT2 compatible values and use new Et2DateTimeReadonly widget
thought set_value of web-component get not called and nothing is displayed therefore
2022-05-03 11:25:55 +02:00
ralf
1215762f04 if data_format given, try that first, before leaving it to Api\DateTime to figure it out 2022-05-03 09:46:15 +02:00
ralf
9b6e6ad819 fix empty date customfield caused by not set app-name, defaulting to currentapp now 2022-05-03 09:12:20 +02:00
nathan
ae73511958 Make sure customfields get their set_row_value() method called. Fixes customfield dates were not sent in correct format 2022-05-02 17:06:33 -06:00
ralf
df938c79de fixed messed up signature changing from / mail-accounts
also fixed some undefined warnings
2022-05-02 17:19:37 +02:00
ralf
78c9b4ac50 fix displayed [] instead of [Login] 2022-05-02 09:15:46 +02:00
ralf
ef7c175814 remove jQueryUI DateTime picker and splitter and use them also for eTemplates marked as legacy 2022-04-29 17:05:43 +02:00
ralf
4fd00df861 fix diverse undefined array-key or variable warnings 2022-04-29 12:44:43 +02:00
ralf
0758e17d24 * CalDAV/Calendar: expand-property report used by iCal app (Mac) did not return rights on other users calendar
but other users/groups which have rights on the queried users calendar
Also on longer enumerate group-members in group-memberships as calendar-proxy-(read|write) groups, as iCal app understands group-memberships.
2022-04-28 16:10:16 +02:00
ralf
a32bb2abde do NOT log not found template because of missing $row_cont expansion on server-side 2022-04-28 10:39:08 +02:00
nathan
fd53dfe82b Fix PHP error if cf['type2'] is a single value, not array 2022-04-27 11:55:03 -06:00
ralf
03099756d7 fix PHP 8.1 Error: Serialization of 'LDAP\Connection' is not allowed 2022-04-27 13:00:10 +02:00
nathan
1c42668a97 Change sidebox calendar from jQuery to webcomponent / flatpickr 2022-04-26 15:27:49 -06:00
ralf
2d0de5f287 another chunk of fixed PHP Warning: Undefined array key or variable in api 2022-04-26 20:24:37 +02:00
ralf
917a833f89 fix "a ton" of PHP Warning: Undefined array key or variable in mail code 2022-04-26 18:46:38 +02:00
ralf
941142c5be fix CallbackIterator to return mixed, as it can be overwritten with a callback 2022-04-24 21:27:53 +02:00
ralf
128b6b06df fix PHP 8.x TypeError: string & int 2022-04-24 20:52:49 +02:00
ralf
d92c5a94a6 fix PHP 8.1 Deprecated by adding return type declarations 2022-04-24 18:15:47 +02:00
ralf
eb894c50ca fix an other case of "Network error" when downloading as ZIP 2022-04-22 11:00:09 +02:00
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