Dopolnjena opomba k nastavitvi kodne tabele za SQL. De-1KAizacija: Ukinjenih nekaj info@1ka.si emailov, odstranjenih nekaj testnih petrovih nastavitev. Tudi lastna instalacija ima pravico do obvestil o grdem početju (phishing ipd). GDPR na 1KA pošljemo samo, če NI lastna instalacija. Dopolnitve za fieldwork delo: - 1ka data izvoz - grupa glede na kodo in ne le kuki Tako lahko anketar nadaljuje z anketiranjem istega respondenta z vnosom iste kode. Prej se je grupa nastavljala le glede na kuki, kar je bilo neuporabno za fieldwork. - skok na isto, ne naslednjo stran na koncu PREJ: izpolnil si 1, 2, 3 in zaprl na 3. strani. 3. stran se ni shranila, ker nisi dal NEXT. NAslednjič ko si odprl isti link, ki nadaljeval na *naslednji* strani (4.) Tako si imel podatke za 1.; 2.; 4.,... stran. ZDAJ: izpolniš 1, 2, 3, zapreš. 3. stran se seveda ni shranila, ker si zaprl. Ko ponovno odpreš anketo, te vrže na ISTO ZADNJO stran - torej tretjo. - možen lokalni dump podatkov iz crontaba (zaščiteno s kodo) - settings.php ima dodano nastavitev kode za dump podatkov. Tega ni smiselno dati v nastavitve, ker se mora poklicati iz cron joba na SERVERJU, tako da mora itak štaufat admin, ki pripravljal laptop. Skripte za terensko združevanje so ločen modul in jih bi porinil v ločenem patchu. POZOR, preveriti je treba še BodyController (ali je bil ugly hack za narobe nastavljeno anketo, ali je bilo kaj drugega). Avtomatsko je namreč disablalo popravljanje ankete anketarjem!
142 lines
3.6 KiB
PHP
142 lines
3.6 KiB
PHP
<?php
|
||
/**
|
||
*
|
||
* Skripta za testiranje API-ja
|
||
*
|
||
**/
|
||
|
||
|
||
// Nastavimo url api-ja
|
||
//$api_url = 'http://test.1ka.si/admin/survey/api/api.php';
|
||
|
||
// Nastavimo identifier in key userja
|
||
/*$identifier = 'a1c3b90fdae3c45d';
|
||
$private_key = 'e60032141a7aae518f9938636b963fc14d58d40025dc7b6b82f4e69b8a42599e';*/
|
||
|
||
$api_url = 'https://www.1ka.si/admin/survey/api/api.php';
|
||
$identifier = '3ccc9cbc90493d09';
|
||
$private_key = 'b8dbeceed3d0d7f80ca5d82ba352d9696c1804ff9b9d45272b8e99ea0a4987d6';
|
||
|
||
/*$api_url = 'http://localhost/admin/survey/api/api.php';
|
||
$identifier = '0d712128f7fe5707';
|
||
$private_key = 'd0ea50f1deabe2d9d9082c4c2a25c7db3648cab59f7a19939c808f602bdbc1be';*/
|
||
|
||
|
||
// Nastavimo parametre
|
||
$ank_id = '384751';
|
||
//$action = 'getSurveyQuestions';
|
||
//$action = 'createSurvey';
|
||
$action = 'getSurveyResponseData';
|
||
|
||
|
||
// Izvedemo klic (GET ali POST)
|
||
//$result = executeGET();
|
||
//$result = executePOST();
|
||
|
||
|
||
|
||
// Izpisemo rezultat
|
||
echo 'REZULTAT (RAW):<br />';
|
||
echo $result;
|
||
|
||
echo '<br /><br /><br />';
|
||
|
||
// Izvedemo se json decode in izpisemo array
|
||
$result_array = json_decode($result, true);
|
||
echo 'REZULTAT (JSON DECODE):';
|
||
var_dump($result_array);
|
||
|
||
|
||
|
||
// GET
|
||
function executeGET(){
|
||
global $api_url;
|
||
global $identifier;
|
||
global $private_key;
|
||
global $ank_id;
|
||
global $action;
|
||
|
||
// GET params
|
||
$params = 'action='.$action; // Funkcija, ki jo želimo izvesti
|
||
$params .= '&ank_id='.$ank_id; // ostali parametri potrebni za klic funkcije (id ankete, vprašanja...)
|
||
$params .= '&usr_id=50666962'; // ostali parametri potrebni za klic funkcije (id ankete, vprašanja...)
|
||
|
||
// Pripravimo podatke za hashiranje
|
||
$request_method = 'GET';
|
||
$request = $api_url.'?'.$params;
|
||
|
||
$data = $request_method . $request;
|
||
|
||
// Izracunamo hash (token)
|
||
$token = hash_hmac('sha256', $data, $private_key);
|
||
|
||
// Pripravimo klic – dodamo parametra »identifikator« in »token«
|
||
$ch = curl_init($request.'&identifier='.$identifier.'&token='.$token);
|
||
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $request_method);
|
||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||
|
||
// Izvedemo klic
|
||
$result = curl_exec($ch);
|
||
|
||
return $result;
|
||
}
|
||
|
||
// POST
|
||
function executePOST(){
|
||
global $api_url;
|
||
global $identifier;
|
||
global $private_key;
|
||
global $ank_id;
|
||
global $action;
|
||
|
||
// GET params
|
||
$params = 'action='.$action; // Funkcija, ki jo želimo izvesti
|
||
//$params .= '&ank_id='.$ank_id; // ostali parametri potrebni za klic funkcije (id ankete, vprašanja...)
|
||
|
||
// POST data
|
||
// primer, sestavi po svoje.
|
||
$post_data = array(
|
||
"email" => "...",
|
||
"firstname" => "...",
|
||
"lastname" => "..."
|
||
);
|
||
|
||
|
||
$post_data = array(
|
||
"naslov_vprasalnika" => "naslovovoovvo",
|
||
"survey_type" => 0,
|
||
"besedilo_vprasanja" => "text vprasasa",
|
||
"vrsta_vprasanja" => 0,
|
||
"other" => "Other:",
|
||
"Odgovori" => array(
|
||
"Text of option 1",
|
||
"Text of option 2",
|
||
"Text of option 3"
|
||
)
|
||
);
|
||
|
||
|
||
// Pripravimo podatke za hashiranje
|
||
$request_method = 'POST';
|
||
$request = $api_url.'?'.$params;
|
||
$raw_post_data = http_build_query($post_data);
|
||
|
||
$data = $request_method . $request . $raw_post_data;
|
||
|
||
// Izracunamo hash (token)
|
||
$token = hash_hmac('sha256', $data, $private_key);
|
||
|
||
// Pripravimo klic – dodamo parametra »identifikator« in »token«
|
||
$ch = curl_init($request.'&identifier='.$identifier.'&token='.$token);
|
||
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_data)); // JSON string za POST
|
||
curl_setopt($ch, CURLOPT_POST, true);
|
||
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $request_method);
|
||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||
|
||
// Izvedemo klic
|
||
$result = curl_exec($ch);
|
||
|
||
return $result;
|
||
}
|
||
|