Jump to content

WHMCS Andrew

WHMCS Developer
  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by WHMCS Andrew

  1. An invoice has a payment method set on it that is separate to any manual transaction being added. If you wish to update the invoice payment method, you should do so on the Options tab of the invoice. Adding a manual payment from the Add Payment tab will not change anything on the invoice other than the status if the payment being added covers the invoice amount.
  2. I have just noticed, as a workaround, you could use the API to add/update your announcements where this hook does run differently, without the additional language sync.
  3. Hi, When the initial announcement is created or edited, the AnnouncementEdit/AnnouncementAdd hook point is run. After this hook point is run, the announcement logic will sync the languages within the announcement based on the data entered in the form just submitted. Part of the sync removes all child entries and then loops through each language and loops through only inserting rows where the content has been defined for the language. Your issue here is that you are attempting to insert a row into the table just before the sync happens. I have opened CORE-16927 internally to change when the hook points mentioned above run to ensure that all the announcement data has been written.
  4. Do you see the HTML being output on the complete page? Remember that you have the output conditionally within the {if $ispaid} block and so that will only output if the order has been paid.
  5. Hi, I think you confused what you needed to do. Remove the {literal} tags completely. Then, in the javascript, replace any { and } that aren't smarty, with the delims. I didn't mean for you to use {and} {if $ispaid} <!-- Enter any HTML code which should be displayed when a user has completed checkout here --> <!-- Common uses of this include conversion and affiliate tracking scripts --> <!-- Start TradeDoubler Conversion Tag Insert on confirmation Page --> <script language="javascript"> tdconv('init', '2269371', {ldelim}'element': 'iframe' {rdelim}); tdconv('track', 'sale', {ldelim}'transactionId':'{$orderid}', 'ordervalue':'{$total}', 'voucher':'', 'currency':'EUR','event':404916{rdelim}); </script> <!-- End TradeDoubler tag--> {/if}
  6. The {literal} tags stop any smarty parsing. That means, that the {$orderid} etc in your logic would never display. I would recommend taking out the literal tags, and replacing use of { and } anywhere you don't have a smarty variable with the {ldelim} and {rdelim} appropriately. See https://www.smarty.net/docs/en/language.function.ldelim.tpl for more information on that. Hope this helps you.
  7. In WHMCS 8 we introduced a new library to import emails when using POP. This includes a stricter validation of email headers. Unfortunately it would seem that an email in your mailbox has an invalid header. Whilst at the current time, it would not be possible to import that, if you could open a ticket with the raw email that is causing this issue, we can open a case to investigate how to not have this message occur.
  8. You would use something like: use WHMCS\Authentication\CurrentUser; $currentUser = new CurrentUser; $user = $currentUser->user(); if ($user) { $ipAddress = $user->currentIp(); } This combines the documentation for CurrentUser on https://developers.whmcs.com/advanced/authentication/ and the User model.
  9. As a workaround, you can create a customer account manually in your Stargate/UK2 account with the same email address being used here in the username parameter.
  10. Hi Sorabit, I have been able to replicate this and I have opened a case to have this resolved - MODULE-7512. Thank you for your report.
  11. The getClientsProducts API command returns an array of 'products' with an 'id' as the first parameter. See the example on the documentation page I linked to. This would be the service id that you need for the updateClientProduct API command.
  12. Hi, You would need a module of some kind in order to automatically suspend the services. If a remote connection is not required, the auto release module can be used to perform actions like this.
  13. Could this be a customised attachments directory? Check your configuration.php file for those locations.
  14. Hi Jason, If you are logged in as an admin user, you are able to login as any client without a password, or with any password. Try the same thing again in either an incognito window, or a different browser without an admin session and you will see that a password is required. Andrew
  15. I would like to add in here that the error you are getting is a generic one. You could try following the troubleshooting steps on https://docs.whmcs.com/Email_Sending_Issues#Troubleshooting and this could provide a more detailed message for you.
  16. This charset is fine, and the _ci at the end does mean it is case insensitive. How are you clients registering for your services? As Chris said, we have been unable to replicate this ourselves.
  17. The charset of your tblclients would also be great!
  18. So the menu serviceUpgrade requires two contexts if you check the table (3rd column). Client and Service: Menu::addContext('client', $clientVariable); // either \WHMCS\User\Client or null Menu::addContext('service', $serviceVariable); // \WHMCS\Service\Service
  19. says you are passing no parameters Again, shows no parameters You state here you are passing parameters, but don't actually say what you are passing. An example is difficult to provide - this is why the table on https://docs.whmcs.com/Editing_Client_Area_Menus#Context is provided. In the third column, the context required is listed with the type of context, and the value type being expected. In this image, you see the sidebar name, the files this is used on by default, and then the context required. Here you can see, a context name in bold, and the type of context required. So, for clientView, you need to provide a "client" context that has the \WHMCS\User\Client type for the currently logged in client, or null for no client. Menu::addContext('client', $clientVariable);
  20. 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.
  21. Your code specifically shows that you aren't passing any variables to the Menu::addContent method call.
  22. addContext needs variables like the error states. If you aren't adding any contexts, then you don't need to use that line.
  23. You could use a hook, CartTotalAdjustment, to add output to the cart and this would also appear on the invoice generated for the order. If you wanted something to appear on every invoice, that would be different. You could use the InvoiceCreation hook to adjust the invoice as you required, before the invoice is sent to the client.
  24. Another thing to note is that the same search is being completed on the Clients profile list in the admin area (the dropdown at the top of any clientsxxx page, clientssummary.php etc) - does the dropdown work there for you correctly in full rewrite?
  25. Hi, Are you able to provide any more information with your issue? What browser are you using? I can see that @SpeedySRV is using an SSL, does your system also have an SSL @ITWolfy? What version of WHMCS do you use, what version of PHP are you running? As much information as you can provide would be helpful.
  • 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