Commit Graph

1802 Commits

Author SHA1 Message Date
nathan
1dc9dd0c6b * Add a preference so you can choose where merged documents are put 2021-09-30 12:01:37 -06:00
nathan
fb88f8846b Merge as PDF:
- improve error logging
- remove original merge result when PDF conversion succeeds
2021-09-29 11:01:07 -06:00
Ralf Becker
89923e25c4 add an additional static method Api\Mail\Smtp::mailbox_address()
as PHP 8.0 does not allow to call a non-static method static, even if $this is (conditionally) not used
2021-09-29 10:10:48 +02:00
nathan
707c57ecf0 * Add option to merge documents as PDF 2021-09-28 17:00:55 -06:00
nathan
2a4faf0137 * Add filemanager actions to convert editable files to PDF or PNG 2021-09-28 14:48:25 -06:00
nathan
7f930a6221 Placeholder dialog: Support for other apps, starting with Infolog 2021-09-27 14:46:41 -06:00
nathan
eb57294146 Placeholder dialog: Allow & show general fields 2021-09-27 11:09:38 -06:00
nathan
369de2e3d5 Specific ordering for contact merge placeholders
also, use switch to using prefix()
2021-09-27 10:54:57 -06:00
nathan
47cf12869b Utility function to add prefix to placeholder & optionally wrap it with markers, because I was writing it out so many times 2021-09-27 10:54:57 -06:00
Ralf Becker
e640873fc0 implement and document PATCH 2021-09-25 12:38:08 +02:00
Ralf Becker
1280de46d6 REST API allow sending a JSON patch to update or create a new contact (currently only via POST or PUT, not as PATCH!)
allows eg. to create a contact from a simple Wordpress contact-form only supporting POST requests and a flat object, see new example in the documentation
2021-09-24 18:06:13 +02:00
Ralf Becker
d9f759f517 fix PHP 8.0 error: implode(): Argument #2 ($array) must be of type ?array, string given 2021-09-24 12:29:48 +02:00
nathan
704b6c6dc2 Add user placeholders into placeholder dialog 2021-09-22 11:15:49 -06:00
nathan
d512238dc0 * Collabora: Add address insert dialog 2021-09-21 14:07:22 -06:00
Ralf Becker
15a2e546ea missing @type="NameComponent" and updated examples in docu with @type 2021-09-21 18:50:40 +02:00
nathan
8e67e2efad WIP on placeholders
- Some TS cleanup
- Fix error in preview giving wrong results
2021-09-21 10:19:24 -06:00
Ralf Becker
8db7d13c49 Implemented @type attributes for all top-level objects from JsContact Draft 08 2021-09-21 11:09:32 +02:00
nathan
29bd739955 W.I.P on collabora placeholder insert 2021-09-20 15:34:55 -06:00
Ralf Becker
82c8ed51d2 Contacts REST API:
- implement missing PUT/POST of distribution list / CardGroups
- implement changes from next JsContact draft:
  + string plus extra localizations attribute instead of localizedString object
  + use "<domain>:<name>" for vendor attributes
