alnv / catalog-manager

Backend Module ohne Programmierkenntnisse erstellen.
https://catalog-manager.org
33 stars 8 forks source link

PHP 8.1 issues #363

Open jochi44 opened 1 year ago

jochi44 commented 1 year ago

Contao v4.13.14 CM v1.35.25 PHP v8.1.13

Fresh installation

  1. create new cm-module (new catalog) in backend
  2. edit this new cm-module and "create new field" (-> paste at the top)

php-warning in error.log of server:

2022/12/16 13:35:10 [error] 26055#26055: *746064 FastCGI sent in stderr: "PHP message: PHP Warning: Undefined array key "" in /var/www/web/contao413/vendor/alnv/catalog-manager/library/alnv/Toolkit.php on line 159" while reading response header from upstream, client: 00.000.000.000, server: contao413.test.abc, request: "GET /contao?do=catalog-manager&rt=7f7e146ca99.atHwgqrIThDBTyJu9Eg1uqyBb8kUawHuijb0_YVRPHQ.GZLI-v6bDHauOHVevw1c-e_NAoUlBUmI3QCVs9IWeg0-5bXXmPgqZLs-QQ&ref=XKtRWGFY&table=tl_catalog_fields&act=edit&id=4 HTTP/2.0", upstream: "fastcgi://unix:/var/lib/php5-fpm/web63.sock:", host: "contao413.test.abc", referrer: "https://contao413.test.abc/"

jochi44 commented 1 year ago

Another bug:

  1. After creating a "new field" create a new record in the appropriate catalog

This leads to this php warning in error.log of server (without even saving the new record):

2022/12/16 20:02:21 [error] 26055#26055: *753731 FastCGI sent in stderr: "PHP message: PHP Warning: Undefined array key 0 in /var/www/web/contao413/vendor/contao/core-bundle/src/Resources/contao/drivers/DC_Table.php on line 4783 PHP message: PHP Warning: Undefined array key 0 in /var/www/web/contao413/vendor/contao/core-bundle/src/Resources/contao/drivers/DC_Table.php on line 4806" while reading response header from upstream, client: 11.111.111.111, server: contao413.test.abc, request: "GET /contao?do=test_module&ref=IvW9nnLR HTTP/2.0", upstream: "fastcgi://unix:/var/lib/php5-fpm/web63.sock:", host: "contao413.test.abc", referrer: "https://contao413.test.abc/"

jochi44 commented 1 year ago

Another one:

  1. Create a new field of type "radio menu" with 2 options.
  2. Create a new record and choose one of the 2 options of the radio menu field.
  3. Create a new Contao front end module of type "Catalog list view".
  4. Create a new Contao article and include the module.
  5. Open the respective page in the frontend.

This leads to the following php warning in the error.log of the server:

2022/12/16 20:36:33 [error] 26055#26055: *755613 FastCGI sent in stderr: "PHP message: PHP Warning: Undefined array key "field_radio_menu" in /var/www/web/contao413/vendor/alnv/catalog-manager/library/alnv/Fields/Radio.php on line 51" while reading response header from upstream, client: 11.111.111.111, server: contao413.test.abc, request: "GET / HTTP/2.0", upstream: "fastcgi://unix:/var/lib/php5-fpm/web63.sock:", host: "contao413.test.abc"

The same error occurs when creating a field of type "Upload".

PHP message: PHP Warning: Undefined array key "" in /var/www/web/contao413/vendor/alnv/catalog-manager/library/alnv/Fields/Upload.php on line 279 PHP message: PHP Warning: Undefined array key "" in /var/www/web/contao413/vendor/alnv/catalog-manager/library/alnv/Fields/Upload.php on line 280 PHP message: PHP Warning: Undefined array key "title" in /var/www/web/contao413/vendor/alnv/catalog-manager/library/alnv/Fields/Upload.php on line 302

derkosmonaut commented 1 year ago

Contao: 4.13.15 PHP: 8.1.14 CM 1.32.30

I get an error message when I try to delete catalog entries, for example:

Codefog\HasteBundle\DcaRelationsManager::getRelation(): Argument #2 ($fieldName) must be of type string, int given, called in /xxxxx/vendor/codefog/contao-haste/src/DcaRelationsManager.php on line 61

While debugging I get this message: request.CRITICAL: Uncaught PHP Exception ErrorException: "Warning: Undefined array key 502" at /xxxxx/vendor/alnv/catalog-manager/library/alnv/CatalogView.php line 710 {"exception":"[object] (ErrorException(code: 0): Warning: Undefined array key 502 at /xxxxx/vendor/alnv/catalog-manager/library/alnv/CatalogView.php:710)"} []

It appears the Catalog Manager is creating DCA entries with fields that are indexed by integers instead of strings, which is not supported.