Skip to content

Commit

Permalink
feat: ✨ Allow updating user avatar via avatarUrl attribute
Browse files Browse the repository at this point in the history
  • Loading branch information
maicol07 committed Apr 7, 2021
1 parent 27b284e commit 6c802df
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 0 deletions.
3 changes: 3 additions & 0 deletions extend.php
Expand Up @@ -3,10 +3,12 @@
use Flarum\Extend;
use Flarum\User\Event\LoggedOut;
use Flarum\User\Event\Registered;
use Flarum\User\Event\Saving;
use Maicol07\SSO\JWTSSOController;
use Maicol07\SSO\Listener\ActivateUser;
use Maicol07\SSO\Listener\AddLogoutRedirect;
use Maicol07\SSO\Listener\LoadSettingsFromDatabase;
use Maicol07\SSO\Listener\UpdateUserAvatar;
use Maicol07\SSO\Middleware\LoginMiddleware;
use Maicol07\SSO\Middleware\LogoutMiddleware;

Expand All @@ -24,6 +26,7 @@
(new Extend\Event())
->listen(Registered::class, [ActivateUser::class, 'activateUser'])
->listen(LoggedOut::class, [AddLogoutRedirect::class, 'addLogoutRedirect'])
->listen(Saving::class, [UpdateUserAvatar::class, 'updateAvatarUrl'])
->subscribe(LoadSettingsFromDatabase::class),

// Middleware
Expand Down
22 changes: 22 additions & 0 deletions src/Listener/UpdateUserAvatar.php
@@ -0,0 +1,22 @@
<?php

namespace Maicol07\SSO\Listener;

use Flarum\User\AvatarUploader;
use Flarum\User\Event\Saving;
use Illuminate\Support\Arr;
use Intervention\Image\ImageManager;

class UpdateUserAvatar
{
final public function updateAvatarUrl(Saving $event): void
{
$user = $event->user;
$attributes = Arr::get($event->data, 'attributes', []);

if (Arr::exists($attributes, 'avatarUrl')) {
$image = (new ImageManager())->make(Arr::get($attributes, 'avatarUrl'));
resolve(AvatarUploader::class)->upload($user, $image);
}
}
}

0 comments on commit 6c802df

Please sign in to comment.