Commit Graph

2192 Commits

Author SHA1 Message Date
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
Ralf Becker
74cc2f03ff fix PHP 8.0 TypeError: Api\Accounts::username(): Argument #1 ($account_id) must be of type ?int, string given
new method for account link-title not throwing an error, for non-numeric arguments and therefore stalling all titles
2021-11-08 12:22:41 +01:00
Ralf Becker
02270f63fb fix PHP 8.0 TypeError: Exception::__construct(): Argument #2 ($code) must be of type int, string given 2021-11-08 11:36:25 +01:00
nathan
e03b8bbdc9 Merge branch 'master' into web-components 2021-11-05 11:08:31 -06:00
Ralf Becker
2f1559a490 fix PHP 8.0 TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given 2021-11-05 15:18:57 +01:00
Ralf Becker
9fbd07e335 fix PHP 8.0 TypeError: Unsupported operand types: null + array 2021-11-05 14:49:56 +01:00
Ralf Becker
de7f4329ff fix PHP 8.0 TypeError: uasort(): Argument #1 ($array) must be of type array, null given 2021-11-05 14:37:21 +01:00
Ralf Becker
57ac760a78 fix PHP 8.0 ValueError: stripos(): Argument #3 ($offset) must be contained in argument #1 ($haystack) 2021-11-05 11:38:49 +01:00
Ralf Becker
4db49da7e5 fix PHP 8.0 error: trim expects string, array given
removed trim
2021-11-05 09:08:17 +01:00
Hadi Nategh
201d1f9972 Fix PHP8.0 error (TypeError): strlen(): Argument #1 ($string) must be of type string, array given 2021-11-04 17:23:45 +01:00
nathan
b7daf84d90 Merge branch 'master' into web-components 2021-11-04 09:24:37 -06:00
Hadi Nategh
62fcc3156c Fix PHP8.0 (TypeError): explode(): Argument #2 ($string) must be of type string, array given 2021-11-04 14:30:23 +01:00
Hadi Nategh
1f28336702 Fix stripos(): Argument #3 ($offset) must be contained in argument #1 ($haystack) by preventing empty html value being processed 2021-11-04 14:12:21 +01:00
nathan
672ed0aa0e - DateTime widget to handle dates with times
- Time & Date+time parser & formatter functions
- Date widget does not return a time
2021-11-03 09:05:16 -06:00
Ralf Becker
d04b98e64c * Filemanager: fix not working variables eg. $user in GUI mount (Admin > Filemanager)
also support no user/password for sharing links
2021-11-03 14:54:22 +01:00
nathan
76d7447dab Merge branch 'master' into web-components 2021-11-01 09:37:26 -06:00
nathan
be6146661d Api: Fix check of disabled attribute was misbehaving if the value was null or 0
This showed up when validating tracker config, some rows were disabled with disabled="@tracker".  When tracker=0, they did not return their value.
2021-10-28 14:02:13 -06:00
Ralf Becker
c15cb2de41 add $depth parameter to Vfs::checkLock($url, int $depth=0) and use it to query all locks in one go for filemanager_ui::get_rows() 2021-10-28 21:08:31 +02:00
nathan
a794adfcf2 API: Make sure memberships is an array to avoid other errors (PHP 8.0) 2021-10-27 13:38:05 -06:00
Ralf Becker
09cb38541b fix regression reported by @asig2016 after big warning fix 2021-10-23 09:55:20 +02:00
nathan
e3526d2bef Api: Fix "Unsupported operand types: array + bool" when infolog linked contact could not be read 2021-10-22 09:39:24 -06:00
nathan
4e54c2b5a3 Api: Fix merge action files in subdirectories had their path as part of action caption instead of just the file name 2021-10-21 09:51:05 -06:00
Ralf Becker
b1af39be37 fix big chunk of PHP 8.0 warnings 2021-10-21 10:39:57 +02:00
nathan
82423d60bb Api: Fix cf sub-entry placeholder expansion was not passing content for placeholders like {{#customer/n_fn}} 2021-10-20 14:08:43 -06:00
Ralf Becker
f6d756a0c1 closing/commiting the session to speed up calendar loading 2021-10-20 13:53:41 +02:00
nathan
7a7f80f7d9 Api: Fix replacements from sub-apps (eg: infolog contact) were missing 2021-10-19 09:17:22 -06:00
nathan
fbbc466c78 Merge branch 'master' into web-components 2021-10-18 10:56:05 -06:00
Hadi Nategh
0dd215d340 * Mail: Add set flags action into mail filters 2021-10-15 17:23:48 +02:00
nathan
33fcb4e657 Infolog: Avoid errors adding app replacements if incorrect parameters given 2021-10-15 09:09:53 -06:00
Hadi Nategh
75d119f31f * Mail: Implements date extension for vacation rule. None imap admin user can also set vacation rule by date. 2021-10-15 14:29:19 +02:00
nathan
93108177ce Remove unwanted use 2021-10-14 13:34:54 -06:00
nathan
aefeade501 Placeholder / merge translations 2021-10-14 09:05:12 -06:00
Hadi Nategh
524edf21d7 PHP8: fix lots of warnings 2021-10-14 14:14:58 +02:00
Hadi Nategh
e76ae2db32 Remove none existing mail connectionTimeout preference. Fixes warning of Undefined array key 'connectionTimeout'. 2021-10-14 11:34:56 +02:00
Ralf Becker
69782e833e fix PHP 8.0 error forwarding mail as attachment (calling count on null) 2021-10-14 09:39:01 +02:00
Ralf Becker
fe5a0b8567 fix PHP 8.0 error when converting an InfoLog into a ticket
Cannot access offset of type string on string
Also add line and file to our non-json exception handler, for easier identifying the problems
2021-10-14 08:05:22 +02:00
nathan
98ed7edda4 Fix incorrect default preference for merged document filenamer 2021-10-13 15:47:01 -06:00
nathan
965e100082 Fix expansion broken in ddddc5ba05
Caused export field checkboxes in new definition to not keep their value
2021-10-13 15:08:16 -06:00
nathan
918d91eb9b Fix ReflectionParameter::isArray() was deprecated as of PHP 8.0.0 2021-10-13 10:52:56 -06:00
nathan
047b86f38b Placeholders list common UI: different recursion check for better results
This one still puts simple customfields in, but just skips the linked apps cfs
2021-10-13 08:39:23 -06:00
nathan
7dba4b9284 Placeholders - avoid infinite recursion if apps have custom fields of other apps 2021-10-12 15:44:48 -06:00
nathan
9e2bb05ded Placeholders list common UI
Should reduce maintenance by using a common UI to show placeholders based on the placeholder list
2021-10-12 14:18:18 -06:00
Hadi Nategh
309e020324 Fix error "Non-static method Merge::get_all_ids() cannot be called statically" 2021-10-12 12:54:56 +02:00
Ralf Becker
7248b6649b fix a bunch of PHP Warnings 2021-10-12 11:51:28 +02:00
Ralf Becker
044aae3cf8 fix PHP 8.0 error: Undefined constant "EGroupware\Api\Contacts\cat_id" 2021-10-11 18:40:21 +02:00
Ralf Becker
f29a2b5ea8 fix PHP Warning: Illegal string offset 'tmp_name' 2021-10-11 14:02:46 +02:00
Ralf Becker
59794cc3a4 output line and file of exception as trace not always contain it 2021-10-09 08:43:32 +02:00
Ralf Becker
a04cbc0ab4 an other chunk of PHP 8.0 Warnings fixed 2021-10-08 15:43:48 +02:00
Hadi Nategh
f62ff90444 Accept mail externalImages with long url 2021-10-08 14:30:04 +02:00
Ralf Becker
cb991f1243 fix Api\Accounts::username(): Argument #1 ($account_id) must be of type ?int, string given 2021-10-08 14:10:45 +02:00
Ralf Becker
fac81f660d fix PHP 8.0 errors around ACL dialog and policy:
- bitwise AND operator gives TypeError if both values are neither a number nor a numeric string, eg: null, "run"
- Etemplate::setElementAttribute() must NOT be called before instantiating an Etemplate object, you will get fatal error otherwise, because no request object
2021-10-08 09:05:58 +02:00
nathan
d43c27a31b Fix nested placeholders (customfields from other apps) were not being displayed properly 2021-10-07 14:51:16 -06:00
nathan
c73a7beac8 Add placeholder list for calendar & filemanager 2021-10-07 13:47:14 -06:00
Ralf Becker
417bbccbe3 fix PHP 8.0 Fatal error: Declaration of Api\Etemplate\Request\Session::read($id = null) must be compatible with Api\Etemplate\Request::read($id = null, $handle_not_found = true) 2021-10-07 18:39:40 +02:00
nathan
da6a16e62d - Add generation target path preference to all apps
- Use common method to get merge preferences to reduce duplication
2021-10-07 10:22:45 -06:00
nathan
40af04e38e Fix broken Merge::get_app_class(), we need it to autoload the class 2021-10-07 09:31:43 -06:00
Ralf Becker
460d8cbe0d fix not working preferences GUI after ddddc5ba05 2021-10-07 17:28:06 +02:00
Ralf Becker
a8d14ffa0a fix TypeError: Argument 1 passed to EGroupware\Api\Accounts::username() must be of the type int, null given 2021-10-07 16:53:33 +02:00
Ralf Becker
d915b25bba fix PHP 8.0 error Illegal string offset
folder object need to be cast to string (folder name) as objects are not allowed as array keys
2021-10-07 12:37:10 +02:00
Ralf Becker
b1780a35bc fix Api\Storage\Merge::document_editable_action(): Argument #1 ($action) must be of type array, null given 2021-10-07 12:17:33 +02:00
Ralf Becker
e4f95d9c20 fix missing icons after previous commit 2021-10-07 11:57:20 +02:00
Ralf Becker
d00d6f65f0 fix PHP 8.0 error when deleting a Kanban card
- link deletion failed when link_id was "" as in PHP 8.0 "" < 0 --> gave the error
- link to card was never deleted as board_id is not stored in card
2021-10-07 10:44:23 +02:00
Ralf Becker
91bd7c7aeb an other chunk of fixed PHP 8.0 Warnings 2021-10-07 10:14:43 +02:00
nathan
02dce82010 Merge branch 'master' into web-components 2021-10-06 14:02:22 -06:00
nathan
45f039da95 * Add preference to set the filename of merged documents using placeholders 2021-10-06 11:59:29 -06:00
Ralf Becker
cb8cac15dc fix mail account creation under PHP 8.0
PHP 8.0: "new" > 0 === true
PHP<8.0: "new" > 0 === false
2021-10-06 12:31:23 +02:00
Hadi Nategh
d3fd2aa76a PHP8: fix error Illegal offset typePHP, happens while moving mail from one account to another 2021-10-06 11:38:54 +02:00
Hadi Nategh
ffeb929b49 Fix wrong condition on checking url strlen 2021-10-06 11:09:32 +02:00
nathan
a0a89a6b74 Placeholder dialog: Add placeholders for projectmanager, timesheet, tracker 2021-10-05 16:09:39 -06:00
Ralf Becker
b37e7ff57a quieten permanent error_log 2021-10-05 14:20:29 +02:00
Ralf Becker
ddddc5ba05 next big chunk of fixed PHP 8.0 Warnings 2021-10-05 14:11:11 +02:00
Ralf Becker
357fefaad0 fixing some conditions in the previous commit stalling InfoLog list 2021-10-05 11:14:40 +02:00
nathan
6126bc2ac9 Placeholder dialog: Placeholder groups can now have groups
References (info_contact)/ customfields to other apps are expanded so all their placeholders are available as well
2021-10-04 14:45:57 -06:00
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
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
25773a929f Merge remote-tracking branch 'origin/master' into web-components 2021-09-23 10:22:18 -06: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