mirror of
https://github.com/unraid/webgui.git
synced 2026-01-06 01:29:54 -06:00
Add VM names to confirmation.
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
<?
|
||||
$docroot ??= ($_SERVER['DOCUMENT_ROOT'] ?: '/usr/local/emhttp');
|
||||
require_once "$docroot/webGui/include/Helpers.php";
|
||||
require_once "$docroot/plugins/dynamix.vm.manager/include/libvirt_helpers.php";
|
||||
|
||||
|
||||
function process_action($pciaddr,$action)
|
||||
@@ -30,6 +31,20 @@ function process_action($pciaddr,$action)
|
||||
}
|
||||
}
|
||||
|
||||
function build_pci_vm_map() {
|
||||
global $lv;
|
||||
$pci_device_changes = comparePCIData();
|
||||
$vms = $lv->get_domains();
|
||||
foreach ($vms as $vm) {
|
||||
$vmpciids = $lv->domain_get_vm_pciids($vm);
|
||||
foreach($vmpciids as $pciid => $pcidetail) {
|
||||
if (isset($pci_device_changes["0000:".$pciid])) {
|
||||
$pcitovm["0000:".$pciid][$vm] = $vm;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $pcitovm;
|
||||
}
|
||||
|
||||
$savedfile = "/boot/config/savedpcidata.json";
|
||||
$saved = loadSavedData($savedfile);
|
||||
@@ -38,15 +53,43 @@ $current = loadCurrentPCIData();
|
||||
$pciaddr = $_POST['pciid'];
|
||||
$action = $_POST['action']??'';
|
||||
|
||||
if ($action == 'all') {
|
||||
switch($action) {
|
||||
case "all":
|
||||
$pciaddrs = explode(";", $pciaddr);
|
||||
foreach ($pciaddrs as $pciaddraction){
|
||||
$values = explode(',',$pciaddraction);
|
||||
process_action($values[0],$values[1]);
|
||||
}
|
||||
} else {
|
||||
process_action($pciaddr,$action);
|
||||
file_put_contents($savedfile,json_encode($saved,JSON_PRETTY_PRINT));
|
||||
break;
|
||||
case "removed":
|
||||
case "added":
|
||||
case "changed":
|
||||
process_action($pciaddr,$action);
|
||||
file_put_contents($savedfile,json_encode($saved,JSON_PRETTY_PRINT));
|
||||
break;
|
||||
case "getvm":
|
||||
$pcimap = build_pci_vm_map();
|
||||
$pciaddrs = explode(";", $pciaddr);
|
||||
$vmact =[];
|
||||
|
||||
foreach ($pciaddrs as $pcidev) {
|
||||
if ($pcidev == "") continue;
|
||||
if (strpos($pcidev,",")) {
|
||||
$values = explode(',',$pcidev);
|
||||
$pcidev = $values[0];
|
||||
}
|
||||
foreach ($pcimap[$pcidev] as $key => $vmname) {
|
||||
$vmact[$vmname]= $vmname;
|
||||
}
|
||||
}
|
||||
$ret = implode(";",$vmact);
|
||||
|
||||
echo $ret;
|
||||
exit;
|
||||
|
||||
}
|
||||
|
||||
file_put_contents($savedfile,json_encode($saved,JSON_PRETTY_PRINT));
|
||||
echo "OK";
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user