Popravki pri registraciji in trgovini

This commit is contained in:
Robert 2022-06-28 16:44:02 +02:00
parent f1f9f7049f
commit 9a6ad82bb4
12 changed files with 3164 additions and 2033 deletions

View File

@ -21,6 +21,8 @@ class ApiLogin
var $prijava = ''; var $prijava = '';
var $data;
var $EncPass; var $EncPass;
var $page_urls = []; // Url-ji za podstrani - to se bo verjetno nastavljalo v settings.php var $page_urls = []; // Url-ji za podstrani - to se bo verjetno nastavljalo v settings.php
@ -310,6 +312,9 @@ class ApiLogin
if (isset($data['method'])){ if (isset($data['method'])){
$this->method = $data['method']; $this->method = $data['method'];
} }
if (isset($data)){
$this->data = $data;
}
if (!isset($params['action'])) { if (!isset($params['action'])) {
$response = 'Napaka! Manjkajo parametri!'; $response = 'Napaka! Manjkajo parametri!';
@ -1160,18 +1165,26 @@ class ApiLogin
$error = []; $error = [];
$email = (isset($_POST['email'])) ? $_POST['email'] : ''; $email = (isset($this->data['email'])) ? $this->data['email'] : '';
$ime = (isset($_POST['ime'])) ? $_POST['ime'] : ''; $ime = (isset($this->data['ime'])) ? $this->data['ime'] : '';
$geslo = (isset($_POST['geslo'])) ? $_POST['geslo'] : ''; $geslo = (isset($this->data['geslo'])) ? $this->data['geslo'] : '';
$geslo2 = (isset($_POST['geslo2'])) ? $_POST['geslo2'] : ''; $geslo2 = (isset($this->data['geslo2'])) ? $this->data['geslo2'] : '';
$agree = (isset($_POST['agree'])) ? $_POST['agree'] : '0'; $agree = (isset($this->data['agree'])) ? $this->data['agree'] : '0';
$gdprAgree = (isset($_POST['gdpr-agree'])) ? $_POST['gdpr-agree'] : '0'; $gdprAgree = (isset($this->data['gdpr-agree'])) ? $this->data['gdpr-agree'] : '0';
$ajaxKlic = (isset($_POST['ajax'])) ? $_POST['ajax'] : '0'; // Če izvajamo registracjo preko drupala, ker se pošlje post request preko ajaxa $ajaxKlic = (isset($this->data['ajax'])) ? $this->data['ajax'] : '0'; // Če izvajamo registracjo preko drupala, ker se pošlje post request preko ajaxa
$varnostno_polje = (isset($_POST['varnostno-polje'])) ? $_POST['varnostno-polje'] : false; $varnostno_polje = (isset($_POST['varnostno-polje'])) ? $_POST['varnostno-polje'] : false;
if (!empty($varnostno_polje)) { if (!empty($varnostno_polje)) {
header('Location: '.$this->page_urls['page_robot_redirect']);
die(); if($this->method == 'AJAX'){
return $this->ajaxResponse('error', [
'url' => $this->page_urls['page_robot_redirect'],
'message' => 'Robot'
]);
} else {
header('Location: ' . $this->page_urls['page_robot_redirect']);
die();
}
} }
@ -1185,7 +1198,6 @@ class ApiLogin
} }
} }
// Preverimo ce imamo vse podatke // Preverimo ce imamo vse podatke
if ($email == '') { if ($email == '') {
$error['missing_email'] = '1'; $error['missing_email'] = '1';
@ -1247,11 +1259,11 @@ class ApiLogin
// Nekaj ni ok - posljemo na isto stran z errorji v GET-u // Nekaj ni ok - posljemo na isto stran z errorji v GET-u
if (!empty($error)) { if (!empty($error)) {
if($ajaxKlic){ if($ajaxKlic || $this->method == 'AJAX'){
echo json_encode($this->preveriNapake($error)); return $this->ajaxResponse('error', $this->preveriNapake($error));
die();
} }
// Ime in email posljemo nazaj v urlju // Ime in email posljemo nazaj v urlju
$params = 'email='.$email.'&ime='.$ime.'&gdpr='.$gdprAgree.'&'; $params = 'email='.$email.'&ime='.$ime.'&gdpr='.$gdprAgree.'&';
@ -1266,11 +1278,8 @@ class ApiLogin
} // Vse je ok - preusmerimo na potrditveno stran } // Vse je ok - preusmerimo na potrditveno stran
else { else {
if($ajaxKlic){ if($ajaxKlic || $this->method == 'AJAX'){
echo json_encode([ return $this->ajaxResponse('success');
'success' => '1'
]);
die();
} }
// Hidden form, ki ga z js potem postamo naprej (da prenesemo vnesene podatke na naslednjo stran) // Hidden form, ki ga z js potem postamo naprej (da prenesemo vnesene podatke na naslednjo stran)
@ -1306,7 +1315,7 @@ class ApiLogin
} }
if(is_numeric($language)){ if(is_numeric($language)){
include_once('../../lang/'.$language.'.php'); include('../../lang/'.$language.'.php');
} }
$napaka = []; $napaka = [];
@ -1393,25 +1402,25 @@ class ApiLogin
global $app_settings; global $app_settings;
$email = (isset($_POST['email']) ? $_POST['email'] : ''); $email = (isset($this->data['email']) ? $this->data['email'] : '');
$ime = (isset($_POST['ime']) ? $_POST['ime'] : ''); $ime = (isset($this->data['ime']) ? $this->data['ime'] : '');
//$geslo = (isset($_POST['geslo']) ? base64_decode($_POST['geslo']) : ''); //$geslo = (isset($this->data['geslo']) ? base64_decode($this->data['geslo']) : '');
$geslo = (isset($_POST['geslo']) ? $_POST['geslo'] : ''); $geslo = (isset($this->data['geslo']) ? $this->data['geslo'] : '');
$gdprAgree = (isset($_POST['gdpr-agree']) ? $_POST['gdpr-agree'] : 0); $gdprAgree = (isset($this->data['gdpr-agree']) ? $this->data['gdpr-agree'] : 0);
$ajax = (isset($_POST['ajax']) ? $_POST['ajax'] : 0); // če je Drupal ajax request $ajax = (isset($this->data['ajax']) ? $this->data['ajax'] : 0); // če je Drupal ajax request
// Nastavimo jezik // Nastavimo jezik
$language = 1; $language = 1;
if(isset($_POST['language'])){ if(isset($this->data['language'])){
$language = $_POST['language']; $language = $this->data['language'];
} }
elseif(isset($_POST['jezik'])){ elseif(isset($this->data['jezik'])){
$language = ($_POST['jezik'] == 'en' ? 2 : 1); $language = ($this->data['jezik'] == 'en' ? 2 : 1);
} }
if(is_numeric($language)){ if(is_numeric($language)){
include_once('../../lang/'.$language.'.php'); include('../../lang/'.$language.'.php');
} }
@ -1527,11 +1536,8 @@ class ApiLogin
} }
if($ajax){ if($ajax || $this->method == 'AJAX'){
echo json_encode([ return $this->ajaxResponse('success');
'success' => 1
]);
die();
} }
@ -2040,7 +2046,7 @@ class ApiLogin
} }
} }
private function ajaxResponse($type, $data) private function ajaxResponse($type, $data = [])
{ {
echo json_encode([ echo json_encode([
'type' => $type, 'type' => $type,

View File

@ -20,7 +20,7 @@
</div> </div>
<div class="w-form"> <div class="w-form">
<form name="registracija" id="registracija-uporabnika" class="{{ jezik }}" action="{{ register_url }}" method="post"> <div name="registracija" id="registracija-uporabnika" class="{{ jezik }}" action="{{ register_url }}" method="post">
<input type="hidden" name="jezik" value="{{ jezik }}"/> <input type="hidden" name="jezik" value="{{ jezik }}"/>
<div class="w-clearfix"> <div class="w-clearfix">
@ -89,7 +89,7 @@
</div> </div>
</form> </div>
</div> </div>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,33 @@
/**
* JS povezani z nakupom
*/
(function ($) {
'use strict';
jQuery(document).ready(function () {
jQuery('.cas-trajanja .mesec').on('click', function(){
var trajanje = jQuery('[name="trajanje"]:checked').val();
jQuery('#prikazTrajanjeSt').text(trajanje);
var mesecIme = jQuery('#prikazTrajanjeMesec').attr('data-text');
if(trajanje == 1){
mesecIme = mesecIme.substring(0, mesecIme.length-2);
} else if(trajanje == 3){
mesecIme = mesecIme.substring(0, mesecIme.length-1);
}
jQuery('#prikazTrajanjeMesec').text(mesecIme);
});
});
})(jQuery);

View File

@ -273,14 +273,16 @@
event.preventDefault(); event.preventDefault();
var sendVariables = jQuery('#registracija-uporabnika').serialize(); var sendVariables = jQuery('#registracija-uporabnika :input').serialize();
sendVariables += '&ajax=1'; sendVariables += '&ajax=1';
jQuery.post('/frontend/api/api.php?action=register', sendVariables, function (data) { jQuery.post('/api/drupal/register', sendVariables, function (data) {
jQuery('.napaka-registracija').hide();
var response = JSON.parse(data); var response = JSON.parse(data);
jQuery('.error-field').removeClass('error-field'); jQuery('.error-field').removeClass('error-field');
if (response.success && response.success == 1) { if (response.type && response.type == 'success') {
jQuery('#reg-confirm-email').text(jQuery('#register-form [name="email"]').val()); jQuery('#reg-confirm-email').text(jQuery('#register-form [name="email"]').val());
jQuery('#reg-confirm-ime').text(jQuery('#register-form [name="ime"]').val()); jQuery('#reg-confirm-ime').text(jQuery('#register-form [name="ime"]').val());
jQuery('#reg-confirm-geslo').text('****'); jQuery('#reg-confirm-geslo').text('****');
@ -309,32 +311,34 @@
} else { } else {
// Izpišemo napake // Izpišemo napake
if (response.napaka && response.napaka.length > 0) { if(response.type == 'error') {
jQuery('.napaka-registracija').show(); if (response.data.napaka && response.data.napaka.length > 0) {
jQuery('.napaka-registracija').show();
var napake = ''; var napake = '';
jQuery.each(response.napaka, function (key, val) { jQuery.each(response.data.napaka, function (key, val) {
napake += '<div>' + val + '</div>'; napake += '<div>' + val + '</div>';
}); });
jQuery('.napaka-registracija').html(napake); jQuery('.napaka-registracija').html(napake);
}
if (response.error_email) {
jQuery('#register-form [name="email"]').addClass('error-field');
}
if (response.error_ime) {
jQuery('#register-form [name="ime"]').addClass('error-field');
}
if (response.error_geslo) {
jQuery('#register-form [name="geslo"]').addClass('error-field');
jQuery('#register-form [name="geslo2"]').addClass('error-field');
}
} }
if (response.error_email) { if (response.data.new_username.length > 0) {
jQuery('#register-form [name="email"]').addClass('error-field'); jQuery('#register-form #registracija-vzdevek').val(response.data.new_username);
}
if (response.error_ime) {
jQuery('#register-form [name="ime"]').addClass('error-field');
}
if (response.error_geslo) {
jQuery('#register-form [name="geslo"]').addClass('error-field');
jQuery('#register-form [name="geslo2"]').addClass('error-field');
}
if (response.new_username.length > 0) {
jQuery('#register-form #registracija-vzdevek').val(response.new_username);
} }
//Ponastavi reCaptcho //Ponastavi reCaptcho
@ -356,13 +360,13 @@
jQuery('#reg-confirm-next').on('click', function (event) { jQuery('#reg-confirm-next').on('click', function (event) {
event.preventDefault(); event.preventDefault();
var sendVariables = jQuery('#registracija-uporabnika').serialize(); var sendVariables = jQuery('#registracija-uporabnika :input').serialize();
sendVariables += '&ajax=1'; sendVariables += '&ajax=1';
jQuery.post('/frontend/api/api.php?action=register_confirm', sendVariables, function (data) { jQuery.post('/api/drupal/register_confirm', sendVariables, function (data) {
var response = JSON.parse(data); var response = JSON.parse(data);
if (response.success && response.success == 1) { if (response.type && response.type == 'success') {
var text = jQuery('#register-form-email-sent').html().replace("SFMAIL", jQuery('#reg-confirm-email').text()); var text = jQuery('#register-form-email-sent').html().replace("SFMAIL", jQuery('#reg-confirm-email').text());
jQuery('#register-form-email-sent').html(text); jQuery('#register-form-email-sent').html(text);

View File

@ -10,6 +10,7 @@ global-styling:
# js/enka-21.js: {} # js/enka-21.js: {}
js/script.js: {} js/script.js: {}
js/login.js: {} js/login.js: {}
js/nakupovanje.js: {}
js/modernizr-custom.js: {} js/modernizr-custom.js: {}
dependencies: dependencies:

View File

@ -163,6 +163,21 @@
margin-top: -10px; margin-top: -10px;
} }
.registracija {
#gdpr-vec-text {
display: none;
}
}
#register-form-confirm{
display: none;
}
#register-form-email-sent {
display: none;
}
} }
} }
@ -246,6 +261,7 @@
background: #ff000024; background: #ff000024;
padding: 0.25rem 0.75rem; padding: 0.25rem 0.75rem;
color: red; color: red;
display: none;
} }
} }
@ -328,3 +344,6 @@
} }
} }
} }

View File

@ -27,7 +27,7 @@
<h1 class="slider-title">Do dragocenih vpogledov z enim klikom</h1> <h1 class="slider-title">Do dragocenih vpogledov z enim klikom</h1>
<p class="slider-subtitle">ZMOGLJIVO, HITRO IN ENOSTAVNO ORODJE ZA ANKETIRANJE</p> <p class="slider-subtitle">ZMOGLJIVO, HITRO IN ENOSTAVNO ORODJE ZA ANKETIRANJE</p>
<div class="buttons-row"> <div class="buttons-row">
<a href="#" class="button main-button w-inline-block"> <a href="{% if uporabnik %}/admin/survey{% else %}#{% endif %}" class="button main-button w-inline-block {% if uporabnik is empty %}modal-goto-registration{% endif %}">
<div class="button-flyin main" style="transform: translate3d(-100%, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg); transform-style: preserve-3d; display: block;"></div> <div class="button-flyin main" style="transform: translate3d(-100%, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg); transform-style: preserve-3d; display: block;"></div>
<div class="button-label">Ustvarite brezplačno anketo</div> <div class="button-label">Ustvarite brezplačno anketo</div>
<img src="/tema1ka/svg/icons8-chevron-right-bela.svg" loading="lazy" alt="" class="button-right-arrow" style="transform: translate3d(0px, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg); transform-style: preserve-3d;"> <img src="/tema1ka/svg/icons8-chevron-right-bela.svg" loading="lazy" alt="" class="button-right-arrow" style="transform: translate3d(0px, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg); transform-style: preserve-3d;">
@ -294,7 +294,7 @@
{# Gumb #} {# Gumb #}
<div class="row flex-desna flex"> <div class="row flex-desna flex">
<div class="gumb"> <div class="gumb">
<a href="#" class="button shrink main-button w-inline-block" class="ustvari-anketo"> <a href="{% if uporabnik %}/admin/survey{% else %}#{% endif %}" class="button shrink main-button w-inline-block" class="ustvari-anketo">
<div class="button-label">Ustvarite anketo</div> <div class="button-label">Ustvarite anketo</div>
<img src="/tema1ka/svg/icons8-chevron-right-bela.svg" loading="lazy" class="button-right-arrow"> <img src="/tema1ka/svg/icons8-chevron-right-bela.svg" loading="lazy" class="button-right-arrow">
<div class="button-flyin"></div> <div class="button-flyin"></div>
@ -356,7 +356,7 @@
<div class="row flex"> <div class="row flex">
<div class="col c-33 gumb"> <div class="col c-33 gumb">
<div class="buttons-row buttons-center" style="width: 200px"> <div class="buttons-row buttons-center" style="width: 200px">
<a href="#" class="button main-button w-inline-block"> <a href="{% if uporabnik %}/admin/survey{% else %}#{% endif %}" class="button main-button w-inline-block">
<div class="button-label">Ustvarite anketo</div><img src="/tema1ka/svg/icons8-chevron-right-bela.svg" loading="lazy" alt="" class="button-right-arrow" style="transform: translate3d(0px, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg); transform-style: preserve-3d;"> <div class="button-label">Ustvarite anketo</div><img src="/tema1ka/svg/icons8-chevron-right-bela.svg" loading="lazy" alt="" class="button-right-arrow" style="transform: translate3d(0px, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg); transform-style: preserve-3d;">
<div class="button-flyin" style="transform: translate3d(-100%, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg); transform-style: preserve-3d; display: block;"></div> <div class="button-flyin" style="transform: translate3d(-100%, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg); transform-style: preserve-3d; display: block;"></div>
</a> </a>

View File

@ -292,9 +292,17 @@
<div class="desna"> <div class="desna">
<div class="dleva"> <div class="dleva">
<h3>Informacije o naročilu</h3> <h3>Informacije o naročilu</h3>
<h4>{% if paket == 2 %} Paket 2ka {% else %} Paket 3ka {% endif %}</h4> <h4>
X mesece {% if paket == 2 %}
<h4>Način plačila: XZY</h4> Paket <span id="prikazStPaketa">2</span>ka
{% else %}
Paket <span id="prikazStPaketa">3</span>ka
{% endif %}
</h4>
<div class="prikazTrajanje">
<span id="prikazTrajanjeSt"></span> <span id="prikazTrajanjeMesec" data-text="mesecev"></span>
</div>
<h4>Način plačila: <span id="prikazNacinPlacila"></span></h4>
{% if language.id == 'sl' %} {% if language.id == 'sl' %}
<div class="text-small">*Naročnina se zaračuna v enkratnem znesku.</div> <div class="text-small">*Naročnina se zaračuna v enkratnem znesku.</div>
{% else %} {% else %}

View File

@ -6,7 +6,7 @@
<div class="div-block-17"> <div class="div-block-17">
<h3 class="side-title">Orodje za anketiranje 1KA lahko z omejenimi funkcionalnostmi preizkusite tudi brezplačno</h3> <h3 class="side-title">Orodje za anketiranje 1KA lahko z omejenimi funkcionalnostmi preizkusite tudi brezplačno</h3>
<div class="buttons-row"> <div class="buttons-row">
<a href="#" class="button main-button-white shrink w-inline-block"> <a href="{% if uporabnik %}/admin/survey{% else %}#{% endif %}" class="button main-button-white shrink w-inline-block {% if uporabnik is empty%}modal-goto-registration{% endif %}">
<div class="button-label">Preizkusite</div><img src="/tema1ka/svg/icons8-chevron-right.svg" loading="lazy" alt="" class="button-right-arrow"> <div class="button-label">Preizkusite</div><img src="/tema1ka/svg/icons8-chevron-right.svg" loading="lazy" alt="" class="button-right-arrow">
<div class="button-flyin main"></div> <div class="button-flyin main"></div>
</a> </a>

View File

@ -30,7 +30,7 @@
{# LOGO #} {# LOGO #}
<a href="/" class="inline-block 1ka-clearfix"> <a href="/d/{{ language.id }}" class="inline-block 1ka-clearfix">
<img src="/tema1ka/svg/1ka_logo_{{ language.id ?? 'sl' }}.svg" loading="lazy" alt="Logo 1ka" class="logo"> <img src="/tema1ka/svg/1ka_logo_{{ language.id ?? 'sl' }}.svg" loading="lazy" alt="Logo 1ka" class="logo">
</a> </a>