Go Back   vb.org Archive > vBulletin Modifications > Archive > Modification Graveyard
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Joomla for vBulletin (IMPORTANT UPDATE) - Bridge to the World's Most Popular CMS Details »»
Joomla for vBulletin (IMPORTANT UPDATE) - Bridge to the World's Most Popular CMS
Version: 1.0.0 RC2, by Michael Morris Michael Morris is offline
Developer Last Online: Jun 2009 Show Printable Version Email this Page

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
  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.

Supporters / CoAuthors

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #2  
Old 04-26-2007, 02:41 AM
Michael Morris's Avatar
Michael Morris Michael Morris is offline
 
Join Date: Nov 2003
Location: Knoxville TN
Posts: 774
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #3  
Old 04-26-2007, 02:59 AM
Quantnet Quantnet is offline
 
Join Date: Nov 2006
Location: NYC
Posts: 649
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Been on the fence for so long. Would love to see a demo of how vjoomla use the vb template
Reply With Quote
  #4  
Old 04-26-2007, 03:02 AM
Michael Morris's Avatar
Michael Morris Michael Morris is offline
 
Join Date: Nov 2003
Location: Knoxville TN
Posts: 774
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #5  
Old 04-26-2007, 03:15 AM
Ntfu2 Ntfu2 is offline
 
Join Date: Feb 2006
Posts: 1,247
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Awesome job here it looks like a solid start and may have just get another vBulletin license for up coming project now
Reply With Quote
  #6  
Old 04-26-2007, 10:46 AM
dizzy100 dizzy100 is offline
 
Join Date: Mar 2006
Posts: 155
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #7  
Old 04-26-2007, 11:44 AM
UncoderMom UncoderMom is offline
 
Join Date: May 2006
Location: My office chair!
Posts: 567
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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?
Reply With Quote
  #8  
Old 04-26-2007, 11:58 AM
beduino's Avatar
beduino beduino is offline
 
Join Date: Dec 2005
Location: Rio de Janeiro
Posts: 280
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Very interesting!
tks for your work - and really the add-ons will be very useful.
All the best
Joao Barroca
aka beduino
Reply With Quote
  #9  
Old 04-26-2007, 12:52 PM
dizzy100 dizzy100 is offline
 
Join Date: Mar 2006
Posts: 155
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by UncoderMom View Post

Also, Im not sure I read this right... Are you saying that this modification will allow Joomla to be skinned with your vb templates?
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.
Reply With Quote
  #10  
Old 04-26-2007, 12:59 PM
Michael Morris's Avatar
Michael Morris Michael Morris is offline
 
Join Date: Nov 2003
Location: Knoxville TN
Posts: 774
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by UncoderMom View Post
Also, Im not sure I read this right... Are you saying that this modification will allow Joomla to be skinned with your vb templates?
Yes. It does.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 06:57 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.12965 seconds
  • Memory Usage 2,303KB
  • Queries Executed 26 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (9)postbit
  • (10)postbit_onlinestatus
  • (10)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete