netnow Posted February 25, 2020 Share Posted February 25, 2020 Is it at all possible to turn off functionality if individual features inside WHMCS? The idea here is to have the client portal enabled, allowing them to log in, but for the time being, only have the ticketing / support features enabled. Later on, enabling domain registration, then later on, enabling invoicing/billing. Has this / can this be done? -T 0 Quote Link to comment Share on other sites More sharing options...
Kian Posted February 25, 2020 Share Posted February 25, 2020 (edited) Yes: Use ClientAreaNavbars and ClientAreaPrimarySidebar hook points (and secondary ones) to remove menu items Use ClientAreaPage to redirect clients who try to access your "disallowed" pages Edited February 25, 2020 by Kian 0 Quote Link to comment Share on other sites More sharing options...
brian! Posted February 25, 2020 Share Posted February 25, 2020 1 hour ago, netnow said: Is it at all possible to turn off functionality of individual features inside WHMCS? from settings, usually not (depends on the feature). 1 hour ago, netnow said: The idea here is to have the client portal enabled, allowing them to log in, but for the time being, only have the ticketing / support features enabled. Later on, enabling domain registration, then later on, enabling invoicing/billing. you could code it with hooks, either to visually remove the navbar/sidebarlinks to the non-support pages and/or removing direct access to these pages, e.g if someone tries to visit the invoices page, they're redirected back to the client homepage (or wherever you want to send them). thinking about it, you'd probably need to do both - no point having a link that goes elsewhere, and if they're familiar enough with WHMCS, they'd know the direct links anyway. you're probably not thinking this, but if you were using client groups, then you could specify what each client group were entitled to see, e.g bronze only sees support pages, silver sees what bronze sees and can order domains, gold can see everything etc... but that's probably just an unnecessary complication. 1 hour ago, netnow said: Has this / can this be done? undoubtedly - myself and others have posted hooks to do it in a limited way, and Kian has told one which hooks you'll need to use. I suspect you'll also want to check that the user is logged in, e.g to prevent access to knowledgebase, announcements etc to non-clients. 0 Quote Link to comment Share on other sites More sharing options...
netnow Posted February 25, 2020 Author Share Posted February 25, 2020 Brian, Kian, Is there somewhere (short of studying to become a PHP/WHMCS developer), that I go and read 'how' to actually do this? -T 0 Quote Link to comment Share on other sites More sharing options...
ShaunR Posted February 25, 2020 Share Posted February 25, 2020 You can find a lot of useful dev stuff over at https://developers.whmcs.com/ Your going to need to use hooks to remove any of the nav links you don't want visible. Your also going to need to use hooks to force redirect them if they try and access a section of WHMCS that you don't want them to see. 0 Quote Link to comment Share on other sites More sharing options...
brian! Posted February 26, 2020 Share Posted February 26, 2020 19 hours ago, netnow said: Is there somewhere (short of studying to become a PHP/WHMCS developer), that I go and read 'how' to actually do this? it's always been farcical that you need to use PHP hooks to modify the menus.... 🙄 with regards to the navbars and menus... https://docs.whmcs.com/Editing_Client_Area_Menus https://docs.whmcs.com/Client_Area_Navigation_Menus_Cheatsheet https://docs.whmcs.com/Client_Area_Sidebars_Cheatsheet there are also plenty of working example navbar/sidebar hooks posted in these forums. but if you don't fancy getting your hands dirty with coding navbar hooks, and want to use a third-party addon to manage them, then there is the Advanced Menu Manager that replaces the menu code with it's own and allows for nested levels (though you won't need that feature yet)... if memory serves, it doesn't handle sidebars. assuming this is Six, there would be a way to hide them without hooks by using CSS, but the links would likely still be visible in the source code (for those clever enough to look there!). with regards to the redirect hooks, what you really need to think about is to create a whitelist of what clients can see, e.g kb, announcements, support tickets etc and then for any page not on that list, they're redirected to another page (of your choice)... and don't forget to include the password reset files in there too. it's not quite what you want to do, but the hook below redirects anyone who isn't logged in to login, e.g it prevents anyone seeing the site unless they're logged in... ... in your case, the IF statement will be based on what you want to show - hence why I said that it's important to have a clear plan of what should be on that allowed list. 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.