diff --git a/system/blueprints/user/account.yaml b/system/blueprints/user/account.yaml index ff657b4c4..7a7c82b57 100644 --- a/system/blueprints/user/account.yaml +++ b/system/blueprints/user/account.yaml @@ -8,6 +8,13 @@ form: type: userinfo size: large + avatar: + type: file + size: large + destination: 'user://accounts/avatars' + multiple: false + random_name: true + content: type: section title: PLUGIN_ADMIN.ACCOUNT diff --git a/system/src/Grav/Common/User/User.php b/system/src/Grav/Common/User/User.php index d5c108ff8..d0c35eb31 100644 --- a/system/src/Grav/Common/User/User.php +++ b/system/src/Grav/Common/User/User.php @@ -239,4 +239,20 @@ class User extends Data { return $this->authorize($action); } + + /** + * Return the User's avatar URL + * + * @return string + */ + public function avatarUrl() + { + if ($this->avatar) { + $avatar = $this->avatar; + $avatar = array_shift($avatar); + return Grav::instance()['base_url'] . '/' . $avatar['path']; + } else { + return 'https://www.gravatar.com/avatar/' . md5($this->email); + } + } }