The channel settings are now available on the site settings
This commit is contained in:
parent
e0fb149466
commit
f93192bc28
6 changed files with 402 additions and 257 deletions
|
@ -147,6 +147,17 @@ class Site extends BaseAdmin
|
|||
$relay_server_tags = (!empty($_POST['relay_server_tags']) ? trim($_POST['relay_server_tags']) : '');
|
||||
$relay_deny_tags = (!empty($_POST['relay_deny_tags']) ? trim($_POST['relay_deny_tags']) : '');
|
||||
$relay_user_tags = !empty($_POST['relay_user_tags']);
|
||||
|
||||
$relay_deny_undetected_language = !empty($_POST['relay_deny_undetected_language']);
|
||||
$relay_language_quality = (!empty($_POST['relay_language_quality']) ? (float)($_POST['relay_language_quality']) : 0);
|
||||
$relay_languages = (!empty($_POST['relay_languages']) ? intval($_POST['relay_languages']) : 0);
|
||||
|
||||
$engagement_hours = (!empty($_POST['engagement_hours']) ? intval($_POST['engagement_hours']) : 0);
|
||||
$engagement_post_limit = (!empty($_POST['engagement_post_limit']) ? intval($_POST['engagement_post_limit']) : 0);
|
||||
$interaction_score_days = (!empty($_POST['interaction_score_days']) ? intval($_POST['interaction_score_days']) : 0);
|
||||
$max_posts_per_author = (!empty($_POST['max_posts_per_author']) ? intval($_POST['max_posts_per_author']) : 0);
|
||||
$sharer_interaction_days = (!empty($_POST['sharer_interaction_days']) ? intval($_POST['sharer_interaction_days']) : 0);
|
||||
|
||||
$active_panel = (!empty($_POST['active_panel']) ? "#" . trim($_POST['active_panel']) : '');
|
||||
|
||||
$transactionConfig = DI::config()->beginTransaction();
|
||||
|
@ -293,11 +304,20 @@ class Site extends BaseAdmin
|
|||
$transactionConfig->set('system', 'worker_fastlane' , $worker_fastlane);
|
||||
$transactionConfig->set('system', 'decoupled_receiver' , $decoupled_receiver);
|
||||
|
||||
$transactionConfig->set('system', 'relay_directly' , $relay_directly);
|
||||
$transactionConfig->set('system', 'relay_scope' , $relay_scope);
|
||||
$transactionConfig->set('system', 'relay_server_tags', $relay_server_tags);
|
||||
$transactionConfig->set('system', 'relay_deny_tags' , $relay_deny_tags);
|
||||
$transactionConfig->set('system', 'relay_user_tags' , $relay_user_tags);
|
||||
$transactionConfig->set('system', 'relay_directly' , $relay_directly);
|
||||
$transactionConfig->set('system', 'relay_scope' , $relay_scope);
|
||||
$transactionConfig->set('system', 'relay_server_tags' , $relay_server_tags);
|
||||
$transactionConfig->set('system', 'relay_deny_tags' , $relay_deny_tags);
|
||||
$transactionConfig->set('system', 'relay_user_tags' , $relay_user_tags);
|
||||
$transactionConfig->set('system', 'relay_deny_undetected_language', $relay_deny_undetected_language);
|
||||
$transactionConfig->set('system', 'relay_language_quality' , $relay_language_quality);
|
||||
$transactionConfig->set('system', 'relay_languages' , $relay_languages);
|
||||
|
||||
$transactionConfig->set('channel', 'engagement_hours' , $engagement_hours);
|
||||
$transactionConfig->set('channel', 'engagement_post_limit' , $engagement_post_limit);
|
||||
$transactionConfig->set('channel', 'interaction_score_days' , $interaction_score_days);
|
||||
$transactionConfig->set('channel', 'max_posts_per_author' , $max_posts_per_author);
|
||||
$transactionConfig->set('channel', 'sharer_interaction_days', $sharer_interaction_days);
|
||||
|
||||
$transactionConfig->commit();
|
||||
|
||||
|
@ -422,6 +442,7 @@ class Site extends BaseAdmin
|
|||
'$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']),
|
||||
'$channel_title' => DI::l10n()->t('Channels'),
|
||||
'$relocate' => DI::l10n()->t('Relocate Node'),
|
||||
'$relocate_msg' => DI::l10n()->t('Relocating your node enables you to change the DNS domain of this node and keep all the existing users and posts. This process takes a while and can only be started from the relocate console command like this:'),
|
||||
'$relocate_cmd' => DI::l10n()->t('(Friendica directory)# bin/console relocate https://newdomain.com'),
|
||||
|
@ -524,11 +545,20 @@ class Site extends BaseAdmin
|
|||
'$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.')],
|
||||
'$decoupled_receiver' => ['decoupled_receiver', DI::l10n()->t('Decoupled receiver'), DI::config()->get('system', 'decoupled_receiver'), DI::l10n()->t('Decouple incoming ActivityPub posts by processing them in the background via a worker process. Only enable this on fast systems.')],
|
||||
|
||||
'$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.'), [Relay::SCOPE_NONE => DI::l10n()->t('Disabled'), Relay::SCOPE_ALL => DI::l10n()->t('all'), Relay::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".')],
|
||||
'$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.'), [Relay::SCOPE_NONE => DI::l10n()->t('Disabled'), Relay::SCOPE_ALL => DI::l10n()->t('all'), Relay::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".')],
|
||||
'$relay_deny_undetected_language' => ['relay_deny_undetected_language', DI::l10n()->t('Deny undetected languages'), DI::config()->get('system', 'relay_deny_undetected_language'), DI::l10n()->t('If enabled, posts with undetected languages will be rejected.')],
|
||||
'$relay_language_quality' => ['relay_language_quality', DI::l10n()->t('Language Quality'), DI::config()->get('system', 'relay_language_quality'), DI::l10n()->t('The minimum language quality that is required to accept the post.')],
|
||||
'$relay_languages' => ['relay_languages', DI::l10n()->t('Number of languages for the language detection'), DI::config()->get('system', 'relay_languages'), DI::l10n()->t('The system detects a list of languages per post. Only if the desired languages are in the list, the message will be accepted. The higher the number, the more posts will be falsely detected.')],
|
||||
|
||||
'$engagement_hours' => ['engagement_hours', DI::l10n()->t('Maximum age of channel'), DI::config()->get('channel', 'engagement_hours'), DI::l10n()->t('This defines the maximum age of items that should be displayed in channels. This affects the channel performance.')],
|
||||
'$engagement_post_limit' => ['engagement_post_limit', DI::l10n()->t('Maximum number of channel posts'), DI::config()->get('channel', 'engagement_post_limit'), DI::l10n()->t('For performance reasons, the channels use a dedicated table to store content. The higher the value the slower the channels.')],
|
||||
'$interaction_score_days' => ['interaction_score_days', DI::l10n()->t('Interaction score days'), DI::config()->get('channel', 'interaction_score_days'), DI::l10n()->t('Number of days that are used to calculate the interaction score.')],
|
||||
'$max_posts_per_author' => ['max_posts_per_author', DI::l10n()->t('Maximum number of posts per author'), DI::config()->get('channel', 'max_posts_per_author'), DI::l10n()->t('Maximum number of posts per page by author. If there are more posts, then the post with the most interactions will be displayed.')],
|
||||
'$sharer_interaction_days' => ['sharer_interaction_days', DI::l10n()->t('Sharer interaction days'), DI::config()->get('channel', 'sharer_interaction_days'), DI::l10n()->t('Number of days of the last interaction that are used to define which sharers are used for the "sharers of sharers" channel.')],
|
||||
|
||||
'$form_security_token' => self::getFormSecurityToken('admin_site'),
|
||||
'$relocate_button' => DI::l10n()->t('Start Relocation'),
|
||||
|
|
|
@ -542,18 +542,6 @@ return [
|
|||
// Redistribute incoming activities via ActivityPub
|
||||
'redistribute_activities' => true,
|
||||
|
||||
// relay_deny_undetected_language (Boolean)
|
||||
// Deny undetected languages
|
||||
'relay_deny_undetected_language' => false,
|
||||
|
||||
// relay_language_quality (Float)
|
||||
// Minimum value for the language detection quality for relay posts. The value must be between 0 and 1.
|
||||
'relay_language_quality' => 0,
|
||||
|
||||
// relay_languages (Integer)
|
||||
// Number of languages that are used per post to check for acceptable posts.
|
||||
'relay_languages' => 10,
|
||||
|
||||
// session_handler (database|cache|native)
|
||||
// Whether to use Cache to store session data or to use PHP native session storage.
|
||||
'session_handler' => 'database',
|
||||
|
@ -772,25 +760,4 @@ return [
|
|||
// Wether the blocklist is publicly listed under /about (or in any later API)
|
||||
'public' => true,
|
||||
],
|
||||
'channel' => [
|
||||
// engagement_hours (Integer)
|
||||
// Maximum age of incoming posts for the engagement table, when the engagement post limit is 0 or hasn't been reached yet.
|
||||
'engagement_hours' => 24,
|
||||
|
||||
// engagement_post_limit (Integer)
|
||||
// NUmber of posts that are held in the engagement table
|
||||
'engagement_post_limit' => 20000,
|
||||
|
||||
// interaction_score_days (Integer)
|
||||
// Number of days that are used to calculate the interaction score.
|
||||
'interaction_score_days' => 30,
|
||||
|
||||
// max_posts_per_author (Integer)
|
||||
// Maixmum number of posts per page by author
|
||||
'max_posts_per_author' => 2,
|
||||
|
||||
// sharer_interaction_days (Integer)
|
||||
// Number of days of the last interaction that are used to define which sharers are used for the "sharers of sharers" channel.
|
||||
'sharer_interaction_days' => 90,
|
||||
],
|
||||
];
|
||||
|
|
|
@ -192,6 +192,18 @@ return [
|
|||
// Comma separated list of tags that are rejected.
|
||||
'relay_deny_tags' => '',
|
||||
|
||||
// relay_deny_undetected_language (Boolean)
|
||||
// Deny undetected languages
|
||||
'relay_deny_undetected_language' => false,
|
||||
|
||||
// relay_languages (Integer)
|
||||
// Number of languages that are used per post to check for acceptable posts.
|
||||
'relay_languages' => 10,
|
||||
|
||||
// relay_language_quality (Float)
|
||||
// Minimum value for the language detection quality for relay posts. The value must be between 0 and 1.
|
||||
'relay_language_quality' => 0,
|
||||
|
||||
// proxify_content (Boolean)
|
||||
// Use the proxy functionality for fetching external content
|
||||
'proxify_content' => true,
|
||||
|
@ -242,6 +254,28 @@ return [
|
|||
'worker_load_cooldown' => 0,
|
||||
],
|
||||
|
||||
'channel' => [
|
||||
// engagement_hours (Integer)
|
||||
// Maximum age of incoming posts for the engagement table, when the engagement post limit is 0 or hasn't been reached yet.
|
||||
'engagement_hours' => 24,
|
||||
|
||||
// engagement_post_limit (Integer)
|
||||
// NUmber of posts that are held in the engagement table
|
||||
'engagement_post_limit' => 20000,
|
||||
|
||||
// interaction_score_days (Integer)
|
||||
// Number of days that are used to calculate the interaction score.
|
||||
'interaction_score_days' => 30,
|
||||
|
||||
// max_posts_per_author (Integer)
|
||||
// Maixmum number of posts per page by author
|
||||
'max_posts_per_author' => 2,
|
||||
|
||||
// sharer_interaction_days (Integer)
|
||||
// Number of days of the last interaction that are used to define which sharers are used for the "sharers of sharers" channel.
|
||||
'sharer_interaction_days' => 90,
|
||||
],
|
||||
|
||||
// Used in the admin settings to lock certain features
|
||||
'featurelock' => [
|
||||
],
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -150,6 +150,16 @@
|
|||
{{include file="field_input.tpl" field=$relay_deny_tags}}
|
||||
{{include file="field_checkbox.tpl" field=$relay_user_tags}}
|
||||
{{include file="field_checkbox.tpl" field=$relay_directly}}
|
||||
{{include file="field_checkbox.tpl" field=$relay_deny_undetected_language}}
|
||||
{{include file="field_input.tpl" field=$relay_language_quality}}
|
||||
{{include file="field_input.tpl" field=$relay_languages}}
|
||||
|
||||
<h2>{{$channel_title}}</h2>
|
||||
{{include file="field_input.tpl" field=$engagement_hours}}
|
||||
{{include file="field_input.tpl" field=$engagement_post_limit}}
|
||||
{{include file="field_input.tpl" field=$interaction_score_days}}
|
||||
{{include file="field_input.tpl" field=$max_posts_per_author}}
|
||||
{{include file="field_input.tpl" field=$sharer_interaction_days}}
|
||||
|
||||
<div class="submit"><input type="submit" name="page_site" value="{{$submit}}"/></div>
|
||||
|
||||
|
|
|
@ -319,6 +319,34 @@
|
|||
{{include file="field_input.tpl" field=$relay_deny_tags}}
|
||||
{{include file="field_checkbox.tpl" field=$relay_user_tags}}
|
||||
{{include file="field_checkbox.tpl" field=$relay_directly}}
|
||||
{{include file="field_checkbox.tpl" field=$relay_deny_undetected_language}}
|
||||
{{include file="field_input.tpl" field=$relay_language_quality}}
|
||||
{{include file="field_input.tpl" field=$relay_languages}}
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<input type="submit" name="page_site" class="btn btn-primary" value="{{$submit}}"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--
|
||||
/*
|
||||
* Channel
|
||||
*/ -->
|
||||
<div class="panel">
|
||||
<div class="section-subtitle-wrapper panel-heading" role="tab" id="admin-channel">
|
||||
<h2>
|
||||
<button class="btn-link accordion-toggle collapsed" data-toggle="collapse" data-parent="#admin-settings" href="#admin-settings-channel-collapse" aria-expanded="false" aria-controls="admin-settings-channel-collapse">
|
||||
{{$channel_title}}
|
||||
</button>
|
||||
</h2>
|
||||
</div>
|
||||
<div id="admin-settings-channel-collapse" class="panel-collapse collapse" role="tabpanel" aria-labelledby="admin-settings-channel">
|
||||
<div class="panel-body">
|
||||
{{include file="field_input.tpl" field=$engagement_hours}}
|
||||
{{include file="field_input.tpl" field=$engagement_post_limit}}
|
||||
{{include file="field_input.tpl" field=$interaction_score_days}}
|
||||
{{include file="field_input.tpl" field=$max_posts_per_author}}
|
||||
{{include file="field_input.tpl" field=$sharer_interaction_days}}
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<input type="submit" name="page_site" class="btn btn-primary" value="{{$submit}}"/>
|
||||
|
|
Loading…
Reference in a new issue