Popravki pri modulu registracija, prijava, trgovina

This commit is contained in:
Robert 2022-06-27 16:11:58 +02:00
parent d2bfbff9b1
commit f1f9f7049f
5 changed files with 78 additions and 64 deletions

View File

@ -76,10 +76,18 @@ function prijava_1ka_theme()
];
}
// Development
function prijava_1ka_preprocess_block(&$vars)
/*
* Never cache
*/
function prijava_1ka_preprocess(&$variables)
{
if($vars['plugin_id'] == 'prijava_block'){
$var['#cache'] ['max-age'] = 0;
}
if(!empty($variables['plugin_id']) && in_array($variables['plugin_id'], [
'prijava_block',
'prijava_obnovitev_gesla_block',
'prijava_obnovitev_gesla_aktivacija_blok',
'prijava_podatki_o_uporabniku_block'
])
){
$variables['#cache'] ['max-age'] = 0;
}
}

View File

@ -87,7 +87,7 @@
<div class="w-clearfix">
<div class="col _3-3-3-12">
<input type="password" name="pass" class="input-field w-input {% if(email == 'error' or password) %}error-field{% endif %}" size="30" placeholder="Geslo" required="required"/>
<input type="password" name="pass" class="input-field prijava-password-input w-input {% if(email == 'error' or password) %}error-field{% endif %}" size="30" placeholder="Geslo" required="required"/>
</div>
</div>

View File

@ -50,10 +50,13 @@ function registracija_1ka_theme()
];
}
// Development
function registracija_1ka_preprocess_block(&$vars)
/*
* Never cache
*/
function registracija_1ka_preprocess(&$variables)
{
if($vars['plugin_id'] == 'registracija_block'){
$var['#cache'] ['max-age'] = 0;
if(!empty($variables['plugin_id']) && $variables['plugin_id'] = 'registracija_block'){
$variables['#cache'] ['max-age'] = 0;
}
}

View File

@ -5,6 +5,7 @@ namespace Drupal\trgovina_1ka\Controller;
use Drupal;
use Drupal\Core\Controller\ControllerBase;
use Drupal\Core\Language\Language;
use Symfony\Component\HttpFoundation\JsonResponse;
/**
@ -67,77 +68,77 @@ class NarociloController extends ControllerBase
*/
public function apiKlici($parameter)
{
require($_SERVER['DOCUMENT_ROOT'] . '/settings.php');
require($_SERVER['DOCUMENT_ROOT'] . '/settings.php');
$api_url = $site_url . 'frontend/payments/api.php';
$api_url = $site_url . 'frontend/payments/api.php';
// Ime akcije dobimo preko zadnjega GET parametra, ki ga Drupal samo uporabi
$action = $parameter;
// Ime akcije dobimo preko zadnjega GET parametra, ki ga Drupal samo uporabi
$action = $parameter;
// GET params
$params = 'action=' . $action; // Funkcija, ki jo želimo izvesti
// GET params
$params = 'action=' . $action; // Funkcija, ki jo želimo izvesti
$post_data = $_POST;
$post_data = $_POST;
if (!empty($post_data) && sizeof($post_data) > 0) {
$request_method = 'POST';
$raw_post_data = http_build_query($post_data);
} else {
$request_method = 'GET';
$raw_post_data = '';
}
//trgovina IP lokacija
if ($action == 'get_lokacija') {
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
if (!empty($post_data) && sizeof($post_data) > 0) {
$request_method = 'POST';
$raw_post_data = http_build_query($post_data);
} else {
$request_method = 'GET';
$raw_post_data = '';
$ip = $_SERVER['REMOTE_ADDR'];
}
//trgovina IP lokacija
if ($action == 'get_lokacija') {
$request_method = 'POST';
$post_data = ['ip' => $ip];
$raw_post_data = http_build_query($post_data);
}
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
// Pripravimo stvari za izdelavo tokena
$request_url = $api_url . '?' . $params;
$data = $request_method . $request_url . $raw_post_data;
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
// Nastavimo identifier in key userja
$private_key = 'NLFYb67/[pUE%W-s';
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
// Izracunamo hash (token)
$token = hash_hmac('sha256', $data, $private_key);
} else {
// Pripravimo klic dodamo parametra »identifikator« in »token«
$ch = curl_init($request_url . '&token=' . $token);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $request_method);
$ip = $_SERVER['REMOTE_ADDR'];
}
if ($request_method == 'POST') {
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_data)); // JSON string za POST
curl_setopt($ch, CURLOPT_POST, true);
}
$request_method = 'POST';
$post_data = ['ip' => $ip];
$raw_post_data = http_build_query($post_data);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//curl_setopt($ch, CURLOPT_HEADER ,1);
//curl_setopt($ch, CURLOPT_FOLLOWLOCATION ,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
//curl_setopt($ch, CURLINFO_HEADER_OUT, true); //Vrne header, kar ni ok, ker drual direktno sprejmo echo
// Pripravimo stvari za izdelavo tokena
$request_url = $api_url . '?' . $params;
$data = $request_method . $request_url . $raw_post_data;
// Izvedemo klic
$result = curl_exec($ch);
curl_close($ch);
// Nastavimo identifier in key userja
$private_key = 'NLFYb67/[pUE%W-s';
// Izracunamo hash (token)
$token = hash_hmac('sha256', $data, $private_key);
// Pripravimo klic dodamo parametra »identifikator« in »token«
$ch = curl_init($request_url . '&token=' . $token);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $request_method);
if ($request_method == 'POST') {
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_data)); // JSON string za POST
curl_setopt($ch, CURLOPT_POST, true);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//curl_setopt($ch, CURLOPT_HEADER ,1);
//curl_setopt($ch, CURLOPT_FOLLOWLOCATION ,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
//curl_setopt($ch, CURLINFO_HEADER_OUT, true); //Vrne header, kar ni ok, ker drual direktno sprejmo echo
// Izvedemo klic
$result = curl_exec($ch);
curl_close($ch);
return $result;
return new JsonResponse($result);
}
public function nakupPaketa($paket)