%PDF- %PDF-
| Direktori : /www/varak.net/practiscore.varak.net_old/ |
| Current File : /www/varak.net/practiscore.varak.net_old/receive.php |
<?php
$data = file_get_contents("php://input");
file_put_contents(__DIR__ . "/data/" . uniqid("result_", true) . ".txt", $data);
//echo $data;
include "./lib/dibi.phar";
dibi::connect(array(
'driver' => 'mysql',
'host' => 'localhost',
'username' => 'practiscore',
'password' => 'Cepice321',
'database' => 'practiscore',
'charset' => 'utf8',
'profiler' => [
'run' => TRUE,
'file' => __DIR__ . '/log/log-' . date('Y-m-d') . '.txt',
],
));
$result = json_decode($data);
$insert = array(
"match" => $result->matchId,
"device" => $result->deviceId,
"datetime" => $result->dateTime,
"shooter" => $result->shooterName,
"stage" => $result->stageNo,
"time" => $result->time,
"hitFactor" => $result->hitFactor,
"alpha" => $result->alpha,
"charlie" => $result->charlie,
"delta" => $result->delta,
"miss" => $result->miss,
"noshoot" => $result->noshoot,
"proc" => $result->proc,
"hash" => $result->hash
);
$res = dibi::query("SELECT [id] FROM [received_score] WHERE [hash]=%s", $result->hash);
if(count($res) > 0)
{
// UPDATE
dibi::query("UPDATE [received_score] SET", $insert, "WHERE [id]=%i", $res->fetchSingle());
}
else
{
// INSERT
dibi::query("INSERT INTO [received_score]", $insert);
}
// And new score table
$shooter = 0;
$stage = 0;
$res = dibi::query("SELECT [id] FROM [shooters] WHERE [match]=%i AND [name]=%s", $result->matchId, $result->shooterName);
if(count($res) > 0)
$shooter = $res->fetchSingle();
$res = dibi::query("SELECT [id] FROM [stages] WHERE [match]=%i AND [number]=%i", $result->matchId, $result->stageNo);
if(count($res) > 0)
$stage = $res->fetchSingle();
$data = array(
"match" => $result->matchId,
"device" => $result->deviceId,
"datetime" => $result->dateTime,
"shooter" => $shooter,
"stage" => $stage,
"time" => $result->time,
"hitFactor" => $result->hitFactor,
"alpha" => $result->alpha,
"charlie" => $result->charlie,
"delta" => $result->delta,
"miss" => $result->miss,
"noshoot" => $result->noshoot,
"proc" => $result->proc,
"hash" => $result->hash
);
$res = dibi::query("SELECT [id] FROM [score] WHERE [hash]=%s", $result->hash);
if(count($res) > 0)
{
// UPDATE
dibi::query("UPDATE [score] SET", $data, "WHERE [id]=%i", $res->fetchSingle());
}
else
{
// INSERT
dibi::query("INSERT INTO [score]", $data);
}
echo $result->hash . " OK";