From 97bafb3a591342cf34edb5c14aae8cb574cb78e0 Mon Sep 17 00:00:00 2001 From: Philipp Date: Sun, 18 Jul 2021 22:09:11 +0200 Subject: [PATCH 1/8] Extract Storage admin section to own page --- src/Module/Admin/Site.php | 69 ------------- src/Module/Admin/Storage.php | 125 +++++++++++++++++++++++ src/Module/BaseAdmin.php | 1 + static/routes.config.php | 2 + view/templates/admin/site.tpl | 5 - view/templates/admin/storage.tpl | 15 +++ view/theme/frio/templates/admin/site.tpl | 5 - 7 files changed, 143 insertions(+), 79 deletions(-) create mode 100644 src/Module/Admin/Storage.php create mode 100644 view/templates/admin/storage.tpl diff --git a/src/Module/Admin/Site.php b/src/Module/Admin/Site.php index 068b013269..9d0e9c9dad 100644 --- a/src/Module/Admin/Site.php +++ b/src/Module/Admin/Site.php @@ -212,39 +212,6 @@ class Site extends BaseAdmin $relay_user_tags = !empty($_POST['relay_user_tags']); $active_panel = (!empty($_POST['active_panel']) ? "#" . Strings::escapeTags(trim($_POST['active_panel'])) : ''); - $storagebackend = Strings::escapeTags(trim($_POST['storagebackend'] ?? '')); - - // save storage backend form - if (DI::storageManager()->setBackend($storagebackend)) { - $storage_opts = DI::storage()->getOptions(); - $storage_form_prefix = preg_replace('|[^a-zA-Z0-9]|', '', $storagebackend); - $storage_opts_data = []; - foreach ($storage_opts as $name => $info) { - $fieldname = $storage_form_prefix . '_' . $name; - switch ($info[0]) { // type - case 'checkbox': - case 'yesno': - $value = !empty($_POST[$fieldname]); - break; - default: - $value = $_POST[$fieldname] ?? ''; - } - $storage_opts_data[$name] = $value; - } - unset($name); - unset($info); - - $storage_form_errors = DI::storage()->saveOptions($storage_opts_data); - if (count($storage_form_errors)) { - foreach ($storage_form_errors as $name => $err) { - notice('Storage backend, ' . $storage_opts[$name][1] . ': ' . $err); - } - DI::baseUrl()->redirect('admin/site' . $active_panel); - } - } elseif (!empty($storagebackend)) { - notice(DI::l10n()->t('Invalid storage backend setting value.')); - } - // Has the directory url changed? If yes, then resubmit the existing profiles there if ($global_directory != DI::config()->get('system', 'directory') && ($global_directory != '')) { DI::config()->set('system', 'directory', $global_directory); @@ -526,40 +493,6 @@ class Site extends BaseAdmin $diaspora_able = (DI::baseUrl()->getUrlPath() == ''); - $current_storage_backend = DI::storage(); - $available_storage_backends = []; - - // show legacy option only if it is the current backend: - // once changed can't be selected anymore - if ($current_storage_backend == null) { - $available_storage_backends[''] = DI::l10n()->t('Database (legacy)'); - } - - foreach (DI::storageManager()->listBackends() as $name => $class) { - $available_storage_backends[$name] = $name; - } - - // build storage config form, - $storage_form_prefix = preg_replace('|[^a-zA-Z0-9]|' ,'', $current_storage_backend); - - $storage_form = []; - if (!is_null($current_storage_backend) && $current_storage_backend != '') { - foreach ($current_storage_backend->getOptions() as $name => $info) { - $type = $info[0]; - // Backward compatibilty with yesno field description - if ($type == 'yesno') { - $type = 'checkbox'; - // Remove translated labels Yes No from field info - unset($info[4]); - } - - $info[0] = $storage_form_prefix . '_' . $name; - $info['type'] = $type; - $info['field'] = 'field_' . $type . '.tpl'; - $storage_form[$name] = $info; - } - } - $t = Renderer::getMarkupTemplate('admin/site.tpl'); return Renderer::replaceMacros($t, [ '$title' => DI::l10n()->t('Administration'), @@ -600,8 +533,6 @@ class Site extends BaseAdmin '$hide_help' => ['hide_help', DI::l10n()->t('Hide help entry from navigation menu'), DI::config()->get('system', 'hide_help'), DI::l10n()->t('Hides the menu entry for the Help pages from the navigation menu. You can still access it calling /help directly.')], '$singleuser' => ['singleuser', DI::l10n()->t('Single user instance'), DI::config()->get('system', 'singleuser', '---'), DI::l10n()->t('Make this instance multi-user or single-user for the named user'), $user_names], - '$storagebackend' => ['storagebackend', DI::l10n()->t('File storage backend'), $current_storage_backend, DI::l10n()->t('The backend used to store uploaded data. If you change the storage backend, you can manually move the existing files. If you do not do so, the files uploaded before the change will still be available at the old backend. Please see the settings documentation for more information about the choices and the moving procedure.'), $available_storage_backends], - '$storageform' => $storage_form, '$maximagesize' => ['maximagesize', DI::l10n()->t('Maximum image size'), DI::config()->get('system', 'maximagesize'), DI::l10n()->t('Maximum size in bytes of uploaded images. Default is 0, which means no limits.')], '$maximagelength' => ['maximagelength', DI::l10n()->t('Maximum image length'), DI::config()->get('system', 'max_image_length'), DI::l10n()->t('Maximum length in pixels of the longest side of uploaded images. Default is -1, which means no limits.')], '$jpegimagequality' => ['jpegimagequality', DI::l10n()->t('JPEG image quality'), DI::config()->get('system', 'jpeg_quality'), DI::l10n()->t('Uploaded JPEGS will be saved at this quality setting [0-100]. Default is 100, which is full quality.')], diff --git a/src/Module/Admin/Storage.php b/src/Module/Admin/Storage.php new file mode 100644 index 0000000000..1e1678b138 --- /dev/null +++ b/src/Module/Admin/Storage.php @@ -0,0 +1,125 @@ +. + * + */ + +namespace Friendica\Module\Admin; + +use Friendica\Core\Renderer; +use Friendica\DI; +use Friendica\Module\BaseAdmin; +use Friendica\Util\Strings; +use Psr\Log\LogLevel; + +class Storage extends BaseAdmin +{ + public static function post(array $parameters = []) + { + self::checkAdminAccess(); + + self::checkFormSecurityTokenRedirectOnError('/admin/storage', 'admin_storage'); + + $storagebackend = Strings::escapeTags(trim($_POST['storagebackend'] ?? '')); + + // save storage backend form + if (DI::storageManager()->setBackend($storagebackend)) { + $storage_opts = DI::storage()->getOptions(); + $storage_form_prefix = preg_replace('|[^a-zA-Z0-9]|', '', $storagebackend); + $storage_opts_data = []; + foreach ($storage_opts as $name => $info) { + $fieldname = $storage_form_prefix . '_' . $name; + switch ($info[0]) { // type + case 'checkbox': + case 'yesno': + $value = !empty($_POST[$fieldname]); + break; + default: + $value = $_POST[$fieldname] ?? ''; + } + $storage_opts_data[$name] = $value; + } + unset($name); + unset($info); + + $storage_form_errors = DI::storage()->saveOptions($storage_opts_data); + if (count($storage_form_errors)) { + foreach ($storage_form_errors as $name => $err) { + notice('Storage backend, ' . $storage_opts[$name][1] . ': ' . $err); + } + DI::baseUrl()->redirect('admin/storage'); + } + } elseif (!empty($storagebackend)) { + notice(DI::l10n()->t('Invalid storage backend setting value.')); + } + + DI::baseUrl()->redirect('admin/storage'); + } + + public static function content(array $parameters = []) + { + parent::content($parameters); + + $current_storage_backend = DI::storage(); + $available_storage_backends = []; + + // show legacy option only if it is the current backend: + // once changed can't be selected anymore + if ($current_storage_backend == null) { + $available_storage_backends[''] = DI::l10n()->t('Database (legacy)'); + } + + foreach (DI::storageManager()->listBackends() as $name => $class) { + $available_storage_backends[$name] = $name; + } + + // build storage config form, + $storage_form_prefix = preg_replace('|[^a-zA-Z0-9]|' ,'', $current_storage_backend); + + $storage_form = []; + if (!is_null($current_storage_backend) && $current_storage_backend != '') { + foreach ($current_storage_backend->getOptions() as $name => $info) { + $type = $info[0]; + // Backward compatibilty with yesno field description + if ($type == 'yesno') { + $type = 'checkbox'; + // Remove translated labels Yes No from field info + unset($info[4]); + } + + $info[0] = $storage_form_prefix . '_' . $name; + $info['type'] = $type; + $info['field'] = 'field_' . $type . '.tpl'; + $storage_form[$name] = $info; + } + } + + $t = Renderer::getMarkupTemplate('admin/storage.tpl'); + + return Renderer::replaceMacros($t, [ + '$title' => DI::l10n()->t('Administration'), + '$page' => DI::l10n()->t('Storage'), + '$submit' => DI::l10n()->t('Save Settings'), + '$clear' => DI::l10n()->t('Clear'), + '$baseurl' => DI::baseUrl()->get(true), + '$form_security_token' => self::getFormSecurityToken("admin_storage"), + '$storagebackend' => ['storagebackend', DI::l10n()->t('File storage backend'), $current_storage_backend, DI::l10n()->t('The backend used to store uploaded data. If you change the storage backend, you can manually move the existing files. If you do not do so, the files uploaded before the change will still be available at the old backend. Please see the settings documentation for more information about the choices and the moving procedure.'), $available_storage_backends], + '$storageform' => $storage_form, + ]); + } +} diff --git a/src/Module/BaseAdmin.php b/src/Module/BaseAdmin.php index 90b246e432..5d5841f994 100644 --- a/src/Module/BaseAdmin.php +++ b/src/Module/BaseAdmin.php @@ -88,6 +88,7 @@ abstract class BaseAdmin extends BaseModule ]], 'configuration' => [DI::l10n()->t('Configuration'), [ 'site' => ['admin/site' , DI::l10n()->t('Site') , 'site'], + 'storage' => ['admin/storage' , DI::l10n()->t('Storage') , 'storage'], 'users' => ['admin/users' , DI::l10n()->t('Users') , 'users'], 'addons' => ['admin/addons' , DI::l10n()->t('Addons') , 'addons'], 'themes' => ['admin/themes' , DI::l10n()->t('Themes') , 'themes'], diff --git a/static/routes.config.php b/static/routes.config.php index 9780bf3cbe..05e266ff10 100644 --- a/static/routes.config.php +++ b/static/routes.config.php @@ -198,6 +198,8 @@ return [ '/site' => [Module\Admin\Site::class, [R::GET, R::POST]], + '/storage' => [Module\Admin\Storage::class, [R::GET, R::POST]], + '/themes' => [Module\Admin\Themes\Index::class, [R::GET, R::POST]], '/themes/{theme}' => [Module\Admin\Themes\Details::class, [R::GET, R::POST]], '/themes/{theme}/embed' => [Module\Admin\Themes\Embed::class, [R::GET, R::POST]], diff --git a/view/templates/admin/site.tpl b/view/templates/admin/site.tpl index 64d49d3a31..493abef61e 100644 --- a/view/templates/admin/site.tpl +++ b/view/templates/admin/site.tpl @@ -40,11 +40,6 @@

