Merge branch '1.1' of https://gitlab.com/merdan.m/birzha into 1.1
This commit is contained in:
commit
8736b3df13
|
|
@ -140,6 +140,23 @@ return [
|
|||
'new_message' => 'New message',
|
||||
'payment_reviewed' => 'Payment has been reviewed',
|
||||
'product_reviewed' => 'Post has been reviewed',
|
||||
'api' => [
|
||||
'sign_up_excp' => 'Registration error',
|
||||
'bank_services_unavailable' => 'Bank services are unavailable.',
|
||||
'online_payment_failed' => 'Online payment has been failed.',
|
||||
'bank_payment_saved' => 'The bank transfer payment saved. Admin will consider it and approve later.',
|
||||
'bank_payment_failed' => 'The bank transfer payment failed.',
|
||||
// 'contact_message_sent' => 'Contact message has been sent',
|
||||
'cannot_verify_invalid_email' => 'Cannot verify. Invalid email address.',
|
||||
'verification_link_sent' => 'Verification link has been sent to your email. Log in to tmex.gov.tm before checking your email.',
|
||||
'email_already_verified' => 'You have already verified your email address.',
|
||||
'sms_sent' => 'SMS has been sent.',
|
||||
'sms_not_sent_error' => 'SMS has not been sent. Error.',
|
||||
'user_not_tm_resident' => 'This user is not a resident.',
|
||||
'phone_already_verified' => 'You have already verified your phone number.',
|
||||
'phone_verified_message' => 'Your phone number has been succesfully verified',
|
||||
'phone_verification_code_invalid' => 'Invalid sms code',
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -140,6 +140,23 @@ return [
|
|||
'new_message' => 'Новое сообщение',
|
||||
'payment_reviewed' => 'Платеж рассмотрен',
|
||||
'product_reviewed' => 'Объявление рассмотрено',
|
||||
'api' => [
|
||||
'sign_up_excp' => 'Ошибка при регистрации',
|
||||
'bank_services_unavailable' => 'Службы банка недоступны.',
|
||||
'online_payment_failed' => 'Онлайн оплата не прошла.',
|
||||
'bank_payment_saved' => 'Оплата банковским переводом сохранена и позже будет проверена администратором.',
|
||||
'bank_payment_failed' => 'Оплата банковским переводом не прошла.',
|
||||
// 'contact_message_sent' => 'Письмо отправлено.',
|
||||
'cannot_verify_invalid_email' => 'Верификация Email невозможна. Неверный Email',
|
||||
'verification_link_sent' => 'Ссылка для подтверждения отправлена на ваш Email. Авторизуйтесь на tmex.gov.tm перед проверкой Email.',
|
||||
'email_already_verified' => 'Вы уже подтвердили свой Email.',
|
||||
'sms_sent' => 'СМС отправлен.',
|
||||
'sms_not_sent_error' => 'СМС не отправлен. Ошибка.',
|
||||
'user_not_tm_resident' => 'Пользователь не является резидентом.',
|
||||
'phone_already_verified' => 'Номер телефона уже подтвержден.',
|
||||
'phone_verified_message' => 'Ваш номер телефона подтвержден',
|
||||
'phone_verification_code_invalid' => 'Неверный СМС код',
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -142,6 +142,23 @@ return [
|
|||
'new_message' => 'Täze hat',
|
||||
'payment_reviewed' => 'Töleg gözden geçirildi',
|
||||
'product_reviewed' => 'Bildiriş gözden geçirildi',
|
||||
'api' => [
|
||||
'sign_up_excp' => 'Hasaba alyş ýalňyşy',
|
||||
'bank_services_unavailable' => 'Bank hyzmatlary elýeterli däl.',
|
||||
'online_payment_failed' => 'Onlaýn töleg geçmedi.',
|
||||
'bank_payment_saved' => 'Bank üsti bilen töleg ýazyldy we soňra administrator tarapyndan gözden geçiriler.',
|
||||
'bank_payment_failed' => 'Bank üsti bilen töleg geçmedi.',
|
||||
// 'contact_message_sent' => 'Hat ugradyldy.',
|
||||
'cannot_verify_invalid_email' => 'Tassyklama grçmedi. El. bukjaňyz nädogry.',
|
||||
'verification_link_sent' => 'Tassyklama düwmesi El. bukjaňyza iberildi. El. bukjaňyzy barlamazdan öň tmex.gov.tm-da şahsy hasabyňyza giriň.',
|
||||
'email_already_verified' => 'Siziň el. bukjaňyz eýýäm tassyklanan.',
|
||||
'sms_sent' => 'SMS iberildi.',
|
||||
'sms_not_sent_error' => 'SMS iberilmedi. Ýalňyş.',
|
||||
'user_not_tm_resident' => 'Ulanyjy ýerli ýaşaýjy däl.',
|
||||
'phone_already_verified' => 'Siziň telefon belgiňiz eýýäm tassyklanan.',
|
||||
'phone_verified_message' => 'Siziň telefon belgiňiz tassyklandy',
|
||||
'phone_verification_code_invalid' => 'Nädogry SMS kody',
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -34,16 +34,16 @@ class EmailVerificationController extends KabinetAPIController
|
|||
} catch(Throwable $th) {
|
||||
\Log::info($th);
|
||||
|
||||
return response()->json('Cannot verify. Invalid email address.', 400);
|
||||
return response()->json(trans('validation.api.cannot_verify_invalid_email', [], $inputData['locale']), 400);
|
||||
}
|
||||
|
||||
$this->user->email_activation_code = $code;
|
||||
$this->user->save();
|
||||
|
||||
return response()->json('Verification link has been sent. Log in to tmex.gov.tm before checking your email.', 201);
|
||||
return response()->json(trans('validation.api.verification_link_sent', [], $inputData['locale']), 201);
|
||||
|
||||
} else {
|
||||
return response()->json('You have already verified your email address.', 200);
|
||||
return response()->json(trans('validation.api.email_already_verified', [], $inputData['locale']), 200);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,12 +30,24 @@ class SmsController extends KabinetAPIController
|
|||
if($this->user->dial_code != '+993') {
|
||||
return response()->json([
|
||||
'dial_code' => $this->user->dial_code,
|
||||
'message' => 'This user is not a resident of Turkmenistan.'
|
||||
'result' => 1,
|
||||
'message' => [
|
||||
'ru' => trans('validation.api.user_not_tm_resident', [], 'ru'),
|
||||
'en' => trans('validation.api.user_not_tm_resident', [], 'en'),
|
||||
'tm' => trans('validation.api.user_not_tm_resident', [], 'tm'),
|
||||
]
|
||||
], 400);
|
||||
}
|
||||
|
||||
if($this->user->phone_verified && $this->user->dial_code == '+993') {
|
||||
return response()->json('User phone already verified', 200);
|
||||
return response()->json([
|
||||
'result' => 1,
|
||||
'message' => [
|
||||
'ru' => trans('validation.api.phone_already_verified', [], 'ru'),
|
||||
'en' => trans('validation.api.phone_already_verified', [], 'en'),
|
||||
'tm' => trans('validation.api.phone_already_verified', [], 'tm'),
|
||||
]
|
||||
], 200);
|
||||
}
|
||||
|
||||
$code = random_int(1000, 9999);
|
||||
|
|
@ -49,21 +61,33 @@ class SmsController extends KabinetAPIController
|
|||
$this->user->save();
|
||||
return response()->json([
|
||||
'result' => $result,
|
||||
'message' => 'Message has been succesfully sent'
|
||||
'message' => [
|
||||
'ru' => trans('validation.api.sms_sent', [], 'ru'),
|
||||
'en' => trans('validation.api.sms_sent', [], 'en'),
|
||||
'tm' => trans('validation.api.sms_sent', [], 'tm'),
|
||||
]
|
||||
], 201);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
return response()->json([
|
||||
'result' => $result,
|
||||
'message' => 'Error'
|
||||
'message' => [
|
||||
'ru' => trans('validation.api.sms_not_sent_error', [], 'ru'),
|
||||
'en' => trans('validation.api.sms_not_sent_error', [], 'en'),
|
||||
'tm' => trans('validation.api.sms_not_sent_error', [], 'tm'),
|
||||
]
|
||||
], 500);
|
||||
break;
|
||||
|
||||
default:
|
||||
return response()->json([
|
||||
'result' => $result,
|
||||
'message' => 'Error'
|
||||
'message' => [
|
||||
'ru' => trans('validation.api.sms_not_sent_error', [], 'ru'),
|
||||
'en' => trans('validation.api.sms_not_sent_error', [], 'en'),
|
||||
'tm' => trans('validation.api.sms_not_sent_error', [], 'tm'),
|
||||
]
|
||||
], 500);
|
||||
break;
|
||||
}
|
||||
|
|
@ -74,12 +98,24 @@ class SmsController extends KabinetAPIController
|
|||
if($this->user->dial_code != '+993') {
|
||||
return response()->json([
|
||||
'dial_code' => $this->user->dial_code,
|
||||
'message' => 'This user is not a resident of Turkmenistan.'
|
||||
'status' => false,
|
||||
'message' => [
|
||||
'ru' => trans('validation.api.user_not_tm_resident', [], 'ru'),
|
||||
'en' => trans('validation.api.user_not_tm_resident', [], 'en'),
|
||||
'tm' => trans('validation.api.user_not_tm_resident', [], 'tm'),
|
||||
]
|
||||
], 400);
|
||||
}
|
||||
|
||||
if($this->user->phone_verified && $this->user->dial_code == '+993') {
|
||||
return response()->json('User phone already verified', 200);
|
||||
return response()->json([
|
||||
'status' => false,
|
||||
'message' => [
|
||||
'ru' => trans('validation.api.phone_already_verified', [], 'ru'),
|
||||
'en' => trans('validation.api.phone_already_verified', [], 'en'),
|
||||
'tm' => trans('validation.api.phone_already_verified', [], 'tm'),
|
||||
]
|
||||
], 200);
|
||||
}
|
||||
|
||||
$validator = Validator::make($request->all(), [
|
||||
|
|
@ -93,9 +129,23 @@ class SmsController extends KabinetAPIController
|
|||
$this->user->phone_verified = true;
|
||||
$this->user->phone_activation_code = null;
|
||||
$this->user->save();
|
||||
return response()->json('User phone has been succesfully verified', 201);
|
||||
return response()->json([
|
||||
'status' => true,
|
||||
'message' => [
|
||||
'ru' => trans('validation.api.phone_verified_message', [], 'ru'),
|
||||
'en' => trans('validation.api.phone_verified_message', [], 'en'),
|
||||
'tm' => trans('validation.api.phone_verified_message', [], 'tm'),
|
||||
]
|
||||
], 201);
|
||||
} else {
|
||||
return response()->json('Wrong sms code', 400);
|
||||
return response()->json([
|
||||
'status' => false,
|
||||
'message' => [
|
||||
'ru' => trans('validation.api.phone_verification_code_invalid', [], 'ru'),
|
||||
'en' => trans('validation.api.phone_verification_code_invalid', [], 'en'),
|
||||
'tm' => trans('validation.api.phone_verification_code_invalid', [], 'tm'),
|
||||
]
|
||||
], 400);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -68,14 +68,24 @@ class TransactionsApiController extends KabinetAPIController
|
|||
|
||||
return response()->json(['formUrl' => $result['formUrl']], 200);
|
||||
} else {
|
||||
return response()->json('bank services are unavailable', 200);
|
||||
return response()->json(['error' => [
|
||||
'ru' => trans('validation.api.bank_services_unavailable', [], 'ru'),
|
||||
'en' => trans('validation.api.bank_services_unavailable', [], 'en'),
|
||||
'tm' => trans('validation.api.bank_services_unavailable', [], 'tm'),
|
||||
]], 200);
|
||||
}
|
||||
|
||||
} catch(\Throwable $th){
|
||||
$payment->status = 'failed';
|
||||
$payment->save();
|
||||
|
||||
return response()->json(['message' => $th->getMessage()], 500);
|
||||
Log::info($th->getMessage());
|
||||
|
||||
return response()->json(['error' => [
|
||||
'ru' => trans('validation.api.online_payment_failed', [], 'ru'),
|
||||
'en' => trans('validation.api.online_payment_failed', [], 'en'),
|
||||
'tm' => trans('validation.api.online_payment_failed', [], 'tm'),
|
||||
]], 500);
|
||||
}
|
||||
}
|
||||
elseif($payment->payment_type == 'bank'){
|
||||
|
|
@ -84,9 +94,17 @@ class TransactionsApiController extends KabinetAPIController
|
|||
|
||||
if($payment->save()){
|
||||
Event::fire('tps.payment.received',$payment);
|
||||
return response()->json('The payment saved. Admin will consider it and approve later', 200);
|
||||
return response()->json(['success' => [
|
||||
'ru' => trans('validation.api.bank_payment_saved', [], 'ru'),
|
||||
'en' => trans('validation.api.bank_payment_saved', [], 'en'),
|
||||
'tm' => trans('validation.api.bank_payment_saved', [], 'tm'),
|
||||
]], 200);
|
||||
} else {
|
||||
return response()->json('The payment saving failed.', 500);
|
||||
return response()->json(['error' => [
|
||||
'ru' => trans('validation.api.bank_payment_failed', [], 'ru'),
|
||||
'en' => trans('validation.api.bank_payment_failed', [], 'en'),
|
||||
'tm' => trans('validation.api.bank_payment_failed', [], 'tm'),
|
||||
]], 500);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1,5 @@
|
|||
<p class="form_txt">{{ 'auth.password_reset_check'|_ }}</p>
|
||||
<div class="pass_change">
|
||||
<div class="pass_title">
|
||||
{{ 'auth.password_reset_check'|_ }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1 +1,14 @@
|
|||
<p class="form_txt">{{ 'auth.password_reset_complete'|_ }}</p>
|
||||
<div class="pass_change">
|
||||
<div class="pass_title">
|
||||
{{ 'auth.password_reset_complete'|_ }}
|
||||
</div>
|
||||
<form
|
||||
class="password_form"
|
||||
action="/"
|
||||
method="get">
|
||||
|
||||
<div class="btn_bg">
|
||||
<button type="submit" class="pass_btn">OK</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
@ -1,7 +1,12 @@
|
|||
<div id="partialUserResetForm">
|
||||
{% if __SELF__.code == null %}
|
||||
{% partial __SELF__ ~ '::restore' %}
|
||||
{% else %}
|
||||
{% partial __SELF__ ~ '::reset' %}
|
||||
{% endif %}
|
||||
</div>
|
||||
<section class="password active">
|
||||
<div class="auto_container">
|
||||
<div class="pass_wrap" id="partialUserResetForm">
|
||||
{% if __SELF__.code == null %}
|
||||
{% partial __SELF__ ~ '::restore' %}
|
||||
{% else %}
|
||||
{% partial __SELF__ ~ '::reset' %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
<p class="form_txt">
|
||||
{{ 'auth.password_reset_check_mail_message'|_ }}
|
||||
</p>
|
||||
|
||||
<form
|
||||
class="post_form"
|
||||
data-request="{{ __SELF__ }}::onResetPassword"
|
||||
data-request-update="'{{ __SELF__ }}::complete': '#partialUserResetForm'">
|
||||
<!-- <div class="post_input"> -->
|
||||
<!-- <label for="resetCode">{{ 'auth.password_reset_code'|_ }}</label> -->
|
||||
<input name="code" type="hidden" class="form-control" id="resetCode" placeholder="{{ 'auth.password_reset_code'|_ }}" value="{{ __SELF__.code }}" required>
|
||||
<!-- </div> -->
|
||||
|
||||
<div class="post_input">
|
||||
<label for="resetPassword">{{ 'account.new_password'|_ }}</label>
|
||||
<input name="password" type="password" class="form-control" id="resetPassword" placeholder="{{ 'account.new_password'|_ }}" required>
|
||||
<div class="pass_change">
|
||||
<div class="pass_title">
|
||||
{{ 'account.new_password'|_ }}
|
||||
</div>
|
||||
<form
|
||||
class="password_form"
|
||||
data-request="{{ __SELF__ }}::onResetPassword"
|
||||
data-request-update="'{{ __SELF__ }}::complete': '#partialUserResetForm'">
|
||||
<div class="pass_input">
|
||||
<input name="code" type="hidden" class="form-control" id="resetCode" placeholder="{{ 'auth.password_reset_code'|_ }}" value="{{ __SELF__.code }}" required>
|
||||
</div>
|
||||
|
||||
<div class="btn_bg">
|
||||
<button type="submit" class="post_btn" data-attach-loading>{{ 'auth.password_reset_btn'|_ }}</button>
|
||||
</div>
|
||||
</form>
|
||||
<div class="pass_input">
|
||||
<input name="password" type="password" class="form-control" id="resetPassword" placeholder="{{ 'account.new_password'|_ }}" required>
|
||||
</div>
|
||||
|
||||
<div class="btn_bg">
|
||||
<button type="submit" class="pass_btn" data-attach-loading>{{ 'auth.password_reset_btn'|_ }}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
<p class="form_txt">
|
||||
<strong>{{ 'auth.password_reset'|_ }}</strong> {{ 'auth.password_reset_enter_email'|_ }}
|
||||
</p>
|
||||
|
||||
<form
|
||||
class="post_form"
|
||||
data-request="{{ __SELF__ }}::onRestorePassword"
|
||||
data-request-update="'{{ __SELF__ }}::check': '#partialUserResetForm'">
|
||||
<div class="post_input">
|
||||
<label for="userRestoreEmail">{{'auth.email'|_}}</label>
|
||||
<input name="email" type="email" required class="form-control" id="userRestoreEmail" placeholder="{{'auth.email'|_}}">
|
||||
<div class="pass_mail">
|
||||
<div class="pass_title">
|
||||
{{ 'auth.password_reset'|_ }}
|
||||
</div>
|
||||
<div class="btn_bg">
|
||||
<button type="submit" class="post_btn" data-attach-loading>{{ 'auth.password_restore_btn'|_ }}</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
<form
|
||||
class="password_form"
|
||||
data-request="{{ __SELF__ }}::onRestorePassword"
|
||||
data-request-update="'{{ __SELF__ }}::check': '#partialUserResetForm'">
|
||||
<div class="pass_input">
|
||||
<input name="email" type="email" required class="form-control" id="userRestoreEmail" placeholder="{{'auth.email'|_}}">
|
||||
</div>
|
||||
<div class="btn_bg">
|
||||
<button type="submit" class="pass_btn" data-attach-loading>{{ 'auth.password_restore_btn'|_ }}</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
|
@ -201,7 +201,7 @@ return [
|
|||
'email_verification_check_message' => 'El. bukjaňyzy barlamygyňyzy haýyş edýäris',
|
||||
'email_verified_message' => 'Siziň el. bukjaňyz tassyklandy',
|
||||
'email_verification_link_invalid' => 'Tassyklama kody nädogry',
|
||||
'email_already_verified' => 'Siz el. bukjaňyz eýýäm tassyklanan',
|
||||
'email_already_verified' => 'Siziň el. bukjaňyz eýýäm tassyklanan',
|
||||
'phone_verified_message' => 'Siziň el telefonyňyz tassyklandy',
|
||||
'phone_verification_code_invalid' => 'Nädogry SMS kody',
|
||||
],
|
||||
|
|
|
|||
|
|
@ -36,6 +36,10 @@ class PaymentApi extends ComponentBase
|
|||
$payment_id = $this->property('payment_id');
|
||||
$payment = Payment::find($payment_id);
|
||||
|
||||
if(is_null($payment)) {
|
||||
return Redirect::to('/404');
|
||||
}
|
||||
|
||||
if($payment && \Input::get('status') === 'success' && \Input::get('orderId') === $payment->order_id) {
|
||||
$responce = json_decode(CardApi::getStatus($payment->order_id), true);
|
||||
|
||||
|
|
|
|||
|
|
@ -109,11 +109,16 @@ Route::group(['prefix' => 'api'], function() {
|
|||
$credentials = Input::only($login_fields);
|
||||
|
||||
$rules = [
|
||||
'email' => 'required|between:6,191|email',
|
||||
'username' => 'required|digits_between:8,20|numeric',
|
||||
'email' => 'required|between:6,191|email|unique:users',
|
||||
'username' => 'required|numeric|unique:users',
|
||||
'dial_code' => 'required',
|
||||
];
|
||||
|
||||
// to check username
|
||||
$credentials = array_merge($credentials,[
|
||||
'username' => $credentials['dial_code'] . $credentials['username']
|
||||
]);
|
||||
|
||||
$validation = \Validator::make($credentials, $rules,(new UserModel)->messages);
|
||||
if ($validation->fails()) {
|
||||
return Response::json(['error' => $validation->errors()], 400);
|
||||
|
|
@ -130,9 +135,7 @@ Route::group(['prefix' => 'api'], function() {
|
|||
if (!array_key_exists('password_confirmation', $credentials) && array_key_exists('password', $credentials)) {
|
||||
$credentials['password_confirmation'] = $credentials['password'];
|
||||
}
|
||||
$userModel = Auth::register(array_merge($credentials,[
|
||||
'username' => $credentials['dial_code'] . $credentials['username']
|
||||
]), $automaticActivation);
|
||||
$userModel = Auth::register($credentials, $automaticActivation);
|
||||
|
||||
if ($userModel->methodExists('getAuthApiSignupAttributes')) {
|
||||
$user = $userModel->getAuthApiSignupAttributes();
|
||||
|
|
@ -151,7 +154,14 @@ Route::group(['prefix' => 'api'], function() {
|
|||
];
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
return Response::json(['error' => $e->getMessage()], 401);
|
||||
|
||||
\Log::info($e->getMessage());
|
||||
|
||||
return Response::json(['error' => [
|
||||
'ru' => trans('validation.api.sign_up_excp', [], 'ru'),
|
||||
'en' => trans('validation.api.sign_up_excp', [], 'en'),
|
||||
'tm' => trans('validation.api.sign_up_excp', [], 'tm'),
|
||||
]], 401);
|
||||
}
|
||||
|
||||
$token = JWTAuth::fromUser($userModel);
|
||||
|
|
|
|||
|
|
@ -156,6 +156,51 @@ li {
|
|||
|
||||
}
|
||||
|
||||
|
||||
/* Accaunt ============================================ */
|
||||
|
||||
.acc_lang {
|
||||
position: fixed;
|
||||
top: 50px;
|
||||
right: 80px;
|
||||
background: #fff;
|
||||
border-radius: 10px;
|
||||
z-index: 130;
|
||||
}
|
||||
|
||||
.acc_lang .auto_container {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.acc_lang .inner {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 10px 15px;
|
||||
}
|
||||
|
||||
.acc_lang-item {
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
line-height: 1.5;
|
||||
text-transform: uppercase;
|
||||
display: block;
|
||||
margin-right: 20px;
|
||||
|
||||
transition: .2s linear;
|
||||
-ms-transition: .2s linear;
|
||||
-webkit-transition: .2s linear;
|
||||
}
|
||||
|
||||
.acc_lang-item:hover {
|
||||
color: var(--blue);
|
||||
}
|
||||
|
||||
.acc_lang-item:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
/* Accaunt end ======================================== */
|
||||
|
||||
/* Home page */
|
||||
/* Register ============================================ */
|
||||
.register {
|
||||
|
|
@ -186,12 +231,26 @@ li {
|
|||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background: rgba(0, 49, 151, .5);
|
||||
/* background: rgba(0, 49, 151, .5); */
|
||||
background: url("../images/IMG-2.png") no-repeat center;
|
||||
background-size: cover;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: -2;
|
||||
}
|
||||
|
||||
.register::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background: rgba(0, 49, 151, .3);
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
|
||||
.register_wrap {
|
||||
/* position: absolute;
|
||||
top: 50%;
|
||||
|
|
@ -769,6 +828,30 @@ li {
|
|||
display: none;
|
||||
}
|
||||
|
||||
.password::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
/* background: rgba(0, 49, 151, .5); */
|
||||
background: url("../images/IMG-2.png") no-repeat center;
|
||||
background-size: cover;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: -2;
|
||||
}
|
||||
|
||||
.password::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background: rgba(0, 49, 151, .3);
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.password.active {
|
||||
display: block;
|
||||
}
|
||||
|
|
@ -808,7 +891,7 @@ li {
|
|||
|
||||
background: #fff;
|
||||
padding: 80px 60px;
|
||||
display: none;
|
||||
/* display: none; */
|
||||
}
|
||||
|
||||
.pass_title {
|
||||
|
|
@ -855,6 +938,11 @@ li {
|
|||
padding: 20px 0;
|
||||
}
|
||||
|
||||
.password_form .btn_bg {
|
||||
margin: 25px 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
||||
/* Change Password end ============================================= */
|
||||
|
||||
|
|
@ -6780,11 +6868,6 @@ input::-webkit-calendar-picker-indicator {
|
|||
text-align: center;
|
||||
}
|
||||
|
||||
.form_txt {
|
||||
font-size: 16px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.contact_input {
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
|
@ -6983,4 +7066,4 @@ input::-webkit-calendar-picker-indicator {
|
|||
font-size: 12px;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 2.9 MiB |
|
|
@ -0,0 +1,102 @@
|
|||
// timing ====================
|
||||
function sleep(time) {
|
||||
return new Promise((resolve) => setTimeout(resolve, time));
|
||||
}
|
||||
// timing ====================
|
||||
|
||||
|
||||
let register = document.querySelector('.register');
|
||||
let register_btn = document.querySelectorAll('.register_btn');
|
||||
let log_in = document.querySelectorAll('.log_in');
|
||||
let btn_1 = document.querySelector('#btn-1');
|
||||
let btn_2 = document.querySelector('#btn-2');
|
||||
|
||||
let register_content = document.querySelector('.register_content');
|
||||
let register_content_2 = document.querySelector('.register_content_2');
|
||||
|
||||
let phone_box = document.querySelectorAll('.phone_box');
|
||||
let iti__country = document.querySelectorAll('.iti__country');
|
||||
let iti__country_list = document.querySelectorAll('.iti__country-list');
|
||||
|
||||
|
||||
if (register_btn != undefined) {
|
||||
register_btn.forEach(x => {
|
||||
x.addEventListener('click', function () {
|
||||
sleep(2).then(() => {
|
||||
register.classList.toggle('active');
|
||||
btn_2.classList.add('active');
|
||||
btn_1.classList.remove('active');
|
||||
selectElement('body').classList.add('active');
|
||||
|
||||
|
||||
register_content.classList.add('active');
|
||||
register_content_2.classList.remove('active');
|
||||
});
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
if (log_in != undefined) {
|
||||
log_in.forEach(x => {
|
||||
x.addEventListener('click', function () {
|
||||
sleep(2).then(() => {
|
||||
register.classList.toggle('active');
|
||||
btn_1.classList.add('active');
|
||||
btn_2.classList.remove('active');
|
||||
selectElement('body').classList.add('active');
|
||||
|
||||
|
||||
register_content.classList.remove('active');
|
||||
register_content_2.classList.add('active');
|
||||
});
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
if (btn_1 != undefined) {
|
||||
btn_1.addEventListener('click', function () {
|
||||
sleep(2).then(() => {
|
||||
btn_1.classList.add('active');
|
||||
btn_2.classList.remove('active');
|
||||
|
||||
register_content.classList.remove('active');
|
||||
register_content_2.classList.add('active');
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
if (btn_2 != undefined) {
|
||||
btn_2.addEventListener('click', function () {
|
||||
sleep(2).then(() => {
|
||||
btn_2.classList.add('active');
|
||||
btn_1.classList.remove('active');
|
||||
|
||||
register_content.classList.add('active');
|
||||
register_content_2.classList.remove('active');
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
if (phone_box != undefined) {
|
||||
phone_box.forEach(x => {
|
||||
x.addEventListener('click', function () {
|
||||
sleep(2).then(() => {
|
||||
iti__country_list.forEach(e => {
|
||||
e.classList.toggle('active');
|
||||
})
|
||||
});
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
if (iti__country != undefined) {
|
||||
iti__country.forEach(x => {
|
||||
x.addEventListener('click', function () {
|
||||
sleep(2).then(() => {
|
||||
iti__country_list.forEach(e => {
|
||||
e.classList.remove('active');
|
||||
})
|
||||
});
|
||||
});
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,100 @@
|
|||
[localePicker]
|
||||
forceUrl = 1
|
||||
|
||||
[account]
|
||||
redirect = "index"
|
||||
paramCode = "code"
|
||||
forceSecure = 0
|
||||
requirePassword = 0
|
||||
view = "signin"
|
||||
|
||||
[session]
|
||||
security = "all"
|
||||
==
|
||||
<?php
|
||||
function onStart(){
|
||||
$this['email'] = TPS\Birzha\Models\Settings::getValue('email');
|
||||
$this['short_name'] = TPS\Birzha\Models\Settings::getValue('short_name');
|
||||
}
|
||||
?>
|
||||
==
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{activeLocale}}">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;700&display=swap" rel="stylesheet">
|
||||
<!-- <link rel="icon" type="image/svg" href="{{ 'assets/images/svg/fav_icon.svg'|theme }}"> -->
|
||||
<link rel="icon" href="{{'assets/images/svg/fav_icon.svg'|theme}}" sizes="32x32">
|
||||
<link rel="icon" href="{{'assets/images/svg/fav_icon.svg'|theme}}" sizes="192x192">
|
||||
<link rel="apple-touch-icon-precomposed" href="{{'assets/images/svg/fav_icon.svg'|theme}}">
|
||||
<meta name="msapplication-TileImage" content="{{'assets/images/svg/fav_icon.svg'|theme}}">
|
||||
{% styles %}
|
||||
<link rel="stylesheet" href="{{'assets/css/main.css'|theme}}">
|
||||
<link rel="stylesheet" href="{{'assets/css/phone_box.css'|theme}}">
|
||||
<!-- <link href="{{ ['assets/css/main.css']|theme }}" rel="stylesheet">-->
|
||||
|
||||
|
||||
<title>{{this.page.title}}</title>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
{% flash success %}
|
||||
<p data-control="flash-message" data-interval="5" class="success">
|
||||
{{ message }}
|
||||
</p>
|
||||
{% endflash %}
|
||||
|
||||
{% flash error %}
|
||||
<p data-control="flash-message" data-interval="5" class="error">
|
||||
{{ message }}
|
||||
</p>
|
||||
{% endflash %}
|
||||
|
||||
<div class="acc_lang">
|
||||
<div class="auto_container">
|
||||
<div class="inner">
|
||||
{% for code, name in locales %}
|
||||
<a href="#" class="acc_lang-item" data-request="onSwitchLocale" data-request-data="locale: '{{code}}'">
|
||||
{{ code }}
|
||||
</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% page %}
|
||||
|
||||
<script src="{{'assets/js/jquery.js'|theme}}"></script>
|
||||
|
||||
{% framework extras %}
|
||||
{% scripts %}
|
||||
|
||||
<script src="{{'assets/js/accaunt.js'|theme}}"></script>
|
||||
<script>
|
||||
$('.iti__country').click(function (e) {
|
||||
let flagClass = $(this).find('.iti__flag').attr("class").split(/\s+/)[1]
|
||||
|
||||
let oldClasses = $('.phone_box-flag').attr("class").split(/\s+/);
|
||||
delete(oldClasses[2])
|
||||
|
||||
$('.phone_box-flag').attr('class', oldClasses.join(' '))
|
||||
|
||||
|
||||
$('.phone_box-flag').addClass(flagClass)
|
||||
|
||||
// todo code
|
||||
|
||||
let code = $(this).find('.iti__dial-code').text()
|
||||
$('.phone_box-code').html(code)
|
||||
|
||||
$('input[name="dial_code"]').val(code)
|
||||
|
||||
})
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -9,11 +9,11 @@ localeTitle[ru] = "bank_result"
|
|||
localeUrl[en] = "/bank_result/:payment_id"
|
||||
localeUrl[ru] = "/bank_result/:payment_id"
|
||||
|
||||
[paymentapi]
|
||||
payment_id = "{{ :payment_id }}"
|
||||
|
||||
[session]
|
||||
security = "user"
|
||||
redirect = "index"
|
||||
redirect = "vojti"
|
||||
|
||||
[paymentapi]
|
||||
payment_id = "{{ :payment_id }}"
|
||||
==
|
||||
{% component 'paymentapi' %}
|
||||
|
|
@ -9,6 +9,10 @@ localeTitle[ru] = "Категория"
|
|||
localeUrl[en] = "/category/:slug"
|
||||
localeUrl[ru] = "/category/:slug"
|
||||
|
||||
[session]
|
||||
security = "user"
|
||||
redirect = "vojti"
|
||||
|
||||
[categories]
|
||||
active = 1
|
||||
slug = "{{ :slug }}"
|
||||
|
|
|
|||
|
|
@ -9,6 +9,10 @@ localeTitle[ru] = "Contact us"
|
|||
localeUrl[en] = "/contact-us"
|
||||
localeUrl[ru] = "/contact-us"
|
||||
|
||||
[session]
|
||||
security = "user"
|
||||
redirect = "vojti"
|
||||
|
||||
[TPS\Birzha\Components\ContactForm contactForm]
|
||||
==
|
||||
{% component 'contactForm' %}
|
||||
|
|
@ -10,6 +10,10 @@ localeTitle[ru] = "Главная страница"
|
|||
localeUrl[en] = "/"
|
||||
localeUrl[ru] = "/"
|
||||
|
||||
[session]
|
||||
security = "user"
|
||||
redirect = "vojti"
|
||||
|
||||
[offers]
|
||||
perPage = 0
|
||||
sortOrder = "desc"
|
||||
|
|
|
|||
|
|
@ -3,14 +3,14 @@ url = "/add-offer"
|
|||
layout = "default"
|
||||
is_hidden = 0
|
||||
|
||||
[viewBag]
|
||||
localeTitle[ru] = "Добавить объявление"
|
||||
|
||||
[offerform]
|
||||
|
||||
[session]
|
||||
security = "user"
|
||||
redirect = "index"
|
||||
|
||||
[viewBag]
|
||||
localeTitle[ru] = "Добавить объявление"
|
||||
redirect = "vojti"
|
||||
==
|
||||
<!-- here is component offerForm -->
|
||||
{% component 'offerform' %}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,6 @@ localeUrl[ru] = "/balance"
|
|||
|
||||
[session]
|
||||
security = "user"
|
||||
redirect = "index"
|
||||
redirect = "vojti"
|
||||
==
|
||||
{% component 'balance' %}
|
||||
|
|
@ -8,11 +8,13 @@ localeUrl[en] = "/edit-post/:id"
|
|||
localeUrl[ru] = "/edit-post/:id"
|
||||
localeTitle[ru] = "Изменить объявление"
|
||||
|
||||
[session]
|
||||
security = "user"
|
||||
redirect = "vojti"
|
||||
|
||||
[offerform]
|
||||
productId = "{{ :id }}"
|
||||
|
||||
[session]
|
||||
security = "user"
|
||||
redirect = "index"
|
||||
|
||||
==
|
||||
{% component 'offerform' %}
|
||||
|
|
@ -7,10 +7,10 @@ is_hidden = 0
|
|||
localeTitle[ru] = "Сообщения"
|
||||
localeUrl[ru] = "/messages"
|
||||
|
||||
[messages]
|
||||
|
||||
[session]
|
||||
security = "user"
|
||||
redirect = "index"
|
||||
redirect = "vojti"
|
||||
|
||||
[messages]
|
||||
==
|
||||
{% component 'messages' %}
|
||||
|
|
@ -9,11 +9,12 @@ localeTitle[ru] = "My posts"
|
|||
localeUrl[en] = "/my-posts"
|
||||
localeUrl[ru] = "/my-posts"
|
||||
|
||||
[session]
|
||||
security = "user"
|
||||
redirect = "vojti"
|
||||
|
||||
[myOffers]
|
||||
perPage = 0
|
||||
|
||||
[session]
|
||||
security = "user"
|
||||
redirect = "index"
|
||||
==
|
||||
{% component 'myOffers' %}
|
||||
|
|
@ -11,7 +11,7 @@ localeTitle[ru] = "Профиль"
|
|||
|
||||
[session]
|
||||
security = "user"
|
||||
redirect = "index"
|
||||
redirect = "vojti"
|
||||
==
|
||||
<!-- Add post ============================================================= -->
|
||||
<section class="post">
|
||||
|
|
|
|||
|
|
@ -2,14 +2,19 @@ title = "Balans taryhy"
|
|||
url = "/balans-taryhy"
|
||||
layout = "default"
|
||||
is_hidden = 0
|
||||
|
||||
[session]
|
||||
security = "user"
|
||||
redirect = "vojti"
|
||||
==
|
||||
<?php
|
||||
function onStart() {
|
||||
$this['transactions'] = \Auth::user()->transactions()->orderBy('id', 'desc')->paginate(5);
|
||||
if(\Auth::user()) {
|
||||
$this['transactions'] = \Auth::user()->transactions()->orderBy('id', 'desc')->paginate(5);
|
||||
}
|
||||
}
|
||||
?>
|
||||
==
|
||||
|
||||
<section class="post">
|
||||
<div class="auto_container">
|
||||
<div class="post_wrap">
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ is_hidden = 0
|
|||
|
||||
[session]
|
||||
security = "user"
|
||||
redirect = "index"
|
||||
redirect = "vojti"
|
||||
|
||||
[emailverify]
|
||||
code = "{{ :code }}"
|
||||
|
|
|
|||
|
|
@ -9,6 +9,10 @@ localeTitle[ru] = "Категории"
|
|||
localeUrl[en] = "/categories"
|
||||
localeUrl[ru] = "/kategorii"
|
||||
|
||||
[session]
|
||||
security = "user"
|
||||
redirect = "vojti"
|
||||
|
||||
[categories]
|
||||
active = 1
|
||||
slug = "{{ :slug }}"
|
||||
|
|
|
|||
|
|
@ -9,6 +9,10 @@ localeTitle[ru] = "Объявление"
|
|||
localeUrl[en] = "/offer/:slug/:id"
|
||||
localeUrl[ru] = "/offer/:slug/:id"
|
||||
|
||||
[session]
|
||||
security = "user"
|
||||
redirect = "vojti"
|
||||
|
||||
[singleoffer]
|
||||
productSlug = "{{ :slug }}"
|
||||
offerId = "{{ :id }}"
|
||||
|
|
|
|||
|
|
@ -8,8 +8,11 @@ localeTitle[en] = "Privacy policy"
|
|||
localeTitle[ru] = "Политика конфиденциальности"
|
||||
localeUrl[en] = "/privacy-policy"
|
||||
localeUrl[ru] = "/politika-konfidencialnosti"
|
||||
==
|
||||
|
||||
[session]
|
||||
security = "user"
|
||||
redirect = "vojti"
|
||||
==
|
||||
<section class="thanks">
|
||||
<div class="auto_container">
|
||||
<div class="thanks_wrap">
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
title = "Açar çalyşmak"
|
||||
url = "/password-reset"
|
||||
layout = "default"
|
||||
layout = "account"
|
||||
is_hidden = 0
|
||||
|
||||
[viewBag]
|
||||
|
|
|
|||
|
|
@ -7,6 +7,10 @@ is_hidden = 0
|
|||
localeTitle[en] = "Search results"
|
||||
localeTitle[ru] = "Результаты поиска"
|
||||
|
||||
[session]
|
||||
security = "user"
|
||||
redirect = "vojti"
|
||||
|
||||
[searchResults]
|
||||
resultsPerPage = 3
|
||||
showProviderBadge = 1
|
||||
|
|
|
|||
|
|
@ -8,6 +8,10 @@ localeTitle[en] = "Trade terms"
|
|||
localeTitle[ru] = "Условия торгов"
|
||||
localeUrl[en] = "/trade-terms"
|
||||
localeUrl[ru] = "/uslovia-torgov"
|
||||
|
||||
[session]
|
||||
security = "user"
|
||||
redirect = "vojti"
|
||||
==
|
||||
<?php
|
||||
function onStart() {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,63 @@
|
|||
title = "Girmek"
|
||||
url = "/girmek"
|
||||
layout = "account"
|
||||
is_hidden = 0
|
||||
|
||||
[viewBag]
|
||||
localeTitle[en] = "Auth"
|
||||
localeTitle[ru] = "Войти"
|
||||
localeUrl[en] = "/auth"
|
||||
localeUrl[ru] = "/vojti"
|
||||
==
|
||||
|
||||
<!-- Register ======================================================== -->
|
||||
<section class="register active">
|
||||
<div class="auto_container">
|
||||
<div class="register_wrap">
|
||||
<div class="register_body">
|
||||
<div class="register_buttons">
|
||||
<div class="user_btn" id="btn-1">
|
||||
<img src="{{ 'assets/images/svg/log-in-blue.svg'|theme }}" alt="">
|
||||
<span><nobr>{{ 'topnav.login'|_ }}</nobr></span>
|
||||
</div>
|
||||
{% if canRegister %}
|
||||
<div class="user_btn active" id="btn-2">
|
||||
<img src="{{ 'assets/images/svg/user-plus-blue.svg'|theme }}" alt="">
|
||||
<span><nobr>{{ 'topnav.reg'|_ }}</nobr></span>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="register_banner">
|
||||
<div class="register_logo">
|
||||
<img src="{{ 'assets/images/register_logo.png'|theme }}" alt="">
|
||||
</div>
|
||||
<div class="register_title">
|
||||
{{ short_name }}
|
||||
</div>
|
||||
<div class="register_text">
|
||||
{{ 'site.name'|_ }}
|
||||
</div>
|
||||
<div class="register_foot">
|
||||
<div class="register_mail">
|
||||
<img src="{{ 'assets/images/svg/login_mail.svg'|theme }}" alt="">
|
||||
</div>
|
||||
<a href="#" class="register_link">
|
||||
{{email|default('info@exchange.gov.tm')}}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{% if canRegister %}
|
||||
<div class="register_content active">
|
||||
{% component 'account' view = 'signup'%}
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="register_content_2">
|
||||
{% component 'account' view = 'signin'%}
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- Register end ==================================================== -->
|
||||
Loading…
Reference in New Issue