diff options
author | Guillaume Turri <guillaume.turri@gmail.com> | 2021-03-20 19:12:19 +0100 |
---|---|---|
committer | Guillaume Turri <guillaume.turri@gmail.com> | 2021-03-20 20:31:09 +0100 |
commit | 4f58273652838cfc963b6bc02439e80fb969c594 (patch) | |
tree | 3201e7d1cd43fe3bdd733a8be24fc76f9a68cb6f /vendor/splitbrain/php-archive/src | |
parent | 9dcf627417bc9975e5a7bcdcb273f504dc9dbe71 (diff) | |
download | dokuwiki-4f58273652838cfc963b6bc02439e80fb969c594.tar.gz dokuwiki-4f58273652838cfc963b6bc02439e80fb969c594.zip |
Add tests on sectionID and fixes #3436
This commit fixes a bug on sectionID which could lead to having duplicated id.
Note that this commit changes the API a bit $check used to be a key-value array
(with key=the origin id, and value=the number of time this id has been generated)
and is now just an array of string. That's because the previous structure
couldn't work.
As far as Dokuwiki sources are concerned, this change should have no impact because:
- most call to sectionID are done with $check=false (and the behavior in this case
isn't changed
- only Doku_Renderer->_headerToLink passes an actual array to this method. But this
array is initialized empty, it is only filled and read by sectionID itself.
(this Doku_Renderer->headers array is protected but the classes which extends it
aren't referring this array).
It could still break usages of pluging that would call sectionID and rely on the
format of this array. But even if this commits kept $check as an array<string, bool>
(for instance setting the values to 1) the semantic wouldn't be the same.
To put it in a nutshell:
- this change of API has 0 impact on the core of Dokuwiki
- there is no evidence that it would impact other code
- there doesn't seem to be a clean way to avoid this change
This commit fixes #3436
Diffstat (limited to 'vendor/splitbrain/php-archive/src')
0 files changed, 0 insertions, 0 deletions