diff options
Diffstat (limited to 'admin/api/getUpdates.php')
-rw-r--r-- | admin/api/getUpdates.php | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/admin/api/getUpdates.php b/admin/api/getUpdates.php new file mode 100644 index 0000000..57ce275 --- /dev/null +++ b/admin/api/getUpdates.php @@ -0,0 +1,26 @@ +<?php + +header("Content-Type: application/json"); +require_once $_SERVER['DOCUMENT_ROOT'] . "/admin/private/header.api.php"; + +exec("bash -c \"sudo apt-get upgrade -s| grep ^Inst\"", $ret); +$data = []; +$data["count"] = count($ret); +$data["packages"] = []; + +foreach ($ret as $package) { + $parts = explode(" ", trim($package)); + $pkg = [ + "name" => trim($parts[1]), + "version" => [ + "local" => trim(explode("]", explode("[", $parts[2])[1])[0]), + "remote" => trim(explode("(", $parts[3])[1]), + ], + "repos" => trim(explode(":", explode("(", explode("[", trim($package))[1])[1])[1]), + "architecture" => trim(explode("]", explode("[", trim($package))[2])[0]) + ]; + + $data["packages"][] = $pkg; +} + +echo(json_encode($data, JSON_PRETTY_PRINT));
\ No newline at end of file |