Commit graph

570 commits

Author SHA1 Message Date
Josef Citrine
23acd16b64 Typo 2017-05-15 19:47:19 +01:00
Josef Citrine
15bbad77dc Added null checks 2017-05-15 19:46:18 +01:00
Josef Citrine
cbcd5b1c91 Fixed title parsing and removed old id3 code 2017-05-15 19:37:36 +01:00
Josef Citrine
d43dd9ba40 Updated getID3 2017-05-15 19:37:10 +01:00
Josef Citrine
9616538d9c Switched to a file whitelist 2017-05-15 18:17:09 +01:00
Josef Citrine
c510dd7dfc Added ID3v2 support and some stuff from the MLPMA script 2017-05-15 17:59:51 +01:00
Josef Citrine
373703990c Added ponify directory in config 2017-05-15 12:18:04 +01:00
Josef Citrine
ede7780874 #100: Don't know why this was missing 2017-03-27 19:44:20 +01:00
Josef Citrine
1e153a614c #100: Progress commit 2 2017-02-28 22:49:46 +00:00
Josef Citrine
8841bd2dc7 #100: Progress commit 2017-02-21 17:16:29 +00:00
Josef Citrine
3526403661 #100: Duplication detection 2017-02-02 01:35:53 +00:00
Josef Citrine
d7a59b4131 #100: Start of Ponify import 2017-02-02 00:08:29 +00:00
Josef Citrine
3217062f92 Catching weird Carbon errors 2017-01-25 22:38:54 +00:00
Josef Citrine
7d9eaf9405 Improved tag parsing 2017-01-25 21:31:55 +00:00
Josef Citrine
780217183e Using CORS middleware for API requests from supported origins 2017-01-03 17:44:40 +00:00
Josef Citrine
f7bc4f0565 Enabled CORS locally 2017-01-02 19:56:17 +00:00
Josef Citrine
b163d70e9c Added API to get logged in user 2017-01-02 03:33:21 +00:00
Peter Deltchev
8c7fe0ea33 #25: Enable certain email notifications by default for new users.
Also fixes a bug with storing OAuth tokens for new users!
2016-12-30 13:23:52 -08:00
Peter Deltchev
7ebab328d4 #25: Enabled email notifications for all users.
This also includes some fixes to the account merging script.
2016-12-30 12:19:10 -08:00
Peter Deltchev
f85e8fc43a #25: Improved email branding and CASL compliance. 2016-12-30 10:27:49 -08:00
Peter Deltchev
1e670b673f #25: Implemented a command to ensure all users have valid refresh tokens and email addresses. 2016-12-30 08:13:10 -08:00
Peter Deltchev
f10da0019f #25: Patched up date parsing in the OAuth integration. 2016-12-30 02:59:34 -08:00
Peter Deltchev
d2193954a8 Log attempts to sign into disabled accounts. 2016-12-29 20:28:52 -08:00
Peter Deltchev
7d18c8745f #25: Patched up access token management. 2016-12-29 11:30:55 -08:00
Peter Deltchev
0677d93e89 #25: Implemented support for Poniverse email address updates. 2016-12-29 08:46:31 -08:00
Peter Deltchev
ab9dd7a1eb #25: Rewrote authentication to use the Poniverse API PHP library. 2016-12-29 08:07:29 -08:00
Peter Deltchev
b7088ccfb7 #25: Built out email unsubscription UI and further tweaked the email template. 2016-12-28 07:07:28 -08:00
Peter Deltchev
b6b3f036cc #25: Corrected "new follower" notifications to point to the follower's profile. 2016-12-28 07:05:24 -08:00
Peter Deltchev
c627e5f216 #25: New Follower notifications now show the follower's avatar. 2016-12-26 19:45:31 -08:00
Peter Deltchev
2dedaf6638 #25: Upgraded email templates to use Foundation for Emails.
They're now 200% prettier. <3
2016-12-26 18:35:18 -08:00
Peter Deltchev
79e77a2da0 #25: Limited notification management to admins. 2016-12-24 18:39:05 -08:00
Peter Deltchev
b401a0ae7e #25: Implemented UI for managing email subscriptions. 2016-12-24 18:11:42 -08:00
Peter Deltchev
62188eb5e6 Removed an unused package (#108) and made a minor notifications fix for #25. 2016-12-23 07:36:31 -08:00
Peter Deltchev
7e4faa0454 #25: Profile comment notifications hotfix. 2016-12-23 07:31:06 -08:00
Peter Deltchev
ff5d8220ef #25: Implemented all basic notification types.
- blocks off the unfinished URL endpoints for email notifications
2016-12-23 06:44:16 -08:00
Peter Deltchev
78b22cdfd0 #25: Added email templates for all currently implemented notification types. 2016-12-23 06:33:45 -08:00
Peter Deltchev
5822408655 #25: New tracks have working email notifications now! 2016-12-23 06:33:33 -08:00
Josef Citrine
510d0e80ac Simplified playlist 404 if statement 2016-12-21 03:05:58 +00:00
Josef Citrine
25e023ccb7 Let admins download all items in playlists 2016-12-21 02:56:19 +00:00
Josef Citrine
9ba9eab424 Adding tracks to albums from the track editor works now 2016-12-19 23:49:22 +00:00
Josef Citrine
e23e1a3dab Updated HWC deadline 2016-12-17 21:16:16 +00:00
Josef Citrine
19d6dd7890 #108: Switching to Laravel's new encryption 2016-12-10 19:58:48 +00:00
Josef Citrine
bab783467c Updated docs with ide-helper 2016-12-10 16:47:49 +00:00
Josef Citrine
3aacb5f87c ID detection should work better now 2016-11-30 22:08:40 +00:00
Josef Citrine
2dd6c663ff Oembed stuffs 2016-11-30 21:42:45 +00:00
Josef Citrine
78501007ce Uploader for track versions, admin only for now 2016-11-28 00:19:16 +00:00
Josef Citrine
41cbdb2e97 Fixed HWC checkbox detection 2016-11-21 17:08:34 +00:00
Josef Citrine
337caa23a8 Admins can see all playlists 2016-11-21 11:41:16 +00:00
Josef Citrine
0e6afe372b Another attempted bug fix 2016-11-21 01:33:30 +00:00
Josef Citrine
f85b1ecdeb Attempt to fix playlist adding bug 2016-11-21 01:08:45 +00:00
Josef Citrine
926e410721 Hearth's Warming Contest stuff 2016-11-21 00:42:43 +00:00
Josef Citrine
d9dc582c08 Start of announcements admin panel 2016-11-12 21:57:29 +00:00
Josef Citrine
b356cfaea1 Server should now check local avatar file instead of URL 2016-11-12 21:38:03 +00:00
Josef Citrine
1c40d3cfa5 Fixed server crashing if avatar can't be found 2016-11-12 21:13:29 +00:00
Josef Citrine
ec8b64f494 Added announcement system 2016-11-11 19:39:31 +00:00
Josef Citrine
fa7e04aee9 Fixed admin area, this took far too long to fix 2016-11-11 00:03:28 +00:00
Josef Citrine
abc521bb2f #109: Open Graph and Twitter cards for tracks 2016-10-30 19:02:14 +00:00
Josef Citrine
3fa85e9fe7 Popular function respects track limit 2016-10-06 22:46:31 +01:00
Josef Citrine
568969f7e5 Popular tracks are now sorted by 'weight' 2016-10-06 22:11:19 +01:00
Josef Citrine
e5c9ff3e71 Added dialog for track load errors 2016-10-01 18:20:49 +01:00
Josef Citrine
141282e8c7 God damn it Lavo 2016-10-01 17:59:30 +01:00
Adam Lavin
14211f4ea4 Initial Alexa integration 2016-09-30 22:21:17 +01:00
Adam Lavin
d0a6022ed8 Added basic hardcoded alexa endpoints 2016-09-30 02:36:44 +01:00
Josef Citrine
7a0cf5a921 Fixed notification thing about followers being related to themselves 2016-09-30 01:10:45 +01:00
Laravel Shift
c420d3955b Laravel 5.3 Update (#107)
* Shift core files

* Shift app folder structure

Laravel 5.3 no longer includes the `Events`, `Jobs`, `Listeners`, and
`Policies` folders by default. Instead, they are created when you make
them using `artisan`.

* Shift Middleware

* Shift Providers

* Shift configuration

* Shift Routes

Laravel 5.3 now stores Routes in a top-level `routes` folder and
separates them into API, console, and web files.

* Shift deprecations

The `Str::randomBytes` and `Str::equals` methods were deprecated in
Laravel 5.2 and removed in Laravel 5.3 in favor of the native
`random_bytes` and `hash_equals` PHP functions.

In addition, the Collection method `lists()` was replaced with
`pluck()`.

* Shift Laravel dependencies

* Shift cleanup

* Updated composer.json

* Updated providers to 5.3 style

* Removed events folder and extend correct exceptions handler

* Updated configuration

* Shift back our method names from ending in "pluck" to "list"

* Temporarily add back in old mcrypt encrypter
2016-09-30 00:56:25 +01:00
Laravel Shift
00f24a5c12 Laravel 5.2 Update (#106)
* Adopt PSR-2 coding style

The Laravel framework adopts the PSR-2 coding style in version 5.1.
Laravel apps *should* adopt this coding style as well. Read the
[PSR-2 coding style guide][1] for more details and check out [PHPCS][2]
to use as a code formatting tool.

[1]: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md
[2]: https://github.com/squizlabs/PHP_CodeSniffer

* Adopt PHP short array syntax

Laravel 5 adopted the short array syntax which became available in
PHP 5.4.

* Remove SelfHandling from Jobs

Jobs are self handling by default in Laravel 5.2.

* Add new exceptions to `$dontReport` property

* Shift core files

* Shift Middleware

Laravel 5.2 adjusts the `Guard` object used within middleware. In
addition, new `can` and `throttles` middleware were added.

* Shift Input to Request facade

Laravel 5.2 no longer registers the `Input` facade by default. Laravel
now prefers using the `Request` facade or the `$request` object within
*Controllers* instead. Review the [HTTP Requests][1] documentation for
more details.

[1]: https://laravel.com/docs/5.2/requests

* Shift configuration

Laravel 5.2 introduces the `env` app configuration option and removes
the `pretend` mail configuration option. In addition, a few of the
default `providers` and `aliases` bindings were removed.

* Shift Laravel dependencies

* Shift cleanup

* Updated composer.lock

* Updated Middleware to 5.2

* Config update for Laravel 5.2

* [Laravel 5.2] Updated validation strings

* Updated auth config

* Updated to use middleware groups

* Added laravel 5.2 sessions migration
2016-09-29 23:26:31 +01:00
Josef Citrine
9b31b48f37 Check if genre exists before creating a new one 2016-09-25 15:07:20 +01:00
Joe Citrine
abdfe2f698 Merge pull request #105 from Poniverse/feature/replace_master_track_file
Feature/replace master track file
2016-09-22 22:45:40 +01:00
Josef Citrine
d6a80cd684 Updated contact email 2016-09-21 01:32:47 +01:00
Peter Deltchev
78c2f4f6d1 Show archived tracks by default in the track browser.
Reverts part of 995cc40a5f.
2016-09-11 16:52:57 -07:00
Josef Citrine
995cc40a5f Hidden archived artists' tracks from recent tracks 2016-09-09 21:37:07 +01:00
Josef Citrine
d18d6bf23a Changing getMasterTrackFile back to protected 2016-08-30 21:17:34 -07:00
Josef Citrine
e6ee85d6d9 Album API now works with versioning system 2016-08-30 21:17:34 -07:00
Kelvin Zhang
775de16bfe [#9] Add functionality to add/change versions of tracks 2016-08-30 21:17:34 -07:00
Josef Citrine
726097bc7b Only show unclassified tracks if they are part of MLPMA 2016-08-29 01:03:26 +01:00
Josef Citrine
9de1d53cd7 Track classification queue and directified track list 2016-08-28 02:59:10 +01:00
Josef Citrine
d0b356be2c Notification API correctly handles invalid resources 2016-08-28 01:01:37 +01:00
Josef Citrine
5311577aa2 Fixed null detection 2016-08-28 00:40:25 +01:00
Josef Citrine
555aa35c34 Fixed notification thumbnail url being null 2016-08-28 00:39:24 +01:00
Peter Deltchev
efea3cda2f Fixes #102: Tagging tracks with multiple show songs works again.
This was broken during the MySQL -> PostgreSQL migration.
2016-08-07 16:31:09 -07:00
Peter Deltchev
d19e986a3e Fixed favouriting notification texts. 2016-08-07 08:42:36 -07:00
Josef Citrine
11e5bb0384 Fixed album favouriting 2016-07-19 16:23:06 +01:00
Josef Citrine
52cdf621b3 Merge pull request #96 from Poniverse/postgres
The switch to PostgreSQL
2016-07-18 00:59:40 +01:00
Josef Citrine
4c6aeb1a6e #86: Updated stats API to work with Postgres 2016-07-11 21:12:02 +01:00
Josef Citrine
a57c1640e8 #86: Fixed editing albums with more than 1 track 2016-07-11 21:07:45 +01:00
Peter Deltchev
8c58d2f3cb #25: Hide notifications for deleted content. 2016-07-11 18:18:03 +01:00
Kelvin
0ee7e4a315 #7: Implement front-end handling of mixed losslessness track collections 2016-07-11 13:40:31 +01:00
Josef Citrine
45dae68497 #86: Fixed track uploading SQL errors 2016-07-11 13:00:29 +01:00
Kelvin
63d4063ccc #7: Implement back-end handling of mixed losslessness track collections 2016-07-11 12:43:10 +01:00
Kelvin
2c3ef557af #7: Implement CR changes 2016-07-11 11:25:45 +01:00
Kelvin
05c66ca5dd [#7] Prevent completely lossy albums/playlists from being downloaded as lossless 2016-07-10 15:20:22 +01:00
Peter Deltchev
0427658dbf #86: Fixed more queries for PostgreSQL. 2016-07-09 06:44:49 -07:00
Josef Citrine
7b521f5733 #86: This causes some issue with Postgres. Commenting for now 2016-07-05 01:40:55 +01:00
Josef Citrine
c36a7145a5 Sanitise track numbers 2016-06-29 20:05:58 +01:00
Josef Citrine
4b0ed2fd1b #86: More Postgres tweaks 2016-06-28 18:53:53 +01:00
Peter Deltchev
6e8a9b34c6 #86: Modified a bunch of queries to work in PostgreSQL. 2016-06-26 19:20:10 -07:00
Josef Citrine
336e04a0c1 Disabling notifications until they're stable on Chrome 2016-06-20 01:38:07 +01:00
Peter Deltchev
64a44fff4f Made avatars optional. Useful for archived profiles!
Also took the opportunity to refactor SaveAccountSettingsCommand somewhat.
2016-06-19 13:13:47 -07:00
Josef Citrine
60f55e6223 Ignore requests with no subscription data 2016-06-15 13:44:54 +01:00
Josef Citrine
0c1a283867 Removed old developement API key 2016-06-15 13:44:54 +01:00