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/apps
diff options
context:
space:
mode:
authorPytal <24800714+Pytal@users.noreply.github.com>2022-04-20 19:20:18 +0300
committerGitHub <noreply@github.com>2022-04-20 19:20:18 +0300
commit6e803858a2816963beb4df51e4eb3042495051bd (patch)
treec2565d9a0bfa664dc5156bafa209fce40e2e35b5 /apps
parent8e53a04e92114b271d1f9885a472fe33c240801d (diff)
parent522cc891c73bf1b52dfb5fd691fbc1f57eab693e (diff)
Merge pull request #32021 from nextcloud/fix/shared-dav-export
Diffstat (limited to 'apps')
-rw-r--r--apps/dav/lib/UserMigration/CalendarMigrator.php25
-rw-r--r--apps/dav/lib/UserMigration/ContactsMigrator.php22
2 files changed, 20 insertions, 27 deletions
diff --git a/apps/dav/lib/UserMigration/CalendarMigrator.php b/apps/dav/lib/UserMigration/CalendarMigrator.php
index d94e3ec109e..015ce6faa86 100644
--- a/apps/dav/lib/UserMigration/CalendarMigrator.php
+++ b/apps/dav/lib/UserMigration/CalendarMigrator.php
@@ -108,14 +108,7 @@ class CalendarMigrator implements IMigrator {
*/
private function getCalendarExportData(IUser $user, ICalendar $calendar, OutputInterface $output): array {
$userId = $user->getUID();
- $calendarId = $calendar->getKey();
- $calendarInfo = $this->calDavBackend->getCalendarById($calendarId);
-
- if (empty($calendarInfo)) {
- throw new CalendarMigratorException("Invalid info for calendar ID $calendarId");
- }
-
- $uri = $calendarInfo['uri'];
+ $uri = $calendar->getUri();
$path = CalDAVPlugin::CALENDAR_ROOT . "/$userId/$uri";
/**
@@ -227,12 +220,12 @@ class CalendarMigrator implements IMigrator {
try {
/**
- * @var string $name
- * @var VCalendar $vCalendar
- */
+ * @var string $name
+ * @var VCalendar $vCalendar
+ */
foreach ($calendarExports as ['name' => $name, 'vCalendar' => $vCalendar]) {
- // Set filename to sanitized calendar name appended with the date
- $filename = preg_replace('/[^a-zA-Z0-9-_ ]/um', '', $name) . '_' . date('Y-m-d') . CalendarMigrator::FILENAME_EXT;
+ // Set filename to sanitized calendar name
+ $filename = preg_replace('/[^a-z0-9-_]/iu', '', $name) . CalendarMigrator::FILENAME_EXT;
$exportPath = CalendarMigrator::EXPORT_ROOT . $filename;
$exportDestination->addFileContents($exportPath, $vCalendar->serialize());
@@ -445,11 +438,11 @@ class CalendarMigrator implements IMigrator {
throw new CalendarMigratorException("Invalid calendar data contained in \"$importPath\"");
}
- $splitFilename = explode('_', $filename, 2);
+ $splitFilename = explode('.', $filename, 2);
if (count($splitFilename) !== 2) {
- throw new CalendarMigratorException("Invalid filename \"$filename\", expected filename of the format \"<calendar_name>_YYYY-MM-DD" . CalendarMigrator::FILENAME_EXT . '"');
+ throw new CalendarMigratorException("Invalid filename \"$filename\", expected filename of the format \"<calendar_name>" . CalendarMigrator::FILENAME_EXT . '"');
}
- [$initialCalendarUri, $suffix] = $splitFilename;
+ [$initialCalendarUri, $ext] = $splitFilename;
try {
$this->importCalendar(
diff --git a/apps/dav/lib/UserMigration/ContactsMigrator.php b/apps/dav/lib/UserMigration/ContactsMigrator.php
index 065ef05ceea..aed41e5c82f 100644
--- a/apps/dav/lib/UserMigration/ContactsMigrator.php
+++ b/apps/dav/lib/UserMigration/ContactsMigrator.php
@@ -168,7 +168,7 @@ class ContactsMigrator implements IMigrator {
}
$existingAddressBookUris = array_map(
- fn (array $addressBookInfo) => $addressBookInfo['uri'],
+ fn (array $addressBookInfo): string => $addressBookInfo['uri'],
$this->cardDavBackend->getAddressBooksForUser($principalUri),
);
@@ -207,14 +207,14 @@ class ContactsMigrator implements IMigrator {
try {
/**
- * @var string $name
- * @var string $displayName
- * @var ?string $description
- * @var VCard[] $vCards
- */
+ * @var string $name
+ * @var string $displayName
+ * @var ?string $description
+ * @var VCard[] $vCards
+ */
foreach ($addressBookExports as ['name' => $name, 'displayName' => $displayName, 'description' => $description, 'vCards' => $vCards]) {
- // Set filename to sanitized address book name appended with the date
- $basename = preg_replace('/[^a-zA-Z0-9-_ ]/um', '', $name) . '_' . date('Y-m-d');
+ // Set filename to sanitized address book name
+ $basename = preg_replace('/[^a-z0-9-_]/iu', '', $name);
$exportPath = ContactsMigrator::PATH_ROOT . $basename . '.' . ContactsMigrator::FILENAME_EXT;
$metadataExportPath = ContactsMigrator::PATH_ROOT . $basename . '.' . ContactsMigrator::METADATA_EXT;
@@ -340,11 +340,11 @@ class ContactsMigrator implements IMigrator {
$vCards[] = $vCard;
}
- $splitFilename = explode('_', $addressBookFilename, 2);
+ $splitFilename = explode('.', $addressBookFilename, 2);
if (count($splitFilename) !== 2) {
- throw new ContactsMigratorException("Invalid filename \"$addressBookFilename\", expected filename of the format \"<address_book_name>_YYYY-MM-DD." . ContactsMigrator::FILENAME_EXT . '"');
+ throw new ContactsMigratorException("Invalid filename \"$addressBookFilename\", expected filename of the format \"<address_book_name>." . ContactsMigrator::FILENAME_EXT . '"');
}
- [$initialAddressBookUri, $suffix] = $splitFilename;
+ [$initialAddressBookUri, $ext] = $splitFilename;
/** @var array{displayName: string, description?: string} $metadata */
$metadata = json_decode($importSource->getFileContents($metadataImportPath), true, 512, JSON_THROW_ON_ERROR);