Customizing the WHMCS Status Page on version 5.12 and lower.
To change the status page you need to edit the template file serverstatus.tpl.
This is located under templates/default.
The lines as follows that come as the default can be changed.
<tr class="clientareatableheading">
<td>{$LANG.servername}</td>
<td>HTTP</td>
<td>FTP</td>
<td>POP3</td>
<td>{$LANG.serverstatusphpinfo}</td>
<td>{$LANG.serverstatusserverload}</td>
<td>{$LANG.serverstatusuptime}</td>
</tr>
{foreach key=num item=server from=$servers}
<tr class="clientareatableactive">
<td>{$server.name}</td>
<td>{get_port_status num="$num" port="80"}</td>
<td>{get_port_status num="$num" port="21"}</td>
<td>{get_port_status num="$num" port="110"}</td>
<td><a href="{$server.phpinfourl}" target="_blank">{$LANG.serverstatusphpinfo}</a></td>
<td>{$server.serverload}</td>
<td>{$server.uptime}</td>
</tr>
As we can see the function get_port_status is passed a port number.
So to add additional checking you only need to add another line with the port you wish to display.
I would suggest right off to remove the PHP info link as it can cause you problems with hackers.
For my servers I put
<tr class="clientareatableheading">
<td>{$LANG.servername} / Info</td>
<td>CPANEL</td>
<td>HTTP</td>
<td>FTP</td>
<td>POP3</td>
<td>MYSQL</td>
<td>WEBMAIL</td>
<td>WHM</td>
<td>PHP Ver</td>
<td>MYSQL Ver</td>
<td>{$LANG.serverstatusserverload}</td>
<td>{$LANG.serverstatusuptime}</td>
</tr>
{foreach key=num item=server from=$servers}
<td>{get_port_status num="$num" port="2082"}</td>
<td>{get_port_status num="$num" port="80"}</td>
<td>{get_port_status num="$num" port="21"}</td>
<td>{get_port_status num="$num" port="110"}</td>
<td>{get_port_status num="$num" port="3306"}</td>
<td>{get_port_status num="$num" port="2095"}</td>
<td>{get_port_status num="$num" port="2086"}</td>
<td>{$server.phpver}</td>
<td>{$server.mysqlver}</td>
<td>{$server.serverload}</td>
<td>{$server.uptime}</td>
{foreachelse}
<tr class="clientareatableactive">
<td colspan="12"><hr></td</tr>
<td colspan="7">{$LANG.serverstatusnoservers}</td>
</tr>
{/foreach}
This shows the info we would like to see but I also added a link, on my hosting site ( cw3host.com ), to view the server info via the script PHPSysinfo
The templates allow conditional processing which is really a great help to make you page do what you want.
Putting {if $server.name eq "Server1"} will control how a single server is processed in your page.
For version 5.13 it has changed.
-------------------------------------------------------------------------------------------
We now have to add lines to the javascript functions.
For instance if we want phpver we add the following to the function getStats(num)
jQuery("#phpver"+num).html(data.phpver);
Add your table header
<th class="textcenter">PHP Ver</th>
Then the table col
<td class="textcenter" id="phpver{$num}"><img src="images/loadingsml.gif" alt="{$LANG.loading}" /></td>
And that's it.
You can add ports but would need to add a line for each after the <script> at end of table ( last col )
As you can see for port 21 thay have checkPort({$num},21);
Just add a Table heading <th> and column for each port plus the checkPort function call.