Jump to content

Search the Community

Showing results for tags 'action hook'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • The latest WHMCS Release
  • WHMCS Beta Program
    • WHMCS Mobile App Technical Preview Feedback
  • The Latest from the WHMCS Team
    • News, Announcements & Blogs from WHMCS
  • WHMCS.Community
    • Community Announcements
    • Introduce Yourself
  • Using WHMCS
    • Pre-Sales Questions
    • Admin & Configuration Questions
    • Installation, Upgrade, and Import Support
    • Using WHMCS
    • Troubleshooting Issues
    • Vendor Discussions
  • WHMCS Showcase
    • Showcase Your Site
    • Share Your Best Practices & Tips
  • Developing & Extending WHMCS
    • Third Party Add-ons
    • Service Offers & Requests
    • Developer Corner
    • Building Modules
    • Share Ideas for WHMCS Modules
  • Community Competitions
    • Competitions
  • General Discussions
    • General Discussion
  • General Feedback & Assistance
    • Feedback
    • WHMCS.Community Tips & Tricks
  • Third Party Developers's Topics
  • Turkish International Discussions's Topics
  • Russian International Discussions's Topics
  • Spanish International Discussions's Topics
  • Portuguese International Discussions's Topics
  • French International Discussions's Topics
  • Italian International Discussions's Topics
  • German International Discussions's Topics
  • WHMCS Brasil's Topics
  • WHMCS Brasil's Tópicos
  • ModulesGarden Club's Topics
  • Hungarian International Discussions's Segítség
  • ThemeMetro Club's Topics
  • WHMCS Services Club's Topics
  • SwiftModders Club's Topics
  • WHMCS Global Services Club's Topics
  • Katamaze's Free Scripts
  • Katamaze's Modules
  • Zomex Club's Topics
  • 0100Dev Club's Topics

WHMCS Version

  • V8.1.x Hotfixes
  • V8.0.x Hotfixes
  • V7.10.x Hotfixes
  • V7.9.x Hotfixes

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



About Me

