function ion_AdminServicesTabFields($params) { $hostname = urlencode($params['domain']); $pid = ion_mcrypt($params['serviceid']); $fieldsarray = array(); //-------------------Server ID $ion_sid = null; $result = select_query('ion_module', 'ion_sid', array('whmcs_sid' => $params['serviceid'])); if (mysql_num_rows($result) > 0) { $ion_sid = mysql_fetch_array($result)[0]; $hash_ion_sid = ion_mcrypt($ion_sid); } $sList = APIClient::serverList(ION_API); if (key($sList) == 'error') { return ''; } $sl = ''; foreach ($sList as $v) { if ($ion_sid == $v['server_id']) { $sl .= "<option selected='selected' value='{$v['server_id']}'>{$v['server_id']} - {$v[hostname]}</option>"; } else { $sl .= "<option value='{$v['server_id']}'>{$v['server_id']} - {$v['hostname']}</option>"; } } if (is_null($ion_sid)) { return array('Server List' => '<select name="ion_sid"><option value="0">None</option>' . $sl . '</select> <span style="color: red;">* Please select associated server</span>'); } $fieldsarray['Associated Server'] = '<select name="ion_sid" style="min-width: 300px;"><option value="0">None</option>' . $sl . '</select>'; $clients = APIClient::resellerUserList(ION_API); $access = null; if (key($clients) !== 'error') { $cl = ''; $ruid = ''; $comment = '<span style="color:red;">* Required For Client VPN</span>'; $result = select_query('ion_module', 'ruid,acl', array('ion_sid' => $ion_sid, 'whmcs_sid' => $params['serviceid'])); if (mysql_num_rows($result) > 0) { $row = mysql_fetch_array($result, MYSQL_NUM); $ruid = $row[0]; $acl = unserialize($row[1]); $fvpn = $acl['vpn'] ? 'checked' : ''; $fsi = $acl['server_info'] ? 'checked' : ''; $fsos = $acl['server_os'] ? 'checked' : ''; $fgraph = $acl['bw_graph'] ? 'checked' : ''; $frdns = $acl['rdns'] ? 'checked' : ''; $fipmi = $acl['ipmi'] ? 'checked' : ''; $fstatics = $acl['bw_statics'] ? 'checked' : ''; $fip = $acl['ip'] ? 'checked' : ''; $freboot = $acl['reboot'] ? 'checked' : ''; } foreach ($clients as $v) { if ($ruid == $v['id']) { $comment = ''; $cl .= "<option selected='selected' value='{$v['id']}'>{$v['id']} - {$v['email']}</option>"; } else { $cl .= '<option value="' . $v['id'] . '">' . $v['id'] . ' - ' . $v['email'] . '</option>'; } } $access = "<label for='ch_vpn'>VPN</label> <input type='checkbox' name='ch_vpn' id='ch_vpn' {$fvpn}> <label for='ch_ipmi'>IPMI</label> <input type='checkbox' name='ch_ipmi' id='ch_ipmi' {$fipmi}> <label for='ch_graph'>Bandwidth Graph</label> <input type='checkbox' name='ch_graph' id='ch_graph' {$fgraph}> <label for='ch_statics'>Bandwidth Statics</label> <input type='checkbox' name='ch_statics' id='ch_statics' {$fstatics}> <label for='ch_os'>OS</label> <input type='checkbox' name='ch_os' id='ch_os' {$fsos}> <label for='ch_ip'>IP</label> <input type='checkbox' name='ch_ip' id='ch_ip' {$fip}> <label for='ch_reboot'>Reboot</label> <input type='checkbox' name='ch_reboot' id='ch_reboot' {$freboot}> <label for='ch_info'>Server Info</label> <input type='checkbox' name='ch_info' id='ch_info' {$fsi}> <label for='ch_rdns'>rDNS</label> <input type='checkbox' name='ch_rdns' id='ch_rdns' {$frdns}> "; $fieldsarray['Reseller User ID'] = '<select name="ruid" style="min-width: 300px;"><option value="0">None</option>' . $cl . '</select> ' . $comment; } echo '3'; $serverInfo = APIClient::serverInfo(ION_API, array('serverID' => $ion_sid)); if (key($serverInfo) != 'error') { $fieldsarray['Server Specification'] = "<table class='datatable' width='40%'><tbody><tr><th width='30%'>Name</th><th>Value</th></tr></tbody><tr><td>Hostname:</td><td>" . ion_metafilter($serverInfo['hostname']) . "</td></tr><tr><td>Chassis</td><td>" . ion_metafilter($serverInfo['chassis']) . "</td></tr><tr><td>Main board</td><td>" . ion_metafilter($serverInfo['mainboard']) . "</td></tr><tr><td>Processor</td><td>" . ion_metafilter($serverInfo['processor']) . "</td></tr><tr><td>Memory</td><td>" . ion_metafilter($serverInfo['memory']) . "</td></tr><tr><td>Total Memory</td><td>" . ion_metafilter($serverInfo['total_memory']) . "</td></tr><tr><td>Internal Hard Drive:</td><td>" . ion_metafilter($serverInfo['drive0']) . "</td></tr><tr><td>Drive1</td><td>" . ion_metafilter($serverInfo['drive1']) . "</td></tr><tr><td>Drive2</td><td>" . ion_metafilter($serverInfo['drive2']) . "</td></tr><tr><td>Drive3</td><td>" . ion_metafilter($serverInfo['drive3']) . "</td></tr><tr><td>Drive4</td><td>" . ion_metafilter($serverInfo['drive4']) . "</td></tr><tr><td>Raid Level</td><td>" . ion_metafilter($serverInfo['raid_level']) . "</td></tr><tr><td>Uplink</td><td>" . ion_metafilter($serverInfo['uplink']) . "</td></tr></table>"; } $os = APIClient::serverOS(ION_API, array('serverID' => $ion_sid)); if (key($os) != 'error') { $fieldsarray['Server OS'] = !is_array($os) ? '<b>' . $os . '</b>' : ''; } $ip = APIClient::serverAllIPs(ION_API, array('serverID' => $ion_sid)); if (key($ip) != 'error') { $ips = ''; foreach ($ip as $v) { $ips .= '<tr><td>' . $v . '</td></tr>'; } $fieldsarray['Server IPs'] = $ips != '' ? '<table class="datatable" width="50%"><tbody><tr><th width="30%">IP</th></tr></tbody>' . $ips . '</table>' : ''; } $bws = APIClient::serverBwStatics(ION_API, array('serverID' => $ion_sid, 'period' => 'current')); if (key($clients) != 'error') { $bws['method'] = $bws['method'] == '95th' ? '95th Percentile' : $bws['method']; $pbws = APIClient::serverBwStatics(ION_API, array('serverID' => $ion_sid, 'period' => 'prev')); $pbws['method'] = $pbws['method'] == '95th' ? '95th Percentile' : $pbws['method']; $bws['95th_outbound'] = formatBytes($bws['95th_outbound']); $pbws['95th_outbound'] = formatBytes($pbws['95th_outbound']); $bws['95th_inbound'] = formatBytes($bws['95th_inbound']); $pbws['95th_inbound'] = formatBytes($pbws['95th_inbound']); $bws['outbound_traffic'] = formatBytes($bws['outbound_traffic']); $pbws['outbound_traffic'] = formatBytes($pbws['outbound_traffic']); $bws['inbound_traffic'] = formatBytes($bws['inbound_traffic']); $pbws['inbound_traffic'] = formatBytes($pbws['inbound_traffic']); $fieldsarray['Bandwidth Statics'] = "<table class=\"datatable\" width='100%'><tr><th width='30%' ></th><th width='30%'>Current</th><th width='30%'>Previous</th></tr><tr><td>Date Range:</td><td>{$bws['date_range']}</td><td>{$pbws['date_range']}</td></tr><tr><td>Included Bandwidth:</td><td>{$bws['included_bandwidth']}</td><td>{$pbws['included_bandwidth']}</td></tr><tr><td>Inbound Traffic:</td><td>{$bws['inbound_traffic']}</td><td>{$pbws['inbound_traffic']}</td></tr><tr><td>Outbound Traffic:</td><td>{$bws['outbound_traffic']}</td><td>{$pbws['outbound_traffic']}</td></tr><tr><td>95th Inbound:</td><td>{$bws['95th_inbound']}</td><td>{$pbws['95th_inbound']}</td></tr><tr><td>95th Outbound:</td><td>{$bws['95th_outbound']}</td><td>{$pbws['95th_outbound']}</td></tr><tr><td>Overage Rate:</td><td>{$bws['overage_rate']}</td><td>{$pbws['overage_rate']}</td></tr></table>"; } $fieldsarray['IPMI Console'] = '<b> <input type="button" onclick="location.href=\'../modules/servers/ion/ipmi.php?hostname=' . $hostname . '&sid=' . $hash_ion_sid . '\'" value="Launch IPMI Console"> * VPN Connection is required.</b>'; $fieldsarray['Bandwidth Graph'] = '<br><script>function showGraph() {var periodel = document.getElementById("period");var gimg = document.getElementById("gimg");var url;var period = periodel.options[periodel.selectedIndex].value;gimg.src ="../modules/servers/ion/graph.php?pid=' . $pid . '&title=' . $hostname . '&period=" + period;}</script><img id="gimg" width="65%" src="../modules/servers/ion/graph.php?period=hour&title=' . $hostname . '&pid=' . $pid . '"><br><br><b>Period:</b> <select style="width: 200px;" id="period" onchange="showGraph()"><option value="hour">Hour</option><option value="day">Day</option><option value="week">Week</option><option value="month">Month</option></select><br><br>'; if (!is_null($access)) { $fieldsarray['Access List'] = $access; } return $fieldsarray; }