Path: blob/1.0-develop/app/Http/Controllers/Admin/Nests/EggScriptController.php
10284 views
<?php12namespace Pterodactyl\Http\Controllers\Admin\Nests;34use Illuminate\View\View;5use Pterodactyl\Models\Egg;6use Illuminate\Http\RedirectResponse;7use Prologue\Alerts\AlertsMessageBag;8use Illuminate\View\Factory as ViewFactory;9use Pterodactyl\Http\Controllers\Controller;10use Pterodactyl\Services\Eggs\Scripts\InstallScriptService;11use Pterodactyl\Contracts\Repository\EggRepositoryInterface;12use Pterodactyl\Http\Requests\Admin\Egg\EggScriptFormRequest;1314class EggScriptController extends Controller15{16/**17* EggScriptController constructor.18*/19public function __construct(20protected AlertsMessageBag $alert,21protected EggRepositoryInterface $repository,22protected InstallScriptService $installScriptService,23protected ViewFactory $view,24) {25}2627/**28* Handle requests to render installation script for an Egg.29*/30public function index(int $egg): View31{32$egg = $this->repository->getWithCopyAttributes($egg);33$copy = $this->repository->findWhere([34['copy_script_from', '=', null],35['nest_id', '=', $egg->nest_id],36['id', '!=', $egg],37]);3839$rely = $this->repository->findWhere([40['copy_script_from', '=', $egg->id],41]);4243return view('admin.eggs.scripts', [44'copyFromOptions' => $copy,45'relyOnScript' => $rely,46'egg' => $egg,47]);48}4950/**51* Handle a request to update the installation script for an Egg.52*53* @throws \Pterodactyl\Exceptions\Model\DataValidationException54* @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException55* @throws \Pterodactyl\Exceptions\Service\Egg\InvalidCopyFromException56*/57public function update(EggScriptFormRequest $request, Egg $egg): RedirectResponse58{59$this->installScriptService->handle($egg, $request->normalize());60$this->alert->success(trans('admin/nests.eggs.notices.script_updated'))->flash();6162return redirect()->route('admin.nests.egg.scripts', $egg);63}64}656667