From 4921931a052783914ed8a7104d40ca8868e8c646 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Fri, 28 Jul 2023 16:01:27 +0200 Subject: [minilinux] Only create new branch if it contains any versions --- modules-available/minilinux/inc/minilinux.inc.php | 29 ++++++++++++++++------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/modules-available/minilinux/inc/minilinux.inc.php b/modules-available/minilinux/inc/minilinux.inc.php index 44e8bacb..1124aa65 100644 --- a/modules-available/minilinux/inc/minilinux.inc.php +++ b/modules-available/minilinux/inc/minilinux.inc.php @@ -83,20 +83,31 @@ class MiniLinux if (!self::isValidIdPart($system['id'])) continue; $branchid = $sourceid . '/' . $system['id']; - $title = empty($system['title']) ? $branchid : $system['title']; + $title = mb_substr(empty($system['title']) ? $branchid : $system['title'], 0, 150); $description = $system['description'] ?? ''; $color = $system['color'] ?? ''; - Database::exec('INSERT INTO minilinux_branch (branchid, sourceid, title, color, description) + if (!empty($system['versions']) && is_array($system['versions'])) { + Database::exec('INSERT INTO minilinux_branch (branchid, sourceid, title, color, description) VALUES (:branchid, :sourceid, :title, :color, :description) ON DUPLICATE KEY UPDATE title = VALUES(title), color = VALUES(color), description = VALUES(description)', [ - 'branchid' => $branchid, - 'sourceid' => $sourceid, - 'title' => mb_substr($title, 0, 150), - 'color' => $color, - 'description' => $description, - ]); - if (@is_array($system['versions'])) { + 'branchid' => $branchid, + 'sourceid' => $sourceid, + 'title' => $title, + 'color' => $color, + 'description' => $description, + ]); self::addVersions($branchid, $system['versions']); + } else { + // Empty branch - only update metadata if branch exists locally + Database::exec('UPDATE minilinux_branch + SET title = :title, color = :color, description = :description + WHERE sourceid = :sourceid AND branchid = :branchid', [ + 'branchid' => $branchid, + 'sourceid' => $sourceid, + 'title' => $title, + 'color' => $color, + 'description' => $description, + ]); } } } -- cgit v1.2.3-55-g7522