Ralf Becker
1747a2236a
fixing a ton of PHP Warnings slowing us down in PHP 8.0
2021-10-04 18:50:51 +02:00
Ralf Becker
ac7faf6036
fix PHP 8.0 error: count(): Argument #1 ($value) must be of type Countable|array, string given
2021-10-04 13:02:34 +02:00
Ralf Becker
1cd5755ae4
fix PHP 8.0 Warning: Argument #2 of array_merge must be of type array, boolean given
2021-10-04 11:01:32 +02:00
Ralf Becker
782c284d37
improve parsing if only a fullName is given to support the following:
...
- Becker, Ralf --> surname: Becker, personal: Ralf
- Ralf Becker --> surname: Becker, personal: Ralf
- Becker --> surname: Becker
2021-10-04 10:41:22 +02:00
Ralf Becker
c647ddab60
improving parsing of country data:
...
- if we got a country-name but no -code, look up the code
- if we got a country-name like "Name (Name2)" try both separate first
- if we have a valid country-code set the -name to be the untranslated one as our UI does
2021-10-04 09:46:17 +02:00
Ralf Becker
9ca8b07de9
fix parsing with no street data and of custom fields
2021-10-03 18:45:34 +02:00
nathan
117b193a63
Add some missing general placeholders
2021-10-01 13:37:17 -06:00
nathan
96bdcd7c0e
Fix some placeholder dialog bugs:
...
- Fix user placeholder does not use selected entry, so looks like a bug. Now hiding entry for user placeholders.
- Fix user & general showed up in entry app selectbox
- Fix insert address dialog was not passing selected entry
2021-10-01 13:35:27 -06:00
Ralf Becker
2d2b16a2f6
if no separate name-components given, simply split first word off as n_given and rest as n_family
2021-10-01 18:27:36 +02:00
nathan
71ef7ccd0d
Fix some merge action bugs:
...
- default document wasn't working properly, missing caption
- Email documents were giving "Unable to generate merge file"
2021-10-01 10:06:29 -06:00
nathan
806aa542a1
Fix some more tests that don't work anymore due to things changing / files moved / other reasons
2021-09-30 13:15:37 -06:00
nathan
1dc9dd0c6b
* Add a preference so you can choose where merged documents are put
2021-09-30 12:01:37 -06:00
nathan
fdf6422da7
Fix some errors in tests due to changing method signatures
2021-09-30 10:14:38 -06:00
Ralf Becker
db83cc437c
refactor client-side form is not valid/submittable check of submit method into an own method isInvalid()
2021-09-30 09:26:36 +02: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
f6828a8205
Placeholder dialog: Add "name, email, phone snippet", fix some more missing translation issues
2021-09-28 10:16:57 -06:00
nathan
a39eeef7e7
Placeholder dialog: Fix some missing translation issues
2021-09-28 09:49:29 -06:00
Hadi Nategh
ae5e11f7a2
Translate details title before setting it into the DOM
2021-09-28 17:08:36 +02: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
nathan
90b3b47dc9
Placeholder dialog upper case first letter of placeholder category & placeholder name
2021-09-27 09:13:33 -06:00
nathan
9344f2df9f
Placeholder dialog translations
2021-09-27 09:10:18 -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
Ralf Becker
7562dd9fe3
Changelog for 21.1.20210923
2021-09-23 15:10:07 +02:00
nathan
704b6c6dc2
Add user placeholders into placeholder dialog
2021-09-22 11:15:49 -06:00
Hadi Nategh
d518a2b118
Move framework push boradcast method into base class
2021-09-22 11:54:01 +02:00
Hadi Nategh
b66db79289
Fix toolbar's 3dots broken styling
2021-09-22 10:16:29 +02: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
6884902d93
W.I.P on collabora placeholder insert
...
- better button styling
- make entry select app = selected app
2021-09-20 16:28:20 -06:00
nathan
29bd739955
W.I.P on collabora placeholder insert
2021-09-20 15:34:55 -06:00
Ralf Becker
13198e12c9
Use EGW_(USER|PASSWORD) from doc/phpunix.xml instead of hardcoded demo/guest
2021-09-20 18:52:25 +02: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
Hadi Nategh
722172fff2
Adjust toolbar's triangle icon styling
2021-09-09 15:46:52 +02:00
Hadi Nategh
5dbba31285
Fix toolbar list header taking a while to get opened
2021-09-08 12:07:47 +02:00
Hadi Nategh
3fc0823f38
Adjust background and height for toolbar's header_list 3dots menu
2021-09-07 16:56:50 +02:00
Hadi Nategh
91d74767fe
Add an option to configure toolbar's list header style
2021-09-07 16:30:53 +02:00
Hadi Nategh
78d7f20ed8
Disable default background for et2_toolbar
2021-09-06 15:40:35 +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
44ae9650f8
legacy-load old javascript from etemplate(1) and phpbrain, to fix eg. DB-Tools
2021-08-26 17:51:45 +02:00
Hadi Nategh
3adec01e58
Fix youtube video starts to play automatically after being seeked to a time
2021-08-26 12:11:24 +02:00
Nathan Gray
3e0f302bb5
Remove unneeded import
2021-08-25 11:34:10 -06:00
Nathan Gray
96c8e61127
Remove unneeded import
2021-08-25 11:33:24 -06:00
Ralf Becker
0203ce5a1f
also augmenting Promise returned from egw.request() with an abort method and using that in link-widget
2021-08-23 09:37:18 +02:00
Ralf Becker
6c641f824b
fix missing abort method for link-widget
...
also remove jQuery.proxy
2021-08-22 11:55:29 +02:00
Hadi Nategh
9dfee3f025
Extra padding on buttons is no longer necessary for new jQuery ui version
2021-08-20 10:27:55 +02:00
Hadi Nategh
2125e14b43
Import missing date library
2021-08-20 10:22:15 +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
Ralf Becker
1596bec75c
get form::name() legacy function working by making used et2_form_name function global, if used
2021-08-19 10:22:40 +02:00
nathan
9231b32fce
Vfs: Fix Stylite/Links/StreamWrapper was not respecting backup parameter
2021-08-18 15:59:54 -06:00
Hadi Nategh
466371fa03
Check element exist before applying to sortable as sortablejs needs an HTMLElement instance
2021-08-18 11:15:38 +02:00
Hadi Nategh
4e7ebc509a
Make sure the DOM object is there before using it
2021-08-18 11:02:48 +02: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
nathan
39886a149d
* Api: Fix entry list stops scrolling if a row is updated while the tab is not visible
2021-08-17 13:56:52 -06:00
Hadi Nategh
96e960226f
Fix volume gets initiated on a wrong object becuase the youtube object is not yet ready
2021-08-17 12:01:53 +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
61764809c8
Add getter/setter for video's mute option and fix volume unit
2021-08-16 17:49:47 +02:00
Hadi Nategh
4c1f398322
Fix volume and playbackrate for both youtube and html video
2021-08-16 13:48:10 +02:00
Hadi Nategh
5f4e910d0d
Do not activate cropper when the widget is set to readonly
2021-08-16 12:29:56 +02:00
Hadi Nategh
2515d457d5
* Knowledge Base: fix pasting/dragging image into htmlarea editor does not work
2021-08-16 11:52:26 +02:00
Ralf Becker
29ab26b731
fix egw.request() which was using jQuery defered.always() which egw_json.sendRequest() no longer returns in favor to a Promise
2021-08-14 08:42:37 +02:00
Hadi Nategh
782de6d887
Remove excessive bracket
2021-08-13 12:56:20 +02:00
Hadi Nategh
a7ea5b51bf
Implements volume and playback options for video widget (both for html video and youtube)
2021-08-13 12:39:38 +02:00
nathan
54e5826fc7
Get the link entry app selection menu working again
2021-08-12 11:21:49 -06: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
Ralf Becker
72699fad30
fix ESM module import (no currly brackets) as suggested by Guy Bedford
2021-08-11 19:28:01 +02:00
Hadi Nategh
23c27659fc
Fix broken styling of sidebox app lists
2021-08-11 16:50:01 +02:00
Hadi Nategh
8743bf64b0
Replace nm column jquery-ui sorting with sortablejs
2021-08-11 16:49:51 +02:00
Hadi Nategh
af2a2a016e
Fix broken widget tree actions because of unexpected DOM Element object
2021-08-11 16:49:39 +02:00
Hadi Nategh
572908e300
Get favorites list sorting working with Sortablejs
2021-08-11 16:49:29 +02:00
Hadi Nategh
5777ebeb75
Get et2_grid sortable working with sortablejs
2021-08-11 16:49:16 +02:00
Hadi Nategh
a63416f6d6
Get fw sidebox sortable items working with sortablejs and removes the jquery.sortable
2021-08-11 16:43:16 +02:00
Hadi Nategh
af7b1a0fe0
Remove the tap-and-hold files
2021-08-11 16:43:16 +02:00
Hadi Nategh
7042219529
Remove tab-and-hold jquery plugin and use native touch events to implement something similar
2021-08-11 16:43:16 +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
5f7bafd030
allow to explicit register callbacks for the broadcasted push messages
...
egw.registerPush(Function)
The callback should have a bound context, if it requires one!
2021-07-30 15:21:58 +02:00
Hadi Nategh
93c390139b
Fix error TypeError: Cannot read property 'length' of undefined
2021-07-26 10:10:30 +02:00
Ralf Becker
4240f4cf01
Changelog for 21.1.20210723
2021-07-23 08:24:45 +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
0a1e784f2e
egw.getCache(name) function to get a cache-object shared between all EGroupware windows and popups
...
used to share server-side generated options for et2_selectbox
also removed nextmatch specific code from et2_selectbox which seems no longer necessary
2021-07-19 17:02:37 +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
efb1711eef
always sending notification, status and filemanager preferences with user-date to avoid requesting them synchronous
2021-07-19 11:23:35 +02:00
Ralf Becker
3a618937a9
do NOT check Content-Type header as it's sometimes not set to application/json
...
parsing JSON will error out, if payload is no JSON anyway
happens with mark-as-spam and SpamTitan
2021-07-19 10:24:58 +02:00
Ralf Becker
59ac3f4bda
always name generated file app.min.js so client-side can load it without knowing source is .ts or .js
...
--> fixes client-side initiated load errors
2021-07-19 08:31:06 +02:00
Ralf Becker
ce0a513187
egw.preference(name, app, true) returns now a promise to query preference async
...
changed notifications to query preference async together with lang-files
fixed error-handling in new egw.json()
2021-07-16 14:50:06 +02:00
Ralf Becker
87694e660c
seems to be no need to send a synchronous request
2021-07-16 12:03:29 +02:00
Ralf Becker
50b8839609
fix not working InfoLog index: synchronous request must return fulfilled promise
2021-07-16 11:49:53 +02:00
Ralf Becker
b780c7ebd8
replace jQuery.ajax with fetch (or XMLHttpRequest for synchronous requests)
2021-07-16 08:47:22 +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
nathan
73df101e8e
Better tests & message for symlink test
...
no longer checking invalid (nlink = 2) or undefined (stat['url') things to see if it worked
2021-07-13 10:33:50 -06: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
Ralf Becker
1563337458
pending translations from our translation server
2021-07-12 08:15:16 +02:00
nathan
e474333bc8
Get stylite gantt extra bits running
2021-07-09 11:56:06 -06: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
a5ad691757
deprecated egw.includeJS() in favor of es6 import statement
...
with egw composition happening in main window the used import statement happens in that context and NOT in the window (eg. popup or iframe) this module is instantiated for!
2021-07-09 17:27:22 +02:00
Ralf Becker
4f95ebb510
add a missing import
2021-07-09 14:50:15 +02:00
Ralf Becker
65502ace6e
re-added daily cache-buster for app.js and removed explicit timepicker include causing a double include
...
(we still sometimes get a jQuery.datepicker is not defined, but it seems a timing issue and is NOT fixed by including it twice!)
2021-07-09 10:07:31 +02:00
Ralf Becker
edacfc12cb
remove (unnecessary) double egw.min.js import
2021-07-09 08:15:17 +02:00
Ralf Becker
ff92db4e33
release session in non-json.php requests like lang.php, as it blocks parallel execution
2021-07-09 07:46:18 +02:00
nathan
4627b3b2b1
Remove VfsTest, no longer needed as test has been moved into StreamWrapperBase so it can be run on all StreamWrappers ( a63b82d3
)
2021-07-08 10:01:33 -06:00
Ralf Becker
5b8923f548
replace include of egw.js with egw_core.js, which provides the egw.extend
...
fixes the stray egw.js include
2021-07-08 17:04:48 +02: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
Hadi Nategh
2be47ffce2
Fix input field in sharing dialog doesn't get a fullwidth
2021-07-08 16:15:43 +02:00
nathan
a63b82d34e
Move symlink test into StreamWrapperBase so it can be run on all StreamWrappers
2021-07-07 15:57:40 -06:00
nathan
35dccf17ae
Add missing cleanup of test files
2021-07-07 14:47:04 -06:00
nathan
2e597997e0
Fix wrong permission constant used, resulting in permissions when there shouldn't be
2021-07-07 14:42:10 -06:00
nathan
157926ab00
Better VFS test cleanup
2021-07-07 13:11:44 -06:00
Ralf Becker
a8ae92e1cc
add cache-buster to framework bundle
2021-07-07 16:51:31 +02:00
Ralf Becker
b2a48fc942
fix vfs-select dialog destroyed et2 session of popup calling it
...
dialog set etemplate_exec_id of popup, to be able to submit to server, but must NOT destroy the et2 session when the dialog closes
et2_dialog now calls etemplate2.clear(true, true) to keep app-object AND et2 session
2021-07-07 16:29:04 +02:00
Hadi Nategh
052f5f23cc
Remove framework object from import statement which would override the actual object
2021-07-07 12:31:11 +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
Ralf Becker
e8da7caa64
fix after rollup build popups need extra reload
...
caused by no longer necessary import of etemplate2 in egw.js, as Promise works and etemplate2 is global
2021-07-07 10:32:06 +02:00
Ralf Becker
cf101c8e13
fix not working nm_*_popup actions and others, see #60364
2021-07-07 09:30:29 +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
0904057714
Solve some calendar issues that were breaking add / edit
...
- Date widget did not find timepicker.formatTime() when it wanted it
- Faked parent widget was not a good enough fake, added better checking
2021-07-06 11:05:03 -06:00
Ralf Becker
b5015299ee
add missing sprintf import
2021-07-06 16:41:23 +02:00
Ralf Becker
5505c9a314
make etemplate2 global, as we need it to check an app uses it and then call methods on it, fixes #60374
2021-07-06 16:00:10 +02:00
Hadi Nategh
81bc236045
Fix vfsSelectUI destroys et2 object after dialog being closed
2021-07-06 15:59:51 +02:00
Hadi Nategh
89695620bc
Make sure et2 widgets are there before the container into vfsSelectUI app object
2021-07-06 15:50:49 +02:00
Hadi Nategh
70faf346e4
Fix error egw_keycode_translation_function is not defined
2021-07-06 14:53:56 +02:00
Ralf Becker
75fddd325b
if value has already been set, re-set it by it's id(s), fixes #60304
2021-07-06 14:43:13 +02:00