]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/Register.php
Group selection: Respect "pubmail" and ignore atchived or blocked contacts
[friendica.git] / src / Module / Register.php
index 10fd1aefc9b5f6c0bfc530be179c871237b864e4..ad49555e699d77bd4aa06b24b085c977756e9a9a 100644 (file)
@@ -2,6 +2,7 @@
 
 namespace Friendica\Module;
 
+use Friendica\App\BaseURL;
 use Friendica\BaseModule;
 use Friendica\Content\Text\BBCode;
 use Friendica\Core\Config;
@@ -34,7 +35,7 @@ class Register extends BaseModule
         *
         * @return string
         */
-       public static function content()
+       public static function content(array $parameters = [])
        {
                // logged in users can register others (people/pages/groups)
                // even with closed registrations, unless specifically prohibited by site policy.
@@ -61,12 +62,12 @@ class Register extends BaseModule
                        }
                }
 
-               $username   = defaults($_REQUEST, 'username'  , '');
-               $email      = defaults($_REQUEST, 'email'     , '');
-               $openid_url = defaults($_REQUEST, 'openid_url', '');
-               $nickname   = defaults($_REQUEST, 'nickname'  , '');
-               $photo      = defaults($_REQUEST, 'photo'     , '');
-               $invite_id  = defaults($_REQUEST, 'invite_id' , '');
+               $username   = $_REQUEST['username']   ?? '';
+               $email      = $_REQUEST['email']      ?? '';
+               $openid_url = $_REQUEST['openid_url'] ?? '';
+               $nickname   = $_REQUEST['nickname']   ?? '';
+               $photo      = $_REQUEST['photo']      ?? '';
+               $invite_id  = $_REQUEST['invite_id']  ?? '';
 
                if (Config::get('system', 'no_openid')) {
                        $fillwith = '';
@@ -151,7 +152,7 @@ class Register extends BaseModule
         * Extend this method if the module is supposed to process POST requests.
         * Doesn't display any content
         */
-       public static function post()
+       public static function post(array $parameters = [])
        {
                BaseModule::checkFormSecurityTokenRedirectOnError('/register', 'register');
 
@@ -207,8 +208,10 @@ class Register extends BaseModule
 
                $user = $result['user'];
 
+               $base_url = self::getClass(BaseURL::class)->get();
+
                if ($netpublish && intval(Config::get('config', 'register_policy')) !== self::APPROVE) {
-                       $url = $a->getBaseUrl() . '/profile/' . $user['nickname'];
+                       $url = $base_url . '/profile/' . $user['nickname'];
                        Worker::add(PRIORITY_LOW, 'Directory', $url);
                }
 
@@ -227,7 +230,7 @@ class Register extends BaseModule
                                $res = Model\User::sendRegisterOpenEmail(
                                        $user,
                                        Config::get('config', 'sitename'),
-                                       $a->getBaseUrl(),
+                                       $base_url,
                                        $result['password']
                                );
 
@@ -239,7 +242,6 @@ class Register extends BaseModule
                                                L10n::t('Failed to send email message. Here your accout details:<br> login: %s<br> password: %s<br><br>You can change your password after login.',
                                                        $user['email'],
                                                        $result['password'])
-                                               . EOL
                                        );
                                }
                        } else {
@@ -259,6 +261,11 @@ class Register extends BaseModule
 
                                $a->internalRedirect('register/');
                        }
+                       // Is there text in the tar pit?
+                       if (!empty($_POST['registertarpit'])) {
+                               \notice(L10n::t('You have entered too much information.'));
+                               $a->internalRedirect('register/');
+                       }
 
                        Model\Register::createForApproval($user['uid'], Config::get('system', 'language'), $_POST['permonlybox']);
 
@@ -283,12 +290,12 @@ class Register extends BaseModule
                                        'source_name'  => $user['username'],
                                        'source_mail'  => $user['email'],
                                        'source_nick'  => $user['nickname'],
-                                       'source_link'  => $a->getBaseUrl() . '/admin/users/',
-                                       'link'         => $a->getBaseUrl() . '/admin/users/',
-                                       'source_photo' => $a->getBaseUrl() . '/photo/avatar/' . $user['uid'] . '.jpg',
+                                       'source_link'  => $base_url . '/admin/users/',
+                                       'link'         => $base_url . '/admin/users/',
+                                       'source_photo' => $base_url . '/photo/avatar/' . $user['uid'] . '.jpg',
                                        'to_email'     => $admin['email'],
                                        'uid'          => $admin['uid'],
-                                       'language'     => defaults($admin, 'language', 'en'),
+                                       'language'     => ($admin['language'] ?? '') ?: 'en',
                                        'show_in_notification_page' => false
                                ]);
                        }
@@ -298,7 +305,7 @@ class Register extends BaseModule
                        Model\User::sendRegisterPendingEmail(
                                $user,
                                Config::get('config', 'sitename'),
-                               $a->getBaseURL(),
+                               $base_url,
                                $result['password']
                        );