hi!
we use the same contract text on all of our forums.
so we wanted it so that if they agree to the contract once, they can post on any forum requiring a contract. this is a simple one line fix in two hooks.
modify hook: newreply_start
and newthread_start
near the bottom, replace:
Code:
if (!$contractsigned) {
with:
Code:
if (is_null($vbulletin->userinfo['contracts']) or $vbulletin->userinfo['contracts']=="") {
basically, once they agree to any contract, that userinfo['contracts'] field is populated (with that forum number). so - this simply checks to see if userinfo['contracts'] is populated w/ *anything*. if so, the site-wide contract has been fullfilled.
you still have to enable the contract on each and every forum though...
you could make this a bit more effecient yet, but here's a KISS method that doesn't cause too much overhead by ommitting unnecessary code when not checking for specific forum contract acceptances.
hope someone finds this usefull!