From f1c96ff1b7195d824af76606767a782a417b2516 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Tue, 5 May 2026 12:35:39 +0000
Subject: [PATCH] fix: Steam Workshop module issues and modulemanager PHP 8.3
warning
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/773ab9dc-a9f7-463e-8bf1-c37ac01b0b37
Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
---
modules/modulemanager/module_handling.php | 6 ++++
modules/steam_workshop/monitor_buttons.php | 37 ++++++++++++++++++++++
modules/steam_workshop/navigation.xml | 2 +-
modules/steam_workshop/user.php | 4 +--
4 files changed, 46 insertions(+), 3 deletions(-)
create mode 100644 modules/steam_workshop/monitor_buttons.php
diff --git a/modules/modulemanager/module_handling.php b/modules/modulemanager/module_handling.php
index d0b03993..b2cbe2af 100644
--- a/modules/modulemanager/module_handling.php
+++ b/modules/modulemanager/module_handling.php
@@ -205,6 +205,12 @@ function update_module($db, $module_id, $module)
{
if(isset($install_queries))
{
+ if (!array_key_exists($i+1, $install_queries))
+ {
+ trigger_error("Module '" . preg_replace('/[^a-zA-Z0-9_\-]/', '', $module) . "': no migration queries defined for db_version step " . ($i+1) . " – skipping.", E_USER_NOTICE);
+ ++$i;
+ continue;
+ }
foreach ((array)$install_queries[$i+1] as $query)
{
// Support PHP callables in addition to plain SQL strings.
diff --git a/modules/steam_workshop/monitor_buttons.php b/modules/steam_workshop/monitor_buttons.php
new file mode 100644
index 00000000..f0bce7e7
--- /dev/null
+++ b/modules/steam_workshop/monitor_buttons.php
@@ -0,0 +1,37 @@
+resultQuery(
+ "SELECT p.id
+ FROM OGP_DB_PREFIXsteam_workshop_game_profiles p
+ JOIN OGP_DB_PREFIXconfig_homes c ON c.game_key = p.config_name
+ JOIN OGP_DB_PREFIXserver_homes s ON s.home_cfg_id = c.home_cfg_id
+ WHERE s.home_id = " . (int)$server_home['home_id'] . "
+ AND p.enabled = 1
+ LIMIT 1"
+);
+
+if (!empty($_sw_profile)) {
+ $module_buttons[] = "
+
+ Steam Workshop
+ ";
+}
+
+unset($_sw_profile);
+?>
diff --git a/modules/steam_workshop/navigation.xml b/modules/steam_workshop/navigation.xml
index 676d40f4..29a5deda 100644
--- a/modules/steam_workshop/navigation.xml
+++ b/modules/steam_workshop/navigation.xml
@@ -2,5 +2,5 @@