Personal tools
Namespaces

Variants
Actions

Hosting Quota Notifications For WHMCS

From ModulesGarden Wiki
(Difference between revisions)
Jump to: navigation, search
(Home)
(About Hosting Quota Notifications For WHMCS)
 
(71 intermediate revisions by 7 users not shown)
Line 17: Line 17:
 
{|
 
{|
 
|style="padding: 0px 0px 0px 45px;"|✔ By Ticket
 
|style="padding: 0px 0px 0px 45px;"|✔ By Ticket
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Display Daily Service Bandwidth And Disk Usage In Client Area
 
|}
 
|}
 
{|
 
{|
Line 32: Line 35:
 
{|
 
{|
 
|style="padding: 0px 0px 0px 60px;"|✔ Fixed - Define Resource Usage In Specific Time Periods
 
|style="padding: 0px 0px 0px 60px;"|✔ Fixed - Define Resource Usage In Specific Time Periods
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 60px;"|✔ Basic - Use Built-In WHMCS Overage Resource Usage
 
|}
 
|}
 
{|
 
{|
Line 41: Line 47:
 
{|
 
{|
 
|style="padding: 0px 0px 0px 45px;"|✔ Define Hours Interval Of Notification
 
|style="padding: 0px 0px 0px 45px;"|✔ Define Hours Interval Of Notification
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Show Resource Usage In Client Area
 
|}
 
|}
 
{|
 
{|
Line 61: Line 70:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Define Action Taken Upon Resource Value Exceeding:
+
|style="padding: 0px 0px 0px 45px;"|✔ Define Action Taken Upon Resource Usage Exceeding:
 
|}
 
|}
 
{|
 
{|
Line 101: Line 110:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 5.6 Up To PHP 7.2
+
|style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 8.1 Back To PHP 7.4
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 30px;"|✔ Supports WHMCS V7.2 And Later
+
|style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS V8.10 Back To WHMCS V8.6
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Requires ionCube Loader V12 Or Later
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 30px;"|✔ Easy [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module Module Upgrade] To [https://www.modulesgarden.com/products/whmcs/hosting-quota-notifications#open-source-version Open Source Version]
 
|}
 
|}
  
 
=Installation=
 
=Installation=
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|'''This tutorial will show you how to successfully install and configure Hosting Quota Notifications For WHMCS.''' <br />
+
|style="padding: 10px 0px 30px 15px;"|'''This tutorial will show you how to successfully install and configure [https://www.modulesgarden.com/products/whmcs/hosting-quota-notifications Hosting Quota Notifications For WHMCS.]''' <br />
 
We will guide you step by step through the whole installation and configuration process.<br /><br />
 
We will guide you step by step through the whole installation and configuration process.<br /><br />
 
'' '''Note:''' If you are still using any versions of Hosting Quota Notifications For WHMCS '''prior to v2.x''', [https://www.docs.modulesgarden.com/Hosting_Quota_Notifications_1.X_For_WHMCS read about it here].''
 
'' '''Note:''' If you are still using any versions of Hosting Quota Notifications For WHMCS '''prior to v2.x''', [https://www.docs.modulesgarden.com/Hosting_Quota_Notifications_1.X_For_WHMCS read about it here].''
Line 121: Line 136:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''2. In the downloaded file you will find two packages that support different PHP versions.'''<br/>As presented on the screen below, the first one is dedicated to PHP 5.6 up to PHP 7.0, while the second one is aimed at PHP 7.1 up to PHP 7.2.<br/>It does not apply to open source versions.<br/>
+
|style="padding: 0px 0px 15px 15px;"|'''2. In the downloaded file you might find one or two packages that support different PHP versions.'''<br/>
'' '''Note''': You can check the current PHP version in your WHMCS. To do so, proceed to ''' 'Utilities' → 'System' → 'PHP Info'.'''
+
In the most recent versions of the module, you will find only one package that supports PHP 7.4 and later.<br/> <!-- If you need a package for the previous versions of PHP, please [https://www.modulesgarden.com/support/ticket/general-support contact our support]. -->
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PHP56_72.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:PHP74_81.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''3. Extract the downloaded file and choose the one with the right PHP version. Upload and extract the PHP file into the main WHMCS directory.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''Previous updates of the module may contain two packages dedicated to various PHP versions.'''<br/>
The content of PHP version files should look like this.  
+
The first one that supports PHP 5.6 up to PHP 7.0, and the second one addressed to PHP 7.1 up to PHP 7.2.<br/>
 +
'''''Note:''' Keep in mind that PHP versions 5.6 up to 7.3 are no longer officially supported and their security issues are not fixed or released any more. Find more info [http://php.net/supported-versions.php here].''<br/>
 +
'''''Note 2:''' You can check the current PHP version in your WHMCS. To do so, proceed to ''' 'Utilities' → 'System' → 'PHP Info'.''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|'''3. Extract the package and upload its content into the main WHMCS directory.<br/>
 +
The content of the package to upload should look like this.
 
|}
 
|}
 
{|
 
{|
Line 135: Line 156:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''4. When you install Hosting Quota Notifications For WHMCS for the first time you have to rename '' 'license_RENAME.php' '' file.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''4. When you install Hosting Quota Notifications For WHMCS for the first time you have to rename the '' 'license_RENAME.php' '' file.'''<br />
File is located in '' 'modules/addons/hosting_quota_notifications/license_RENAME.php' '' . Rename it from '' 'license_RENAME.php' '' to '' 'license.php' '' .
+
The file is located in '' 'modules/addons/hosting_quota_notifications/license_RENAME.php' '' . Rename it from '' 'license_RENAME.php' '' to '' 'license.php' '' .
 
|}
 
|}
 
{|
 
{|
Line 142: Line 163:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''5. In order to configure your license key, you have to edit a previously renamed '' 'license.php' '' file.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''5. In order to configure your license key, you have to edit the previously renamed '' 'license.php' '' file.'''<br />
 
Enter your license key between quotation marks as presented on the following screen. You can find your license key in our client area'' → 'My Products' ''.  
 
Enter your license key between quotation marks as presented on the following screen. You can find your license key in our client area'' → 'My Products' ''.  
 
|}
 
|}
Line 159: Line 180:
 
{|
 
{|
 
|style="padding: 10px 0px 15px 15px;"|'''7. Now you have to activate the module in your WHMCS system.'''<br />
 
|style="padding: 10px 0px 15px 15px;"|'''7. Now you have to activate the module in your WHMCS system.'''<br />
Log in to your WHMCS admin area. Go to '' 'Setup' '' → '' 'Addon Modules' ''. Afterwards, find '' 'Hosting Quota Notifications' '' and press '' 'Activate' '' button.
+
Log in to your WHMCS admin area. Go to '' 'Setup' '' → '' 'Addon Modules' ''. Afterwards, find '' 'Hosting Quota Notifications' '' and press the '' 'Activate' '' button.
 
|}
 
|}
 
{|
 
{|
Line 166: Line 187:
 
{|
 
{|
 
|style="padding: 0px 0px 15px 15px;"|'''8. In the next step you need to permit access to this module.'''<br />
 
|style="padding: 0px 0px 15px 15px;"|'''8. In the next step you need to permit access to this module.'''<br />
To do so click on '' 'Configure' '' button, tick '' 'Access Control' '' near required admin role groups and press '' 'Save Changes'. ''
+
To do so click the '' 'Configure' '' button, tick '' 'Access Control' '' near required admin role groups and press '' 'Save Changes'. ''
 
|}
 
|}
 
{|
 
{|
Line 183: Line 204:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:HQN2_8.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:HQN2_8.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 15px;"|'''11. Apart from the described above module cron you may also wish to configure two extra cron jobs related to collecting usage data and sending notifications.'''<br/> Here are the details:
 +
* Usage Update cron job ''(30 minutes interval is suggested):'' 
 +
php -q public_html/modules/addons/hosting_quota_notifications/cron/cron.php UsageUpdate 
 +
* Sending Notifications cron job ''(5 minutes interval is suggested):'' 
 +
  php -q public_html/modules/addons/hosting_quota_notifications/cron/cron.php NotificationSend 
 
|}
 
|}
  
Line 216: Line 244:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Start with  typing a custom name, selecting the usage calculating type: '' 'Tiered' '' or '' 'Fixed' '' (read more about these two methods [[#Calculation Methods|here]]).<br/> Select your products that this rule will cover.
+
|style="padding: 0px 0px 15px 15px;"|Start with  typing a custom name, selecting the usage calculating type: '' 'Tiered', 'Fixed' '' or '' 'Basic' '' (read more about these two methods [[#Calculation Methods|here]]).<br/> Choose your products that this rule will cover.
 
|}
 
|}
 
{|
 
{|
Line 224: Line 252:
 
|style="padding: 0px 0px 15px 15px;"|Once you have saved the changes, you will be moved to the rule configuration page.<br/>
 
|style="padding: 0px 0px 15px 15px;"|Once you have saved the changes, you will be moved to the rule configuration page.<br/>
 
Here you may:
 
Here you may:
*Set the status of the rule to '' 'enabled' '' or '' 'disabled' ''
+
*Set the status of the rule to '' 'enabled' '' or '' 'disabled'.''
*Change the name of the rule
+
*Change the name of the rule.
*Manage the types: '' 'Tiered' '' or '' 'Fixed' ''
+
*Manage the types: '' 'Tiered' '' or '' 'Fixed'.''
*Assign products from available
+
*Assign products from available.
*Select a default email template that will be sent to a client with notification. Set to '' 'None' '' to disable the option.<br/> You may use the predefined custom template ''('Service Usage Limits Notification')'' implemented in the module or prepare your custom one. Find out more in [[#Tips|this section]].  
+
*Select a default email template that will be sent to a client with a notification. Set to '' 'None' '' to disable the option.<br/> You may use the predefined custom template ''('Service Usage Limits Notification')'' implemented in the module or prepare your custom one. Find out more in [[#Tips|this section]].  
*Set notification hourly interval to send the notifications.<br/>
+
*Set notification hourly intervals to send the notifications.<br/>
 
Save the changes when ready.
 
Save the changes when ready.
 
|}
 
|}
Line 246: Line 274:
 
{|
 
{|
 
|style="padding: 0px 0px 15px 15px;"|
 
|style="padding: 0px 0px 15px 15px;"|
*Start with selecting a '''Unit''' type: '' 'MB', 'GB', 'TB' '' or '' 'Percentage' ''  
+
*Start with selecting a '''Unit''' type: '' 'MB', 'GB', 'TB' '' or '' 'Percentage' ''.
 
*Provide numerical value, e.g.: 20 (depending on the unit selected it will be: 20MB, 20% etc.)
 
*Provide numerical value, e.g.: 20 (depending on the unit selected it will be: 20MB, 20% etc.)
*Period (Days) - number of days when the resource usage will be verified - '''(Fixed type only)'''
+
*Period - enter a number of days when the service usage will be counted.
*Email Template - select one per single step, if you choose '' 'default' '' then the one selected at the rule configuration will be used. Set to '' 'None' '' to disable the option.
+
*Email Template - select one per single step, if you choose '' 'default' '' then the one selected at the rule configuration will be used. Choose '' 'None' '' to disable the option.
*[[#Ticket Templates|Ticket Template]] - if you want to notify a client in form of an opened ticket, select the template here or set to '' 'None' '' to disable  
+
*[[#Ticket Templates|Ticket Template]] - if you want to notify a client in form of an opened ticket, select the template here or set to '' 'None' '' to disable.
 +
*Ticket Status - select a ticket status that will be set after opening a ticket.
 
*Action - you may automatically '' 'Terminate' '' or '' 'Suspend' '' a service once selected limit has been reached.<br/> Set to '' 'None' '' if you do not want to trigger any action on the service.
 
*Action - you may automatically '' 'Terminate' '' or '' 'Suspend' '' a service once selected limit has been reached.<br/> Set to '' 'None' '' if you do not want to trigger any action on the service.
 
|}
 
|}
Line 258: Line 287:
 
{|
 
{|
 
|style="padding: 0px 0px 15px 15px;"|Surely, you may add more steps for the same rule and force different actions on the services.<br/>
 
|style="padding: 0px 0px 15px 15px;"|Surely, you may add more steps for the same rule and force different actions on the services.<br/>
You may edit the steps if needed or delete.
+
You may edit the steps if needed or delete them.
 
|}
 
|}
 
{|
 
{|
Line 272: Line 301:
 
====Calculation Methods====
 
====Calculation Methods====
 
{|
 
{|
|style="padding: 10px 0px 5px 15px;"|As mentioned above, here are two calculation types available: '' 'Fixed' '' and '' 'Tiered'. '' We will try to explain now the main differences between them and show an example of a full calculation.
+
|style="padding: 10px 0px 5px 15px;"|As mentioned above, there are three calculation types available: '' 'Fixed', 'Tiered' '' and '' 'Basic'.'' We will try to explain now the main differences between them and show example of a full calculation.
*'''Fixed''' type - resource usage calculated within a selected time period defined in the '' 'Period (Days)' '' field
+
*'''Fixed''' type - resource usage calculated within a selected time period defined in the '' 'Period (Days)' '' field.
*'''Tiered''' type - full amount of resource usage
+
*'''Tiered''' type - full amount of resource usage.
 +
*'''Basic''' type - calculating resource overages, based on the current data from the WHMCS disk space and bandwidth overage billing.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 5px 15px;"|Take a look at the table below to see the differences between the two types.
+
|style="padding: 0px 0px 5px 15px;"|Look at the table below to see the differences between these two types.
 
|}
 
|}
 
{|class="wikitable"  style="margin-left: 25px; width: 15%;"
 
{|class="wikitable"  style="margin-left: 25px; width: 15%;"
Line 303: Line 333:
 
|style="padding: 0px 0px 10px 15px;"|
 
|style="padding: 0px 0px 10px 15px;"|
 
*For '''Tiered''' type:<br/>Value: 40 MB<br/>Take the sum of values from the entire ''Usage'' column, 45 MB in this case.<br/> 40 MB limit has been exceeded, therefore a notification is sent.
 
*For '''Tiered''' type:<br/>Value: 40 MB<br/>Take the sum of values from the entire ''Usage'' column, 45 MB in this case.<br/> 40 MB limit has been exceeded, therefore a notification is sent.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 10px 15px;"|
 +
*For '''Basic''' type:<br/>Period: 4th day<br/>Value: 5MB<br/> The administrator will see the same data as displayed on the product page, base on the WHMCS disk space and bandwidth overage billing feature  ''(the module fetches the value from the '''tblhosting''' usage database table)''.<br/> On the fourth day, the displayed usage value will equal in this sexample: '''5 MB'''
 
|}
 
|}
 
{|
 
{|
Line 312: Line 346:
 
==Ticket Templates==
 
==Ticket Templates==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Ticket Templates section gives you the opportunity to create as many templates that will be used to open informative tickets as needed.<br/> Press '' 'Add Ticket Template' '' to create one.
+
|style="padding: 10px 0px 15px 15px;"|The '' 'Ticket Templates' '' section gives you the opportunity to create as many templates that will be used to open informative tickets as needed.<br/> Press '' 'Add Ticket Template' '' to create one.
 
|}
 
|}
 
{|
 
{|
Line 319: Line 353:
 
{|
 
{|
 
|style="padding: 0px 0px 15px 15px;"|Type in the ticket template name, select a support department and support administrator to which the ticket will be automatically assigned.<br/>
 
|style="padding: 0px 0px 15px 15px;"|Type in the ticket template name, select a support department and support administrator to which the ticket will be automatically assigned.<br/>
Save changes.
+
When ready, save changes.
 
|}
 
|}
 
{|
 
{|
Line 325: Line 359:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|You will be immediately moved to the template configuration page where you can again rename it and change the department.
+
|style="padding: 0px 0px 15px 15px;"|You will be immediately moved to the template configuration page where you can again rename it as well as change the department.
 
|}
 
|}
 
{|
 
{|
Line 340: Line 374:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Enter the template name, select language and type in the text in the '' 'Message' '' text field.<br/> If you select default language, then this template will be used in case there is no translation in the client's language.
+
|style="padding: 0px 0px 20px 15px;"|Enter a template name, select language and type in the text in the '' 'Message' '' text field.<br/> If you select default language, then this template will be used in case there is no translation in the client's language.
 
|}
 
|}
 
{|
 
{|
Line 346: Line 380:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|There are numerous merge fields that you may use in the message to make it full and most informative.<br/> As you can see, at the bottom there is a list of special merge fields specially designated for notifications. These are:<br/>
+
|style="padding: 0px 0px 15px 15px;"|There are numerous merge fields that you may use in the message to make it full and most informative.<br/> As you can see at the bottom, there is a list of special merge fields particularly designated for notifications. These are:<br/>
*Notification Limit - displays the allowed resource usage limit
+
*Notification Limit - displays the allowed resource usage limit.
*Notification Usage - stands for the current resource usage of the client service
+
*Notification Usage - stands for the current resource usage of the client service.
*Notification Kind - returned as ''Bandwidth'' or ''Usage''
+
*Notification Kind - returned as ''Bandwidth'' or ''Usage''.
*Notification Unit - returned as ''MB, GB'' or ''TB''
+
*Notification Unit - returned as ''MB, GB'' or ''TB''.
*Notification DifferenceUsageAndLimit - amount by which the limit has been exceeded
+
*Notification DifferenceUsageAndLimit - amount by which the limit has been exceeded.
*Notification PeriodDays - period of days when the usage is verified defined for '' 'Fixed' '' type
+
*Notification PeriodDays - period of days when the usage is verified defined for '' 'Fixed' '' type.
 
|}
 
|}
 
{|
 
{|
Line 364: Line 398:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|That is how such an automatically opened ticket may look like in your client's area.
+
|style="padding: 0px 0px 15px 15px;"|That is what such an automatically opened ticket may look like in your client area.
 
|}
 
|}
 
{|
 
{|
Line 380: Line 414:
 
{|
 
{|
 
|style="padding: 0px 0px 15px 15px;"|Check out the statistics on the disk and bandwidth usage per single product.<br/>
 
|style="padding: 0px 0px 15px 15px;"|Check out the statistics on the disk and bandwidth usage per single product.<br/>
Please note that WHCMS updates the quote and traffic load once a day only.
+
Please note that WHMCS updates the quote and traffic load once a day only.
 
|}
 
|}
 
{|
 
{|
Line 388: Line 422:
 
==Logs==
 
==Logs==
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|Under '' 'Logs' '' page you can view information about sent notifications via email, opened tickets, errors, performed actions etc.
+
|style="padding: 10px 0px 20px 15px;"|Under the '' 'Logs' '' page you can view information about sent notifications via email, opened tickets, errors, performed actions etc.
 
|}
 
|}
 
{|
 
{|
Line 398: Line 432:
 
|style="padding: 10px 0px 10px 15px;"|1. There is one default email template that may be used to send email notifications. Find '' 'Service Usage Limits Notification' '' at ''WHMCS → Setup → Email Templates → Product/Service Messages''.<br/>
 
|style="padding: 10px 0px 10px 15px;"|1. There is one default email template that may be used to send email notifications. Find '' 'Service Usage Limits Notification' '' at ''WHMCS → Setup → Email Templates → Product/Service Messages''.<br/>
 
You may edit the template freely, using special merge fields and create new ones on its basis. Allowed module special merge fields:
 
You may edit the template freely, using special merge fields and create new ones on its basis. Allowed module special merge fields:
*{$kind} - stands for bandwidth or usage  
+
*{$kind} - stands for bandwidth or usage.
*{$limit} - allowed resource usage limit
+
*{$limit} - allowed resource usage limit.
*{$unit} - MB,GB or TB
+
*{$unit} - MB,GB or TB.
*{$usage} - current resource usage of the client
+
*{$usage} - current resource usage of the client.
*{$differenceUsageAndLimit} - amount by which the limit has been exceeded
+
*{$differenceUsageAndLimit} - amount by which the limit has been exceeded.
*{$periodDays} - period of days defined for '' 'Fixed' '' type
+
*{$periodDays} - period of days defined for '' 'Fixed' '' type.
 
|}
 
|}
 
{|
 
{|
Line 409: Line 443:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 15px;"|That is how the email message may look like when delivered:  
+
|style="padding: 0px 0px 10px 15px;"|That is what the email message may look like when delivered:  
 
|}
 
|}
 
{|
 
{|
Line 415: Line 449:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|2. When configuring a ticklet template you need to select an admin to which it will be assigned. However, the ticket will be automatically opened by a randomly selected administartor.
+
|style="padding: 0px 0px 10px 15px;"|2. When configuring a ticket template you need to select an admin to which it will be assigned. However, the ticket will be automatically opened by a randomly selected administrator.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 15px;"|3. There is the possibility to limit '' 'Logs' '' to a particular number of days. With the following cron command, you can delete '' 'Logs' '' older than X days. <br/> As an example, we want to remove '' 'Logs' '' older than '''2''' days. Of course, you can provide any number of days.
 +
<pre>php -q /yourWHMCS/modules/addons/hosting_quota_notifications/cron/cron.php DeleteLogs --older-than 2 </pre>
 +
Please remember that if you do not define a number of days, the cron task will automatically set the default number of days which is 1. It means that '' 'Logs' '' older than 1 day will be removed.
 
|}
 
|}
  
 
=Update Instructions=
 
=Update Instructions=
 
{|
 
{|
|style="padding: 10px 0px 10px 15px;"|Essential guidance through the process of updating the module is offered '''[https://www.docs.modulesgarden.com/How_To_Update_WHMCS_Module here]'''.<br/><br/>
+
|style="padding: 10px 0px 10px 15px;"|An essential guidance through the process of updating the module is offered '''[https://www.docs.modulesgarden.com/How_To_Update_WHMCS_Module here]'''.
Keep in mind there is a quick and easy option in our client area that will let you upgrade the license of your module to an open source version at any time - and at a lower price!<br/>
+
To take advantage of it, simply use the '''License Upgrade''' button located on the product's page and a discounted invoice will be generated automatically.<br/>
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|'''Important'''<br/>
+
|style="padding: 0px 0px 30px 15px;"|'''''Important:''' If you are updating your Hosting Quota Notifications module form version 1.0.0 to 1.1.0 please be noted that '''all data except logs will be migrated'''.<br/>
If you are updating your Hosting Quota Notifications module form version 1.0.0 to 1.1.0 please be noted that '''all data except logs will be migrated'''.<br/>
+
Keep in mind that '' 'Groups' '' used in version 1.0.0 have now been renamed to '' 'Rules'. ''  
Keep in mind that '' 'Groups' '' used in version 1.0.0 have naw been renamed to '' 'Rules'. ''  
+
|}
 +
=Upgrade Guide=
 +
{|
 +
|style="padding: 10px 0px 30px 15px;"|Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability?<br/> There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment.<br/>
 +
 
 +
Opt for the [https://www.modulesgarden.com/products/whmcs/hosting-quota-notifications#open-source-version Open Source version] of your Hosting Quota Notifications For WHMCS module to unlock these benefits.<br/> Simply click on either the '''Get Source Code''' or '''Upgrade To Lifetime''' button found on the product's page in our client area to complete the one-step upgrade process, with a '''dedicated discount''' already applied.<br/>
 +
 
 +
Follow a [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module comprehensive guide] covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized.
 
|}
 
|}
  
 
=Common Problems=
 
=Common Problems=
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|'''1. When you have problems with connection, check whether your SELinux or firewall does not block ports.'''
+
|style="padding: 10px 0px 10px 15px;"|'''1. When you have problems with connection, check whether your SELinux or firewall does not block ports.'''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 15px;"|2. We do not recommend using Hosting Quota Notifications For WHMCS module either with Multibrand For WHMCS or with Resellers Center For WHMCS.<br/>
 +
Integration between these modules is hampered due to specific features of each one of them and their individual work flow.
 
|}
 
|}

Latest revision as of 13:54, 26 April 2024

Contents

[edit] About Hosting Quota Notifications For WHMCS

Hosting Quota Notifications For WHMCS allows to define rules on clients' services bandwidth and disk usage limits according to which automatic email notifications can be sent and tickets opened
to let the clients know they have exceed the previously set service usage.

Prepare ticket templates and their translations, use default email template or prepare your custom ones.

  • Module:
✔ Send Automated Notifications To Clients When They Exceed Defined Bandwidth And Disk Usage:
✔ By Email
✔ By Ticket
✔ Display Daily Service Bandwidth And Disk Usage In Client Area
✔ Configure Notification Rules:
✔ Enable/Disable Notification Rules
✔ Choose Between Two Types Of Overages Calculation:
✔ Tiered - Define Tiers Of Resource Usage
✔ Fixed - Define Resource Usage In Specific Time Periods
✔ Basic - Use Built-In WHMCS Overage Resource Usage
✔ Assign Multiple Products To Single Notification Rule
✔ Assign Default Email Template
✔ Define Hours Interval Of Notification
✔ Show Resource Usage In Client Area
✔ Configure Steps Per Disk And Bandwidth Rule:
✔ Define Resource Overage Values:
✔ In Specific Unit (MB, GB, TB)
✔ Based On Percentage Value Of WHMCS Soft Limit
✔ Assign Email And Ticket Templates Per Notification Rule Step
✔ Define Time Period Of Overage Calculation For Fixed Rule Step
✔ Define Action Taken Upon Resource Usage Exceeding:
✔ None
✔ Auto-Suspend Product
✔ Auto-Terminate Product
✔ Configure Ticket Templates In Multiple Languages
✔ View Daily Usage Of Specific Service
✔ View Today, Last Week And Last Month Statistics Of:
✔ Sent Email Notifications
✔ Opened Tickets
✔ Suspended Services
✔ Terminated Services
✔ View Logs Of Sent Notifications, Opened Tickets And Performed Actions
  • General Info:
✔ Multi-Language Support
✔ Supports PHP 8.1 Back To PHP 7.4
✔ Supports WHMCS V8.10 Back To WHMCS V8.6
✔ Requires ionCube Loader V12 Or Later
✔ Easy Module Upgrade To Open Source Version

[edit] Installation

This tutorial will show you how to successfully install and configure Hosting Quota Notifications For WHMCS.

We will guide you step by step through the whole installation and configuration process.

Note: If you are still using any versions of Hosting Quota Notifications For WHMCS prior to v2.x, read about it here.

[edit] Installation

1. Log in to our client area and download the module.
HQN2 1.png
2. In the downloaded file you might find one or two packages that support different PHP versions.

In the most recent versions of the module, you will find only one package that supports PHP 7.4 and later.

PHP74 81.png
Previous updates of the module may contain two packages dedicated to various PHP versions.

The first one that supports PHP 5.6 up to PHP 7.0, and the second one addressed to PHP 7.1 up to PHP 7.2.
Note: Keep in mind that PHP versions 5.6 up to 7.3 are no longer officially supported and their security issues are not fixed or released any more. Find more info here.
Note 2: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' → 'System' → 'PHP Info'.

3. Extract the package and upload its content into the main WHMCS directory.

The content of the package to upload should look like this.

HQN2 2 1.png
4. When you install Hosting Quota Notifications For WHMCS for the first time you have to rename the 'license_RENAME.php' file.

The file is located in 'modules/addons/hosting_quota_notifications/license_RENAME.php' . Rename it from 'license_RENAME.php' to 'license.php' .

HQN 3.png
5. In order to configure your license key, you have to edit the previously renamed 'license.php' file.

Enter your license key between quotation marks as presented on the following screen. You can find your license key in our client area → 'My Products' .

HQN 4.png
6. In the next step, set up the 'storage' folder as recursively writable.

This folder is available at 'yourWHMCS/modules/addons/hosting_quota_notifications/'.

HQN2 4 1.png

[edit] Configuration of Addon

7. Now you have to activate the module in your WHMCS system.

Log in to your WHMCS admin area. Go to 'Setup' 'Addon Modules' . Afterwards, find 'Hosting Quota Notifications' and press the 'Activate' button.

HQN2 5.png
8. In the next step you need to permit access to this module.

To do so click the 'Configure' button, tick 'Access Control' near required admin role groups and press 'Save Changes'.

HQN2 6.png
9. You have just successfully installed Hosting Quota Notifications For WHMCS!

You can access your module at 'Addons' 'Hosting Quota Notifications'.

HQN2 7.png
10. The last thing you still need to do before starting to use the module with its full potential is setting up a cron command line.
You will find the cron line in the addon 'Home' page.

One hour interval is suggested (due to hourly sent notifications).

HQN2 8.png
11. Apart from the described above module cron you may also wish to configure two extra cron jobs related to collecting usage data and sending notifications.
Here are the details:
  • Usage Update cron job (30 minutes interval is suggested):
php -q public_html/modules/addons/hosting_quota_notifications/cron/cron.php UsageUpdate   
  • Sending Notifications cron job (5 minutes interval is suggested):
 php -q public_html/modules/addons/hosting_quota_notifications/cron/cron.php NotificationSend  

[edit] Configuration and Management

In this section we will show you how to properly set up and use Hosting Quota Notifications For WHMCS to its full potential.

[edit] Home

Dashboard of the addon includes statistics on the module actions attempts, either successful or failed.
  • Successful actions - marked in green - take a look at the number of emails sent, tickets opened and products suspended or terminated in the provided time periods.
  • Failed actions - marked in red - the module could not perform enumerated here actions due to external issues, for example: server errors (cannot suspend account), SMTP errors (cannot deliver email), etc.
    For more details on failed actions please refer to the logs section.
HQN2 29.png

[edit] Rules

This is a primary section which allows to create numerous rules according to which the services resource usage will be monitored and calculated and then adequate notifications sent.
HQN2 9.png

[edit] Rule Configuration

Let us begin with creating an exemplary rule according to which disk usage of selected service will be checked.
Press 'Add Rule'.
HQN2 10.png
Start with typing a custom name, selecting the usage calculating type: 'Tiered', 'Fixed' or 'Basic' (read more about these two methods here).
Choose your products that this rule will cover.
HQN2 11.png
Once you have saved the changes, you will be moved to the rule configuration page.

Here you may:

  • Set the status of the rule to 'enabled' or 'disabled'.
  • Change the name of the rule.
  • Manage the types: 'Tiered' or 'Fixed'.
  • Assign products from available.
  • Select a default email template that will be sent to a client with a notification. Set to 'None' to disable the option.
    You may use the predefined custom template ('Service Usage Limits Notification') implemented in the module or prepare your custom one. Find out more in this section.
  • Set notification hourly intervals to send the notifications.

Save the changes when ready.

HQN2 12.png

[edit] Steps Configuration

Move to the next tab - 'Disk' to define steps conforming to which the usage will be verified.

Press 'Add Step' to begin.

HQN2 13.png
  • Start with selecting a Unit type: 'MB', 'GB', 'TB' or 'Percentage' .
  • Provide numerical value, e.g.: 20 (depending on the unit selected it will be: 20MB, 20% etc.)
  • Period - enter a number of days when the service usage will be counted.
  • Email Template - select one per single step, if you choose 'default' then the one selected at the rule configuration will be used. Choose 'None' to disable the option.
  • Ticket Template - if you want to notify a client in form of an opened ticket, select the template here or set to 'None' to disable.
  • Ticket Status - select a ticket status that will be set after opening a ticket.
  • Action - you may automatically 'Terminate' or 'Suspend' a service once selected limit has been reached.
    Set to 'None' if you do not want to trigger any action on the service.
HQN2 14.png
Surely, you may add more steps for the same rule and force different actions on the services.

You may edit the steps if needed or delete them.

HQN2 15.png
Configure the steps for 'Bandwidth' usage limits in the very same way as in case of the described above 'Disk'.
HQN2 16.png

[edit] Calculation Methods

As mentioned above, there are three calculation types available: 'Fixed', 'Tiered' and 'Basic'. We will try to explain now the main differences between them and show example of a full calculation.
  • Fixed type - resource usage calculated within a selected time period defined in the 'Period (Days)' field.
  • Tiered type - full amount of resource usage.
  • Basic type - calculating resource overages, based on the current data from the WHMCS disk space and bandwidth overage billing.
Look at the table below to see the differences between these two types.
Day Usage
Day 1 10 MB
Day 2 20 MB
Day 3 10 MB
Day 4 5 MB
  • For Fixed type:
    Period: Last 3 days
    Value: 30 MB
    Take the three last values from the Usage column, the sum of 20, 10 and 5 gives 35.
    30 MB limit has been exceeded during 3 days, therefore a notification is sent.
  • For Tiered type:
    Value: 40 MB
    Take the sum of values from the entire Usage column, 45 MB in this case.
    40 MB limit has been exceeded, therefore a notification is sent.
  • For Basic type:
    Period: 4th day
    Value: 5MB
    The administrator will see the same data as displayed on the product page, base on the WHMCS disk space and bandwidth overage billing feature (the module fetches the value from the tblhosting usage database table).
    On the fourth day, the displayed usage value will equal in this sexample: 5 MB
Apart from the calculation type, you must also select a unit - MB, GB, TB or percentage.
  • If you select any of MB, GB, TB and 20 as value, such amount of resource usage will be taken into consideration for every assigned product.
  • If you select 'Percentage' and 20 as value, then 20% of the set in WHMCS soft limit will be taken into consideration for every assigned product.
    For example, if in WHMCS the service limit is set to 100 MB, then 20% calculated from 100 gives 20 MB - this amount of resource will be considered for this single product.

[edit] Ticket Templates

The 'Ticket Templates' section gives you the opportunity to create as many templates that will be used to open informative tickets as needed.
Press 'Add Ticket Template' to create one.
HQN2 17.png
Type in the ticket template name, select a support department and support administrator to which the ticket will be automatically assigned.

When ready, save changes.

HQN2 18.png
You will be immediately moved to the template configuration page where you can again rename it as well as change the department.
HQN2 19.png

[edit] Ticket Template Translations

Next, you need to proceed to the 'Template Translation' section. There you can provide the content of the template.

Press 'Add Template Translation'.

HQN2 21.png
Enter a template name, select language and type in the text in the 'Message' text field.
If you select default language, then this template will be used in case there is no translation in the client's language.
HQN2 22.png
There are numerous merge fields that you may use in the message to make it full and most informative.
As you can see at the bottom, there is a list of special merge fields particularly designated for notifications. These are:
  • Notification Limit - displays the allowed resource usage limit.
  • Notification Usage - stands for the current resource usage of the client service.
  • Notification Kind - returned as Bandwidth or Usage.
  • Notification Unit - returned as MB, GB or TB.
  • Notification DifferenceUsageAndLimit - amount by which the limit has been exceeded.
  • Notification PeriodDays - period of days when the usage is verified defined for 'Fixed' type.
HQN2 23.png
Use action buttons to edit or delete the template translations.
HQN2 24.png
That is what such an automatically opened ticket may look like in your client area.
HQN2 24 1.png

[edit] Services

Another section that we need to draw your attention to is called 'Services'.
You will find there products which are included in any of your configured rules with disk or bandwidth usage.

Press the icon marked on the screen below and you will get details on the current resource usage of the service per each day.

HQN2 25.png
Check out the statistics on the disk and bandwidth usage per single product.

Please note that WHMCS updates the quote and traffic load once a day only.

HQN2 26.png

[edit] Logs

Under the 'Logs' page you can view information about sent notifications via email, opened tickets, errors, performed actions etc.
HQN2 27.png

[edit] Tips

1. There is one default email template that may be used to send email notifications. Find 'Service Usage Limits Notification' at WHMCS → Setup → Email Templates → Product/Service Messages.

You may edit the template freely, using special merge fields and create new ones on its basis. Allowed module special merge fields:

  • {$kind} - stands for bandwidth or usage.
  • {$limit} - allowed resource usage limit.
  • {$unit} - MB,GB or TB.
  • {$usage} - current resource usage of the client.
  • {$differenceUsageAndLimit} - amount by which the limit has been exceeded.
  • {$periodDays} - period of days defined for 'Fixed' type.
HQN2 30.png
That is what the email message may look like when delivered:
HQN2 28.png
2. When configuring a ticket template you need to select an admin to which it will be assigned. However, the ticket will be automatically opened by a randomly selected administrator.
3. There is the possibility to limit 'Logs' to a particular number of days. With the following cron command, you can delete 'Logs' older than X days.
As an example, we want to remove 'Logs' older than 2 days. Of course, you can provide any number of days.
php -q /yourWHMCS/modules/addons/hosting_quota_notifications/cron/cron.php DeleteLogs --older-than 2 

Please remember that if you do not define a number of days, the cron task will automatically set the default number of days which is 1. It means that 'Logs' older than 1 day will be removed.

[edit] Update Instructions

An essential guidance through the process of updating the module is offered here.
Important: If you are updating your Hosting Quota Notifications module form version 1.0.0 to 1.1.0 please be noted that all data except logs will be migrated.

Keep in mind that 'Groups' used in version 1.0.0 have now been renamed to 'Rules'.

[edit] Upgrade Guide

Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability?
There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment.

Opt for the Open Source version of your Hosting Quota Notifications For WHMCS module to unlock these benefits.
Simply click on either the Get Source Code or Upgrade To Lifetime button found on the product's page in our client area to complete the one-step upgrade process, with a dedicated discount already applied.

Follow a comprehensive guide covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized.

[edit] Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
2. We do not recommend using Hosting Quota Notifications For WHMCS module either with Multibrand For WHMCS or with Resellers Center For WHMCS.

Integration between these modules is hampered due to specific features of each one of them and their individual work flow.

Navigation
WHMCS Modules
WHMCS Widgets
Translations
cPanel Modules
General
FAQ
Community
Hosting Quota Notifications For WHMCS