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