query("TRUNCATE TABLE pqs_currentmission"); } if (isset($_GET['submit'])) {$submit=$_GET['submit'];}else{$submit='';} if ($submit=='Update'){ // Pod toggles: pod01..pod16, present in the query string => on. $pods = array(); for ($p = 1; $p <= 16; $p++) { $pods[$p] = isset($_GET[sprintf('pod%02d', $p)]) ? 1 : 0; } $numberpods = array_sum($pods); // Numeric dropdowns. $visibility = (int)($_GET['visibility'] ?? 0); $weather = (int)($_GET['weather'] ?? 0); $timelimit = (int)($_GET['timelimit'] ?? 0); $timetoreset = (int)($_GET['timetoreset'] ?? 0); $radar = (int)($_GET['radar'] ?? 0); // Checkbox flags. $heat = isset($_GET['heat']) ? 1 : 0; $friendlyfire = isset($_GET['friendlyfire']) ? 1 : 0; $splashdamage = isset($_GET['splashdamage']) ? 1 : 0; $limitedammo = isset($_GET['limitedammo']) ? 1 : 0; $noreturn = isset($_GET['noreturn']) ? 1 : 0; $printdebriefing = isset($_GET['printdebriefing'])? 1 : 0; $missionreview = isset($_GET['missionreview']) ? 1 : 0; $weaponjam = isset($_GET['weaponjam']) ? 1 : 0; $advancemode = isset($_GET['advancemode']) ? 1 : 0; $armormode = isset($_GET['armormode']) ? 1 : 0; $groupAvalible = isset($_GET['groupAvalible']) ? 1 : 0; // Note: timepergame is intentionally set to timelimit, and timeofday / // cameraship are not written here (preserves the original behavior). pqs_exec( "UPDATE pqs_gameconfig SET numpods=?, timepergame=?, timetoreset=?, timelimit=?, visibility=?, weather=?, radar=?, heat=?, friendlyfire=?, splashdamage=?, limitedammo=?, noreturn=?, printdebriefing=?, missionreview=?, weaponjam=?, advancemode=?, armormode=?, GroupAvalible=? WHERE gamechoiceid=1", str_repeat('i', 18), array($numberpods, $timelimit, $timetoreset, $timelimit, $visibility, $weather, $radar, $heat, $friendlyfire, $splashdamage, $limitedammo, $noreturn, $printdebriefing, $missionreview, $weaponjam, $advancemode, $armormode, $groupAvalible) ); pqs_exec( "UPDATE pqs_pods SET pod01=?, pod02=?, pod03=?, pod04=?, pod05=?, pod06=?, pod07=?, pod08=?, pod09=?, pod10=?, pod11=?, pod12=?, pod13=?, pod14=?, pod15=?, pod16=?", str_repeat('i', 16), array_values($pods) ); pqs_exec("UPDATE pqs_mission SET MissionSize=? WHERE Completed=0", 'i', array($numberpods)); } if ($submit=='Commit Mission') { // Commit the next mission: snapshot to the current board, archive to history, // clear it from the queue and mark it completed. Runs under the shared queue // lock (so a registration can't slip in mid-commit) and as one transaction. $nummercs = (int)($_GET['nummercs'] ?? 0); $mtime = (int) date('Hi'); pqs_with_queue_lock(function () use ($nummercs, $mtime) { $db = pqs_db(); $db->begin_transaction(); try { $missionid = (int) pqs_val("SELECT MIN(MissionID) FROM pqs_queue"); $db->query("DELETE FROM pqs_currentmission"); if ($missionid > 0) { $players = pqs_rows("SELECT callsign, mech FROM pqs_queue WHERE MissionID = ?", 'i', array($missionid)); foreach ($players as $p) { pqs_exec("INSERT INTO pqs_currentmission (callsign, missionid) VALUES (?, ?)", 'si', array($p['callsign'], $missionid)); pqs_exec("INSERT INTO pqs_pastmissions (callsign, mech, missionid) VALUES (?, ?, ?)", 'ssi', array($p['callsign'], $p['mech'], $missionid)); } pqs_exec("DELETE FROM pqs_queue WHERE MissionID = ?", 'i', array($missionid)); pqs_exec("UPDATE pqs_mission SET Completed = 1, nummercs = ?, missiontime = ? WHERE MissionID = ?", 'iii', array($nummercs, $mtime, $missionid)); } $db->commit(); } catch (Throwable $e) { $db->rollback(); throw $e; } }); } if (isset($_GET['lock'])) { $missionid = (int) pqs_val("SELECT MIN(MissionID) FROM pqs_queue"); if ($missionid > 0) { pqs_exec("UPDATE pqs_mission SET locked = 1 WHERE MissionID = ?", 'i', array($missionid)); } } if (isset($_GET['action']) && $_GET['action'] == 'clearupdate') { $playerid = (int)($_GET['playerid'] ?? 0); pqs_exec("UPDATE pqs_queue SET Updated = 0 WHERE ID = ?", 'i', array($playerid)); } $missionid = (int) pqs_val("SELECT MIN(MissionID) FROM pqs_queue"); $locked = 0; if ($missionid != 0) { $locked = (int) pqs_val("SELECT locked FROM pqs_mission WHERE MissionId = ?", 'i', array($missionid)); } echo ""; echo ""; echo ""; echo ""; echo "
Clear Current Queue   |   "; echo "Open History Window
"; echo ""; echo ""; if ($locked == 1) { echo ""; } else { ?> "; } echo "
"; echo "
 
"; echo "
Total Pods: "; echo "
# Mercs in Pods:


This mission is LOCKED!

"; echo "
"; echo "
"; echo "Configuration

