X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FRegister.php;h=ad49555e699d77bd4aa06b24b085c977756e9a9a;hb=fd706cf9a7a0c4700838a1f00b12d8fd37323b7c;hp=202cf948e001289938175fea1eaa8c4cad946a8d;hpb=51210af22157327376954721bfdca7161b66a7be;p=friendica.git diff --git a/src/Module/Register.php b/src/Module/Register.php index 202cf948e0..ad49555e69 100644 --- a/src/Module/Register.php +++ b/src/Module/Register.php @@ -2,15 +2,16 @@ namespace Friendica\Module; +use Friendica\App\BaseURL; use Friendica\BaseModule; use Friendica\Content\Text\BBCode; use Friendica\Core\Config; use Friendica\Core\Hook; use Friendica\Core\L10n; +use Friendica\Core\L10n\L10n as L10nClass; use Friendica\Core\Logger; use Friendica\Core\PConfig; use Friendica\Core\Renderer; -use Friendica\Core\System; use Friendica\Core\Worker; use Friendica\Database\DBA; use Friendica\Model; @@ -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,19 +62,12 @@ class Register extends BaseModule } } - if (!empty($_SESSION['theme'])) { - unset($_SESSION['theme']); - } - if (!empty($_SESSION['mobile-theme'])) { - unset($_SESSION['mobile-theme']); - } - - $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 = ''; @@ -114,7 +108,7 @@ class Register extends BaseModule $o = Renderer::replaceMacros($tpl, [ '$invitations' => Config::get('system', 'invitation_only'), '$permonly' => intval(Config::get('config', 'register_policy')) === self::APPROVE, - '$permonlybox' => ['permonlybox', L10n::t('Note for the admin'), '', L10n::t('Leave a message for the admin, why you want to join this node')], + '$permonlybox' => ['permonlybox', L10n::t('Note for the admin'), '', L10n::t('Leave a message for the admin, why you want to join this node'), 'required'], '$invite_desc' => L10n::t('Membership on this site is by invitation only.'), '$invite_label' => L10n::t('Your invitation code: '), '$invite_id' => $invite_id, @@ -144,7 +138,6 @@ class Register extends BaseModule '$tostext' => L10n::t('Terms of Service'), '$showprivstatement' => Config::get('system', 'tosprivstatement'), '$privstatement'=> $tos->privacy_complete, - '$baseurl' => System::baseurl(), '$form_security_token' => BaseModule::getFormSecurityToken('register'), '$explicit_content' => Config::get('system', 'explicit_content', false), '$explicit_content_note' => L10n::t('Note: This node explicitly contains adult content') @@ -159,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'); @@ -204,7 +197,7 @@ class Register extends BaseModule $arr['blocked'] = $blocked; $arr['verified'] = $verified; - $arr['language'] = L10n::detectLanguage(); + $arr['language'] = L10nClass::detectLanguage($_SERVER, $_GET, $a->getConfig()->get('system', 'language')); try { $result = Model\User::create($arr); @@ -215,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); } @@ -235,7 +230,7 @@ class Register extends BaseModule $res = Model\User::sendRegisterOpenEmail( $user, Config::get('config', 'sitename'), - $a->getBaseUrl(), + $base_url, $result['password'] ); @@ -247,7 +242,6 @@ class Register extends BaseModule L10n::t('Failed to send email message. Here your accout details:
login: %s
password: %s

You can change your password after login.', $user['email'], $result['password']) - . EOL ); } } else { @@ -260,6 +254,19 @@ class Register extends BaseModule $a->internalRedirect(); } + // Check if the note to the admin is actually filled out + if (empty($_POST['permonlybox'])) { + \notice(L10n::t('You have to leave a request note for the admin.') + . L10n::t('Your registration can not be processed.') . EOL); + + $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']); // invite system @@ -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'] );