Commit graph

603 commits

Author SHA1 Message Date
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
Josef Citrine
61520815de #25: Basic service worker notifications 2016-06-15 13:44:28 +01:00
Josef Citrine
2b72b4dcdb #25: Service worker subscription 2016-06-15 13:44:28 +01:00
Peter Deltchev
a482a183dc #2: Admins can now manage other users' content. 2016-06-14 01:27:56 -07:00
Peter Deltchev
185ead4ed0 Improved a bunch of use statements. 2016-06-12 04:49:24 -07:00
Peter Deltchev
09effb6955 #2: Implemented the user creation tool. 2016-06-12 04:16:03 -07:00
Josef Citrine
4714f04a80 Added follower count 2016-06-07 19:31:32 +01:00
Josef Citrine
bd330a1089 Mark as read and notification count 2016-06-07 17:49:00 +01:00
Josef Citrine
d33985325e New notification look. Mark as read feature (disabled for now due to issues) 2016-06-07 00:37:41 +01:00
Scrutinizer Auto-Fixer
3b1b03e12b Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2016-06-06 06:29:37 +00:00
Peter Deltchev
9a9ac7e5a1 Lots of minor code cleanup. 2016-06-05 23:15:56 -07:00
Peter Deltchev
b46ba956d0 Fixes #51: Slugs are now unique and user-changeable. 2016-06-05 20:05:57 -07:00
Josef Citrine
59b0ebd64e Admins can modify show songs 2016-06-06 00:12:10 +01:00
Peter Deltchev
73de10cff4 Don't list albums and playlists with only one track. 2016-06-05 12:27:04 -07:00
Josef Citrine
9eac8153db Switched error handler to Whoops 2016-06-05 19:45:21 +01:00
Josef Citrine
4e564aed0c Merge pull request #88 from Poniverse/feature-playlist-sort
Feature playlist sort
2016-06-02 17:03:11 +01:00
Peter Deltchev
3b3863f030 #25: Notification texts are simple plaintext for now. 2016-06-01 20:12:56 -07:00
Maximilian Walter
d735cb6816 update: implemeted playlist sort functionality 2016-06-01 21:02:16 +02:00
Maximilian Walter
b73d1753b3 update: added playlist sort logic to laravel controller
update: implemented basic filter functions to angular
2016-06-01 19:40:49 +02:00
Maximilian Walter
2d458c3d80 Merge branch 'master' of https://github.com/Poniverse/Pony.fm into feature-playlist-sort 2016-05-31 15:03:26 +02:00
Peter Deltchev
716eff3955 Fixed a bad query. 2016-05-28 12:53:18 -07:00
Peter Deltchev
27f19f9dc7 Added a bunch of eager-loading. 2016-05-28 12:29:06 -07:00
Peter Deltchev
fc4ae856f8 #25: Made the SendNotifications job in line with the rest of the notification system's design. 2016-05-27 22:21:35 -07:00
Josef Citrine
ef598a72ef Test UI for notifications 2016-05-27 20:38:59 +01:00
Peter Deltchev
0109244115 Feature/notifications (#87)
* #25: Implemented enough of the notification system to start writing drivers.

* #25: Implemented most of the Pony.fm notification driver's backend.

* #25: Abstracted the logic for building lists of notification recipients.

* #25: Implemented notification API endpoints for the SPA.

* Front end setup for notifications

* #25: Implemented notification API endpoints for the SPA.
2016-05-27 20:12:40 +01:00
Josef Citrine
7786950990 Icon for admins 2016-05-25 23:57:46 +01:00
Maximilian Walter
950ef3b585 added: playlist sort by favourite_count on initial request
update: added composer lock file to gitignore
2016-05-25 22:58:41 +02:00
Peter Deltchev
060b8e7121 Fixes #83: Album shortlinks work again. 2016-05-21 00:22:47 -07:00
Josef Citrine
44bcf87ddb New profiles, works better on mobile 2016-05-19 22:31:04 +01:00
Josef Citrine
87d25bb8b8 Admin album editing 2016-05-18 01:27:59 +01:00
Josef Citrine
fb7f291f31 Switch admin check to Gate 2016-05-17 13:00:57 +01:00
Josef Citrine
40122a9446 Admins can edit users 2016-05-17 00:30:05 +01:00
Josef Citrine
0c2b46dd20 Revert "Merge branch 'feature-remote-dev' of https://github.com/Poniverse/Pony.fm"
This reverts commit 1a77341ce2, reversing
changes made to d01b24a91f.
2016-05-16 01:00:37 +01:00
Josef Citrine
17a9f6e50c Error handling and switched to username 2016-05-15 23:22:32 +01:00
Maximilian Walter
1a77341ce2 Merge branch 'feature-remote-dev' of https://github.com/Poniverse/Pony.fm
merged: simple config changes to enable a remote development install
2016-05-16 00:12:33 +02:00
root
9364b52f95 update: added new config variables to support dev installation on remote host 2016-05-16 00:09:30 +02:00
Josef Citrine
d01b24a91f Admins can assign tracks to accounts 2016-05-15 23:03:49 +01:00
Josef Citrine
481a0a6b9f Admins can view all tracks 2016-05-11 17:41:49 +01:00
Josef Citrine
a6c9393e3d Cleaned up code, added caching for stats 2016-05-04 17:07:00 +01:00
Josef Citrine
7b4cf4adff Fixed error for unpublished tracks 2016-05-04 01:26:52 +01:00
Josef Citrine
2832ba5bd2 Fixed syntax error
I'm tired
2016-05-04 01:12:12 +01:00
Josef Citrine
563578c622 Code style fixes 2016-05-04 01:08:59 +01:00
Josef Citrine
88bee8c7ab Laravel-ised queries 2016-05-04 00:50:59 +01:00
Josef Citrine
473d1d7b38 Fixing data to accurately represent plays 2016-05-03 23:20:38 +01:00
Josef Citrine
7a73e20929 Added cumulative graph 2016-05-03 20:30:57 +01:00
Josef Citrine
97b4bb1b8b 'Functional' play charts
Needs styling
2016-05-03 13:01:50 +01:00
Josef Citrine
4ca904667b Hourly stats should only display a 24 hour period 2016-05-02 23:25:26 +01:00
Josef Citrine
3e874da868 Start of a stats API 2016-05-02 13:23:22 +01:00
Kelvin
327588aa6c Make lyrics optional 2016-04-03 17:57:00 +01:00
Kelvin
22a81e42e0 Add creation of tmp folder under datastore 2016-04-03 17:55:53 +01:00
Mihail-K
e7ed44d7de Clean up loose code. 2016-03-20 16:42:58 -04:00
Mihail-K
4a5c2418eb Update references to models. 2016-03-20 16:05:57 -04:00
Mihail-K
e63c18f6be Merge branch 'master' into feature/track-removals 2016-03-20 15:10:17 -04:00
Peter Deltchev
8d29b39ea5 #2: Fixed album editing URL + ui-sref cleanup. 2016-03-19 01:29:29 -07:00
Peter Deltchev
61ca938877 #2: Fixed up the album editor in its new home. 2016-03-19 01:10:33 -07:00
Peter Deltchev
d8933374ab #2: Rearranged various routes for account management + other cleanup.
The "Favourites" area within account management was removed as it duplicates
the functionality of the favourites area on public profiles.
2016-03-18 20:01:00 -07:00
Peter Deltchev
61e762dc13 #2: Nested all things account management under profile pages. 2016-03-18 20:00:30 -07:00
Peter Deltchev
af760aa13f Made the image re-importer more robust + fixed a typo. 2016-03-16 09:32:39 -07:00
Peter Deltchev
b715422c24 #2: Properly handle editing tracks and albums that you don't own. 2016-03-12 17:27:49 -08:00
Peter Deltchev
9e753ec26e #2: Implemented track moderation. 2016-02-26 19:23:14 -08:00
Peter Deltchev
4f0aab6db9 Avoid destroying the test database in the middle of tests. All tests now pass! 2016-02-21 20:47:52 -08:00
Peter Deltchev
32a3b07f55 Fixed pagination. 2016-02-16 05:04:00 -08:00
Peter Deltchev
840e233acf Added cache busters for Webpack scripts. 2016-02-16 04:05:39 -08:00
Peter Deltchev
4f6f64a3c0 Integrated Webpack for the embedded player. 2016-02-16 03:35:52 -08:00
Peter Deltchev
5451294dfc Replaced Pony.fm's profiler with @barryvdh's Laravel Debugbar. 2016-02-16 02:53:28 -08:00
Peter Deltchev
fee58d0055 Improved release date parsing and error display on the upload screen. 2016-02-16 01:20:23 -08:00
Peter Deltchev
5a063e32c3 Refactored tag parsing for uploaded files into its own command. 2016-02-16 01:20:23 -08:00
Peter Deltchev
7176fb2bca #2: Implemented the inline track editor on track pages.
Also includes a fix for lyrics on track pages.
2016-02-15 23:50:36 -08:00