4
0
mirror of https://github.com/AzuraCast/AzuraCast.git synced 2024-06-20 07:57:07 +00:00
Commit Graph

204 Commits

Author SHA1 Message Date
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 Neece
68fc440b42
Implement deep_copy in favor of PHP's own clone. 2019-05-01 18:54:30 -05:00
Buster Neece
48f104d8cd
Improve Sentry integration. 2019-03-22 20:22:32 -05:00
Buster Neece
0bb68f7a9e
Minor code quality fixes, test Sentry integration on dev. 2019-03-22 17:07:17 -05:00
Buster Neece
b053abae04 Finish implementing 2FA in profile and login. 2019-03-14 03:40:02 -05:00
Buster Neece
b9e821debd Switch logging to be managed/rotated by Supervisord.
Rationale: under the current system, Supervisord simply pipes its per-process logs out to stdout/stderr on Docker, meaning it has no ability to read back those logs in the case of an error, leading to cryptic error messages like "SPAWN_ERROR" instead of the actual problem. This refactors the logging to be handled by Supervisord, which also is itself capable of log rotation (removing the need for AzuraCast to rotate radio software logs).
2019-03-07 20:01:51 -06:00
Buster "Silver Eagle" Neece
c975e8c081 Make menus configuration-driven so plugins can extend them. 2019-02-23 23:28:01 -06:00
Buster "Silver Eagle" Neece
d9a5eeed13 #1149 -- Consolidate fromArray/toArray and Serializer, add smart type casting. 2019-02-05 11:22:05 -06:00
Buster "Silver Eagle" Neece
e1cb909a17 #1145 -- Make composer package name lowercase. 2019-02-03 10:54:35 -06:00
Buster "Silver Eagle" Neece
798d020800 Simplify testing into a single "composer test" command. 2019-01-31 15:58:20 -06:00
Buster "Silver Eagle" Neece
7fa44db264 More minor code fixes, add linting to CI and docker.sh script. 2019-01-31 14:29:45 -06:00
Buster "Silver Eagle" Neece
8a6701403a Code and PHPDoc cleanup to green-light level 2 static analysis. 2019-01-31 11:54:17 -06:00
Vaalyn
a174c3ba5b Add phpstan as dev dependency (#1130)
* Add PHPStan as dev dependency with configuration

* Remove TODO
2019-01-30 20:49:36 -06:00
Buster "Silver Eagle" Neece
c1f2017052
Implement #368 -- Add administrator-set storage quotas to individual stations. (#1122)
* Implement station quotas at DB level, switch to big-int math for checks.
* Update AzuraCore
* No longer try to auto-typecast fields (let the setters do that).
* Implement admin form, fix Flow error displays, implement checking/adding quota.
* Decrement from quota when a file is deleted.
* More robust handling of empty values.
2019-01-28 14:47:19 -06:00
Buster "Silver Eagle" Neece
55011eef50 Fix extraneous comma in composer manifest. 2018-12-30 04:35:09 -06:00
Buster "Silver Eagle" Neece
13e0c744c6 Implement message queue and worker for media processing/import tasks. 2018-12-30 04:18:48 -06:00
Buster "Silver Eagle" Neece
10fd33669e Move swagger-PHP to prod dependencies. 2018-12-26 07:18:39 -06:00
Buster "Silver Eagle" Neece
b2c6b5e54e Create new abstract CRUD API containers. 2018-12-20 04:25:24 -06:00
Buster "Silver Eagle" Neece
a21cd55afe Add S3 dep directly to the AzuraCast core. 2018-12-13 12:40:09 -06:00
Buster "Silver Eagle" Neece
70914a67c1
Implement Flysystem, move album art to filesystem, fix related issues #953 #962 (#1022)
* Initial entity and dependency commit.

* Create migration test for album art move.

* File management controller refactor and further wiring of Flysystem.

* Form/UI fixes and refactors related to Flysystem.

* Update composer deps and add merge plugin to avoid dep overlap.

* Fix batch moving/directory listing, add lightboxing to files manager.

* Fix album art writing, use special upload method to skip disk round-trip.

* Migrate StationRepository to be DI-driven, update unit tests and the setup controller.
2018-12-05 01:15:51 -06:00
Buster "Silver Eagle" Neece
5e8693ecad IDE type-hinting fixes. 2018-11-17 09:20:19 -06:00
Buster "Silver Eagle" Neece
6ebd158630 Use constants for Settings values (best practice) and implement update checks 2018-11-15 07:41:52 -06:00
Buster "Silver Eagle" Neece
854cb93261
Architecture change: Integrate common AzuraCore code (#944)
* Update composer.json/lock
* Update CLI console commands
* All AzuraCore refactors except folder moves.
* MVP for all core functionality.
* Working unit/functional tests
* Remove DB dump from util/, replace with direct migration.
* Update AzuraCore, define testing mode earlier.
2018-11-12 10:59:15 -06:00
Buster "Silver Eagle" Neece
027d571543 #909 -- Make version include commit and date from git metadata. 2018-11-02 00:25:47 -05:00
Buster "Silver Eagle" Neece
e064da4f4d #885 -- Implement AzuraCast-side Liquidsoap log rotation. 2018-10-29 00:19:07 -05:00
Buster "Silver Eagle" Neece
fef1c487bb Remove packaged/helpers as it was only used in 2 places. 2018-09-29 06:37:14 -05:00
Buster "Silver Eagle" Neece
61f2ed9a38 Composer updates, add Console as explicit dep to play with 4.2 when it's out 2018-09-25 03:59:09 -05:00
Buster "Silver Eagle" Neece
6cc62173b5 Remove unused Composer deps 2018-09-23 09:41:06 -05:00
Buster "Silver Eagle" Neece
33210b9450 Begin work on custom code plugins support. 2018-09-21 07:04:05 -05:00
Buster "Silver Eagle" Neece
989bbd39a1 #802 -- Update to OpenAPI 3.0 spec 2018-09-18 09:09:48 -05:00
Buster "Silver Eagle" Neece
d051e00a69 Use the new azuracast/nowplaying library to abstract NP generation. 2018-09-13 12:45:56 -05:00
Buster "Silver Eagle" Neece
2e631c9502 Use Certainty library for SSL CA bundles, implement DI-injected HTTP Client 2018-09-06 20:08:47 -05:00
Buster "Silver Eagle" Neece
082d564465 Restructure web hook configuration; create new "Test" function; improve display of test pages. 2018-08-12 01:35:48 -05:00
Buster "Silver Eagle" Neece
828385c78f Add the other extensions to composer.json 2018-08-10 04:09:27 -05:00
Buster "Silver Eagle" Neece
e425ad06ca Add extension deps to composer.json 2018-08-08 01:31:36 -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
Buster "Silver Eagle" Neece
b7c21e0ea7 Update Doctrine DBAL to reflect latest release 2018-07-23 02:31:40 -05:00
Buster "Silver Eagle" Neece
f684e83166 Composer update and ignoring autogenned unit test files. 2018-07-13 14:46:36 -05:00
Buster "Silver Eagle" Neece
6be12cf98d Implement Symfony finder to replace some scandirs. 2018-07-06 21:41:07 -05:00
Buster "Silver Eagle" Neece
75c3672e25 #628 -- Switch all IP geolocation to be local via the MaxMind GeoLite DB. 2018-07-03 17:51:05 -05:00
Buster "Silver Eagle" Neece
ad312fa94e Switch to fixtures for local dev. 2018-05-04 17:04:30 -05:00
Buster "Silver Eagle" Neece
1f08c307e0
#566 / #567 Sequential Playlists with Reordering Page (#573)
- Expand the ManyToMany relationship between StationMedia and StationPlaylist to include both a "weight" and "last_played" parameter, to allow for sequential playlists.
- Implement Sequential playlist support
- Create new "reorder playlist" page
2018-04-29 18:48:48 -05:00
Buster "Silver Eagle" Neece
c1acff7100 Make playlist scheduling unit-testable, and build a unit test for it. 2018-04-07 19:17:22 -05:00
Buster "Silver Eagle" Neece
848dc9e7ee #523 -- Smarter handling of timezones, especially for playlists 2018-03-28 01:07:56 -05:00
Buster "Silver Eagle" Neece
8ac6f440be Switch to very specific version of Doctrine DBAL library. 2018-03-21 11:06:55 -05:00
Buster "Silver Eagle" Neece
b016c09fea Migration generator fixes and station webhook name addition. 2018-03-20 11:31:55 -05:00
Buster "Silver Eagle" Neece
cb69953446 Update composer dependencies. 2018-03-19 15:36:22 -05:00
Buster "Silver Eagle" Neece
8b3cd5d03d Switch to pure PHP-based translations library to remove gettext dependency. 2018-03-18 20:31:43 -05:00
Buster "Silver Eagle" Neece
3cc91c5cd2 Replace in-page debugging with Monolog writing to multiple locations. 2018-02-27 00:28:09 -06:00
Buster "Silver Eagle" Neece
5513ca06a2 Switch dependencies to new AzuraForms; remove CodeClimate (and thus the Guzzle\Guzzle error) 2018-02-25 11:47:48 -06:00
Buster "Silver Eagle" Neece
f71703b562
Major code quality refactor (#399)
* Initial (non-working) commit of new middleware infrastructure.

* Begin massive refactor for Slimification: move controllers and views

* Begin refactor on controllers

* Finish refactor for admin pages.

* Initial refactor of API section finished.

* Going fully idiomatic with it: initial commit of infrastructure

* Mid-morning break commit of refactor to DI-ize *everything*

* Station adapter and config DI rewrite.

* Finish DI-ification refactor of admin pages.

* Finish DI-ification refactor of API controllers.

* Finish DI-ification refactor of frontend/setup controllers.

* Station index and profile controller refactors.

* Refactor all station controllers except Files.

* All files refactored, ready for testing!

* Update Codeception exclusions

* Green-light on functional tests, include forgotten controller page, etc.
2018-02-01 05:49:40 -06:00
Buster "Silver Eagle" Neece
1785d0a101 Update composer dependencies. 2017-09-17 13:54:36 -05:00
Buster "Silver Eagle" Neece
8660cde989 Revert pointing to custom repo. 2017-08-18 06:58:44 -05:00
Buster Silver
19b6b9bb40 #212 -- Temporarily switch to updated fork for Doctrine Migrations. 2017-08-18 03:49:00 -05:00
Buster Silver
3871ecf4be Generate locales, add "is_mobile" to listener response. 2017-07-25 05:04:15 -05:00
Buster Silver
6757d21ebe Update Composer dependencies. 2017-07-18 19:33:17 -05:00
Buster Silver
6c84a8bb2f Full API overhaul, addition of API return models, swagger-php annotations and auto-docs for API changes. 2017-06-16 19:19:42 -05:00
Buster Silver
2a03c0e24c Fork NibbleForms and refer to the forked repo to fix file upload handling and avoid having to maintain NibbleForms code in the App namespace. 2017-05-13 23:00:21 -05:00
DependenCI Bot
e804875a27 Update dependencies from DependenCI 2017-05-13 09:32:45 -05:00
Buster Silver
4ea9852a98 Update repository name in various spots. 2017-04-30 02:22:24 -05:00
Buster Silver
53d13c5cb2 Update whoops library, provide better, more detailed error reporting on supervisor tasks. 2017-04-23 17:06:55 -05:00
Buster Silver
dcd3ed0859 Move "src/" to "app/src/" and reintroduce modularization for easy plugin-style extension. 2017-04-08 03:05:33 -05:00
Buster Silver
8921255ad0 Move AzuraCore back into AzuraCast because it's obnoxious maintaining two split libraries like that. 2017-04-05 18:37:26 -05:00
Buster Silver
d1334b1f82 Break out from old Zend-style modular framework to new PSR-friendly style: move configs into single "config" directory, controllers into src/Controller, templates into single "templates" directory. 2017-01-17 03:48:14 -06:00
Buster Silver
270e6370d9 Move Entity, Migration and AzuraCast classes into a PSR-friendly "src/" folder, move Entity Repositories into their own classes, and update AzuraCore to reflect this change. 2017-01-17 02:46:43 -06:00
Buster Silver
eb4f9a041a Put the AzuraCast classes in the actual Composer autoloader, clean up other config files. 2016-12-30 23:31:01 -06:00
Buster Silver
e9c62a3ea5 Revert "Move AzuraCore back into the main app, and move library code to src/ because it's what all the cool kids are doing."
This reverts commit 95e393d60d.
2016-12-30 23:27:06 -06:00
Buster Silver
95e393d60d Move AzuraCore back into the main app, and move library code to src/ because it's what all the cool kids are doing. 2016-12-30 23:13:23 -06:00
Buster Silver
11ee704ea6 Update AzuraCore and license, and fix issue with CLI. 2016-12-16 14:57:53 -06:00
Buster Silver
921964ec7f Pull out the common core framework code from the application (now in the AzuraCore library) and update dependencies across the application accordingly. 2016-12-16 14:49:07 -06:00
Buster Silver
40f7f7f59b Closes #74 -- Implement supervisord to manage all radio station processes in a MUCH more stable and manageable fashion than raw PHP process management. 2016-12-12 17:01:28 -06:00
Buster Silver
90c4e19051 Add request testing to Codeception/CI. 2016-10-22 21:14:12 -05:00
Buster Silver
5e98c2b75e Associate Travis CI test coverage report with CodeClimate. 2016-10-22 12:05:52 -05:00
Buster Silver
1f23fbc50a Initial commit of the immensely immense task of setting up functional tests for AzuraCast that will integrate with Travis CI and run upon each commit. 2016-10-18 18:21:33 -05:00
Buster Silver
5c25fdca0d Replace the PHUtils-based \App\Utilities functions with their new library replacement, "packaged/helpers". Reformat remaining utilities to use a standard function format. 2016-10-13 18:56:16 -05:00
Buster Silver
85461060c1 (IMPORTANT: If coming from an older version of AzuraCast, update to this version FIRST to ensure your database matches the pre-migration setup. Future updates will be versioned with Doctrine's migrations system.) Implement Doctrine migrations as a replacement for the not-recommended-in-production Doctrine ORM schema manager update tool. 2016-09-23 18:40:53 -05:00
Buster Silver
0ba4993bd1 Remove \Zend\Http and \Zend\ServiceManager, both now unused in the modern code, to make for a faster/cleaner Composer install. 2016-09-18 19:13:04 -05:00
Buster Silver
8c048feca2 Remove Phalcon classes from App folder, remove Phalcon dependencies from Ansible. Set up new forms engine powered by NibbleForms. 2016-09-18 03:48:05 -05:00
Buster Silver
04fb8c50e6 Working PreDispatch/init on MVC Controller, functional redirects, login page and minimal theme working, 404 handler added, Whoops re-implemented for errors. 2016-09-17 16:18:50 -05:00
Buster Silver
774b79c64f Initial commit of the SlimPHP-based AzuraCast, including the following changes:
- Switch to Slim Container for Dependency Injection
 - Set up all Slim routes and internal MVC classes to convert routes into the existing MVC style
 - Set up PlatesPHP as the template engine, replacing Phalcon's raw PHP templates
 - Replace all $this->di_item references in templates to $di_item (per Plates' handling of the $this object)
2016-09-17 14:25:29 -05:00
Buster Silver
a527f45d3b Code Cleanup Day:
- Remove unnecessary classes in the App folder
 - Update dependencies to Zend classes, removing App\Paginator and App\Config redundancies
 - Update versions of ZendFramework libraries in composer.json
 - Move "RadioFrontend" and "RadioBackend" into "Radio\Frontend" and "Radio\Backend" namespaces
2016-09-15 21:13:16 -05:00
Buster Silver
93c83029d9 Closes #28 - Upgrade to InfluxDB 1.0 release version, begin using InfluxDB's own PHP library client.
WARNING: This update will result in loss of previous statistics due to a significant jump in InfluxDB's backend storage from 0.8 to 1.0.
2016-09-12 01:06:17 -05:00
Buster Silver
0ed275f62d Introduce full compatibility with PHP 7.0, including the already-in-use Phalcon 3.0. 2016-09-09 00:07:40 -05:00
Buster Silver
526b21efa5 Update the Stash cache library and fix issues with failing cache invalidation. 2016-09-03 02:36:43 -05:00
Buster Silver
5a71e9fc0e Update relevant code to allow for Phalcon 3.0.0, which breaks very minor BC issues in the app. 2016-08-26 23:54:27 -05:00
Buster Silver
22cf8bc6c2 Build background media sync functionality, batch actions in file manager, ID3 inspection to create StationMedia records and a utility page to force a rebuild of configuration. 2016-05-15 04:31:21 -05:00
Buster Silver
f677abbf0c Begin new RadioBackend and RadioFrontend class construction, clean up old DF classes, get forms rendering correctly. 2016-05-06 03:57:34 -05:00
Buster Silver
afb42115c7 Composer and nginx updates in prep for song upload feature. 2015-09-04 03:17:29 -05:00
Buster Silver
daa0d6bfd0 Update Composer dependencies. 2015-07-11 23:38:21 -05:00
Buster Silver
d2eef57ac1 Lock Phalcon version to allow for easier code editor maintenance. 2015-06-02 15:40:50 -05:00
Buster Silver
d1e11730f4 ZendFramework 1 decommissioning, part 3: ZF1 is gone! All classes migrated into ZF2 or alternatives, resulting in much lighter weight and FULLY NAMESPACED codebase! 2015-06-02 15:17:05 -05:00
Buster Silver
a55a726c52 ZendFramework 1 Decommissioning part 2: pagination, authentication, messaging and other classes. 2015-06-02 14:24:05 -05:00
Buster Silver
c5fc3ad42e Rewrite entire cache layer to use Stash library and share a single driver connection for user, doctrine and session caches. 2015-05-31 21:39:16 -05:00
Buster Silver
7263938275 Migrate user-uploaded content to Amazon S3, for server independence and added redundancy. 2015-05-20 03:19:14 -05:00
Buster Silver
1a96e7ecbe Implement native SoundCloud API pulling (replacing Cloudflipper), add new "summary" field with truncated, URL-removed, cleaner descriptions for easy reference. 2015-05-17 21:52:58 -05:00
Buster "Silver Eagle" Neece
db9e7fa81b Switch back to stable versions for a majority of Composer modules. 2015-04-30 23:30:22 -05:00
Buster Silver
1a3664c195 Implement Influx logging widespread across backend, and on admin view. 2015-04-19 05:00:02 -05:00
Buster Silver
3e4e61314d Switch to Doctrine paginator for Doctrine-based queries, update version of ORM in dependencies to fix sorting error. 2015-04-13 03:57:24 -05:00
Buster Silver
48ebd10856 Fix URL routing, partial pathfinding (including renderHere/renderCommon), add file upload support, fix cron jobs. 2015-01-08 04:10:06 -06:00
Buster Silver
fb63ae05a0 Remove all references to Zend_Registry, fix cron tasks, restore Google_Client library. 2015-01-07 04:29:52 -06:00
Buster Silver
c09f1bbbf9 Pretty errors, fixed controllers, and more. 2015-01-02 02:59:57 -06:00
Buster Silver
4afef26769 Add Phalcon dev tools to composer. 2014-11-22 04:11:23 -06:00
Buster Neece
8c6e7d3ac1 New and greatly improved IceCast nowplaying data retrieval. 2014-08-12 02:28:27 -05:00
Buster Neece
9b7206a42f The Great Implementation of Composer Project!
- Remove ZendFramework and Doctrine dependencies from app code.
 - Create composer.json with dependencies for third parties.
 - Move autoloading to the composer PSR0/PSR4 autoloader.
 - Update bootstrapping code accordingly.
2014-06-04 14:37:21 -05:00