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