Jump to content


Level 2 Member
  • Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by Remitur

  1. Tip: move your headquarter to Isle of man ... 😄 😄 😄 😄
  2. Remitur

    Registrar Module

    I suggest to enable module logging in WHMCS ( utilities -> log -> module log), then try a registering operation, and see what's the detailed command sent and what is wrong...
  3. A workaround does exist. There's a module by Resellerclub-mods ( L.C.D.Registrar Module - https://www.resellerclub-mods.com/whmcs/logicboxes-registrar-module.php ) which does a lot of things ... if you use Resellerclub for domain registering. In the bulk of functions available, there's also a "TLDs which requires Additional Infos for Transfer" which makes the magic... for any TLD you set, even if it's managed by a different Registrar. Rather annoying install this module just to get this function, but it works fine.
  4. Remitur

    Adding an ICON to Menu

    There's a setIcon method to apply to get what you need: https://docs.whmcs.com/classes/7.6/WHMCS/View/Menu/Item.html After having set setIcon method, you can check all the attributes of the menu item tto see how and why it's not working (I guess you need to setup both icon and label...)
  5. Question: is it somehow possible, using the SendEmail API ( https://developers.whmcs.com/api-reference/sendemail/ ) add also a cc address? From the web interface it's possible to add both cc and bcc, but I didn't found any way to do it using API ... 😕
  6. Remitur

    MASSIVE cPanel price increases

    Absolutely NO. I can bill real resources (space, bandwidth, CPU), or other limits to the service (i.e. the number of email accounts). There's no relation between the number of cPanel accounts and the "real" usage of the service: I can set-up a single account which use enough services to fill a whole high-end dedicated server, and I can set up also a single service which uses just a few spare resources and that is used by 100 different accounts...
  7. You can do so only if you are in test environment: doing so in production environment, all of your users will access to that data too... and this is a security issue. If you want to do it in production environment, use this command: {if $adminLoggedIn}{debug}{/if} Credit: old trick by @brian! 😉
  8. Apart from WHMCS (whics does a little mess about TAX ID and VAT ID), it's something which change depending on the country... but usually it's something DIFFERENT. TAX ID is the ID assigned to a person OR to a company VAT ID is assigned only a companies involved in commercial activity relevant to VAT. I.e: in Italy, tax ID is alphanumeric for persons and numeric for companies; VAT ID is only numeric (and often is the same as TAX ID, but not always) in Slovenia, TAX ID for companies and VAT ID are always just numeric, and always different in Germany, VAT ID is numeric, and TAD ID something like 123/456/12345 ... and so on...
  9. Keep WHMCS and WP on different hosting services, and don't install both of them in the same space!!!! So, i.e., yourdomain.com for your main, wp site and panel.yourdomain.com for your WHMCS ... in a different hosting (if possible different IP, different server, different datacenter, different planet too... 😄 ) In WP use just the "integration link" provided by WHMCS; if you want to use external API calls from WP to WHMCS, profile permissions very accurately, leaving just a strict read-only (but maybe better if you create a different database, with a mysql backend replication... so your WP can access just the cloned data, purged of any sensitive information (i.e. passwords, credit card data ...)
  10. Remitur

    cPanel alternative for WHMCS

    Great discussion about this on the net... Right now the best choice seems to be DirectAdmin, which popped champagne and reacted in few hours: with a detailed how-to for mass-migration from cPanel to DA (a plugin/wizard is on the run) with a rough theme which resembles the icon interface of cPanel Let's just hope that DirectAdmin is not the next on the Oakley's shopping list... 😞
  11. I guess it's a server-side configuration, done by your provider. If you copy/paste your custom link in your browser, I guess you're redirected too, isn't it?
  12. Don't limit RCTI to Australian field: it's a kind of document existing (with very slight differences) in many countries... just let freely define the name of the document as language variable, and you did all that is required to use it moreover worldwide... WANT!!!!!!!!!!!!!!!!!!! 🤣
  13. Remitur

    MASSIVE cPanel price increases

    What would these hypothetical and phantom "big problems" be? Let me explain a real problem in two ways: a hardware fault. Metal world: you're waked up in the middle of the night by an alarm. Check that the server is unresponsive. Call for guys in farm. They report "Sir, your server is dead" (Half an hour is passed). You set up the spare-mule, and cross-finger hoping no others will fault in the meanwhile because it's the only one. You look for last backup... *, the new one was not completed, the previous is 24 hours before... so tomorrow morning a lot of hungry customers who lost one full day of data. Launch restore... and wait 6 to 8 hours to complete. Globally, 8 to 12 hours of down for your customers... and this only because you have a spare server available. If not, the down will be of 2 to 3 days... Virtual world: you wake up regularly at 7:00, do your breakfast, take a look at your system report... one node fault during the night, all VPS were automatically moved on other nodes, global load on the system is still low so you are not required to start any spare node... just call for hardware support to fix the dead one. Me "and few others" means everyone I know in the hosting industry who gives shared hosting services. And anyone gives shared hosting services on AWS, or Google Cloud, or on any cloud/virtual system...
  14. Remitur

    MASSIVE cPanel price increases

    You're right, but IMHO the new management overestimated its "dominant position". My own position about it: if they are not going to run back in a couple of weeks, I have a couple of month to find a fix (using only yearly cPanel licences, most of them going to expire between September and january 2020) I'm simply evaluating what other control panel use instead of cPanel (most probably DirectAdmin), and the same is doing a number of other hosters... It seems that we need: seven to 10 days to plan migration activity 4 hours each to migrate every single server Very little time to destroy a "dominant position" ... 😉
  15. Remitur

    MASSIVE cPanel price increases

    Welcome back in the 21st century hosting industry!!!! In what planet did you spend last 10 years? 🤣 Dedicated physical servers nowadays are used just as virtualization infrastructure. Our own hosting infrastructure is done by a dozen of physical servers (dual exa-core, 180 GB RAM, no local storage but four fibre-channel to a SAN); another third-party infrastructure we're using has physical nodes with 1 TB RAM each...) The typical VPS we realize for shared hosting has 24 GB of RAM, about 800 GB of storage, 12 vCPU. And about 400 users on each of these VPS. We had about 6 cubic meters of old servers, which have been substituted by the new infrastructure years ago. Since then, less issues, and better customer satisfaction. Competitors which remained on physical servers went to bankruptcy years ago.
  16. Remitur

    MASSIVE cPanel price increases

    The number given there by WHMCS is the number of services, not of account. For a single service in cPanel you can have dozen of accounts. Or you can have a reseller account, who create hundreds of accounts, and WHMCS will never know it.
  17. Remitur

    MASSIVE cPanel price increases

    cPanel site is down right now, but I was able to get few details about new price. New monthly price for a VPS seems will be 45 $ + 0,20 for each user account above 100
  18. While you're writing a knowledgebase article, there's no way to save it as "draft" or "hidden". But it's a task which may require a lot of time to be completed, and save your work every few minutes is a good thing... Waiting for WHMCS's guys to implement "draft mode" for knowledgebase articles, in the meanwhile there's a trick to achieve the goal: create a new category in the knowledgebase, and name it (i.e.) "draft"; mark it as "hidden"; create your new article, assigning it to "draft" category; when you have completed it, move it from "draft" to the right category
  19. Take a look at this thread too:
  20. Password strength issue, maybe? (that's to say: the password generated by WHMCS is not enough robust to be accepted by cpanel) You can also enable module logging ( utilities -> logs -> module log ) and then maybe you'll have further details...
  21. Starting from the code provided by @brian! in this post: I realized a pop-up system which shows every time user log-in, but once a day (that's to say: if the user login 5 or more times in a day, the pop-up shows just one time, in order not to annoy him) The pop-up shows to the user his previous log-in time, and one "trick of the day" (randomly chosen one) (IMHO, "trick of the day" is a great way to spread knowledge and marketing news without annoying the user) The code, in form of a hook (note: line #35 is for testing purposes only: remove or comment it): <?php //Show modal popup to clients, with a welcome message and a random trick of the day //original code by brian! , modified by Remitur function client_custom_headoutput_hook($vars) { $head_return = ''; $head_return = '<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> <script> $(document).ready(function() { $(\'#myModal\').appendTo("body"); function show_modal(){ $(\'#myModal\').modal(); } window.setTimeout(show_modal, 100); $(".dismiss").click(function() {}); }); </script>'; return $head_return; } add_hook("ClientAreaHeadOutput",1,"client_custom_headoutput_hook"); use Carbon\Carbon; function client_custom_headeroutput_hook($vars) { $client = Menu::context('client'); $lastlogin = Carbon::parse($client->lastLoginDate); $enddate = Carbon::parse($client->lastLoginDate)->addDays(1); // next line is just for testing purposes: remove it! $enddate = Carbon::today(); $today = Carbon::today(); $templatefile = $vars['templatefile']; if (empty($client->id)) { return; } if ($today >= $enddate and $templatefile == "clientareahome") { $header_return = ''; $header_return = '<div class="container"> <div class="modal fade" id="myModal" role="dialog"> <div class="modal-dialog modal-md"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">×</button> <h4 class="modal-title"><i class="fa fa-thumbs-up fa-lg"></i> '.Lang::trans('hello').', '.$client->firstname.'</h4> <p>Your last login has been '.$lastlogin.'</p> </div> <div class="modal-body"> <p>Trick of the day:</p> <p>'.Lang::trans ('tricks.'.rand(1,13)).'</p> </div> <div class="modal-footer"> <button type="button" class="btn btn-primary dismiss" data-dismiss="modal">'.Lang::trans('orderForm.close').'</button> </div> </div> </div> </div> </div>'; return $header_return; } } add_hook("ClientAreaHeaderOutput",1,"client_custom_headeroutput_hook"); The tricks are provided as an array of language variables; here there're 13, I guess that 30 is the minimum reasonable number; more is better. In the tricks you can provide also internal and external links (just one here for example): #====================== tricks for popup ============================================ $_LANG['tricks']['1'] = "On DomainRegister you can register your own .com.br domain even if you have not a headquarter in Brazil"; $_LANG['tricks']['2'] = "Interface on DomainRegister is available in three different languages (English, Italian and Slovenian): select your preferred one using the flags in the upper right corner "; $_LANG['tricks']['3'] = "On DomainRegister you can renew any domain up to 10 years in advance (even those for which a multi-year renewal is not envisaged)"; $_LANG['tricks']['4'] = "If you manage a large number of domains, on DomainRegister you can create one or more DNS templates, to quickly implement complex DNS configurations for each single domain "; $_LANG['tricks']['5'] = "Using wildcard SSL certificates, with a single SSL certificate you can secure both your main domain and an unlimited number of subdomains on any number of different servers"; $_LANG['tricks']['6'] = "<a href=\"https://domainregister.international/dns-service.php\" target=\"_blank\">DomainRegister's DNS service</a> (which is free for any domain registered through us) got 100% uptime... since 2011!"; $_LANG['tricks']['7'] = "If you change the data of the registrant of a .com domain, you cannot transfer the domain for 60 days (sixty days lock)"; $_LANG['tricks']['8'] = "With DomainRegister's Linux Pro hosting plan, you get your own, dedicate european IP for your site"; $_LANG['tricks']['9'] = "DomainRegister's StarterMail starts with 5 email addresses and 5 GB archive space, and may be expanded up to 25 email addresses and 25 GB archive space; larger solutions are available upon request"; $_LANG['tricks']['10'] = "Keep your domains and services safe by protecting them with 2FA authentication: on DomainRegister it's free!"; $_LANG['tricks']['11'] = "trick 11"; $_LANG['tricks']['12'] = "trick 12"; $_LANG['tricks']['13'] = "trick 13"; Any idea to improve this hook is welcome!
  22. Remitur

    Welcome popup with trick of the day

    You're right!!!!! Psychology of bug generation: read "Date", write "Day", think "I'll test it later"... 😂 Thank you for the fix, I was able to edit the original post which is now correct
  23. Trick: in the hook you need: 1 - remove the "[merge]" from the object 2 - send the answer to the user Doing so, your merged ticket will no have [merged] tag anymore, but you'll not have any loop... and your hook will work even if the user sends two or more messages to be manually merged.
  24. When you merge two tickets, the object changes from "whatever the object is" to "whatever the object is [merged]" So, I guess, you can use this hook: https://developers.whmcs.com/hooks-reference/ticket/#ticketsubjectchange (a little further coding will be necessary, because you need to check that "[merged]" does exist in $subject)
  25. Remitur

    How do i hacker hack a whmcs installation?

    A couple of tricks to add to what suggested by WHMCS: enable and force 2FA for admin access keep your backup(s) on a different system do not use "strange" (nulled...) themes and add-on protect your phpmyadmin access

Important Information

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