コード例 #1
0
ファイル: coord.php プロジェクト: DBnR1/EDTB
        $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");
コード例 #2
0
ファイル: SystemData.php プロジェクト: DBnR1/EDTB
        $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