Version: 1.0.0 RC2, by Michael Morris
Developer Last Online: Jun 2009
Category: Major Additions -
Version: 3.6.x
Rating:
Released: 04-25-2007
Last Update: Never
Installs: 68
DB Changes Uses Plugins Template Edits
Additional Files
No support by the author.
Warning!!! An potential exploit has been found in this modification. The server that hosts vjoomla.com has been attacked several times. It is known to already be severely comprimised so at this time it is unclear whether the vulnerability lies in vJoomla, Joomla itself or the server. Until this is resolved to my satisfaction I am removing this modification. My apologies.
The modification WILL be re-released once this issue is resolved!
vJoomla is an offshoot of Joomla 1.0 that is designed to run in tandem with vbulletin. Unlike the main release it will not run without vbulletin - if you desire a CMS without a forum then use Joomla! instead. vJoomla is identical in most all regards to Joomla!
What vJoomla Does
Provide a single session, single login interface to Joomla and vbulletin.
Allows Joomla pages to be skinned by vbulletin's template engine.
Maps Joomla usergroups to vbulletin usergroups.
What vJoomla Does Not Do
It does not rewrite your templates for you - so you will need to go in currently and change relative links to images and pages to absolute links. This is most important in the style sheets and in the navbar template. This is something you need to do yourself rather than programmatically since no two sites are likely to be using the same style sheet and the same setup for these links.
Install Instructions
Log into your admincp
Close your forum
If your forums are at the root of your site move them elsewhere - the best location is probably /forum
Upload the files from the zip packages to their respective locations. There should be no overwrites.
Navigate to the root of your site and run the Joomla installer.
Go back to the admincp and install the Joomla product file
Now either copy the ./cpstyles, ./clientscript and ./images directory of the forum into the Joomla directory OR create symbolic links to those directories. The contents of the ./images directory of Joomla and vbulletin will need to be merged.
reposting my problem - anyone know what can cause/solve it
Trying to install it I am getting a message box saying "The site has not been provided" followed by another message "Forum not found". I am getting this error at Step 4 of the install.
The installer find my forum @ step 1 then it finish the joomla DB settings, I leave the usergroup configuration defults and click NEXT then I receive the 2 message boxes.
I checked to see that the Path to Save Cookies is /
reposting my problem - anyone know what can cause/solve it
Trying to install it I am getting a message box saying "The site has not been provided" followed by another message "Forum not found". I am getting this error at Step 4 of the install.
The installer find my forum @ step 1 then it finish the joomla DB settings, I leave the usergroup configuration defults and click NEXT then I receive the 2 message boxes.
I checked to see that the Path to Save Cookies is /
Ok, for the technically inclined, and especially for those considering writing components or modules for this variant of Joomla, here in brief is how this works.
Joomla's global file calls vbulletin's global.php - either the forum or the admincp version as needed. If the forum version is used it caches it's 20 templates. The rest of the hacks are in the Joomla mainframe. Rather than allow the Joomla database object to connect itself the resource id of the Master connection is passed to it from the vbulletin database object. Both database classes are therefore available. So if you like you can do
$database->setQuery("-- some query");
$database->loadObjectList();
or you can use vbulletin's way.
$db->query_read(" -- some query ");
Each system has it's advantages and disadvantages. Typically I use the joomla object to handle joomla tables if, for no other reason, the table prefix in the queries is automatically parsed. But I digress.
Joomla doesn't do it's own login in this hack. Instead, at the line where Joomla WOULD verify the password it instead checks the vbulletin registry object ($vbulletin) to see if there is a user. If there is the hack lies to Joomla and cuts it loose with a session without independent verification. Therefore, in this hack all logins and user manipulations go through vbulletin (which has a far more robust user system anyway so in my opinion, no loss).
This will cause problems if you install a Joomla component that extends on the Joomla user object. These components probably will not work.
vJoomla, for the most part, doesn't need a complete user list. The first time a vbulletin user moves to a joomla page though part of their registration is copied into the joomla user table. This should help certain components function and is also necessary for the Joomla backend to work. I may write some stricter syncing code if necessary -- vJoomla itself doesn't need it to work but some components might.
The admin side is a little tricker. I had to disable joomla timing out - I swear this took longer than any other part but it works now. Again, Joomla is dependent on vbulletin to get the security right in this hack. Since admincp global throws a login interface automatically if you time out on it there's no reason for Joomla to maintain a seperate check. If you return from vbulletin global.php in the Joomla admin files you're golden.
Final notes are on templates. Once Joomla is ready to call it's template engine a hack steps in and iterates over the Joomla module positions, reading them all into an array. Each module position is then wrapped in a template file (though in this base distribution there are no elaborations on these templates). After this is done Joomla's output passes through vbulletin's template engine and vbulletin completes the page output.
In all it took 2 months on and off to figure this all out. But though it's incomplete, it's working very smoothly at the moment. Questions and comments welcome.
Will this work with other CMS too? Because we are building our own atm and we would love to have vBulletin integrated.
you have to drop the 'joomla_registered' (without the single quotes) from the user table before continuing.
I did that, then there was another table that had an error, so I deleted them both, (Both joomla_)
Then I got an error saying there was no jos_menu table, so I created it, then I got this error
Code:
Database error in vBulletin 3.6.4:
Invalid SQL:
INSERT INTO jos_menu (menutype, name, link, type, ordering)
VALUES (
'vbmenu',
'forumhome',
'index.php',
'url',
0);
MySQL Error : Unknown column 'menutype' in 'field list'
Error Number : 1054
Date : Friday, June 8th 2007 @ 12:54:55 PM
Script : http://www.4x4mecca.com/forum/admincp/plugin.php?do=productimport
Referrer : http://www.4x4mecca.com/forum/admincp/plugin.php?do=productadd
IP Address : *
Username : *
Classname : vb_database