This moves the little helper that will remove a "no-js" class from the
header element as soon as JavaScript is detected from the dokuwiki
template to our default inline script that also initializes the JSINFO
array.
This ensures that this inline script is run with a nonce (if available).
See #3788 for more infor
This replaces the abandoned fork with my own fork at splitbrain/lesserphp
That fork has been cleaned up somewhat and the issues in #4088 should be
fixed.
Our cache system ignores purge requests that have a referrer. The idea
is to avoid permanent recaching because a purge link was posted
somewhere.
However for the retry link in the extension manager we actually want the
link to work. So this patch supresses the referrer for that link.
When the plugin repository answers but returns non-data (as can happen
when the database isn't available, as we have learned yesterday), the
extension manager still tried to deserialize the data.
This changes all communication from php-serialized to JSON encoded data.
When JSON-decoding fails, the data is ignored and an error message is
shown. Failure data like this will not be cached.
Error codes are now extracted from API core and printed on the OpenAPI
overview page. This makes it easier to see what is in use.
Error messages have been cleaned up, some new codes have been assigned.
Some errors have been removed. Eg. it is fine to iterate a media
namespace you don't have read access to. The result will either be empty
or contain files from lower namespaces that you *do* have access to.
This only moves the calls. A proper refactoring of the user manager
would make sense:
1) introduce a helper component covering the basic operations including
proper error signalling using Exceptions
2) refactor admin and cli components to make use of 1)
3) make the operations in 1) available via the API
Failed because positional parameters are not really possible to model.
Named parameter could be introduces when our minimum requirement is
switched to PHP8+