summaryrefslogtreecommitdiffstats
path: root/modules-available/minilinux/inc/minilinux.inc.php
diff options
context:
space:
mode:
authorSimon Rettberg2019-10-17 14:41:03 +0200
committerSimon Rettberg2019-10-17 14:41:03 +0200
commit193b765f07543b4824950fe08d337211c2ef8a1c (patch)
tree4cb54d445e53df797bbf69297c8d360068f94fb7 /modules-available/minilinux/inc/minilinux.inc.php
parent[serversetup-bwlp-ipxe/minilinux] Implement minilinux hook for ipxe (diff)
downloadslx-admin-193b765f07543b4824950fe08d337211c2ef8a1c.tar.gz
slx-admin-193b765f07543b4824950fe08d337211c2ef8a1c.tar.xz
slx-admin-193b765f07543b4824950fe08d337211c2ef8a1c.zip
[serversetup-bwlp-ipxe/minilinux] Further improvements
* Distinction between BIOS and EFI for ipxe hook in minilinux * Debug KCL modifier customizable by update meta data * Bugfixes, minor refactoring...
Diffstat (limited to 'modules-available/minilinux/inc/minilinux.inc.php')
-rw-r--r--modules-available/minilinux/inc/minilinux.inc.php10
1 files changed, 8 insertions, 2 deletions
diff --git a/modules-available/minilinux/inc/minilinux.inc.php b/modules-available/minilinux/inc/minilinux.inc.php
index e940380c..54536096 100644
--- a/modules-available/minilinux/inc/minilinux.inc.php
+++ b/modules-available/minilinux/inc/minilinux.inc.php
@@ -62,7 +62,7 @@ class MiniLinux
EventLog::warning('Cannot download Linux version meta data for ' . $sourceid);
$lastupdate = 'lastupdate';
} else {
- if (isset($data['systems']) && is_array($data['systems'])) {
+ if (@is_array($data['systems'])) {
self::addBranches($sourceid, $data['systems']);
}
$lastupdate = 'UNIX_TIMESTAMP()';
@@ -70,6 +70,12 @@ class MiniLinux
Database::exec("UPDATE minilinux_source SET lastupdate = $lastupdate, taskid = NULL
WHERE sourceid = :sourceid AND taskid = :taskid",
['sourceid' => $sourceid, 'taskid' => $taskId]);
+ // Clean up -- delete orphaned versions that are not installed
+ $orphaned = Database::queryColumnArray('SELECT versionid FROM minilinux_version WHERE orphan > 4 AND installed = 0');
+ if (!empty($orphaned)) {
+ Database::exec('DELETE FROM minilinux_version WHERE versionid IN (:list)', ['list' => $orphaned]);
+ }
+ Database::exec('DELETE FROM minilinux_branch', [], true);
}
private static function addBranches($sourceid, $systems)
@@ -88,7 +94,7 @@ class MiniLinux
'title' => $title,
'description' => $description,
]);
- if (isset($system['versions']) && is_array($system['versions'])) {
+ if (@is_array($system['versions'])) {
self::addVersions($branchid, $system['versions']);
}
}