[TASK] Change indentation in Settings.yaml.example

This change updates the indentation in Settings.yaml.example
to make it more clear how to uncomment the phpBinaryPathAndFilename
lines.

Change-Id: I396978ba30036c8b6b0f109ec2af6b9eaff47f2b
Resolves: #54570
Releases: master
[TASK] Log configuration details of WebRedirects

Log all WebRedirect options instead of only ``uri``.

Background:
Even though it's encouraged to use the ``routeParts`` option rather
than ``uri`` for security WebRedirects, the corresponding AOP aspect
logs "Redirecting to authentication entry point with URI - undefined"
when no ``uri`` is specified.
This change fixes this by logging all redirect options.

Change-Id: Iec1fb3410c2e9d2e3302c41fbdb1f402d5915d68
Releases: master, 2.2, 2.1
[TASK] Make Flow Package/Package HHVM compatible

HHVM doesn't support calling array functions like key()
on objects, we need to cast object to array first.

Resolves: #57992
Releases: master
Change-Id: I20777f78f63f512a104c4e144aa29cbedafe0f23
[TASK] Update translations from translation tool

Releases: master
Merge "[TASK] Make Flow Package/Package HHVM compatible"
[BUGFIX] TestingToken must not rely on a session

This changes the ``TestingToken`` to implement the
``SessionLessTokenInterface`` so that it doesn't rely on a session
to be started whenever it is authenticated.

This is required in order to make use of the token for CLI based
tests (e.g. from behat).
The change also removes the TestingProviderTest that were actually
outdated and only worked by accident.

Change-Id: Id5b8a64b07214dd562eb12b4c06a770ca1fae266
Releases: master, 2.2, 2.1
[BUGFIX] CommandController must reset its arguments on dispatch

The CLI CommandController is not stateless in the sense that it
just adds argument definitions without removing previous definitions
in ``processRequest()``.
Usual this is not a problem, because every command is called only
once per request. But in tests or when using the ``flow:core:shell``
command this has weird side effects.

Change-Id: If65c5cf8ac394a96211eb48652ff155af44a6662
Releases: master, 2.2, 2.1
[TASK] Allow for custom policies to be registered in testing context

This adds some custom handling to the ``ConfigurationManager`` that
allows to initialize Flow with a different ``Policy.yaml``.
This can be used to simulate a custom policy configuration from
functional- and behavior-tests.

Details:
If in ``Testing`` context, the ConfigurationManager looks in the
temporary path of the current sub-context for a ``Policy.yaml`` file
and loads this if present.

Change-Id: Ie3c14e1dcb185056884e09953f9a34b5b1cddd8e
Releases: master
[TASK] Update translations from translation tool

Releases: master
[BUGFIX] Fix basic support for packages with multiple PSR-0/4 mappings

Some (3rd party) package define multiple autoload mappings for
different PHP namespaces in their composer manifest, for example::

  "autoload": {
     "psr-0": {
        "SomeNamespace": "lib/",
        "SomeNamespace\\Test": "test/lib/"
     }
  }

Flow does not yet support multiple autoload mappings but it always
just ignored everything but the first mapping.
With I20777f78f63f512a104c4e144aa29cbedafe0f23 this is no longer the
case and an exception is thrown for packages with more than one
mapping per autoloader type.

This change reintroduces the previous behavior and fixes some minor
bugs along the way.

Background:
Because ``Package::getComposerManifest()`` returns a ``stdClass`` the
code ``count($namespaces) === 1`` always evaluated TRUE.
By casting the manifest to an array (for better HVVM support) this is
no longer the case and the exception is thrown.

In the long run we should replace the stdClass by an associative array
or DTO and introduce real support for multiple autoload mappings.

This change also fixes some minor issues and adds some unit tests.

Change-Id: Ic737cfd2e48c9547c865772d1a6cdd4153ea63bb
Related: #57992
Releases: master
[BUGFIX] Fix support for local PSR-4 packages

Basic support for PSR-4 package has been introduced with a previous
change (I9b2dae7761ef48389d9915c1269df2fdf771af8c).
But that only worked for packages installed via composer, not for
"local" packages.

This change fixes this by exposing the package's autoload type and
tweaking the Flow ClassLoader accordingly.

Change-Id: I32e45820ada782c52abe2c956edbc832aee06cdd
Releases: master
Merge "[BUGFIX] TestingToken must not rely on a session"
Merge "[BUGFIX] CommandController must reset its arguments on dispatch"
Merge "[TASK] Allow for custom policies to be registered in testing context"
[TASK] Add behat tests for method policies

This adds a Behat ``FeatureContext`` that allows for testing
arbitrary policies and adds a simple feature for "method"
resources.

Change-Id: I4cda458b36526fe31cf1d4de4992bee85964935c
Resolves: NEOS-62
Releases: master
Merge "[BUGFIX] Fix support for local PSR-4 packages"
[BUGFIX] ClassLoader creates correct fallback path map

The ClassLoader would build a simple fallback path map but this
would then fail in loadClass() because the structure is not
matching that of other path maps. The change fixes that.

Releases: master, 2.2
Change-Id: I703f7659dbfc682c3484426194d3f546ea20417b
[BUGFIX] Fix support for absolute URIs in WebRedirect options

Fixes support for authentication provider redirects to external
domains.

Background:

If a ``WebRedirect`` is configured with a relative URI like::

  entryPoint: 'WebRedirect'
  entryPointOptions:
    uri: 'some/path'

The ``Location`` header gets properly prefixed with the current
base URI.
But due to a typo this happened as well for absolute URIs.

Note: using the "uri" option for internal redirects is deprecated,
use the ``routeParts`` option instead for those.

Change-Id: I203459da70465d78d50d226d265c88224ac50963
Fixes: #56598
Releases: master, 2.2, 2.1
[BUGFIX] Fix header handling for CSRF tokens

This commit fixes a typo in the expected CSRF token header name.

Change-Id: I04a2b69084dafd07077384cb1cb6701cec197565
Fixes: #55703
Releases: master, 2.2, 2.1
Merge "[TASK] Log configuration details of WebRedirects"