Jump to content


Popular Content

Showing content with the highest reputation since 01/12/2020 in all areas

  1. 1 point
    Happy accountant? They have no feelings and exist to ruin our lifes. For an accountant that doesn't like Cancelled invoices there's one that doesn't like Paid ones. 1000 customers, 1000 accountants, 90000 different points of view. Anyway back on topic Cancelled invoices are fine and even necessary in case you can't issue credit notes.
  2. 1 point
    It's an action hook, you can't use it in tpl files. Create a php file in includes/hooks and name it as you prefer (eg. overrideIntoDNS.php) then copy the script in the file and save.
  3. 1 point
    Send Mass Mail Note down every email that gives "Sending Failed" in a PHP array In AfterCronJob iterate over the array to move the "Sending Failed" customers in a Client Group named "dead people" Make sure that "dead people" Client Group is NOT selected when you send new Mass Mail Repeat the process 2 times then stop because I'm too lazy to continue and find a better solution Keep playing with invoices 😪
  4. 1 point
  5. 1 point
    If I understoon you correctly... <?php add_hook('AdminAreaHeaderOutput', 1, function($vars) { if ($vars['filename'] == 'clientsservices') { $output .= <<<HTML <script type="text/javascript"> $(document).ready(function(){ var url = $('input[name="domain"]').val(); $('input[name="domain"] + div').children('ul').eq(0).append('<li><a href="https://example.com/hello.php?domain='+ url +'" target="_blank"><img src="https://katamaze.com/templates/kata/img/stuff/nyan-cat.png" style="height: 27px;width: 180px;"></a></li>'); }); </script> HTML; return $output; } }); The rainbow cat will open example.com/hello.php?domain={THE_DOMAIN_WRITTEN_IN_THE_INPUT}. p.s. If you are a real man, leave the rainbow cat in production! 😎
  6. 1 point
    <?php add_hook('AdminAreaHeaderOutput', 1, function($vars) { if ($vars['filename'] == 'clientsservices') { $output .= <<<HTML <script type="text/javascript"> $(document).ready(function(){ $('input[name="domain"] + div').children('ul').eq(0).append('<li><a href="https://www.youtube.com/watch?v=QH2-TGUlwu4" target="_blank"><img src="https://katamaze.com/templates/kata/img/stuff/nyan-cat.png" style="height: 27px;width: 180px;"></a></li>'); }); </script> HTML; return $output; } }); Here is the output.
  7. 1 point
    Same old way, jQuery. <?php add_hook('AdminAreaHeaderOutput', 1, function($vars) { $output .= <<<HTML <script type="text/javascript"> $(document).ready(function(){ $("#intellisearchval").closest('div').append('<img src="https://katamaze.com/templates/kata/img/stuff/nyan-cat.png" style="height: 27px;width: 180px;">'); }); </script> HTML; return $output; }); Here's the output: AdminAreaHeaderOutput provides variables you need to inject your code in specific pages. As for jQuery, just play with selectors.
  8. 1 point
  9. 1 point
    You get used to it after a while.. Take a look at the feature request section. https://requests.whmcs.com/ some stuff has been in there as long as this request and nothing. Eventually you just stop asking and hope they don't break the product with each update.
  10. 1 point
    Hello, This is used by WHMCS, the variable being used within the files to ensure that the path to WHMCS is correct. It would not be recommended to remove it as it will be there for a reason. It was added a few versions back and has not always been part of WHMCS. I think anyone who is going to check your source code for signs that WHMCS is used will find many other tell-tale signs so removing it won't really stop someone being able to find out. For example the file names (all.min.css, scripts.min.css), the structure of HTML, the page URLs etc are all easy to notice signs for someone who is familiar with WHMCS. Regards, Jack
  11. 1 point
    it will be obvious to anyone familiar with WHMCS checking the site that you're using WHMCS - not least because you've got a Powered by WHMCS branding link on it... yeah, I know it's not visible in your custom template, but I can see it in the source code (and if I switch the site to use Six).... plus there are other ways too that you could tell it's WHMCS. but to the question if you need it - let's put it this way, there's no reason to remove it. 🙂
  12. 1 point
    the password is encrypted when creating the account - once it's encrypted, you can't later decrypt it. one option would be to create a client custom field , make it admin only so that the client can't see it in their client area. then update the "Client Signup Email" email template to use this custom field instead of $client_password. when you create the new client account in the admin area, enter the password twice - once in the password field and again in this custom field - when the email is sent, it should then include the visible password value and not ********** however, there are two very important security issues to bear in mind... custom field values, including passwords are NOT encrypted in the database. it's not good practice to send visible passwords like this via email. now I understand that difficult clients might make you want to ignore issue 2, but always remember issue 1... and think very carefully before you do down this road. you could tweak the email template so that for "normal" clients, it just shows client_password (e.g *****) and get them to change their password, and then for these "difficult" clients, you use the CCF option and they receive the password visibly - though I would still suggest that you get them to change their password.
  13. 1 point
    We use @ModulesGarden WordPRess Manager and love it. You can handle everything wiht it
  14. 1 point
    the advice is always to make a backup of your install & db before upgrading. there should be no template changes to ordersummary between v7.8.3 and v7.9, so unless changes have been made to the $carttotals array and rawdiscount no longer exists, the code should still work. you could add {debug} to the template, that should generate a popup window when you refresh the page and check if the $carttotals array still includes rawdiscount... don't forget to remove {debug} afterwards.
  15. 1 point
  16. 1 point
    Greetings, I'm developing a module for my service which tracks usage information and my current module works fine, usage metrics which released for WHMCS v7.9 attracted me and hence found a use case for my service but the issue that I am facing is usage data won't update (not even once!) I've followed all these links including Usage billing feature doc, Usage metrics provisioning module doc and class doc whereas have posted my relevant code and details on whmcs community under whmcs 7.9 beta discussion but did not recieve any help so far on this issue below is the link for that post: If anyone in the community(either from WHMCS staff or anyone ) knows what's wrong and can help it'll be much appreciated as this feature is quite important for my organization. Thank you!
  17. 1 point
    yes - either by editing theheader template or using an action hook. the hook below should change the logo based on client groups - it needs to be given a filename (ending in .php) and uploaded to /includes/hooks <?php # Compamy Logo Based On Client Group Hook # Written by brian! function client_group_logo_hook($vars) { $client = Menu::context('client'); $groupid = $client->groupid; if ($groupid > 0) { $logo = "assets/img/logo".$groupid.".png"; if (file_exists($logo)) { return array ("assetLogoPath" => $logo); } } } add_hook("ClientAreaPage", 1, "client_group_logo_hook"); it assumes that the logos for each client group are... uploaded to /assets/img/ - although you can put the images anywhere and adjust the path in the hook... the filenames of the logo images are in the format logo{groupID}.png - so the logo for client group #1 will be logo1.png; the logo for client group #2 will be logo2.png and so on. if the logged in client is a member of a client group, and if the image file exists, then the logo variable will be updated to the correct URL - if they are not logged in, or a member of a client group or if the image doesn't exist, then the hook does nothing and the default logo / text will be shown.
  18. 1 point
    Sorry, I forgot to include Capsule. Use this: <?php use WHMCS\Database\Capsule; require __DIR__ . '/init.php'; $gmailPassword = "MyPassword"; $command = 'EncryptPassword'; $postData = array( 'password2' => $gmailPassword, ); $results = localAPI($command, $postData); print_r($results); $results['password'] contains your password en encrypted format. You can insert this into the database like this: <?php use WHMCS\Database\Capsule; require __DIR__ . '/init.php'; $gmailPassword = "MyPassword"; $command = 'EncryptPassword'; $postData = array( 'password2' => $gmailPassword, ); $results = localAPI($command, $postData); $newPass = $results['password']; $changePassword = Capsule::table('tblconfiguration')->where('setting', 'SMTPPassword')->update(['value' => $newPass]);
  19. 1 point
    Not everyone is happy with the general way v7 is going, (v6 and v5 where better) and since it seems v8 is coming next year or is planned at least. What are your main wish lists for that new version looking it from a developer or business view. What do you like WHMCS to change, improve or even remove in the future? Here is my list: More opt-in Make things more opt-in. Some things in v7 are not useful for more advanced users, like auto update, or the market store. I would like to have that stuff removed. Now I have more files and more bloat on my installation which I don't use and never will. This things should come as a separated module and if they are disabled or not installed, the code should not even be live in your server for security reasons, performance and just general simplicity. Less is more sometimes and many of those features I don't require as they are targeted to click one night operations, and not more longer power users that want to tweak and adapt WHMCS to their own operations. Bug Tracking A better bug tracker. Asking with a ticket if a bug is fixed or having to hunt down the change long on each release is painful and time consuming. Sometimes I think WHMCS as a company is very inefficient with some operations. Hiring people costs them money, so why do they want to babysit things like this. Having to answer tickets costs them time and this could be avoided with a proper bug tracker. This can't scale. Better feedback from users Feature requests. This is completely broken. Why use a different system when you have a nice community here? Build the feature requests and vote system here. If you don't want to build a bug tracker, you can even do the same here on the community for bugs and only customers with a valid license can access assuming WHMCS does not want to make this public. Slow down with features Longer releases. This could be a bit controversial but I would rather prefer WHMCS to slow down a bit. Every new release introduces more bugs than features. The Beta testing should be longer and I would be ok with maybe only 2 major releases per year. Just keep releasing patches for bugs. They are adding so many new things which are related to external services and I don't think they are aware the minefield they are creating. WHMCS should not be heavily coded to work with remote stuff. Try to build more things that work locally in your server instead of just releasing new features that require third party services. Longer Releases Longer LTS releases. They are not long releases if they only last a year. Look how Microsoft does it, 10-15 years. Or even Red Hat. The people using LTS are companies or enterprises and I'm not saying WHMCS should support them 10 years, but seriously 1 year or just a bit longer? Most developers even support their normal releases for at least 3 years. The LTS should be a minimum 3 years unless the PHP or code they rely on is not supported anymore, which is a different story. Can you imagine if everyone else did the same to WHMCS developers? Imagine if PHP was only supported 1 year, or Smarty, or anything. It would be a nightmare for them. So if they are aware that they rely on such much external code now, they should give the same considerations towards their customers. Not everyone has the time to update and make all their integrations the day they are released. This is a billing and cloud/hosting automation software. Not a blog like WordPress!!! And with that I mean security patches. Not even bug fixes. They don't have to even fix bugs or release new features on those versions. But please, at least still support them with security patches for 3 years after launch. It's the responsible thing to do. Better Mobile Mobile app is not updated for years. Show more love or open it up so we can add things. I have to rely on external services for ticket notifications and other things when this makes no sense if you have a mobile app. Instead of building things for something like Slack I'm seriously disappointed that WHMCS developers give more attention to external services then their own products. I can receive mobile notifications on third party services but not push notifications on my WHMCS mobile app. Shocking their own products are left to die. Finally, open up. You are benefiting from open source developers work but do the opposite to your own customers that are developers. Open up your code. Please just open up your code or at least the most important chunks to particular partners or companies. Make them sign what ever non disclosure agreement you want or even charge them. Your competition has none of your problems because the community can see and fix things. What is WHMCS so keen to protect here? Business users are not going to stop paying support and updates and they surely are not going to pirate the software. It's a bit childish, in particular because WHMCS would not exist today without open source work from others. WHMCS relies heavily on external third party open source code yet they even encode that. This is an insult to developers. They are taking all the code that is free and releases from other developers, and then pass Ioncube over it. One thing is protecting your code and licensing, the other thing is trying to protect code that is not even yours. WHMCS is encoding so much garbage that I'm sure this is the root of most of their bugs and problem because we cannot fix or see what they do. This is the biggest downside of using WHMCS. I don't think any serious provider will consider WHMCS for this reason. It's a blackbox. And I'm not talking here about the core, or billing stuff, or API stuff. No, WHMCS even encode things that affect your public website and cannot be easily modified or changed unless you make hacks around them software. You constantly have to intercept what WHMCS does and then transform the output because you have no idea what it does and how. It's a game I'm not willing to play in the future. Their competition advertises that they are 99% open code and only encode a few files related to the license. I don't expect WHMCS to do this but PLEASE if someone from the company is reading this, this is going to be your doom as a company in the next years. The minute competition comes up and is more open than WHMCS, those people are not coming back. Everyone is opening up in the software and technology industry. Even WHMCS would not exist as a company if it was not for other services developing API's which WHMCS is relies on for most of their connection. This is not the proper way to behave towards your developer customers. What exactly are they are trying to protect is beyond me. Even third party developers like Modules Garden and many others at least have an open version of their encoded modules. Everyone does at this point because they understand business users will not run things on their server they cannot fix, see what it does or just maintain. It's a trust thing. You would sell far more licenses and to people that actually have the money to pay. Do they distrust their own code so much? Well, the community would be able to constantly improve it with suggestions and fixes. Less work for their developers and the product would move forwards on its own. I just love how your competition works. The whole code is open, their whole bug tracker is open. This is causing frustration to those using the software and worse, forcing them to move out to custom solutions or more open platforms. WHMCS is never going to be flexible this way. And I would not complain about this if it was not for the fact that WHMCS is putting more and more code that was open in the past behind their ioncube wall. v6 and v5 had less encoded code/features, not more. I'm shocked on much WHMCS hates developers or people building their own sites around WHMCS because every new release is worse with more features behind the black box. This is now seriously affecting my business with things I cannot fix anymore or integrate. Everyone in the technology world understand proprietary standards are bad. And this is what WHMCS is doing, they are forcing people to even make simple changes using their own way of doing things. Why would I do this? Why should a PHP developer, or a HTML coder, or a JavaScript person learn how to do things the WHMCS way which is inefficient, buggy and even performs bad on a server? Those people want to use the standard coding procedures WHMCS developers use. Not the stupid hooks and API to even change something like a link. And I say stupid because this is exactly how I feel about WHMCS v7 at this point. You have to make a special PHP hook code (the WHMCS way) to change the sidebar text, colors or links. In the past I could just open the .tpl file and change it. Why? Because WHMCS is removing code from templates and putting it behind the IonCube wall. One day, the templates will be worthless and most WHMCS websites that are customized are going to be horrible slow because users have to create 240 hooks to change colors, links, or even text. Personally, I have access to all the database. And if I see v8 is not being more open but more closed. I'm moving out. I cannot trust my business operations to a company that wants to keep their customers under ransom. And this is how I feel when I cannot even fix the most simple bugs because the files are encoded. So my biggest wish list for v8 is for WHMCS to start being more open and trying to move towards that trend. They profit from open source but seem to hate open source which is a rather a strange business approach. One day, some of those developers may change their licenses and forbid their codes from being used in obfuscated software. If that day comes, WHMCS will have to remove that code from their software or change the way they work in terms of developing.
  20. 1 point
    I wouldn't argue with one word of that... the stuff about bug tracking is interesting - i've been here too long and have just got used to CORE-xxxxx being top secret for staff eyes only.... but taking a step back and thinking about other software bug tracking, yes it should be more accessible.... I found it far better years ago when submitting bugs was done here in the f0rum - you could actually see where the bugs are, and so try to work around them.... with BT being outside of here, then only the person submitting the bug, and WHMCS, know about it - until the next maintenance release and you can see the changelog... that's no way to do it.... at least using older releases, you know where the bugs are and that no new ones will be added - with latest versions, it's Russian roulette where the bugs are and if you're going to hit one. feature requests is a joke (and sadly not a funny one) - as you say, why have a nice community hall where we can all gather together, but when we want to make a suggestion, we need to go to the little shed at the bottom of the lane and make a note of it in there... it's ridiculous... you get users making feature requests... that nobody else knows have been created... so they then don't receive many votes... so they don't get implemented by WHMCS... and so the frustration builds.... on so many levels, WHMCS is a company that enjoys to shoot itself in the foot by its own actions. ... and if WHMCS development slowed down any more it would be going backwards - but I know what you meant.... less new features, but get them right before launch. openness applies to communication too... there's no harm in pre-warning us what's going to be in a beta before the code has been released... there might be a crap idea that we can nip in the bud before any coding time is wasted (e.g removing the domain pricing tables and then having to put them back a year later).... once they've released something as a beta, then it's a hell of a task to get a feature removed before general release... and once released, it's in there and then you're left to the feature request path to get it removed... (or apparently just have a few words with some WHMCS employees!). it's the general pervasive attitude of only WHMCS knows best that does my head in (e.g let's change how invoices are calculated and not even disucss it first), and the subsequence lack of communication - when was the last time they ever did a full survey of it's userbase and ask them what they want in the future releases (I can't ever recall one).... and i'm not counting the requests system in that, because that's a flawed broken system that needs ditching asap. v8 should be designed from a blank sheet of paper - because if it's just going to be a slight evolution from v7.6, then they might as well call it v7.7 and we can all go and find something else to use.
  21. 1 point
    it would be better to use a ClientLogout hook to avoid repeatedly having to edit the template after an update - which is what I gave @sokalsondha on the day he posted.
  22. 1 point
    what he's really saying is that he has a product in Marketplace that he thinks can deal with your issue - however, he's been here for over 10 years and knows that it's against the community guidelines to self-promote (outside of specified places)... I suspect he believes that he's getting around that by posting a vague "search in Marketplace" reply - yet, he only ever seems to do that in threads where he has an applicable product in Marketplace for sale - strange that, isn't it? to my knowledge, he's done it at least four times recently and has been reported to the authorities for them to deal with.... if he continues to do it, they'll receive further reports. there's no method built in - it only trims the tables shown in the system cleanup page - so yes, you'd have to delete the records periodically... I wouldn't have thought it would be worth a cron job, just trim when required.
  23. 1 point
    Thank you Brain, already got it forgot to update. can you look in this thread https://forums.whmcs.com/showthread.php?128295-Need-Improvement-in-Standard-Cart-Order-Template/page3 ?
  24. 1 point
    the code in post #3 will do that. https://forum.whmcs.com/showthread.php?124790-Adding-a-quot-Credit-Balance-quot-panel-to-the-client-area-home-page&p=500630#post500630
  25. 1 point
    Hi, I'd suggest creating a free product which the customer can order. That way you capture their contact information and could use product custom fields to capture the necessary information for you to create the quote.

Important Information

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