Comment to 'Help with creating public API'
  • Thank you for your response. I was able to resolve the issue after addressing a PHP Fatal error: Uncaught Error: Cannot use object of type stdClass as array in /home/ext/sites/una/modules/base/general/classes/BxBaseModGeneralFormsEntryHelper.php:196.

    • Thank you for the feedback, could you please more details on how to reproduce the issue and what is your UNA version ?

      • UNA Version: 14.0.0-A3

        When using the curl example on the DEV API page:

        An error occurs:

        PHP Fatal error: Uncaught Error: Cannot use object of type stdClass as array in /home/ext/sites/una/modules/base/general/classes/BxBaseModGeneralFormsEntryHelper.php:196
        Stack trace:
        #0 /home/ext/sites/una/modules/base/general/classes/BxBaseModGeneralModule.php(1230): BxBaseModGeneralFormsEntryHelper->addData()
        #1 /home/ext/sites/una/inc/classes/BxDolRequest.php(132): BxBaseModGeneralModule->serviceEntityAdd()
        #2 /home/ext/sites/una/inc/classes/BxDolRequest.php(57): BxDolRequest::_perform()
        #3 /home/ext/sites/una/inc/classes/BxDolService.php(51): BxDolRequest::processAsService()
        #4 /home/ext/sites/una/api.php(72): BxDolService::call()
        #5 {main}
          thrown in /home/ext/sites/una/modules/base/general/classes/BxBaseModGeneralFormsEntryHelper.php on line 196
        

        Temporary Fix:

        To resolve this issue, check for the type of the $aValues variable passed to the addData method. If it is not an array, cast it to an array.

        In /home/ext/sites/una/modules/base/general/classes/BxBaseModGeneralFormsEntryHelper.php, modify the addData method as follows:

        public function addData($iProfile, $aValues, $sDisplay = false)
        {
            if (!is_array($aValues)) {
                $aValues = (array) $aValues;
            }
            // Rest of the method implementation
        }
        

        This modification ensures that $aValues is always treated as an array, preventing the fatal error and allowing the method to process the data correctly.