diff --git a/admin.php b/admin.php index 484f440..6411bdf 100644 --- a/admin.php +++ b/admin.php @@ -48,10 +48,15 @@ if ($tokenExpected === '' || !hash_equals($tokenExpected, $tokenIncoming)) { } $deployConfig = (array)($config['deploy'] ?? []); -$deployBranch = trim((string)($deployConfig['branch'] ?? 'main')); -if ($deployBranch === '') { - $deployBranch = 'main'; +$allowedDeployBranches = ['main', 'dev']; +$defaultDeployBranch = trim((string)($deployConfig['branch'] ?? 'main')); +if (!in_array($defaultDeployBranch, $allowedDeployBranches, true)) { + $defaultDeployBranch = 'main'; } +$requestedDeployBranch = trim((string)($_REQUEST['deploy_branch'] ?? '')); +$deployBranch = in_array($requestedDeployBranch, $allowedDeployBranches, true) + ? $requestedDeployBranch + : $defaultDeployBranch; $deployScript = trim((string)($deployConfig['script'] ?? (__DIR__ . '/scripts/deploy.sh'))); if ($deployScript !== '' && !str_starts_with($deployScript, '/')) { $deployScript = __DIR__ . '/' . ltrim($deployScript, '/'); @@ -167,6 +172,7 @@ function assetUrl(string $path): string { $f=__DIR__ . '/' . ltrim($path,'/'); $ .sec a.active{background:#eef4ff;color:#1f6feb} .small{font-size:12px;color:#667085} .deploy-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px} + .deploy-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap} .deploy-output{margin-top:10px;padding:10px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc;font-size:12px;white-space:pre-wrap;line-height:1.4;max-height:220px;overflow:auto} .inline-form{margin:0} .after-slot{display:flex;flex-direction:column;align-items:flex-start;gap:6px} @@ -279,10 +285,11 @@ function assetUrl(string $path): string { $f=__DIR__ . '/' . ltrim($path,'/'); $

Обновление проекта

-

Ветка:

+

Выбери ветку для проверки и обновления:

+

- Локально: · origin/: · behind: · ahead: + Локально: · origin/: · behind: · ahead:
-
+ +
- +