- add/parse urn:uuid: prefix if UID is a UUID
2021-09-20 16:01:22 +02:00
Ralf Becker
0a75520a01 * Filemanager/Sharing: create different share-token for different recipients (before recipients where added to the token)
- allows to individually remove the token, otherwise new token for the other recipients need to be redistributed
- sending one email to multiple recipients still creates a single share-token for all the recipients (send multiple mails if that's not desired)
2021-09-20 13:27:31 +02:00
Ralf Becker
e9998161a5 finished REST API for contacts modulo docu and bugs ;)
- JsCardGroup now used for distribution lists
- responses are not in "responses" attribute (no longer in root of object)
- fix sometimes empty / different members between PROPFIND/REPORT/JSON-GET and GET of group (caused by wrongly implemented limit to given AB)
- JSON pretty-print only if requested by Accept: application/pretty+json
- fix invalid JSON for errors (caused by opening {"responses": already sent
2021-09-19 11:09:44 +02:00
Ralf Becker
3a88aedce1 fix PHP Deprecated: stripos(): Non-string needles will be interpreted as strings in the future 2021-09-18 09:44:46 +02:00
Ralf Becker
7617aae9d0 got POST, PUT and DELETE request to add, update and delete contacts working
added JSON exception handler with nicer JsCalendar parse errors
2021-09-17 20:15:36 +02:00
Ralf Becker
8793f7895b fix excess separator, if not 2nd street-line 2021-09-17 11:58:39 +02:00
Ralf Becker
0768f5fadf WIP REST Api for contacts 2021-09-16 20:53:43 +02:00
Ralf Becker
38e2167166 WIP REST API for contacts using JsContacts draft 2021-09-15 18:45:45 +02:00
Ralf Becker
be3514c36f preferring get_rrows over get_rows to fix SQL error in timesheet merge 2021-09-13 18:02:39 +02:00
Ralf Becker
621d69f921 missing files from filemanager mount GUI 2021-09-13 17:41:21 +02:00
Ralf Becker
4727340f1d * Filemanager: added user-interface to mount WebDAV or SMB shares 2021-09-13 16:16:36 +02:00
nathan
36df64085f * Api: Fix some merge files were opened in browser instead of downloaded 2021-09-03 09:33:32 -06:00
Ralf Becker
582793d52b Revert "Bring web-component work into master branch"
To many things are not working :(
- addressbook, infolog, even timesheet index lacks at least r/o textbox and problably other widgets
- smallPART (with many extra widgets) is completly unusable
- *box widget seems not to skip empty boxes
--> we need more testing and progress, before we can merge that

This reverts commit 9cee681b94.
2021-09-03 11:28:22 +02:00
Ralf Becker
a566599b7f * PostgreSQL/Addressbook/All Apps: fix SQL error in history tab if there are attachments 2021-09-03 09:48:47 +02:00
nathan
9cee681b94 Bring web-component work into master branch 2021-09-02 10:52:10 -06:00
Ralf Becker
e500190728 * Addressbook/PostgreSQL: fix SQL error deleting a contact finally 2021-09-01 09:33:54 +02:00
Ralf Becker
c830bdd923 allow pushing to multiple users in one request 2021-08-31 17:42:28 +02:00
Ralf Becker
6baf07090e implement some missing features from old eTemplate:
- evaluate class set on a grid cell as done for the widget contained (probably more a bug-fix then a feature)
- allow to preset query for link-entry widget by passing an object with a query attribute
- allow to overwrite not only $readonlys[__ALL__] but also widget readonly attribute with a $readonlys value of false
2021-08-19 10:46:34 +02:00
nathan
9231b32fce Vfs: Fix Stylite/Links/StreamWrapper was not respecting backup parameter 2021-08-18 15:59:54 -06:00
Ralf Becker
61cdef588a need to catch the statement in line 1347 2021-08-18 10:48:24 +02:00
Ralf Becker
1462fb517a * PostgreSQL: fix SQL error when accessing eg. InfoLog
Links class trys to delete empty attachment directories and virtual / empty attachment directories have non-integer (hash) id causing an SQL error in PostgreSQL.
2021-08-18 09:18:21 +02:00
Ralf Becker
94c98718ef update script to remove hashes/non-email-addresses from egw_history_log.share_email 2021-08-17 09:15:25 +02:00
nathan
bea880d9b1 * Api: Fix changes in history log had a hash instead of user if the change was made after a share was opened. 2021-08-16 13:07:17 -06:00
Hadi Nategh
2515d457d5 * Knowledge Base: fix pasting/dragging image into htmlarea editor does not work 2021-08-16 11:52:26 +02:00
Hadi Nategh
d07a7ab194 WIP of replacing bower-asset packages:
- Get jquery-ui and touch event plugin working (although still modular import is not possible becuase of a wierd issue with jquery-ui tooltip plugin)
- Import timepicker-addon plugin as npm package
- Update composer.lock file
2021-08-12 14:51:38 +02:00
nathan
6c0aed651f Api: Add some extra parameters to Merge::merge_entries() so overridding classes can still use the parent method, passing in IDs & merge object 2021-08-09 13:44:43 -06:00
Ralf Becker
8f93a7f7c6 * Setup: support uninstalling automatic installed apps (no more reinstalling next update) 2021-08-03 18:53:05 +02:00
Ralf Becker
93068dcfcc need to call Vfs\StreamWrapper::init_static() after setting Vfs::$user
Vfs::$user should be protected and moved to Vfs\Base plus a getter and setter method added for public access,
as after setting it in 21.1+, Api\Vfs\StreamWrapper::init_static() need to be called to set the default user context!
2021-07-22 09:08:49 +02:00
nathan
b95f9e7220 Reset after every job 2021-07-20 14:23:21 -06:00
Ralf Becker
df4137baee * Filemanager/VFS: when creating a new file as root eg. via (docker exec) filemanager/cli.php do NOT create files unreadable by webserver 2021-07-20 09:34:59 +02:00
Ralf Becker
cc27253b7b keep original REQUEST_URI in ORIG_REQUEST_URI when modifying it 2021-07-19 14:15:16 +02:00
Ralf Becker
2f155e0d79 fix popups of apps without app.ts/js wont work as eT2 is not available
it get's included by the app.ts/js otherwise
2021-07-13 21:02:08 +02:00
Ralf Becker
6502eaeab8 got symlinks working for filesystem streamwrapper and fix one bug in Vfs with symlinks 2021-07-13 13:59:05 +02:00
nathan
da1e7b9fee Implement symlink for filesystem StreamWrapper with test
Whether it works or not depends on filesystem though.
2021-07-09 09:47:23 -06:00
Ralf Becker
d57fe03326 use same method (prefer .min.js over .js) for app.js include in Etemplate and Framework
fixes double include of /mail/js/app.js and /mail/js/app.min.js
2021-07-08 16:58:05 +02:00
nathan
2e597997e0 Fix wrong permission constant used, resulting in permissions when there shouldn't be 2021-07-07 14:42:10 -06:00
Ralf Becker
a8ae92e1cc add cache-buster to framework bundle 2021-07-07 16:51:31 +02:00
Ralf Becker
90f1d9ea37 always show deleted filter and set deleted status in calendar
see #29778
2021-07-07 11:21:45 +02:00
nathan
da3f8d8135 Fix symlink directory problem from 2a64e79 and add a unit test to avoid that in the future 2021-07-06 16:44:53 -06:00
nathangray
b021767ac1 Make sure nested document actions open in new tab, same as others. 2021-07-05 09:46:00 -06:00
Ralf Becker
1423616e00 remove some dead code and spelling fixes 2021-07-04 08:52:43 +02:00
nathangray
34d601b102 Api: Fix missed change in nested document actions
see 186e03671a
2021-07-02 12:04:38 -06:00
nathangray
2a64e79e65 Api: Fix bug where StreamWrappers that mapped onto other StreamWrappers would be parsed earlier than we want, leading to the first StreamWrapper not getting used. 2021-07-02 12:11:54 +02:00
Ralf Becker
b88716c8b6 legacy load jQueryUI as tooltip has wired context problems if loaded as module 2021-07-02 08:52:18 +02:00
Ralf Becker
68155251fa fixing a couple of jQuery plugin includes
thought jQueryUI-tooltip is still broken and we either need to legacy-load jQuery(UI) or fix the tooltip
2021-07-01 16:33:15 +02:00
Ralf Becker
8c7722c8b0 1. loading dhmtlx(tree|menu) again via script tag
2. fixed not loaded app.js in egw_json by using import direct and not includeJS (and therefore removed additional include in et2_load)
3. adding cache-buster for egw.js and app.js endpoints to force reloads (not adding them for anything else, as it interferes with rollup
2021-07-01 14:36:51 +02:00
Hadi Nategh
83e782330d Try to take only quoted_printable to decode and avoid decoding url params as quoted 2021-07-01 10:26:22 +02:00
Ralf Becker
d7cd90ebe7 fix skipping timestamps, but preferring .min.js over .js
added more apps to rollup.config.js (ones givening errors are commented out)
2021-06-29 15:21:19 +02:00
nathangray
3add958afa The results of Guy Bedford's help
Egroupware will load into addressbook & show rows
Most base files should be bundled server-side & included
rollup.config.js controls the process

Still needs work:
- consider /dist directory for best-practice
- cleanup
- other built-in apps
- EPL / external apps need Guy's multi-stage work
2021-06-25 14:49:24 -06:00
nathangray
186e03671a Change merge download/Collabora to a common generation method, avoiding need to POST.
This allows Kanban to download merge files
2021-06-23 11:20:09 -06:00
Hadi Nategh
a4f21bc804 Fix 404 errors caused by none existing html editor icons 2021-06-15 12:11:43 +02:00
Ralf Becker
e7a3c031b2 fix class Api\Mail\Config not found 2021-06-15 10:51:48 +02:00
Ralf Becker
cb00de85ce * Mail/Dovecot: allow to disable caching of flags in site config to support Dovecot private seen flags on shared folders 2021-06-15 10:23:11 +02:00
Hadi Nategh
b4c4606c22 Move all egw_action constants into egw_action_constants 2021-06-14 13:45:57 +02:00
Ralf Becker
ee508c50b9 filter out legacy JS code from importmap and sort it
also only add extension-less includes for .ts files (was accidentally commented out) and fix some .js imports without extension
2021-06-12 11:44:28 +02:00
nathangray
d6c6e14abf * Api: Prevent invalid customfield names
(cherry picked from commit ae86eb7812)
2021-06-11 13:18:03 -06:00
nathangray
6ef766edf0 Etemplate: Better error message for parse errors in xml strings (not files)
This happens in things like Transformer, where we generate some XML for parsing

(cherry picked from commit 7cf7c5a638)
2021-06-11 13:17:55 -06:00
nathangray
a024baeef6 * Api: Clear initial load URL after using it, so F5 takes you to the app's normal entry point
(cherry picked from commit 9219536c2f)
2021-06-11 13:17:44 -06:00
Ralf Becker
5298336886 include jquery and other legacy js files via script tag 2021-06-10 11:38:54 +02:00
Ralf Becker
40cac6f964 generate a non-request specific importmap, as we ajax_exec apps and then not reload importmap 2021-06-09 19:00:53 +02:00
Ralf Becker
304dbb95ab got empty nextmatch in timesheet working 2021-06-08 14:11:59 +02:00
Ralf Becker
f91bca83e1 got et2 mostly working: timesheet.edit renders 2021-06-07 17:33:53 +02:00
Ralf Becker
592b7fb97d replace LAB.js with native es5 loading 2021-06-05 20:39:39 +02:00
nathangray
f4bcda7aaf Api: Fix Asyncservice did not have proper filesystem access as the job user 2021-06-04 13:58:59 -06:00
Hadi Nategh
ab3ee4ffbb Clear xml errors in buffer after using xml in Mail otherwise it may get caught wrongly further in etemplate widget 2021-06-04 11:19:11 +02:00
Ralf Becker
67a6a9f1f3 implement (increment|decrement)Cache to avoid race-conditions if multiple processes update a value
implemented in memcached and APCu backends, default implementation using get&set in base-class
2021-05-27 12:29:51 +02:00
Ralf Becker
3248e82d65 * Setup: skip files backup on update even if configured
It might takes the server down for hours and updates usually dont affect the files
2021-05-27 08:49:20 +02:00
Ralf Becker
c4bcae0598 store some lock-data, so only a single callback calculate data on cache-miss
done to avoid race-conditions where many processes try to fetch and therefore calculate some expensive to calculate data
eg. mass-mailings in our hosting
2021-05-26 11:38:36 +02:00
Ralf Becker
547f28fe3d report and log enabling push (and other IMAP errors)
don't switch regular reload handling off in that case
2021-05-25 17:47:25 +02:00
Ralf Becker
03469add3e * SmallPART: concatenate and minify all Java/TypeScript files to speed up loading 2021-05-25 08:21:17 +02:00
Ralf Becker
39ad3a7977 port csv-export from old eTemplate nextmatch to separate Api\Etemplate\Export class to not have to rely on old eTemplate 2021-05-23 08:58:47 +02:00
nathangray
5fbdd1376a Fix PHP warnings for PHP 8 compatability 2021-05-21 10:43:52 -06:00
nathangray
34ec8e6cb3 Api: Fix accounts list (Sql) would be empty after refresh if there were less than 50 accounts
- Fix some accounts backend were not returning results indexed by account ID
2021-05-21 09:16:25 -06:00
Ralf Becker
f113d9d880 fix PHP Warning on login page 2021-05-21 09:51:48 +02:00
nathangray
2c14226ee5 Api: Respect do_symlink flag to keep links as links
Fixes troubles with syncing
2021-05-20 11:54:06 -06:00
Ralf Becker
8ec590a068 fix some real typos 2021-05-19 18:29:03 +02:00
Ralf Becker
bd95db7609 * AD: fix account-selection type "groupmembers" caused high load on AD
also caching groups now on instance level instead of session
2021-05-19 18:26:55 +02:00
Ralf Becker
166718a22c remove config allowing to immediately delete contacts (as it's required for sync) 2021-05-18 14:02:51 +02:00
Hadi Nategh
b9eecb9771 Fix some icons in login apps bar 2021-05-18 09:49:02 +02:00
Ralf Becker
aea7a5c0f2 * ADS/LDAP: improve caching of searching/listing 2021-05-16 20:42:47 +02:00
Ralf Becker
53c20ed5f7 allow to pass JSON serialized date-array with date&timezone to constructor 2021-05-14 20:24:14 +02:00
nathangray
08800b83c9 Fix symlinks were opened read-only in Collabora 2021-05-14 09:43:30 -06:00