Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorCarl Schwan <carl@carlschwan.eu>2022-08-31 15:24:25 +0300
committerCarl Schwan <carl@carlschwan.eu>2022-09-09 15:23:41 +0300
commitbc9a48804688e06a842169be0ed3efbf2fead559 (patch)
tree81241be20f6da44e83dae52221ddb7ae914fed0e /lib
parentf3ec1d3a9f6806aee32b27942e56931f79d9d02c (diff)
Update avatars on update
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
Diffstat (limited to 'lib')
-rw-r--r--lib/private/Avatar/Avatar.php12
-rw-r--r--lib/private/Repair/ClearGeneratedAvatarCache.php20
-rw-r--r--lib/public/Color.php6
3 files changed, 19 insertions, 19 deletions
diff --git a/lib/private/Avatar/Avatar.php b/lib/private/Avatar/Avatar.php
index 1e6ebd7c61b..9b9220936eb 100644
--- a/lib/private/Avatar/Avatar.php
+++ b/lib/private/Avatar/Avatar.php
@@ -111,10 +111,10 @@ abstract class Avatar implements IAvatar {
* @return string
*
*/
- protected function getAvatarVector(int $size, bool $dark): string {
+ protected function getAvatarVector(int $size, bool $darkTheme): string {
$userDisplayName = $this->getDisplayName();
$fgRGB = $this->avatarBackgroundColor($userDisplayName);
- $bgRGB = $fgRGB->alphaBlending(0.1, $dark ? new Color(0, 0, 0) : new Color(255, 255, 255));
+ $bgRGB = $fgRGB->alphaBlending(0.1, $darkTheme ? new Color(0, 0, 0) : new Color(255, 255, 255));
$fill = sprintf("%02x%02x%02x", $bgRGB->red(), $bgRGB->green(), $bgRGB->blue());
$fgFill = sprintf("%02x%02x%02x", $fgRGB->red(), $fgRGB->green(), $fgRGB->blue());
$text = $this->getAvatarText();
@@ -125,13 +125,13 @@ abstract class Avatar implements IAvatar {
/**
* Generate png avatar from svg with Imagick
*/
- protected function generateAvatarFromSvg(int $size, bool $dark): ?string {
+ protected function generateAvatarFromSvg(int $size, bool $darkTheme): ?string {
if (!extension_loaded('imagick')) {
return null;
}
try {
$font = __DIR__ . '/../../../core/fonts/NotoSans-Regular.ttf';
- $svg = $this->getAvatarVector($size, $dark);
+ $svg = $this->getAvatarVector($size, $darkTheme);
$avatar = new Imagick();
$avatar->setFont($font);
$avatar->readImageBlob($svg);
@@ -147,10 +147,10 @@ abstract class Avatar implements IAvatar {
/**
* Generate png avatar with GD
*/
- protected function generateAvatar(string $userDisplayName, int $size, bool $dark): string {
+ protected function generateAvatar(string $userDisplayName, int $size, bool $darkTheme): string {
$text = $this->getAvatarText();
$textColor = $this->avatarBackgroundColor($userDisplayName);
- $backgroundColor = $textColor->alphaBlending(0.1, $dark ? new Color(0, 0, 0) : new Color(255, 255, 255));
+ $backgroundColor = $textColor->alphaBlending(0.1, $darkTheme ? new Color(0, 0, 0) : new Color(255, 255, 255));
$im = imagecreatetruecolor($size, $size);
$background = imagecolorallocate(
diff --git a/lib/private/Repair/ClearGeneratedAvatarCache.php b/lib/private/Repair/ClearGeneratedAvatarCache.php
index 314299a0528..1c1be4f7893 100644
--- a/lib/private/Repair/ClearGeneratedAvatarCache.php
+++ b/lib/private/Repair/ClearGeneratedAvatarCache.php
@@ -30,35 +30,29 @@ use OCP\Migration\IOutput;
use OCP\Migration\IRepairStep;
class ClearGeneratedAvatarCache implements IRepairStep {
-
- /** @var AvatarManager */
- protected $avatarManager;
-
- /** @var IConfig */
- private $config;
+ protected AvatarManager $avatarManager;
+ private IConfig $config;
public function __construct(IConfig $config, AvatarManager $avatarManager) {
$this->config = $config;
$this->avatarManager = $avatarManager;
}
- public function getName() {
+ public function getName(): string {
return 'Clear every generated avatar on major updates';
}
/**
* Check if this repair step should run
- *
- * @return boolean
*/
- private function shouldRun() {
+ private function shouldRun(): bool {
$versionFromBeforeUpdate = $this->config->getSystemValue('version', '0.0.0.0');
- // was added to 15.0.0.4
- return version_compare($versionFromBeforeUpdate, '15.0.0.4', '<=');
+ // was added to 25.0.0.10
+ return version_compare($versionFromBeforeUpdate, '25.0.0.10', '<=');
}
- public function run(IOutput $output) {
+ public function run(IOutput $output): void {
if ($this->shouldRun()) {
try {
$this->avatarManager->clearCachedAvatars();
diff --git a/lib/public/Color.php b/lib/public/Color.php
index 6c9a35ca49c..d5b2a92a6ac 100644
--- a/lib/public/Color.php
+++ b/lib/public/Color.php
@@ -125,6 +125,12 @@ class Color {
return $palette;
}
+ /**
+ * Alpha blend another color with a given opacity to this color
+ *
+ * @return Color The new color
+ * @since 25.0.0
+ */
public function alphaBlending(float $opacity, Color $source): Color {
return new Color(
(int)((1 - $opacity) * $source->red() + $opacity * $this->red()),