117 lines
2.7 KiB
PHP
117 lines
2.7 KiB
PHP
![]() |
<?php
|
|||
|
|
|||
|
//ini_set('display_errors', 1);
|
|||
|
//ini_set('display_startup_errors', 1);
|
|||
|
//error_reporting(E_ALL);
|
|||
|
|
|||
|
|
|||
|
// V koliko ni POST request
|
|||
|
if(empty($_SERVER['HTTP_X_REQUESTED_WITH']) || strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest')
|
|||
|
{
|
|||
|
die();
|
|||
|
}
|
|||
|
|
|||
|
require($_SERVER['DOCUMENT_ROOT'] . '/settings.php');
|
|||
|
|
|||
|
$api_url = $site_url . 'frontend/api/api.php';
|
|||
|
|
|||
|
|
|||
|
$parts = explode("/", $_SERVER['REQUEST_URI']);
|
|||
|
$action = end($parts);
|
|||
|
|
|||
|
// V kolikor nimamo get parametra pri naši poizvedbi
|
|||
|
if(empty($_GET) && empty($action)) {
|
|||
|
|
|||
|
echo json_encode([
|
|||
|
'type' => 'error',
|
|||
|
'message' => 'Prišlo je do napake.'
|
|||
|
]);
|
|||
|
|
|||
|
die();
|
|||
|
}
|
|||
|
|
|||
|
/* $sporocilo = [
|
|||
|
'type' => 'success',
|
|||
|
'text' => 'Prijava'
|
|||
|
];
|
|||
|
|
|||
|
echo json_encode($sporocilo);
|
|||
|
die();
|
|||
|
*/
|
|||
|
|
|||
|
|
|||
|
|
|||
|
// GET params
|
|||
|
$params = 'action='. $action; // Funkcija, ki jo želimo izvesti
|
|||
|
|
|||
|
$post_data = $_POST;
|
|||
|
|
|||
|
|
|||
|
if(!empty($post_data) && sizeof($post_data) > 0){
|
|||
|
$request_method = 'POST';
|
|||
|
$raw_post_data = http_build_query($post_data);
|
|||
|
|
|||
|
$post_data['method'] = "AJAX";
|
|||
|
$raw_post_data .= '&method=AJAX';
|
|||
|
|
|||
|
} else {
|
|||
|
|
|||
|
$request_method = 'GET';
|
|||
|
$raw_post_data = '';
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
// Pripravimo stvari za izdelavo tokena
|
|||
|
$request_url = $api_url.'?'.$params;
|
|||
|
$data = $request_method . $request_url .$raw_post_data;
|
|||
|
|
|||
|
// 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);
|
|||
|
|
|||
|
$result = json_decode($result);
|
|||
|
|
|||
|
if(!empty($result->data->piskotek))
|
|||
|
{
|
|||
|
$piskotki = piskotekDecode($result->data->piskotek);
|
|||
|
|
|||
|
foreach($piskotki as $piskotek){
|
|||
|
setcookie($piskotek['ime'], $piskotek['vrednost'], $piskotek['opcije']);
|
|||
|
}
|
|||
|
|
|||
|
unset($result->data->piskotek);
|
|||
|
unset($piskotki);
|
|||
|
}
|
|||
|
|
|||
|
//setcookie('testni_1ka', 'testni-vnos');
|
|||
|
|
|||
|
echo json_encode($result);
|
|||
|
die();
|
|||
|
|
|||
|
function piskotekDecode($piskotek)
|
|||
|
{
|
|||
|
return unserialize(base64_decode($piskotek));
|
|||
|
}
|