2828use Log ;
2929use Uuid ;
3030use Alert ;
31+ use Javascript ;
3132use Pterodactyl \Models ;
3233use Illuminate \Http \Request ;
3334use InvalidArgumentException ;
@@ -49,24 +50,6 @@ public function __construct()
4950 //
5051 }
5152
52- public function getJavascript (Request $ request , $ uuid , $ folder , $ file )
53- {
54- $ server = Models \Server::getByUUID ($ uuid );
55-
56- $ info = pathinfo ($ file );
57- $ routeFile = str_replace ('/ ' , '. ' , $ info ['dirname ' ]) . '. ' . $ info ['filename ' ];
58- try {
59- return response ()->view ('server.js. ' . $ folder . '. ' . $ routeFile , [
60- 'server ' => $ server ,
61- 'node ' => Models \Node::find ($ server ->node ),
62- ])->header ('Content-Type ' , 'application/javascript ' );
63- } catch (InvalidArgumentException $ ex ) {
64- return abort (404 );
65- } catch (\Exception $ ex ) {
66- throw $ ex ;
67- }
68- }
69-
7053 /**
7154 * Renders server index page for specified server.
7255 *
@@ -77,6 +60,13 @@ public function getIndex(Request $request)
7760 {
7861 $ server = Models \Server::getByUUID ($ request ->route ()->server );
7962
63+ Javascript::put ([
64+ 'meta ' => [
65+ 'saveFile ' => route ('server.files.save ' , $ server ->uuidShort ),
66+ 'csrfToken ' => csrf_token (),
67+ ],
68+ ]);
69+
8070 return view ('server.index ' , [
8171 'server ' => $ server ,
8272 'allocations ' => Models \Allocation::where ('assigned_to ' , $ server ->id )->orderBy ('ip ' , 'asc ' )->orderBy ('port ' , 'asc ' )->get (),
@@ -90,14 +80,34 @@ public function getIndex(Request $request)
9080 * @param Request $request
9181 * @return \Illuminate\Contracts\View\View
9282 */
93- public function getFiles (Request $ request )
83+ public function getFiles (Request $ request, $ uuid )
9484 {
95- $ server = Models \Server::getByUUID ($ request -> route ()-> server );
85+ $ server = Models \Server::getByUUID ($ uuid );
9686 $ this ->authorize ('list-files ' , $ server );
9787
88+ $ node = Models \Node::find ($ server ->node );
89+
90+ Javascript::put ([
91+ 'server ' => collect ($ server ->makeVisible ('daemonSecret ' ))->only ('uuid ' , 'uuidShort ' , 'daemonSecret ' ),
92+ 'node ' => collect ($ node )->only ('fqdn ' , 'scheme ' , 'daemonListen ' ),
93+ 'meta ' => [
94+ 'directoryList ' => route ('server.files.directory-list ' , $ server ->uuidShort ),
95+ 'csrftoken ' => csrf_token (),
96+ ],
97+ 'permissions ' => [
98+ 'moveFiles ' => $ request ->user ()->can ('move-files ' , $ server ),
99+ 'copyFiles ' => $ request ->user ()->can ('copy-files ' , $ server ),
100+ 'compressFiles ' => $ request ->user ()->can ('compress-files ' , $ server ),
101+ 'decompressFiles ' => $ request ->user ()->can ('decompress-files ' , $ server ),
102+ 'createFiles ' => $ request ->user ()->can ('create-files ' , $ server ),
103+ 'downloadFiles ' => $ request ->user ()->can ('download-files ' , $ server ),
104+ 'deleteFiles ' => $ request ->user ()->can ('delete-files ' , $ server ),
105+ ],
106+ ]);
107+
98108 return view ('server.files.index ' , [
99109 'server ' => $ server ,
100- 'node ' => Models \Node:: find ( $ server -> node ) ,
110+ 'node ' => $ node ,
101111 ]);
102112 }
103113
@@ -107,9 +117,9 @@ public function getFiles(Request $request)
107117 * @param Request $request
108118 * @return \Illuminate\Contracts\View\View
109119 */
110- public function getAddFile (Request $ request )
120+ public function getAddFile (Request $ request, $ uuid )
111121 {
112- $ server = Models \Server::getByUUID ($ request -> route ()-> server );
122+ $ server = Models \Server::getByUUID ($ uuid );
113123 $ this ->authorize ('add-files ' , $ server );
114124
115125 return view ('server.files.add ' , [
0 commit comments