Jump to content


Popular Content

Showing content with the highest reputation since 08/22/2019 in all areas

  1. 2 points

    Version 1.0.0


    An issue has been identified in the 7.8.2 release - published on 6th September 2019, that can result in an error when visiting the pwreset.php file directly: Call to undefined function WHMCS\CALinkUpdateCC This is caused by the introduction of new Friendly URLs for the password reset path /password/reset/begin Attempting to access the old location at pwreset.php results in this error. This hotfix applies only to 7.8.2
  2. 2 points
    I think the following would work - change... function hook_client_login_notify($vars) { $userid = $vars['userid']; send_login_notify($userid); } to... function hook_client_login_notify($vars) { if ($_SESSION['adminid']) {return;} $userid = $vars['userid']; send_login_notify($userid); } if you are logged in to the admin area, and MANUALLY login into the client area in a new tabb/window (e.g you type in their email address and password), then the email notification will still be sent (I can't see any obvious way to prevent that)... however, if you use the "Login As Client" link in the admin client summary page, then the email shouldn't be sent to the client.
  3. 2 points
    Before we start talking about open source, I think it is important to underline that nowadays most of the times open source is used just to get a cheap deal. I started working on WHMCS 10 years ago. Before I started creating my own modules, I worked for hundreds of Providers mainly on modules created by others. With my extensive experience I had to request an open source version only once but I'm baffled that there are so many people that want the open source mainly for the following reasons: «We don't trust you» - Why are you buying if you are skeptical? 🤔 «For security reasons» - Yeah, I'm pretty sure that you can spot a backdoor with your visual skill or find a vulnerability just randomly looking at 20.000+ lines of code «What if you stop providing updates?» - What if I don't? What if the contract you signed states that I'll give you the open source as soon as I stop supporting the module? «We want to add functionalities» - What do you need? Tell me. I'll include it for free in next release. «We prefer to code it by ourselves» «Our corporate policy doesn't allow us to use encoded softwares» - Why are you using WHMCS? Anyway I'm sorry but our corporate policy doesn't allow us to provide software as open source Based on my experience, most of the times the real reason why people want the open source is that they don't want to pay on a yearly basis. In the same time they still expect support & updates because «Hey, I paid you 5 times the annual fee of your module so I want you to help me for the rest of your life for free!». I want to stress that concept providing some real examples that happened to me: «I need feature Y, Z and W. Give me the open source so that I can add them». Few days later I give him Y, Z and W for free but he still wants the open source and refuses to buy «I need the open source to get some data from your module» I include a Web Service (API) in my module that works exactly like the API of WHMCS but he still wants the open source and refuses to buy «I want the open source because I don't like having encoded software». I say «That's fine, good bye» and he replyes «Could you give me a discount?» 🤨 Maybe other developers are luckier than me but that's my experience. In 10 years of using WHMCS I never had to get the open source of a single file of WHMCS. Hooks and API are more than enough to do everything. I don't get why modules should work differently. I'm not saying that open source is all based on false needs but we must admit that people want it just to save money. That's not the point of open source projects. On paper the only reason why people buy open source is that they can edit the code (in reality is just to get a cheap deal but let's ignore it for a moment). Say that you buy the open source of a module that is currently on version 1.0. You download it and start to edit the code for weeks till version 1.1 is out. Now you'll need to spend hours or days to perform the upgrade since you're running a fork of 1.0. The process repeats for version 1.2, 1.3, 1.4 ecc. forever. Before you start thinking about relying on open source make sure you're prepared to invest time in this never ending task. Personally I always prefer to get the encoded versions because I can upgrade the module without worrying too much. I can easily get support and report bugs since I'm not running a fork. I can also request features that hopefully will be added by the developer. On the other hand with open source it's all under my responsibility.
  4. 2 points
    absolutely correct... it's of some use for those new users who don't have experience with other suppliers - but i've said it before, I don't agree with it being in the core program and I will never used it commercially.
  5. 2 points
    I don't see why not, it's just a calculation based on the prices - leave it with me and i'll update after v7.8 goes GA (or as I like to think of it, it's final public beta). ☺️
  6. 2 points
    Hello Cameron! you can change it inthe admin area via setup -> general -> settings -> support -> Ticket Reply List Order https://docs.whmcs.com/Support_Tab#Ticket_Reply_List_Order which is a very cryptic way of saying that you have a dropdown in the settings where you can switch the order from the default setting, oldest->newest, to what you want, newest->oldest.
  7. 2 points
    What I did is a bit hacky, but here goes: From this part: {foreach $addons as $addon} In configureproduct.tpl. I first try to identify the items that has "WHMCS" in it: {if strpos($addon.name, 'WHMCS') !== false} {$isGroupable = true} {$hasWhmcsAddons = true} {$isWhmcsItem = true} {$extraClass = 'isWHMCS'} {/if} Then I hide those addons: <div class="col-sm-12 {if $isGroupable}hiddenToBeGrouped{/if} {$extraClass}"> the "hiddenToBeGrouped" css entry is simply: .hiddenToBeGrouped { display: none; } And then I simply create a new select option using the items with "WHMCS" in it: <select name="whmcsLicenseSelect" onchange="whmcsLicenseChanged(this)"> <option value="">No WHMCS License</option> {foreach $addons as $addon} {$isWhmcsItem = false} {if strpos($addon.name, 'WHMCS') !== false} {$isWhmcsItem = true} {/if} {if $isWhmcsItem} <option value="{trim(substr($addon.name, 5))}" {if $inCartWHMCSItem == $addon.name}selected{/if}> {trim(substr($addon.name, 5))} - {str_replace(" Monthly", " p/m", $addon.pricing)} </option> {/if} {/foreach} </select> And then I manipulate the hidden buttons with javascript: <script> function whmcsLicenseChanged(caller) { var selectedVal = jQuery(caller).val().trim(); // Unset All jQuery("span.singleAddonName").each(function() { var thisItem = jQuery(this); var title = thisItem.html().trim(); if(thisItem.parent().find('input').is(':checked') && title.indexOf("WHMCS") >= 0) { thisItem.parent().find('.iCheck-helper').click(); } }); // Set relevant selected one if (selectedVal != "") { jQuery("span.singleAddonName").each(function() { var thisItem = jQuery(this); var title = thisItem.html().trim(); if (title.indexOf(selectedVal) >= 0) { thisItem.parent().find('.iCheck-helper').click(); //attr("checked", "checked"); } }); } } </script> Not sure if it's the most elegant solution, but it works perfectly! :-)
  8. 2 points
    In all honesty, this should not even be a feature request at all. It should be standard!! And as far as I can see, the link to the feature request that you posted is over 4 years old. There is no point in bothering to vote at all if WHMCS doesn't care to add such an absolutely obvious feature that is part of every other billing system in the world except WHMCS.
  9. 2 points
    Google+ is an option in the social tab in general settings (along with twitter and fb) and was closed earlier in the year - that's why WHMCS will be removing it.... it's unrelated to Google Sign-In.
  10. 2 points
    <?php # Remove Terminated Products From Services Array Hook # Written by brian! function clients_services_remove_terminated_hook($vars) { $services = $vars['services']; foreach($services as $key => $service) { if ($service['status'] == "Terminated") { unset($services[$key]); } } return array("services" => $services); } add_hook("ClientAreaPageProductsServices", 1, "clients_services_remove_terminated_hook"); ?> you might need another hook to remove the Terminated link from the sidebar if you're showing that sidebar on your site... or even simpler, you should be able to hide it using custom.css
  11. 2 points
    In 2016 I have questioned the WHMCS team about this function, I found the reply:
  12. 1 point
    Welcome to the WHMCS V7.8 Release Board! As with previous versions we've created this board to ask any questions, raise issues or provide feedback on the WHMCS V7.8. This board will remain open for the next few weeks after the release and will be archived after this time, your threads will then be moved to our normal boards to ensure they remain visible. WHMCS V7.8 includes a raft of new features check out the release notes to learn more.
  13. 1 point
    quick way would be to send them to cart.php?gid=addons - they'd have to login though... or if they're logged in, there should be a "View Available Addons" link in the Services Menu. somewhere in the back of my mind, i'm sure that link used to be optional and you could disable it - anyway, it should be there to your clients. if you mean, can you use a link, as with products, to send them to a specific addon, then I don't think you can.
  14. 1 point
    which whois (extension ) do you want to add?.....You need to find the main registrar for that extension. for instance, if you need a cctld like .gh extension you will go to the main registrar which is http://nic.gh/ then perform a whois search of a domain with that extension(.gh) and you might find the whois url for the at extension just like the image i just uploaded. If you dont find it in the results, kindly contact them and they will provide
  15. 1 point
    oh sorry.... yes it is. 🙂
  16. 1 point
    that's the SiteLock homepage panel - so you can remove it with a hook. <?php use WHMCS\View\Menu\Item; add_hook('ClientAreaHomepagePanels', 1, function (Item $homePagePanels) { $homePagePanels->removeChild('SitelockLogin'); }); but if you're selling SiteLock, then the user may need access to the panel to manage their settings.
  17. 1 point
    @slim Do you change the next due date before regenerating? A Simpler way would be to cancel the existing invoice and then use Upgrade/Downgrade on the product/services tab to change the service from Monthly to the new cycle
  18. 1 point
    yes, it's possible with a hook... it's just going to be a string replace on some hidden fields - leave it with me and i'll post it tomorrow as i'm sure that i've written this before!
  19. 1 point
    Welcome to WHMCS.Community mo80! We're glad you're here please take some time to familiarise yourself with the Community Rules & Guidelines and take a moment to introduce yourself to other WHMCS.Community members in the Introduce Yourself Board.
  20. 1 point
    Welcome to WHMCS.Community ID-TECH! We're glad you're here please take some time to familiarise yourself with the Community Rules & Guidelines and take a moment to introduce yourself to other WHMCS.Community members in the Introduce Yourself Board.
  21. 1 point
    in my code, there will be a hidden tab character - remove it and see if that helps... if ($paymentmodule == 'banktransfer') { $pdf->Image(ROOTDIR . '/assets/img/imza.png', 15, 150, 75); }
  22. 1 point
    WHMCS was one of the companies which take average 6 - 8 hours to respond to our support requests. Even if the answer requires canned responses. But recently since this month precisely, WHMCS support staffs impress me by sending their responses in less than five minutes. Read me, the last response I received from WHMCS staff about is just after one minute of my post. 👏 👏 👏 To all of their efforts.
  23. 1 point
    I have solve the problem! Now it's fix it! I use also PHP 7.2 with all the WHMSC recomandation!
  24. 1 point
    Lagom WHMCS Email Template - FREE We’ve just released a Lagom WHMCS Email Template, it’s available in our store completly for Free!! With active license of Lagom WHMCS Theme you will gain access to the simple email template management from the WHMCS addon. You won’t need to have any HTML and CSS knowledge, to customize the Lagom WHMCS Email Template to your needs. You can choose from 3 styles: Futuristic Style - live demo Depth Style - live demo Minimal Style - live demo Lagom Extension Configure Header Text Configure Social Links Configure Footer Links Choose Style Live Preview
  25. 1 point
    you could modify the hook code and change... $filename = APP::getCurrentFileName(); $client = Menu::context("client"); $clientid = (int) $client->id; if ($filename!=='clientarea' || $clientid===0){ return; } to... $filename = APP::getCurrentFileName(); $action = $_GET['action']; $allowed = array('invoices', 'quotes', 'masspay', 'addfunds'); $client = Menu::context("client"); $clientid = (int) $client->id; if ($filename!=='clientarea' || $clientid===0 || !in_array($action,$allowed)){ return; } if you do this, then the credit balance sidebar will only show on the invoice, quotes, masspay and addfunds pages.

Important Information

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