{{$upload}}

- {{include file="field_select.tpl" field=$storagebackend}} - {{foreach from=$storageform item=$field}} - {{include file=$field.field field=$field}} - {{/foreach}} -
{{include file="field_input.tpl" field=$maximagesize}} {{include file="field_input.tpl" field=$maximagelength}} {{include file="field_input.tpl" field=$jpegimagequality}} diff --git a/view/templates/admin/storage.tpl b/view/templates/admin/storage.tpl new file mode 100644 index 0000000000..af4f1fbced --- /dev/null +++ b/view/templates/admin/storage.tpl @@ -0,0 +1,15 @@ +
+

{{$title}} - {{$page}}

+ +
+ + + {{include file="field_select.tpl" field=$storagebackend}} + {{foreach from=$storageform item=$field}} + {{include file=$field.field field=$field}} + {{/foreach}} + +
+ +
+
diff --git a/view/theme/frio/templates/admin/site.tpl b/view/theme/frio/templates/admin/site.tpl index ad87151777..ef8ef9786d 100644 --- a/view/theme/frio/templates/admin/site.tpl +++ b/view/theme/frio/templates/admin/site.tpl @@ -100,11 +100,6 @@
- {{include file="field_select.tpl" field=$storagebackend}} - {{foreach from=$storageform item=$field}} - {{include file=$field.field field=$field}} - {{/foreach}} -
{{include file="field_input.tpl" field=$maximagesize}} {{include file="field_input.tpl" field=$maximagelength}} {{include file="field_input.tpl" field=$jpegimagequality}} From 3647f6f0311e9d620d04b68c8858eb246502940b Mon Sep 17 00:00:00 2001 From: Philipp Date: Sun, 18 Jul 2021 22:36:06 +0200 Subject: [PATCH 2/8] Refactor storage admin setting --- src/Module/Admin/Storage.php | 49 ++++++++++++--------- view/templates/admin/storage.tpl | 11 ++++- view/theme/frio/templates/admin/storage.tpl | 40 +++++++++++++++++ 3 files changed, 77 insertions(+), 23 deletions(-) create mode 100644 view/theme/frio/templates/admin/storage.tpl diff --git a/src/Module/Admin/Storage.php b/src/Module/Admin/Storage.php index 1e1678b138..08d2df316b 100644 --- a/src/Module/Admin/Storage.php +++ b/src/Module/Admin/Storage.php @@ -25,7 +25,6 @@ use Friendica\Core\Renderer; use Friendica\DI; use Friendica\Module\BaseAdmin; use Friendica\Util\Strings; -use Psr\Log\LogLevel; class Storage extends BaseAdmin { @@ -35,11 +34,11 @@ class Storage extends BaseAdmin self::checkFormSecurityTokenRedirectOnError('/admin/storage', 'admin_storage'); - $storagebackend = Strings::escapeTags(trim($_POST['storagebackend'] ?? '')); + $storagebackend = Strings::escapeTags(trim($_POST['storagebackend'] ?? '')); // save storage backend form if (DI::storageManager()->setBackend($storagebackend)) { - $storage_opts = DI::storage()->getOptions(); + $storage_opts = DI::storage()->getOptions(); $storage_form_prefix = preg_replace('|[^a-zA-Z0-9]|', '', $storagebackend); $storage_opts_data = []; foreach ($storage_opts as $name => $info) { @@ -75,8 +74,9 @@ class Storage extends BaseAdmin { parent::content($parameters); - $current_storage_backend = DI::storage(); + $current_storage_backend = DI::storage(); $available_storage_backends = []; + $available_storage_forms = []; // show legacy option only if it is the current backend: // once changed can't be selected anymore @@ -86,14 +86,12 @@ class Storage extends BaseAdmin foreach (DI::storageManager()->listBackends() as $name => $class) { $available_storage_backends[$name] = $name; - } - // build storage config form, - $storage_form_prefix = preg_replace('|[^a-zA-Z0-9]|' ,'', $current_storage_backend); + // build storage config form, + $storage_form_prefix = preg_replace('|[^a-zA-Z0-9]|', '', $current_storage_backend); - $storage_form = []; - if (!is_null($current_storage_backend) && $current_storage_backend != '') { - foreach ($current_storage_backend->getOptions() as $name => $info) { + $storage_form = []; + foreach (DI::storageManager()->getByName($name)->getOptions() as $option => $info) { $type = $info[0]; // Backward compatibilty with yesno field description if ($type == 'yesno') { @@ -102,24 +100,31 @@ class Storage extends BaseAdmin unset($info[4]); } - $info[0] = $storage_form_prefix . '_' . $name; - $info['type'] = $type; - $info['field'] = 'field_' . $type . '.tpl'; - $storage_form[$name] = $info; + $info[0] = $storage_form_prefix . '_' . $option; + $info['type'] = $type; + $info['field'] = 'field_' . $type . '.tpl'; + $storage_form[$option] = $info; + } + + if (count($storage_form) > 0) { + $available_storage_forms[] = [ + 'name' => $name, + 'form' => $storage_form, + ]; } } $t = Renderer::getMarkupTemplate('admin/storage.tpl'); return Renderer::replaceMacros($t, [ - '$title' => DI::l10n()->t('Administration'), - '$page' => DI::l10n()->t('Storage'), - '$submit' => DI::l10n()->t('Save Settings'), - '$clear' => DI::l10n()->t('Clear'), - '$baseurl' => DI::baseUrl()->get(true), - '$form_security_token' => self::getFormSecurityToken("admin_storage"), - '$storagebackend' => ['storagebackend', DI::l10n()->t('File storage backend'), $current_storage_backend, DI::l10n()->t('The backend used to store uploaded data. If you change the storage backend, you can manually move the existing files. If you do not do so, the files uploaded before the change will still be available at the old backend. Please see the settings documentation for more information about the choices and the moving procedure.'), $available_storage_backends], - '$storageform' => $storage_form, + '$title' => DI::l10n()->t('Administration'), + '$page' => DI::l10n()->t('Storage'), + '$submit' => DI::l10n()->t('Save Settings'), + '$clear' => DI::l10n()->t('Clear'), + '$baseurl' => DI::baseUrl()->get(true), + '$form_security_token' => self::getFormSecurityToken("admin_storage"), + '$storagebackend' => ['storagebackend', DI::l10n()->t('File storage backend'), $current_storage_backend, DI::l10n()->t('The backend used to store uploaded data. If you change the storage backend, you can manually move the existing files. If you do not do so, the files uploaded before the change will still be available at the old backend. Please see the settings documentation for more information about the choices and the moving procedure.'), $available_storage_backends], + '$availablestorageforms' => $available_storage_forms, ]); } } diff --git a/view/templates/admin/storage.tpl b/view/templates/admin/storage.tpl index af4f1fbced..760d97a649 100644 --- a/view/templates/admin/storage.tpl +++ b/view/templates/admin/storage.tpl @@ -4,10 +4,19 @@
+

Storage Backend

+ {{include file="field_select.tpl" field=$storagebackend}} - {{foreach from=$storageform item=$field}} +
+ +

Storage Configuration

+ + {{foreach from=$availablestorageforms item=$storage}} +

{{$storage.name}}

+ {{foreach from=$storage.form item=$field}} {{include file=$field.field field=$field}} {{/foreach}} + {{/foreach}}
diff --git a/view/theme/frio/templates/admin/storage.tpl b/view/theme/frio/templates/admin/storage.tpl new file mode 100644 index 0000000000..4174c071d2 --- /dev/null +++ b/view/theme/frio/templates/admin/storage.tpl @@ -0,0 +1,40 @@ + + +
+

{{$title}} - {{$page}}

+ + + + +

Storage Backend

+ + {{include file="field_select.tpl" field=$storagebackend}} + + +

Storage Configuration

+ + {{foreach from=$availablestorageforms item=$storage}} +
+ +
+
+ {{foreach from=$storage.form item=$field}} + {{include file=$field.field field=$field}} + {{/foreach}} +
+ +
+
+ + {{/foreach}} + + +
From cbe522ee823ba73481fc5a702759753258c3929f Mon Sep 17 00:00:00 2001 From: Philipp Date: Sun, 18 Jul 2021 23:09:45 +0200 Subject: [PATCH 3/8] Fixings --- src/Module/Admin/Storage.php | 54 +++++++++++---------- view/templates/admin/storage.tpl | 4 +- view/theme/frio/templates/admin/storage.tpl | 10 ++-- 3 files changed, 36 insertions(+), 32 deletions(-) diff --git a/src/Module/Admin/Storage.php b/src/Module/Admin/Storage.php index 08d2df316b..19379beeba 100644 --- a/src/Module/Admin/Storage.php +++ b/src/Module/Admin/Storage.php @@ -23,6 +23,7 @@ namespace Friendica\Module\Admin; use Friendica\Core\Renderer; use Friendica\DI; +use Friendica\Model\Storage\IStorage; use Friendica\Module\BaseAdmin; use Friendica\Util\Strings; @@ -35,35 +36,37 @@ class Storage extends BaseAdmin self::checkFormSecurityTokenRedirectOnError('/admin/storage', 'admin_storage'); $storagebackend = Strings::escapeTags(trim($_POST['storagebackend'] ?? '')); + /** @var IStorage $newstorage */ + $newstorage = DI::storageManager()->getByName($storagebackend); // save storage backend form - if (DI::storageManager()->setBackend($storagebackend)) { - $storage_opts = DI::storage()->getOptions(); - $storage_form_prefix = preg_replace('|[^a-zA-Z0-9]|', '', $storagebackend); - $storage_opts_data = []; - foreach ($storage_opts as $name => $info) { - $fieldname = $storage_form_prefix . '_' . $name; - switch ($info[0]) { // type - case 'checkbox': - case 'yesno': - $value = !empty($_POST[$fieldname]); - break; - default: - $value = $_POST[$fieldname] ?? ''; - } - $storage_opts_data[$name] = $value; + $storage_opts = $newstorage->getOptions(); + $storage_form_prefix = preg_replace('|[^a-zA-Z0-9]|', '', $storagebackend); + $storage_opts_data = []; + foreach ($storage_opts as $name => $info) { + $fieldname = $storage_form_prefix . '_' . $name; + switch ($info[0]) { // type + case 'checkbox': + case 'yesno': + $value = !empty($_POST[$fieldname]); + break; + default: + $value = $_POST[$fieldname] ?? ''; } - unset($name); - unset($info); + $storage_opts_data[$name] = $value; + } + unset($name); + unset($info); - $storage_form_errors = DI::storage()->saveOptions($storage_opts_data); - if (count($storage_form_errors)) { - foreach ($storage_form_errors as $name => $err) { - notice('Storage backend, ' . $storage_opts[$name][1] . ': ' . $err); - } - DI::baseUrl()->redirect('admin/storage'); + $storage_form_errors = $newstorage->saveOptions($storage_opts_data); + if (count($storage_form_errors)) { + foreach ($storage_form_errors as $name => $err) { + notice('Storage backend, ' . $storage_opts[$name][1] . ': ' . $err); } - } elseif (!empty($storagebackend)) { + DI::baseUrl()->redirect('admin/storage'); + } + + if (empty($storagebackend) || !DI::storageManager()->setBackend($storagebackend)) { notice(DI::l10n()->t('Invalid storage backend setting value.')); } @@ -88,7 +91,7 @@ class Storage extends BaseAdmin $available_storage_backends[$name] = $name; // build storage config form, - $storage_form_prefix = preg_replace('|[^a-zA-Z0-9]|', '', $current_storage_backend); + $storage_form_prefix = preg_replace('|[^a-zA-Z0-9]|', '', $name); $storage_form = []; foreach (DI::storageManager()->getByName($name)->getOptions() as $option => $info) { @@ -109,6 +112,7 @@ class Storage extends BaseAdmin if (count($storage_form) > 0) { $available_storage_forms[] = [ 'name' => $name, + 'prefix' => $storage_form_prefix, 'form' => $storage_form, ]; } diff --git a/view/templates/admin/storage.tpl b/view/templates/admin/storage.tpl index 760d97a649..10bdb1e0f8 100644 --- a/view/templates/admin/storage.tpl +++ b/view/templates/admin/storage.tpl @@ -7,7 +7,7 @@

Storage Backend

{{include file="field_select.tpl" field=$storagebackend}} -
+

Storage Configuration

@@ -18,7 +18,7 @@ {{/foreach}} {{/foreach}} -
+
diff --git a/view/theme/frio/templates/admin/storage.tpl b/view/theme/frio/templates/admin/storage.tpl index 4174c071d2..ed889bf1d8 100644 --- a/view/theme/frio/templates/admin/storage.tpl +++ b/view/theme/frio/templates/admin/storage.tpl @@ -9,27 +9,27 @@

Storage Backend

{{include file="field_select.tpl" field=$storagebackend}} - +

Storage Configuration

{{foreach from=$availablestorageforms item=$storage}}
- Change default theme settings" msgstr "" -#: src/Module/Admin/Site.php:597 +#: src/Module/Admin/Site.php:530 msgid "Mobile system theme" msgstr "" -#: src/Module/Admin/Site.php:597 +#: src/Module/Admin/Site.php:530 msgid "Theme for mobile devices" msgstr "" -#: src/Module/Admin/Site.php:598 src/Module/Install.php:225 +#: src/Module/Admin/Site.php:531 src/Module/Install.php:225 msgid "SSL link policy" msgstr "" -#: src/Module/Admin/Site.php:598 src/Module/Install.php:227 +#: src/Module/Admin/Site.php:531 src/Module/Install.php:227 msgid "Determines whether generated links should be forced to use SSL" msgstr "" -#: src/Module/Admin/Site.php:599 +#: src/Module/Admin/Site.php:532 msgid "Force SSL" msgstr "" -#: src/Module/Admin/Site.php:599 +#: src/Module/Admin/Site.php:532 msgid "" "Force all Non-SSL requests to SSL - Attention: on some systems it could lead " "to endless loops." msgstr "" -#: src/Module/Admin/Site.php:600 +#: src/Module/Admin/Site.php:533 msgid "Hide help entry from navigation menu" msgstr "" -#: src/Module/Admin/Site.php:600 +#: src/Module/Admin/Site.php:533 msgid "" "Hides the menu entry for the Help pages from the navigation menu. You can " "still access it calling /help directly." msgstr "" -#: src/Module/Admin/Site.php:601 +#: src/Module/Admin/Site.php:534 msgid "Single user instance" msgstr "" -#: src/Module/Admin/Site.php:601 +#: src/Module/Admin/Site.php:534 msgid "Make this instance multi-user or single-user for the named user" msgstr "" -#: src/Module/Admin/Site.php:603 -msgid "File storage backend" -msgstr "" - -#: src/Module/Admin/Site.php:603 -msgid "" -"The backend used to store uploaded data. If you change the storage backend, " -"you can manually move the existing files. If you do not do so, the files " -"uploaded before the change will still be available at the old backend. " -"Please see the settings documentation " -"for more information about the choices and the moving procedure." -msgstr "" - -#: src/Module/Admin/Site.php:605 +#: src/Module/Admin/Site.php:536 msgid "Maximum image size" msgstr "" -#: src/Module/Admin/Site.php:605 +#: src/Module/Admin/Site.php:536 msgid "" "Maximum size in bytes of uploaded images. Default is 0, which means no " "limits." msgstr "" -#: src/Module/Admin/Site.php:606 +#: src/Module/Admin/Site.php:537 msgid "Maximum image length" msgstr "" -#: src/Module/Admin/Site.php:606 +#: src/Module/Admin/Site.php:537 msgid "" "Maximum length in pixels of the longest side of uploaded images. Default is " "-1, which means no limits." msgstr "" -#: src/Module/Admin/Site.php:607 +#: src/Module/Admin/Site.php:538 msgid "JPEG image quality" msgstr "" -#: src/Module/Admin/Site.php:607 +#: src/Module/Admin/Site.php:538 msgid "" "Uploaded JPEGS will be saved at this quality setting [0-100]. Default is " "100, which is full quality." msgstr "" -#: src/Module/Admin/Site.php:609 +#: src/Module/Admin/Site.php:540 msgid "Register policy" msgstr "" -#: src/Module/Admin/Site.php:610 +#: src/Module/Admin/Site.php:541 msgid "Maximum Daily Registrations" msgstr "" -#: src/Module/Admin/Site.php:610 +#: src/Module/Admin/Site.php:541 msgid "" "If registration is permitted above, this sets the maximum number of new user " "registrations to accept per day. If register is set to closed, this setting " "has no effect." msgstr "" -#: src/Module/Admin/Site.php:611 +#: src/Module/Admin/Site.php:542 msgid "Register text" msgstr "" -#: src/Module/Admin/Site.php:611 +#: src/Module/Admin/Site.php:542 msgid "" "Will be displayed prominently on the registration page. You can use BBCode " "here." msgstr "" -#: src/Module/Admin/Site.php:612 +#: src/Module/Admin/Site.php:543 msgid "Forbidden Nicknames" msgstr "" -#: src/Module/Admin/Site.php:612 +#: src/Module/Admin/Site.php:543 msgid "" "Comma separated list of nicknames that are forbidden from registration. " "Preset is a list of role names according RFC 2142." msgstr "" -#: src/Module/Admin/Site.php:613 +#: src/Module/Admin/Site.php:544 msgid "Accounts abandoned after x days" msgstr "" -#: src/Module/Admin/Site.php:613 +#: src/Module/Admin/Site.php:544 msgid "" "Will not waste system resources polling external sites for abandonded " "accounts. Enter 0 for no time limit." msgstr "" -#: src/Module/Admin/Site.php:614 +#: src/Module/Admin/Site.php:545 msgid "Allowed friend domains" msgstr "" -#: src/Module/Admin/Site.php:614 +#: src/Module/Admin/Site.php:545 msgid "" "Comma separated list of domains which are allowed to establish friendships " "with this site. Wildcards are accepted. Empty to allow any domains" msgstr "" -#: src/Module/Admin/Site.php:615 +#: src/Module/Admin/Site.php:546 msgid "Allowed email domains" msgstr "" -#: src/Module/Admin/Site.php:615 +#: src/Module/Admin/Site.php:546 msgid "" "Comma separated list of domains which are allowed in email addresses for " "registrations to this site. Wildcards are accepted. Empty to allow any " "domains" msgstr "" -#: src/Module/Admin/Site.php:616 +#: src/Module/Admin/Site.php:547 msgid "No OEmbed rich content" msgstr "" -#: src/Module/Admin/Site.php:616 +#: src/Module/Admin/Site.php:547 msgid "" "Don't show the rich content (e.g. embedded PDF), except from the domains " "listed below." msgstr "" -#: src/Module/Admin/Site.php:617 +#: src/Module/Admin/Site.php:548 msgid "Trusted third-party domains" msgstr "" -#: src/Module/Admin/Site.php:617 +#: src/Module/Admin/Site.php:548 msgid "" "Comma separated list of domains from which content is allowed to be embedded " "in posts like with OEmbed. All sub-domains of the listed domains are allowed " "as well." msgstr "" -#: src/Module/Admin/Site.php:618 +#: src/Module/Admin/Site.php:549 msgid "Block public" msgstr "" -#: src/Module/Admin/Site.php:618 +#: src/Module/Admin/Site.php:549 msgid "" "Check to block public access to all otherwise public personal pages on this " "site unless you are currently logged in." msgstr "" -#: src/Module/Admin/Site.php:619 +#: src/Module/Admin/Site.php:550 msgid "Force publish" msgstr "" -#: src/Module/Admin/Site.php:619 +#: src/Module/Admin/Site.php:550 msgid "" "Check to force all profiles on this site to be listed in the site directory." msgstr "" -#: src/Module/Admin/Site.php:619 +#: src/Module/Admin/Site.php:550 msgid "Enabling this may violate privacy laws like the GDPR" msgstr "" -#: src/Module/Admin/Site.php:620 +#: src/Module/Admin/Site.php:551 msgid "Global directory URL" msgstr "" -#: src/Module/Admin/Site.php:620 +#: src/Module/Admin/Site.php:551 msgid "" "URL to the global directory. If this is not set, the global directory is " "completely unavailable to the application." msgstr "" -#: src/Module/Admin/Site.php:621 +#: src/Module/Admin/Site.php:552 msgid "Private posts by default for new users" msgstr "" -#: src/Module/Admin/Site.php:621 +#: src/Module/Admin/Site.php:552 msgid "" "Set default post permissions for all new members to the default privacy " "group rather than public." msgstr "" -#: src/Module/Admin/Site.php:622 +#: src/Module/Admin/Site.php:553 msgid "Don't include post content in email notifications" msgstr "" -#: src/Module/Admin/Site.php:622 +#: src/Module/Admin/Site.php:553 msgid "" "Don't include the content of a post/comment/private message/etc. in the " "email notifications that are sent out from this site, as a privacy measure." msgstr "" -#: src/Module/Admin/Site.php:623 +#: src/Module/Admin/Site.php:554 msgid "Disallow public access to addons listed in the apps menu." msgstr "" -#: src/Module/Admin/Site.php:623 +#: src/Module/Admin/Site.php:554 msgid "" "Checking this box will restrict addons listed in the apps menu to members " "only." msgstr "" -#: src/Module/Admin/Site.php:624 +#: src/Module/Admin/Site.php:555 msgid "Don't embed private images in posts" msgstr "" -#: src/Module/Admin/Site.php:624 +#: src/Module/Admin/Site.php:555 msgid "" "Don't replace locally-hosted private photos in posts with an embedded copy " "of the image. This means that contacts who receive posts containing private " "photos will have to authenticate and load each image, which may take a while." msgstr "" -#: src/Module/Admin/Site.php:625 +#: src/Module/Admin/Site.php:556 msgid "Explicit Content" msgstr "" -#: src/Module/Admin/Site.php:625 +#: src/Module/Admin/Site.php:556 msgid "" "Set this to announce that your node is used mostly for explicit content that " "might not be suited for minors. This information will be published in the " @@ -6034,234 +6013,234 @@ msgid "" "will be shown at the user registration page." msgstr "" -#: src/Module/Admin/Site.php:626 +#: src/Module/Admin/Site.php:557 msgid "Allow Users to set remote_self" msgstr "" -#: src/Module/Admin/Site.php:626 +#: src/Module/Admin/Site.php:557 msgid "" "With checking this, every user is allowed to mark every contact as a " "remote_self in the repair contact dialog. Setting this flag on a contact " "causes mirroring every posting of that contact in the users stream." msgstr "" -#: src/Module/Admin/Site.php:627 +#: src/Module/Admin/Site.php:558 msgid "Block multiple registrations" msgstr "" -#: src/Module/Admin/Site.php:627 +#: src/Module/Admin/Site.php:558 msgid "Disallow users to register additional accounts for use as pages." msgstr "" -#: src/Module/Admin/Site.php:628 +#: src/Module/Admin/Site.php:559 msgid "Disable OpenID" msgstr "" -#: src/Module/Admin/Site.php:628 +#: src/Module/Admin/Site.php:559 msgid "Disable OpenID support for registration and logins." msgstr "" -#: src/Module/Admin/Site.php:629 +#: src/Module/Admin/Site.php:560 msgid "No Fullname check" msgstr "" -#: src/Module/Admin/Site.php:629 +#: src/Module/Admin/Site.php:560 msgid "" "Allow users to register without a space between the first name and the last " "name in their full name." msgstr "" -#: src/Module/Admin/Site.php:630 +#: src/Module/Admin/Site.php:561 msgid "Community pages for visitors" msgstr "" -#: src/Module/Admin/Site.php:630 +#: src/Module/Admin/Site.php:561 msgid "" "Which community pages should be available for visitors. Local users always " "see both pages." msgstr "" -#: src/Module/Admin/Site.php:631 +#: src/Module/Admin/Site.php:562 msgid "Posts per user on community page" msgstr "" -#: src/Module/Admin/Site.php:631 +#: src/Module/Admin/Site.php:562 msgid "" "The maximum number of posts per user on the community page. (Not valid for " "\"Global Community\")" msgstr "" -#: src/Module/Admin/Site.php:632 +#: src/Module/Admin/Site.php:563 msgid "Disable OStatus support" msgstr "" -#: src/Module/Admin/Site.php:632 +#: src/Module/Admin/Site.php:563 msgid "" "Disable built-in OStatus (StatusNet, GNU Social etc.) compatibility. All " "communications in OStatus are public, so privacy warnings will be " "occasionally displayed." msgstr "" -#: src/Module/Admin/Site.php:633 +#: src/Module/Admin/Site.php:564 msgid "OStatus support can only be enabled if threading is enabled." msgstr "" -#: src/Module/Admin/Site.php:635 +#: src/Module/Admin/Site.php:566 msgid "" "Diaspora support can't be enabled because Friendica was installed into a sub " "directory." msgstr "" -#: src/Module/Admin/Site.php:636 +#: src/Module/Admin/Site.php:567 msgid "Enable Diaspora support" msgstr "" -#: src/Module/Admin/Site.php:636 +#: src/Module/Admin/Site.php:567 msgid "Provide built-in Diaspora network compatibility." msgstr "" -#: src/Module/Admin/Site.php:637 +#: src/Module/Admin/Site.php:568 msgid "Only allow Friendica contacts" msgstr "" -#: src/Module/Admin/Site.php:637 +#: src/Module/Admin/Site.php:568 msgid "" "All contacts must use Friendica protocols. All other built-in communication " "protocols disabled." msgstr "" -#: src/Module/Admin/Site.php:638 +#: src/Module/Admin/Site.php:569 msgid "Verify SSL" msgstr "" -#: src/Module/Admin/Site.php:638 +#: src/Module/Admin/Site.php:569 msgid "" "If you wish, you can turn on strict certificate checking. This will mean you " "cannot connect (at all) to self-signed SSL sites." msgstr "" -#: src/Module/Admin/Site.php:639 +#: src/Module/Admin/Site.php:570 msgid "Proxy user" msgstr "" -#: src/Module/Admin/Site.php:640 +#: src/Module/Admin/Site.php:571 msgid "Proxy URL" msgstr "" -#: src/Module/Admin/Site.php:641 +#: src/Module/Admin/Site.php:572 msgid "Network timeout" msgstr "" -#: src/Module/Admin/Site.php:641 +#: src/Module/Admin/Site.php:572 msgid "Value is in seconds. Set to 0 for unlimited (not recommended)." msgstr "" -#: src/Module/Admin/Site.php:642 +#: src/Module/Admin/Site.php:573 msgid "Maximum Load Average" msgstr "" -#: src/Module/Admin/Site.php:642 +#: src/Module/Admin/Site.php:573 #, php-format msgid "" "Maximum system load before delivery and poll processes are deferred - " "default %d." msgstr "" -#: src/Module/Admin/Site.php:643 +#: src/Module/Admin/Site.php:574 msgid "Maximum Load Average (Frontend)" msgstr "" -#: src/Module/Admin/Site.php:643 +#: src/Module/Admin/Site.php:574 msgid "Maximum system load before the frontend quits service - default 50." msgstr "" -#: src/Module/Admin/Site.php:644 +#: src/Module/Admin/Site.php:575 msgid "Minimal Memory" msgstr "" -#: src/Module/Admin/Site.php:644 +#: src/Module/Admin/Site.php:575 msgid "" "Minimal free memory in MB for the worker. Needs access to /proc/meminfo - " "default 0 (deactivated)." msgstr "" -#: src/Module/Admin/Site.php:645 +#: src/Module/Admin/Site.php:576 msgid "Periodically optimize tables" msgstr "" -#: src/Module/Admin/Site.php:645 +#: src/Module/Admin/Site.php:576 msgid "Periodically optimize tables like the cache and the workerqueue" msgstr "" -#: src/Module/Admin/Site.php:647 +#: src/Module/Admin/Site.php:578 msgid "Discover followers/followings from contacts" msgstr "" -#: src/Module/Admin/Site.php:647 +#: src/Module/Admin/Site.php:578 msgid "" "If enabled, contacts are checked for their followers and following contacts." msgstr "" -#: src/Module/Admin/Site.php:648 +#: src/Module/Admin/Site.php:579 msgid "None - deactivated" msgstr "" -#: src/Module/Admin/Site.php:649 +#: src/Module/Admin/Site.php:580 msgid "" "Local contacts - contacts of our local contacts are discovered for their " "followers/followings." msgstr "" -#: src/Module/Admin/Site.php:650 +#: src/Module/Admin/Site.php:581 msgid "" "Interactors - contacts of our local contacts and contacts who interacted on " "locally visible postings are discovered for their followers/followings." msgstr "" -#: src/Module/Admin/Site.php:652 +#: src/Module/Admin/Site.php:583 msgid "Synchronize the contacts with the directory server" msgstr "" -#: src/Module/Admin/Site.php:652 +#: src/Module/Admin/Site.php:583 msgid "" "if enabled, the system will check periodically for new contacts on the " "defined directory server." msgstr "" -#: src/Module/Admin/Site.php:654 +#: src/Module/Admin/Site.php:585 msgid "Days between requery" msgstr "" -#: src/Module/Admin/Site.php:654 +#: src/Module/Admin/Site.php:585 msgid "Number of days after which a server is requeried for his contacts." msgstr "" -#: src/Module/Admin/Site.php:655 +#: src/Module/Admin/Site.php:586 msgid "Discover contacts from other servers" msgstr "" -#: src/Module/Admin/Site.php:655 +#: src/Module/Admin/Site.php:586 msgid "" "Periodically query other servers for contacts. The system queries Friendica, " "Mastodon and Hubzilla servers." msgstr "" -#: src/Module/Admin/Site.php:656 +#: src/Module/Admin/Site.php:587 msgid "Search the local directory" msgstr "" -#: src/Module/Admin/Site.php:656 +#: src/Module/Admin/Site.php:587 msgid "" "Search the local directory instead of the global directory. When searching " "locally, every search will be executed on the global directory in the " "background. This improves the search results when the search is repeated." msgstr "" -#: src/Module/Admin/Site.php:658 +#: src/Module/Admin/Site.php:589 msgid "Publish server information" msgstr "" -#: src/Module/Admin/Site.php:658 +#: src/Module/Admin/Site.php:589 msgid "" "If enabled, general server and usage data will be published. The data " "contains the name and version of the server, number of users with public " @@ -6269,50 +6248,50 @@ msgid "" "href=\"http://the-federation.info/\">the-federation.info for details." msgstr "" -#: src/Module/Admin/Site.php:660 +#: src/Module/Admin/Site.php:591 msgid "Check upstream version" msgstr "" -#: src/Module/Admin/Site.php:660 +#: src/Module/Admin/Site.php:591 msgid "" "Enables checking for new Friendica versions at github. If there is a new " "version, you will be informed in the admin panel overview." msgstr "" -#: src/Module/Admin/Site.php:661 +#: src/Module/Admin/Site.php:592 msgid "Suppress Tags" msgstr "" -#: src/Module/Admin/Site.php:661 +#: src/Module/Admin/Site.php:592 msgid "Suppress showing a list of hashtags at the end of the posting." msgstr "" -#: src/Module/Admin/Site.php:662 +#: src/Module/Admin/Site.php:593 msgid "Clean database" msgstr "" -#: src/Module/Admin/Site.php:662 +#: src/Module/Admin/Site.php:593 msgid "" "Remove old remote items, orphaned database records and old content from some " "other helper tables." msgstr "" -#: src/Module/Admin/Site.php:663 +#: src/Module/Admin/Site.php:594 msgid "Lifespan of remote items" msgstr "" -#: src/Module/Admin/Site.php:663 +#: src/Module/Admin/Site.php:594 msgid "" "When the database cleanup is enabled, this defines the days after which " "remote items will be deleted. Own items, and marked or filed items are " "always kept. 0 disables this behaviour." msgstr "" -#: src/Module/Admin/Site.php:664 +#: src/Module/Admin/Site.php:595 msgid "Lifespan of unclaimed items" msgstr "" -#: src/Module/Admin/Site.php:664 +#: src/Module/Admin/Site.php:595 msgid "" "When the database cleanup is enabled, this defines the days after which " "unclaimed remote items (mostly content from the relay) will be deleted. " @@ -6320,159 +6299,187 @@ msgid "" "items if set to 0." msgstr "" -#: src/Module/Admin/Site.php:665 +#: src/Module/Admin/Site.php:596 msgid "Lifespan of raw conversation data" msgstr "" -#: src/Module/Admin/Site.php:665 +#: src/Module/Admin/Site.php:596 msgid "" "The conversation data is used for ActivityPub and OStatus, as well as for " "debug purposes. It should be safe to remove it after 14 days, default is 90 " "days." msgstr "" -#: src/Module/Admin/Site.php:666 +#: src/Module/Admin/Site.php:597 msgid "Maximum numbers of comments per post" msgstr "" -#: src/Module/Admin/Site.php:666 +#: src/Module/Admin/Site.php:597 msgid "How much comments should be shown for each post? Default value is 100." msgstr "" -#: src/Module/Admin/Site.php:667 +#: src/Module/Admin/Site.php:598 msgid "Maximum numbers of comments per post on the display page" msgstr "" -#: src/Module/Admin/Site.php:667 +#: src/Module/Admin/Site.php:598 msgid "" "How many comments should be shown on the single view for each post? Default " "value is 1000." msgstr "" -#: src/Module/Admin/Site.php:668 +#: src/Module/Admin/Site.php:599 msgid "Temp path" msgstr "" -#: src/Module/Admin/Site.php:668 +#: src/Module/Admin/Site.php:599 msgid "" "If you have a restricted system where the webserver can't access the system " "temp path, enter another path here." msgstr "" -#: src/Module/Admin/Site.php:669 +#: src/Module/Admin/Site.php:600 msgid "Only search in tags" msgstr "" -#: src/Module/Admin/Site.php:669 +#: src/Module/Admin/Site.php:600 msgid "On large systems the text search can slow down the system extremely." msgstr "" -#: src/Module/Admin/Site.php:671 +#: src/Module/Admin/Site.php:602 msgid "New base url" msgstr "" -#: src/Module/Admin/Site.php:671 +#: src/Module/Admin/Site.php:602 msgid "" "Change base url for this server. Sends relocate message to all Friendica and " "Diaspora* contacts of all users." msgstr "" -#: src/Module/Admin/Site.php:673 +#: src/Module/Admin/Site.php:604 msgid "RINO Encryption" msgstr "" -#: src/Module/Admin/Site.php:673 +#: src/Module/Admin/Site.php:604 msgid "Encryption layer between nodes." msgstr "" -#: src/Module/Admin/Site.php:673 src/Module/Admin/Site.php:679 +#: src/Module/Admin/Site.php:604 src/Module/Admin/Site.php:610 #: src/Module/Contact.php:527 src/Module/Settings/TwoFactor/Index.php:118 msgid "Disabled" msgstr "" -#: src/Module/Admin/Site.php:673 +#: src/Module/Admin/Site.php:604 msgid "Enabled" msgstr "" -#: src/Module/Admin/Site.php:675 +#: src/Module/Admin/Site.php:606 msgid "Maximum number of parallel workers" msgstr "" -#: src/Module/Admin/Site.php:675 +#: src/Module/Admin/Site.php:606 #, php-format msgid "" "On shared hosters set this to %d. On larger systems, values of %d are great. " "Default value is %d." msgstr "" -#: src/Module/Admin/Site.php:676 +#: src/Module/Admin/Site.php:607 msgid "Enable fastlane" msgstr "" -#: src/Module/Admin/Site.php:676 +#: src/Module/Admin/Site.php:607 msgid "" "When enabed, the fastlane mechanism starts an additional worker if processes " "with higher priority are blocked by processes of lower priority." msgstr "" -#: src/Module/Admin/Site.php:678 +#: src/Module/Admin/Site.php:609 msgid "Direct relay transfer" msgstr "" -#: src/Module/Admin/Site.php:678 +#: src/Module/Admin/Site.php:609 msgid "" "Enables the direct transfer to other servers without using the relay servers" msgstr "" -#: src/Module/Admin/Site.php:679 +#: src/Module/Admin/Site.php:610 msgid "Relay scope" msgstr "" -#: src/Module/Admin/Site.php:679 +#: src/Module/Admin/Site.php:610 msgid "" "Can be \"all\" or \"tags\". \"all\" means that every public post should be " "received. \"tags\" means that only posts with selected tags should be " "received." msgstr "" -#: src/Module/Admin/Site.php:679 +#: src/Module/Admin/Site.php:610 msgid "all" msgstr "" -#: src/Module/Admin/Site.php:679 +#: src/Module/Admin/Site.php:610 msgid "tags" msgstr "" -#: src/Module/Admin/Site.php:680 +#: src/Module/Admin/Site.php:611 msgid "Server tags" msgstr "" -#: src/Module/Admin/Site.php:680 +#: src/Module/Admin/Site.php:611 msgid "Comma separated list of tags for the \"tags\" subscription." msgstr "" -#: src/Module/Admin/Site.php:681 +#: src/Module/Admin/Site.php:612 msgid "Deny Server tags" msgstr "" -#: src/Module/Admin/Site.php:681 +#: src/Module/Admin/Site.php:612 msgid "Comma separated list of tags that are rejected." msgstr "" -#: src/Module/Admin/Site.php:682 +#: src/Module/Admin/Site.php:613 msgid "Allow user tags" msgstr "" -#: src/Module/Admin/Site.php:682 +#: src/Module/Admin/Site.php:613 msgid "" "If enabled, the tags from the saved searches will used for the \"tags\" " "subscription in addition to the \"relay_server_tags\"." msgstr "" -#: src/Module/Admin/Site.php:685 +#: src/Module/Admin/Site.php:616 msgid "Start Relocation" msgstr "" +#: src/Module/Admin/Storage.php:72 +msgid "Invalid storage backend setting value." +msgstr "" + +#: src/Module/Admin/Storage.php:90 +msgid "Database (legacy)" +msgstr "" + +#: src/Module/Admin/Storage.php:127 src/Module/BaseAdmin.php:91 +msgid "Storage" +msgstr "" + +#: src/Module/Admin/Storage.php:129 +msgid "Save & Activate" +msgstr "" + +#: src/Module/Admin/Storage.php:130 +msgid "Activate" +msgstr "" + +#: src/Module/Admin/Storage.php:131 +msgid "Save & Reload" +msgstr "" + +#: src/Module/Admin/Storage.php:132 +msgid "This backend doesn't have custom settings" +msgstr "" + #: src/Module/Admin/Summary.php:53 #, php-format msgid "Template engine (%s) error: %s" @@ -6669,7 +6676,7 @@ msgid "Screenshot" msgstr "" #: src/Module/Admin/Themes/Details.php:91 src/Module/Admin/Themes/Index.php:112 -#: src/Module/BaseAdmin.php:93 +#: src/Module/BaseAdmin.php:94 msgid "Themes" msgstr "" @@ -6870,7 +6877,7 @@ msgid "Permanent deletion" msgstr "" #: src/Module/Admin/Users/Index.php:150 src/Module/Admin/Users/Index.php:160 -#: src/Module/BaseAdmin.php:91 +#: src/Module/BaseAdmin.php:92 msgid "Users" msgstr "" @@ -6997,67 +7004,67 @@ msgstr "" msgid "Configuration" msgstr "" -#: src/Module/BaseAdmin.php:94 src/Module/BaseSettings.php:65 +#: src/Module/BaseAdmin.php:95 src/Module/BaseSettings.php:65 msgid "Additional features" msgstr "" -#: src/Module/BaseAdmin.php:97 +#: src/Module/BaseAdmin.php:98 msgid "Database" msgstr "" -#: src/Module/BaseAdmin.php:98 +#: src/Module/BaseAdmin.php:99 msgid "DB updates" msgstr "" -#: src/Module/BaseAdmin.php:99 +#: src/Module/BaseAdmin.php:100 msgid "Inspect Deferred Workers" msgstr "" -#: src/Module/BaseAdmin.php:100 +#: src/Module/BaseAdmin.php:101 msgid "Inspect worker Queue" msgstr "" -#: src/Module/BaseAdmin.php:102 +#: src/Module/BaseAdmin.php:103 msgid "Tools" msgstr "" -#: src/Module/BaseAdmin.php:103 +#: src/Module/BaseAdmin.php:104 msgid "Contact Blocklist" msgstr "" -#: src/Module/BaseAdmin.php:104 +#: src/Module/BaseAdmin.php:105 msgid "Server Blocklist" msgstr "" -#: src/Module/BaseAdmin.php:111 +#: src/Module/BaseAdmin.php:112 msgid "Diagnostics" msgstr "" -#: src/Module/BaseAdmin.php:112 +#: src/Module/BaseAdmin.php:113 msgid "PHP Info" msgstr "" -#: src/Module/BaseAdmin.php:113 +#: src/Module/BaseAdmin.php:114 msgid "probe address" msgstr "" -#: src/Module/BaseAdmin.php:114 +#: src/Module/BaseAdmin.php:115 msgid "check webfinger" msgstr "" -#: src/Module/BaseAdmin.php:116 +#: src/Module/BaseAdmin.php:117 msgid "Babel" msgstr "" -#: src/Module/BaseAdmin.php:117 src/Module/Debug/ActivityPubConversion.php:138 +#: src/Module/BaseAdmin.php:118 src/Module/Debug/ActivityPubConversion.php:138 msgid "ActivityPub Conversion" msgstr "" -#: src/Module/BaseAdmin.php:126 +#: src/Module/BaseAdmin.php:127 msgid "Addon Features" msgstr "" -#: src/Module/BaseAdmin.php:127 +#: src/Module/BaseAdmin.php:128 msgid "User registrations waiting for confirmation" msgstr ""