23header(
'Content-Type: application/json');
29if ($_SERVER[
'REQUEST_METHOD'] ===
'POST') {
30 $module = isset($_POST[
'module']) ? $_POST[
'module'] :
null;
31 $version = isset($_POST[
'version']) ? $_POST[
'version'] :
null;
32 $filesize = isset($_POST[
'filesize']) ? $_POST[
'filesize'] :
null;
34 if ($module && $version) {
36 include_once __DIR__ .
'/../../../classes/actions/class.action.quickPick.php';
44 Util::logDebug(
'QuickPick initialized for module: ' . $module .
', version: ' . $version);
51 $response = $QuickPick->installModule($module, $version);
56 $moduleKey = $QuickPick->normalizeModuleName($module);
57 $moduleName = strtolower($moduleKey ?? $module);
58 $moduleType = ($moduleKey && isset($QuickPick->modules[$moduleKey])) ? $QuickPick->modules[$moduleKey][
'type'] :
'binary';
63 $successMessage =
"Module $module version $version installed successfully!";
64 $successMessage .=
"\n\n✓ Files extracted";
65 $successMessage .=
"\n✓ Configuration updated";
66 $successMessage .=
"\n\n<span class='text-warning'><i class='fas fa-exclamation-triangle'></i> IMPORTANT: Right-click the Bearsampp tray icon and select 'Reload' to activate the new version.</span>";
69 $successMessage =
"Module $module version $version has been downloaded and extracted successfully!";
70 $successMessage .=
"\n\nNext steps:";
71 $successMessage .=
"\n1. Click 'Apply Config' below to update bearsampp.conf";
72 $successMessage .=
"\n2. Right-click the Bearsampp tray icon and select 'Reload'";
83 error_log(
'Error in QuickPick installation: ' . json_encode(
$response));
87 }
catch (Exception $e) {
88 $response = [
'error' =>
'Exception: ' . $e->getMessage()];
89 error_log(
'Exception in QuickPick: ' . $e->getMessage());
95 $response = [
'error' =>
'Invalid module or version.'];
98 $response = [
'error' =>
'Invalid request method.'];
static logDebug($data, $file=null)