Found 18 results

  1. As you probably know WHMCS v8 no longer provides statistics on top of the page about pending orders, overdue invoices and tickets awaiting reply. This action hook adds them back to interface as you can see from the following screenshot. This badge is fully responsive and appears if there's at least one pending order, overdue invoice or ticket awaiting reply. If there's nothing to show it disappears. To avoid any possibility of confusion, the hook automatically detects if you're running v8. Get the Code »
  2. Restrict the access to support departments based on the products purchased by users. Define rules as follows. $department['1'] = array('45', '46', '10'); $department['2'] = array('85', '86', '10'); // Keep adding rules one per line The key of $department array (the [1] and [2] between square brackets) corresponds to the ID of the support department for which we are creating a rule. The value is an array() of product IDs required for access. In a in nutshell, the above configuration unlocks department #1 to users with product IDs 45, 46 and 10. Department #2 requires 85, 86 and 10. Here are few more things to consider: submitticket.php doesn't show restricted departments Access via direct link submitticket.php?step=2&deptid=2 triggers a redirect to submitticket.php Department dropdown lists only allowed department The same product can be used for multiple rules Pending, Suspended, Terminated, Cancelled and Fraud products are ignored Get the Code »
  3. Client group background colors no longer display on ticket view page. Go figure out why WHMCS decided to remove it from v8. This action hook puts the styling back. Get the Code »
  4. Free trials for a limited period is a good marketing strategy to capitalize on the leads you get. The problem with trials is that the smallest unit of time for WHMCS is the day meaning that for example you can't provide a trial for VPS that last for a couple of hours. WHMCS can't "think" for a period of less than a full day. The following action hook allows to automatically terminate the given products/services after a certain number of minutes. It runs AfterCronJob hook point that normally triggers once every 5 minutes. Visit Setup > Automation Settings and make sure that cron.php runs every 5 minutes as suggested by WHMCS. The hook will do the rest. It also logs terminations in Activity Log. Get the Code »
  5. It doesn't matter what payment method you use. It can be PayPal, Stripe, Skrill or Credit Card. The typical gateway charges absurdly high fees to manage your money. Billing Extension helps you saving up to 18% on transaction fees but such costs can be lowered even further. Let's face it. In an ideal world we would be receiving money just with Bank Transfer (aka Wire Transfer) since it doesn't cost you anything. The following hook can be used to force the most convenient gateway you have depending on invoice balance. For example if invoice balance >= 1000 euro force banktransfer. Let's do some math. PayPal charges 3.4% + 0.35 € per transaction meaning that receiving 1000 € costs you 35.35 € Let's suppose on a yearly basis you receive 10 payments of 1000 € At the end of the year you gave to PayPal 353.5 € With this hook you can keep this money for you. As if it wasn't enough, the hook can be customized to force the payment gateway depending on customers' country. For example you can use the hook just for specific countries (eg. IT, FR, DE) and/or European Union. Don't worry about multiple currencies. The script automatically handles currency conversion when needed. Get the Code »
  6. The hook assigns clients to groups based on the number of active domains in their accounts (Active, Grace and Redemption). This is particularly useful for Domain Pricing slabs. Let's take this code as example. $groups['1'] = '10'; $groups['2'] = '25'; $groups['3'] = '100'; The key of $groups array (eg. ['1']) represents the ID of the group while the value the number of active domains. According to the above configuration, here is what happens: Customer A has 10 domains. He goes to client group ID 2. Next day domains become 9. The the customer is removed from the group Customer B has 99 domains. He still goes to client group ID 2 but will be moved to 3 in case he manages to reach 100 domains Customer C has 250 domains. Group ID 3 The hook runs with WHMCS daily cron job meaning that customers are moved (or removed) from groups on a daily basis. Optionally, you can use the following feature to add some restrictions: $activeCustomers rules apply only on Active customers (boolean true or false) Get the Code »
  7. This hook is similar to the one that assigns clients to groups based on purchases. This time we're assigning clients to groups based on registration date or more precisely on user seniority. Let's take this code as example. $groups['1'] = '90'; $groups['2'] = '180'; $groups['3'] = '365'; They key of $groups array (eg. ['1']) represents the ID of the group while the value user seniority (days between registration date and current date). According to the above configuration, here is what happens: Customer A registered 34 days ago. No change Customer B registered 90 days ago. He goes to client group ID 2 Customer C registered 364 days ago. Still group ID 2 Customer D registered 500 days ago. He goes to client group ID 3 Optionally, you can turn on any of the following features to add some restrictions: $activeCustomers rules apply only on Active customers (boolean true or false) $oldestPurchase rules apply only on if customer has a product/service or domain older than the given number of days (integear) The hook runs with WHMCS daily cron job meaning that tomorrow the customer C of the above example will move from group 2 to 3. Get the Code »
  8. When the status of a support ticket changes, WHMCS doesn't send any notification. We can tweak this process by sending an email and optionally also automatically add a reply to the ticket itself. This way you can guide customers through the resolving process letting them track the progress of tickets. Get the Code »
  9. If you have a bit of experience with WHMCS, you know that offering promotions just via coupon codes isn't so flexible. Many prefer to have products/services created specifically for special deals. Similarly others want to restrict domain purchase to customers with at least a product/service in their accounts. The hook lets you achieve both goals. Simply configure the following variables: $onetimeProducts array of product IDs to treat as "one-off" (customer is not allowed to order the same product multiple times) $onetimeProductGroups same as above but for product group IDs. Producs inside such groups are treated as one-off $firstTimerTollerance product-based restrictions are disabled for new customers placing their first order with you $notRepeatable if a customer already has a one-off product, he can't purchase further one-offs ($firstTimerTollerance is ignored) $domainRequiresProduct domain purchase is allowed only if any of the following conditions is met: Customer has an existing product/service (Pending and Terminated don't count) Customer is purchasing a domain and a product/service $promptRemoval notify customer about restrictions via (previews are below): bootstrap-alert right below Review & Checkout modal on screen js-alert on scren $textDisallowed message displayed for product-based restriction $textRequireProduct message displayed for domain-based resrticion When the hook detects that the customer is not allowed to order specific products/services and/or domains, it removes them from WHMCS cart showing alerts. Get the Code »
  10. Yes, WHMCS integrates Bulk Pricing Updater but it works for all existing customers. Sometimes you simply need to recalculate prices for domains and products/services of a specific customer. This hook allows to do that in one click. First it adds the following button in client Summary. Second it shows this modal on screen where you can freely choose to auto-recalculate domains or products/services. Get the Code »
  11. Automatically sets newly registered customers as Affiliates on WHMCS. This way they don't need to join manually. That said, as you probably already know the affiliate system of WHMCS is very basic. If you need something more complete and sophisticated take a look at Commission Manager. Get the Code »
  12. WHMCS always sends feedback requests for closed tickets, no matter what. This includes the case of customers closing tickets before you even had the chance to add a reply. For example a customer opens a ticket to report an error on his website. Few minutes later he realizes that it was his fault and closes the ticket. WHMCS still sends feedback request. This is quite strange as you are asking customers to let you know the «Quality of experience» with your support team. No one has even answered! Some customers could even give you a very bad rating because they feel you're tricking them. Let's patch the hole with this hook. Get the Code »
  13. Automatically assign customers to a client group based on purchased product/service, product addon and configurable options. It works only for customers that haven't been assigned to any group yet. Below we're going to show you how to define group/product pairs. Let's take this code as example. $groups['products']['1'] = array('1', '2', '3'); $groups['products']['2'] = array('4'); $groups['productaddons']['1'] = array('2'); $groups['configurableoption']['3'] = array('5' => true, '6' => array('7', '8', '10')); They key of the first level of $groups array (eg. ['products']) can assume the following values: products for group/product pairs productaddons for group/product addon pairs configurableoption for group/configurable option paris They key of the second level of $groups array (['1'], ['2']) represents the client group ID. array() stores product IDs, product addon IDs and configurable options. Let's put it into practice explaining what the above configuration means: Customer A purchases product 1. He goes to client group ID 1 Customer B purchases product 2. He still goes to client group ID 1 Customer C purchases product 4. He goes to client group ID 2 Customer D purchases product 5. No action taken Customer E purchases product 1 and is already assigned to a client group. No action taken Customer F purchases product addon 2. He goes to client group ID 1 Customer G purchases a product selecting any value of configurable option ID 5. He goes to client group ID 3 Customer H purchases a product selecting specifically 7, 8 or 10 options of configurable option ID 6. He goes to client group ID 3 The script is available in two versions. The configuration is the same. What changes is the hook point: AcceptOrder version assigns the group when the order is accepted - both manually and automatically EmailPreSend version assign the group a moment before WHMCS sends the Welcome Email - any type (eg. Hosting, VPS, CodeGuard, Marketgoo...). This way the group just assigned is immediately ready for use in email templates
  14. Every time an administrator uses Login as Client, WHMCS overrides the default language of the selected customer with the one used by the administrator in WHMCS backend. This is bad because you're unknowingly changing the default language for your customer. This also applies for languages that can't be used in clientarea. Let's say your clientarea is in italian and you're using WHMCS backend in english. When you perform the Login as Client, WHMCS switches customer's language from italian to english and there's no way back. The customer in question is stucked with a language he cannot change. The following hook prevents that to happen. Get the Code »
  15. When you send a quote, WHMCS forces customers to login in order to accept it. This hook allows them to accept without the need to login. Every time the Quote Delivery with PDF mail is sent, the hook overrides {$quote_link} with a new link that contains an hash that ensures the authenticity of the request. This way only the recipient can accept the quote. When the visitor clicks the link, the quote is automatically accepted and he/she sees the following modal on screen. Get the Code »
  16. Sending feedback request on ticket closure is a great way to measure customer support satisfaction however this feature has a missing piece. A ticket in WHMCS can be set as Closed in three different ways: When the ticket is closed by an admin user For inactivity Setup > Automation Settings > Support Ticket Settings > Close Inactive Tickets Via escalation rules WHMCS doesn't send any feedback request when the ticket is closed with an escalation rule. The hook in question solves this problem. The only requirements are the following: $cronFrequency must be equal to your System Cron Frequency You must use unique names for escalation rules Get the Code »
  17. We give you not one, not two but three action hooks to override default passwords generated by WHMCS for service provisioning on third-party control panels like Plesk, cPanel, DirectAdmin and custom-made server modules. v1 randomly picks 10 characters from a-zA-Z0-9 and !@#$%^&*()-=+? v2 same as above but makes sure that at least one special character is included in the password v3 for extremely strong passwords. Individually define the number of digits, lowercase, uppercase and special characters to use. The resulting password will not use the same character twice
  18. Customers can specify the related service/domain on ticket submission but once the ticket has been sent the information is no longer visible. This hook makes sure that related service is always included in ticket sidebar (if specified). Get the Code »
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated