id_install; $ge_seconds = $data->ge_seconds; $ge_gametime_seconds = $data->ge_gametime_seconds; $ipv4 = $_SERVER["REMOTE_ADDR"]; if ($data) { // Add extra fields $id = guidv4(); // ALE 20200109 write to the DB // Create connection $conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // prepare and bind $stmt = $conn->prepare("INSERT INTO metrics_raw (id, id_install, ge_seconds, ge_gametime_seconds, ipv4, dt_create) VALUES (?, ?, ?, ?, ?, utc_timestamp())"); $stmt->bind_param('sssss', $id, $id_install, $ge_seconds, $ge_gametime_seconds, $ipv4); if (!$stmt->execute()) { echo $mysqli->error; } $stmt->close(); $conn->close(); /* { "status": "success", "id": "" } */ // ALE 20200109 send back success echo '{"status": "success", "id": "' . $id . '"}'; //echo "\n" . $id . "\n" . $id_install . "\n" . $ge_seconds . "\n" . $ge_gametime_seconds . "\n" . $ipv4 . "\n" . $dt_create . "\njson=" . $json . "\ndone."; //var_dump($_SERVER["REMOTE_ADDR"]); http_response_code(201); } else { /* { "status": "fail", "data": { "format": "failure decoding json" } } { "error": { "code": "500", "message": "Unsupported functionality", } } */ // ALE 20200109 send back failure echo '{"status": "fail", "data": {"format": "failure decoding json"}}'; //echo '{failure decoding json}'; http_response_code(500); } } else { /* { "status": "error", "message": "Unsupported functionality" } { "error": { "code": "500", "message": "Unsupported functionality", } } */ // ALE 20200109 send back failure echo '{"status": "error", "message": "submitted data does not fit"}'; //echo '{failure}'; http_response_code(500); } function guidv4() { $data = openssl_random_pseudo_bytes(16); //assert(strlen($data) == 16); $data[6] = chr(ord($data[6]) & 0x0f | 0x40); // set version to 0100 $data[8] = chr(ord($data[8]) & 0x3f | 0x80); // set bits 6-7 to 10 return vsprintf('%s%s-%s-%s-%s-%s%s%s', str_split(bin2hex($data), 4)); } ?>