summaryrefslogtreecommitdiffstats
path: root/modules-available/minilinux/inc/minilinux.inc.php
diff options
context:
space:
mode:
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']);
}
}