folder->getDirectoryListing(); foreach ($avatars as $avatar) { $avatar->delete(); } } /** * Returns the avatar for an user. * * If there is no avatar file yet, one is generated. * * @throws NotFoundException * @throws \OCP\Files\NotPermittedException * @throws \OCP\PreConditionNotMetException */ public function getFile(int $size, bool $darkTheme = false): ISimpleFile { $ext = 'png'; if ($size === -1) { $path = 'avatar-placeholder' . ($darkTheme ? '-dark' : '') . '.' . $ext; } else { $path = 'avatar-placeholder' . ($darkTheme ? '-dark' : '') . '.' . $size . '.' . $ext; } try { $file = $this->folder->getFile($path); } catch (NotFoundException $e) { if ($size <= 0) { throw new NotFoundException; } if (!$data = $this->generateAvatarFromSvg($size, $darkTheme)) { $data = $this->generateAvatar($this->getDisplayName(), $size, $darkTheme); } try { $file = $this->folder->newFile($path); $file->putContent($data); } catch (NotPermittedException $e) { $this->logger->error('Failed to save avatar placeholder for ' . $this->user->getUID()); throw new NotFoundException(); } } return $file; } /** * Returns the user display name. */ public function getDisplayName(): string { return $this->user->getDisplayName(); } /** * Handles user changes. * * @param string $feature The changed feature * @param mixed $oldValue The previous value * @param mixed $newValue The new value * @throws NotPermittedException * @throws \OCP\PreConditionNotMetException */ public function userChanged(string $feature, $oldValue, $newValue): void { $this->remove(); } /** * Check if the avatar of a user is a custom uploaded one */ public function isCustomAvatar(): bool { return false; } }