Commit Graph

31 Commits

Author SHA1 Message Date
Buster "Silver Eagle" Neece 5cbacd5df6
System-Wide Strict Types (#4405) 2021-07-19 00:53:45 -05:00
Buster "Silver Eagle" Neece 5c6eb85e35
Make per-request items "request-aware" instead of using DI factories.
DI factories can't be cached as efficiently and incur a performance penalty on every request being handled by the system; using "request-aware" classes that clone themselves for each request solves the same problem in a far more performant way, cutting several ms off of every request.
2021-07-06 06:34:22 -05:00
Buster "Silver Eagle" Neece 3f23efa076
PHP code style fixes. 2021-06-08 01:40:49 -05:00
Vaalyn 1a04f9791f
Implement Podcasting Support
Co-authored-by: Buster "Silver Eagle" Neece <buster@busterneece.com>
Co-authored-by: Mitch <Mitchellfrith1996@gmail.com>
2021-05-24 23:29:07 -05:00
Buster "Silver Eagle" Neece e893a93981
Routine PHP 8 code inspection sweep
- Removing explicit calls to default values
 - Add strict parameter arguments
 - Use PHP8 built-in functions when possible
2021-04-23 17:12:47 -05:00
Buster "Silver Eagle" Neece f117644649
Apply PHP8-specific improvements. 2021-04-23 00:24:12 -05:00
Vaalyn 03b79d93e6
Fix Acl error on actions without a user like internal API calls (#3661) 2021-01-11 17:36:39 -06:00
Buster "Silver Eagle" Neece 7441d13472
Refactor Acl to be part of the request lifecycle. 2021-01-11 05:08:06 -06:00
Buster "Silver Eagle" Neece 4aa1902dae
#3525 -- Rework settings to be fetched on-demand to avoid collisions. 2020-12-10 16:46:03 -06:00
Buster "Silver Eagle" Neece 6de636f475
Unified Filesystem Overhaul (#3341)
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.
2020-11-09 21:06:48 -06:00
Buster "Silver Eagle" Neece bc7773a2f1
#3312 -- Remove the "Administer Users"/"Permissions" permissions. 2020-10-22 06:16:19 -05:00
Vaalyn 7fa7ca781d
Make ACL permissions extendable by plugins via event dispatching (#3309) 2020-10-22 02:18:05 -05:00
Vaalyn 9a94e6a178
Add PHPCS for code style checks (#3273) 2020-10-14 17:19:31 -05:00
Buster "Silver Eagle" Neece 8e08b7b798
Remove now-redundant PHPDoc blocks that don't add context. 2019-12-07 17:42:23 -06:00
Buster "Silver Eagle" Neece 1a6d1d620d
Add PHP 7.4 type hinting everywhere except Entities. 2019-12-07 06:19:49 -06:00
Buster "Silver Eagle" Neece 23a47ac341
Code quality and IDE inspection fixes. 2019-12-06 18:57:50 -06:00
Buster "Silver Eagle" Neece d7819a6993
Migrate Doctrine repositories to composited, DI-friendly classes. 2019-09-29 02:50:24 -05:00
Buster "Silver Eagle" Neece bd42b64de0
Add spaces to phpdoc blocks and optimize imports. 2019-09-20 11:44:38 -05:00
Buster "Silver Eagle" Neece 630d0cb099
Add "Exception" to all exception names. 2019-09-10 11:40:31 -05:00
Buster "Silver Eagle" Neece 513d04f7d2
Code cleanup! 2019-09-04 13:00:51 -05:00
Buster Neece 0953182033
Localization Overhaul
- Replace several "add %s", "remove %s", "manage %s" strings with dedicated strings for each action
- Make API responses locale-aware and translated
- Make CLI locale-aware and translated
- Add initial support for Turkish language
2019-08-21 17:34:05 -05:00
Buster "Silver Eagle" Neece 639dddf989
Slim PHP Framework 4 Update (#1822)
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.
2019-08-06 23:33:55 -05:00
Buster "Silver Eagle" Neece 16fc2c54bc
Implement zero-downtime backups + nightly backups (#1574)
* Create new backup and restore commands allowing live backups.
* Switch migrate script to use new backup method.
* Avoid loading fixtures, ensure directories exist when restarting stations.
* Include album art in media backup.
* First portion of automated backup management code.
* Further backup page work; add download/delete functionality.
* Implement automatic backups and "manual run" page.
* Switch automatic backup filename to match text.
* Add new locales.
* Add restore instructions and ability to view latest backup log.
2019-05-23 10:29:22 -05:00
Buster Neece 95b6eabade
Fix type hinting typo in ACL. 2019-05-10 02:30:34 -05:00
Buster Neece 76532ab336
Fix permission checks on showing certain profile buttons. 2019-05-10 02:26:02 -05:00
Buster "Silver Eagle" Neece e2c73c13fd #1180 -- Greatly improve user self-deletion/role management protections. 2019-02-17 18:52:01 -06:00
Buster "Silver Eagle" Neece 4b8c157b6c Code cleanup from static analysis. 2019-01-30 23:25:55 -06:00
Buster "Silver Eagle" Neece 872145342d Permission optimization to avoid unnecessary DI. 2019-01-05 09:25:20 -06:00
Buster "Silver Eagle" Neece ca8f8bc14d Use constants for permission names to avoid typos and enable global usage finding. 2018-11-27 09:37:54 -06:00
Buster "Silver Eagle" Neece 1e360ce101 Minor code cleanup. 2018-10-26 11:09:27 -05:00
Buster "Silver Eagle" Neece 98ff8f69cf
Core code restructure (#697)
* Initial renaming to a single global App\ namespace.
* Move CSRF/Flash under Session, move Session under Request
* Use new Request Station helper
* Unify App/Acl and App/Acl/StationAcl
* Alphabetize composer.json
2018-08-04 17:05:14 -05:00