Commit graph

422 commits

Author SHA1 Message Date
Peter Deltchev
95090fb334 Include the original-size cover art when tagging tracks.
Also, use Symfony to run external commands.
2016-01-06 05:52:09 -08:00
Peter Deltchev
0a078adab3 #20: Genre tags in files are now updated when a genre is renamed. 2016-01-06 05:33:23 -08:00
Peter Deltchev
bf831d839a #20: Added the genre creation tool. 2016-01-06 04:50:44 -08:00
Peter Deltchev
96be3224e4 Deleting stuff actually can be undone. 2016-01-05 07:53:01 -08:00
Peter Deltchev
eaa1cc39a9 Make it possible to rebuild deleted tracks, too. 2016-01-04 15:24:25 -08:00
Peter Deltchev
4394d0131b Only log ffmpeg output if encoding fails. 2016-01-04 15:22:15 -08:00
Peter Deltchev
0eb96f0e83 Fixed track encodes. They work again! Also implemented a track re-encoding command. 2016-01-04 14:55:20 -08:00
Peter Deltchev
a2b450baa6 The array has strings in it, not datetime objects. 2016-01-04 09:12:21 -08:00
Peter Deltchev
df5a911168 Fixed an explosion of queued encoding jobs. 2016-01-04 08:42:30 -08:00
Peter Deltchev
cf85ee69d7 Octal values... 2016-01-03 11:10:48 -08:00
Peter Deltchev
933f3f60c5 Fixed full-size JPEG covers not being accessible by nginx. 2016-01-03 10:50:16 -08:00
Adam Lavin
3399f3e223 Added support for authorising oauth2 endpoints with the bearer header 2016-01-01 21:11:28 +00:00
Adam Lavin
6b026e8551 Remove reliance on facades/helpers, and added in a typehint, in AuthenticateOAuth middleware. 2016-01-01 20:58:52 +00:00
Adam Lavin
991f8df661 Security: Fix auth.outh2 generating a user session
If you are logged out of Pony.fm, made a request to an endpoint using this middleware in the browser with an access token with the appropriate scope, then went back to Pony.fm, you'd be logged in as the owner of the access token.
2016-01-01 20:55:00 +00:00
Peter Deltchev
e85b79a9e4 Fixed error on artist pages and an issue with profile URL generation. 2015-12-31 21:12:16 -08:00
Peter Deltchev
d0c81f78dc Use the absolute path to the document root when generating asset URL's. 2015-12-31 18:52:56 -08:00
Peter Deltchev
8ac590819f Fixed incorrect class references. 2015-12-31 18:27:21 -08:00
Peter Deltchev
f61771db09 Made avatars local-environment-friendly. 2015-12-31 17:23:41 -08:00
Peter Deltchev
3b7d060b73 Removed libraries that aren't used anymore. 2015-12-31 17:18:01 -08:00
Peter Deltchev
cb27cddac7 Typehinted the database models. 2015-12-31 16:36:08 -08:00
Peter Deltchev
5ff04ff08d Moved all database models into their own namespace. 2015-12-31 16:24:33 -08:00
Peter Deltchev
79a0129e6d Reversed the order that the top X tracks show up in. 2015-12-31 04:20:04 -08:00
Peter Deltchev
3b1fa792cf #29: This works because the only disabled accounts right now are merged ones. 2015-12-29 13:32:14 -08:00
Peter Deltchev
a9bc69ec02 #29: Exclude null usernames from the account merging script. 2015-12-29 09:15:32 -08:00
Peter Deltchev
622dc2d577 #29: Implemented the auth:merge-duplicates CLI script to reconcile duplicate accounts. 2015-12-29 08:54:08 -08:00
Zeusking19
dfefb2ad81 Implement server-side track removal from playlist 2015-12-28 14:31:28 +00:00
Zeusking19
286fd9354b Merge pull request #47 from Poniverse/feature/markdown
Implement markdown, remove disfunctional newlines.coffee
2015-12-27 18:29:49 +00:00
Peter Deltchev
8f7e4366f3 #40: Handle the release date tag better. 2015-12-27 09:11:07 -08:00
Zeusking19
605c8b7f99 Resolve #43 - Implement markdown, remove disfunctional newlines.coffee 2015-12-27 15:59:38 +00:00
Peter Deltchev
5989b36aa8 Resolves #40: Tags included with a file upload are now used and stored.
Also made our ffmpeg commands more robust - they now ignore cover art and strip metadata.
2015-12-27 07:31:54 -08:00
Peter Deltchev
454411b24b Added the ability to the API to include cover art with a track upload. 2015-12-27 02:36:49 -08:00
Peter Deltchev
93b76d1954 Added support for JPEG cover art. 2015-12-27 01:43:43 -08:00
Zeusking19
17810942b4 Emergency fix - Can't call format on null object 2015-12-26 22:11:17 +00:00
Zeusking19
8282e5752d Quickfix to some date issues 2015-12-26 21:01:46 +00:00
Buster Silver
a760527e49 Closes #42 -- Check for specific "null" string when doing string replacement. 2015-12-26 10:29:36 -06:00
Adam Lavin
f30f17e80a Merge pull request #41 from Poniverse/feature/fixed-dates
Get dates to display properly in Pony.fm
2015-12-26 15:31:47 +00:00
Zeusking19
78deb73e04 Resolve #26 - Get dates to display properly in Pony.fm 2015-12-26 15:20:31 +00:00
Peter Deltchev
ac6ce4bbb4 #8: Implemented auto-publishing and lots of optional fields for the upload endpoint. 2015-12-26 03:40:47 -08:00
Adam Lavin
378584261d Fixed playlist download url generation 2015-12-26 03:00:43 +00:00
Adam Lavin
590a691bc5 Corrected reference to TrackFileNotFoundException in Album and Playlist classes 2015-12-26 02:30:16 +00:00
Adam Lavin
ba29702be9 Corrected reference to TrackFileNotFoundException in Track class 2015-12-26 02:18:04 +00:00
Peter Deltchev
de88fe6fff #8: Updated the name of the track upload scope. 2015-12-25 01:25:22 -08:00
Peter Deltchev
7bd336ef55 #8: Implemented several tests for the API. 2015-12-24 18:08:49 -08:00
Peter Deltchev
4d119ff758 #8: Implemented the track upload API. 2015-12-24 04:14:55 -08:00
Peter Deltchev
e6c31a1500 Updated URL generation to use Laravel 5's helpers. 2015-12-20 07:07:36 -08:00
Peter Deltchev
91a4a2d660 Patched getID3() for PHP 7. 2015-12-20 03:33:22 -08:00
Peter Deltchev
476e6b4800 Updated getID3() to the latest version. 2015-12-20 03:20:04 -08:00
Peter Deltchev
c99ec8fc54 #39: Fixed a typing issue with database results. 2015-12-18 05:57:30 -08:00
Peter Deltchev
851dfff921 #39: Implemented asynchronous encoding in uploads. 2015-12-18 05:11:29 -08:00
Peter Deltchev
f01fcae3af Merge pull request #35 from Zeusking19/master
Closes #28 - Lightbox for cover art
2015-12-13 12:41:23 -08:00
Zeusking19
2de2b87653 Make changes in regards to #28 2015-12-13 13:42:37 +00:00
Peter Deltchev
3af70f8f90 #20: Allow the reuse of deleted genre names and slugs. 2015-12-11 06:07:47 -08:00
Peter Deltchev
e3fc8ee6d6 Added the new advertising program page, updated the FAQ, and revamped all the static pages. 2015-12-06 00:22:00 -08:00
Peter Deltchev
07bb5e2c3a #20: Implemented the genre merging tool. 2015-12-05 18:43:05 -08:00
Adam Lavin
3ba8467870 Return error message in profile exception handler response 2015-11-30 01:00:20 +00:00
Adam Lavin
3c0e922b28 Fixed mobile api endpoints 2015-11-30 00:59:59 +00:00
Peter Deltchev
77730e9fd9 #20: Fixed an n+1 query. 2015-11-24 10:00:59 -08:00
Peter Deltchev
be23475ae5 Include a link to the genre's content in the genre editor. 2015-11-24 03:37:33 -08:00
Peter Deltchev
2bd6a0b258 #2, #20: Added revision tracking to genres, tracks, albums, users, and playlists.
Also ordered genres alphabetically in the genre editor.
2015-11-24 03:15:50 -08:00
Peter Deltchev
4c660fcb71 #20: Implemented the genre renaming tool. 2015-11-24 02:49:47 -08:00
Peter Deltchev
395a894bdd Removed obsolete CSRF validation middleware. CSRF tokens are validated on all requests. 2015-11-23 21:47:26 -08:00
Peter Deltchev
35cd4d65e4 Updated all endpoints that are supposed to use middleware to actually use it. 2015-11-23 21:39:03 -08:00
Peter Deltchev
c4e31a6431 #2, #20: Laid the groundwork for an admin area. Includes the addition of Laravel's authorization system. 2015-11-23 21:19:23 -08:00
Peter Deltchev
b2c5a2233e Fixes issue #30: Weirdness in the embedded player's timestamp. 2015-11-21 18:34:06 -08:00
Peter Deltchev
88b034ea6c Use a sensible filename for image downloads. 2015-11-21 18:16:44 -08:00
Peter Deltchev
8d7f36c375 Fixes #29: Usernames are now used to check if a Pony.fm account already exists. The username column was also renamed. 2015-11-20 18:25:11 -08:00
Peter Deltchev
8bfddc7037 Fixes #10: Use the X-XSRF-TOKEN header globally for AJAX CSRF protection. 2015-11-11 13:45:44 -08:00
Peter Deltchev
87f796f50b #4: Don't try re-encoding master files when rebuilding the track cache. 2015-11-10 00:09:39 -08:00
Peter Deltchev
4214dde7b0 #4: The file size updating method no longer overwrites file size estimates for un-cached files with null. 2015-11-09 22:44:41 -08:00
Peter Deltchev
2d93ed0ef4 #4: Fixed an error in the cache polling callback. 2015-11-09 22:44:38 -08:00
Peter Deltchev
c28c887e29 #4: Refactored a bunch of common logic between albums and playlists into a trait. 2015-11-09 22:44:36 -08:00
Peter Deltchev
3456e6b499 #4: Fixed playlists that have a mix of lossy and lossless master files, added a bunch of typehinting, and fixed the reversal of a migration. 2015-11-09 22:44:32 -08:00
Kelvin Zhang
214880ec2c #4: Remove re-thrown ModelNotFoundException 2015-11-09 22:44:30 -08:00
Kelvin Zhang
6c5155f583 #4: Implement cached playlist downloads 2015-11-08 17:46:35 +00:00
Kelvin Zhang
80ad614b5f Merge branch 'master' into feature/cache_tracks 2015-11-08 17:40:24 +00:00
Kelvin Zhang
f69240064a #18: Make playlist accessible conditional one line 2015-11-08 13:45:59 +00:00
Kelvin Zhang
8df11e9616 Merge remote-tracking branch 'origin/master' 2015-11-07 17:55:35 +00:00
Kelvin Zhang
dc117351ce Fixes #18: Fix downloading of private playlists for playlist owners 2015-11-07 17:54:58 +00:00
Kelvin Zhang
41bcdcaf91 #4: Cast track output formats to correct types 2015-11-07 17:01:53 +00:00
Peter Deltchev
7dfb80f13b Fixes #5: Implemented a rebuild:artists command to recount all users' tracks. 2015-11-06 03:26:23 -08:00
Peter Deltchev
5583c59ec3 Merge branch 'master' into feature/cache_tracks 2015-11-05 17:15:28 -08:00
Peter Deltchev
a62fca7212 Added missing copyright notices. 2015-11-05 17:10:33 -08:00
Peter Deltchev
72132d9505 Added a "secret" unclassified track type for MLPMA tracks. 2015-11-04 18:47:11 -08:00
Peter Deltchev
9cff18f5fc #4: Removed a line of dead code and fixed the rebuild process for deleted tracks. 2015-11-02 20:48:15 -08:00
Peter Deltchev
c7bca18b5e Added AAC to the list of cacheable formats and wrote some inline documentation. 2015-11-02 20:28:39 -08:00
Kelvin Zhang
b2408e3d84 Add in changes from code review 2015-11-01 16:49:28 +00:00
Kelvin Zhang
eca01b5f29 Change rebuild commands to rebuild:command 2015-10-31 12:19:12 +00:00
Kelvin Zhang
98e069e6a2 Update copyright notices for created files 2015-10-30 15:29:18 +00:00
Kelvin Zhang
df930d629b Add missing copyright notices 2015-10-29 16:48:45 +00:00
Kelvin Zhang
f5987db735 Add file size addition during uploading 2015-10-29 16:26:01 +00:00
Kelvin Zhang
7fd13632eb Add file size caching for track encoding 2015-10-29 16:10:55 +00:00
Kelvin Zhang
4f9046af6e Update file size caching for tracks 2015-10-29 16:10:38 +00:00
Kelvin Zhang
5a81908ed4 Add file size rebuilding command 2015-10-29 16:00:16 +00:00
Kelvin Zhang
88b57a631a Update models with isCached 2015-10-29 14:36:13 +00:00
Kelvin Zhang
65159f31a3 Fix returning of cached tracks 2015-10-29 14:11:06 +00:00
Kelvin Zhang
629b9913ce Add cache handling for controllers 2015-10-28 17:55:21 +00:00
Kelvin Zhang
a03c44aadb Add cache routes 2015-10-28 17:32:44 +00:00
Peter Deltchev
88a787cde8 Closes #6: Implemented a "source" attribute for tracks. 2015-10-28 00:05:37 -07:00
Kelvin Zhang
f205cf6d93 Implement EncodeTrackFile job 2015-10-27 17:35:38 +00:00
Kelvin Zhang
43c45adece Fix options and imports for commands 2015-10-27 17:29:51 +00:00
Kelvin Zhang
683aa568e9 Revert to catch Exception in UploadTrackCommand 2015-10-27 17:21:14 +00:00
Kelvin Zhang
c651c44d34 Add EncodeTrackFile job 2015-10-27 17:20:43 +00:00
Kelvin Zhang
0970734648 Update UploadTrackCommand with selective uploading using Process 2015-10-27 16:21:03 +00:00
Kelvin Zhang
fdb95560e7 Add --force option to RebuildTrackCache 2015-10-26 19:50:58 +00:00
Kelvin Zhang
9470faaaa2 Add $CacheableFormats to Track.php 2015-10-26 19:48:55 +00:00
Kelvin Zhang
a9f80fde6e Add console commands 2015-10-26 19:47:42 +00:00
Peter Deltchev
ed0a5fb8ac Licensed Pony.fm under the GNU Affero General Public License (AGPL). 2015-10-24 22:17:45 -07:00
Peter Deltchev
b00982cd61 Converted a bunch of tabs to spaces. 2015-10-24 19:35:37 -07:00
Peter Deltchev
a4c24a7d64 Updated Pony.fm's PHP namespace to Poniverse\Ponyfm. 2015-10-23 18:22:14 -07:00
Peter Deltchev
f7d128dbc5 T388: Albums, playlists, and artists are now sorted alphabetically; tracks have an alphabetical sort option; and a few new indices were added. 2015-09-28 21:10:35 -07:00
Peter Deltchev
ebf6448036 Added Poniverse API setup command. Closes T378. 2015-09-24 10:43:12 -07:00
Peter Deltchev
ae39784708 Updated the rebuild:tags command with a progress bar. 2015-09-24 09:59:45 -07:00
Peter Deltchev
7d76e2d74d Fixed a broken migration and cleaned up some leftover files from Laravel 4.. 2015-09-24 09:55:34 -07:00
Peter Deltchev
33725cf0dd Removed obsolete Laravel 4 config files. 2015-09-20 02:43:15 -07:00
Peter Deltchev
451cd699cb Fixed zeroed timestamps being recorded for statistics and added a script to fill in the missing data. 2015-09-20 02:38:17 -07:00
Peter Deltchev
97681212a4 Updated the SPA profiler as Laravel 5 middleware. 2015-09-20 01:47:24 -07:00
Peter Deltchev
7d047a41e4 Fixes T373: Moment.js now assumes whatever it's given is UTC. 2015-09-20 00:27:52 -07:00
Peter Deltchev
1aa0b5f9d7 Closes T360: Replace the dev blog feed with the Twitter feed. 2015-09-16 12:55:15 -07:00
Peter Deltchev
efa16a2baa T350: Fixed the broken show song filter. 2015-09-13 00:43:03 -07:00
Peter Deltchev
ba25beb09b T350: Fixed server-rendered profiles. 2015-09-12 22:26:46 -07:00
Peter Deltchev
5f865dca6b T357: Don't be picky about master files' sample rates anymore. 2015-09-12 22:21:17 -07:00
Peter Deltchev
583b03f132 T350: Removed some leftover files and corrected the MLPMA importer's reference to getID3. 2015-09-12 21:47:32 -07:00
Peter Deltchev
5188e4947c Fixes T372 for all content types. Also fixes album and playlist downloads following T350. 2015-09-12 21:33:56 -07:00
Peter Deltchev
01ebdf5ac0 Fixes T372: Comment counters are now updated when new comments are made. 2015-09-12 21:16:03 -07:00
Peter Deltchev
205e034174 T357, T350: Restore updates from rPFf088badebbbb. 2015-09-12 20:45:56 -07:00
Peter Deltchev
d9c66e9163 T350: Moved getid3 to its proper location. 2015-09-12 17:40:28 -07:00
Peter Deltchev
e057bde7f5 T350: Fixed the "library" directory's capitalization. 2015-09-12 17:34:32 -07:00
Peter Deltchev
86a3248a7c T350: Resolved merge conflicts. 2015-09-12 16:40:45 -07:00
Peter Deltchev
d3a79b2a74 Merge branch 'feature/laravel_5.1' of ssh://phabricator.poniverse.net/diffusion/PF/pony-fm into feature/laravel_5.1 2015-09-12 14:58:30 -07:00
Peter Deltchev
e2225e3378 T350: Updated configuration files for Laravel 5. 2015-09-12 14:56:09 -07:00
Peter Deltchev
7147d06ee7 T350: Upgraded getID3. 2015-09-12 14:43:01 -07:00
Adam Lavin
f088badebb Handle wav files and ignore any wmv files 2015-09-12 22:10:36 +01:00
Kelvin Zhang
7c2863b942 Merge rPF9b9f25dc512d: T357: Gracefully handle missing tags in M4A and OGG files. 2015-09-12 16:01:53 +01:00
Kelvin Zhang
5e4875b9ad Merge rPF5f69cdda5b2c: T357: Put the string cast in the right place. 2015-09-12 16:00:40 +01:00
Kelvin Zhang
616b6e9ccf Merge rPFf4f97acd9fc0: T357: Validate the length of a year correctly. 2015-09-12 15:59:19 +01:00
Kelvin Zhang
9468ced8c4 Merge rPF207569e5978d: T357: Ignore WMA files and added support for FLAC imports. 2015-09-12 15:53:22 +01:00
Kelvin Zhang
2ac9fd6967 Merge rPFd78c240a428a: T357: Gracefully handle obviously invalid year tags. 2015-09-12 15:51:21 +01:00
Kelvin Zhang
1952f01601 Merge rPF8a4b08738d8a: T357: The MLPMA importer now ignores RTF files. 2015-09-12 15:47:48 +01:00
Peter Deltchev
9b9f25dc51 T357: Gracefully handle missing tags in M4A and OGG files. 2015-09-12 02:11:52 -07:00
Peter Deltchev
5f69cdda5b T357: Put the string cast in the right place. 2015-09-11 14:10:45 -07:00
Peter Deltchev
f4f97acd9f T357: Validate the length of a year correctly. 2015-09-11 13:41:39 -07:00
Peter Deltchev
207569e597 T357: Ignore WMA files and added support for FLAC imports. 2015-09-11 10:47:40 -07:00
Peter Deltchev
d78c240a42 T357: Gracefully handle obviously invalid year tags. 2015-09-10 23:01:48 -07:00
Peter Deltchev
8a4b08738d T357: The MLPMA importer now ignores RTF files. 2015-09-10 11:34:48 -07:00
Kelvin Zhang
11d5724658 rPF838e7429f06a: T357: Removed an extraneous var_dump. 2015-09-10 13:05:42 +01:00
Kelvin Zhang
d77d895014 Merge rPF9b10161ca44c: T357: Made the importer's file type check case-insensitive. 2015-09-10 13:01:01 +01:00
Kelvin Zhang
5bc6dd78b0 Merge rPFa0fb15a86ae6: T357: Removed more characters from the fulltext query. 2015-09-10 12:59:33 +01:00
Kelvin Zhang
16db65d8bd Merge rPF6d1de13fd334: T357: The MLPMA importer now ignores .txt files. 2015-09-10 12:57:51 +01:00
Kelvin Zhang
416ce7ac6a Merge rPF9c520e71a551: T357: Handle malformed genres gracefully. 2015-09-10 12:56:33 +01:00
Kelvin Zhang
a8d7bd1935 Merge rPFc0e619aacd75: T357: Added an ID3v1 fallback and added more information to the… 2015-09-10 12:55:46 +01:00