Open anemirovsky opened 2 weeks ago
Thanks @anemirovsky for raising this issue and for providing details and a PR 🙏🏼
I have done this quick test with a demo sandbox:
admin/config/development/logging
$date_types = system_get_date_types();
dpm($date_types);
I got the results as expected (I think? ...there's an array with info about all date formats on the site), but also these two warnings:
I'll need to also test things with adding custom date formats (other then those provided OOTB with core) + also compare the same with the changes proposed in the PR.
Thanks again for the PR @anemirovsky. I'll loop back to this to do proper review/testing as soon as possible.
system_date_get_types()
is deprecated so I feel uncomfortable trying to fix things there. It's better to first try convert your code to use https://docs.backdropcms.org/api/backdrop/core%21modules%21system%21system.module/function/system_get_date_formats/1 and then if you still have errors we can figure out if it's a core bug.
Description of the bug
I'm using the
workflow
andwokflow_node
modules and have hit a bug in https://github.com/backdrop-contrib/workflow/blob/1.x-2.x/workflow_node/workflownode.tokens.inc#L73. That code callssystem_get_date_types
to generate some tokens based on the available date formats. Currently, it will throw aTypeError: Cannot access offset of type string on string in workflownode_token_info()
. Looking intosystem_get_date_types()
, it looks to me like the conditional logic for checking for whether we're looking for a specific$type
or not is flipped and so additional array keys with empty values are getting added to the$formats
array if no$type
argument is used.Steps To Reproduce
Enable the
workflow
andworkflow_node
modules and the error should be immediately triggered.I'll be submitting PR shortly for review.