Parameterize history.php and search.php

Both now use db.php helpers with bound params: history's mission index (was
injectable via $_GET[index]) and the callsign LIKE search. Loops switched to
associative fetches.

Verified: history shows the committed mission + players + merc count; search
finds a queued callsign.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Cyd
2026-07-01 14:06:34 -05:00
co-authored by Claude Opus 4.8
parent 530326b8e4
commit 7658db0641
2 changed files with 32 additions and 65 deletions
+21 -36
View File
@@ -6,39 +6,26 @@
<body style='background: #000;'>
<?php
$link = mysqli_connect('localhost', 'pqs', 'pqs') or die('Could not connect: ' . mysqli_error($link));
mysqli_select_db($link, 'pqs') or die('Could not select database');
require_once("includes/db.php");
$query = "SELECT MIN(missionid) FROM pqs_pastmissions";
$result = mysqli_query($link, $query) or die('Query failed: ' . mysqli_error($link));
$rs = mysqli_fetch_array($result);
$minmission = $rs[0];
$query = "SELECT MAX(missionid) FROM pqs_pastmissions";
$result = mysqli_query($link, $query) or die('Query failed: ' . mysqli_error($link));
$rs = mysqli_fetch_array($result);
$maxmission = $rs[0];
$minmission = (int) pqs_val("SELECT MIN(missionid) FROM pqs_pastmissions");
$maxmission = (int) pqs_val("SELECT MAX(missionid) FROM pqs_pastmissions");
$index = $maxmission;
$fl = "";
if (isset($_GET['prev'])) {
if (isset($_GET['index'])) {
$index = $_GET['index'] - 1;
if ($index < $minmission) { $index = $maxmission; }
}
if (isset($_GET['prev']) && isset($_GET['index'])) {
$index = (int)$_GET['index'] - 1;
if ($index < $minmission) { $index = $maxmission; }
}
if (isset($_GET['next'])) {
if (isset($_GET['index'])) {
$index = $_GET['index'] + 1;
if ($index > $maxmission) { $index = $minmission; }
}
if (isset($_GET['next']) && isset($_GET['index'])) {
$index = (int)$_GET['index'] + 1;
if ($index > $maxmission) { $index = $minmission; }
}
if ($index == $maxmission) { $fl = "(Last Mission)"; }
if ($index == $minmission) { $fl = "(First Mission)"; }
$query = "SELECT callsign, mech, pqs_pastmissions.missionid, missiondate, nummercs, missionsize, numplayers, missiontime FROM pqs_pastmissions inner join pqs_mission where pqs_pastmissions.missionid = pqs_mission.missionid HAVING pqs_pastmissions.missionid = $index";
$result = mysqli_query($link, $query) or die('Query failed: ' . mysqli_error($link));
$rows = pqs_rows("SELECT callsign, mech, pqs_pastmissions.missionid, missiondate, nummercs, missionsize, numplayers, missiontime FROM pqs_pastmissions inner join pqs_mission where pqs_pastmissions.missionid = pqs_mission.missionid HAVING pqs_pastmissions.missionid = ?", 'i', array($index));
if (isset($_GET['launch'])) {
if ($_GET['launch'] == 'console') {
@@ -50,24 +37,24 @@ if (isset($_GET['launch'])) {
echo "<tr><td colspan='2' class='queuedisplayhead'><font size='6'>Mission #$index</font> <font size='4'>$fl</font></td></tr>";
echo "<tr><td class='queuedisplayhead' width='34%'>Callsign</td><td class='queuedisplayhead' width='34%'>Mech</td></tr>";
while ($line = mysqli_fetch_array($result)) {
echo "<tr><td class='queuedisplay'>$line[0]</td><td class='queuedisplay'>$line[1]</td></tr>";
$cfull = $line[3];
foreach ($rows as $line) {
echo "<tr><td class='queuedisplay'>$line[callsign]</td><td class='queuedisplay'>$line[mech]</td></tr>";
$cfull = $line['missiondate'];
$cyear = substr($cfull,0,4);
$cmonth = substr($cfull,4,2);
$cday = substr($cfull,6);
$mdate = date("l, F jS, o", mktime(0,0,0, $cmonth,$cday,$cyear));
$mercs = $line[4];
$pods = $line[5];
$numplayers = $line[6];
if (strlen($line[7]) == 3) {
$mtime = substr($line[7], 0, 1);
$mercs = $line['nummercs'];
$pods = $line['missionsize'];
$numplayers = $line['numplayers'];
if (strlen($line['missiontime']) == 3) {
$mtime = substr($line['missiontime'], 0, 1);
$mtime = $mtime . ":";
$mtime = $mtime . (substr($line[7], 1,2));
$mtime = $mtime . (substr($line['missiontime'], 1,2));
} else {
$mtime = substr($line[7], 0, 2);
$mtime = substr($line['missiontime'], 0, 2);
$mtime = $mtime . ":";
$mtime = $mtime . (substr($line[7], 2,2));
$mtime = $mtime . (substr($line['missiontime'], 2,2));
}
}
echo "<tr><td align='center' colspan='2' class='queuedisplay'>&nbsp;</td>";
@@ -83,8 +70,6 @@ if (isset($_GET['launch'])) {
}
echo "<tr><td align='center'><a class='queuedisplayhead' href='history.php?prev=1&index=$index'>Prev</a></td>";
echo "<td align='center'><a class='queuedisplayhead' href='#' onclick='window.close()'>Close</a></td><td align='center'><a class='queuedisplayhead' href='history.php?next=1&index=$index'>Next</a></td></tr></table>";
mysqli_free_result($result);
mysqli_close($link);
echo "</body></html>";
?>