]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/Admin/Site.php
Merge pull request #10362 from tobiasd/2021.06-CHANGELOG
[friendica.git] / src / Module / Admin / Site.php
index 3c5688977a36b850ee7896f455e73294c67510d5..a04b4194df4f921967c7699a4e9ae9237455dc28 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2020, Friendica
+ * @copyright Copyright (C) 2010-2021, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
@@ -32,6 +32,7 @@ use Friendica\Model\Contact;
 use Friendica\Model\User;
 use Friendica\Module\BaseAdmin;
 use Friendica\Module\Register;
+use Friendica\Protocol\Relay;
 use Friendica\Util\BasePath;
 use Friendica\Util\EMailer\MailBuilder;
 use Friendica\Util\Strings;
@@ -104,7 +105,7 @@ class Site extends BaseAdmin
                        // update profile links in the format "http://server.tld"
                        update_table($a, "profile", ['photo', 'thumb'], $old_url, $new_url);
                        update_table($a, "contact", ['photo', 'thumb', 'micro', 'url', 'nurl', 'alias', 'request', 'notify', 'poll', 'confirm', 'poco', 'avatar'], $old_url, $new_url);
-                       update_table($a, "item", ['owner-link', 'author-link', 'body', 'plink', 'tag'], $old_url, $new_url);
+                       update_table($a, "post-content", ['body'], $old_url, $new_url);
 
                        // update profile addresses in the format "user@server.tld"
                        update_table($a, "contact", ['addr'], $old_host, $new_host);
@@ -205,15 +206,12 @@ class Site extends BaseAdmin
                $check_new_version_url  = (!empty($_POST['check_new_version_url'])  ? Strings::escapeTags(trim($_POST['check_new_version_url'])) : 'none');
 
                $worker_queues    = (!empty($_POST['worker_queues'])                ? intval($_POST['worker_queues'])                 : 10);
-               $worker_dont_fork = !empty($_POST['worker_dont_fork']);
                $worker_fastlane  = !empty($_POST['worker_fastlane']);
-               $worker_frontend  = !empty($_POST['worker_frontend']);
 
                $relay_directly    = !empty($_POST['relay_directly']);
-               $relay_server      = (!empty($_POST['relay_server'])      ? Strings::escapeTags(trim($_POST['relay_server']))       : '');
-               $relay_subscribe   = !empty($_POST['relay_subscribe']);
                $relay_scope       = (!empty($_POST['relay_scope'])       ? Strings::escapeTags(trim($_POST['relay_scope']))        : '');
                $relay_server_tags = (!empty($_POST['relay_server_tags']) ? Strings::escapeTags(trim($_POST['relay_server_tags']))  : '');
+               $relay_deny_tags   = (!empty($_POST['relay_deny_tags'])   ? Strings::escapeTags(trim($_POST['relay_deny_tags']))    : '');
                $relay_user_tags   = !empty($_POST['relay_user_tags']);
                $active_panel      = (!empty($_POST['active_panel'])      ? "#" . Strings::escapeTags(trim($_POST['active_panel'])) : '');
 
@@ -246,7 +244,7 @@ class Site extends BaseAdmin
                                }
                                DI::baseUrl()->redirect('admin/site' . $active_panel);
                        }
-               } else {
+               } elseif (!empty($storagebackend)) {
                        notice(DI::l10n()->t('Invalid storage backend setting value.'));
                }
 
@@ -416,15 +414,12 @@ class Site extends BaseAdmin
                DI::config()->set('system', 'only_tag_search'  , $only_tag_search);
 
                DI::config()->set('system', 'worker_queues'    , $worker_queues);
-               DI::config()->set('system', 'worker_dont_fork' , $worker_dont_fork);
                DI::config()->set('system', 'worker_fastlane'  , $worker_fastlane);
-               DI::config()->set('system', 'frontend_worker'  , $worker_frontend);
 
                DI::config()->set('system', 'relay_directly'   , $relay_directly);
