Jump to content


Level 2 Member
  • Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by steven99

  1. In WHMCS, you have "servers" that are typically used to hold server login details in order to perform remote functions on that server. However, you can also use this grouping feature to keep track of other stock controlled items such as server cabinets or services not requiring an remote functions but that you need to have grouping of. WHMCS has an "Auto Release" feature module that creates tickets or to do items for different types of service events. However, WHMCS does not support assigning a service to a server while using the Auto Release module in the product. This server module brings in the auto release features of creating support tickets and to do items on service related events while also allowing you to assign services to a server that is using this module. First year of support and updates included. After that point, a support and updates package is required for access to download the module and access support. You are able to continue to use the module without an active support and updates package. Order: https://clients.u2-web.com/cart.php?a=add&pid=56 If you have any questions, please contact me .
  2. Just put the width and height tags in the <img section in that hook. For example, best spot would be before the ">" but after the " so like: $gateways[$key]['name'] = '<img src="'.$logo.'" alt="'.$gateway['sysname'].'" width="100" height="5000">';
  3. steven99

    OOPs error on Domain button

    If you restore the database, it will wipe out any data that was saved between the backup and what is there before you restore. Which domain registrar modules are you using?
  4. Would need more info unfortunately. How is the data changed exactly and how is the seal being verified?
  5. steven99

    Pre-Sales contact form

    Do you have any addons, hooks, or other modules ? If not, might best to contact support directly.
  6. steven99

    Pre-Sales contact form

    Try changing from your custom template to the default, six for example. If that resolves the issue, then it is your template and it likely needs updating.
  7. Would not recommended it. Skrill probably has clauses in their terms of service to prevent business usage of personal accounts . If they found you using a personal account for business, they could keep the money in the account or other punitive actions. What is stopping you from getting approval?
  8. Have not seen a module like it, however, keep an eye out as it seems like a need.
  9. steven99

    GoCardless Usage Questions

    WHMCS will attempt the charge on the due date. That applies for any automated processing. Depending on your settings, it will also then try again every week for x amount of time if it fails. At the charge time, WHMCS should set invoice status to payment pending. After that and once you get the confirmed status, the module should then update the invoice with a paid status. If you want invoices to generate early, like 5 days before the due date, you can do so via the Setup menu -> Automation Settings -> Billing section -> Invoice Generation setting . You can also set via the advanced settings of the Invoice generation time different days out to generate for different billing cycles . For example, I set yearly to generate 30 days out and monthly 7 days out.
  10. steven99

    [ask] Module VM Status Client Area

    Okay, lets presume you return an array like this in _clientarea(): <?php $aR = array( 'vars' => array("Status"=>$return['vmstat'], 'hostname'=>$return['hostname'], 'IP'=>$return['ipaddress']), 'templatefile' => 'clientarea'); return $aR; templatefile is the actual template file you want to use without the .tpl . If you put templates in to a sub folder of the server module's folder, then just add that folder name before it like any other path. Just remember to leave off the .tpl as smarty (the template engine) adds it on. vars is what will be provided to the template. Now in the clientarea.tpl, to output your variables, you just use {$variableName} such as: <h3>Host</h3> {$Hostname} <h3>Status</h3> {$Status} <h3>IP Address</h3> {$IP}
  11. Well, the typical way when WHMCS doesn't do want you want -- make it via modules and hooks. I can see WHMCS side that a WHMCS "server" should be used for account control or like VM management or other remote functions. However, if a provider doesn't use such functions and wants to keep services organized in a group, then I can see the need. In this case, someone on WHMCS team mentioned using a server module to get the functionality back. If I understand the requirements, using the _createAccount() function to add a to do and a ticket would give you the same functions as the autorelease while still allowing you to assign a service to a server. Is there another requirement I might be missing here?
  12. steven99

    Help in preparing a gateway module for sale in WHMCS

    Encode using ioncube per their instructions for your OS . It is simple to do, at least on linux. Just note that you need to set for PHP 7.1 and above as php 5.6 to 7.0 uses a different encoder version. As for licensing, the WHMCS license addon works good. There is an example license check php file that you can use as a starting block . Basically, just take that example and put in a function and call that license check function in any function you want.
  13. steven99

    [ask] Module VM Status Client Area

    In the server module, you would use the _clientarea($vars) function to output your content to the browser. So in this case you would get the status of the VM by incorporating that status file you found in to a function and calling that function in _clientarea() for the status to then output via the server module's template file.
  14. You're close, the clientid and ticket id need to get the values from $var and currently you are basically giving it an array with one element called "clientid" and "ticketid". Try this one out: <?php use WHMCS\Database\Capsule; add_hook('TicketStatusChange', 1, function($vars) { if ($vars['status'] === "Under investigation") { $Message = "Hey there,<br><br>Your ticket has been assigned to one of our technical team members and is currently under review, they will reply back here shortly with an update or to request more information about your issue."; } elseif ($vars['status'] === "On Hold") { $Message = "Hello, your ticket has been changed to ".$vars['status']." status."; } if (isset($Message) and $Message) { //We have a message, so add it as a reply $command = 'AddTicketReply'; $postData = array( 'ticketid' => $vars['ticketid'], 'message' => $Message, 'name'=>'TicketBot' 'useMarkdown' => true, ); $results = localAPI($command, $postData); } }); Note I added a status check as this would fire when closing a ticket and so I doubt you want to send the message at that point. Also it appears using the clientid in the addticketreply makes the reply show as coming from the client and IMO it should show as a system / admin reply instead and so do not give it .
  15. I think @Chad was referring to 2FA in terms of securing WHMCS. The other items you mentioned are a bit different though could I guess add additional layers of security .
  16. steven99

    Shady customer.. what to do

    Are you sure it was from your bank? Did you also receive an email notice or other type of notification of this?
  17. A quick idea would be to do a custom page or addon module that then has a form that mimics the upgrade form's fields and does a javascript form submit to the upgrade.php file. On document ready, just do the form submit and it will take the visitor to the upgrade form. In the custom page or addon, just check that the client is logged in and the upgrade path is valid or just send it off to whmcs and let it decide that .
  18. Check the email template for the payment confirmation for usage of invoice_id instead of invoice_num. The invoice_num would be the formatted, long number version. Where the invoice_id is the database table's id .
  19. Is the myworks module to sync both ways? (WHMCS clients -> Quickbooks clients/customers AND Quickbooks clients / customers -> WHMCS clients) If so, have you contacted myworks on this issue as that would explain the duplication.
  20. There may be addons that do bounce back detection but didn't check that much because those I have seen were by devs that are no longer doing updates. Though those addons wouldn't do the action you want but could get you half way there. To do a custom solution, you would need the following: Sending out via an address that you have setup in a WHMCS support department -- billing@ for example This is needed for bounces to get returned to you A Support department in WHMCS that WHMCS pulls mail in to You can have multiple, it wont matter Client custom field for tracking bounces TicketOpen hook - this will parse the mail for bounce back messages and add a flag to the mailBounced custom field DailyCronJob hook - check through the clients for the mailBounced custom field and take action as needed. Another option is to use a transactional mail provider such as mailgun and check for bounced addresses via their API and then do the action needed. With that said, you may not want to do auto closing just because of the mail bounces, especially if they have active services.
  21. Well, their answer isn't completely wrong either as you would not want to have a customer with multiple services using the same FQDN or multiple client's using the same FQDN for any service. Also, hostnames are usually "server.example.com" instead of just "example.com". (there might be a RFC on that also) Adding a note to the hostname field to use that format may help those that read it and are confused on why the error comes up. Though would agree it should be optional validation.
  22. steven99

    Account Statements Module

    Make sure you have the admin role set in the module's configuration page -- Setup menu -> addon modules -> the module's configure button -> admin user roles .
  23. steven99

    GoCardless (stupid question)

    From reading the API docs for GC, it appears mandates are tokens to the customer's payment authorization. As you use mandates during payment taking, it would appear they could be used for any invoice / amount you provide. This is similar to Stripe's sources / cards and customer objects. As long as the WHMCS module stores the mandate token in the card info (gatewayid), then it can be used for any service / invoice you generate. Subscriptions on the other hand would be unique to each service.
  24. steven99

    Domain Registrar Module

    On the domain's info page in WHMCS admin, what happens if you do a button action? (Register, renew, etc) Those buttons should run the same functions that order processing does. Also, when accepting the order does WHMCS put the registrar module down in the registrar menu on the domain's info page?
  25. Was in a bad coding mood I guess and I know better on the loops. 😉

Important Information

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