Commit Graph

3681 Commits

Author SHA1 Message Date
ralf
6c31c40ddf LDAP resources are objects (no longer resources) from PHP 8.1+ 2022-04-04 10:22:13 +03:00
ralf
98a08ec152 fix vfs-path widget to correctly deal with smallPART paths (hierarchical structure inside entry directory) 2022-04-01 21:08:51 +03:00
Hadi Nategh
cc81b2d173 Add missing pdf-player.ts file 2022-03-31 14:42:34 +02:00
Hadi Nategh
c8fd2fac37 Add multi-video and pdf-player components 2022-03-31 14:41:19 +02:00
Hadi Nategh
3c7a5a201a Implement custom html multi video element (makes it possible to merge and control multiple videos as one tag) 2022-03-31 14:41:19 +02:00
Ralf Becker
3d53fa9d97 add missing $relpath 2022-03-31 14:41:19 +02:00
Ralf Becker
6490e4360f extract data-preparation from Etemplate\Widget\Vfs::beforeSendToClient() to use it to send the data to client-side in an AJAX call 2022-03-31 14:41:19 +02:00
ralf
ac1a7f6bdb 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:58:31 +03:00
ralf
28adde1b99 Allow overwriting values in all mail accounts through an optional file /var/www/mail-overwrites.inc.php 2022-03-29 20:43:32 +03:00
nathan
d35577f1a8 * Api: Fix splitter widget did not restore size from preference 2022-03-29 09:42:01 -06:00
ralf
4c503d61ea * Addressbook: allow keeping custom fileAs value (LDAP: displayname) by adding it as first option 2022-03-29 10:26:51 +03:00
ralf
b990c00207 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:59:20 +03:00
ralf
d8827da73f 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:55:52 +03:00
Hadi Nategh
65eda2c1d8 Fix error "explode(): Argument #2 ($string) must be of type string, array given", happens sometimes while merging contacts 2022-03-22 10:56:56 +01:00
Hadi Nategh
6c75d9eb9f Fix alarm not being fired sometimes 2022-03-15 18:38:25 +01:00
Hadi Nategh
ac25c9b2b8 Allow multiple alarms being set for countdown widget 2022-03-15 17:13:36 +01:00
ralf
4ca434f500 fix delete-account did not show 0 entries for InfoLog, also give a total per InfoLog type 2022-03-15 10:51:27 +02:00
Ralf Becker
7d7557fe3d 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']]
2022-03-07 10:19:09 -07:00
nathan
60bc11a66e * Projectmanager: Add calendar integration so projects can be shown as events in calendar 2022-03-07 10:19:09 -07:00
nathan
9de70e9260 Add a hook for before get_rows is called 2022-03-07 10:19:09 -07:00
ralf
c68b8cc42d only send password (or hash) to client-side, if explicitly requested 2022-02-25 13:53:39 +02:00
ralf
24390a135a prefer [Login] button below over maybe existing SAML login button above 2022-02-21 21:20:28 +02:00
nathan
de14e34abb - Fix 'Forgot password' could not complete due to redirect
- Avoid error if no groups selected in registration configuration
2022-02-09 08:14:08 -07:00
Ralf Becker
9b630bedcc Changelog for 21.1.20220207 2022-02-07 12:13:40 +02:00
Ralf Becker
35668ca6ef pending translations from our translation server 2022-02-07 07:58:48 +01:00
Ralf Becker
998f7dc074 fix get_file_id() (sometimes) not finding the right id for shared directories or writable Collabora shares 2022-02-02 21:53:48 +02:00
nathan
4c0ef2020f Make sure we use the lowest file_id, even if that comes from a disabled file, so we're consistent with versioned files 2022-02-02 21:53:48 +02:00
nathan
e420a6db10 Collabora: Use the same file ID when accessing via share 2022-02-02 21:53:48 +02:00
Ralf Becker
8fba1d9a2f 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:17:07 +02:00
Ralf Becker
26e09680c2 implement new "units" parameter to limit used units in date-since widget
eg. <date-since units="d" shows age in days
2022-01-14 17:24:07 +02:00
Ralf Becker
9e655d4de2 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:33:30 +02:00
Ralf Becker
8b0cf6dbf2 fix Error Method admin_account::delete::et2_process() does not exist 2022-01-12 13:00:40 +02:00
Ralf Becker
8e2b649801 fix not closing popups when using et2_process json.php handler 2022-01-10 19:57:42 +02:00
Ralf Becker
4853f9a622 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-10 19:57:42 +02:00
Hadi Nategh
b1de5e3881 Revert "use $method parameter of Api\Etemplate::exec() plus new et2_process handler as menuaction GET parameter"
This reverts commit 5576048f95.
2022-01-10 10:11:23 +01:00
Ralf Becker
5576048f95 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 17:57:39 +02:00
Ralf Becker
6bafc579f0 allow to pass url including http(s) scheme to Html::link($url, ...) and therefore other methods of Html class 2021-12-23 10:03:10 +02:00
Ralf Becker
6800484429 fix PHP Warning: explode(): Empty delimiter 2021-12-16 20:23:31 +02:00
Ralf Becker
c6f447f49c 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:08:35 +02:00
Ralf Becker
9439c2d799 fix SQLfs fsck to query errors in chunks of 500, in case there are a huge numbers of them 2021-12-14 21:28:56 +02:00
Hadi Nategh
1448581403 Decode html entities used in inline image sources because tinymce encodes them 2021-12-14 10:36:00 +01:00
Hadi Nategh
1c65b55f63 Fix issue contact plus button sometimes gets stuck 2021-12-10 10:51:38 +01:00
nathan
5b7706c77d * Etemplate: Add link icon overlay to link list 2021-12-06 10:13:33 -07:00
Hadi Nategh
de2c406c76 add compiled js file for commit 89507d1f2b 2021-12-06 10:28:40 +01:00
Hadi Nategh
89507d1f2b Add underline button into html editor's toolbar 2021-12-06 10:25:49 +01:00
Ralf Becker
e74262ff43 pending translations from our translation server 2021-12-04 15:45:41 +01:00
nathan
2f537252a8 Replace hyphen in utf-8 2021-12-03 11:40:26 -07:00
nathan
0543af4d82 Api: Force merge placeholder charset to UTF-8, avoids mangled accent characters 2021-12-03 11:40:19 -07:00
Ralf Becker
5f0b2ab513 * 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:49 +02:00
Ralf Becker
67412124a4 fix syntax error under PHP 7.3
7.3 is still the minimum requirement for 21.1
2021-12-01 20:00:15 +02:00
Ralf Becker
0435f3a4a5 * 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:57:26 +02:00
Ralf Becker
e50703aaae Changelog for 21.1.20211130 2021-11-30 10:11:56 +02:00
Ralf Becker
77900b09b3 fix Undefined array key warning 2021-11-29 16:46:18 +02:00
Ralf Becker
74dbdc30fb fix a couple of Undefined array key warnings 2021-11-29 16:36:16 +02:00
Ralf Becker
2b965a8399 fix / work around PHP 8.0 Error Call to undefined method EGroupware\Api\Etemplate\Widget\Vfs::set_attrs() 2021-11-24 20:59:43 +01:00
Ralf Becker
d83440e9f4 fix PHP 8.0 TypeError: Unsupported operand types 2021-11-23 18:08:14 +01:00
Ralf Becker
d3be189245 fix PHP 8.0 TypeError: Illegal offset type 2021-11-23 17:45:06 +01:00
Ralf Becker
68265cd7ab fix PHP 8.0 TypeError: Unsupported operand types: string & int 2021-11-23 17:24:22 +01:00
Ralf Becker
916565f797 fix PHP 8.0 TypeError: array_keys(): Argument #1 ($array) must be of type array, null given 2021-11-19 13:01:10 +01:00
Ralf Becker
9afc3a45b7 fix PHP 8.0 ArgumentCountError: readlink() expects exactly 1 argument, 2 given 2021-11-18 08:29:16 +01:00
nathan
4caec9dbd3 Improve logging message to include values instead of 'Array' 2021-11-17 20:24:50 +01:00
nathan
711a03aebf Fix placeholder dialog in collabora did not show up
It wasn't in the packaged JS
2021-11-17 10:24:55 -07:00
nathan
b0ef704c4b Clear tree before setting options to avoid duplicates 2021-11-16 15:16:10 -07:00
Ralf Becker
838f42e87f fix PHP 8.0 TypeError: in_array(): Argument #2 ($haystack) must be of type array, null given 2021-11-16 18:21:19 +01:00
Hadi Nategh
6f6613a450 Fix tinymce upload image not working in ole etemplate apps like knowledge base app 2021-11-16 16:51:29 +01:00
Ralf Becker
abf411415f fix PHP 8.0 TypeError: Cannot access offset of type string on string 2021-11-15 16:01:30 +01:00
Ralf Becker
bd29f1ef6a fix PHP 8.0 TypeError: Cannot access offset of type string on string 2021-11-15 15:04:15 +01:00
Ralf Becker
dfec4360b3 fix PHP 8.0 TypeError: array_keys(): Argument #1 ($array) must be of type array, null given 2021-11-13 17:39:56 +01:00
Ralf Becker
c212cf36ae fix PHP 8.0 TypeError: fwrite(): Argument #2 ($data) must be of type string, array given 2021-11-13 17:31:19 +01:00
Ralf Becker
c6052a5fbb fix PHP 8.0 TypeError: in_array(): Argument #2 ($haystack) must be of type array, null given 2021-11-13 17:25:01 +01:00
Ralf Becker
72a7039dce fix PHP 8.0 TypeError: array_merge(): Argument #1 must be of type array, null given 2021-11-13 17:18:41 +01:00
Hadi Nategh
537c4652a3 Fix error "Non-static method Merge::get_all_ids() cannot be called statically" 2021-11-13 17:08:20 +01:00
Ralf Becker
26af55cba6 fix PHP 8.0 TypeError: Unsupported operand types: string + int 2021-11-13 17:05:42 +01:00
Ralf Becker
26a8d40c5f fix PHP 8.0 TypeError: ZipArchive::setCommentName(): Argument #2 ($comment) must be of type string, array given 2021-11-13 17:02:26 +01:00
Hadi Nategh
90597e1dea Get the link entry app selection menu working again 2021-11-11 10:28:00 +01:00
Ralf Becker
bbd048a143 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:50:17 +01:00
Ralf Becker
cb70a57b78 quieten permanent log of search links for non-ascii project-names etc. 2021-11-11 09:11:04 +01:00
Ralf Becker
46e384198b fix PHP 8.0 TypeError: Unsupported operand types: string & int 2021-11-11 08:00:20 +01:00
nathan
6aa0366330 Maybe fix SQL error from searching contacts with private + duplicates 2021-11-10 09:53:24 -07:00
nathan
050bf162d9 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-11-10 13:58:40 +01:00
Ralf Becker
4d08b1412d fix PHP 8.0 TypeError: array_merge(): Argument #2 must be of type array, null given 2021-11-10 12:47:34 +01:00
Ralf Becker
8d25c83380 fix/catch PHP 8.0 ValueError: mb_convert_encoding(): Argument #3 ($from_encoding) contains invalid encoding "cp1250" 2021-11-10 12:43:30 +01:00
Ralf Becker
aca63345ca fix PHP 8.0 TypeError: strpos(): Argument #1 ($haystack) must be of type string, array given 2021-11-10 12:16:20 +01:00
Hadi Nategh
dfdd3b918b Update jquery-ui to 1.13.1 2021-11-10 11:55:45 +01:00
Ralf Becker
5477f3d095 * 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:08:07 +01:00
Ralf Becker
3655619b43 fix PHP 8.0 problem "new" > 0 causing mail accounts created via admin for an other user to fail 2021-11-09 08:03:16 +01:00
Ralf Becker
fa67fc24d7 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:23:08 +01:00
Ralf Becker
9638bddaac fix PHP 8.0 TypeError: Exception::__construct(): Argument #2 ($code) must be of type int, string given 2021-11-08 11:36:49 +01:00
Ralf Becker
ff68c12773 fix PHP 8.0 TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given 2021-11-05 15:19:20 +01:00
Ralf Becker
1ad1c6e951 fix PHP 8.0 TypeError: Unsupported operand types: null + array 2021-11-05 14:50:19 +01:00
Ralf Becker
c8bab89460 fix PHP 8.0 TypeError: uasort(): Argument #1 ($array) must be of type array, null given 2021-11-05 14:37:50 +01:00
Ralf Becker
e8c352acbd fix PHP 8.0 ValueError: stripos(): Argument #3 ($offset) must be contained in argument #1 ($haystack) 2021-11-05 11:39:13 +01:00
Ralf Becker
0d8f4f624f fix PHP 8.0 error: trim expects string, array given
removed trim
2021-11-05 09:08:57 +01:00
Hadi Nategh
17e25fa1e0 Fix PHP8.0 error (TypeError): strlen(): Argument #1 ($string) must be of type string, array given 2021-11-04 17:24:56 +01:00
Hadi Nategh
fd3b61b6af Fix PHP8.0 (TypeError): explode(): Argument #2 ($string) must be of type string, array given 2021-11-04 14:32:17 +01:00
Hadi Nategh
5227425671 Fix stripos(): Argument #3 ($offset) must be contained in argument #1 ($haystack) by preventing empty html value being processed 2021-11-04 14:14:10 +01:00
Ralf Becker
ae6128d7d0 * Filemanager: fix not working variables eg. $user in GUI mount (Admin > Filemanager)
also support no user/password for sharing links
2021-11-03 14:55:21 +01:00
Hadi Nategh
8a9aad7f2c * Filemanager: Fix video controller not working in filemanager gallery 2021-11-02 17:45:17 +01:00
Ralf Becker
45437a5c9d 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-29 08:48:26 -06:00
nathan
facdf2d119 API: Make sure memberships is an array to avoid other errors (PHP 8.0) 2021-10-27 13:41:48 -06:00
Ralf Becker
12c6b57ed0 fix regression reported by @asig2016 after big warning fix 2021-10-23 09:56:11 +02:00
nathan
1ecfe6fea5 Api: Fix "Unsupported operand types: array + bool" when infolog linked contact could not be read 2021-10-22 09:43:09 -06:00
Hadi Nategh
dddd0a2ee0 Fix onchange event not working for date-range widget 2021-10-22 13:27:37 +02:00
nathan
17d4c2a869 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:59:57 -06:00
nathan
3c7d18b8db Api: Change app placeholders list to use some more horizontal space, stop hiding common & user placeholders 2021-10-21 08:40:37 -06:00
Ralf Becker
efff64299c fix big chunk of PHP 8.0 warnings 2021-10-21 10:42:18 +02:00
nathan
e70060f34b Api: Fix cf sub-entry placeholder expansion was not passing content for placeholders like {{#customer/n_fn}} 2021-10-20 14:10:41 -06:00
Ralf Becker
a8cc4d3c33 closing/commiting the session to speed up calendar loading 2021-10-20 13:58:40 +02:00
nathan
eb1ed53c1a JS changes from 068e3feff0 2021-10-19 14:23:31 -06:00
nathan
dacb898218 Api: Fix setting the date min attribute to a number did not work
jQueryUI timepicker checks the type of variable
2021-10-19 14:22:55 -06:00
nathan
888fd1d61c Add missing placeholder widget JS 2021-10-19 09:47:38 -06:00
nathan
f4daa11c5b Api: Fix replacements from sub-apps (eg: infolog contact) were missing 2021-10-19 09:19:26 -06:00
Hadi Nategh
2af7775aa2 * Mail: Add set flags action into mail filters 2021-10-19 13:15:35 +02:00
Hadi Nategh
551d797cb6 * Mail: Implements date extension for vacation rule. None imap admin user can also set vacation rule by date. 2021-10-19 13:15:13 +02:00
nathan
d7de30a423 Infolog: Avoid errors adding app replacements if incorrect parameters given 2021-10-19 10:13:04 +02:00
nathan
b320f7517f Fix kanban merge into document stopped working with introduction of PDF checkbox 2021-10-19 09:48:12 +02:00
nathan
82103dd514 * Collabora: Merge placeholder dialogs
Added merge placeholder & address dialogs to Collabora.  Also some new merge preferences for target filename and location, and placeholder list UI
2021-10-14 13:18:21 -06:00
nathan
09f93f2b9d * Add filemanager actions to convert editable files to PDF or PNG and a checkbox to merge file as PDF 2021-10-14 09:18:55 -06:00
nathan
9de404da9c Fix ReflectionParameter::isArray() was deprecated as of PHP 8.0.0 2021-10-14 08:59:12 -06:00
nathan
65b0a31aeb Fix expansion broken in ddddc5ba05
Caused export field checkboxes in new definition to not keep their value
2021-10-14 08:58:49 -06:00
Hadi Nategh
894ebe2f51 PHP8: fix lots of warnings 2021-10-14 15:38:48 +02:00
Hadi Nategh
ab8a7d4c23 Remove none existing mail connectionTimeout preference. Fixes warning of Undefined array key 'connectionTimeout'. 2021-10-14 11:36:35 +02:00
Ralf Becker
60536222ce fix PHP 8.0 error forwarding mail as attachment (calling count on null) 2021-10-14 09:41:53 +02:00
Ralf Becker
ccadef611d 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:08:34 +02:00
Alexandros Sigalas
fdd275c605
Tabs of tabwidget, added onClick and ondDblclick events (#109)
* Tabs of tabwidget, added onClick and ondDblclick events

* OnClick and ondDblclick events on Tabs of tabwidget, parse functions only once.
2021-10-13 08:33:37 -06:00
Hadi Nategh
2d7aed2f4b Fix error "Non-static method Merge::get_all_ids() cannot be called statically" 2021-10-12 12:57:01 +02:00
Ralf Becker
d51d0eee83 fix a bunch of PHP Warnings 2021-10-12 11:51:56 +02:00
Ralf Becker
c844a47889 fix PHP 8.0 error: Undefined constant "EGroupware\Api\Contacts\cat_id" 2021-10-11 18:41:03 +02:00
Ralf Becker
389b66bedf fix PHP Warning: Illegal string offset 'tmp_name' 2021-10-11 14:03:09 +02:00
Hadi Nategh
8feac04979
Merge pull request #108 from asig2016/21.1_toolbar
Added preference_id and preference_app attributes to toolbar widget, …
2021-10-11 10:22:46 +02:00
Ralf Becker
2e1f6a983f output line and file of exception as trace not always contain it 2021-10-09 08:43:48 +02:00
Alexandros Sigalas
a1f4922506 Added preference_id and preference_app attributes to toolbar widget, to make usage in edit forms opened in framework tabs easier. 2021-10-08 17:38:42 +03:00
Ralf Becker
f21492632b an other chunk of PHP 8.0 Warnings fixed 2021-10-08 15:44:32 +02:00
Hadi Nategh
fbfe937524 Accept mail externalImages with long url 2021-10-08 14:31:44 +02:00
Ralf Becker
867c000d99 fix Api\Accounts::username(): Argument #1 ($account_id) must be of type ?int, string given 2021-10-08 14:11:15 +02:00
Ralf Becker
7de75f16c1 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:06:45 +02:00
Ralf Becker
ca00987fb2 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:40:15 +02:00
Ralf Becker
7525a9b186 fix not working preferences GUI after ddddc5ba05 2021-10-07 17:28:42 +02:00
Ralf Becker
a599f9390c fix TypeError: Argument 1 passed to EGroupware\Api\Accounts::username() must be of the type int, null given 2021-10-07 16:53:54 +02:00
Ralf Becker
542192ce6e 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:32 +02:00
Ralf Becker
16d02a856c fix missing icons after previous commit 2021-10-07 11:57:43 +02:00
Ralf Becker
7a93814c25 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:59 +02:00
Ralf Becker
7c40fc0981 an other chunk of fixed PHP 8.0 Warnings 2021-10-07 10:16:09 +02:00
Hadi Nategh
8c47c14b8d Fix styling in toolbar 2021-10-06 15:46:19 +02:00
Ralf Becker
9a15aad67d fix mail account creation under PHP 8.0
PHP 8.0: "new" > 0 === true
PHP<8.0: "new" > 0 === false
2021-10-06 12:32:54 +02:00
Hadi Nategh
ed86f5bfae PHP8: fix error Illegal offset typePHP, happens while moving mail from one account to another 2021-10-06 11:43:43 +02:00
Hadi Nategh
b6319bc18b Fix wrong condition on checking url strlen 2021-10-06 11:35:53 +02:00
Ralf Becker
56f60c691f next big chunk of fixed PHP 8.0 Warnings 2021-10-05 14:21:36 +02:00
Ralf Becker
29d2d7a580 fixing some conditions in the previous commit stalling InfoLog list 2021-10-05 11:35:56 +02:00
Ralf Becker
6ac401ef19 fixing a ton of PHP Warnings slowing us down in PHP 8.0 2021-10-05 11:35:56 +02:00