Script Tips


Wednesday, 28 October 2009 15:41

How to customize the WHMCS Status page

Written by 
Rate this item
(0 votes)

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.
 

Read 8782 times Last modified on Sunday, 26 April 2015 00:09

1 comment

  • Comment Link potfarmhack Saturday, 02 May 2015 04:30 posted by potfarmhack

    Greetings! I've been reading your web site for some time now and finally got the courage to go ahead and give you a shout
    out from Huffman Texas! Just wanted to tell
    you keep up the good job!

Leave a comment

Make sure you enter all the required information, indicated by an asterisk (*). HTML code is not allowed.

 

 

Script Tips Search

Registered User