/** * w3e_getNewVmidList() * * @param mixed $params * @param bool $vmid * @return */ function w3e_getNewVmidList($params, $vmid = false) { $user = $params['serverusername']; $pass = $params['serverpassword']; $host = $params['serverip']; if (!defined('W3E_SET_ERROR')) { define('W3E_SET_ERROR', 1); } $vmware = new VMware(); $vmware->setServerConfig($host, $user, $pass); $list = $vmware->getAllVmInfo(); if (!$list) { return 'FAIL'; } $allvm = array(); foreach ($list as $vm) { $allvm[$vm['vmid']] = $vm['name'] . ' (' . $vm['os'] . ')'; } if ($vmid && array_key_exists($vmid, $allvm)) { $vmidName = $allvm[$vmid]; } else { $vmidName = false; } $dbresult = select_query("mod_w3esxi", "vmid", array("serverid" => $params['serverid'])); $vmInDB = array(); while ($fetch = mysql_fetch_array($dbresult)) { $vmInDB[$fetch['vmid']] = 1; } $response = array(); $response['vmidname'] = $vmidName; $response['vmlist'] = array_diff_key($allvm, $vmInDB); asort($response['vmlist']); return $response; }
private function getVMIDlist($serverIdArr) { $servers = $this->getAllServers(false, $serverIdArr); if (!$servers || !count($servers)) { $this->setErrors('There is no active server to get vmid list', 'ERROR'); header('Location: ' . W3E_MOD_LINK . '&view=quick'); exit; } $error = false; $option = null; foreach ($servers as $s) { $sid = $s['id']; $name = $s['servername']; $user = $s['username']; $pass = decrypt($s['password']); $host = $s['ipaddress']; $option .= '<optgroup label="' . $name . '">'; $vmware = new VMware(); $vmware->setServerConfig($host, $user, $pass); $list = $vmware->getAllVmInfo(); if (!$list || !count($list)) { $this->setErrors("Cannot get vmid list from server {$name} ({$host})", 'ERROR'); $error = true; continue; } foreach ($list as $vm) { $option .= "<option value=\"{$sid}_{$vm['vmid']}\">{$vm['vmid']} - {$vm['name']}</option>\n"; } $option .= '</optgroup>'; } if (!$option) { $this->setErrors('Cannot get vmid list from servers', 'ERROR'); header('Location: ' . W3E_MOD_LINK . '&view=quick'); exit; } return $option; }