Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions REUSE.toml
Original file line number Diff line number Diff line change
Expand Up @@ -333,6 +333,12 @@ precedence = "aggregate"
SPDX-FileCopyrightText = "X Corp."
SPDX-License-Identifier = "LicenseRef-XTrademarks"

[[annotations]]
path = ["core/img/bluesky.svg", "core/img/actions/bluesky.svg"]
precedence = "aggregate"
SPDX-FileCopyrightText = "2012-2024 Fonticons, Inc."
SPDX-License-Identifier = "CC-BY-4.0"

[[annotations]]
path = ["core/img/facebook.svg", "apps/federatedfilesharing/img/social-facebook.svg"]
precedence = "aggregate"
Expand Down
18 changes: 14 additions & 4 deletions apps/federatedfilesharing/src/components/PersonalSettings.vue
Original file line number Diff line number Diff line change
Expand Up @@ -23,25 +23,31 @@

<p class="social-button">
{{ t('federatedfilesharing', 'Share it so your friends can share files with you:') }}<br>
<NcButton @click="goTo(shareFacebookUrl)">
<NcButton :href="shareFacebookUrl">
{{ t('federatedfilesharing', 'Facebook') }}
<template #icon>
<img class="social-button__icon social-button__icon--bright" :src="urlFacebookIcon">
</template>
</NcButton>
<NcButton :aria-label="t('federatedfilesharing', 'X (formerly Twitter)')"
@click="goTo(shareXUrl)">
:href="shareXUrl">
{{ t('federatedfilesharing', 'formerly Twitter') }}
<template #icon>
<img class="social-button__icon" :src="urlXIcon">
</template>
</NcButton>
<NcButton @click="goTo(shareMastodonUrl)">
<NcButton :href="shareMastodonUrl">
{{ t('federatedfilesharing', 'Mastodon') }}
<template #icon>
<img class="social-button__icon" :src="urlMastodonIcon">
</template>
</NcButton>
<NcButton :href="shareBlueSkyUrl">
{{ t('federatedfilesharing', 'Bluesky') }}
<template #icon>
<img class="social-button__icon" :src="urlBlueSkyIcon">
</template>
</NcButton>
<NcButton class="social-button__website-button"
@click="showHtml = !showHtml">
<template #icon>
Expand Down Expand Up @@ -101,6 +107,7 @@ export default {
reference: loadState<string>('federatedfilesharing', 'reference'),
urlFacebookIcon: imagePath('core', 'facebook'),
urlMastodonIcon: imagePath('core', 'mastodon'),
urlBlueSkyIcon: imagePath('core', 'bluesky'),
urlXIcon: imagePath('core', 'x'),
}
},
Expand Down Expand Up @@ -130,6 +137,9 @@ export default {
shareFacebookUrl() {
return `https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(this.reference)}`
},
shareBlueSkyUrl() {
return `https://bsky.app/intent/compose?text=${encodeURIComponent(this.messageWithURL)}`
},
logoPathAbsolute() {
return window.location.protocol + '//' + window.location.host + this.logoPath
},
Expand Down Expand Up @@ -176,7 +186,7 @@ export default {
.social-button {
margin-top: 0.5rem;

button {
button, a {
display: inline-flex;
margin-inline-start: 0.5rem;
margin-top: 1rem;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,7 @@ protected function getUserData(string $userId, bool $includeScopes = false): ?ar
IAccountManager::PROPERTY_ADDRESS,
IAccountManager::PROPERTY_WEBSITE,
IAccountManager::PROPERTY_TWITTER,
IAccountManager::PROPERTY_BLUESKY,
IAccountManager::PROPERTY_FEDIVERSE,
IAccountManager::PROPERTY_ORGANISATION,
IAccountManager::PROPERTY_ROLE,
Expand Down
6 changes: 6 additions & 0 deletions apps/provisioning_api/lib/Controller/UsersController.php
Original file line number Diff line number Diff line change
Expand Up @@ -788,6 +788,7 @@ public function getEditableFieldsForUser(string $userId): DataResponse {
$permittedFields[] = IAccountManager::PROPERTY_ADDRESS;
$permittedFields[] = IAccountManager::PROPERTY_WEBSITE;
$permittedFields[] = IAccountManager::PROPERTY_TWITTER;
$permittedFields[] = IAccountManager::PROPERTY_BLUESKY;
$permittedFields[] = IAccountManager::PROPERTY_FEDIVERSE;
$permittedFields[] = IAccountManager::PROPERTY_ORGANISATION;
$permittedFields[] = IAccountManager::PROPERTY_ROLE;
Expand Down Expand Up @@ -974,6 +975,7 @@ public function editUser(string $userId, string $key, string $value): DataRespon
$permittedFields[] = IAccountManager::PROPERTY_ADDRESS;
$permittedFields[] = IAccountManager::PROPERTY_WEBSITE;
$permittedFields[] = IAccountManager::PROPERTY_TWITTER;
$permittedFields[] = IAccountManager::PROPERTY_BLUESKY;
$permittedFields[] = IAccountManager::PROPERTY_FEDIVERSE;
$permittedFields[] = IAccountManager::PROPERTY_ORGANISATION;
$permittedFields[] = IAccountManager::PROPERTY_ROLE;
Expand All @@ -987,6 +989,7 @@ public function editUser(string $userId, string $key, string $value): DataRespon
$permittedFields[] = IAccountManager::PROPERTY_ADDRESS . self::SCOPE_SUFFIX;
$permittedFields[] = IAccountManager::PROPERTY_WEBSITE . self::SCOPE_SUFFIX;
$permittedFields[] = IAccountManager::PROPERTY_TWITTER . self::SCOPE_SUFFIX;
$permittedFields[] = IAccountManager::PROPERTY_BLUESKY . self::SCOPE_SUFFIX;
$permittedFields[] = IAccountManager::PROPERTY_FEDIVERSE . self::SCOPE_SUFFIX;
$permittedFields[] = IAccountManager::PROPERTY_ORGANISATION . self::SCOPE_SUFFIX;
$permittedFields[] = IAccountManager::PROPERTY_ROLE . self::SCOPE_SUFFIX;
Expand Down Expand Up @@ -1030,6 +1033,7 @@ public function editUser(string $userId, string $key, string $value): DataRespon
$permittedFields[] = IAccountManager::PROPERTY_ADDRESS;
$permittedFields[] = IAccountManager::PROPERTY_WEBSITE;
$permittedFields[] = IAccountManager::PROPERTY_TWITTER;
$permittedFields[] = IAccountManager::PROPERTY_BLUESKY;
$permittedFields[] = IAccountManager::PROPERTY_FEDIVERSE;
$permittedFields[] = IAccountManager::PROPERTY_ORGANISATION;
$permittedFields[] = IAccountManager::PROPERTY_ROLE;
Expand Down Expand Up @@ -1177,6 +1181,7 @@ public function editUser(string $userId, string $key, string $value): DataRespon
case IAccountManager::PROPERTY_ADDRESS:
case IAccountManager::PROPERTY_WEBSITE:
case IAccountManager::PROPERTY_TWITTER:
case IAccountManager::PROPERTY_BLUESKY:
case IAccountManager::PROPERTY_FEDIVERSE:
case IAccountManager::PROPERTY_ORGANISATION:
case IAccountManager::PROPERTY_ROLE:
Expand Down Expand Up @@ -1224,6 +1229,7 @@ public function editUser(string $userId, string $key, string $value): DataRespon
case IAccountManager::PROPERTY_ADDRESS . self::SCOPE_SUFFIX:
case IAccountManager::PROPERTY_WEBSITE . self::SCOPE_SUFFIX:
case IAccountManager::PROPERTY_TWITTER . self::SCOPE_SUFFIX:
case IAccountManager::PROPERTY_BLUESKY . self::SCOPE_SUFFIX:
case IAccountManager::PROPERTY_FEDIVERSE . self::SCOPE_SUFFIX:
case IAccountManager::PROPERTY_ORGANISATION . self::SCOPE_SUFFIX:
case IAccountManager::PROPERTY_ROLE . self::SCOPE_SUFFIX:
Expand Down
2 changes: 2 additions & 0 deletions apps/provisioning_api/lib/ResponseDefinitions.php
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@
* subadmin: list<string>,
* twitter: string,
* twitterScope?: Provisioning_APIUserDetailsScope,
* bluesky: string,
* blueskyScope?: Provisioning_APIUserDetailsScope,
* website: string,
* websiteScope?: Provisioning_APIUserDetailsScope,
* }
Expand Down
7 changes: 7 additions & 0 deletions apps/provisioning_api/openapi-administration.json
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@
"role",
"subadmin",
"twitter",
"bluesky",
"website"
],
"properties": {
Expand Down Expand Up @@ -267,6 +268,12 @@
"twitterScope": {
"$ref": "#/components/schemas/UserDetailsScope"
},
"bluesky": {
"type": "string"
},
"blueskyScope": {
"$ref": "#/components/schemas/UserDetailsScope"
},
"website": {
"type": "string"
},
Expand Down
7 changes: 7 additions & 0 deletions apps/provisioning_api/openapi-full.json
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@
"role",
"subadmin",
"twitter",
"bluesky",
"website"
],
"properties": {
Expand Down Expand Up @@ -314,6 +315,12 @@
"twitterScope": {
"$ref": "#/components/schemas/UserDetailsScope"
},
"bluesky": {
"type": "string"
},
"blueskyScope": {
"$ref": "#/components/schemas/UserDetailsScope"
},
"website": {
"type": "string"
},
Expand Down
7 changes: 7 additions & 0 deletions apps/provisioning_api/openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@
"role",
"subadmin",
"twitter",
"bluesky",
"website"
],
"properties": {
Expand Down Expand Up @@ -314,6 +315,12 @@
"twitterScope": {
"$ref": "#/components/schemas/UserDetailsScope"
},
"bluesky": {
"type": "string"
},
"blueskyScope": {
"$ref": "#/components/schemas/UserDetailsScope"
},
"website": {
"type": "string"
},
Expand Down
19 changes: 19 additions & 0 deletions apps/provisioning_api/tests/Controller/UsersControllerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -1143,6 +1143,7 @@ public function testGetUserDataAsAdmin(): void {
IAccountManager::PROPERTY_ADDRESS => ['value' => 'address'],
IAccountManager::PROPERTY_PHONE => ['value' => 'phone'],
IAccountManager::PROPERTY_TWITTER => ['value' => 'twitter'],
IAccountManager::PROPERTY_BLUESKY => ['value' => 'bluesky'],
IAccountManager::PROPERTY_FEDIVERSE => ['value' => 'fediverse'],
IAccountManager::PROPERTY_WEBSITE => ['value' => 'website'],
IAccountManager::PROPERTY_ORGANISATION => ['value' => 'organisation'],
Expand Down Expand Up @@ -1219,6 +1220,7 @@ public function testGetUserDataAsAdmin(): void {
'address' => 'address',
'website' => 'website',
'twitter' => 'twitter',
'bluesky' => 'bluesky',
'fediverse' => 'fediverse',
'groups' => ['group0', 'group1', 'group2'],
'language' => 'de',
Expand Down Expand Up @@ -1332,6 +1334,7 @@ public function testGetUserDataAsSubAdminAndUserIsAccessible(): void {
IAccountManager::PROPERTY_ADDRESS => ['value' => 'address'],
IAccountManager::PROPERTY_PHONE => ['value' => 'phone'],
IAccountManager::PROPERTY_TWITTER => ['value' => 'twitter'],
IAccountManager::PROPERTY_BLUESKY => ['value' => 'bluesky'],
IAccountManager::PROPERTY_FEDIVERSE => ['value' => 'fediverse'],
IAccountManager::PROPERTY_WEBSITE => ['value' => 'website'],
IAccountManager::PROPERTY_ORGANISATION => ['value' => 'organisation'],
Expand Down Expand Up @@ -1364,6 +1367,7 @@ public function testGetUserDataAsSubAdminAndUserIsAccessible(): void {
'address' => 'address',
'website' => 'website',
'twitter' => 'twitter',
'bluesky' => 'bluesky',
'fediverse' => 'fediverse',
'groups' => [],
'language' => 'da',
Expand Down Expand Up @@ -1516,6 +1520,7 @@ public function testGetUserDataAsSubAdminSelfLookup(): void {
IAccountManager::PROPERTY_ADDRESS => ['value' => 'address'],
IAccountManager::PROPERTY_PHONE => ['value' => 'phone'],
IAccountManager::PROPERTY_TWITTER => ['value' => 'twitter'],
IAccountManager::PROPERTY_BLUESKY => ['value' => 'bluesky'],
IAccountManager::PROPERTY_FEDIVERSE => ['value' => 'fediverse'],
IAccountManager::PROPERTY_WEBSITE => ['value' => 'website'],
IAccountManager::PROPERTY_ORGANISATION => ['value' => 'organisation'],
Expand Down Expand Up @@ -1547,6 +1552,7 @@ public function testGetUserDataAsSubAdminSelfLookup(): void {
'address' => 'address',
'website' => 'website',
'twitter' => 'twitter',
'bluesky' => 'bluesky',
'fediverse' => 'fediverse',
'groups' => [],
'language' => 'ru',
Expand Down Expand Up @@ -1894,6 +1900,7 @@ public function testEditUserRegularUserSelfEditChangeEmailInvalid(): void {
public static function selfEditChangePropertyProvider(): array {
return [
[IAccountManager::PROPERTY_TWITTER, '@oldtwitter', '@newtwitter'],
[IAccountManager::PROPERTY_BLUESKY, 'old.bluesky', 'new.bluesky'],
[IAccountManager::PROPERTY_FEDIVERSE, '@[email protected]', '@[email protected]'],
[IAccountManager::PROPERTY_PHONE, '1234', '12345'],
[IAccountManager::PROPERTY_ADDRESS, 'Something street 2', 'Another street 3'],
Expand Down Expand Up @@ -1970,6 +1977,7 @@ public function selfEditChangePropertyScopeProvider() {
[IAccountManager::PROPERTY_DISPLAYNAME, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED],
[IAccountManager::PROPERTY_EMAIL, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED],
[IAccountManager::PROPERTY_TWITTER, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED],
[IAccountManager::PROPERTY_BLUESKY, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED],
[IAccountManager::PROPERTY_FEDIVERSE, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED],
[IAccountManager::PROPERTY_PHONE, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED],
[IAccountManager::PROPERTY_ADDRESS, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED],
Expand Down Expand Up @@ -3856,6 +3864,7 @@ public function testGetCurrentUserLoggedIn(): void {
'address' => 'address',
'website' => 'website',
'twitter' => 'twitter',
'bluesky' => 'bluesky',
'fediverse' => 'fediverse',
'organisation' => 'organisation',
'role' => 'role',
Expand All @@ -3877,6 +3886,7 @@ public function testGetCurrentUserLoggedIn(): void {
'address' => 'address',
'website' => 'website',
'twitter' => 'twitter',
'bluesky' => 'bluesky',
'fediverse' => 'fediverse',
'organisation' => 'organisation',
'role' => 'role',
Expand Down Expand Up @@ -3944,6 +3954,7 @@ public function testGetUser(): void {
'address' => 'address',
'website' => 'website',
'twitter' => 'twitter',
'bluesky' => 'bluesky',
'fediverse' => 'fediverse',
'displayname' => 'Demo User',
'display-name' => 'Demo User',
Expand Down Expand Up @@ -4286,6 +4297,7 @@ public static function dataGetEditableFields(): array {
IAccountManager::PROPERTY_ADDRESS,
IAccountManager::PROPERTY_WEBSITE,
IAccountManager::PROPERTY_TWITTER,
IAccountManager::PROPERTY_BLUESKY,
IAccountManager::PROPERTY_FEDIVERSE,
IAccountManager::PROPERTY_ORGANISATION,
IAccountManager::PROPERTY_ROLE,
Expand All @@ -4301,6 +4313,7 @@ public static function dataGetEditableFields(): array {
IAccountManager::PROPERTY_ADDRESS,
IAccountManager::PROPERTY_WEBSITE,
IAccountManager::PROPERTY_TWITTER,
IAccountManager::PROPERTY_BLUESKY,
IAccountManager::PROPERTY_FEDIVERSE,
IAccountManager::PROPERTY_ORGANISATION,
IAccountManager::PROPERTY_ROLE,
Expand All @@ -4317,6 +4330,7 @@ public static function dataGetEditableFields(): array {
IAccountManager::PROPERTY_ADDRESS,
IAccountManager::PROPERTY_WEBSITE,
IAccountManager::PROPERTY_TWITTER,
IAccountManager::PROPERTY_BLUESKY,
IAccountManager::PROPERTY_FEDIVERSE,
IAccountManager::PROPERTY_ORGANISATION,
IAccountManager::PROPERTY_ROLE,
Expand All @@ -4331,6 +4345,7 @@ public static function dataGetEditableFields(): array {
IAccountManager::PROPERTY_ADDRESS,
IAccountManager::PROPERTY_WEBSITE,
IAccountManager::PROPERTY_TWITTER,
IAccountManager::PROPERTY_BLUESKY,
IAccountManager::PROPERTY_FEDIVERSE,
IAccountManager::PROPERTY_ORGANISATION,
IAccountManager::PROPERTY_ROLE,
Expand All @@ -4346,6 +4361,7 @@ public static function dataGetEditableFields(): array {
IAccountManager::PROPERTY_ADDRESS,
IAccountManager::PROPERTY_WEBSITE,
IAccountManager::PROPERTY_TWITTER,
IAccountManager::PROPERTY_BLUESKY,
IAccountManager::PROPERTY_FEDIVERSE,
IAccountManager::PROPERTY_ORGANISATION,
IAccountManager::PROPERTY_ROLE,
Expand All @@ -4360,6 +4376,7 @@ public static function dataGetEditableFields(): array {
IAccountManager::PROPERTY_ADDRESS,
IAccountManager::PROPERTY_WEBSITE,
IAccountManager::PROPERTY_TWITTER,
IAccountManager::PROPERTY_BLUESKY,
IAccountManager::PROPERTY_FEDIVERSE,
IAccountManager::PROPERTY_ORGANISATION,
IAccountManager::PROPERTY_ROLE,
Expand All @@ -4375,6 +4392,7 @@ public static function dataGetEditableFields(): array {
IAccountManager::PROPERTY_ADDRESS,
IAccountManager::PROPERTY_WEBSITE,
IAccountManager::PROPERTY_TWITTER,
IAccountManager::PROPERTY_BLUESKY,
IAccountManager::PROPERTY_FEDIVERSE,
IAccountManager::PROPERTY_ORGANISATION,
IAccountManager::PROPERTY_ROLE,
Expand All @@ -4389,6 +4407,7 @@ public static function dataGetEditableFields(): array {
IAccountManager::PROPERTY_ADDRESS,
IAccountManager::PROPERTY_WEBSITE,
IAccountManager::PROPERTY_TWITTER,
IAccountManager::PROPERTY_BLUESKY,
IAccountManager::PROPERTY_FEDIVERSE,
IAccountManager::PROPERTY_ORGANISATION,
IAccountManager::PROPERTY_ROLE,
Expand Down
7 changes: 7 additions & 0 deletions apps/settings/lib/Controller/UsersController.php
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,8 @@ protected function canAdminChangeUserPasswords(): bool {
* @param string|null $addressScope
* @param string|null $twitter
* @param string|null $twitterScope
* @param string|null $bluesky
* @param string|null $blueskyScope
* @param string|null $fediverse
* @param string|null $fediverseScope
* @param string|null $birthdate
Expand All @@ -342,6 +344,8 @@ public function setUserSettings(?string $avatarScope = null,
?string $addressScope = null,
?string $twitter = null,
?string $twitterScope = null,
?string $bluesky = null,
?string $blueskyScope = null,
?string $fediverse = null,
?string $fediverseScope = null,
?string $birthdate = null,
Expand Down Expand Up @@ -386,6 +390,7 @@ public function setUserSettings(?string $avatarScope = null,
IAccountManager::PROPERTY_ADDRESS => ['value' => $address, 'scope' => $addressScope],
IAccountManager::PROPERTY_PHONE => ['value' => $phone, 'scope' => $phoneScope],
IAccountManager::PROPERTY_TWITTER => ['value' => $twitter, 'scope' => $twitterScope],
IAccountManager::PROPERTY_BLUESKY => ['value' => $bluesky, 'scope' => $blueskyScope],
IAccountManager::PROPERTY_FEDIVERSE => ['value' => $fediverse, 'scope' => $fediverseScope],
IAccountManager::PROPERTY_BIRTHDATE => ['value' => $birthdate, 'scope' => $birthdateScope],
IAccountManager::PROPERTY_PRONOUNS => ['value' => $pronouns, 'scope' => $pronounsScope],
Expand Down Expand Up @@ -428,6 +433,8 @@ public function setUserSettings(?string $avatarScope = null,
'addressScope' => $userAccount->getProperty(IAccountManager::PROPERTY_ADDRESS)->getScope(),
'twitter' => $userAccount->getProperty(IAccountManager::PROPERTY_TWITTER)->getValue(),
'twitterScope' => $userAccount->getProperty(IAccountManager::PROPERTY_TWITTER)->getScope(),
'bluesky' => $userAccount->getProperty(IAccountManager::PROPERTY_BLUESKY)->getValue(),
'blueskyScope' => $userAccount->getProperty(IAccountManager::PROPERTY_BLUESKY)->getScope(),
'fediverse' => $userAccount->getProperty(IAccountManager::PROPERTY_FEDIVERSE)->getValue(),
'fediverseScope' => $userAccount->getProperty(IAccountManager::PROPERTY_FEDIVERSE)->getScope(),
'birthdate' => $userAccount->getProperty(IAccountManager::PROPERTY_BIRTHDATE)->getValue(),
Expand Down
1 change: 1 addition & 0 deletions apps/settings/lib/Settings/Personal/PersonalInfo.php
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ public function getForm(): TemplateResponse {
'location' => $this->getProperty($account, IAccountManager::PROPERTY_ADDRESS),
'website' => $this->getProperty($account, IAccountManager::PROPERTY_WEBSITE),
'twitter' => $this->getProperty($account, IAccountManager::PROPERTY_TWITTER),
'bluesky' => $this->getProperty($account, IAccountManager::PROPERTY_BLUESKY),
'fediverse' => $this->getProperty($account, IAccountManager::PROPERTY_FEDIVERSE),
'languageMap' => $this->getLanguageMap($user),
'localeMap' => $this->getLocaleMap($user),
Expand Down
Loading
Loading