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, TRUE);
|
||
//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));
|
||
}
|