"; echo "
"; $link = mysqli_connect('localhost', 'pqs', 'pqs') or die('Could not connect: ' . mysqli_connect_error()); mysqli_select_db($link, 'pqs') or die('Could not select database'); $query = 'SELECT * FROM pqs_gameconfig'; $result = mysqli_query($link, $query) or die('Query failed: ' . mysqli_error($link)); while ($line = mysqli_fetch_array($result)) { $numpods = $line[1]; $timepergame = $line[2]; $timetoreset = $line[3]; $visibility = $line[7]; $weather = $line[8]; $timeofday = $line[9]; $timelimit = $line[10]; $radar = $line[11]; $heat = $line[12]; $friendlyfire = $line[13]; $splashdamage = $line[14]; $limitedammo = $line[15]; $noreturn = $line[16]; $printdebriefing = $line[17]; $missionreview = $line[18]; $weaponjam = $line[19]; $advancemode = $line[20]; $armormode = $line[21]; $cameraship = $line[22]; $groupAvalible = $line[23]; } $query = 'SELECT * FROM pqs_pods'; $result = mysqli_query($link, $query) or die('Query failed: ' . mysqli_error($link)); while ($line = mysqli_fetch_array($result)) { $pod01 = $line[0]; $pod02 = $line[1]; $pod03 = $line[2]; $pod04 = $line[3]; $pod05 = $line[4]; $pod06 = $line[5]; $pod07 = $line[6]; $pod08 = $line[7]; $pod09 = $line[8]; $pod10 = $line[9]; $pod11 = $line[10]; $pod12 = $line[11]; $pod13 = $line[12]; $pod14 = $line[13]; $pod15 = $line[14]; $pod16 = $line[15]; } ?>  Time Limit :
 Reset Time :
Pod01 : ";} else {echo "Pod01 : ";} if ("$pod01" == 1) { echo "
"; } else { echo "
"; } if ("$pod02" == 0) {echo "Pod02 : ";} else {echo "Pod02 : ";} if ("$pod02" == 1) { echo "
"; } else { echo "
"; } if ("$pod03" == 0) {echo "Pod03 : ";} else {echo "Pod03 : ";} if ("$pod03" == 1) { echo "
"; } else { echo "
"; } if ("$pod04" == 0) {echo "Pod04 : ";} else {echo "Pod04 : ";} if ("$pod04" == 1) { echo "
"; } else { echo "
"; } if ("$pod05" == 0) {echo "Pod05 : ";} else {echo "Pod05 : ";} if ("$pod05" == 1) { echo "
"; } else { echo "
"; } if ("$pod06" == 0) {echo "Pod06 : ";} else {echo "Pod06 : ";} if ("$pod06" == 1) { echo "
"; } else { echo "
"; } if ("$pod07" == 0) {echo "Pod07 : ";} else {echo "Pod07 : ";} if ("$pod07" == 1) { echo "
"; } else { echo "
"; } if ("$pod08" == 0) {echo "Pod08 : ";} else {echo "Pod08 : ";} if ("$pod08" == 1) { echo "
"; } else { echo "
"; } if ("$pod09" == 0) {echo "Pod09 : ";} else {echo "Pod09 : ";} if ("$pod09" == 1) { echo "
"; } else { echo "
"; } if ("$pod10" == 0) {echo "Pod10 : ";} else {echo "Pod10 : ";} if ("$pod10" == 1) { echo "
"; } else { echo "
"; } if ("$pod11" == 0) {echo "Pod11 : ";} else {echo "Pod11 : ";} if ("$pod11" == 1) { echo "
"; } else { echo "
"; } if ("$pod12" == 0) {echo "Pod12 : ";} else {echo "Pod12 : ";} if ("$pod12" == 1) { echo "
"; } else { echo "
"; } if ("$pod13" == 0) {echo "Pod13 : ";} else {echo "Pod13 : ";} if ("$pod13" == 1) { echo "
"; } else { echo "
"; } if ("$pod14" == 0) {echo "Pod14 : ";} else {echo "Pod14 : ";} if ("$pod14" == 1) { echo "
"; } else { echo "
"; } if ("$pod15" == 0) {echo "Pod15 : ";} else {echo "Pod15 : ";} if ("$pod15" == 1) { echo "
"; } else { echo "
"; } if ("$pod16" == 0) {echo "Pod16 : ";} else {echo "Pod16 : ";} if ("$pod16" == 1) { echo "
"; } else { echo "
"; } ?>              Visability      :
             Weather        :
             Time of Day :
             Radar            :

"; } else { echo "
"; } echo "Friendly Fire : "; if ("$friendlyfire" == 1) { echo ""; } else { echo ""; } echo"          
"; echo "Splash Damage : "; if ("$splashdamage" == 1) { echo ""; } else { echo ""; } echo"              
"; echo "Limited Ammo : "; if ("$limitedammo" == 1) { echo ""; } else { echo ""; } echo"              
"; echo "No Return : "; if ("$noreturn" == 1) { echo ""; } else { echo ""; }echo"      
"; echo "Print Debriefing : "; if ("$printdebriefing" == 1) { echo ""; } else { echo ""; }echo"               
"; echo "Mission Review : "; if ("$missionreview" == 1) { echo ""; } else { echo ""; }echo"               
"; echo "Weapon Jam : "; if ("$weaponjam" == 1) { echo ""; } else { echo ""; }echo"          
"; echo "Advance Mode : "; if ("$advancemode" == 1) { echo ""; } else { echo ""; }echo"              
"; echo "Armor Mode : "; if ("$armormode" == 1) { echo ""; } else { echo ""; }echo"          
"; ?>               Cameraship  :
"; } else { echo ""; }echo"          
"; echo "
"; echo "
"; echo "
"; echo "
"; ?>