Resolve Custom script ids where the scripts actually live
The Custom/ prefix is a namespace, not a directory under SCRIPTS_DIR, so every launcher that resolved it as one could never find the script.
This commit is contained in:
@@ -74,7 +74,10 @@ if (!$id || !preg_match('/^[a-zA-Z0-9_.\/\-]+\.sh$/', $id) || str_contains($id,
|
||||
exit;
|
||||
}
|
||||
|
||||
$script = SCRIPTS_DIR . '/' . $id;
|
||||
// Custom scripts live outside the repo (CUSTOM_SCRIPTS_DIR) — everything else resolves under SCRIPTS_DIR.
|
||||
$script = str_starts_with($id, 'Custom/')
|
||||
? CUSTOM_SCRIPTS_DIR . '/' . substr($id, strlen('Custom/'))
|
||||
: SCRIPTS_DIR . '/' . $id;
|
||||
if (!file_exists($script)) {
|
||||
echo json_encode(['ok' => false, 'error' => 'Script not found: ' . $id]);
|
||||
exit;
|
||||
|
||||
@@ -77,7 +77,10 @@ if (!$id || !preg_match('/^[a-zA-Z0-9_.\/\-]+\.sh$/', $id) || str_contains($id,
|
||||
exit;
|
||||
}
|
||||
|
||||
$script = SCRIPTS_DIR . '/' . $id;
|
||||
// Custom scripts live outside the repo (CUSTOM_SCRIPTS_DIR) — everything else resolves under SCRIPTS_DIR.
|
||||
$script = str_starts_with($id, 'Custom/')
|
||||
? CUSTOM_SCRIPTS_DIR . '/' . substr($id, strlen('Custom/'))
|
||||
: SCRIPTS_DIR . '/' . $id;
|
||||
if (!file_exists($script)) {
|
||||
echo json_encode(['ok' => false, 'error' => 'Script not found: ' . $id]);
|
||||
exit;
|
||||
|
||||
Reference in New Issue
Block a user