Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 08/16/25 in Posts

  1. Hi WHMCS ecosystem developers! I am excited to share an early heads-up about the upcoming WHMCS 9.0 release by the end of 2025 - a major update that brings important changes to the platform’s technical requirements. As part of this release, several core dependencies will be updated, and minimum system requirements will be increased. These changes are designed to improve performance, security, and compatibility with modern PHP standards. Key Updates in WHMCS 9.0: Minimum PHP version: 8.2 Recommended PHP version: 8.3 Minimum ionCube Loader version: 13.0.2 or higher Recommended ionCube Loader version: 14.4.0 or higher Updated dependencies: A number of underlying libraries and components have been upgraded. Some notable changes include: Smarty v3.1.48 —> v4.3.4 Legacy Smarty Tags are being deprecated and will no longer function in 9.0. Smarty Template Objects (including their use in plugins) will no longer be supported. guzzlehttp v7.4 —> v7.4.5 illuminate v7.x —> v9.0 I have attached a provisional list of dependency changes to this post. Please also use this thread to provide your feedback and ask questions of the Development Team regarding these requirement and dependency changes. These changes will require action from module developers to ensure continued compatibility. We recommend reviewing your module code and preparing for updates ahead of the release. We’ll be sharing more details, including a release window, definitive changelog and developer guidance, between now and the end of 2025 to help you get ready. Thank you for being a valued part of the WHMCS ecosystem. We appreciate your continued support and look forward to working together to make WHMCS 9.0 a successful release. whmcsv90_composerlock_provisional.txt
    2 points
  2. John didn't say that 😉 He said the feature list is under wrap (eg not yet announced).
    1 point
  3. Hi guys, I have the following case, I'm applying the invoicepdffooter.tpl and quotepdffooter.tpl, the content is shown on both Invoice and Quote generated PDF, but in case the PDF contain multiple lines (services) then the footer is over the invoice/quote services, like in the screenshot below. Is there any chance I could have a restriction in place for the invoicepdf.tpl and quotepdf.tpl as soon as it reaches the footer area to create a second page? thanks, Alex
    1 point
  4. We won't go cloud. Kayako burned us with that and SupportPal is brilliant. Where's the announcement?
    1 point
  5. Thanks 🙂 Now displaying well. Shame multicurrency isn't working properly but beggars can't be choosers it's nice to have this feature back.
    1 point
  6. You put them in widgets. Then you have to go into admin roles and enable display for them, checkboxes at the bottom.
    1 point
  7. Hi @Looper, Thanks for that information. Unfortunately the assistance we can provide for after-market modules is limited. However it sounds like the _Sync function in the module's code is treating the status of these domains as one indicating it's been transferred away: https://developers.whmcs.com/domain-registrars/domain-syncing/ I recommend contacting the vendor using Support link on the Marketplace listing so they can update the module code to better handle this situation.
    1 point
  8. This is caused by misconfigured WHOIS servers. You need to ensure the correct string for "available". When dealing with this error, you can navigate to the WHOIS interface in WHMCS admin and check some WHOIS responses for domain that status is known For example, you can use "thisdomainisn0tregistered.org" as a test for getting the appropriate response of WHOIS for a domain that is available for registration. Then, you need to incorporate your findings in the whois.json file. Configuring the appropriate values in this manner will ensure that your clients are given the opportunity to register the domain which is "available" and configured for sale in your WHMCS. Example { "extensions": ".org", "uri": "socket://whois.publicinterestregistry.net", "available": "Domain not found." }
    1 point
  9. You can remove the Edit with Sitejet Builder link from the left sidebar menu under the Actions sidebar when logged in as a client and looking at the Product Details page using this hook code: <?php use WHMCS\View\Menu\Item as MenuItem; add_hook('ClientAreaPrimarySidebar', 1, function (MenuItem $primarySidebar) { $actionsMenu = $primarySidebar->getChild('Service Details Actions'); if ($actionsMenu instanceof MenuItem) { foreach ($actionsMenu->getChildren() as $child) { if (strpos($child->getLabel(), 'Sitejet') !== false) { $actionsMenu->removeChild($child->getName()); } } } }); See the attached screenshots showing this custom hook file in place in the /includes/hooks/ directory. The screenshots show that this link is no longer there after this hook code is added. You would create a file named "remove_sitjet_link.php" and add the above code into it, and upload it to your /includes/hooks/ directory. I tested this with WHMCS version 8.13.1. I hope that this helps someone.
    1 point
  10. @WHMCS John Thank you for your response. "valid syntax" was the key point on this, as it was not clear on documentation.
    1 point
  11. Here is an updated link: https://controlc.com/d0ac5777
    1 point
  12. YOU CAN USE MY EMAIL DESIGN FOR YOUR COMPANY, THANKS TO THIS COMMUNITY I HAVE FOUND A LOT OF COMMUNITY CONTENT, SO I GIVE YOU MY PERMISSION TO USE IT. Post Update: After a long time working on the code, I have managed to get it to look correct. There were many problems that I am going to name now, which I fixed to make it display correctly; Global Email CSS Styling: Some generic tags will not work, for example 'body', instead of adding it to Global Email CSS Styling, I added it directly to the HTML code to make it work. Error ❌ body{font-size: 17px; line-height: 25px; color: #f1f1f1; font-family: 'Open Sans', sans-serif; font-weight: 400; margin: 0px; background-color: #070B41;} Solution ✅ <body style="font-size: 17px; line-height: 25px; color: #f1f1f1; font-family: 'Open Sans', sans-serif; font-weight: 400; margin: 0px; background-color: #070B41;"> Sometimes you have to add an '!important' to the CSS code, because another tag is replacing it. For example, I wanted to put links with a different color and no style; Error ❌ a{text-decoration: none; color: #1094F0;} Solution ✅ a{text-decoration: none!important; color: #1094F0!important;} Some images on some providers do not load correctly because it can detect that the domain is not secure. For example; Error ❌ https://universalgg.com/assets/img/mails/logo.svg Solution ✅ https://i.imgur.com/7nQbkxQ.png It has taken me a long time to investigate, since on localhost it was working correctly. I have tried various SMTP providers and it was working fine too. Conclusion: The error is from WHMCS and not from my design, but it can be solved. All code: <!DOCTYPE html> <html> <head> <title></title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <style> .main-table{background-color: rgb(3 5 33 / 87%); border-radius: 20px; overflow: hidden; margin-top: 20px;} .content-table{padding: 50px 40px 50px 65px;} .h1-table{padding-bottom: 25px; font-size: 22px; font-weight: 700; color: #fff;} .btmspace-table{padding-bottom: 30px;}.top-line{padding-top: 30px;} .grey-line{border-top: 1px solid #707070;} .welcome-img{width: 50%; background-image: url('https://universalgg.com/assets/img/mails/img.webp'); background-position: left; background-size: cover; background-repeat: no-repeat;} .welcome-copyright{color: #DDDDDD; font-size: 12px; text-align: center;} a{text-decoration: none!important; color: #1094F0!important;} </style> </head> <body style="font-size: 17px; line-height: 25px; color: #f1f1f1; font-family: 'Open Sans', sans-serif; font-weight: 400; margin: 0px; background-color: #070B41;"> <table width="1140" border="0" align="center" cellpadding="0" cellspacing="0" class="main-table"> <tr> <td> <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="content-table"> <tbody> <tr> <td colspan="2" style="padding-bottom: 35px;"> <img src="https://universalgg.com/assets/img/mails/logo.svg" style="max-width: 430px;" width="100%" height="auto" alt="logo"> </td> </tr> <tr> <td colspan="2" class="h1-table"> ¡Bienvenido! </td> </tr> <tr> <td colspan="2" class="btmspace-table"> Hola {$user_first_name}, revisa este correo electrónico en su totalidad, ya que contiene información importante. </td> </tr> <tr> <td colspan="2" class="btmspace-table"> Has registrado tu cuenta el día {$user_signup_date}. Necesitarás tu dirección de correo electrónico y la contraseña que elegiste durante el registro, para iniciar sesión.</br> Si creó la cuenta como parte de la realización de un nuevo pedido con nosotros, en breve recibirás un correo electrónico de confirmación del pedido. </td> </tr> <tr> <td colspan="2"> Por favor, no responda a este mail, es un mensaje automático. Le enviamos un cordial saludo, gracias por confiar en nosotros. </td> </tr> </tbody> </table> <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="top-line"> <tbody> <tr> <td class="grey-line"></td> </tr> </tbody> </table> <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" style="padding: 30px 40px 30px 65px;"> <tbody> <tr style="vertical-align: middle;"> <td style="padding-bottom: 20px; font-size: 15px; font-weight: 500; color: #1094F0;"> <a href="https://universalgg.com">Sitio web</a>&nbsp; | &nbsp; <a href="{$whmcs_url}">Área de clientes</a>&nbsp; | &nbsp; <a href="mailto:info@universalgg.com">Contactar</a> </td> <td style="padding-bottom: 13px; text-align: right;"> <a href="https://twitter.com/UniversalGamg"><img src="https://universalgg.com/assets/img/mails/s_twitter.svg" style="display: inline-block; margin-right: 15px;" alt="icon"></a> <a href="https://www.instagram.com/universal_gg/"><img src="https://universalgg.com/assets/img/mails/s_instagram.svg" style="display: inline-block; margin-right: 15px;" alt="icon"></a> <a href="https://discord.gg/nMxTQ5UZpM"><img src="https://universalgg.com/assets/img/mails/s_discord.svg" style="display: inline-block; margin-bottom: -1.5px;" alt="icon"></a> </td> </tr> <tr> <td colspan="2" class="welcome-copyright"> 2018-2023 &#169; {$company_name} </td> </tr> </tbody> </table> </td> <td class="welcome-img"></td> </tr> </table> </body> </html>
    1 point
  13. Hello @Blasgo Thanks for your post, if you have registered the domain with your registrar then you will need to follow the "Manual Domain Entry Only" process To add a domain on its own without a product, follow the steps below: If you haven't already, create the client by navigating to Go to Clients > Add New Client. On the client summary page, click the "Add New Order" link in the Actions panel The client will be preselected, so you should fill out the rest of the form - begin by choosing the payment gateway you want the client to pay with Leave the Product/Service dropdown menu set at None Leave the Billing Cycle dropdown menu set at Monthly Enter the domain in the Domain text field and select Register as the Domain Registration Option (even though you aren't intending to register it today) Choose the number of years you next want the client to be invoiced for at the time of renewal and tick any addons the user has for their domain Ensure both tick boxes for sending an order confirmation and generating an invoice are unchecked so the user is not emailed about the order you are adding Finally, set the Order Status dropdown to Active and then click the submit button to add the order to WHMCS You will now be shown the order screen summarising the details of the order you just added Now as the final step, you must go to the domain's information page to enter the correct next due and expiry dates as well as selecting the registrar the domain is registered with if using one of the built-in registrars. To do this, from the order screen, click on the link in the Item column of the items ordered - this will take you straight to the details screen.
    1 point
×
×
  • 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