Commit 660e2a8a authored by Lucas Nunes's avatar Lucas Nunes

fix

parent 29df5376
......@@ -2,8 +2,17 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="853286ae-8652-453d-8e83-ab776ad9c7ae" name="Default" comment="fix">
<change afterPath="$PROJECT_DIR$/app/Http/Controllers/PreRegistrationController.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/Models/PreRegistration.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/database/migrations/2020_01_31_083044_create_pre_registrations_table.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/resources/views/frontend/courses/lesson.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/frontend/courses/lesson.blade.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/PreRegisterController.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/helpers.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/helpers.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/resources/lang/pt-Br/labels.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/lang/pt-Br/labels.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/resources/views/frontend/auth/pre-register.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/frontend/auth/pre-register.blade.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/routes/web.php" beforeDir="false" afterPath="$PROJECT_DIR$/routes/web.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/vendor/composer/autoload_classmap.php" beforeDir="false" afterPath="$PROJECT_DIR$/vendor/composer/autoload_classmap.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/vendor/composer/autoload_static.php" beforeDir="false" afterPath="$PROJECT_DIR$/vendor/composer/autoload_static.php" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
......@@ -270,7 +279,7 @@
<workItem from="1567832429427" duration="62000" />
<workItem from="1579682757164" duration="8495000" />
<workItem from="1579740326050" duration="49668000" />
<workItem from="1580210370317" duration="9375000" />
<workItem from="1580210370317" duration="18109000" />
</task>
<task id="LOCAL-00001" summary="fix">
<created>1579690799404</created>
......@@ -412,7 +421,14 @@
<option name="project" value="LOCAL" />
<updated>1580368912814</updated>
</task>
<option name="localTasksCounter" value="21" />
<task id="LOCAL-00021" summary="fix">
<created>1580369344299</created>
<option name="number" value="00021" />
<option name="presentableId" value="LOCAL-00021" />
<option name="project" value="LOCAL" />
<updated>1580369344299</updated>
</task>
<option name="localTasksCounter" value="22" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
......@@ -423,18 +439,22 @@
<option name="LAST_COMMIT_MESSAGE" value="fix" />
</component>
<component name="WindowStateProjectService">
<state x="2063" y="265" key="#com.jetbrains.php.actions.copyPaste.importReferences.PhpImportReferencesDialog" timestamp="1580121803082">
<state x="1965" y="0" width="722" height="1026" key="#com.intellij.refactoring.rename.AutomaticRenamingDialog" timestamp="1580371963527">
<screen x="1366" y="0" width="1920" height="1080" />
</state>
<state x="1965" y="0" width="722" height="1026" key="#com.intellij.refactoring.rename.AutomaticRenamingDialog/1366.0.1920.1080/0.0.1366.768@1366.0.1920.1080" timestamp="1580371963527" />
<state x="2063" y="265" key="#com.jetbrains.php.actions.copyPaste.importReferences.PhpImportReferencesDialog" timestamp="1580381179170">
<screen x="1366" y="0" width="1920" height="1080" />
</state>
<state x="2063" y="265" key="#com.jetbrains.php.actions.copyPaste.importReferences.PhpImportReferencesDialog/1366.0.1920.1080/0.0.1366.768@1366.0.1920.1080" timestamp="1580121803082" />
<state x="1975" y="104" key="CommitChangelistDialog2" timestamp="1580368911814">
<state x="2063" y="265" key="#com.jetbrains.php.actions.copyPaste.importReferences.PhpImportReferencesDialog/1366.0.1920.1080/0.0.1366.768@1366.0.1920.1080" timestamp="1580381179170" />
<state x="1975" y="104" key="CommitChangelistDialog2" timestamp="1580369343218">
<screen x="1366" y="0" width="1920" height="1080" />
</state>
<state x="1975" y="104" key="CommitChangelistDialog2/1366.0.1920.1080/0.0.1366.768@1366.0.1920.1080" timestamp="1580368911814" />
<state x="2046" y="323" key="NewPhpClassDialog" timestamp="1580104601096">
<state x="1975" y="104" key="CommitChangelistDialog2/1366.0.1920.1080/0.0.1366.768@1366.0.1920.1080" timestamp="1580369343218" />
<state x="2046" y="323" key="NewPhpClassDialog" timestamp="1580371905397">
<screen x="1366" y="0" width="1920" height="1080" />
</state>
<state x="2046" y="323" key="NewPhpClassDialog/1366.0.1920.1080/0.0.1366.768@1366.0.1920.1080" timestamp="1580104601096" />
<state x="2046" y="323" key="NewPhpClassDialog/1366.0.1920.1080/0.0.1366.768@1366.0.1920.1080" timestamp="1580371905397" />
<state x="2150" y="433" key="NewPhpFileDialog" timestamp="1580104408205">
<screen x="1366" y="0" width="1920" height="1080" />
</state>
......@@ -443,10 +463,10 @@
<screen x="1366" y="0" width="1920" height="1080" />
</state>
<state x="2148" y="220" key="RollbackChangesDialog/1366.0.1920.1080/0.0.1366.768@1366.0.1920.1080" timestamp="1580073294419" />
<state x="1925" y="243" key="Vcs.Push.Dialog.v2" timestamp="1580368920926">
<state x="1925" y="243" key="Vcs.Push.Dialog.v2" timestamp="1580369347113">
<screen x="1366" y="0" width="1920" height="1080" />
</state>
<state x="1925" y="243" key="Vcs.Push.Dialog.v2/1366.0.1920.1080/0.0.1366.768@1366.0.1920.1080" timestamp="1580368920926" />
<state x="1925" y="243" key="Vcs.Push.Dialog.v2/1366.0.1920.1080/0.0.1366.768@1366.0.1920.1080" timestamp="1580369347113" />
<state x="2102" y="244" key="VcsDiffUtil.ChangesDialog" timestamp="1579686223702">
<screen x="1366" y="0" width="1920" height="1080" />
</state>
......
<?php
namespace App\Http\Controllers;
use App\Models\Course;
use Illuminate\Http\Request;
class PreRegisterController extends Controller
{
public function form(){
$states = get_br_states();
$courses = Course::get();
return view('frontend.auth.pre-register', compact('states', 'courses'));
}
public function store(Request $request){
// dd($request->all());
return redirect()->back()->with('alert', 'No Momento esta função está desabilitada.');
}
}
\ No newline at end of file
<?php
namespace App\Http\Controllers;
use App\Models\Course;
use App\Models\PreRegistration;
use Illuminate\Http\Request;
class PreRegistrationController extends Controller
{
public function form(){
$states = get_br_states();
$courses = Course::get();
return view('frontend.auth.pre-register', compact('states', 'courses'));
}
public function store(Request $request){
$request->validate([
'first_name' => 'required',
'last_name' => 'required',
'email' => 'required',
'dob' => 'required',
'phone' => 'nullable',
'cellphone' => 'nullable',
'address' => 'required',
'city' => 'required',
'pincode' => 'required',
'state' => 'required',
'rg' => 'required',
'cpf' => 'required|unique:pre_registrations',
'course_id' => 'required',
'rg_front_image' => 'required|image',
'rg_verse_image' => 'required|image',
'cpf_front_image' => 'required|image',
'personal_image' => 'required|image',
'accept' => 'required',
]);
$images = ['rg_front_image', 'rg_verse_image', 'cpf_front_image', 'personal_image'];
$preRegistration = PreRegistration::create(array_except($request->all(), $images));
foreach ($images as $image){
$file = \Illuminate\Support\Facades\Request::file($image);
$filename = time() . '-' . $file->getClientOriginalName();
$size = $file->getSize() / 1024;
$path = public_path() . '/storage/uploads/';
$file->move($path, $filename);
// $url = asset('storage/uploads/' . $filename);
$preRegistration[$image] = 'storage/uploads/' . $filename;
$preRegistration->save();
}
return redirect()->back()->with('alert', 'Dados enviados com sucesso! Aguarde o retorno da nossa equipe.');
}
}
\ No newline at end of file
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class PreRegistration extends Model
{
use SoftDeletes;
protected $fillable = [
'first_name',
'last_name',
'email',
'dob',
'phone',
'cellphone',
'address',
'city',
'pincode',
'state',
'rg',
'cpf',
'course_id',
'rg_front_image',
'rg_verse_image',
'cpf_front_image',
'personal_image',
];
public function getRgFrontImageAttribute()
{
if ($this->course_image != null) {
return url('storage/uploads/'.$this->rg_front_image);
}
return NULL;
}
public function getRgVerseImageAttribute()
{
if ($this->course_image != null) {
return url('storage/uploads/'.$this->rg_verse_image);
}
return NULL;
}
public function getCpfFrontImageAttribute()
{
if ($this->course_image != null) {
return url('storage/uploads/'.$this->cpf_front_image);
}
return NULL;
}
public function getPersonalImageAttribute()
{
if ($this->course_image != null) {
return url('storage/uploads/'.$this->personal_image);
}
return NULL;
}
}
\ No newline at end of file
......@@ -78,7 +78,7 @@ if (!function_exists('home_route')) {
if (auth()->user()->can('view backend') && auth()->user()->isAdmin()) {
return 'admin.dashboard';
} else {
return 'frontend.dashboard';
return 'admin.dashboard';
}
}
......
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreatePreRegistrationsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('pre_registrations', function (Blueprint $table) {
$table->increments('id');
$table->string('first_name');
$table->string('last_name');
$table->string('email');
$table->date('dob');
$table->string('phone')->nullable();
$table->string('cellphone')->nullable();
$table->string('address');
$table->string('city');
$table->string('pincode');
$table->string('state');
$table->string('rg');
$table->string('cpf');
$table->bigInteger('course_id');
$table->string('rg_front_image')->nullable();
$table->string('rg_verse_image')->nullable();
$table->string('cpf_front_image')->nullable();
$table->string('personal_image')->nullable();
$table->timestamps();
$table->softDeletes();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('pre_registration');
}
}
......@@ -1160,6 +1160,7 @@ return array (
'email' => 'E-mail',
'dob' => 'Data de nascimento',
'phone_number' => 'Telefone',
'cellphone_number' => 'Celular',
'address' => 'Endereço',
'city' => 'Cidade',
'pincode' => 'CEP',
......
......@@ -97,15 +97,24 @@
</div>
<br><br>
<div class="row">
<div class="col-md-3">
<div class="col-md-2">
<div class="contact-info">
<label>@lang('labels.frontend.pre-register.phone_number')</label>
<input class="number" name="phone" type="number" placeholder="">
<input class="number" name="phone" id="phone" type="text" placeholder="">
@if($errors->has('phone'))
<span class="help-block text-danger">{{$errors->first('phone')}}</span>
@endif
</div>
</div>
<div class="col-md-2">
<div class="contact-info">
<label>@lang('labels.frontend.pre-register.cellphone_number')</label>
<input class="number" name="cellphone" id="cellphone" type="text" placeholder="">
@if($errors->has('cellphone'))
<span class="help-block text-danger">{{$errors->first('cellphone')}}</span>
@endif
</div>
</div>
<div class="col-md-3">
<div class="contact-info">
<label>@lang('labels.frontend.pre-register.address')</label>
......@@ -115,7 +124,7 @@
@endif
</div>
</div>
<div class="col-md-3">
<div class="col-md-2">
<div class="contact-info">
<label>@lang('labels.frontend.pre-register.city')</label>
<input class="name" name="city" type="text" placeholder="" required>
......@@ -127,7 +136,7 @@
<div class="col-md-2">
<div class="contact-info">
<label>@lang('labels.frontend.pre-register.pincode')</label>
<input class="number" name="pincode" type="number" placeholder="" required>
<input class="number" name="pincode" type="text" id="pincode" placeholder="" required>
@if($errors->has('pincode'))
<span class="help-block text-danger">{{$errors->first('pincode')}}</span>
@endif
......@@ -153,7 +162,7 @@
<div class="col-md-4">
<div class="contact-info">
<label>@lang('labels.frontend.pre-register.rg')</label>
<input class="number" name="rg" type="number" placeholder="" required>
<input class="number" name="rg" type="text" placeholder="" required>
@if($errors->has('rg'))
<span class="help-block text-danger">{{$errors->first('rg')}}</span>
@endif
......@@ -179,26 +188,19 @@
<div class="col-md-4">
<div class="contact-info">
<label>@lang('labels.frontend.pre-register.cpf')</label>
<input class="name" name="cpf" type="number" placeholder="" required>
<input class="name" id="cpf" name="cpf" type="text" placeholder="" required>
@if($errors->has('cpf'))
<span class="help-block text-danger">{{$errors->first('cpf')}}</span>
@endif
</div>
</div>
<div class="col-md-4 form-group">
<div class="col-md-8 form-group">
{!! Form::label('cpf_front_image', trans('labels.frontend.pre-register.cpf_front_image'), ['class' => 'control-label']) !!}
{!! Form::file('cpf_front_image', ['class' => 'form-control', 'accept' => 'image/jpeg,image/gif,image/png']) !!}
{!! Form::hidden('cpf_front_image_max_size', 8) !!}
{!! Form::hidden('cpf_front_image_max_width', 4000) !!}
{!! Form::hidden('cpf_front_image_max_height', 4000) !!}
</div>
<div class="col-md-4 form-group">
{!! Form::label('cpf_verse_image', trans('labels.frontend.pre-register.cpf_verse_image'), ['class' => 'control-label']) !!}
{!! Form::file('cpf_verse_image', ['class' => 'form-control', 'accept' => 'image/jpeg,image/gif,image/png']) !!}
{!! Form::hidden('cpf_verse_image_max_size', 8) !!}
{!! Form::hidden('cpf_verse_image_max_width', 4000) !!}
{!! Form::hidden('cpf_verse_image_max_height', 4000) !!}
</div>
</div>
<br><br>
<div class="row">
......@@ -222,10 +224,10 @@
</div>
<div class="col-md-4 form-group">
{!! Form::label('personal_image', trans('labels.frontend.pre-register.personal_image'), ['class' => 'control-label']) !!}
{!! Form::file('personal_image_image', ['class' => 'form-control', 'accept' => 'image/jpeg,image/gif,image/png']) !!}
{!! Form::hidden('personal_image_image_image_max_size', 8) !!}
{!! Form::hidden('personal_image_image_image_max_width', 4000) !!}
{!! Form::hidden('personal_image_image_image_max_height', 4000) !!}
{!! Form::file('personal_image', ['class' => 'form-control', 'accept' => 'image/jpeg,image/gif,image/png']) !!}
{!! Form::hidden('personal_image_image_max_size', 8) !!}
{!! Form::hidden('personal_image_image_max_width', 4000) !!}
{!! Form::hidden('personal_image_image_max_height', 4000) !!}
</div>
</div>
<br><br>
......@@ -237,13 +239,10 @@
</div>
<div class="nws-button text-center gradient-bg text-uppercase">
<button class="text-uppercase" type="submit" value="Submit">@lang('labels.frontend.pre-register.button') <i class="fas fa-caret-right"></i></button>
</div>
</form>
</div>
</div>
......@@ -259,18 +258,28 @@
============================================= -->
@endsection
@push('after-scripts')
<script>
var uploadField = $('input[type="file"]');
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.js"></script>
<script>
var uploadField = $('input[type="file"]');
$(document).on('change', 'input[type="file"]', function () {
var $this = $(this);
$(this.files).each(function (key, value) {
if (value.size > 5000000) {
alert('"' + value.name + '"' + 'exceeds limit of maximum file upload size')
$this.val("");
}
$(document).on('change', 'input[type="file"]', function () {
var $this = $(this);
$(this.files).each(function (key, value) {
if (value.size > 5000000) {
alert('"' + value.name + '"' + 'exceeds limit of maximum file upload size')
$this.val("");
}
})
})
})
</script>
</script>
<script>
$(document).ready(function(){
$('#pincode').mask('99999-999');
$('#phone').mask('(99) 9999-9999');
$('#cellphone').mask('(99) 9 9999-9999');
$('#cpf').mask('999.999.999-99');
});
</script>
@endpush
\ No newline at end of file
......@@ -151,8 +151,8 @@ Route::group(['namespace' => 'Backend', 'prefix' => 'admin', 'middleware' => con
Route::get('certificate-verification','Backend\CertificateController@getVerificationForm')->name('frontend.certificates.getVerificationForm');
Route::post('certificate-verification','Backend\CertificateController@verifyCertificate')->name('frontend.certificates.verify');
Route::get('certificates/download', ['uses' => 'Backend\CertificateController@download', 'as' => 'certificates.download']);
Route::get('pre-register','PreRegisterController@form')->middleware('guest')->name('frontend.pre.register');
Route::post('pre-register','PreRegisterController@store')->middleware('guest')->name('frontend.pre.register.store');
Route::get('pre-register','PreRegistrationController@form')->middleware('guest')->name('frontend.pre.register');
Route::post('pre-register','PreRegistrationController@store')->middleware('guest')->name('frontend.pre.register.store');
if(config('show_offers') == 1){
......
......@@ -102,6 +102,7 @@ return array(
'App\\Http\\Controllers\\Frontend\\User\\ProfileController' => $baseDir . '/app/Http/Controllers/Frontend/User/ProfileController.php',
'App\\Http\\Controllers\\LanguageController' => $baseDir . '/app/Http/Controllers/LanguageController.php',
'App\\Http\\Controllers\\LessonsController' => $baseDir . '/app/Http/Controllers/LessonsController.php',
'App\\Http\\Controllers\\PreRegistrationController' => $baseDir . '/app/Http/Controllers/PreRegistrationController.php',
'App\\Http\\Controllers\\SitemapController' => $baseDir . '/app/Http/Controllers/SitemapController.php',
'App\\Http\\Controllers\\Traits\\FileUploadTrait' => $baseDir . '/app/Http/Traits/FileUploadTrait.php',
'App\\Http\\Controllers\\Traits\\InvoiceGenerator' => $baseDir . '/app/Http/Controllers/Traits/InvoiceGenerator.php',
......@@ -171,7 +172,6 @@ return array(
'App\\Mail\\OfflineOrderMail' => $baseDir . '/app/Mail/OfflineOrderMail.php',
'App\\Models\\Auth\\PasswordHistory' => $baseDir . '/app/Models/Auth/PasswordHistory.php',
'App\\Models\\Auth\\Role' => $baseDir . '/app/Models/Auth/Role.php',
'App\\Models\\Auth\\SocialAccount' => $baseDir . '/app/Models/Auth/SocialAccount.php',
'App\\Models\\Auth\\Traits\\Attribute\\RoleAttribute' => $baseDir . '/app/Models/Auth/Traits/Attribute/RoleAttribute.php',
'App\\Models\\Auth\\Traits\\Attribute\\UserAttribute' => $baseDir . '/app/Models/Auth/Traits/Attribute/UserAttribute.php',
'App\\Models\\Auth\\Traits\\Method\\RoleMethod' => $baseDir . '/app/Models/Auth/Traits/Method/RoleMethod.php',
......@@ -199,6 +199,7 @@ return array(
'App\\Models\\Order' => $baseDir . '/app/Models/Order.php',
'App\\Models\\OrderItem' => $baseDir . '/app/Models/OrderItem.php',
'App\\Models\\Page' => $baseDir . '/app/Models/Page.php',
'App\\Models\\PreRegistration' => $baseDir . '/app/Models/PreRegistration.php',
'App\\Models\\Question' => $baseDir . '/app/Models/Question.php',
'App\\Models\\QuestionsOption' => $baseDir . '/app/Models/QuestionsOption.php',
'App\\Models\\Reason' => $baseDir . '/app/Models/Reason.php',
......
......@@ -1130,6 +1130,7 @@ class ComposerStaticInit0c759c83d1f87cb463811c9e0fe294b7
'App\\Http\\Controllers\\Frontend\\User\\ProfileController' => __DIR__ . '/../..' . '/app/Http/Controllers/Frontend/User/ProfileController.php',
'App\\Http\\Controllers\\LanguageController' => __DIR__ . '/../..' . '/app/Http/Controllers/LanguageController.php',
'App\\Http\\Controllers\\LessonsController' => __DIR__ . '/../..' . '/app/Http/Controllers/LessonsController.php',
'App\\Http\\Controllers\\PreRegistrationController' => __DIR__ . '/../..' . '/app/Http/Controllers/PreRegistrationController.php',
'App\\Http\\Controllers\\SitemapController' => __DIR__ . '/../..' . '/app/Http/Controllers/SitemapController.php',
'App\\Http\\Controllers\\Traits\\FileUploadTrait' => __DIR__ . '/../..' . '/app/Http/Traits/FileUploadTrait.php',
'App\\Http\\Controllers\\Traits\\InvoiceGenerator' => __DIR__ . '/../..' . '/app/Http/Controllers/Traits/InvoiceGenerator.php',
......@@ -1199,7 +1200,6 @@ class ComposerStaticInit0c759c83d1f87cb463811c9e0fe294b7
'App\\Mail\\OfflineOrderMail' => __DIR__ . '/../..' . '/app/Mail/OfflineOrderMail.php',
'App\\Models\\Auth\\PasswordHistory' => __DIR__ . '/../..' . '/app/Models/Auth/PasswordHistory.php',
'App\\Models\\Auth\\Role' => __DIR__ . '/../..' . '/app/Models/Auth/Role.php',
'App\\Models\\Auth\\SocialAccount' => __DIR__ . '/../..' . '/app/Models/Auth/SocialAccount.php',
'App\\Models\\Auth\\Traits\\Attribute\\RoleAttribute' => __DIR__ . '/../..' . '/app/Models/Auth/Traits/Attribute/RoleAttribute.php',
'App\\Models\\Auth\\Traits\\Attribute\\UserAttribute' => __DIR__ . '/../..' . '/app/Models/Auth/Traits/Attribute/UserAttribute.php',
'App\\Models\\Auth\\Traits\\Method\\RoleMethod' => __DIR__ . '/../..' . '/app/Models/Auth/Traits/Method/RoleMethod.php',
......@@ -1227,6 +1227,7 @@ class ComposerStaticInit0c759c83d1f87cb463811c9e0fe294b7
'App\\Models\\Order' => __DIR__ . '/../..' . '/app/Models/Order.php',
'App\\Models\\OrderItem' => __DIR__ . '/../..' . '/app/Models/OrderItem.php',
'App\\Models\\Page' => __DIR__ . '/../..' . '/app/Models/Page.php',
'App\\Models\\PreRegistration' => __DIR__ . '/../..' . '/app/Models/PreRegistration.php',
'App\\Models\\Question' => __DIR__ . '/../..' . '/app/Models/Question.php',
'App\\Models\\QuestionsOption' => __DIR__ . '/../..' . '/app/Models/QuestionsOption.php',
'App\\Models\\Reason' => __DIR__ . '/../..' . '/app/Models/Reason.php',
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment