return $calendarUri;
}
+ /**
+ * {@inheritDoc}
+ */
+ public function getExportEstimatedSize(IUser $user): int {
+ $principalUri = $this->getPrincipalUri($user);
+
+ return array_sum(array_map(
+ function (ICalendar $calendar) use ($user): int {
+ // FIXME 1MiB by calendar, no idea if this is accurate and if we should go into more details
+ return 1000;
+ },
+ $this->calendarManager->getCalendarsForPrincipal($principalUri),
+ ));
+ }
+
/**
* {@inheritDoc}
*/
);
}
+ /**
+ * {@inheritDoc}
+ */
+ public function getExportEstimatedSize(IUser $user): int {
+ $principalUri = $this->getPrincipalUri($user);
+
+ return array_sum(array_map(
+ function (array $addressBookInfo) use ($user): int {
+ // FIXME 1MiB by addressbook, no idea if this is accurate and if we should go into more details
+ return 1000;
+ },
+ $this->cardDavBackend->getAddressBooksForUser($principalUri),
+ ));
+ }
+
/**
* {@inheritDoc}
*/
$this->l10n = $l10n;
}
+ /**
+ * {@inheritDoc}
+ */
+ public function getExportEstimatedSize(IUser $user): int {
+ $uid = $user->getUID();
+
+ try {
+ $trashbinFolder = $this->root->get('/'.$uid.'/files_trashbin');
+ if (!$trashbinFolder instanceof Folder) {
+ return 0;
+ }
+ return (int)ceil($trashbinFolder->getSize() / 1024);
+ } catch (\Throwable $e) {
+ return 0;
+ }
+ }
+
/**
* {@inheritDoc}
*/
$this->l10n = $l10n;
}
+ /**
+ * {@inheritDoc}
+ */
+ public function getExportEstimatedSize(IUser $user): int {
+ $uid = $user->getUID();
+
+ $size = 100; // 100KiB for account JSON
+
+ try {
+ $avatar = $this->avatarManager->getAvatar($user->getUID());
+ if ($avatar->isCustomAvatar()) {
+ $avatarFile = $avatar->getFile(-1);
+ $size += $avatarFile->getSize() / 1024;
+ }
+ } catch (Throwable $e) {
+ return 0;
+ }
+
+ return (int)ceil($size);
+ }
+
/**
* {@inheritDoc}
*/
*
* @since 24.0.0
*/
- public function getExportEstimatedSize(): int;
+ public function getExportEstimatedSize(IUser $user): int;
/**
* Checks whether it is able to import a version of the export format for this migrator