Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


steven99 last won the day on September 22

steven99 had the most liked content!

Community Reputation

134 Excellent


About steven99

  • Rank
    Level 2 Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Since you mentioned purchasing an extra month, I am guessing you do not mean the typical recurring monthly setup that is possible per product? Instead you want to do early renewals basically where a client can renew a service for 1, 2, 7 more months ahead of time? If so, beyond using the Add funds option, I don't think that is possible out of box. Would be possible via a custom addon with a hook or maybe even just a hook. A server module if coded to support such a setup could do it but most if not 99.9% wont be coded to do that.
  2. @leemahoney3 Hook looks good. Noticed a couple items: print_r is present - though should not cause issue really as its in the cron but still outputs Would change to using models directly. I prefer dealing with models so much that when a model isn't known, and I don't want to dig, I will just create a basic model to use within an module that can be extended or replaced with the "official documented" model down the road. $invoices = WHMCS\Billing\Invoice::where('duedate', $theDueDate)->where('status', 'Unpaid')->get();
  3. \W might be what you want then if you want all special characters to be valid. Where \w matches letters, numbers - alphanumeric, \W matches non-letters, non-number - non-alphanumeric.
  4. Clients menu -> Product / Services -> filter by each product. One isn't found, delete that and repeat. Isn't as easy as a report perhaps but gets the job done at least.
  5. Using an output hook or a hook that accepts a template variable override should work. You just need to create / build the variable to inject like you did for the widget.
  6. If you want them to be allowed, then they have to be included in the character match. For some of them, you may need to escape the character via a "\" before it. Also, https://regex101.com/ helps greatly in testing and figuring out regex .
  7. Couple items I noted in the code: Replace raw queries with eloquent models -- using objects will be a lot easier on you, future you, and others to read what is going on updateInvoiceTotal function call isn't defined in the module - is that an internal WHMCS function? That milestone could be done as a separate module table and an interface to manage it or a module setting with comma limited values - for example: stripe:25,mailin:1000 . To do the single field method, it would be best user wise to do the formatting for them and enter the values via javascript. Isn't there a hook floating around this community also that does this? That module is mainly a hook so may have come from that.
  8. Out of the box, not possible. A product can have multiple files allowed for download but that doesn't sound like what you want. A service module, could be addon but I think server/service module would be better, would be needed to be dev'd. Using a configuration option listing the file, pricing for that file, etc and then the server module gets that configuration option and in the service details page provides a download link. This replaces the built-in download functionality but since that is limited for you, it is is needed. Using the built-in download feature might be possible but would require securing the download links in some way so the module isn't bypassed. There might be a module on the marketplace that does this, however, did not see one right off in the minute or two of looking.
  9. Use the Support -> Downloads page . Create a category for the product. Upload / add the downloads to the category. Check "client only" and product download checkboxes. In the product / service editor, go to Other and select the downloads to allow in the list.
  10. Can you reproduce this every time on a fresh install or just happened once? If every time, support should be contacted with further info .
  11. Changing the template would be the best option for this. You could use ClientAreaFooterOutput hook and some javascript to change the class would work but you would need to filter down to ids so not to change all panels -- and some don't have ids .
  12. Though the example for registrar modules give 'success' in the return, code I have seen for registrar just has the nameservers. What happens if you remove the success row? From what you have provided, it seems WHMCS is trying to use that as nameserver .
  13. Some mail clients block remote images to prevent tracking. Though those that do also mention that content was blocked.
  14. Check the payment transaction within Stripe it self as sometimes it provide a bit more info. Some cards from countries in the EU and other locations have required additional authentication steps to be done and in some cases for them to specify what type of transaction can be done on a card. So although the card may work otherwise, it could be blocked by their settings or bank - though you would think the bank would mention that.
  15. Remove the "return;" sitting all alone before all the fun starts. You are basically stopping the rest of the file from executing with that there.
  • 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