CMS MADE SIMPLE FORGE

LISE

 

[#12626] Fatal error: Declaration of lisefd_Checkbox::Validate(&$errors) must be compatible with LISEFielddefBase::Validate(&$errors): void

avatar
Created By: Tristan (tristan)
Date Submitted: Fri Jul 14 12:41:57 -0400 2023

Assigned To: Fernando Morgado (JoMorg)
Version: 1.5.4
CMSMS Version: 2.2.17
Severity: Critical
Resolution: None
State: Open
Summary:
Fatal error: Declaration of lisefd_Checkbox::Validate(&$errors) must be compatible with LISEFielddefBase::Validate(&$errors): void
Detailed Description:
Getting:

PHP Fatal error:  Declaration of lisefd_Checkbox::Validate(&$errors) must be
compatible with LISEFielddefBase::Validate(&$errors): void in
/home/username/domains/domain.com/public_html/modules/LISE/lib/fielddefs/Checkbox/lisefd.Checkbox.php
on line 65

Errors after upgrading from 1.4.3 to 1.5.4 didn't change anything else, this is
with PHP 7.4. Frontend doesn't output anything anymore, at the backend the Lise
instance itself just loads to an almost blank page just showing:

Items
Field Definitions
Templates
Options

As text on a white background. The Extensions - Lise page doesn't load
completely either.


History

Comments
avatar
Date: 2023-07-17 07:46
Posted By: Darren Kierman (kierweb)

Notice that "parent::Validate($errors);" is missing from the Validate coding in
lib/fielddefs/Checkbox/lisefd.Checkbox.php file ... possible reason?
      
avatar
Date: 2023-07-26 11:43
Posted By: Michael Stegbauer (goldfloppy)

I got the same problem after copying the system to another folder. There are
absolute paths stored in the DB table cms_module_lise_fielddefs, which will not
be cleared by any upgrade method. So after upgrading the copied system, the old
fielddef files from the other instance were still used.

A quick fix is to rescan the field definitions. As the page in the backend is
not accessible, you can call the action "LISE,m1_,admin_scanfielddefs,0"
manually in your browser. Just change the "mact"-Parameter in one of the backend
URLs.