]> git.mxchange.org Git - friendica.git/commitdiff
Issue 11535: Automatically open and close the registration
authorMichael <heluecht@pirati.ca>
Tue, 21 Mar 2023 21:44:26 +0000 (21:44 +0000)
committerMichael <heluecht@pirati.ca>
Tue, 21 Mar 2023 21:44:26 +0000 (21:44 +0000)
src/Core/Worker/Cron.php
src/Model/User.php
src/Module/Admin/Site.php
view/lang/C/messages.po
view/templates/admin/site.tpl
view/theme/frio/templates/admin/site.tpl

index de6a808acaad1db1682ba3653aaee0806f611fb1..e9b77229bc624a8b83edad27c2c0abc8ebf9323b 100644 (file)
@@ -28,8 +28,8 @@ use Friendica\DI;
 use Friendica\Model\Contact;
 use Friendica\Model\GServer;
 use Friendica\Model\Post;
+use Friendica\Model\User;
 use Friendica\Protocol\ActivityPub;
-use Friendica\Protocol\Delivery;
 use Friendica\Util\DateTimeFormat;
 use Friendica\Util\Strings;
 
@@ -65,6 +65,9 @@ class Cron
 
                // Directly deliver or requeue posts to other systems
                self::deliverPosts();
+
+               // Automatically open/close the registration based on the user count
+               User::setRegisterMethodByUserCount();
        }
 
        /**
index b0ece93464ca70fc5518323056006cfbdf16a372..50586183a3e617acd6535a53442f065afded902c 100644 (file)
@@ -35,6 +35,7 @@ use Friendica\Core\System;
 use Friendica\Core\Worker;
 use Friendica\Database\DBA;
 use Friendica\DI;
+use Friendica\Module\Register;
 use Friendica\Network\HTTPClient\Client\HttpClientAccept;
 use Friendica\Security\TwoFactor\Model\AppSpecificPassword;
 use Friendica\Network\HTTPException;
@@ -1266,6 +1267,8 @@ class User
 
                Hook::callAll('register_account', $uid);
 
+               self::setRegisterMethodByUserCount();
+
                $return['user'] = $user;
                return $return;
        }
@@ -1610,6 +1613,7 @@ class User
                // Remove the user relevant data
                Worker::add(Worker::PRIORITY_NEGLIGIBLE, 'RemoveUser', $uid);
 
+               self::setRegisterMethodByUserCount();
                return true;
        }
 
@@ -1877,4 +1881,29 @@ class User
                        return true;
                });
        }
+
+       public static function setRegisterMethodByUserCount()
+       {
+               $max_registered_users = DI::config()->get('config', 'max_registered_users');
+               if ($max_registered_users <= 0) {
+                       return;
+               }
+
+               $register_policy = DI::config()->get('config', 'register_policy');
+               if (!in_array($register_policy, [Register::OPEN, Register::CLOSED])) {
+                       Logger::debug('Unsupported register policy.', ['policy' => $register_policy]);
+                       return;
+               }
+
+               $users = DBA::count('user', ['blocked' => false, 'account_removed' => false, 'account_expired' => false]);
+               if (($users >= $max_registered_users) && ($register_policy == Register::OPEN)) {
+                       DI::config()->set('config', 'register_policy', Register::CLOSED);
+                       Logger::notice('Max users reached, registration is closed.', ['users' => $users, 'max' => $max_registered_users]);
+               } elseif (($users < $max_registered_users) && ($register_policy == Register::CLOSED)) {
+                       DI::config()->set('config', 'register_policy', Register::OPEN);
+                       Logger::notice('Below maximum users, registration is opened.', ['users' => $users, 'max' => $max_registered_users]);
+               } else {
+                       Logger::debug('Unchanged register policy', ['policy' => $register_policy, 'users' => $users, 'max' => $max_registered_users]);
+               }
+       }
 }
index 8e2e10fab0e54079a34448776fb413039c35515c..c867c04c976417ac723029bbc346c0069aa0c099 100644 (file)
@@ -72,6 +72,7 @@ class Site extends BaseAdmin
                $jpegimagequality = (!empty($_POST['jpegimagequality']) ? intval(trim($_POST['jpegimagequality']))           : 100);
 
                $register_policy        = (!empty($_POST['register_policy'])         ? intval(trim($_POST['register_policy']))             : 0);
+               $max_registered_users   = (!empty($_POST['max_registered_users'])     ? intval(trim($_POST['max_registered_users']))         : 0);
                $daily_registrations    = (!empty($_POST['max_daily_registrations']) ? intval(trim($_POST['max_daily_registrations']))     : 0);
                $abandon_days           = (!empty($_POST['abandon_days'])            ? intval(trim($_POST['abandon_days']))                : 0);
 
@@ -210,7 +211,11 @@ class Site extends BaseAdmin
                $transactionConfig->set('system', 'jpeg_quality'           , $jpegimagequality);
 
                $transactionConfig->set('config', 'register_policy'        , $register_policy);
+               $transactionConfig->set('config', 'max_registered_users'   , $max_registered_users);
                $transactionConfig->set('system', 'max_daily_registrations', $daily_registrations);
+
+               User::setRegisterMethodByUserCount();
+
                $transactionConfig->set('system', 'account_abandon_days'   , $abandon_days);
                $transactionConfig->set('config', 'register_text'          , $register_text);
                $transactionConfig->set('system', 'allowed_sites'          , $allowed_sites);
@@ -431,6 +436,7 @@ class Site extends BaseAdmin
                        '$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.')],
 
                        '$register_policy'        => ['register_policy', DI::l10n()->t('Register policy'), DI::config()->get('config', 'register_policy'), '', $register_choices],
+                       '$max_registered_users'   => ['max_registered_users', DI::l10n()->t('Maximum Users'), DI::config()->get('config', 'max_registered_users'), DI::l10n()->t('If defined, the register policy is automatically closed when the given number of users is reached and reopens the registry when the number drops below the limit. It only works when the policy is set to open or close, but not when the policy is set to approval.')],
                        '$daily_registrations'    => ['max_daily_registrations', DI::l10n()->t('Maximum Daily Registrations'), DI::config()->get('system', 'max_daily_registrations'), DI::l10n()->t('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.')],
                        '$register_text'          => ['register_text', DI::l10n()->t('Register text'), DI::config()->get('config', 'register_text'), DI::l10n()->t('Will be displayed prominently on the registration page. You can use BBCode here.')],
                        '$forbidden_nicknames'    => ['forbidden_nicknames', DI::l10n()->t('Forbidden Nicknames'), DI::config()->get('system', 'forbidden_nicknames'), DI::l10n()->t('Comma separated list of nicknames that are forbidden from registration. Preset is a list of role names according RFC 2142.')],
index 3c45d367050db2205bfea79fc3d2bb7a44413f23..a32e9ce1345d93de17782abc30f12b5ced409e90 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: 2023.03-rc\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-03-13 21:29+0000\n"
+"POT-Creation-Date: 2023-03-21 21:43+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -377,7 +377,7 @@ msgstr ""
 msgid "Personal notes are visible only by yourself."
 msgstr ""
 
-#: mod/notes.php:57 src/Content/Text/HTML.php:884
+#: mod/notes.php:57 src/Content/Text/HTML.php:857
 #: src/Module/Admin/Storage.php:142 src/Module/Filer/SaveTag.php:74
 #: src/Module/Post/Edit.php:129
 msgid "Save"
@@ -693,7 +693,7 @@ msgstr ""
 msgid "Network error"
 msgstr ""
 
-#: src/App/Page.php:325
+#: src/App/Page.php:328
 msgid "toggle mobile"
 msgstr ""
 
@@ -884,7 +884,7 @@ msgstr ""
 msgid "Enter user nickname: "
 msgstr ""
 
-#: src/Console/User.php:182 src/Model/User.php:662
+#: src/Console/User.php:182 src/Model/User.php:663
 #: src/Module/Api/Twitter/ContactEndpoint.php:74
 #: src/Module/Moderation/Users/Active.php:71
 #: src/Module/Moderation/Users/Blocked.php:71
@@ -1525,7 +1525,7 @@ msgid ""
 msgstr ""
 
 #: src/Content/ForumManager.php:157 src/Content/Nav.php:276
-#: src/Content/Text/HTML.php:905 src/Content/Widget.php:524
+#: src/Content/Text/HTML.php:878 src/Content/Widget.php:524
 msgid "Forums"
 msgstr ""
 
@@ -1639,7 +1639,7 @@ msgstr ""
 msgid "Clear notifications"
 msgstr ""
 
-#: src/Content/Nav.php:126 src/Content/Text/HTML.php:892
+#: src/Content/Nav.php:126 src/Content/Text/HTML.php:865
 msgid "@name, !forum, #tags, content"
 msgstr ""
 
@@ -1756,7 +1756,7 @@ msgstr ""
 msgid "Addon applications, utilities, games"
 msgstr ""
 
-#: src/Content/Nav.php:267 src/Content/Text/HTML.php:890
+#: src/Content/Nav.php:267 src/Content/Text/HTML.php:863
 #: src/Module/Admin/Logs/View.php:86 src/Module/Search/Index.php:112
 msgid "Search"
 msgstr ""
@@ -1765,17 +1765,17 @@ msgstr ""
 msgid "Search site content"
 msgstr ""
 
-#: src/Content/Nav.php:270 src/Content/Text/HTML.php:899
+#: src/Content/Nav.php:270 src/Content/Text/HTML.php:872
 msgid "Full Text"
 msgstr ""
 
-#: src/Content/Nav.php:271 src/Content/Text/HTML.php:900
+#: src/Content/Nav.php:271 src/Content/Text/HTML.php:873
 #: src/Content/Widget/TagCloud.php:68
 msgid "Tags"
 msgstr ""
 
 #: src/Content/Nav.php:272 src/Content/Nav.php:327
-#: src/Content/Text/HTML.php:901 src/Module/BaseProfile.php:127
+#: src/Content/Text/HTML.php:874 src/Module/BaseProfile.php:127
 #: src/Module/BaseProfile.php:130 src/Module/Contact.php:410
 #: src/Module/Contact.php:506 view/theme/frio/theme.php:243
 msgid "Contacts"
@@ -1945,51 +1945,51 @@ msgstr ""
 msgid "last"
 msgstr ""
 
-#: src/Content/Text/BBCode.php:716 src/Content/Text/BBCode.php:1592
-#: src/Content/Text/BBCode.php:1593
+#: src/Content/Text/BBCode.php:712 src/Content/Text/BBCode.php:1596
+#: src/Content/Text/BBCode.php:1597
 msgid "Image/photo"
 msgstr ""
 
-#: src/Content/Text/BBCode.php:934
+#: src/Content/Text/BBCode.php:930
 #, php-format
 msgid ""
 "<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">%2$s</a> %3$s"
 msgstr ""
 
-#: src/Content/Text/BBCode.php:959 src/Model/Item.php:3585
+#: src/Content/Text/BBCode.php:955 src/Model/Item.php:3585
 #: src/Model/Item.php:3591 src/Model/Item.php:3592
 msgid "Link to source"
 msgstr ""
 
-#: src/Content/Text/BBCode.php:1504 src/Content/Text/HTML.php:929
+#: src/Content/Text/BBCode.php:1503 src/Content/Text/HTML.php:902
 msgid "Click to open/close"
 msgstr ""
 
-#: src/Content/Text/BBCode.php:1537
+#: src/Content/Text/BBCode.php:1536
 msgid "$1 wrote:"
 msgstr ""
 
-#: src/Content/Text/BBCode.php:1597 src/Content/Text/BBCode.php:1598
+#: src/Content/Text/BBCode.php:1601 src/Content/Text/BBCode.php:1602
 msgid "Encrypted content"
 msgstr ""
 
-#: src/Content/Text/BBCode.php:1863
+#: src/Content/Text/BBCode.php:1867
 msgid "Invalid source protocol"
 msgstr ""
 
-#: src/Content/Text/BBCode.php:1882
+#: src/Content/Text/BBCode.php:1886
 msgid "Invalid link protocol"
 msgstr ""
 
-#: src/Content/Text/HTML.php:807
+#: src/Content/Text/HTML.php:780
 msgid "Loading more entries..."
 msgstr ""
 
-#: src/Content/Text/HTML.php:808
+#: src/Content/Text/HTML.php:781
 msgid "The end"
 msgstr ""
 
-#: src/Content/Text/HTML.php:884 src/Content/Widget/VCard.php:109
+#: src/Content/Text/HTML.php:857 src/Content/Widget/VCard.php:109
 #: src/Model/Profile.php:463 src/Module/Contact/Profile.php:437
 msgid "Follow"
 msgstr ""
@@ -3208,7 +3208,7 @@ msgstr ""
 msgid "[no subject]"
 msgstr ""
 
-#: src/Model/Photo.php:1189 src/Module/Media/Photo/Upload.php:198
+#: src/Model/Photo.php:1189 src/Module/Media/Photo/Upload.php:197
 msgid "Wall Photos"
 msgstr ""
 
@@ -3357,145 +3357,145 @@ msgstr ""
 msgid "Contact information and Social Networks"
 msgstr ""
 
-#: src/Model/User.php:213 src/Model/User.php:1119
+#: src/Model/User.php:214 src/Model/User.php:1120
 msgid "SERIOUS ERROR: Generation of security keys failed."
 msgstr ""
 
-#: src/Model/User.php:571 src/Model/User.php:604
+#: src/Model/User.php:572 src/Model/User.php:605
 msgid "Login failed"
 msgstr ""
 
-#: src/Model/User.php:636
+#: src/Model/User.php:637
 msgid "Not enough information to authenticate"
 msgstr ""
 
-#: src/Model/User.php:753
+#: src/Model/User.php:754
 msgid "Password can't be empty"
 msgstr ""
 
-#: src/Model/User.php:795
+#: src/Model/User.php:796
 msgid "Empty passwords are not allowed."
 msgstr ""
 
-#: src/Model/User.php:799
+#: src/Model/User.php:800
 msgid ""
 "The new password has been exposed in a public data dump, please choose "
 "another."
 msgstr ""
 
-#: src/Model/User.php:803
+#: src/Model/User.php:804
 msgid "The password length is limited to 72 characters."
 msgstr ""
 
-#: src/Model/User.php:807
+#: src/Model/User.php:808
 msgid "The password can't contain white spaces nor accentuated letters"
 msgstr ""
 
-#: src/Model/User.php:1002
+#: src/Model/User.php:1003
 msgid "Passwords do not match. Password unchanged."
 msgstr ""
 
-#: src/Model/User.php:1009
+#: src/Model/User.php:1010
 msgid "An invitation is required."
 msgstr ""
 
-#: src/Model/User.php:1013
+#: src/Model/User.php:1014
 msgid "Invitation could not be verified."
 msgstr ""
 
-#: src/Model/User.php:1021
+#: src/Model/User.php:1022
 msgid "Invalid OpenID url"
 msgstr ""
 
-#: src/Model/User.php:1034 src/Security/Authentication.php:241
+#: src/Model/User.php:1035 src/Security/Authentication.php:241
 msgid ""
 "We encountered a problem while logging in with the OpenID you provided. "
 "Please check the correct spelling of the ID."
 msgstr ""
 
-#: src/Model/User.php:1034 src/Security/Authentication.php:241
+#: src/Model/User.php:1035 src/Security/Authentication.php:241
 msgid "The error message was:"
 msgstr ""
 
-#: src/Model/User.php:1040
+#: src/Model/User.php:1041
 msgid "Please enter the required information."
 msgstr ""
 
-#: src/Model/User.php:1054
+#: src/Model/User.php:1055
 #, php-format
 msgid ""
 "system.username_min_length (%s) and system.username_max_length (%s) are "
 "excluding each other, swapping values."
 msgstr ""
 
-#: src/Model/User.php:1061
+#: src/Model/User.php:1062
 #, php-format
 msgid "Username should be at least %s character."
 msgid_plural "Username should be at least %s characters."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/Model/User.php:1065
+#: src/Model/User.php:1066
 #, php-format
 msgid "Username should be at most %s character."
 msgid_plural "Username should be at most %s characters."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/Model/User.php:1073
+#: src/Model/User.php:1074
 msgid "That doesn't appear to be your full (First Last) name."
 msgstr ""
 
-#: src/Model/User.php:1078
+#: src/Model/User.php:1079
 msgid "Your email domain is not among those allowed on this site."
 msgstr ""
 
-#: src/Model/User.php:1082
+#: src/Model/User.php:1083
 msgid "Not a valid email address."
 msgstr ""
 
-#: src/Model/User.php:1085
+#: src/Model/User.php:1086
 msgid "The nickname was blocked from registration by the nodes admin."
 msgstr ""
 
-#: src/Model/User.php:1089 src/Model/User.php:1095
+#: src/Model/User.php:1090 src/Model/User.php:1096
 msgid "Cannot use that email."
 msgstr ""
 
-#: src/Model/User.php:1101
+#: src/Model/User.php:1102
 msgid "Your nickname can only contain a-z, 0-9 and _."
 msgstr ""
 
-#: src/Model/User.php:1109 src/Model/User.php:1166
+#: src/Model/User.php:1110 src/Model/User.php:1167
 msgid "Nickname is already registered. Please choose another."
 msgstr ""
 
-#: src/Model/User.php:1153 src/Model/User.php:1157
+#: src/Model/User.php:1154 src/Model/User.php:1158
 msgid "An error occurred during registration. Please try again."
 msgstr ""
 
-#: src/Model/User.php:1180
+#: src/Model/User.php:1181
 msgid "An error occurred creating your default profile. Please try again."
 msgstr ""
 
-#: src/Model/User.php:1187
+#: src/Model/User.php:1188
 msgid "An error occurred creating your self contact. Please try again."
 msgstr ""
 
-#: src/Model/User.php:1192
+#: src/Model/User.php:1193
 msgid "Friends"
 msgstr ""
 
-#: src/Model/User.php:1196
+#: src/Model/User.php:1197
 msgid ""
 "An error occurred creating your default contact group. Please try again."
 msgstr ""
 
-#: src/Model/User.php:1235
+#: src/Model/User.php:1236
 msgid "Profile Photos"
 msgstr ""
 
-#: src/Model/User.php:1428
+#: src/Model/User.php:1431
 #, php-format
 msgid ""
 "\n"
@@ -3503,7 +3503,7 @@ msgid ""
 "\t\t\tthe administrator of %2$s has set up an account for you."
 msgstr ""
 
-#: src/Model/User.php:1431
+#: src/Model/User.php:1434
 #, php-format
 msgid ""
 "\n"
@@ -3541,12 +3541,12 @@ msgid ""
 "\t\tThank you and welcome to %4$s."
 msgstr ""
 
-#: src/Model/User.php:1464 src/Model/User.php:1571
+#: src/Model/User.php:1467 src/Model/User.php:1574
 #, php-format
 msgid "Registration details for %s"
 msgstr ""
 
-#: src/Model/User.php:1484
+#: src/Model/User.php:1487
 #, php-format
 msgid ""
 "\n"
@@ -3562,12 +3562,12 @@ msgid ""
 "\t\t"
 msgstr ""
 
-#: src/Model/User.php:1503
+#: src/Model/User.php:1506
 #, php-format
 msgid "Registration at %s"
 msgstr ""
 
-#: src/Model/User.php:1527
+#: src/Model/User.php:1530
 #, php-format
 msgid ""
 "\n"
@@ -3576,7 +3576,7 @@ msgid ""
 "\t\t\t"
 msgstr ""
 
-#: src/Model/User.php:1535
+#: src/Model/User.php:1538
 #, php-format
 msgid ""
 "\n"
@@ -3640,9 +3640,9 @@ msgid "Enable"
 msgstr ""
 
 #: src/Module/Admin/Addons/Details.php:111 src/Module/Admin/Addons/Index.php:67
-#: src/Module/Admin/Federation.php:207 src/Module/Admin/Logs/Settings.php:79
+#: src/Module/Admin/Federation.php:209 src/Module/Admin/Logs/Settings.php:79
 #: src/Module/Admin/Logs/View.php:83 src/Module/Admin/Queue.php:72
-#: src/Module/Admin/Site.php:389 src/Module/Admin/Storage.php:138
+#: src/Module/Admin/Site.php:394 src/Module/Admin/Storage.php:138
 #: src/Module/Admin/Summary.php:220 src/Module/Admin/Themes/Details.php:90
 #: src/Module/Admin/Themes/Index.php:111 src/Module/Admin/Tos.php:77
 #: src/Module/Moderation/Users/Create.php:61
@@ -3680,7 +3680,7 @@ msgid "Addon %s failed to install."
 msgstr ""
 
 #: src/Module/Admin/Addons/Index.php:69 src/Module/Admin/Features.php:86
-#: src/Module/Admin/Logs/Settings.php:81 src/Module/Admin/Site.php:392
+#: src/Module/Admin/Logs/Settings.php:81 src/Module/Admin/Site.php:397
 #: src/Module/Admin/Themes/Index.php:113 src/Module/Admin/Tos.php:86
 #: src/Module/Settings/Account.php:560 src/Module/Settings/Addons.php:78
 #: src/Module/Settings/Connectors.php:160
@@ -3770,75 +3770,75 @@ msgstr ""
 msgid "Manage Additional Features"
 msgstr ""
 
-#: src/Module/Admin/Federation.php:73
+#: src/Module/Admin/Federation.php:75
 msgid "Other"
 msgstr ""
 
-#: src/Module/Admin/Federation.php:147 src/Module/Admin/Federation.php:396
+#: src/Module/Admin/Federation.php:149 src/Module/Admin/Federation.php:398
 msgid "unknown"
 msgstr ""
 
-#: src/Module/Admin/Federation.php:180
+#: src/Module/Admin/Federation.php:182
 #, php-format
 msgid "%2$s total system"
 msgid_plural "%2$s total systems"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/Module/Admin/Federation.php:181
+#: src/Module/Admin/Federation.php:183
 #, php-format
 msgid "%2$s active user last month"
 msgid_plural "%2$s active users last month"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/Module/Admin/Federation.php:182
+#: src/Module/Admin/Federation.php:184
 #, php-format
 msgid "%2$s active user last six months"
 msgid_plural "%2$s active users last six months"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/Module/Admin/Federation.php:183
+#: src/Module/Admin/Federation.php:185
 #, php-format
 msgid "%2$s registered user"
 msgid_plural "%2$s registered users"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/Module/Admin/Federation.php:184
+#: src/Module/Admin/Federation.php:186
 #, php-format
 msgid "%2$s locally created post or comment"
 msgid_plural "%2$s locally created posts and comments"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/Module/Admin/Federation.php:187
+#: src/Module/Admin/Federation.php:189
 #, php-format
 msgid "%2$s post per user"
 msgid_plural "%2$s posts per user"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/Module/Admin/Federation.php:192
+#: src/Module/Admin/Federation.php:194
 #, php-format
 msgid "%2$s user per system"
 msgid_plural "%2$s users per system"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/Module/Admin/Federation.php:202
+#: src/Module/Admin/Federation.php:204
 msgid ""
 "This page offers you some numbers to the known part of the federated social "
 "network your Friendica node is part of. These numbers are not complete but "
 "only reflect the part of the network your node is aware of."
 msgstr ""
 
-#: src/Module/Admin/Federation.php:208 src/Module/BaseAdmin.php:87
+#: src/Module/Admin/Federation.php:210 src/Module/BaseAdmin.php:87
 msgid "Federation Statistics"
 msgstr ""
 
-#: src/Module/Admin/Federation.php:212
+#: src/Module/Admin/Federation.php:214
 #, php-format
 msgid ""
 "Currently this node is aware of %2$s node (%3$s active users last month, "
@@ -4032,269 +4032,269 @@ msgstr ""
 msgid "Priority"
 msgstr ""
 
-#: src/Module/Admin/Site.php:207
+#: src/Module/Admin/Site.php:208
 #, php-format
 msgid "%s is no valid input for maximum image size"
 msgstr ""
 
-#: src/Module/Admin/Site.php:304 src/Module/Settings/Display.php:169
+#: src/Module/Admin/Site.php:309 src/Module/Settings/Display.php:169
 msgid "No special theme for mobile devices"
 msgstr ""
 
-#: src/Module/Admin/Site.php:321 src/Module/Settings/Display.php:179
+#: src/Module/Admin/Site.php:326 src/Module/Settings/Display.php:179
 #, php-format
 msgid "%s - (Experimental)"
 msgstr ""
 
-#: src/Module/Admin/Site.php:333
+#: src/Module/Admin/Site.php:338
 msgid "No community page"
 msgstr ""
 
-#: src/Module/Admin/Site.php:334
+#: src/Module/Admin/Site.php:339
 msgid "No community page for visitors"
 msgstr ""
 
-#: src/Module/Admin/Site.php:335
+#: src/Module/Admin/Site.php:340
 msgid "Public postings from users of this site"
 msgstr ""
 
-#: src/Module/Admin/Site.php:336
+#: src/Module/Admin/Site.php:341
 msgid "Public postings from the federated network"
 msgstr ""
 
-#: src/Module/Admin/Site.php:337
+#: src/Module/Admin/Site.php:342
 msgid "Public postings from local users and the federated network"
 msgstr ""
 
-#: src/Module/Admin/Site.php:343
+#: src/Module/Admin/Site.php:348
 msgid "Multi user instance"
 msgstr ""
 
-#: src/Module/Admin/Site.php:366
+#: src/Module/Admin/Site.php:371
 msgid "Closed"
 msgstr ""
 
-#: src/Module/Admin/Site.php:367
+#: src/Module/Admin/Site.php:372
 msgid "Requires approval"
 msgstr ""
 
-#: src/Module/Admin/Site.php:368
+#: src/Module/Admin/Site.php:373
 msgid "Open"
 msgstr ""
 
-#: src/Module/Admin/Site.php:372
+#: src/Module/Admin/Site.php:377
 msgid "Don't check"
 msgstr ""
 
-#: src/Module/Admin/Site.php:373
+#: src/Module/Admin/Site.php:378
 msgid "check the stable version"
 msgstr ""
 
-#: src/Module/Admin/Site.php:374
+#: src/Module/Admin/Site.php:379
 msgid "check the development version"
 msgstr ""
 
-#: src/Module/Admin/Site.php:378
+#: src/Module/Admin/Site.php:383
 msgid "none"
 msgstr ""
 
-#: src/Module/Admin/Site.php:379
+#: src/Module/Admin/Site.php:384
 msgid "Local contacts"
 msgstr ""
 
-#: src/Module/Admin/Site.php:380
+#: src/Module/Admin/Site.php:385
 msgid "Interactors"
 msgstr ""
 
-#: src/Module/Admin/Site.php:390 src/Module/BaseAdmin.php:90
+#: src/Module/Admin/Site.php:395 src/Module/BaseAdmin.php:90
 msgid "Site"
 msgstr ""
 
-#: src/Module/Admin/Site.php:391
+#: src/Module/Admin/Site.php:396
 msgid "General Information"
 msgstr ""
 
-#: src/Module/Admin/Site.php:393
+#: src/Module/Admin/Site.php:398
 msgid "Republish users to directory"
 msgstr ""
 
-#: src/Module/Admin/Site.php:394 src/Module/Register.php:152
+#: src/Module/Admin/Site.php:399 src/Module/Register.php:152
 msgid "Registration"
 msgstr ""
 
-#: src/Module/Admin/Site.php:395
+#: src/Module/Admin/Site.php:400
 msgid "File upload"
 msgstr ""
 
-#: src/Module/Admin/Site.php:396
+#: src/Module/Admin/Site.php:401
 msgid "Policies"
 msgstr ""
 
-#: src/Module/Admin/Site.php:397 src/Module/Calendar/Event/Form.php:252
+#: src/Module/Admin/Site.php:402 src/Module/Calendar/Event/Form.php:252
 #: src/Module/Contact.php:516 src/Module/Profile/Profile.php:276
 msgid "Advanced"
 msgstr ""
 
-#: src/Module/Admin/Site.php:398
+#: src/Module/Admin/Site.php:403
 msgid "Auto Discovered Contact Directory"
 msgstr ""
 
-#: src/Module/Admin/Site.php:399
+#: src/Module/Admin/Site.php:404
 msgid "Performance"
 msgstr ""
 
-#: src/Module/Admin/Site.php:400
+#: src/Module/Admin/Site.php:405
 msgid "Worker"
 msgstr ""
 
-#: src/Module/Admin/Site.php:401
+#: src/Module/Admin/Site.php:406
 msgid "Message Relay"
 msgstr ""
 
-#: src/Module/Admin/Site.php:402
+#: src/Module/Admin/Site.php:407
 msgid ""
 "Use the command \"console relay\" in the command line to add or remove "
 "relays."
 msgstr ""
 
-#: src/Module/Admin/Site.php:403
+#: src/Module/Admin/Site.php:408
 msgid "The system is not subscribed to any relays at the moment."
 msgstr ""
 
-#: src/Module/Admin/Site.php:404
+#: src/Module/Admin/Site.php:409
 msgid "The system is currently subscribed to the following relays:"
 msgstr ""
 
-#: src/Module/Admin/Site.php:406
+#: src/Module/Admin/Site.php:411
 msgid "Relocate Node"
 msgstr ""
 
-#: src/Module/Admin/Site.php:407
+#: src/Module/Admin/Site.php:412
 msgid ""
 "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:"
 msgstr ""
 
-#: src/Module/Admin/Site.php:408
+#: src/Module/Admin/Site.php:413
 msgid "(Friendica directory)# bin/console relocate https://newdomain.com"
 msgstr ""
 
-#: src/Module/Admin/Site.php:411
+#: src/Module/Admin/Site.php:416
 msgid "Site name"
 msgstr ""
 
-#: src/Module/Admin/Site.php:412
+#: src/Module/Admin/Site.php:417
 msgid "Sender Email"
 msgstr ""
 
-#: src/Module/Admin/Site.php:412
+#: src/Module/Admin/Site.php:417
 msgid ""
 "The email address your server shall use to send notification emails from."
 msgstr ""
 
-#: src/Module/Admin/Site.php:413
+#: src/Module/Admin/Site.php:418
 msgid "Name of the system actor"
 msgstr ""
 
-#: src/Module/Admin/Site.php:413
+#: src/Module/Admin/Site.php:418
 msgid ""
 "Name of the internal system account that is used to perform ActivityPub "
 "requests. This must be an unused username. If set, this can't be changed "
 "again."
 msgstr ""
 
-#: src/Module/Admin/Site.php:414
+#: src/Module/Admin/Site.php:419
 msgid "Banner/Logo"
 msgstr ""
 
-#: src/Module/Admin/Site.php:415
+#: src/Module/Admin/Site.php:420
 msgid "Email Banner/Logo"
 msgstr ""
 
-#: src/Module/Admin/Site.php:416
+#: src/Module/Admin/Site.php:421
 msgid "Shortcut icon"
 msgstr ""
 
-#: src/Module/Admin/Site.php:416
+#: src/Module/Admin/Site.php:421
 msgid "Link to an icon that will be used for browsers."
 msgstr ""
 
-#: src/Module/Admin/Site.php:417
+#: src/Module/Admin/Site.php:422
 msgid "Touch icon"
 msgstr ""
 
-#: src/Module/Admin/Site.php:417
+#: src/Module/Admin/Site.php:422
 msgid "Link to an icon that will be used for tablets and mobiles."
 msgstr ""
 
-#: src/Module/Admin/Site.php:418
+#: src/Module/Admin/Site.php:423
 msgid "Additional Info"
 msgstr ""
 
-#: src/Module/Admin/Site.php:418
+#: src/Module/Admin/Site.php:423
 #, php-format
 msgid ""
 "For public servers: you can add additional information here that will be "
 "listed at %s/servers."
 msgstr ""
 
-#: src/Module/Admin/Site.php:419
+#: src/Module/Admin/Site.php:424
 msgid "System language"
 msgstr ""
 
-#: src/Module/Admin/Site.php:420
+#: src/Module/Admin/Site.php:425
 msgid "System theme"
 msgstr ""
 
-#: src/Module/Admin/Site.php:420
+#: src/Module/Admin/Site.php:425
 #, php-format
 msgid ""
 "Default system theme - may be over-ridden by user profiles - <a href=\"%s\" "
 "id=\"cnftheme\">Change default theme settings</a>"
 msgstr ""
 
-#: src/Module/Admin/Site.php:421
+#: src/Module/Admin/Site.php:426
 msgid "Mobile system theme"
 msgstr ""
 
-#: src/Module/Admin/Site.php:421
+#: src/Module/Admin/Site.php:426
 msgid "Theme for mobile devices"
 msgstr ""
 
-#: src/Module/Admin/Site.php:422
+#: src/Module/Admin/Site.php:427
 msgid "Force SSL"
 msgstr ""
 
-#: src/Module/Admin/Site.php:422
+#: src/Module/Admin/Site.php:427
 msgid ""
 "Force all Non-SSL requests to SSL - Attention: on some systems it could lead "
 "to endless loops."
 msgstr ""
 
-#: src/Module/Admin/Site.php:423
+#: src/Module/Admin/Site.php:428
 msgid "Show help entry from navigation menu"
 msgstr ""
 
-#: src/Module/Admin/Site.php:423
+#: src/Module/Admin/Site.php:428
 msgid ""
 "Displays the menu entry for the Help pages from the navigation menu. It is "
 "always accessible by calling /help directly."
 msgstr ""
 
-#: src/Module/Admin/Site.php:424
+#: src/Module/Admin/Site.php:429
 msgid "Single user instance"
 msgstr ""
 
-#: src/Module/Admin/Site.php:424
+#: src/Module/Admin/Site.php:429
 msgid "Make this instance multi-user or single-user for the named user"
 msgstr ""
 
-#: src/Module/Admin/Site.php:426
+#: src/Module/Admin/Site.php:431
 msgid "Maximum image size"
 msgstr ""
 
-#: src/Module/Admin/Site.php:426
+#: src/Module/Admin/Site.php:431
 #, php-format
 msgid ""
 "Maximum size in bytes of uploaded images. Default is 0, which means no "
@@ -4306,192 +4306,204 @@ msgid ""
 "to %s (%s byte)"
 msgstr ""
 
-#: src/Module/Admin/Site.php:430
+#: src/Module/Admin/Site.php:435
 msgid "Maximum image length"
 msgstr ""
 
-#: src/Module/Admin/Site.php:430
+#: src/Module/Admin/Site.php:435
 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:431
+#: src/Module/Admin/Site.php:436
 msgid "JPEG image quality"
 msgstr ""
 
-#: src/Module/Admin/Site.php:431
+#: src/Module/Admin/Site.php:436
 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:433
+#: src/Module/Admin/Site.php:438
 msgid "Register policy"
 msgstr ""
 
-#: src/Module/Admin/Site.php:434
+#: src/Module/Admin/Site.php:439
+msgid "Maximum Users"
+msgstr ""
+
+#: src/Module/Admin/Site.php:439
+msgid ""
+"If defined, the register policy is automatically closed when the given "
+"number of users is reached and reopens the registry when the number drops "
+"below the limit. It only works when the policy is set to open or close, but "
+"not when the policy is set to approval."
+msgstr ""
+
+#: src/Module/Admin/Site.php:440
 msgid "Maximum Daily Registrations"
 msgstr ""
 
-#: src/Module/Admin/Site.php:434
+#: src/Module/Admin/Site.php:440
 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:435
+#: src/Module/Admin/Site.php:441
 msgid "Register text"
 msgstr ""
 
-#: src/Module/Admin/Site.php:435
+#: src/Module/Admin/Site.php:441
 msgid ""
 "Will be displayed prominently on the registration page. You can use BBCode "
 "here."
 msgstr ""
 
-#: src/Module/Admin/Site.php:436
+#: src/Module/Admin/Site.php:442
 msgid "Forbidden Nicknames"
 msgstr ""
 
-#: src/Module/Admin/Site.php:436
+#: src/Module/Admin/Site.php:442
 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:437
+#: src/Module/Admin/Site.php:443
 msgid "Accounts abandoned after x days"
 msgstr ""
 
-#: src/Module/Admin/Site.php:437
+#: src/Module/Admin/Site.php:443
 msgid ""
 "Will not waste system resources polling external sites for abandonded "
 "accounts. Enter 0 for no time limit."
 msgstr ""
 
-#: src/Module/Admin/Site.php:438
+#: src/Module/Admin/Site.php:444
 msgid "Allowed friend domains"
 msgstr ""
 
-#: src/Module/Admin/Site.php:438
+#: src/Module/Admin/Site.php:444
 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:439
+#: src/Module/Admin/Site.php:445
 msgid "Allowed email domains"
 msgstr ""
 
-#: src/Module/Admin/Site.php:439
+#: src/Module/Admin/Site.php:445
 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:440
+#: src/Module/Admin/Site.php:446
 msgid "No OEmbed rich content"
 msgstr ""
 
-#: src/Module/Admin/Site.php:440
+#: src/Module/Admin/Site.php:446
 msgid ""
 "Don't show the rich content (e.g. embedded PDF), except from the domains "
 "listed below."
 msgstr ""
 
-#: src/Module/Admin/Site.php:441
+#: src/Module/Admin/Site.php:447
 msgid "Trusted third-party domains"
 msgstr ""
 
-#: src/Module/Admin/Site.php:441
+#: src/Module/Admin/Site.php:447
 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:442
+#: src/Module/Admin/Site.php:448
 msgid "Block public"
 msgstr ""
 
-#: src/Module/Admin/Site.php:442
+#: src/Module/Admin/Site.php:448
 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:443
+#: src/Module/Admin/Site.php:449
 msgid "Force publish"
 msgstr ""
 
-#: src/Module/Admin/Site.php:443
+#: src/Module/Admin/Site.php:449
 msgid ""
 "Check to force all profiles on this site to be listed in the site directory."
 msgstr ""
 
-#: src/Module/Admin/Site.php:443
+#: src/Module/Admin/Site.php:449
 msgid "Enabling this may violate privacy laws like the GDPR"
 msgstr ""
 
-#: src/Module/Admin/Site.php:444
+#: src/Module/Admin/Site.php:450
 msgid "Global directory URL"
 msgstr ""
 
-#: src/Module/Admin/Site.php:444
+#: src/Module/Admin/Site.php:450
 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:445
+#: src/Module/Admin/Site.php:451
 msgid "Private posts by default for new users"
 msgstr ""
 
-#: src/Module/Admin/Site.php:445
+#: src/Module/Admin/Site.php:451
 msgid ""
 "Set default post permissions for all new members to the default privacy "
 "group rather than public."
 msgstr ""
 
-#: src/Module/Admin/Site.php:446
+#: src/Module/Admin/Site.php:452
 msgid "Don't include post content in email notifications"
 msgstr ""
 
-#: src/Module/Admin/Site.php:446
+#: src/Module/Admin/Site.php:452
 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:447
+#: src/Module/Admin/Site.php:453
 msgid "Disallow public access to addons listed in the apps menu."
 msgstr ""
 
-#: src/Module/Admin/Site.php:447
+#: src/Module/Admin/Site.php:453
 msgid ""
 "Checking this box will restrict addons listed in the apps menu to members "
 "only."
 msgstr ""
 
-#: src/Module/Admin/Site.php:448
+#: src/Module/Admin/Site.php:454
 msgid "Don't embed private images in posts"
 msgstr ""
 
-#: src/Module/Admin/Site.php:448
+#: src/Module/Admin/Site.php:454
 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:449
+#: src/Module/Admin/Site.php:455
 msgid "Explicit Content"
 msgstr ""
 
-#: src/Module/Admin/Site.php:449
+#: src/Module/Admin/Site.php:455
 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 "
@@ -4500,267 +4512,267 @@ msgid ""
 "will be shown at the user registration page."
 msgstr ""
 
-#: src/Module/Admin/Site.php:450
+#: src/Module/Admin/Site.php:456
 msgid "Proxify external content"
 msgstr ""
 
-#: src/Module/Admin/Site.php:450
+#: src/Module/Admin/Site.php:456
 msgid ""
 "Route external content via the proxy functionality. This is used for example "
 "for some OEmbed accesses and in some other rare cases."
 msgstr ""
 
-#: src/Module/Admin/Site.php:451
+#: src/Module/Admin/Site.php:457
 msgid "Cache contact avatars"
 msgstr ""
 
-#: src/Module/Admin/Site.php:451
+#: src/Module/Admin/Site.php:457
 msgid ""
 "Locally store the avatar pictures of the contacts. This uses a lot of "
 "storage space but it increases the performance."
 msgstr ""
 
-#: src/Module/Admin/Site.php:452
+#: src/Module/Admin/Site.php:458
 msgid "Allow Users to set remote_self"
 msgstr ""
 
-#: src/Module/Admin/Site.php:452
+#: src/Module/Admin/Site.php:458
 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:453
+#: src/Module/Admin/Site.php:459
 msgid "Enable multiple registrations"
 msgstr ""
 
-#: src/Module/Admin/Site.php:453
+#: src/Module/Admin/Site.php:459
 msgid "Enable users to register additional accounts for use as pages."
 msgstr ""
 
-#: src/Module/Admin/Site.php:454
+#: src/Module/Admin/Site.php:460
 msgid "Enable OpenID"
 msgstr ""
 
-#: src/Module/Admin/Site.php:454
+#: src/Module/Admin/Site.php:460
 msgid "Enable OpenID support for registration and logins."
 msgstr ""
 
-#: src/Module/Admin/Site.php:455
+#: src/Module/Admin/Site.php:461
 msgid "Enable Fullname check"
 msgstr ""
 
-#: src/Module/Admin/Site.php:455
+#: src/Module/Admin/Site.php:461
 msgid ""
 "Enable check to only allow users to register with a space between the first "
 "name and the last name in their full name."
 msgstr ""
 
-#: src/Module/Admin/Site.php:456
+#: src/Module/Admin/Site.php:462
 msgid "Email administrators on new registration"
 msgstr ""
 
-#: src/Module/Admin/Site.php:456
+#: src/Module/Admin/Site.php:462
 msgid ""
 "If enabled and the system is set to an open registration, an email for each "
 "new registration is sent to the administrators."
 msgstr ""
 
-#: src/Module/Admin/Site.php:457
+#: src/Module/Admin/Site.php:463
 msgid "Community pages for visitors"
 msgstr ""
 
-#: src/Module/Admin/Site.php:457
+#: src/Module/Admin/Site.php:463
 msgid ""
 "Which community pages should be available for visitors. Local users always "
 "see both pages."
 msgstr ""
 
-#: src/Module/Admin/Site.php:458
+#: src/Module/Admin/Site.php:464
 msgid "Posts per user on community page"
 msgstr ""
 
-#: src/Module/Admin/Site.php:458
+#: src/Module/Admin/Site.php:464
 msgid ""
 "The maximum number of posts per user on the community page. (Not valid for "
 "\"Global Community\")"
 msgstr ""
 
-#: src/Module/Admin/Site.php:460
+#: src/Module/Admin/Site.php:466
 msgid "Enable Mail support"
 msgstr ""
 
-#: src/Module/Admin/Site.php:460
+#: src/Module/Admin/Site.php:466
 msgid ""
 "Enable built-in mail support to poll IMAP folders and to reply via mail."
 msgstr ""
 
-#: src/Module/Admin/Site.php:461
+#: src/Module/Admin/Site.php:467
 msgid ""
 "Mail support can't be enabled because the PHP IMAP module is not installed."
 msgstr ""
 
-#: src/Module/Admin/Site.php:462
+#: src/Module/Admin/Site.php:468
 msgid "Enable OStatus support"
 msgstr ""
 
-#: src/Module/Admin/Site.php:462
+#: src/Module/Admin/Site.php:468
 msgid ""
 "Enable built-in OStatus (StatusNet, GNU Social etc.) compatibility. All "
 "communications in OStatus are public."
 msgstr ""
 
-#: src/Module/Admin/Site.php:464
+#: src/Module/Admin/Site.php:470
 msgid ""
 "Diaspora support can't be enabled because Friendica was installed into a sub "
 "directory."
 msgstr ""
 
-#: src/Module/Admin/Site.php:465
+#: src/Module/Admin/Site.php:471
 msgid "Enable Diaspora support"
 msgstr ""
 
-#: src/Module/Admin/Site.php:465
+#: src/Module/Admin/Site.php:471
 msgid ""
 "Enable built-in Diaspora network compatibility for communicating with "
 "diaspora servers."
 msgstr ""
 
-#: src/Module/Admin/Site.php:466
+#: src/Module/Admin/Site.php:472
 msgid "Verify SSL"
 msgstr ""
 
-#: src/Module/Admin/Site.php:466
+#: src/Module/Admin/Site.php:472
 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:467
+#: src/Module/Admin/Site.php:473
 msgid "Proxy user"
 msgstr ""
 
-#: src/Module/Admin/Site.php:467
+#: src/Module/Admin/Site.php:473
 msgid "User name for the proxy server."
 msgstr ""
 
-#: src/Module/Admin/Site.php:468
+#: src/Module/Admin/Site.php:474
 msgid "Proxy URL"
 msgstr ""
 
-#: src/Module/Admin/Site.php:468
+#: src/Module/Admin/Site.php:474
 msgid ""
 "If you want to use a proxy server that Friendica should use to connect to "
 "the network, put the URL of the proxy here."
 msgstr ""
 
-#: src/Module/Admin/Site.php:469
+#: src/Module/Admin/Site.php:475
 msgid "Network timeout"
 msgstr ""
 
-#: src/Module/Admin/Site.php:469
+#: src/Module/Admin/Site.php:475
 msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
 msgstr ""
 
-#: src/Module/Admin/Site.php:470
+#: src/Module/Admin/Site.php:476
 msgid "Maximum Load Average"
 msgstr ""
 
-#: src/Module/Admin/Site.php:470
+#: src/Module/Admin/Site.php:476
 #, php-format
 msgid ""
 "Maximum system load before delivery and poll processes are deferred - "
 "default %d."
 msgstr ""
 
-#: src/Module/Admin/Site.php:471
+#: src/Module/Admin/Site.php:477
 msgid "Minimal Memory"
 msgstr ""
 
-#: src/Module/Admin/Site.php:471
+#: src/Module/Admin/Site.php:477
 msgid ""
 "Minimal free memory in MB for the worker. Needs access to /proc/meminfo - "
 "default 0 (deactivated)."
 msgstr ""
 
-#: src/Module/Admin/Site.php:472
+#: src/Module/Admin/Site.php:478
 msgid "Periodically optimize tables"
 msgstr ""
 
-#: src/Module/Admin/Site.php:472
+#: src/Module/Admin/Site.php:478
 msgid "Periodically optimize tables like the cache and the workerqueue"
 msgstr ""
 
-#: src/Module/Admin/Site.php:474
+#: src/Module/Admin/Site.php:480
 msgid "Discover followers/followings from contacts"
 msgstr ""
 
-#: src/Module/Admin/Site.php:474
+#: src/Module/Admin/Site.php:480
 msgid ""
 "If enabled, contacts are checked for their followers and following contacts."
 msgstr ""
 
-#: src/Module/Admin/Site.php:475
+#: src/Module/Admin/Site.php:481
 msgid "None - deactivated"
 msgstr ""
 
-#: src/Module/Admin/Site.php:476
+#: src/Module/Admin/Site.php:482
 msgid ""
 "Local contacts - contacts of our local contacts are discovered for their "
 "followers/followings."
 msgstr ""
 
-#: src/Module/Admin/Site.php:477
+#: src/Module/Admin/Site.php:483
 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:479
+#: src/Module/Admin/Site.php:485
 msgid "Synchronize the contacts with the directory server"
 msgstr ""
 
-#: src/Module/Admin/Site.php:479
+#: src/Module/Admin/Site.php:485
 msgid ""
 "if enabled, the system will check periodically for new contacts on the "
 "defined directory server."
 msgstr ""
 
-#: src/Module/Admin/Site.php:481
+#: src/Module/Admin/Site.php:487
 msgid "Days between requery"
 msgstr ""
 
-#: src/Module/Admin/Site.php:481
+#: src/Module/Admin/Site.php:487
 msgid "Number of days after which a server is requeried for his contacts."
 msgstr ""
 
-#: src/Module/Admin/Site.php:482
+#: src/Module/Admin/Site.php:488
 msgid "Discover contacts from other servers"
 msgstr ""
 
-#: src/Module/Admin/Site.php:482
+#: src/Module/Admin/Site.php:488
 msgid ""
 "Periodically query other servers for contacts. The system queries Friendica, "
 "Mastodon and Hubzilla servers."
 msgstr ""
 
-#: src/Module/Admin/Site.php:483
+#: src/Module/Admin/Site.php:489
 msgid "Search the local directory"
 msgstr ""
 
-#: src/Module/Admin/Site.php:483
+#: src/Module/Admin/Site.php:489
 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:485
+#: src/Module/Admin/Site.php:491
 msgid "Publish server information"
 msgstr ""
 
-#: src/Module/Admin/Site.php:485
+#: src/Module/Admin/Site.php:491
 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 "
@@ -4768,50 +4780,50 @@ msgid ""
 "href=\"http://the-federation.info/\">the-federation.info</a> for details."
 msgstr ""
 
-#: src/Module/Admin/Site.php:487
+#: src/Module/Admin/Site.php:493
 msgid "Check upstream version"
 msgstr ""
 
-#: src/Module/Admin/Site.php:487
+#: src/Module/Admin/Site.php:493
 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:488
+#: src/Module/Admin/Site.php:494
 msgid "Suppress Tags"
 msgstr ""
 
-#: src/Module/Admin/Site.php:488
+#: src/Module/Admin/Site.php:494
 msgid "Suppress showing a list of hashtags at the end of the posting."
 msgstr ""
 
-#: src/Module/Admin/Site.php:489
+#: src/Module/Admin/Site.php:495
 msgid "Clean database"
 msgstr ""
 
-#: src/Module/Admin/Site.php:489
+#: src/Module/Admin/Site.php:495
 msgid ""
 "Remove old remote items, orphaned database records and old content from some "
 "other helper tables."
 msgstr ""
 
-#: src/Module/Admin/Site.php:490
+#: src/Module/Admin/Site.php:496
 msgid "Lifespan of remote items"
 msgstr ""
 
-#: src/Module/Admin/Site.php:490
+#: src/Module/Admin/Site.php:496
 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:491
+#: src/Module/Admin/Site.php:497
 msgid "Lifespan of unclaimed items"
 msgstr ""
 
-#: src/Module/Admin/Site.php:491
+#: src/Module/Admin/Site.php:497
 msgid ""
 "When the database cleanup is enabled, this defines the days after which "
 "unclaimed remote items (mostly content from the relay) will be deleted. "
@@ -4819,144 +4831,144 @@ msgid ""
 "items if set to 0."
 msgstr ""
 
-#: src/Module/Admin/Site.php:492
+#: src/Module/Admin/Site.php:498
 msgid "Lifespan of raw conversation data"
 msgstr ""
 
-#: src/Module/Admin/Site.php:492
+#: src/Module/Admin/Site.php:498
 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:493
+#: src/Module/Admin/Site.php:499
 msgid "Maximum numbers of comments per post"
 msgstr ""
 
-#: src/Module/Admin/Site.php:493
+#: src/Module/Admin/Site.php:499
 msgid "How much comments should be shown for each post? Default value is 100."
 msgstr ""
 
-#: src/Module/Admin/Site.php:494
+#: src/Module/Admin/Site.php:500
 msgid "Maximum numbers of comments per post on the display page"
 msgstr ""
 
-#: src/Module/Admin/Site.php:494
+#: src/Module/Admin/Site.php:500
 msgid ""
 "How many comments should be shown on the single view for each post? Default "
 "value is 1000."
 msgstr ""
 
-#: src/Module/Admin/Site.php:495
+#: src/Module/Admin/Site.php:501
 msgid "Temp path"
 msgstr ""
 
-#: src/Module/Admin/Site.php:495
+#: src/Module/Admin/Site.php:501
 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:496
+#: src/Module/Admin/Site.php:502
 msgid "Only search in tags"
 msgstr ""
 
-#: src/Module/Admin/Site.php:496
+#: src/Module/Admin/Site.php:502
 msgid "On large systems the text search can slow down the system extremely."
 msgstr ""
 
-#: src/Module/Admin/Site.php:497
+#: src/Module/Admin/Site.php:503
 msgid "Generate counts per contact group when calculating network count"
 msgstr ""
 
-#: src/Module/Admin/Site.php:497
+#: src/Module/Admin/Site.php:503
 msgid ""
 "On systems with users that heavily use contact groups the query can be very "
 "expensive."
 msgstr ""
 
-#: src/Module/Admin/Site.php:499
+#: src/Module/Admin/Site.php:505
 msgid "Maximum number of parallel workers"
 msgstr ""
 
-#: src/Module/Admin/Site.php:499
+#: src/Module/Admin/Site.php:505
 #, 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:500
+#: src/Module/Admin/Site.php:506
 msgid "Enable fastlane"
 msgstr ""
 
-#: src/Module/Admin/Site.php:500
+#: src/Module/Admin/Site.php:506
 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:502
+#: src/Module/Admin/Site.php:508
 msgid "Direct relay transfer"
 msgstr ""
 
-#: src/Module/Admin/Site.php:502
+#: src/Module/Admin/Site.php:508
 msgid ""
 "Enables the direct transfer to other servers without using the relay servers"
 msgstr ""
 
-#: src/Module/Admin/Site.php:503
+#: src/Module/Admin/Site.php:509
 msgid "Relay scope"
 msgstr ""
 
-#: src/Module/Admin/Site.php:503
+#: src/Module/Admin/Site.php:509
 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:503 src/Module/Contact/Profile.php:286
+#: src/Module/Admin/Site.php:509 src/Module/Contact/Profile.php:286
 #: src/Module/Settings/TwoFactor/Index.php:125
 msgid "Disabled"
 msgstr ""
 
-#: src/Module/Admin/Site.php:503
+#: src/Module/Admin/Site.php:509
 msgid "all"
 msgstr ""
 
-#: src/Module/Admin/Site.php:503
+#: src/Module/Admin/Site.php:509
 msgid "tags"
 msgstr ""
 
-#: src/Module/Admin/Site.php:504
+#: src/Module/Admin/Site.php:510
 msgid "Server tags"
 msgstr ""
 
-#: src/Module/Admin/Site.php:504
+#: src/Module/Admin/Site.php:510
 msgid "Comma separated list of tags for the \"tags\" subscription."
 msgstr ""
 
-#: src/Module/Admin/Site.php:505
+#: src/Module/Admin/Site.php:511
 msgid "Deny Server tags"
 msgstr ""
 
-#: src/Module/Admin/Site.php:505
+#: src/Module/Admin/Site.php:511
 msgid "Comma separated list of tags that are rejected."
 msgstr ""
 
-#: src/Module/Admin/Site.php:506
+#: src/Module/Admin/Site.php:512
 msgid "Allow user tags"
 msgstr ""
 
-#: src/Module/Admin/Site.php:506
+#: src/Module/Admin/Site.php:512
 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:509
+#: src/Module/Admin/Site.php:515
 msgid "Start Relocation"
 msgstr ""
 
@@ -5942,10 +5954,10 @@ msgid "The contact could not be added."
 msgstr ""
 
 #: src/Module/Contact/MatchInterests.php:94
-#: src/Module/Media/Attachment/Upload.php:79
-#: src/Module/Media/Attachment/Upload.php:84
-#: src/Module/Media/Photo/Upload.php:83 src/Module/Media/Photo/Upload.php:88
-#: src/Module/Media/Photo/Upload.php:137
+#: src/Module/Media/Attachment/Upload.php:77
+#: src/Module/Media/Attachment/Upload.php:82
+#: src/Module/Media/Photo/Upload.php:82 src/Module/Media/Photo/Upload.php:87
+#: src/Module/Media/Photo/Upload.php:136
 msgid "Invalid request."
 msgstr ""
 
@@ -7188,37 +7200,37 @@ msgstr ""
 msgid "Upload"
 msgstr ""
 
-#: src/Module/Media/Attachment/Upload.php:99
+#: src/Module/Media/Attachment/Upload.php:97
 msgid "Sorry, maybe your upload is bigger than the PHP configuration allows"
 msgstr ""
 
-#: src/Module/Media/Attachment/Upload.php:99
+#: src/Module/Media/Attachment/Upload.php:97
 msgid "Or - did you try to upload an empty file?"
 msgstr ""
 
-#: src/Module/Media/Attachment/Upload.php:106
+#: src/Module/Media/Attachment/Upload.php:104
 #, php-format
 msgid "File exceeds size limit of %s"
 msgstr ""
 
-#: src/Module/Media/Attachment/Upload.php:116
+#: src/Module/Media/Attachment/Upload.php:114
 msgid "File upload failed."
 msgstr ""
 
-#: src/Module/Media/Photo/Upload.php:154 src/Module/Media/Photo/Upload.php:155
+#: src/Module/Media/Photo/Upload.php:153 src/Module/Media/Photo/Upload.php:154
 #: src/Module/Profile/Photos.php:217
 #: src/Module/Settings/Profile/Photo/Index.php:68
 msgid "Unable to process image."
 msgstr ""
 
-#: src/Module/Media/Photo/Upload.php:188 src/Module/Profile/Photos.php:164
+#: src/Module/Media/Photo/Upload.php:187 src/Module/Profile/Photos.php:164
 #: src/Module/Profile/Photos.php:167 src/Module/Profile/Photos.php:194
 #: src/Module/Settings/Profile/Photo/Index.php:59
 #, php-format
 msgid "Image exceeds size limit of %s"
 msgstr ""
 
-#: src/Module/Media/Photo/Upload.php:206 src/Module/Profile/Photos.php:243
+#: src/Module/Media/Photo/Upload.php:205 src/Module/Profile/Photos.php:243
 #: src/Module/Settings/Profile/Photo/Index.php:95
 msgid "Image upload failed."
 msgstr ""
index ecd8ce27733de453e832feaf881d57ba4a55fd4e..3cf0729942ea2115b23eaeed200e2e93d23a4d70 100644 (file)
@@ -32,6 +32,7 @@
                <h2>{{$registration}}</h2>
                {{include file="field_textarea.tpl" field=$register_text}}
                {{include file="field_select.tpl" field=$register_policy}}
+               {{include file="field_input.tpl" field=$max_registered_users}}
                {{include file="field_input.tpl" field=$daily_registrations}}
                {{include file="field_checkbox.tpl" field=$enable_multi_reg}}
                {{include file="field_checkbox.tpl" field=$enable_openid}}
index 92dd1796fe0dc0837b920357a0fd047e5c3b5a26..95eba383acdb3fdf1b3aa524c650da1e1571b61e 100644 (file)
@@ -71,6 +71,7 @@
                                        <div class="panel-body">
                                                {{include file="field_textarea.tpl" field=$register_text}}
                                                {{include file="field_select.tpl" field=$register_policy}}
+                                               {{include file="field_input.tpl" field=$max_registered_users}}
                                                {{include file="field_input.tpl" field=$daily_registrations}}
                                                {{include file="field_checkbox.tpl" field=$enable_multi_reg}}
                                                {{include file="field_checkbox.tpl" field=$enable_openid}}