vBulletin Mods

The Official vBulletin Modifications Site
https://www.vbulletin.org/forum/showthread.php?t=145781

Joomla for vBulletin (IMPORTANT UPDATE) - Bridge to the World's Most Popular CMS
by Michael Morris
26 Apr 2007 04:40

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
  1. Log into your admincp
  2. Close your forum
  3. If your forums are at the root of your site move them elsewhere - the best location is probably /forum
  4. Upload the files from the zip packages to their respective locations. There should be no overwrites.
  5. Navigate to the root of your site and run the Joomla installer.
  6. Go back to the admincp and install the Joomla product file
  7. 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.

This is release candidate 2.

Michael Morris 26 Apr 2007 04:41

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.

Quantnet 26 Apr 2007 04:59

Been on the fence for so long. Would love to see a demo of how vjoomla use the vb template

Michael Morris 26 Apr 2007 05:02

I don't have a live test demo site up as of yet and won't for another couple weeks. Also things are still in flux at the moment.

Ntfu2 26 Apr 2007 05:15

Awesome job here it looks like a solid start and may have just get another vBulletin license for up coming project now :)

dizzy100 26 Apr 2007 12:46

I tried the beta on test and it works very well indeed.

However installing some components showed issues with paths i guess ? Sorry i didn't write down the error messages. Removing the mod and the components all worked as expected.

Its a great start though.

UncoderMom 26 Apr 2007 13:44

If you need a licensed board that is inactive to test on let me know! I have one you can use lol! PM me!

I would love to have this on my live site!!

The plug in I have now requires me to turn off my VB registration and use the Joomla only. I dont want that as I use the referral system.. A LOT.

Also, Im not sure I read this right... Are you saying that this modification will allow Joomla to be skinned with your vb templates? :eek:

beduino 26 Apr 2007 13:58

Very interesting!
tks for your work - and really the add-ons will be very useful.
All the best
Joao Barroca
aka beduino

dizzy100 26 Apr 2007 14:52

Quote:

Originally Posted by UncoderMom (Post 1235756)

Also, Im not sure I read this right... Are you saying that this modification will allow Joomla to be skinned with your vb templates? :eek:

When i tried it on my testbed the vbulletin skins is used for joomla which looked great :) Navbar links will need to be encoded with full paths though or they won't work.

Michael Morris 26 Apr 2007 14:59

Quote:

Originally Posted by UncoderMom (Post 1235756)
Also, Im not sure I read this right... Are you saying that this modification will allow Joomla to be skinned with your vb templates? :eek:

Yes. It does.

StuntFactoryX 26 Apr 2007 15:14

very interesting. there is some very cool stuff out there for joomla. few questions. i have read on here that there is huge security holes in joomla. the coder made it sound like it was common knowledge. was that a opinion or do you disagree or agree?

next thing is do you anticipate alot of problems or changes to make this work as vbulletin upgrades?

RedGTiVR6 26 Apr 2007 16:55

Can you compare this to the bbPixel bridge that I literally just purchased YESTERDAY!

Why does that always happen...lol

gothicuser 26 Apr 2007 17:09

Thankyou for a very useful hack :D
Digressing, it is just so pleasant and refreshing to see a full detailed description (as in the second post), Mr. Morris, a million thanks.

Michael Morris 26 Apr 2007 17:22

Quote:

Originally Posted by StuntFactoryX (Post 1235822)
very interesting. there is some very cool stuff out there for joomla. few questions. i have read on here that there is huge security holes in joomla. the coder made it sound like it was common knowledge. was that a opinion or do you disagree or agree?

Whatever security holes Joomla has, they are irrelevant to this mod since it does user authentication using vbulletin.
Quote:

next thing is do you anticipate alot of problems or changes to make this work as vbulletin upgrades?
I anticipate no problems. The vbulletin code isn't hacked in any way so unless Jelsoft changes the structure of the vbulletin registry in a major fashion this mod will continue to work. I would imagine that any change in vbulletin sufficient to break this mod would also break every mod on this site - in other words the type of change you might see in version 4.0, but not in version 3.6 forward.

Speaking of which, although I haven't tested it with 3.5 I *think* it will work there - this installs templates only and runs an alter table query - it doesn't have any plugins so it should work in 3.5

Michael Morris 26 Apr 2007 17:32

Quote:

Originally Posted by RedGTiVR6 (Post 1235869)
Can you compare this to the bbPixel bridge that I literally just purchased YESTERDAY!

Why does that always happen...lol

bbpixel hacks both Joomla and vbulletin. It merges then mirrors the user database and allows logins from both sides. This hacking means that every single time either product updates you have to reinstall the hack.

bbpixel doesn't bridge the template engines - therefore if you want a site to have a unified look and feel you have no choice but to skin the thing TWICE. vJoomla uses vbulletin's template engine and throws away Joomla's master template engine (modules can however still call and use patTemplate to build their content).

bbpixel is more mature than vJoomla having been around for a couple years. I'm working to get most of the same functionality in place as quickly as possible. The main obstacle - getting the bridge itself to work, has been accomplished.

These are the main differences. For the record I purchased bbpixel and was vastly disappointed in their customer service and how they implemented the bridge, so I wrote my own.


All times are GMT. The time now is 17:37.

Powered by vBulletin® Version 3.8.14
Copyright © 2020, MH Sub I, LLC dba vBulletin. All Rights Reserved. vBulletin® is a registered trademark of MH Sub I, LLC
Copyright ©2001 - , vbulletin.org. All rights reserved.