*/ $runtimeEpoch = time(); switch($_POST['action']){ // Added on 21.03.2020 16:00 (BRT). case 'registerToken':{ $token = $_POST['token']; $state = 'AwaitingResponse'; $addr = $_SERVER['REMOTE_ADDR']?:($_SERVER['HTTP_X_FORWARDED_FOR']?:$_SERVER['HTTP_CLIENT_IP']); $sql = requestSql(); // Run the query on multiple databases (if specified). $dbs = getCfgValue('cfg_db_databases'); foreach ($dbs as $db){ $sql->select_db($db); $in = $sql->prepare('INSERT INTO adl_tokens (Token, CreationAddress, CreationEpoch, State, CurrentAddress) VALUES (?, ?, ?, ?, ?)'); $in->bind_param('ssiss', $token, $addr, $runtimeEpoch, $state, $addr); $in->execute(); if ($in) continue; else { $sql->close(); echo 'ERROR'; return; } } $sql->close(); echo 'OK'; break; } // Added on 21.03.2020 16:02 (BRT). case 'updateAddress':{ $token = $_POST['token']; $state = 'Taken'; $addr = $_SERVER['REMOTE_ADDR']?:($_SERVER['HTTP_X_FORWARDED_FOR']?:$_SERVER['HTTP_CLIENT_IP']); $sql = requestSql(); // Run the query on multiple databases (if specified). $dbs = getCfgValue('cfg_db_databases'); foreach ($dbs as $db){ $sql->select_db($db); $in = $sql->prepare('UPDATE adl_tokens SET CurrentAddress=? WHERE Token=? AND State=?'); $in->bind_param('sss', $addr, $token, $state); $in->execute(); if ($in) continue; else { $sql->close(); echo 'ERROR'; return; } } echo 'OK'; $sql->close(); break; } } function requestSql(){ $addr = getCfgValue('cfg_db_address'); $uname = getCfgValue('cfg_db_username'); $pwd = getCfgValue('cfg_db_password'); return new mysqli($addr, $uname, $pwd); } function getCfgValue($key){ // Reads cfg.json and then returns the value of the provided key. // May 28, 2020, 16:31 (BRT). $jsonf = file('./cfg.json'); $jsonc = ''; foreach($jsonf as $line) $jsonc .= $line; $cfg = json_decode($jsonc, true); return $cfg[$key]; } ?>