* Fixes media query. Fixes album name not being pulled in due to incorrect IDs being used.
* Change to DQL, add a functional test that can catch this sort of thing in the future.
Previously AzuraCast had two very similar `$settings` variables, one that was from environment and the other from the database. This refactor distinguishes the two much more clearly.
This migration adds "Storage Locations", managed via a new System Administration panel, that can hold Station Media data, live broadcast recordings, and backups. These storage locations can be local (as they are by default) or remote via any S3-compatible service.
* Remove redundant test log.
* Set function return type on tests.
* Don't manage translations on branch/PR requests.
* Separate locale and static asset steps.
* Make sure npm ci runs even when translations don't run.
* Fixed user based locale not working bug due to calling initLocale() before getting user
* Add frontend test case to check if user based locale works correctly
* Look for logged in user's e-mail instead of the word "Logged In" in tests.
* Don't overwrite the LANG env var with user locale.
Co-authored-by: Buster "Silver Eagle" Neece <buster@busterneece.com>
- Switch to EntityManagerInterface for EM uses
- Wrap EntityManager in close-resilient wrapper
- Close/clear/reopen EM with every request
- Rework tests to be em->clear() resilient.
- Switch to "storageless sessions" middleware
- Update azuracore/azuraforms to apply necessary changes
- Switch form CSRF handling to use Session's CSRF handler
- Avoid using "magic" string in flash messages, switch to using constants.
Implement an upgrade of the codebase to use Slim Framework version 4, which includes the following changes:
- Updating to Slim version 4 and the corresponding AzuraCore updates.
- Making all objects PSR-7 Request/Response agnostic (and creating RequestHelper and ResponseHelper objects to interact with the PSR-7 Req/Resp objects).
- Moving to PHP-DI as a DI container and implementing its autowiring support.