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']
);