aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/Command/Config/Preset.php10
-rw-r--r--core/img/actions/bluesky.svg1
-rw-r--r--core/img/bluesky.svg1
-rw-r--r--core/l10n/es.js2
-rw-r--r--core/l10n/es.json2
-rw-r--r--core/l10n/lv.js1
-rw-r--r--core/l10n/lv.json1
-rw-r--r--core/src/components/UnifiedSearch/UnifiedSearchModal.vue17
8 files changed, 15 insertions, 20 deletions
diff --git a/core/Command/Config/Preset.php b/core/Command/Config/Preset.php
index 4f0278896db..ebd8aaa5cdf 100644
--- a/core/Command/Config/Preset.php
+++ b/core/Command/Config/Preset.php
@@ -8,10 +8,9 @@ declare(strict_types=1);
*/
namespace OC\Core\Command\Config;
-use OC\Config\ConfigManager;
+use OC\Config\PresetManager;
use OC\Core\Command\Base;
use OCP\Config\Lexicon\Preset as ConfigLexiconPreset;
-use OCP\IConfig;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
@@ -19,8 +18,7 @@ use Symfony\Component\Console\Output\OutputInterface;
class Preset extends Base {
public function __construct(
- private readonly IConfig $config,
- private readonly ConfigManager $configManager,
+ private readonly PresetManager $presetManager,
) {
parent::__construct();
}
@@ -49,10 +47,10 @@ class Preset extends Base {
return self::INVALID;
}
- $this->configManager->setLexiconPreset($preset);
+ $this->presetManager->setLexiconPreset($preset);
}
- $current = ConfigLexiconPreset::tryFrom($this->config->getSystemValueInt(ConfigManager::PRESET_CONFIGKEY, 0)) ?? ConfigLexiconPreset::NONE;
+ $current = $this->presetManager->getLexiconPreset();
$this->writeArrayInOutputFormat($input, $output, [$current->name], 'current preset: ');
return self::SUCCESS;
}
diff --git a/core/img/actions/bluesky.svg b/core/img/actions/bluesky.svg
new file mode 100644
index 00000000000..5c373b934ea
--- /dev/null
+++ b/core/img/actions/bluesky.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M439.8 358.7C436.5 358.3 433.1 357.9 429.8 357.4C433.2 357.8 436.5 358.3 439.8 358.7zM320 291.1C293.9 240.4 222.9 145.9 156.9 99.3C93.6 54.6 69.5 62.3 53.6 69.5C35.3 77.8 32 105.9 32 122.4C32 138.9 41.1 258 47 277.9C66.5 343.6 136.1 365.8 200.2 358.6C203.5 358.1 206.8 357.7 210.2 357.2C206.9 357.7 203.6 358.2 200.2 358.6C106.3 372.6 22.9 406.8 132.3 528.5C252.6 653.1 297.1 501.8 320 425.1C342.9 501.8 369.2 647.6 505.6 528.5C608 425.1 533.7 372.5 439.8 358.6C436.5 358.2 433.1 357.8 429.8 357.3C433.2 357.7 436.5 358.2 439.8 358.6C503.9 365.7 573.4 343.5 593 277.9C598.9 258 608 139 608 122.4C608 105.8 604.7 77.7 586.4 69.5C570.6 62.4 546.4 54.6 483.2 99.3C417.1 145.9 346.1 240.4 320 291.1z"/></svg> \ No newline at end of file
diff --git a/core/img/bluesky.svg b/core/img/bluesky.svg
new file mode 100644
index 00000000000..5c373b934ea
--- /dev/null
+++ b/core/img/bluesky.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M439.8 358.7C436.5 358.3 433.1 357.9 429.8 357.4C433.2 357.8 436.5 358.3 439.8 358.7zM320 291.1C293.9 240.4 222.9 145.9 156.9 99.3C93.6 54.6 69.5 62.3 53.6 69.5C35.3 77.8 32 105.9 32 122.4C32 138.9 41.1 258 47 277.9C66.5 343.6 136.1 365.8 200.2 358.6C203.5 358.1 206.8 357.7 210.2 357.2C206.9 357.7 203.6 358.2 200.2 358.6C106.3 372.6 22.9 406.8 132.3 528.5C252.6 653.1 297.1 501.8 320 425.1C342.9 501.8 369.2 647.6 505.6 528.5C608 425.1 533.7 372.5 439.8 358.6C436.5 358.2 433.1 357.8 429.8 357.3C433.2 357.7 436.5 358.2 439.8 358.6C503.9 365.7 573.4 343.5 593 277.9C598.9 258 608 139 608 122.4C608 105.8 604.7 77.7 586.4 69.5C570.6 62.4 546.4 54.6 483.2 99.3C417.1 145.9 346.1 240.4 320 291.1z"/></svg> \ No newline at end of file
diff --git a/core/l10n/es.js b/core/l10n/es.js
index ce4a1f15df4..f847367e415 100644
--- a/core/l10n/es.js
+++ b/core/l10n/es.js
@@ -214,7 +214,7 @@ OC.L10N.register(
"Update to {version}" : "Actualice a {version}",
"An error occurred." : "Ocurrió un error.",
"Please reload the page." : "Recargue/Actualice la página",
- "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "La actualización tuvo un problema. Para más información <a href=\"{url}\">consulta nuestro artículo del foro</a> cubriendo este tema.",
+ "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "La actualización tuvo un problema. Para más información <a href=\"{url}\">consulte nuestro artículo del foro</a> que cubre este tema.",
"The update was unsuccessful. Please report this issue to the <a href=\"https://github.com/nextcloud/server/issues\" target=\"_blank\">Nextcloud community</a>." : "La actualización ha fallado. Por favor, informa de este problema a la <a href=\"https://github.com/nextcloud/server/issues\" target=\"_blank\">comunidad de Nextcloud</a>.",
"Continue to {productName}" : "Continuar a {productName}",
"_The update was successful. Redirecting you to {productName} in %n second._::_The update was successful. Redirecting you to {productName} in %n seconds._" : ["La actualización ha terminado con éxito. Redirigiendo a su {productName} en %n segundo. ","La actualización ha terminado con éxito. Redirigiendo a su {productName} en %n segundos. ","La actualización ha terminado con éxito. Redirigiendo a su {productName} en %n segundos. "],
diff --git a/core/l10n/es.json b/core/l10n/es.json
index c4786db8877..dc135135263 100644
--- a/core/l10n/es.json
+++ b/core/l10n/es.json
@@ -212,7 +212,7 @@
"Update to {version}" : "Actualice a {version}",
"An error occurred." : "Ocurrió un error.",
"Please reload the page." : "Recargue/Actualice la página",
- "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "La actualización tuvo un problema. Para más información <a href=\"{url}\">consulta nuestro artículo del foro</a> cubriendo este tema.",
+ "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "La actualización tuvo un problema. Para más información <a href=\"{url}\">consulte nuestro artículo del foro</a> que cubre este tema.",
"The update was unsuccessful. Please report this issue to the <a href=\"https://github.com/nextcloud/server/issues\" target=\"_blank\">Nextcloud community</a>." : "La actualización ha fallado. Por favor, informa de este problema a la <a href=\"https://github.com/nextcloud/server/issues\" target=\"_blank\">comunidad de Nextcloud</a>.",
"Continue to {productName}" : "Continuar a {productName}",
"_The update was successful. Redirecting you to {productName} in %n second._::_The update was successful. Redirecting you to {productName} in %n seconds._" : ["La actualización ha terminado con éxito. Redirigiendo a su {productName} en %n segundo. ","La actualización ha terminado con éxito. Redirigiendo a su {productName} en %n segundos. ","La actualización ha terminado con éxito. Redirigiendo a su {productName} en %n segundos. "],
diff --git a/core/l10n/lv.js b/core/l10n/lv.js
index 9c2c9c30087..e8615d0e635 100644
--- a/core/l10n/lv.js
+++ b/core/l10n/lv.js
@@ -127,6 +127,7 @@ OC.L10N.register(
"Log in to {productName}" : "Pieteikties {productName}",
"Wrong login or password." : "Nepareizs lietotājvārds vai parole.",
"This account is disabled" : "Šis konts ir atspējots",
+ "We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds." : "Mēs esam noteikuši vairākus nederīgus pieteikšanās mēģinājumus no šīs IP adreses, tādējādi nākamā pieteikšanās ir ierobežota līdz 30 sekundēm.",
"Account name or email" : "Konta nosaukums vai e-pasta adrese",
"Account name" : "Konta nosaukums",
"Server side authentication failed!" : "Servera autentifikācija neizdevās!",
diff --git a/core/l10n/lv.json b/core/l10n/lv.json
index f432ed4ea95..93ad6f964b8 100644
--- a/core/l10n/lv.json
+++ b/core/l10n/lv.json
@@ -125,6 +125,7 @@
"Log in to {productName}" : "Pieteikties {productName}",
"Wrong login or password." : "Nepareizs lietotājvārds vai parole.",
"This account is disabled" : "Šis konts ir atspējots",
+ "We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds." : "Mēs esam noteikuši vairākus nederīgus pieteikšanās mēģinājumus no šīs IP adreses, tādējādi nākamā pieteikšanās ir ierobežota līdz 30 sekundēm.",
"Account name or email" : "Konta nosaukums vai e-pasta adrese",
"Account name" : "Konta nosaukums",
"Server side authentication failed!" : "Servera autentifikācija neizdevās!",
diff --git a/core/src/components/UnifiedSearch/UnifiedSearchModal.vue b/core/src/components/UnifiedSearch/UnifiedSearchModal.vue
index 002606f058b..b21c65301c4 100644
--- a/core/src/components/UnifiedSearch/UnifiedSearchModal.vue
+++ b/core/src/components/UnifiedSearch/UnifiedSearchModal.vue
@@ -129,7 +129,7 @@
v-bind="result" />
</ul>
<div class="result-footer">
- <NcButton type="tertiary-no-background" @click="loadMoreResultsForProvider(providerResult)">
+ <NcButton v-if="providerResult.results.length === providerResult.limit" type="tertiary-no-background" @click="loadMoreResultsForProvider(providerResult)">
{{ t('core', 'Load more results') }}
<template #icon>
<IconDotsHorizontal :size="20" />
@@ -367,7 +367,7 @@ export default defineComponent({
this.$refs.searchInput?.focus()
})
},
- find(query: string) {
+ find(query: string, providersToSearchOverride = null) {
if (query.length === 0) {
this.results = []
this.searching = false
@@ -382,7 +382,7 @@ export default defineComponent({
this.searching = true
const newResults = []
- const providersToSearch = this.filteredProviders.length > 0 ? this.filteredProviders : this.providers
+ const providersToSearch = providersToSearchOverride || (this.filteredProviders.length > 0 ? this.filteredProviders : this.providers)
const searchProvider = (provider) => {
const params = {
type: provider.searchFrom ?? provider.id,
@@ -424,6 +424,7 @@ export default defineComponent({
newResults.push({
...provider,
results: response.data.ocs.data.entries,
+ limit: params.limit ?? 5,
})
unifiedSearchLogger.debug('Unified search results:', { results: this.results, newResults })
@@ -513,15 +514,7 @@ export default defineComponent({
},
async loadMoreResultsForProvider(provider) {
this.providerResultLimit += 5
- // Remove all other providers from filteredProviders except the current "loadmore" provider
- this.filteredProviders = this.filteredProviders.filter(filteredProvider => filteredProvider.id === provider.id)
- // Plugin filters may have extra parameters, so we need to keep them
- // See method handlePluginFilter for more details
- if (this.filteredProviders.length > 0 && this.filteredProviders[0].isPluginFilter) {
- provider = this.filteredProviders[0]
- }
- this.addProviderFilter(provider, true)
- this.find(this.searchQuery)
+ this.find(this.searchQuery, [provider])
},
addProviderFilter(providerFilter, loadMoreResultsForProvider = false) {
unifiedSearchLogger.debug('Applying provider filter', { providerFilter, loadMoreResultsForProvider })