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
This changes the divs for the main content, header, footer,
sidebar and page tools to their semantic equivalent
(main, header, footer, nav and nav again)
and adds ARIA labels where appropriate.
The media manager popup changes to have a main and a nav.
If there is an error when executing the method under test, then this
test caused the downstream test \remoteapicore_test::test_getBacklinks
to unexpectedly fail. Probably, because the global plugin controller
would not have been reset to its original value.
Running this test in its own process ensures that it won't affect any
other test, even if it messes with the global state and doesn't clean up.
On PHP8 trying to access a non-existing array key leads to a warning,
which we might treat as errors?
This incidentally also fixes another test downstream which broke because
this rendering test changes the global plugin controller, but doesn't
clean it up that if the test errors.
-9000 is used as the position to make it obvious that this number is
meaningless for this test.
This event seems not to be used by any plugin, which explains why this
bug hasn't surfaced yet. Access is always checked against a full method
name in the form of plugin.<pluginname>.<method> Such a full method was
not passed when using an event as described in the documentation.
* master:
dwpage: output meta data as JSON
dwpage: rename gmeta into getmeta
translation update
Make it easier to remove h1 around logo
fix: better max-width for images in tables
dwpage.php: add an option to get metadata
rename namespace Media to File
use SVG icons for media file links
readded $jump mechanism, removed unused functions
fix use of $rev parameter
fix entity definition
reenable the option to display a relative namespace for media files
simplified the media_searchlist tests
make use of the new media file classes
SVG based file icons
first go a refactoring the media manager
lazy load images
On windows systems a file can not be deleted while processes still have
a handle on them. JPEGMeta seems not to close its file handle correctly.
Usually thats not a problem in short lived processes where everything is
garbage collected at the end, however within a test request the object
may live on a little longer causing problems.