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
+11 -29
View File
@@ -35,48 +35,30 @@ echo "<tr><td colspan='4' class='queuedisplayhead'><font size='6'>Mission(s) : $
//echo "<tr><td class='queuedisplayhead' width='20%'>CallSign</td><td class='queuedisplayhead' width='20%'>Mission</td><td class='queuedisplayhead' width='20%'>ETD</td><td class='queuedisplayhead' width='20%'>Mech</td><td class='queuedisplayhead' width='20%'>Edit/Delete</td></tr>";
echo "<tr><td class='queuedisplayhead' width='25%'>CallSign</td><td class='queuedisplayhead' width='25%'>Mission</td><td class='queuedisplayhead' width='25%'>ETD</td><td class='queuedisplayhead' width='25%'>Mech</td></tr>";
$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");
// get last commit time and mission id
$query = "SELECT max(MissionID), max(UNIX_TIMESTAMP(ctime)) FROM pqs_pastmissions";
$getlct = mysqli_query($link, $query) or die('Query failed: ' . mysqli_error($link));
$rs2 = mysqli_fetch_array($getlct);
$lastmission = $rs2[0];
if(is_null($lastmission)){$lastmission = 0;}
$lastCommitTime = $rs2[1];//-(6*60*60);
if(is_null($lastCommitTime)){$lastCommitTime = time();}//-(6*60*60);}
//echo"$lastCommitTime";
//$d=strtotime("+$mtd Minutes",$lastCommitTime);
//$etd = date("h:i", $d);
$rs2 = pqs_row("SELECT max(MissionID) AS m, max(UNIX_TIMESTAMP(ctime)) AS t FROM pqs_pastmissions");
$lastmission = (int)($rs2['m'] ?? 0);
$lastCommitTime = $rs2['t'] ?? null;
if(is_null($lastCommitTime)){$lastCommitTime = time();}
// get time per game //
$query = "SELECT timepergame, timetoreset FROM pqs_gameconfig";
$gettpg = mysqli_query($link, $query) or die('Query failed: ' . mysqli_error($link));
$rs1 = mysqli_fetch_array($gettpg);
$tpg = $rs1[0]+$rs1[1];
$cfg = pqs_row("SELECT timepergame, timetoreset FROM pqs_gameconfig");
$tpg = (int)$cfg['timepergame'] + (int)$cfg['timetoreset'];
// fetch data //
$query = "SELECT * FROM pqs_queue WHERE CallSign LIKE '$cs'";
$result = mysqli_query($link, $query) or die('Query failed: ' . mysqli_error($link));
while ($line = mysqli_fetch_array($result)) {
$mtd = ($line[3] - $lastmission) * $tpg;
foreach (pqs_rows("SELECT * FROM pqs_queue WHERE CallSign LIKE ?", 's', array($cs)) as $line) {
$mtd = ($line['MissionID'] - $lastmission) * $tpg;
$d=strtotime("+$mtd Minutes",$lastCommitTime);
$etd = date("h:i", $d);
echo "<tr><td class='queuedisplay'>$line[0]</td><td class='queuedisplay'>$line[3]</td><td class='queuedisplay'>$etd</td><td class='queuedisplay'>$line[1]</td><td class='queuedisplay'>";
// echo "<a href='registration.php?action=edit&playerid=$line[2]&missionid=$line[3]' title='Edit $line[0]&apos;s information'><img src='images/edit.png' border='0' height='22'></a>&nbsp;&nbsp;";
// echo "<a href='registration.php?action=delete&playerid=$line[2]&missionid=$line[3]' title='Delete $line[0] from queue'><img src='images/delete.png' border='0' height='22'></a>&nbsp;&nbsp;";
echo "<tr><td class='queuedisplay'>$line[CallSign]</td><td class='queuedisplay'>$line[MissionID]</td><td class='queuedisplay'>$etd</td><td class='queuedisplay'>$line[Mech]</td><td class='queuedisplay'>";
echo "</td></tr>";
}
echo "<tr><td align='center' colspan='4' class='queuedisplay'>&nbsp;</td>";
echo "</table></div>";
mysqli_free_result($result);
mysqli_close($link);
echo "</body></html>";
?>
<script type="text/javascript">