Jump to content


Popular Content

Showing most liked content since 04/26/2018 in all areas

  1. 3 points
    Impressive, @Matt. It's not every day the CEO of a software company personally attends to and responds to customer issues like this. I'm truly impressed in the dedication to our community.
  2. 2 points
    as you have over 500+ TLDs added to your WHMCS, I would lay good money that this is a php settings issue... also, you have a second issue that you may not be aware of... although you've added your TLDs to domain pricing, that doesn't necessarily mean that they will work correctly out of the box - if you are using Standard Whois, then you will also have to check that the WHOIS file is up-to-date for the TLDs that you are selling. https://docs.whmcs.com/WHOIS_Servers the one obvious one that I tried was .art -> according to your site, "universes.art", "inkpad.art", "arnold.art" are all available for registration... but in reality, they're already registered and working, so WHMCS is giving you a false answer... usually because .art isn't listed in the default WHOIS file... I doubt the 3rd-level .pro domains are in there too... in fact, probably 50%+ of those TLDs you've added aren't listed/valid in the whois file, so you'll need to go through them all and check.
  3. 2 points
    I just wanted to say "Thank you" to Matt, John, and everyone else at WHMCS that has jumped in to provide solutions to counter the sudden uptick in spam. I really appreciate the swift and direct support you are providing to me and the other members of your online community. Keep up the good work!
  4. 2 points
    An unfortunate trait of the internet is spam and automated bots disseminating that spam. As a business operator on the internet, you may also receive orders submitted in bulk by automated bots. There can be situations where you need to delete lots of clients with the same first name. This small script leverages the local API to cleanly delete all clients who match the specified term. This script is provided as-is, without warranty, and in the understanding for the potential to permanently and irreversibly delete data. Before running this script, please make a database backup: <?php /** * Delete spam clients where the firstname contains 5666Q.COM * using advanced database interaction and the DeleteClient API * * @link https://developers.whmcs.com/advanced/db-interaction/ * @link https://developers.whmcs.com/api-reference/deleteclient/ * * @author WHMCS Limited <development@whmcs.com> * @copyright Copyright (c) WHMCS Limited 2005-2018 * @license https://www.whmcs.com/eula/ WHMCS Eula */ require 'init.php'; use WHMCS\Database\Capsule; // Replace ADMIN_USERNAME with your admin username $adminUsername = 'ADMIN_USERNAME'; echo '<pre>'; // Loop through all clients where firstname contains 5666Q.COM foreach (Capsule::table('tblclients')->where('firstname', 'like', '%5666Q.COM%')->get() as $client) { // Delete the client with DeleteClient API $results = localAPI('DeleteClient', ['clientid' => $client->id], $adminUsername); // Check for errors if ($results['result'] == 'success') { echo "Deleted Client ID: " . $client->id; } else { echo "Error deleting Client ID: " . $client->id; } } echo '</pre>'; Begin by entering your adminstrator's username on line 19: $adminUsername = 'ADMIN_USERNAME'; Upload the script to your WHMCS directory, and visit in your browser. The script will search through all the clients matching the criteria specified in this line: 'firstname', 'like', '%5666Q.COM%' It will then properly and permanently delete matching clients and associated records. The last step is to show which clients are deleted, and if a problem was occurred. The file should then be deleted from your server. At the time of writing this post, this script was tested on the latest stable release of WHMCS 7.5.1 and should work with any that fall under Active Support as per the LTS schedule here: https://docs.whmcs.com/Long_Term_Support#WHMCS_Version_.26_LTS_Schedule If you have any feedback, questions, or concerns that I did not cover in this post, please feel free to reach out! delete_spam_clients.php
  5. 2 points
    Hi there We first became aware of instances of the spam signups being discussed here towards the latter end of last week and since then our team has been monitoring the issue and investigating instances of it reported to us via support tickets. We understand how receiving a large number of spam orders can be inconvenient and frustrating and so in an effort to try to combat and prevent these orders from being successful, our team has worked to implement Google's invisible reCAPTCHA to the shopping cart checkout workflow through the use of the hooks system. This is being provided as a short term immediate solution for users affected by the recent spam order submissions until such time as we can release a product update with this functionality natively included. What is Google Invisible reCAPTCHA? Invisible reCAPTCHA is designed to be as inobtrusive to the regular user as possible. In most cases, users will not be prompted to solve a captcha. Only when Google detects suspicious behaviour or traffic will a captcha challenge be presented. The result is that while it may not prevent all spam signups, as soon as Google detects suspicious activity or patterns, further automated orders should be blocked. To learn more about how Invisible reCAPTCHA works, please visit https://developers.google.com/recaptcha/docs/invisible Installation Instructions To install the hook, follow the steps below. 1. Download the hook (attached at the bottom of this post) 2. Upload to the /includes/hooks/ directory of your WHMCS installation 3. The hook leverages the same Google reCAPTCHA configuration as defined in Setup > General Settings > Security. Therefore, please ensure the Captcha settings are configured there as follows: Captcha Form Protection: "Always On" or "Off when logged in" Captcha Type: reCAPTCHA (Google's reCAPTCHA system) reCAPTCHA Site Key & Secret Key: Provided Remember, Invisible reCAPTCHA may not block all spam submissions, but it should be effective in preventing repeated and high volume submission attempts. We're keen to hear how effective this change is at preventing the spam order submissions you’ve been experiencing recently so please let us know your experiences with the hook. Regards, Matt cart_recaptcha.php
  6. 1 point
    one other thing to add, you might want to offer ID Protection to all these TLDs, but you should check with your registrar whether you can do so... as a general rule, you normally can't offer IDP with "real" ccTLDs (country code TLDs)... and by real, I mean ccTLDs apart from those that are marketed as gTLDs, e.g .cc and .tv etc - even some gTLDs, you can't offer it with either... so you can't assume that all TLDs can use the feature...
  7. 1 point
    Also, and I don't know if this is the right place to put it, but I had to create a little one-liner in javascript to check all those boxes. (i wasn't going to sit there and check 1000+ checkboxes, this really should be built into the app IMO) if anyone finds this thread this might help: From the domain pricing admin screen, open the developer console in chrome or whatever browser you're using (right click on the page and click Inspect Element and then click the console tab) and paste this into the console input bar for the DNS Management Checkbox: $("input[name^=dns]").prop('checked', true); Or for ID Protections Checkbox: $("input[name^=idprot]").prop('checked', true); Be sure to hit enter after you've pasted it in.
  8. 1 point
    Hi @AXON, The ClientDetailsValidationaction hook point can be used to add custom validation here. For more information on action hooks, please refer to https://developers.whmcs.com/hooks/
  9. 1 point
    Brilliant Chris thanks a mil
  10. 1 point
    Hey @MDavid Thanks for your question! I've included the below extract from @WHMCS John's post where you can use the AfterShoppingCartCheckout hook point to create a customisation and add a custom database record.
  11. 1 point
    Hi, usually you will find it in the Template in /whmcs/templates/your_template/error There is the tpl called page-not-found.tpl. Looks like : <div class="container"> <div class="error-container boxed"> <h1><i class="fa fa-warning"></i> {lang key="errorPage.404.title"}</h1> <h3>{lang key="errorPage.404.subtitle"}</h3> <p>{lang key="errorPage.404.description"}</p> <div class="buttons"> <a href="{$systemurl}" class="btn btn-default"> {lang key="errorPage.404.home"} </a> <a href="{$systemurl}submitticket.php" class="btn btn-default"> {lang key="errorPage.404.submitTicket"} </a> </div> </div> </div> Greetings Christian
  12. 1 point
    Welcome to WHMCS.Community Madumi! 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.
  13. 1 point
    Hi All, How can I add a field on the invoice template to capture the Ledger Account Code? Thank you.
  14. 1 point
    once you login to your resellerclub account use this link https://manage.uk.resellerclub.com/servlet/RCPSetupGuideServlet
  15. 1 point
    Unfortunately, the ServerPing option was never mentioned in this thread, so I never got a chance to try it... I wound up purchasing the UnBan Center for WHMCS module from https://www.modulesgarden.com/products/whmcs/unban-center -- I have been super happy with it. Install was easy and it works great for our customers. - Scott
  16. 1 point
    Hi, We use SolusVM, with KVM for our VPS. The issue is new account get the account log in details but not the root password that is made when the VPS is set up. I've tried: {$service_password}but it's just the VPS login not the root password. SolusVM has a custom field called: rootpassword So maybe? {$rootpassword}
  17. 1 point
    Thanks everyone for the feedback! To clarify, this file is not meant to run with the WHMCS hooks system as there is no add_hook() function call being made, so placing it in the /includes/hooks directory may not work. This file was meant to be a one-off solution to be used for removing the mass spam clients that were being created. In order to use it properly, you would simply place the file in your WHMCS root directory and then access the file from your browser to run it. It should provide you with the output of what clients were able to be deleted or which clients were not (if any). You can run the script as many times as needed until all of the spam clients have been removed. When you are done using the script, it should be removed from the server as it does contain code that destroys data (deletes clients). It shouldn't ever be an issue, but to be safe it is good practice to remove utility scripts when they aren't needed anymore. As always, please remember to take a database backup before using this tool.
  18. 1 point
    Actually, there's more than one type of reCaptcha Site Key. I too was getting an error, which I tracked down to trying to use v2 site type keys, when you need to create a NEW Invisible Site Type key and enter that into the admin settings. That may help fix your issues.
  19. 1 point
    with regards to my hook in the above thread that you linked to, it could easily be tweaked to use a SVG file for a logo... <?php # Define $assetLogoPath # Written by brian! function custom_base_img_path_hook($vars) { return array("assetLogoPath" => $vars['BASE_PATH_IMG']."/SVG-logo.svg"); } add_hook("ClientAreaPage", 1, "custom_base_img_path_hook"); ?>
  20. 1 point
  21. 1 point
    if you still need help please contact us here for custom WHMCS Development
  22. 1 point
    Hey @inteldigital That is indeed odd! It should automatically clear however could you change to the Blend to ensure its not theme issue
  23. 1 point
    W-H-M-C-S, just like mySQL is not "mysequel" (my S-Q-L), and PHP is not "fip", and GIF is a "J" sound, like the peanut butter (not like get or gimp). You're welcome.
  24. 1 point
    Resellerclub, Netearthone get my vote. And if you use a logicbox reseller, check out resellerclub-mods.com. Marco @imaticon does a super job with mods for them.
  25. 1 point
    Take look at https://marketplace.whmcs.com/product/2026
  26. 1 point
    Hi, Is there currently an endpoint available on the API to retrieve the active/resolved network issues? I could not find any info in the documentation, regarding this. Thanks.
  27. 1 point
    Thanks John! Heard back from Lawrence and he passed on that info. Whatever the charges and suspensions were about were certainly on my end, and I'm looking forward to fixing those issues and eating crow with the customers as soon as I can access the admin login. Once again, thank you so much for your assistance in this matter, as well as your team! Kindest regards, Bradley
  28. 1 point
    I followed the following steps to get it fixed 1) Created a new database and restored the old database ( before the upgrade). 2) Edited the configuration.php file and replaced the database login details with the new ones 3) Uploaded the fresh new whmcs 7.5 files into the whmcs directory 4) Started the installation and it got completed this time.
  29. 1 point
    Ok, I install cart_recaptcha.php about 2hrs ago, so far it seem to be working no fake orders/accounts came in, I was getting them every two/three min.
  30. 1 point
    Turning off domain registration options is hardly a solution for most people, even if it does work for you. Nor does it explain why it's only within the last few days that this issue has occurred.
  31. 1 point
    Hi @Lowreg, The ability to register reserved .uk domains has been possible via our addon module since 2014: https://marketplace.whmcs.com/product/38 Could you please share the technical details of any imminent or upcoming changes and I will make sure they are seen by the relevant people in a timely manner.
  32. 1 point
    Welcome to WHMCS.Community cmc! 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.
  33. 1 point
  34. 1 point
    The documentation example has a link for you to build your contexts. http://docs.whmcs.com/Editing_Client_Area_Menus#Context If you aren't passing anything already, just remove the line "Menu::addContext()" as you don't need it. Context is used to pass data from your php script to the sidebars.
  35. 1 point
    No worries, you're welcome and I'm glad to hear your success!
  36. 1 point
    wrong: 2048mb correct: 2048M
  37. 1 point
    Sounds like you have set the PHP directive for memory_limit wrong in the php.ini or user.ini file. Set this to 128M, should work: memory_limit = 128M
  38. 1 point
    Hello! Welcome to the WHMCS 7.5 Release Board! We've created this board to provide a dedicated area on the community to ask questions and get help with the WHMCS 7.5 Release. We'll be running this board for a two-four week period following the release. After that time we'll move the posts into the appropriate boards and retire it. This is the first time we're trying out a dedicated WHMCS.Community Release Board for a release like this, so please take the time to let us know what you think. We look forward to hearing your thoughts and helping you get the most out of WHMCS 7.5. Thanks
  39. 1 point
    Yay! Thanks for this tip, you made my day
  40. 1 point
    this is an unhelpful comment, but it should work! anything in the activity log ? if you have to, you could always use... {$total|replace:'$':''}
  41. 1 point
    Just wanted to add a bit of context here, what is discussed here is a method to add code server side that can be triggered remotely. For me an API can be understood as a promise between the developer using it and then developer providing it to communicate and respond in specific ways. We work hard to preserve backwards compatibility with our APIs. We are not making that kind of a promise and in fact this will not work with our API Credential Roles functionality. If you want to implement a URL that can run custom code, I would recommend using an addon module with the admin area output or client area output functionality: https://developers.whmcs.com/addon-modules/admin-area-output/ https://developers.whmcs.com/addon-modules/client-area-output/
  42. 1 point
    it looks like the jQuery code for this is in /templates/six/js/scripts.min.js - which you could edit in scripts.js and then minify it... how simple it would be to add/copy the functionality to a customfield, I don't know... it certainly looks doable. if it helps, perhaps you might want to take a look at the jQuery source code used for this - WHMCS didn't write it themselves (which probably explains why it works and looks good lol)... https://github.com/jackocnr/intl-tel-input if you can't figure out how to duplicate the existing WHMCS code, i'd be tempted to just start from scratch and use the above plugin solely for your customfield... I might be tempted to have a play with this at the weekend - though if you do it successfully sooner, do post the solution as it will allow me to spend time on other projects!
  43. 1 point
    there would be a few ways to get the product ID - one of which would be to use the Class documentation... so if we modified your hook to use that... <?php use WHMCS\View\Menu\Item as MenuItem; add_hook('ClientAreaPrimarySidebar', 1, function (MenuItem $primarySidebar) { $serviceDetails = $primarySidebar->getChild("Service Details Actions"); if (empty($serviceDetails)) { return; } $service = Menu::context('service'); $pid = $service->packageId; $gid = $service->product->productGroupId; if ($gid == '10') { $serviceDetailsChildren = $serviceDetails->getChildren(); $keysToUnset = ['Change Password', 'Login to cPanel', 'Login to Webmail']; foreach($serviceDetailsChildren as $key => $service_details_child) { if (in_array($key, $keysToUnset)) { $serviceDetails->removeChild($key); } } } }); that will then give you access to 2 variables - $pid and $gid - then it should just be a case of modifying the if statement to check for specific products or productgroups (or an array of them)...
  44. 1 point
    Hola a tod@s, Por si a alguien le interese, disponemos de un módulo WHMCS con el cuál se puede realizar la emisión de factura electrónica en Ecuador. Este módulo se integra al sistema Nodux Facturación Electrónica el cual es quien se encarga de realizar la firma y emisión. En WHMCSm en las prefacturas les aparecerá un botón "Facturar" de tal manera que al hacer clic, se genera y envía la respectiva factura o nota de crédito electrónica. Los clientes pueden descargar su facturas electrónicas desde la aplicación web del sistema Nodux Facturación Electrónica. Además, tenemos un módulo adicional para que sus clientes desde WHMCS (área de cliente) puedan ver (en listado) y descargar los archivos RIDE (PDF) y XML de los comprobantes electrónicos. Cualquier inquietud que tengan al respecto o desean más información por favor me la hacen saber. Gracias
  45. 1 point
    well I originally tried it on a non-gmail account read in Thunderbird - that works fine... i've just tried it again with the invoice email sent to a gmail address and it still works fine. the only difference I can see is that when view the email on the gmail website, clicking on the link generates a popup window saying "You are submitting information to an external page. Are you sure?"... do you have any firewall/adblockers that would block these popups as I suspect that could be the reason the link wouldn't work for you.
  46. 1 point
    it's probably worth mentioning that you can easily do that with the Integration Code - you just remove the TLD dropdown! <form action="path to domainchecker.php" method="post"> <input type="hidden" name="direct" value="true" /> Domain: <input type="text" name="domain" size="20" /> <input type="submit" value="Go" /> </form> remember that the integration code is just the bare bones required - you can style it however you wish... you should just be able to copy the code from the template and add it inside the integration code... <form action="path to domainchecker.php" method="post"> <input type="hidden" name="direct" value="true" /> <div class="container text-center"> <h2>Begin the search for your perfect domain name...</h2> <div class="row"> <div class="col-md-8 col-md-offset-2 col-sm-10 col-sm-offset-1"> <div class="input-group input-group-lg"> <input type="text" class="form-control" name="domain" placeholder="eg. yourdomain.com" /> <span class="input-group-btn"> <input type="submit" class="btn btn-warning" value="Search" /> <input type="submit" name="transfer" class="btn btn-info" value="Transfer" /> </span> </div> </div> </div> <div class="row"> <div class="domainchecker-homepage-captcha"> <script src="https://www.google.com/recaptcha/api.js" async defer></script> <div id="google-recaptcha-domainchecker" class="g-recaptcha center-block" data-sitekey="fred"></div> </div> </div> </form> in the above example (which does work!), i've left the google recaptcha code in - but you could remove it if you wanted to. then it's just a case of styling your site css to match the css used by WHMCS domainchecker.
  47. 1 point
    Hello, I figured I would share with you how to setup Google Apps to work with WHMCS Support since I figured it out myself. With this way, you can use multiple support departments despite Gmail rewriting the from address. I suggest reading the entire thing over first, then follow each step. Step 1 - Sign up for Google Apps A. Visit http://www.google.com/apps/intl/en/business/ and sign-up. For those of you in need of a free edition, use this link: http://www.google.com/apps/intl/en/business/editions.html B. Verify your domain by uploading the .html file or adding the cname record C. Follow the instructions for configuring Google Apps and configuring your DNS. You will need to change and add MX records, add cname records, etc. You should be able to find help at Google if you need it. Note: this will make your old setup no longer work. I am listing this in Step 1 so it gives time to propagate. Step 2 - Create Email Accounts A. From within your new Google Apps dashboard, create your email addresses according to your departments (ie. support@example.com, sales@example.com, etc). The passwords can all be the same if the password is strong enough. However, you may want to consider having them all be different. B. Create another email account such as main@example.com, info@example.com, hello@example.com, etc. Use a strong password. C. Log in to each of the new email accounts to activate them. Enable POP and IMAP while you are logged in. Step 3 - Support Departments in WHMCS A. From within WHMCS, create or edit your support departments. Use the following information: hostname: pop.gmail.com port: 995 user: youremail@yourdomain.com pwd: yourpassw0rd Be sure that you have Imap-SSL/Pop3-SSL enabled on your server. Check to see if your server/firewall permits the connection: telnet gmail-pop.l.google.com 995 B. Create the cron job: "*/5 * * * * php -q /home/username/public_html/whmcs/pipe/pop.php" Note: you may want to alter the minutes so that the emails are imported faster than 5 minutes. Step 4 - SMTP in WHMCS A. Refer to http://forum.whmcs.com/showthread.php?t=13845 (easiest thing to do here is download the new files from http://sws.vxcomputers.com/includes.zip). Note: backup your database and backup the two individual files you will be overwriting. Not responsible for any data loss or issues. B. Go to Configuration > Mail Mail Type - SMTP SMTP Port - 587 (make sure this isn't blocked on your server/firewall) SMTP Host - tls://smtp.gmail.com SMTP Username: enter in that 'main' email address you made. (ie. main@example.com, info@example.com) SMTP Password: your_strong_password Step 5 - The Trick A. This is the part I figured out that makes this possible. It is the key to making this work with multiple departments. Log into your 'main' email account (ie. main@example.com, info@example.com). Click the "Settings" link in the top right corner. Click the "Accounts" tab. In the "Send mail as:" section, click the "Add another email address you own" link. Enter in the name of the department (ie. Company Support or Company Sales) and enter in the respective email address. Click the "Next" button. Send the verification. Wait until you get a new support ticket in WHMCS. In the new ticket, find the verification code and paste it into the pop box that is open from your Google Apps accounts. B. Repeat Step 4 A for as many departments as you have Note: Step 4 will enable you to have multiple support departments and will prevent your email from being marked as spam. Some providers such as Hotmail will show your emails as "From Company <mail@example.com> on Behalf of Company Support <support@example.com>". I don't see a workaround for this and it doesn't really bother me. When they click the "Reply" button, it will reply to the respective department. The only way to totally stop this is to enable SMTP credentials at the department level rather than globally (in whmcs). I don't think I missed anything, but if you need help just reply. Regards, Anthony
  48. 1 point
    Or create an .htaccess 301 redirect. Imo it's better because in this way you don't have to worry when you replace template files when you install updates, templates or edit existing ones. Redirect 301 /supporttickets.php http://whateveryouwant.example.com/support
  49. 1 point
    You can do it manually in the database. I've gotten myself locked out before, and that's the only way to do it.
  50. 1 point
    Is there any Network Issues API? I would like to automate reporting problems from our monitoring system. -sc

Important Information

By using this site, you agree to our Terms of Use & Guidelines