1
0
mirror of https://github.com/flarum/core.git synced 2025-10-14 08:24:28 +02:00

Consolidate avatar uploading, allow avatarUrl to be used when updating user

This commit is contained in:
Toby Zerner
2017-10-07 17:39:27 +10:30
parent 87bf84ef6e
commit 2dbcfe02d8
7 changed files with 143 additions and 121 deletions

View File

@@ -12,6 +12,7 @@
namespace Flarum\Core\Command;
use Flarum\Core\Access\AssertPermissionTrait;
use Flarum\Core\AvatarUploader;
use Flarum\Core\Exception\PermissionDeniedException;
use Flarum\Core\Repository\UserRepository;
use Flarum\Core\Support\DispatchEventsTrait;
@@ -30,20 +31,20 @@ class DeleteAvatarHandler
protected $users;
/**
* @var FilesystemInterface
* @var AvatarUploader
*/
protected $uploadDir;
protected $uploader;
/**
* @param Dispatcher $events
* @param UserRepository $users
* @param FilesystemInterface $uploadDir
* @param AvatarUploader $uploader
*/
public function __construct(Dispatcher $events, UserRepository $users, FilesystemInterface $uploadDir)
public function __construct(Dispatcher $events, UserRepository $users, AvatarUploader $uploader)
{
$this->events = $events;
$this->users = $users;
$this->uploadDir = $uploadDir;
$this->uploader = $uploader;
}
/**
@@ -61,8 +62,7 @@ class DeleteAvatarHandler
$this->assertCan($actor, 'edit', $user);
}
$avatarPath = $user->avatar_path;
$user->changeAvatarPath(null);
$this->uploader->remove($user);
$this->events->fire(
new AvatarWillBeDeleted($user, $actor)
@@ -70,10 +70,6 @@ class DeleteAvatarHandler
$user->save();
if ($this->uploadDir->has($avatarPath)) {
$this->uploadDir->delete($avatarPath);
}
$this->dispatchEventsFor($user, $actor);
return $user;