gohigher Posted September 3, 2009 Share Posted September 3, 2009 J!WHMCS Integrator has been released to integrate your Joomla framework and WHMCS. If you use the Joomla framework for managing your site, then your customers understand how frustrating having two logins can be, and as the administrator, you understand the frustration of updating module and menu content on your WHMCS site, or you have resorted to using an iFrame . Version 1.5.0 of this package has the following features: Features: Log into Joomla and you log into WHMCS simultaneously Changes the form on "dologin.php" automatically to point to login handler that logs into Joomla first then WHMCS Sets the session variables for both Joomla and WHMCS Logout function logs user out of Joomla and WHMCS simultaneously Parses a page on your web site and wraps that around the WHMCS content, needing only to change the header.tpl and footer.tpl to include two new smarty variables Sets the active menu item on the parsed Joomla page so it matches up correctly (functions only with non-legacy menu items currently) Requires no hacks of either system Variables for everything except one path variable is handled in the Joomla backend Allows a site to have their WHMCS as a subdomain or as a subfolder (so long as they are both on the same server) Password and info changes are reflected in both when made User registration form in Joomla to request all required info for WHMCS to create both accounts simultaneously Requirements: Joomla 1.5 (working currently on 1.5.10 and above) WHMCS v4 or above (prior releases are not supported) Both software packages must utilize the same server If you are using SSL on WHMCS and you have it setup as a subdomain, you will need a second, functional SSL for your Joomla site. If your WHMCS is setup as a subfolder, then you will be fine. If you have any other User level plugins installed, they must be performed prior to the Joomla / WHMCS plugin. (Note: may not function with other 3rd party plugins. I am aware that it does not function with the K2 user plugin at this time.) A user manager is in the works for the next release, and will be available to all that purchase 1.5.0. Cost is $120 - The first 10 customers who use promocode newrelease will receive $20 off their order! Contact us if you would like more information! Steven Mueller Go Higher Information Services 0 Quote Link to comment Share on other sites More sharing options...
Shaun Posted September 3, 2009 Share Posted September 3, 2009 This sounds like a great idea few questions: On your site it says try the demo user i log in and it works go to your client area and it asks me to log in again. Also does this change the ability to directly link to whmcs pages like your cart.php 0 Quote Link to comment Share on other sites More sharing options...
gohigher Posted September 3, 2009 Author Share Posted September 3, 2009 Hi Shaun, I just tried it, and realized that I had set the demouser in WHMCS to closed, so it wouldn't allow it to login... it should work now. As for linking directly to the cart, the J!WHMCS Integrator doesn't change any of the functionality of the WHMCS system, except for the "dologin.php" page. Any links directly to the cart or products, or contact us page, etc will function as they are intended by WHMCS. The Integrator simply wraps the content in WHMCS with the Joomla site. Incidentally, if you have menu links in Joomla, you can tell the Integrator which links should go to what pages, and it will update the "active" menu item to the appropriate one. You can see on my site when you go to Contact Us or Order, the menu bar changes. This is handled in J!WHMCS Integrator. Thanks for your question! Steven 0 Quote Link to comment Share on other sites More sharing options...
thehost5968 Posted September 3, 2009 Share Posted September 3, 2009 How are you dealing with sessions? Ie the cross over from Joomla and then WHMCS Is this using a iframe? as this is from WHMCS support: not using an iFrame for various reasons 0 Quote Link to comment Share on other sites More sharing options...
gohigher Posted September 3, 2009 Author Share Posted September 3, 2009 Session handling is actually using the built in functionality of the two systems. When a user logs into Joomla the following steps occur: Joomla logs the user in the way it's designed to, either with SSL enabled or not. Joomla creates a new token and writes that along with the password and cross referenced email address to a database table. Joomla redirects to the jwhmcs.php file located in the WHMCS root folder along with the token id. Ideally the client has ssl on the WHMCS site. Jwhmcs pulls the client id and password from the database using the token as the ref id, and wiping it from the DB. Jwhmcs redirects to dologin.php appending the email address retrieved and password via the URL (best solution at this time until they open password retrieval if ever) dologin handles login from there, redirecting to whatever page it is told to by the goto variable. This isn't using iFrames to login. Ideally of course, there are SSL certs everywhere and no one is maliciously trying to hack the system. Credentials aren't blindly passed from one system to the other. Hope that helps, Steven 0 Quote Link to comment Share on other sites More sharing options...
thehost5968 Posted September 3, 2009 Share Posted September 3, 2009 This isn't using iFrames to login. Ideally of course, that is not a yes or no you are say no to login and yes ideally not of course. it is the joomla "wrapper" that is the problem as by using that you are NOT DOING A Integration then as a full integration would be putting joomla header,left menu in the header of WHMCS and the right menu and footer of joomla in to the footer of WHMC then you will have a fully integration joomla and WHMCS the right way there are SSL certs everywhere and no one is maliciously trying to hack the system. Credentials aren't blindly passed from one system to the other. I can only just think of what this means. 0 Quote Link to comment Share on other sites More sharing options...
gohigher Posted September 3, 2009 Author Share Posted September 3, 2009 I will try to explain, as I thought you were referring to the logging in of the user to the two software packages. The J!WHMCS Integrator does not use an iFrame at any point. The header, footer (and menus, modules etc) are pulled from the Joomla site by the J!WHMCS Integrator, parsed, and then assigned to a couple of smarty variables. You simply add the smarty variable containing your site header to your header file, and one containing the footer to your footer.tpl files... and you are set. If you add a module to the left position on all your Joomla pages, it will show up in your WHMCS site automatically, because the Joomla site is parsed and "wrapped" (not "framed") around the WHMCS content, just like a component in Joomla is "wrapped" (not "framed") in Joomla. WHMCS content simply replaces the Joomla content. Menus, modules, text etc that are on your Joomla pages are all managed in Joomla, you don't have to manage them again in WHMCS. I hope that helps answer your question a little better. Steven 0 Quote Link to comment Share on other sites More sharing options...
Roger Posted September 3, 2009 Share Posted September 3, 2009 Trying to clear my confusion up. Please bear with me. Are you saying that WHMCS pages show up on the Joomla! side as content without iframing or any other type of frames? If so does that mean that the WHMCS pages are treated like Joomla! modules/extensions? -Roger 0 Quote Link to comment Share on other sites More sharing options...
thehost5968 Posted September 3, 2009 Share Posted September 3, 2009 I think i have it now the joomla header and footer and side menu's are all pulled in on the fly as and when a client lands on any part of WHMCS? Is that right. 0 Quote Link to comment Share on other sites More sharing options...
thehost5968 Posted September 3, 2009 Share Posted September 3, 2009 But that would mean each and every page refresh within WHMCS if a lot of times it could just not pull then in and then the site would look bare. 0 Quote Link to comment Share on other sites More sharing options...
gohigher Posted September 3, 2009 Author Share Posted September 3, 2009 No problem, The WHMCS pages aren't embedded into Joomla, and they aren't treated as modules or framed content. What you will see is the Joomla content (menus, modules, header, footer etc) show up on the WHMCS side, not the other way around. You will be on your WHMCS site just like you would be now, the difference is the Joomla template has been wrapped (not framed) around the WHMCS content and then displayed through WHMCS. The best way I can explain is for you to look at my site. My Joomla site is http://gohigheris.com, and my WHMCS site is http://client.gohigheris.com. If I make a change in Joomla (say I add a new menu item after "Client Portal"), that change is reflected automatically in http://client.gohigheris.com because the WHMCS site is pulling the live Joomla site and parsing the HTML to insert into the templates for WHMCS. I hope that helps! Steven 0 Quote Link to comment Share on other sites More sharing options...
Roger Posted September 3, 2009 Share Posted September 3, 2009 I think i have it now the joomla header and footer and side menu's are all pulled in on the fly as and when a client lands on any part of WHMCS? Is that right. That's opposite of what I was thinking but would surely work easier. 0 Quote Link to comment Share on other sites More sharing options...
thehost5968 Posted September 3, 2009 Share Posted September 3, 2009 could you do a demo of a std joomls ie with bothe side menus to? 0 Quote Link to comment Share on other sites More sharing options...
Roger Posted September 3, 2009 Share Posted September 3, 2009 Ok I got it.... I think... 0 Quote Link to comment Share on other sites More sharing options...
gohigher Posted September 3, 2009 Author Share Posted September 3, 2009 I think i have it now the joomla header and footer and side menu's are all pulled in on the fly as and when a client lands on any part of WHMCS? Is that right. That is correct. It does pull it on the fly. If you have caching setup on Joomla, then your site will send whatever is cached along with refreshed content. 0 Quote Link to comment Share on other sites More sharing options...
gohigher Posted September 3, 2009 Author Share Posted September 3, 2009 (edited) could you do a demo of a std joomls ie with bothe side menus to? You mean to add a left column to to the demo? I have just added a module to the left column of my Joomla site, if you visit http://client.gohigheris.com you can see it. If you were to login, it would disappear Edited September 3, 2009 by gohigher 0 Quote Link to comment Share on other sites More sharing options...
thehost5968 Posted September 3, 2009 Share Posted September 3, 2009 Hmm ok Good luck with it seems good but poss a bit heigh priced when you look at the cost of joomla mods plus a template I could see the average cost getting near 300.00 to 400.00 to get this all working. 0 Quote Link to comment Share on other sites More sharing options...
Roger Posted September 3, 2009 Share Posted September 3, 2009 I would love to have this mod but I'm a small fish and price is a bit high. I'm truly not trying to get you drop your price as I feel it's your mod and you should be able to set your own price. I just can't afford it. sigh... -Roger 0 Quote Link to comment Share on other sites More sharing options...
Shaun Posted September 4, 2009 Share Posted September 4, 2009 Mate; Gave it the once over and it does look like an awesome mod well done. The only thing i would reccomend is if possible try and use the hooks in whmcs to do what you need then you don't have to "hack" the doloing.php. There are hooks for loging in and loggin out 0 Quote Link to comment Share on other sites More sharing options...
gohigher Posted September 4, 2009 Author Share Posted September 4, 2009 Hi Shaun, Thanks for the feedback. I actually did utilize the hook functionality in WHMCS for as many of the tasks as I could. The changes that were made in the "dologin.php" file were actually all carried out in the hooks as well (the only hack I had to make was to a mod I had already had for the support ticket system). I used a hook to rename the script action variable so I didn't have to hack any of the templates (and make it usable across whatever templates are available). Thanks, Steven 0 Quote Link to comment Share on other sites More sharing options...
rodeoXtreme Posted September 4, 2009 Share Posted September 4, 2009 Hi Steven, Your mod looks great! How does it handle logins on the Joomla side? For example, we have a Forum login and we have not found a way to include our WHMCS users into the forum; we have separate login's for both areas? You also mentioned making a hack for the support Ticketing; how does this work for the Kayako integration? Kind regards, 0 Quote Link to comment Share on other sites More sharing options...
gohigher Posted September 4, 2009 Author Share Posted September 4, 2009 Hi Steven, Your mod looks great! How does it handle logins on the Joomla side? For example, we have a Forum login and we have not found a way to include our WHMCS users into the forum; we have separate login's for both areas? You also mentioned making a hack for the support Ticketing; how does this work for the Kayako integration? Kind regards, Hi Keith, There are actually a few pieces to this mod: a Joomla component, two plugins, a new WHMCS root file (doesn't replace anything, just a custom file), and a hook file that is used by WHMCS. When your customer visits your Joomla site and want to login to the site, they fill in their login / password like normal for Joomla. The plugin requests the necessary information from WHMCS, stores it to a database, passes over to the new root WHMCS file, that then pulls and wipes that information from the database and passes it on to the dologin.php. Upon successful login, they are redirected to whatever page you want them to return to in Joomla (or WHMCS for that matter, it's specified in the component backend in Joomla). My mod doesn't replace either login credentials, but bridges them together, so when you login to Joomla, the site knows the matching credentials in WHMCS. It does require the passwords to be the same in both systems, since WHMCS won't (or can't) allow us to decipher their encrypted password for comparison purposes, we have to take the password from the user as they login to Joomla and use it in logging into WHMCS. The user level plugin in Joomla must be run last, after all other login plugins have run. This is because the user level plugin doesn't allow Joomla to complete the login task it is tasked to do, but redirects out before finishing. Joomla still sets the necessary session variables, and any plugins that go ahead of it will do the same. Any that occur after won't get run (I set the order on mine at like 10000 to ensure it can't get bumped ahead of another). I am not familiar with the Kayako Integration, I'll have to check that out, but basically the only hack I had to do was in my supporttickets.tpl file, and that's because I have something called Endsupport that requires a user be logged in. Because WHMCS doesn't pass the "formaction" smarty variable to all files, only the ones they deem necessary, Endsupport had to hardcode the form action to <form action="dologin.php.... so I had to change that to my file, but it works fine. In WHMCS, an action hook is called to replace any occurance of the smarty variable "formaction" where the filename it's calling for is "dologin.php". I replace that file name, tack on an extra query variable and pass it back to WHMCS, and WHMCS inserts it automatically into all the pages that ask for login credentials. I also change the form automatically to read "Username" instead of "Email Address", because when a client is in WHMCS, they still enter their Joomla credentials to login (it passes to Joomla then back to WHMCS, then to the "goto" page). The only changes to the standard templates from WHMCS (aside from my own site customization) were to include a smarty variable called {htmlheader} in the header.tpl file and {htmlfooter} in the footer.tpl file. I currently am working on an additional feature to the mod that will allow you to manually bridge your existing users in Joomla to existing users in WHMCS (or add them if they don't exist). The mod currently allows for user registration to add both at the same time (requesting all the info needed for both systems at once and creating the accounts), which you could try out at my site. The system level plugin redirects requests for com_user&task=register to the mod registration page (this won't work with something like RokLogin - have verified that it pulls the wrong registration page). Hope that helps! Steven 0 Quote Link to comment Share on other sites More sharing options...
webjive Posted September 5, 2009 Share Posted September 5, 2009 We are a Joomla only shop and this is close to what I'm looking for. Quick question, why not write an Authentication plugin (i.e. LDAP, Google, and others in Joomla) to handle logins? This way your not trying to keep ID's and passwords in sync. I setup a similar Intranet setup for a client and used the LDAP plugin and I really like that solution... 0 Quote Link to comment Share on other sites More sharing options...
gohigher Posted September 5, 2009 Author Share Posted September 5, 2009 Thanks for the feedback! The problem I ran into with WHMCS is that the password is encrypted with no way to authenticate against without coming from the client and passing through their authentication scheme. As for keeping users and passwords synced up, as far as the user is concerned, there is only one set of credentials: their Joomla username and password. If they change their password in either system, it will make the change in both. If they change their info in either, it changes in both (including the email address). If the user changes their email address in WHMCS, it first checks to see if the new email address exists in Joomla, if so it fails, otherwise it will allow the change (changing the email address in Joomla and WHMCS simultaneously). Thanks, Steven 0 Quote Link to comment Share on other sites More sharing options...
johannes Posted September 6, 2009 Share Posted September 6, 2009 hi, a few questions: x) must it run under the same server or also under the same domain (and whats about different IPs on same server)? x) is it possible to deactivate the lightbox in joomla com_jwhmcs (sorry, its nice for visitors, but for work i hate it..)? x) i want to inform you that on your pdf invoices you forgot to replace the logo x) and maybe if you know .. i`m using DirectAdmin with symlinked public/private_html folder and only my own private server-SSL cert. The website changes automatically to https as soon the cart.php is called; after that it stays on https. But first it didnt. Is there anything interaction / bad function known or something i should know? I will try to start now and may come with updates on questions 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.