Skip to content

Commit 77198b4

Browse files
committed
Support folders within folders for JS path
1 parent 24d49be commit 77198b4

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,6 @@ composer.lock
88
Homestead.yaml
99
Vagrantfile
1010
Vagrantfile
11+
12+
node_modules
13+
.babelrc

app/Http/Controllers/Server/ServerController.php

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@
3838
use Pterodactyl\Http\Controllers\Controller;
3939
use Illuminate\Http\Request;
4040

41+
use InvalidArgumentException;
42+
4143
class ServerController extends Controller
4244
{
4345

@@ -54,10 +56,19 @@ public function __construct()
5456
public function getJavascript(Request $request, $uuid, $folder, $file)
5557
{
5658
$server = Models\Server::getByUUID($uuid);
57-
return response()->view('server.js.' . $folder . '.' . basename($file, '.js'), [
58-
'server' => $server,
59-
'node' => Models\Node::find($server->node)
60-
])->header('Content-Type', 'application/javascript');
59+
60+
$info = pathinfo($file);
61+
$routeFile = str_replace('/', '.', $info['dirname']) . '.' . $info['filename'];
62+
try {
63+
return response()->view('server.js.' . $folder . '.' . $routeFile, [
64+
'server' => $server,
65+
'node' => Models\Node::find($server->node)
66+
])->header('Content-Type', 'application/javascript');
67+
} catch (InvalidArgumentException $ex) {
68+
return abort(404);
69+
} catch (\Exception $ex) {
70+
throw $ex;
71+
}
6172
}
6273

6374
/**

0 commit comments

Comments
 (0)