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

290 Commits

Author SHA1 Message Date
Buster "Silver Eagle" Neece
a4a146673e
More fixes to allow for new PHP-DI bridge integration. 2019-09-09 23:02:08 -05:00
Buster "Silver Eagle" Neece
65a4a71dc7
Update to point release of slim/http and fix static analysis results. 2019-09-09 22:45:24 -05:00
Buster "Silver Eagle" Neece
db8a5f4581
Update to using PHP-DI bridge and its function invocation method. 2019-09-09 21:30:05 -05:00
Vaalyn
a6664ef9b2 Remove unnecessary prefix from path (#1949) 2019-09-09 14:12:18 -05:00
Buster "Silver Eagle" Neece
b1ba8d442a
Merge remote-tracking branch 'origin/master' 2019-09-08 11:18:29 -05:00
Buster "Silver Eagle" Neece
26d37b70fa
#1929 -- Update time range on report overview. 2019-09-08 11:18:22 -05:00
Vaalyn
abf962308a Submit files as array instead of a pipe separated string. Fixes #1932 (#1942) 2019-09-07 06:41:11 -05:00
Buster "Silver Eagle" Neece
513d04f7d2
Code cleanup! 2019-09-04 13:00:51 -05:00
Buster Neece
1a1a18dfe7
Add integrated FTP upload support. 2019-08-25 17:50:20 -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 Neece
c768693671
#1865 -- Make reports page honor station time zone. 2019-08-20 21:36:19 -05:00
Buster Neece
4b7d3c8c6e
#1873 -- FIx playlist reorder saving. 2019-08-19 23:06:46 -05:00
Buster Neece
39ff33970d
#1875 -- Switch shuffling to be DB-backed and add comma-supported duplicate artist prevention. 2019-08-17 20:42:59 -05:00
Buster Neece
62d6c4610a
#1854 -- Consolidate mime-type into download to avoid a MIME check. 2019-08-15 22:53:38 -05:00
Buster Neece
9eaada08ca
Fixes #1837 -- Fix redirect to referrer from Playlist toggle page. 2019-08-11 00:40:47 -05:00
Buster Neece
6b37231f42
Add display and API tracking of listeners per-mount/relay; filter listeners globally. 2019-08-10 23:17:06 -05:00
Buster Neece
a38d24ba43
Switch to using AC Central for IP determination; add IP to streamers page. 2019-08-10 02:45:17 -05:00
Buster Neece
aa01e1df7e
Fixes #1828 -- Fix media search. 2019-08-09 10:23:47 -05:00
Buster Neece
2f8ab5544a
Switch back to Request/Response decorators. 2019-08-09 10:00:21 -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 Neece
5c0a1d1637
Vue component improvements
- Vuetify some profile components
- Prepopulate nowplaying on public players again so they don't depend exclusively on API endpoints
- Show live DJ on public players if one is live
2019-08-01 20:51:19 -05:00
Buster Neece
0382ef9870
Make API classes only need a base UriInterface, not the router. 2019-07-25 11:21:04 -05:00
Buster Neece
ca6b365a96
Add album art back to nowplaying display on profile. 2019-07-20 01:01:03 -05:00
Buster Neece
3a1faa3887
Add DB migration, entity and editable checks. 2019-07-14 23:47:39 -05:00
Buster Neece
fb62f67650
#1657 -- Return more exceptions with upload as JSON instead of HTML. 2019-06-12 19:27:55 -05:00
Buster Neece
2e5b829efc
Switch to sortablejs to remove a jQuery dep and fix NPM audit reports. 2019-06-02 19:23:17 -05:00
Buster Neece
abee34375c
Fix "division-by-zero" error for daily statistics. 2019-05-18 11:10:33 -05:00
Buster Neece
448e002dee
Switch to charts.js on Reports Overview, remove Highcharts/Highmaps. 2019-05-18 11:05:02 -05:00
Buster Neece
639934155a
#1545 -- Schedule view improvements. 2019-05-15 10:58:38 -05:00
Buster Neece
e3c677fe54
#1544 -- Properly handle station-local timezone on playlist homepage. 2019-05-15 09:05:32 -05:00
Buster Neece
fb57959765
Prevent once-per-day playlists from showing up as "all-day". 2019-05-14 13:35:40 -05:00
Buster Neece
12e00b5271
Update frontend deps, clean up Utility function calls, switch many things to Moment. 2019-05-14 09:23:06 -05:00
Buster Neece
48427d46a3
Make timezone Station-specific and remove now-unused offset code. 2019-05-13 16:25:36 -05:00
Buster Neece
196df4f17d
Minor stylistic improvements to the Profile panes. 2019-05-10 10:18:51 -05:00
Buster Neece
4774b5f29c
Design rework of the station profile page. 2019-05-10 00:44:47 -05:00
Vaalyn
3dcc087487 Visual improvements 1 (#1516) 2019-05-08 17:23:26 -05:00
Buster Neece
4eb5eda80b
#1510 -- Fix typecasting for empty playlists. 2019-05-06 22:53:50 -05:00
Buster Neece
14fb3aab11
Show total length of songs in playlists (in hh:mm:ss). 2019-05-06 11:53:30 -05:00
Buster Neece
b5ff124076
#1448 -- Fix issue where media preview couldn't be paused from button. 2019-04-29 21:05:17 -05:00
Vaalyn
e1929295fe Provide settings to the automation template for app name in text 2019-04-28 03:57:58 +02:00
Buster Neece
4e8670683f
Fix various controllers that still use "playlist_items". 2019-04-24 23:53:06 -05:00
Buster Neece
d94c637c66
Implement remaining basic Files API endpoints. 2019-04-24 19:16:12 -05:00
Vaalyn
95fdbd6c3c Reload affected playlists on deletion of media files 2019-04-19 21:54:47 +02:00
Vaalyn
fe165eaf6b Fix playlists export using wrong variables 2019-04-18 10:48:38 +02:00
Buster Neece
17ed8f4d7b
Fix argument order problem with new Playlist controller. 2019-04-14 03:28:35 -05:00
Buster Neece
7a841313d2
Force instance check for type safety. 2019-04-14 03:16:59 -05:00
Buster Neece
395eb5a38e
Switch the webhook form to an EntityForm type. 2019-04-14 02:11:59 -05:00
Buster Neece
f09af58594
Rename API base controllers; make stations use a base CRUD controller. 2019-04-13 22:19:24 -05:00
Buster Neece
4ec3aab48b
Switch to EntityForm for station mount point. 2019-04-13 18:13:47 -05:00
Buster Neece
8dc072d1c8
Simplify routing file and add Playlist API endpoints. 2019-04-12 22:27:58 -05:00
Buster Neece
e93892be80
Switch station restart flagging to a Doctrine event handler. 2019-04-11 23:46:27 -05:00
Buster Neece
03b91e309d
Remove repo function that was only used in one place. 2019-04-11 04:00:35 -05:00
Buster Neece
28f8eaf11f
Revamp EntityForms, unify how station-based entities are constructed. 2019-04-08 03:25:01 -05:00
Buster Neece
bbe1690843
General API cleanup and closes #1277 -- Add streamer/DJs API endpoint. 2019-04-07 03:40:55 -05:00
Buster Neece
ec7f64c89b
#1371 -- Fix Song Listener Impact report. 2019-03-30 17:49:04 -05:00
Buster Neece
f32c9f7230
Apply "needs restart" to toggling as well. 2019-03-30 12:53:46 -05:00
Buster Neece
0942f1e194
Mark station as needing restart after playlist deletion. 2019-03-30 12:02:52 -05:00
Buster Neece
2370a53e30
Fix playlists not triggering restarts. 2019-03-30 00:56:30 -05:00
Buster Neece
dc5c3582c6
Reload and notify LS of changes to affected playlists. 2019-03-26 20:43:55 -05:00
Buster Neece
61e7f0a48b
Unify Manual and AzuraCast AutoDJ modes 2019-03-26 13:33:11 -05:00
Buster Neece
748ade0089
Unify mount form config; make mounts/remotes selectable on public page. 2019-03-24 00:46:54 -05:00
Buster Neece
d60b2fc0fe
Refactor all Doctrine queries to support PHPStorm's DQL highlighting. 2019-03-23 16:43:22 -05:00
Buster Neece
40abdbcec4
Finish switching to constants for ACL and settings. 2019-03-22 21:41:38 -05:00
Buster Neece
7a7b0f2ac8 #1292 #1286 Switch "clear/add" playlist functionality to a single step. 2019-03-12 04:00:29 -05:00
Buster Neece
fdc7cb7087 #1269 -- Rewrite LS playlists upon any batch action change. 2019-03-10 06:00:48 -05:00
Buster Neece
0e7e6e6a68 #1274 -- Apply media case/spacing/etc changes to Song record. 2019-03-10 05:48:27 -05:00
Buster Neece
8e28a206b9 #741 -- Add quick toggle for playlists to main admin page. 2019-03-09 17:14:46 -06:00
Buster Neece
dad93bb83f Use checkboxes for single-option settings, align language and UX across forms. 2019-03-03 16:23:14 -06:00
Buster Neece
28d2725ea3 Minor refactor of station profile controller, now that it's simpler. 2019-03-01 18:33:33 -06:00
Buster "Silver Eagle" Neece
722dce7785 Build and implement common EntityForm wrapper class. 2019-02-17 00:58:48 -06:00
Buster "Silver Eagle" Neece
d571988daf #1140 -- Flush cache after run of successful uploads. 2019-02-12 23:14:25 -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
Buster "Silver Eagle" Neece
4b8c157b6c Code cleanup from static analysis. 2019-01-30 23:25:55 -06:00
Vaalyn
251fbfa26b Fix issues found with PHPStan (#1127)
* Fix access to an undefined property

* Fix usage of undefined variable

* Fix undefined class Throwable error

* Fix undefined class Throwable error

* Fix undefined class Throwable error

* Fix class not found error and remove unused class import

* Remove usage and instantiation of non-existent controller

* Remove implicit declaration of property that is not used
2019-01-30 13:30:47 -06:00
Buster "Silver Eagle" Neece
72c4d3ab44 #1115 -- Make DJ mount point configurable. 2019-01-29 18:25:41 -06:00
Buster "Silver Eagle" Neece
7cbf50489e More attempted fixes to the download issue. 2019-01-28 20:50:59 -06:00
Buster "Silver Eagle" Neece
5be47350aa Fix download/preview headers so they send proper responses. 2019-01-28 20:29:27 -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
d61dd12859 Consolidate station form handling and prevent erroneous local broadcast attempts. 2019-01-26 14:38:36 -06:00
Buster "Silver Eagle" Neece
73547b5c55 Significantly improve the service restart process; add live service status check on profile. 2019-01-16 08:53:04 -06:00
Buster "Silver Eagle" Neece
981a09483d Finish settings API endpoint; move form styling to static assets. 2019-01-09 12:57:23 -06:00
Buster "Silver Eagle" Neece
390838f5e7 #1073 -- Fix file uploads on music page. 2018-12-27 17:15:10 -06:00
Buster "Silver Eagle" Neece
1f9f311355 Refactor ClassAbstract to AbstractClass; add TempCleanup task. 2018-12-27 02:24:07 -06:00
Buster "Silver Eagle" Neece
128d57236e Make temp uploads go to the station temp dir (for later cleanup). 2018-12-27 02:23:45 -06:00
Vaalyn
6476a7a7ae Fix missing variable (#1040) 2018-12-12 11:27:03 -06:00
Buster "Silver Eagle" Neece
676927b024 Fix issues with queueing songs, add queue API endpoints and queue viewer page. 2018-12-12 03:01:03 -06:00
Buster "Silver Eagle" Neece
bac578e5e1 Fix issues related to Flysystem referencing. 2018-12-05 16:08:24 -06:00
Buster "Silver Eagle" Neece
90b851e563 Fix Flysystem issue with AutoDJ next song and fix playlist display. 2018-12-05 15:42:06 -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
Vaalyn
655dd1aea5 Update direct target (#1017) 2018-12-02 09:27:40 -06:00
Buster "Silver Eagle" Neece
0cc66cc89c Remove system logs from per-station log viewer; create new global log viewer page. 2018-11-27 10:03:14 -06:00
Buster "Silver Eagle" Neece
e666ce3a0a Fixes #996 -- Correct log paths on the log viewer 2018-11-27 06:46:55 -06:00
Buster "Silver Eagle" Neece
23ca364c86 Move some common utilities to AzuraCore. 2018-11-26 10:43:17 -06:00
Buster "Silver Eagle" Neece
1d95f7093a #966 -- Implement remote URL stream support in AzuraCast's AutoDJ, expand to support remote playlists as well 2018-11-20 06:06:16 -06:00
Buster "Silver Eagle" Neece
750b393eb3 Broaden return type hint on all controllers for IDE compliance. 2018-11-17 09:30:28 -06:00
Vaalyn
96db025a2d Implement audio file moving (#958)
This PR implements a basic file moving function for the audio files. Currently this feature can only move files and not directories but it should be possible to extend this in the future to add the moving of whole directories.

Should close the following issues: #740, #315 and maybe #575 (I don't really understand what "maps" means in that issue so I assume it means directories)
2018-11-17 08:46:44 -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
8cd2f7121a #919 -- Significant batch handling performance improvements. 2018-11-02 13:44:01 -05:00
Buster "Silver Eagle" Neece
a9ada4bdb8 Expand log viewer, always log to AzuraCast log and rotate it, fix Monolog view 2018-10-30 05:13:01 -05:00
Vaalyn
c4add45fc4 Restrict files count to files of current station (#904) 2018-10-27 17:54:47 -05:00
Vaalyn
26175a104c Show total number of files in library - implements #689 (#903)
This PR implements the feature requested in issue #689
2018-10-27 13:49:19 -05:00
Buster "Silver Eagle" Neece
19106088ee Fixes to handle XML configs and spacing on some files. 2018-10-26 19:11:25 -05:00
Buster "Silver Eagle" Neece
473a6cfc1c Implement log viewer with auto-tailing and help references. 2018-10-26 18:54:13 -05:00
Buster "Silver Eagle" Neece
96930770f4 #872 -- Also clear the cache for good measure. 2018-10-19 22:58:00 -05:00
Buster "Silver Eagle" Neece
48fedbff5b #872 -- Reshuffle shuffled playlists after saving changes. 2018-10-19 22:52:32 -05:00
Buster "Silver Eagle" Neece
8c82926c53 #868 -- Fix another routing update issue. 2018-10-17 20:56:56 -05:00
Buster "Silver Eagle" Neece
9dbdb1468f #868 -- Fix rename URL on folders. 2018-10-17 20:17:49 -05:00
Buster "Silver Eagle" Neece
961a64d16d Fix playlist schedule view and make it pretty 2018-10-14 15:06:31 -05:00
Buster "Silver Eagle" Neece
6cb5be2e35 Remove AutoDJ dep from Playlist manager page. 2018-10-13 21:59:01 -05:00
Buster "Silver Eagle" Neece
fdc58a7aa1 Add DI awareness to repositories, enhance playlist queueing to avoid duplicates. 2018-10-13 21:51:25 -05:00
Buster "Silver Eagle" Neece
8894bdb045 Fix an error being thrown with zero returned items and "All" selected on BootGrid. 2018-10-08 09:01:35 -05:00
Buster "Silver Eagle" Neece
380e70d938 Put profile back on the station sidebar (while still leaving it the new default page). 2018-10-08 00:41:06 -05:00
Buster "Silver Eagle" Neece
9eb00ce64a #842 -- If looking at a playlist's contents, new uploaded files go into that playlist. 2018-10-07 10:39:00 -05:00
Buster "Silver Eagle" Neece
4360ffe6fc Switch all in-system URLs to use a PSR-7 compliant URI for at-endpoint modification
This fixes one significant issue in the AzuraCast system where NowPlaying responses don't respect the "always use HTTPS" or "prefer browser URL" settings.
2018-10-04 18:12:12 -05:00
Buster "Silver Eagle" Neece
0c464588fa Make the profile page the per-station "home" page, moving previous index to "Statistics Overview" under "Reports". 2018-09-29 08:35:40 -05:00
Buster "Silver Eagle" Neece
d472954a8b Fix error with batch actions. 2018-09-27 13:31:32 -05:00
Buster "Silver Eagle" Neece
ace90f074c Radio adapter overhaul
- Make all radio adapters station-idempotent (no longer having the Station hard-coded in, allowing for reuse and removing several possible error cases)
 - Make the Liquidsoap annotation and configuration building step event-driven for easy plugin overriding
 - Make the "get next song" process event-driven
2018-09-22 06:52:43 -05:00
Buster "Silver Eagle" Neece
720a599cc6 Make report controllers standalone, add back SoundExchange report. 2018-09-14 00:45:49 -05:00
Buster "Silver Eagle" Neece
f86383f1c3 Properly handle spaces in imported M3U files. 2018-09-11 00:09:01 -05:00
Buster "Silver Eagle" Neece
b25a1d28cf Add relay URLs to profile, add "copy to clipboard", add relay password (#784) 2018-09-10 03:09:40 -05:00
Buster "Silver Eagle" Neece
9ee5f7af48
Split relays into a standalone feature (#782)
* Separate mount points and remote relays to allow local AND remote broadcasting from one station.

* Allow a different port/mount for the outbound AutoDJ from the statistics connection.
2018-09-09 13:23:03 -05:00
Buster "Silver Eagle" Neece
bce2af2f09 Check that ports are not in use before creating/editing stations. 2018-09-06 01:33:16 -05:00
Buster "Silver Eagle" Neece
8b51340034 #757 -- Invalidate a playlist's queue when media or the playlist is changed. 2018-08-30 03:20:41 -05:00
Buster "Silver Eagle" Neece
da36da4982 Put all the providers in a Provider namespace. You know, like Laravel! 2018-08-27 02:14:05 -05:00
Buster "Silver Eagle" Neece
9a2d5108e8 Implement Station History API, convert history report to use it. 2018-08-25 05:56:43 -05:00
Buster "Silver Eagle" Neece
b71b94ee08 split $router->fromHere and fromHereWithQuery, apply fromHere to stations 2018-08-21 18:42:49 -05:00
Buster "Silver Eagle" Neece
ce2ec42d2b Fix issue preventing deletion of playlists. 2018-08-20 20:35:00 -05:00
Buster "Silver Eagle" Neece
83d2990ad3 Restructure Url -> Http/Router, implement better pagination for requests 2018-08-20 19:48:03 -05:00
Buster "Silver Eagle" Neece
a0f9ce103c Fix issue when adding new web hook. 2018-08-12 01:39:43 -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
1c31b06f22 #691 -- Implement Telegram Bot API Webhook 2018-08-10 04:10:23 -05:00
Buster "Silver Eagle" Neece
45ce11f3b3 Rebuild asset manager to auto-detect CSP domains, allow deferral, etc.
...and remove Google Maps dependency for the listener mapping feature.
2018-08-08 01:32: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
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
17aadf0337 Clean up routes, split DI services into a standalone file, fix various minor errors. 2017-04-05 20:09:27 -05:00
Buster Silver
4467b16e50 Second run of PSR-1/2 formatting and include updated AzuraCore code. 2017-01-23 18:35:16 -06:00
Buster Silver
5164d5184b Revert "Optimize imports and enforce PSR-1 and PSR-2 formatting standards."
This reverts commit 7cdba9a90b.
2017-01-23 18:17:50 -06:00
Buster Silver
7cdba9a90b Optimize imports and enforce PSR-1 and PSR-2 formatting standards. 2017-01-22 14:58:40 -06: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