-               DI::config()->set('system', 'relay_server'     , $relay_server);
-               DI::config()->set('system', 'relay_subscribe'  , $relay_subscribe);
                DI::config()->set('system', 'relay_scope'      , $relay_scope);
                DI::config()->set('system', 'relay_server_tags', $relay_server_tags);
+               DI::config()->set('system', 'relay_deny_tags'  , $relay_deny_tags);
                DI::config()->set('system', 'relay_user_tags'  , $relay_user_tags);
 
                DI::config()->set('system', 'rino_encrypt'     , $rino);
@@ -580,6 +575,7 @@ class Site extends BaseAdmin
                return Renderer::replaceMacros($t, [
                        '$title'             => DI::l10n()->t('Administration'),
                        '$page'              => DI::l10n()->t('Site'),
+                       '$general_info'      => DI::l10n()->t('General Information'),
                        '$submit'            => DI::l10n()->t('Save Settings'),
                        '$republish'         => DI::l10n()->t('Republish users to directory'),
                        '$registration'      => DI::l10n()->t('Registration'),
@@ -590,6 +586,10 @@ class Site extends BaseAdmin
                        '$performance'       => DI::l10n()->t('Performance'),
                        '$worker_title'      => DI::l10n()->t('Worker'),
                        '$relay_title'       => DI::l10n()->t('Message Relay'),
+                       '$relay_description' => DI::l10n()->t('Use the command "console relay" in the command line to add or remove relays.'),
+                       '$no_relay_list'     => DI::l10n()->t('The system is not subscribed to any relays at the moment.'),
+                       '$relay_list_title'  => DI::l10n()->t('The system is currently subscribed to the following relays:'),
+                       '$relay_list'        => Relay::getList(['url']),
                        '$relocate'          => DI::l10n()->t('Relocate Instance'),
                        '$relocate_warning'  => DI::l10n()->t('<strong>Warning!</strong> Advanced function. Could make this server unreachable.'),
                        '$baseurl'           => DI::baseUrl()->get(true),
@@ -625,7 +625,7 @@ class Site extends BaseAdmin
                        '$allowed_sites'          => ['allowed_sites', DI::l10n()->t('Allowed friend domains'), DI::config()->get('system', 'allowed_sites'), DI::l10n()->t('Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains')],
                        '$allowed_email'          => ['allowed_email', DI::l10n()->t('Allowed email domains'), DI::config()->get('system', 'allowed_email'), DI::l10n()->t('Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains')],
                        '$no_oembed_rich_content' => ['no_oembed_rich_content', DI::l10n()->t('No OEmbed rich content'), DI::config()->get('system', 'no_oembed_rich_content'), DI::l10n()->t('Don\'t show the rich content (e.g. embedded PDF), except from the domains listed below.')],
-                       '$allowed_oembed'         => ['allowed_oembed', DI::l10n()->t('Allowed OEmbed domains'), DI::config()->get('system', 'allowed_oembed'), DI::l10n()->t('Comma separated list of domains which oembed content is allowed to be displayed. Wildcards are accepted.')],
+                       '$allowed_oembed'         => ['allowed_oembed', DI::l10n()->t('Trusted third-party domains'), DI::config()->get('system', 'allowed_oembed'), DI::l10n()->t('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.')],
                        '$block_public'           => ['block_public', DI::l10n()->t('Block public'), DI::config()->get('system', 'block_public'), DI::l10n()->t('Check to block public access to all otherwise public personal pages on this site unless you are currently logged in.')],
                        '$force_publish'          => ['publish_all', DI::l10n()->t('Force publish'), DI::config()->get('system', 'publish_all'), DI::l10n()->t('Check to force all profiles on this site to be listed in the site directory.') . '<strong>' . DI::l10n()->t('Enabling this may violate privacy laws like the GDPR') . '</strong>'],
                        '$global_directory'       => ['directory', DI::l10n()->t('Global directory URL'), DI::config()->get('system', 'directory'), DI::l10n()->t('URL to the global directory. If this is not set, the global directory is completely unavailable to the application.')],
@@ -687,15 +687,12 @@ class Site extends BaseAdmin
                        '$rino'                   => ['rino', DI::l10n()->t('RINO Encryption'), intval(DI::config()->get('system', 'rino_encrypt')), DI::l10n()->t('Encryption layer between nodes.'), [0 => DI::l10n()->t('Disabled'), 1 => DI::l10n()->t('Enabled')]],
 
                        '$worker_queues'          => ['worker_queues', DI::l10n()->t('Maximum number of parallel workers'), DI::config()->get('system', 'worker_queues'), DI::l10n()->t('On shared hosters set this to %d. On larger systems, values of %d are great. Default value is %d.', 5, 20, 10)],
-                       '$worker_dont_fork'       => ['worker_dont_fork', DI::l10n()->t('Don\'t use "proc_open" with the worker'), DI::config()->get('system', 'worker_dont_fork'), DI::l10n()->t('Enable this if your system doesn\'t allow the use of "proc_open". This can happen on shared hosters. If this is enabled you should increase the frequency of worker calls in your crontab.')],
                        '$worker_fastlane'        => ['worker_fastlane', DI::l10n()->t('Enable fastlane'), DI::config()->get('system', 'worker_fastlane'), DI::l10n()->t('When enabed, the fastlane mechanism starts an additional worker if processes with higher priority are blocked by processes of lower priority.')],
-                       '$worker_frontend'        => ['worker_frontend', DI::l10n()->t('Enable frontend worker'), DI::config()->get('system', 'frontend_worker'), DI::l10n()->t('When enabled the Worker process is triggered when backend access is performed (e.g. messages being delivered). On smaller sites you might want to call %s/worker on a regular basis via an external cron job. You should only enable this option if you cannot utilize cron/scheduled jobs on your server.', DI::baseUrl()->get())],
 
-                       '$relay_subscribe'        => ['relay_subscribe', DI::l10n()->t('Use relay servers'), DI::config()->get('system', 'relay_subscribe'), DI::l10n()->t('Enables the receiving of public posts from relay servers. They will be included in the search, subscribed tags and on the global community page.')],
-                       '$relay_server'           => ['relay_server', DI::l10n()->t('"Social Relay" server'), DI::config()->get('system', 'relay_server'), DI::l10n()->t('Address of the "Social Relay" server where public posts should be send to. For example %s. ActivityRelay servers are administrated via the "console relay" command line command.', 'https://social-relay.isurf.ca')],
                        '$relay_directly'         => ['relay_directly', DI::l10n()->t('Direct relay transfer'), DI::config()->get('system', 'relay_directly'), DI::l10n()->t('Enables the direct transfer to other servers without using the relay servers')],
-                       '$relay_scope'            => ['relay_scope', DI::l10n()->t('Relay scope'), DI::config()->get('system', 'relay_scope'), DI::l10n()->t('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.'), ['' => DI::l10n()->t('Disabled'), 'all' => DI::l10n()->t('all'), 'tags' => DI::l10n()->t('tags')]],
+                       '$relay_scope'            => ['relay_scope', DI::l10n()->t('Relay scope'), DI::config()->get('system', 'relay_scope'), DI::l10n()->t('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.'), [SR_SCOPE_NONE => DI::l10n()->t('Disabled'), SR_SCOPE_ALL => DI::l10n()->t('all'), SR_SCOPE_TAGS => DI::l10n()->t('tags')]],
                        '$relay_server_tags'      => ['relay_server_tags', DI::l10n()->t('Server tags'), DI::config()->get('system', 'relay_server_tags'), DI::l10n()->t('Comma separated list of tags for the "tags" subscription.')],
+                       '$relay_deny_tags'        => ['relay_deny_tags', DI::l10n()->t('Deny Server tags'), DI::config()->get('system', 'relay_deny_tags'), DI::l10n()->t('Comma separated list of tags that are rejected.')],
                        '$relay_user_tags'        => ['relay_user_tags', DI::l10n()->t('Allow user tags'), DI::config()->get('system', 'relay_user_tags'), DI::l10n()->t('If enabled, the tags from the saved searches will used for the "tags" subscription in addition to the "relay_server_tags".')],
 
                        '$form_security_token'    => self::getFormSecurityToken('admin_site'),