WHMCS Quick Shortcuts Bug

WHMCS Quick Shortcuts Bug

whmcs quick shortcuts

Table of Contents

WHMCS Quick Shortcuts are a great help, especially in the web hosting industry and for companies that want a smooth transition between the client area panel offered by WHMCS and the cPanel interface offered by the server. The synergy between different software solutions is pivotal for efficient and user-friendly experiences. Recently, a significant issue has emerged regarding the integration of WHMCS (Web Host Manager Complete Solution) and cPanel, particularly in the context of their Quick Shortcuts feature. This article will explore the problem at hand, its implications, and provide a step-by-step guide to resolving this integration challenge.

Understanding the Problem

The core of the issue lies in the Quick Shortcuts panel offered by WHMCS for cPanel servers. WHMCS, a popular web hosting management solution, offers these shortcuts to provide users with easy access to various cPanel features, like direct access to E-mail Accounts, Databases, phpMyAdmin, or even File Manager and Cron Jobs.

WHMCS Quick Shortcuts

However, a recent change in cPanel's interface, specifically in its Jupiter theme, has rendered some of these shortcuts obsolete. In January 2023, cPanel announced in its release notes that it had removed the Addon Domains, Subdomains, and Alias Domains interfaces from the Jupiter theme. Instead, these functions were consolidated under a single interface called "Domains". This change aims to streamline the domain management process in cPanel, making it more intuitive and less fragmented.

However, this update has inadvertently caused a discrepancy with WHMCS's Quick Shortcuts. The shortcuts for 'Subdomains' and 'Addon Domains' in WHMCS are no longer valid, as these options have been merged under the singular 'Domains' option in cPanel. When users click on these outdated shortcuts, they are redirected to the cPanel homepage instead of the intended section, causing confusion and inefficiency, especially for those not well-versed in technical nuances.

Technical Analysis

A deeper dive into WHMCS's code reveals the root of the problem. In WHMCS, the Quick Shortcuts are implemented in the /home/user/whmcs_public_html/modules/servers/cpanel/templates/overview.tpl file. This file contains HTML divs that define each shortcut, including its visual representation and hyperlink. The URLs for these shortcuts use a specific structure, with a crucial 'app=' parameter that dictates the redirection endpoint within cPanel. Here is an example of the URL for the let's say "Addon Domains" button:

clientarea.php?action=productdetails&id={$serviceid}&dosinglesignon=1&app=Domains_AddonDomains

As you can see, the WHMCS URL path ends with "app=Domains_AddonDomains" but cPanel doesn't know about this "App" anymore since Addon Domains were merged to "Domains". Given the changes in cPanel, the existing URLs for Subdomains and Addon Domains shortcuts are now incorrect. The question arises: what should be the new 'app=' parameter value to redirect users to the consolidated Domains interface correctly?

Solution and Implementation

To address this issue, a two-fold solution is required: updating the WHMCS template and modifying cPanel's configuration.

Step 1: Updating the WHMCS Template

  1. Locate the Template File: Navigate to /home/user/whmcs_public_html/modules/servers/cpanel/templates/overview.tpl.
  2. Modify the HTML Divs: Replace the existing divs for Subdomains and Addon Domains with a single div pointing to the new Domains interface. This requires updating the URL in the href attribute to redirect to the Domains page in cPanel correctly. In this solution, the App name should be "Domains_Home" so the correct URL will end with: &app=Domains_Home

Step 2: Configuring cPanel

  1. Identify the Configuration File: The relevant file is /usr/local/cpanel/base/frontend/jupiter/dynamicui.conf.
  2. Add the Necessary Line: Implement the line "implements": "Domains_Home", in the correct block of text within this file. This new line should be added just above this line "url": "domains/index.html", this way, you make sure that the Domains interface is correctly invoked.

In short, on the cPanel server, you must replace it in the dynamicui.conf file, these lines:

"url": "domains/index.html",
"type": "image",
"key": "domains"

With this (I hope you got the idea):

"url": "domains/index.html",
"implements": "Domains_Home",
"type": "image",
"key": "domains"

NOTE: You can use any name you want. Instead of "Domains_Home" you can use, let's say, "Awesome_Fix" as long in WHMCS the app=Awesome_Fix and in cPanel dynamicui. conf the implements line says "Awesome_Fix" it will work 🙂

Conclusion and Next Steps

Once these changes are implemented, WHMCS's Quick Shortcuts should align correctly with cPanel's updated interface. It's crucial for web hosting providers and system administrators to regularly update their integration points following software updates to ensure seamless user experiences.

For future-proofing, it's recommended that WHMCS and cPanel users stay informed about each other's release notes and updates. Regular audits of integration points like these can preemptively identify discrepancies, ensuring a smooth, user-friendly interface that evolves alongside the software it connects.

Just in case you ask, yes, this has already been reported to both WHMCS and cPanel - pretty much they will need some time to fix it 🙂 We will see how long.

Table of Contents