$reference_2 = explode(",", $reference_2_coordinates); $reference_3 = explode(",", $reference_3_coordinates); $reference_4 = explode(",", $reference_4_coordinates); $system1 = array($reference_1[0], $reference_1[1], $reference_1[2], $reference_1_distance); $system2 = array($reference_2[0], $reference_2[1], $reference_2[2], $reference_2_distance); $system3 = array($reference_3[0], $reference_3[1], $reference_3[2], $reference_3_distance); $system4 = array($reference_4[0], $reference_4[1], $reference_4[2], $reference_4_distance); $coords_calc = new Trilateration(); $newcoords = $coords_calc->trilateration3d($system1, $system2, $system3, $system4); $newcoords_x = $newcoords[0]; $newcoords_y = $newcoords[1]; $newcoords_z = $newcoords[2]; $esc_target_system = $mysqli->real_escape_string($target_system); $esc_reference_distances = $mysqli->real_escape_string($reference_distances); $esc_edsm_msg = $mysqli->real_escape_string($edsm_msg); $system_exists = System::exists($target_system, true); if (!$system_exists) { $stmt = " INSERT INTO user_systems_own\n (name, x, y, z, reference_distances, edsm_message)\n VALUES\n ('{$esc_target_system}',\n '{$newcoords_x}',\n '{$newcoords_y}',\n '{$newcoords_z}',\n '{$esc_reference_distances}',\n '{$esc_edsm_msg}')"; } else { $stmt = " UPDATE user_systems_own\n SET name = '{$esc_target_system}',\n x = '{$newcoords_x}',\n y = '{$newcoords_y}',\n z = '{$newcoords_z}',\n reference_distances = '{$esc_reference_distances}',\n edsm_message = '{$esc_edsm_msg}'\n WHERE name = '{$esc_target_system}'\n LIMIT 1"; } $mysqli->query($stmt) or write_log($mysqli->error, __FILE__, __LINE__); } else { write_log("Error: Distances not numeric or all distances not given.", __FILE__, __LINE__); } exit; } ?> <script> var clipboard = new Clipboard(".btn");
$sys_short = $curSys["name"]; } echo tts_override($sys_short); exit; } /** * distance to X */ if (isset($_GET["dist"])) { $to = $_GET["dist"]; $distance = ""; $to = str_replace("system", "", $to); if (!valid_coordinates($curSys["x"], $curSys["y"], $curSys["z"])) { $distance = "How can I calculate distances if I don't even know where we are?"; } else { if (System::exists($to)) { $esc_to = $mysqli->real_escape_string($to); $query = " SELECT\n sqrt(pow((IFNULL(edtb_systems.x, user_systems_own.x)-(" . $curSys["x"] . ")),2)+pow((IFNULL(edtb_systems.y, user_systems_own.y)-(" . $curSys["y"] . ")),2)+pow((IFNULL(edtb_systems.z, user_systems_own.z)-(" . $curSys["z"] . ")),2))\n AS distance\n FROM edtb_systems\n LEFT JOIN user_systems_own ON edtb_systems.name = user_systems_own.name\n WHERE edtb_systems.name = '{$esc_to}'\n LIMIT 1"; $result = $mysqli->query($query) or write_log($mysqli->error, __FILE__, __LINE__); $obj = $result->fetch_object(); $distance = $obj->distance == "" ? "Not available" : number_format($obj->distance, 1); $result->close(); } else { $distance = "I'm sorry, I didn't get that."; } } echo $distance; exit; } /** * curSys access, added the cSys variable because VA has oddly short limit on the url