diff --git a/apps/settings/templates/help.php b/apps/settings/templates/help.php
index 17356e6ccdf8a..d0070d926ec3e 100644
--- a/apps/settings/templates/help.php
+++ b/apps/settings/templates/help.php
@@ -3,57 +3,101 @@
* SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
+
\OCP\Util::addStyle('settings', 'help');
+
+$knowledgebaseEmbedded = ($_['knowledgebaseEmbedded'] ?? false) === true;
+$mode = $_['mode'] ?? '';
+$isAdmin = (bool)($_['admin'] ?? false);
+
+$url = $_['url'] ?? '';
+$urlUserDocs = $_['urlUserDocs'] ?? '';
+$urlAdminDocs = $_['urlAdminDocs'] ?? '';
+$legalNoticeUrl = $_['legalNoticeUrl'] ?? '';
+$privacyUrl = $_['privacyUrl'] ?? '';
+
+$resources = [
+ [
+ 'label' => $l->t('Account documentation'),
+ 'standaloneLabel' => $l->t('Account documentation'),
+ 'href' => $urlUserDocs,
+ 'show' => true,
+ 'embeddedIcon' => 'icon-user',
+ 'embeddedMode' => 'user',
+ 'external' => false,
+ ],
+ [
+ 'label' => $l->t('Administration documentation'),
+ 'standaloneLabel' => $l->t('Administration documentation'),
+ 'href' => $urlAdminDocs,
+ 'show' => $isAdmin,
+ 'embeddedIcon' => 'icon-user-admin',
+ 'embeddedMode' => 'admin',
+ 'external' => false,
+ ],
+ [
+ 'label' => $l->t('Documentation'),
+ 'standaloneLabel' => $l->t('General documentation'),
+ 'href' => 'https://docs.nextcloud.com',
+ 'show' => true,
+ 'embeddedIcon' => 'icon-category-office',
+ 'external' => true,
+ ],
+ [
+ 'label' => $l->t('Forum'),
+ 'standaloneLabel' => $l->t('Forum'),
+ 'href' => 'https://help.nextcloud.com',
+ 'show' => true,
+ 'embeddedIcon' => 'icon-comment',
+ 'external' => true,
+ ],
+ [
+ 'label' => $l->t('Legal notice'),
+ 'standaloneLabel' => $l->t('Legal notice'),
+ 'href' => $legalNoticeUrl,
+ 'show' => !empty($legalNoticeUrl),
+ 'external' => true,
+ ],
+ [
+ 'label' => $l->t('Privacy policy'),
+ 'standaloneLabel' => $l->t('Privacy policy'),
+ 'href' => $privacyUrl,
+ 'show' => !empty($privacyUrl),
+ 'external' => true,
+ ],
+];
?>
-
+
+
-
+
@@ -63,30 +107,19 @@
t('Nextcloud help & privacy resources')); ?>
diff --git a/apps/settings/templates/settings/additional.php b/apps/settings/templates/settings/additional.php
index 9e0b61ef65aad..ef4e9f69ee28d 100644
--- a/apps/settings/templates/settings/additional.php
+++ b/apps/settings/templates/settings/additional.php
@@ -9,8 +9,14 @@
?>
-
-
-
+
+
+
+
diff --git a/apps/settings/templates/settings/admin/overview.php b/apps/settings/templates/settings/admin/overview.php
index 342a7421ada00..0eaabfa16bc33 100644
--- a/apps/settings/templates/settings/admin/overview.php
+++ b/apps/settings/templates/settings/admin/overview.php
@@ -8,12 +8,21 @@
/** @var array $_ */
/** @var \OCP\Defaults $theme */
+$baseUrl = $theme->getBaseUrl();
+$versionLabel = $_['version'] ?? '';
?>
diff --git a/apps/settings/templates/settings/frame.php b/apps/settings/templates/settings/frame.php
index 4ad142f3c5872..678aa1839f97c 100644
--- a/apps/settings/templates/settings/frame.php
+++ b/apps/settings/templates/settings/frame.php
@@ -1,13 +1,26 @@
- data-active-section-id="" data-active-section-type="" >
+>
diff --git a/apps/settings/templates/settings/personal/development.notice.php b/apps/settings/templates/settings/personal/development.notice.php
index c581962a79508..f2b6383112497 100644
--- a/apps/settings/templates/settings/personal/development.notice.php
+++ b/apps/settings/templates/settings/personal/development.notice.php
@@ -3,76 +3,76 @@
* SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
+
+$reasonsPdfLink = $_['reasons-use-nextcloud-pdf-link'] ?? '';
+
+$aboutPlaceholders = [
+ '{communityopen}',
+ '{githubopen}',
+ '{licenseopen}',
+ '{linkclose}',
+];
+$aboutReplacements = [
+ '',
+ '',
+ '',
+ '',
+];
+$aboutText = $l->t(
+ 'Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}.'
+);
+
+$socialLinks = [
+ [
+ 'href' => 'https://www.facebook.com/Nextclouders/',
+ 'icon' => image_path('core', 'facebook-light.svg'),
+ 'label' => $l->t('Like our Facebook page'),
+ ],
+ [
+ 'href' => 'https://bsky.app/profile/nextcloud.bsky.social',
+ 'icon' => image_path('core', 'bluesky-light.svg'),
+ 'label' => $l->t('Follow us on Bluesky'),
+ ],
+ [
+ 'href' => 'https://mastodon.xyz/@nextcloud',
+ 'icon' => image_path('core', 'mastodon-light.svg'),
+ 'label' => $l->t('Follow us on Mastodon'),
+ ],
+ [
+ 'href' => 'https://nextcloud.com/blog/',
+ 'icon' => image_path('core', 'rss.svg'),
+ 'label' => $l->t('Check out our blog'),
+ ],
+ [
+ 'href' => 'https://newsletter.nextcloud.com/?p=subscribe&id=1',
+ 'icon' => image_path('core', 'mail.svg'),
+ 'label' => $l->t('Subscribe to our newsletter'),
+ ],
+];
?>
+
-
+
- t('Reasons to use Nextcloud in your organization'));?>
+ t('Reasons to use Nextcloud in your organization')); ?>
+
- ',
- '',
- '',
- '',
- ],
- $l->t('Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}.')
- )); ?>
+
- ',
- '',
- '',
- '',
- '',
- '',
- $l->t('Like our Facebook page'),
- $l->t('Follow us on Bluesky'),
- $l->t('Follow us on Mastodon'),
- $l->t('Check out our blog'),
- $l->t('Subscribe to our newsletter'),
-
- ],
- '{facebookopen}
{linkclose}
- {blueskyopen}
{linkclose}
- {mastodonopen}
{linkclose}
- {rssopen}
{linkclose}
- {newsletteropen}
{linkclose}'
- )); ?>
+
+
+
+
+
diff --git a/apps/settings/templates/settings/personal/personal.info.php b/apps/settings/templates/settings/personal/personal.info.php
index 9dc789245be29..4b39d6ace1cbf 100644
--- a/apps/settings/templates/settings/personal/personal.info.php
+++ b/apps/settings/templates/settings/personal/personal.info.php
@@ -9,8 +9,39 @@
/** @var array $_ */
\OCP\Util::addScript('settings', 'vue-settings-personal-info');
+
+$isFairUseOfFreePushService = (bool)($_['isFairUseOfFreePushService'] ?? true);
+$profileEnabledGlobally = (bool)($_['profileEnabledGlobally'] ?? false);
+
+$settingSections = [
+ ['id' => 'vue-displayname-section'],
+ ['id' => 'vue-pronouns-section'],
+ ['id' => 'vue-email-section'],
+ ['id' => 'vue-phone-section'],
+ ['id' => 'vue-location-section'],
+ ['id' => 'vue-birthday-section'],
+ ['id' => 'vue-language-section', 'boxClass' => 'personal-settings-setting-box personal-settings-language-box'],
+ ['id' => 'vue-locale-section', 'boxClass' => 'personal-settings-setting-box personal-settings-locale-box'],
+ ['id' => 'vue-fdow-section'],
+ ['id' => 'vue-timezone-section'],
+ ['id' => 'vue-website-section'],
+ ['id' => 'vue-twitter-section'],
+ ['id' => 'vue-bluesky-section'],
+ ['id' => 'vue-fediverse-section'],
+ ['id' => 'vue-organisation-section', 'profileOnly' => true],
+ ['id' => 'vue-role-section', 'profileOnly' => true],
+ ['id' => 'vue-headline-section', 'profileOnly' => true],
+ ['id' => 'vue-biography-section', 'profileOnly' => true],
+];
+
+$renderSettingBox = static function (string $sectionId, string $boxClass = 'personal-settings-setting-box'): void { ?>
+
+
-
+
+
t('This community release of Nextcloud is unsupported and instant notifications are unavailable.')); ?>
@@ -20,8 +51,10 @@
t('Personal info')); ?>
+
-
+
+
@@ -33,67 +66,25 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
+
+
diff --git a/apps/settings/templates/settings/personal/security/twofactor.php b/apps/settings/templates/settings/personal/security/twofactor.php
index 986c28a95e615..0faa9b6d68cfa 100644
--- a/apps/settings/templates/settings/personal/security/twofactor.php
+++ b/apps/settings/templates/settings/personal/security/twofactor.php
@@ -5,38 +5,46 @@
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
+$providerData = $_['twoFactorProviderData'] ?? [];
+$providers = $providerData['providers'] ?? [];
?>
-
t('Two-Factor Authentication'));?>
-
-
t('Use a second factor besides your password to increase security for your account.'));?>
-
t('If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication.'));?>
+
t('Two-Factor Authentication')); ?>
+
+
+
+ t('Use a second factor besides your password to increase security for your account.')); ?>
+
+
+ t('If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication.')); ?>
+
+
-
- -
+
getDarkIcon();
- //fallback icon if the 2factor provider doesn't provide an icon.
- } else {
- $icon = image_path('core', 'actions/password.svg');
- }
- /** @var \OCP\Authentication\TwoFactorAuth\IPersonalProviderSettings $settings */
- $settings = $data['settings'];
- ?>
-
-
- getDisplayName()) ?>
-
- getBody()->fetchPage()) ?>
-
-
+
+ // Handle 2FA provider icons and theme.
+ $icon = $provider instanceof \OCP\Authentication\TwoFactorAuth\IProvidesIcons
+ ? $provider->getDarkIcon()
+ : image_path('core', 'actions/password.svg'); // Fallback icon if 2FA provider doesn't provide one.
+
+ /** @var \OCP\Authentication\TwoFactorAuth\IPersonalProviderSettings $settings */
+ $settings = $data['settings'];
+ ?>
+ -
+
+
+ getDisplayName()); ?>
+
+ getBody()->fetchPage()); ?>
+
+