bnomei / kirby3-autoid

Automatic unique ID for Pages, Files and Structures including performant helpers to retrieve them. Bonus: Tiny-URL.
https://forum.getkirby.com/t/kirby3-autoid-plugin/23572
MIT License
80 stars 8 forks source link

Passing an empty string to pageFilenameFromPath() results in error. #66

Open fabianmichael opened 3 years ago

fabianmichael commented 3 years ago

In one of my projects, it seems that the pageFilenameFromPath() sometimes gets an empty string as parameter. In that case, the pathinfo() function does not return all expected keys, but only the following:

array(2) {
  ["basename"]=>
  string(0) ""
  ["filename"]=>
  string(0) ""
}

This leads to the following exception: Notice: Undefined index: dirname (see https://github.com/bnomei/kirby3-autoid/blob/master/classes/AutoIDDatabase.php#L233)

As I don’t know exactly why an empty ID gets passed to the method, I did not create a fix that just supresses the error. Maybe this would be sufficient, but maybe the issue is rooted somewhere else?

bnomei commented 3 years ago

like you said it might be better to find the issue that to add a quick fix and just check for en empty value and be done. :-)

its used in findByID and deleteByID which are kind of the core.

can you tell me a bit more how and when it happens? what data is involved? does it happen in panel or frontend? when panel on saving/creating stuff? when in frontend can the set of IDs refrenced by autoid reduced to a human verifiable amount? is it somehow reproducable? does removing the index and creating it again solve the issue?

fabianmichael commented 3 years ago

@bnomei Will try to figure it out …