$docroot = $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"; $strSelectedTemplate = array_keys($arrAllTemplates)[1]; if (!empty($_GET['template']) && !(empty($arrAllTemplates[$_GET['template']]))) { $strSelectedTemplate = $_GET['template']; } $arrLoad = [ 'name' => '', 'icon' => $arrAllTemplates[$strSelectedTemplate]['icon'], 'autostart' => false, 'form' => $arrAllTemplates[$strSelectedTemplate]['form'], 'state' => 'shutoff' ]; $strIconURL = '/plugins/dynamix.vm.manager/templates/images/'.$arrLoad['icon']; if (!empty($_GET['uuid'])) { // Edit VM mode $res = $lv->domain_get_domain_by_uuid($_GET['uuid']); if ($res === false) { echo "
Invalid VM to edit.
"; return; } $strIconURL = $lv->domain_get_icon_url($res); $arrLoad = [ 'name' => $lv->domain_get_name($res), 'icon' => basename($strIconURL), 'autostart' => $lv->domain_get_autostart($res), 'form' => $arrAllTemplates[$strSelectedTemplate]['form'], 'state' => $lv->domain_get_state($res) ]; if (empty($_GET['template'])) { $strTemplateOS = $lv->_get_single_xpath_result($res, '//domain/metadata/*[local-name()=\'vmtemplate\']/@os'); if (empty($strTemplateOS)) { $strTemplate = $lv->_get_single_xpath_result($res, '//domain/metadata/*[local-name()=\'vmtemplate\']/@name'); if (!empty($strTemplate)) { $strSelectedTemplate = $strTemplate; } } else { // Legacy VM support for <6.2 but need it going forward too foreach ($arrAllTemplates as $strName => $arrTemplate) { if (!empty($arrTemplate) && !empty($arrTemplate['os']) && $arrTemplate['os'] == $strTemplateOS) { $strSelectedTemplate = $strName; break; } } } if (empty($strSelectedTemplate) || empty($arrAllTemplates[$strSelectedTemplate])) { $strSelectedTemplate = 'Custom'; } } $arrLoad['form'] = $arrAllTemplates[$strSelectedTemplate]['form']; } ?>