Files
PQS/search.php
T
CydandClaude Opus 4.8 7658db0641 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>
2026-07-01 14:06:34 -05:00

70 lines
3.0 KiB
PHP

<html>
<head>
<title>PQS - Search</title>
<link href="css/main.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.alphanumeric.js"></script>
</head>
<body style='background: #000;'>
<?php
date_default_timezone_set('America/Chicago');
//include_once("includes/config.php");
//var_dump($_GET);
if (isset($_GET['callsign'])){
$cs = str_replace("'", "&;", $_GET['callsign']);
if($cs == ''){$cs = 'unknown';}
}else{
$cs = 'unknown';
}
// search form //
echo "<form action='search.php' method='get'>";
echo "<table width='650' align='center'><tr><td align='center'>";
echo "<div id='searchqueue' class='queuediv'>";
echo "<table border='0' align='center'><tr>";
echo "<td colspan='3' class='queuedisplayhead' align='left'>Search for Player in Mission(s)</td></tr>";
echo "<tr><td align='center' class='consoledisplayhead'>Callsign</td>";
echo "<td align='center'><input class='editqueue' type='text' name='callsign' size='18' maxlength='16' /></td>";
echo "<td align='center'><input type='submit' name='search' class='button' id='action' value='search' /></td></tr></table>";
echo "</tr></table></form>";
/////////////////
echo "<center><div class='queuediv'><table width='650' align='center'>";
echo "<tr><td colspan='4' class='queuedisplayhead'><font size='6'>Mission(s) : $cs</font></td></tr>";
//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>";
require_once("includes/db.php");
// get last commit time and mission id
$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 //
$cfg = pqs_row("SELECT timepergame, timetoreset FROM pqs_gameconfig");
$tpg = (int)$cfg['timepergame'] + (int)$cfg['timetoreset'];
// fetch data //
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[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>";
echo "</body></html>";
?>
<script type="text/javascript">
$('.editqueue').alphanumeric({ichars:'%-&*/\\<>?",:;[]'});
</script>