mirror of
https://github.com/openclassify/openclassify.git
synced 2026-01-11 18:01:10 -06:00
register email field optional
This commit is contained in:
parent
df8df0c44b
commit
aaba6b08a9
@ -1,11 +1,15 @@
|
||||
<?php
|
||||
|
||||
|
||||
use Anomaly\Streams\Platform\Model\Location\LocationCitiesEntryModel;
|
||||
use Anomaly\Streams\Platform\Model\Location\LocationDistrictsEntryModel;
|
||||
use Visiosoft\LocationModule\Country\CountryModel;
|
||||
|
||||
return [
|
||||
|
||||
'register_email_field' => [
|
||||
'type' => 'anomaly.field_type.boolean',
|
||||
'config' => [
|
||||
'default_value' => true,
|
||||
],
|
||||
],
|
||||
|
||||
|
||||
'latest-limit' => [
|
||||
'type' => 'anomaly.field_type.integer',
|
||||
'config' => [
|
||||
@ -13,8 +17,6 @@ return [
|
||||
'default_value' => 5,
|
||||
],
|
||||
],
|
||||
|
||||
|
||||
"favicon" => [
|
||||
"type" => "anomaly.field_type.file",
|
||||
"config" => [
|
||||
|
||||
@ -107,5 +107,7 @@ return [
|
||||
'google_statistic_code' => [
|
||||
'name' => 'Google Statistic Code',
|
||||
],
|
||||
|
||||
'register_email_field' => [
|
||||
'name' => 'Member Registration Email Requirement',
|
||||
],
|
||||
];
|
||||
|
||||
@ -21,8 +21,8 @@ return [
|
||||
],
|
||||
'contact_mail' => [
|
||||
'name' => 'Mail ile iletişime geçin',
|
||||
'warning' => 'Otomatik eklenen sitename <strong>info</strong> @sitename',
|
||||
],'map_coordinates_long' => [
|
||||
'warning' => 'Otomatik eklenen sitename <strong>info</strong> @sitename',
|
||||
], 'map_coordinates_long' => [
|
||||
'name' => 'Harita Uzun Koordinat',
|
||||
],
|
||||
'map_coordinates_lat' => [
|
||||
@ -36,7 +36,7 @@ return [
|
||||
],
|
||||
'ogImage' => [
|
||||
'name' => 'Sosyal Paylaşma Logosu',
|
||||
'warning' => '1200 x 630 çözünürlükte olmalıdır.',
|
||||
'warning' => '1200 x 630 çözünürlükte olmalıdır.',
|
||||
|
||||
],
|
||||
'currencies' => [
|
||||
@ -47,7 +47,7 @@ return [
|
||||
],
|
||||
'site_address' => [
|
||||
'name' => 'Site adresi',
|
||||
'warning' => 'Otomatik eklendi www. www. <strong>sitename.com</strong>',
|
||||
'warning' => 'Otomatik eklendi www. www. <strong>sitename.com</strong>',
|
||||
],
|
||||
'google_map_key' => [
|
||||
'name' => 'Google Harita Api Anahtarı',
|
||||
@ -110,5 +110,7 @@ return [
|
||||
'google_statistic_code' => [
|
||||
'name' => 'Google İstatistik Kodu',
|
||||
],
|
||||
|
||||
'register_email_field' => [
|
||||
'name' => 'Üye Kayıt E-posta Zorunluluğu',
|
||||
],
|
||||
];
|
||||
|
||||
@ -20,5 +20,6 @@ return [
|
||||
'not_a_member_yet' => 'Not a Member Yet',
|
||||
'not_a_member_yet_message' => 'Sign up for our members to benefit from our special service',
|
||||
'forgot_password' => 'I Forgot My Password',
|
||||
'email_or_phone_number' => 'Email Address or Phone Number'
|
||||
'email_or_phone_number' => 'Email Address or Phone Number',
|
||||
'phone_number' => 'Phone Number',
|
||||
];
|
||||
@ -20,5 +20,6 @@ return [
|
||||
'not_a_member_yet' => 'Henüz Üye Değil Misiniz',
|
||||
'not_a_member_yet_message' => 'Üyelerimize özel hizmetlerimizden faydalanabilmek için üye olun',
|
||||
'forgot_password' => 'Şifremi Unuttum',
|
||||
'email_or_phone_number' => 'E-Posta Adresiniz veya Telefon Numaranız'
|
||||
'email_or_phone_number' => 'E-Posta Adresiniz veya Telefon Numaranız',
|
||||
'phone_number' => 'Telefon Numarası',
|
||||
];
|
||||
@ -37,19 +37,36 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="form-group email-field email-field_type">
|
||||
<label class="control-label">
|
||||
{{ trans('visiosoft.theme.base::field.email_or_phone_number') }}
|
||||
{{ trans('visiosoft.theme.base::field.phone_number') }}
|
||||
<span class="required">*</span>
|
||||
</label>
|
||||
|
||||
<div class="input-wrapper">
|
||||
{{ form.fields.email.input|raw }}
|
||||
{{ form.fields.phone.input|raw }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% if setting_value('visiosoft.module.advs::register_email_field') %}
|
||||
<div class="col-12">
|
||||
<div class="form-group email-field email-field_type">
|
||||
<label class="control-label">
|
||||
{{ trans('visiosoft.theme.base::field.email') }}
|
||||
<span class="required">*</span>
|
||||
</label>
|
||||
|
||||
<div class="input-wrapper">
|
||||
{{ form.fields.email.input|raw }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
{{ form.fields.email.setValue(random()~"@example.com").setAttributes({
|
||||
'class' :'hidden',
|
||||
}).input|raw }}
|
||||
{% endif %}
|
||||
<div class="col-12">
|
||||
<div class="form-group password-field password-field_type">
|
||||
<label class="control-label">
|
||||
|
||||
@ -23,5 +23,6 @@ return [
|
||||
'password_do_not_match' => 'Passwords do not match',
|
||||
'your_password_changed' => 'Your password was successfully updated',
|
||||
'error_valid_email_or_phone' => 'Phone number or E-mail address format is not correct.',
|
||||
'error_valid_phone' => 'Phone number format is not correct.',
|
||||
'registered_phone' => 'This phone number has already been registered.',
|
||||
];
|
||||
|
||||
@ -38,7 +38,9 @@ class Register2FormBuilder extends FormBuilder
|
||||
* @var array
|
||||
*/
|
||||
protected $fields = [
|
||||
'username',
|
||||
'username' => [
|
||||
'required' => true,
|
||||
],
|
||||
'first_name' => [
|
||||
'instructions' => false,
|
||||
'required' => true,
|
||||
@ -47,9 +49,9 @@ class Register2FormBuilder extends FormBuilder
|
||||
'instructions' => false,
|
||||
'required' => true,
|
||||
],
|
||||
'email' => [
|
||||
'phone' => [
|
||||
'type' => 'anomaly.field_type.text',
|
||||
'instructions' => false,
|
||||
'required' => true,
|
||||
'rules' => [
|
||||
'valid_register',
|
||||
],
|
||||
@ -60,6 +62,9 @@ class Register2FormBuilder extends FormBuilder
|
||||
],
|
||||
],
|
||||
],
|
||||
'email' => [
|
||||
'instructions' => false,
|
||||
],
|
||||
'password' => [
|
||||
'instructions' => false,
|
||||
],
|
||||
|
||||
@ -1,11 +1,9 @@
|
||||
<?php namespace Visiosoft\ProfileModule\Profile\Register2;
|
||||
|
||||
use Anomaly\UsersModule\User\Contract\UserInterface;
|
||||
use Anomaly\UsersModule\User\Contract\UserRepositoryInterface;
|
||||
use Anomaly\UsersModule\User\Event\UserHasRegistered;
|
||||
use Visiosoft\ProfileModule\Profile\ProfileModel;
|
||||
use Visiosoft\ProfileModule\Profile\Register2\Command\HandleAutomaticRegistration;
|
||||
use Visiosoft\ProfileModule\Profile\Register2\Command\HandleEmailRegistration;
|
||||
use Visiosoft\ProfileModule\Profile\Register2\Command\HandleManualRegistration;
|
||||
use Anomaly\UsersModule\User\UserActivator;
|
||||
use Illuminate\Contracts\Config\Repository;
|
||||
use Illuminate\Contracts\Events\Dispatcher;
|
||||
@ -34,6 +32,7 @@ class Register2FormHandler
|
||||
public function handle(
|
||||
Repository $config,
|
||||
Dispatcher $events,
|
||||
UserRepositoryInterface $users,
|
||||
Register2FormBuilder $builder,
|
||||
UserActivator $activator
|
||||
)
|
||||
@ -45,43 +44,33 @@ class Register2FormHandler
|
||||
$profile_parameters = array();
|
||||
|
||||
/* Create Profile in Register */
|
||||
if (!filter_var($builder->getPostValue('email'), FILTER_VALIDATE_EMAIL)) {
|
||||
$domain = setting_value('streams::domain');
|
||||
$domain = str_replace('https://', '', $domain);
|
||||
$domain = str_replace('http://', '', $domain);
|
||||
$domain = str_replace('/', '', $domain);
|
||||
$domain = str_replace('www', '', $domain);
|
||||
|
||||
$domain = setting_value('streams::domain');
|
||||
|
||||
$domain = str_replace('https://', '', $domain);
|
||||
$domain = str_replace('http://', '', $domain);
|
||||
$domain = str_replace('/', '', $domain);
|
||||
$domain = str_replace('www', '', $domain);
|
||||
|
||||
$profile_parameters['gsm_phone'] = $builder->getPostValue('email');
|
||||
$builder->setFormValue('email', $builder->getPostValue('email') . "@" . $domain);
|
||||
$profile_parameters['gsm_phone'] = $builder->getPostValue('phone');
|
||||
if (!setting_value('visiosoft.module.advs::register_email_field')) {
|
||||
$builder->setFormValue('email', $builder->getPostValue('username') . "@" . $domain);
|
||||
}
|
||||
|
||||
$builder->saveForm(); // Save the new user.
|
||||
$fields = $builder->getPostData();
|
||||
unset($fields['phone']);
|
||||
|
||||
|
||||
$register = $users->create($fields);
|
||||
$register->setAttribute('password', $fields['password']);
|
||||
$users->save($register);
|
||||
|
||||
/* @var UserInterface $user */
|
||||
$user = $builder->getFormEntry();
|
||||
$user = $register;
|
||||
$profile_parameters['user_id'] = $user->getId();
|
||||
ProfileModel::query()->create($profile_parameters);
|
||||
|
||||
$activator->start($user);
|
||||
$activator->force($user);
|
||||
|
||||
$mode = $config->get('anomaly.module.users::config.activation_mode', 'automatic');
|
||||
|
||||
switch ($mode) {
|
||||
case 'automatic':
|
||||
$this->dispatch(new HandleAutomaticRegistration($builder));
|
||||
break;
|
||||
|
||||
case 'manual':
|
||||
$this->dispatch(new HandleManualRegistration($builder));
|
||||
break;
|
||||
|
||||
case 'email':
|
||||
$this->dispatch(new HandleEmailRegistration($builder));
|
||||
break;
|
||||
}
|
||||
$events->dispatch(new UserHasRegistered($user));
|
||||
}
|
||||
}
|
||||
|
||||
@ -7,14 +7,12 @@ class ValidateRegister
|
||||
{
|
||||
public function handle(FormBuilder $builder, ProfileRepositoryInterface $profileRepository, $attribute, $value)
|
||||
{
|
||||
if (!filter_var($builder->getPostValue('email'), FILTER_VALIDATE_EMAIL)) {
|
||||
if (!is_numeric($builder->getPostValue('email'))) {
|
||||
$builder->addFormError('email', trans('visiosoft.module.profile::message.error_valid_email_or_phone'));
|
||||
return false;
|
||||
} elseif (!is_null($profileRepository->findPhoneNumber($builder->getPostValue('email')))) {
|
||||
$builder->addFormError('email', trans('visiosoft.module.profile::message.registered_phone'));
|
||||
return false;
|
||||
}
|
||||
if (!is_numeric($builder->getPostValue('phone'))) {
|
||||
$builder->addFormError('phone', trans('visiosoft.module.profile::message.error_valid_phone'));
|
||||
return false;
|
||||
} elseif (!is_null($profileRepository->findPhoneNumber($builder->getPostValue('phone')))) {
|
||||
$builder->addFormError('phone', trans('visiosoft.module.profile::message.registered_phone'));
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user