vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3 Articles (https://vborg.vbsupport.ru/forumdisplay.php?f=187)
-   -   Add new Users (automatically) (https://vborg.vbsupport.ru/showthread.php?t=82836)

Andreas 06-09-2005 10:00 PM

Add new Users (automatically)
 
As this is a common request for integration purposes, I thought I should write up another HowTo :)

If you want to add a new user to the vBulletin database, you can use Class vB_Datamanager_User.
This Calss does make sure that everything is OK, it will also take care of the default registration options.

Example
PHP Code:

$newuser =& datamanager_init('User'$vbulletinERRTYPE_ARRAY);
$newuser->set('username''phpNukeUser');
$newuser->set('email''foo@bar.com');
$newuser->set('password''verysecret');
$newuser->set('usergroupid'2); 

If there are errors (eMail not set, eMail banned, Username taken, etc.) you can check for errors using
PHP Code:

$newuser->errors 

This is an array containing the errors.

If everything is OK
PHP Code:

$newuserid $newuser->save(); 

This will create a new User called phpNukeNuser (UserID returned in $newuserid).

You can also set many other info too:
  • membergroupids = comma-separated string of all additional usergroups (Default=Empty)
  • displaygroupid = ID of the usergroup this user should show up as (Default=0)
    Note that this must be set after usergroupid and membergroupids!
  • styleid = ID of the Style to be used by this user (Default=Board Default)
  • languageid = ID of the language to be used by this user (Default=Board Default)
  • threadedmode = Whether to use Flat (0), Hybrid (1) or Threaded (2) Display Mode
  • maxposts = Integer, how many posts should be shown on one Page (Default=Board Default)
  • ipaddress = String, IP-Adress of the User registering (Default=Empty)
  • refererid = String, Username or UserID of the User this user was refered by
  • parentemail = String. eMail-Address of the users Parents
  • daysprune = Integer, show threads from the last X days
  • startofweek = Integer, When does the week start (1=Sunday, 2=;onday, ...) (Default=Board Default)
  • timezoneoffset = Integer, spexifying the Timezone (-12 .. +12)
  • autosubscribe = Integer, defining default mode for Thread subscription
    -1 = no Subscription, 1 = Instant, 2 = Daily Digest, 3 = Weekly Digest
    (Default=Board Default)
  • homepage = String, URL of the users Homepage (Default=Empty)
  • icq = String, the Users ICQ # (Default=Empty)
  • aim = String, the Users AIM ID (Default=Empty)
  • yahoo = String, the Users Yahoo ID (Default=Empty)
  • MSN = String, the Users MSN ID (Default=Empty)
  • usertitle = String, the Usertitle this user should have
  • customtitle = Integer, defining behaviour of Usertitle. 0=No Custom Title, 1=Custom, Title with HTML, 2=Custom Title without HTML (Default=
  • birthday = array(month, day, year). The users birthdate.
  • avatarid = Integer, ID of the Avatar being used for this user
  • signature = String. The Users Signature
  • subfolders = Array. The Users Subscription Folders
  • pmfolders = Array. The Users Subscription Folders
  • buddylist = String. Space separated List of UserIDs defining the Users buddylist
  • ignorelist = String. Space separated List of UserIDs defining the Users ignorelist

Besides that, you can also set the options Bitfield (Receive Admin PMs, etc.)
PHP Code:

$userdata->set_bitfield('options''optionname''value'); 

The available Options are
  • showsignatures = Show Signatures
  • showavatars = Show Avatars
  • showimages = Show Images, incl. attached Images and [img] BBCode
    If this is not set they will show up as links
  • coppauser = User is COPPA User
  • adminemail = Receive Admin eMails
  • showvcard = Allow vCard Download
  • dstauto = Automatically detect DST setting
  • dstonoff = DST turned On
  • showemail = Receive eMails from other Users
  • invisible = Be invisible
  • showreputation = Show Reputation
  • receivepm = PM turned on
  • emailonpm = eMail notification for new PMs

Value must be 0 or 1 (false or true), depending if you want to set the option or not.
If the Options are not set, the Default Registration Options/Board Default Options will be used.

Important Notice
It is assumed that you are using this code from 'within' vBulletin, eg with the vBulletin backend loaded.
If this is not the case, you must include smth. like the following code in global context:
PHP Code:

define('VB_AREA''External');
define('SKIP_SESSIONCREATE'1);
define('SKIP_USERINFO'1);
define('CWD''/path/to/vbulletin');
require_once(
CWD '/includes/init.php'); 

Keep in mind that if you are using the a/m Datamanager-Code within a function or method you must global $vbulletin.

This How-To is (C) 2005 by KirbyDE and you are not allowed to redistribute it in any way without my explicit consent.

MrNase 06-10-2005 02:30 PM

What does $newuser->errors look like? Is it an array() so that we have to use foreach ( ... AS ...) { } to display them?

Andreas 06-10-2005 02:34 PM

Example (Username already taken):

Code:

Array
(
    [0] => That username is already in use. If you are phpNukeuser and you have forgott click <a href="login.php?do=lostpw">here</a>
)


Revan 06-10-2005 03:24 PM

Good, thanks for clarifying the array. I wrote my own error handler for the events I needed to output any errors, and it was a simple foreach that went like this:
PHP Code:

foreach ($pmdm->errors as $errors)
{
    
$error .= "<li>$errors</li>";


The $error was then echoed out in the print_standard_error.

Btw while Im at it, if we need to for instance add 2 users with different values, or send 2 pms, do we need to put the
PHP Code:

 $newuser =& datamanager_init('User'$vbulletinERRTYPE_ARRAY); 

line every time? Also do the variable names have to be different for those 2 instances?

TIA :)

Marco van Herwaarden 06-10-2005 03:54 PM

Quote:

Originally Posted by MrNase
What does $newuser->errors look like? Is it an array() so that we have to use foreach ( ... AS ...) { } to display them?

Please read the stickied post in the top of this forum.

kall 06-15-2005 03:20 AM

Quote:

Originally Posted by MarcoH64
Please read the stickied post in the top of this forum.

So...we aren't allowed to ask questions in these How-to threads, is that what you are referring to the sticky thread for?

Seems a bit strange to me...surely that thread is meaning 'Don't Start question threads'.

N8 06-15-2005 03:59 AM

I don't see the point in this, why not just create a new user via the admin cp?

Andreas 06-15-2005 04:03 AM

Quote:

Originally Posted by N8_115
I don't see the point in this, why not just create a new user via the admin cp?

Quote:

Originally Posted by KirbyDE
As this is a common request for integration purposes,

Does this answer your question? :)

dwh 06-29-2005 10:37 PM

What if you want to create a new user, assign him

$newuser->set('usergroupid', 10);



but you'd like his email verified first through the usual system and once he gets verified then he's placed in 10?

EDIT: I keep clicking on the black font color, in this screen the above text turns black. I hit enter, it reverts to green?

Andreas 06-29-2005 10:42 PM

You would have t hook into register_activate_process and change the Usergroupid there.

Anyway, the described method does not generate an activation ID and such.
If you are interested in this I can write up some description.

dwh 06-29-2005 11:03 PM

Quote:

Originally Posted by KirbyDE
You would have t hook into register_activate_process and change the Usergroupid there.

Anyway, the described method does not generate an activation ID and such.
If you are interested in this I can write up some description.

I will be using the activation ID eventually and it would be very helpful. But I'm in no urgent rush at all for this.

Xia 07-02-2005 10:38 AM

What files need to be included to get this to work?

I don't see the function datamanager_init in class_dm_user.php

Thanks

tema 07-12-2005 09:51 AM

Quote:

Originally Posted by KirbyDE
Anyway, the described method does not generate an activation ID and such.
If you are interested in this I can write up some description.

Ok, can u describe how to make user whith waiting for activation with emailing of that?

merk 07-12-2005 11:41 PM

Quote:

Originally Posted by MarcoH64
Please read the stickied post in the top of this forum.

I cant imagine that this falls under the "dont ask questions". This question was specific to this howto about improving it with the format of a mentioned error variable.

scott8539 10-28-2005 07:45 PM

Quote:

Originally Posted by Andreas
As this is a common request for integration purposes, I thought I should write up another HowTo :)

If you want to add a new user to the vBulletin database, you can use Class vB_Datamanager_User.
This Calss does make sure that everything is OK, it will also take care of the default registration options.

Example
PHP Code:

$newuser =& datamanager_init('User'$vbulletinERRTYPE_ARRAY);
$newuser->set('username''phpNukeUser');
$newuser->set('email''foo@bar.com');
$newuser->set('password''verysecret');
$newuser->set('usergroupid'2); 

.....


Perhaps I am missing something...but I cannot get the above code to work. Could you provide a complete, self contained script that can be executed on the cmd line (or exec'd or remote require'd from another program)? I have searched through this forum and found examples of creating a thread , but this is the only code reference to creating a user --- which is exactly what I am after!

My goal in this is to have my own CMS manage the registration: The user will register in my CMS (custom designed CMS -- this is not a 3rd party off-the-shelf CMS), then call a script to add the user to the forum.

Thanks!

-Scott
vB 3.5

J75595E3F40B 11-03-2005 07:46 PM

yes I also cannot get the script above to work.. do I need to initialize $vbulletin via a constructor?

akanevsky 11-03-2005 08:07 PM

Quote:

yes I also cannot get the script above to work.. do I need to initialize $vbulletin via a constructor?
The script works as long as you use it on a vbulletin-powered page.

J75595E3F40B 11-03-2005 08:22 PM

What would be necessary to use the user data-manager from outside a vbulletin-powered page?

Andreas 11-03-2005 09:11 PM

The vBulletin backend, which makes it a vBulletin powered page :)

scott8539 11-03-2005 09:46 PM

I finally got a working script to add a user to vB offline. I maintain a separate Membership System. When a user registers in this separate system, an account is automatically created for them in vB.

When they register (again, this is in my own Member System -- on a different domain), I collect those variables that I need specifically (and minimally) to create an account in vB.

I then cURL those variables to a custom script (called bb_add_user.php) which resides in the root folder of the forum. The results of bb_add_user.php are printed, which are then collected in the result of the cURL. If there are errors, the Membership System takes appropriate action. If successul, then I grab the vbuserid from the cURL result and go about my business.

Although I am still proving this system on a development server, my goal will be to change all of the 'register.php' links on vBulletin and point them to the register script on my Membership System.

Here is the bb_add_user.php code.

Code:

<?php
        # Add a user to vBulletin (offline)
               
        function qpc_post($varname)
        {
                return trim(stripslashes((get_magic_quotes_gpc()) ? $_POST[$varname] : addslashes($_POST[$varname])));
        }

        define('THIS_SCRIPT', 'bb_add_user.php');
        require_once('./global.php');
        require_once('./includes/class_dm.php');
        require_once('./includes/class_dm_user.php');

        $userdm = new vB_DataManager_User($vbulletin, ERRTYPE_ARRAY);
       
        $userdm->set('username', qpc_post('username'));
        $userdm->set('email', qpc_post('email'));
        $userdm->set('password', qpc_post('password'));
        $userdm->set('usergroupid', 2);
        $userdm->set('ipaddress', qpc_post('ipaddress'));
        $userdm->set('referrerid', qpc_post('referrername'));
        $userdm->set('timezoneoffset', qpc_post('timezoneoffset'));
        $userdm->set_bitfield('options', 'adminemail', intval(qpc_post('adminemail')));
        $userdm->set_bitfield('options', 'showemail', intval(qpc_post('showemail')));
       
        $dst_setting = intval(qpc_post('dst'));
        switch ($dst_setting)
        {
                case 0:
                case 1:
                        $userdm->set_bitfield('options', 'dstonoff', $dst_setting);
                        break;
                case 2:
                        $userdm->set_bitfield('options', 'dstauto', 1);
                        break;
        }
       
        #If there are errors (eMail not set, eMail banned, Username taken, etc.) you can check for errors using
        if (count($userdm->errors)) {
                for($i=0; $i<count($userdm->errors); $i++) {
                        print "ERROR{$i}:{$userdm->errors[$i]}\n";
                }
        } else {
                # If everything is OK
                $newuserid = $userdm->save();
                print "vbuserid:$newuserid\n";
        }
       

?>


akanevsky 11-03-2005 09:48 PM

You shouldn't use CURL, as vBulletin data managers have data verifiers of their own. Just supply the raw values...

scott8539 11-03-2005 09:53 PM

Quote:

Originally Posted by Dark Visor
You shouldn't use CURL, as vBulletin data managers have data verifiers of their own. Just supply the raw values...

I am not sure what you mean by supplying the raw values...that is pretty much what I am doing with cURL. What would be another way of supplying the values?

Wayne Luke 11-03-2005 10:11 PM

Can anyone write a proof of concept on how this would be done? I mean a complete file that would accept POST values from another page, instantiate the manager and create the user?

akanevsky 11-03-2005 10:53 PM

Of course. Except the official vB documentation provides all the information of this matter... At least about using GPC for POST values....

J75595E3F40B 11-04-2005 02:08 PM

i got a script working that does the same thing, and i noticed one thing..... that script must be in the same directory as global.php

Dark_Wizard 11-05-2005 10:07 AM

Quote:

Originally Posted by J75595E3F40B
i got a script working that does the same thing, and i noticed one thing..... that script must be in the same directory as global.php


Uhmm...incorrect. Try this piece from Dark Visor here about outside of vBulletin pages -> Using vBulletin-powered scripts outside vBulletin Directory.

Connector 12-27-2005 07:54 PM

Quote:

Originally Posted by scott8539
I finally got a working script to add a user to vB offline. I maintain a separate Membership System. When a user registers in this separate system, an account is automatically created for them in vB.

When they register (again, this is in my own Member System -- on a different domain), I collect those variables that I need specifically (and minimally) to create an account in vB.

I then cURL those variables to a custom script (called bb_add_user.php) which resides in the root folder of the forum. The results of bb_add_user.php are printed, which are then collected in the result of the cURL. If there are errors, the Membership System takes appropriate action. If successul, then I grab the vbuserid from the cURL result and go about my business.

Although I am still proving this system on a development server, my goal will be to change all of the 'register.php' links on vBulletin and point them to the register script on my Membership System.

Here is the bb_add_user.php code.

Code:

<?php
        # Add a user to vBulletin (offline)
               
        function qpc_post($varname)
        {
                return trim(stripslashes((get_magic_quotes_gpc()) ? $_POST[$varname] : addslashes($_POST[$varname])));
        }

        define('THIS_SCRIPT', 'bb_add_user.php');
        require_once('./global.php');
        require_once('./includes/class_dm.php');
        require_once('./includes/class_dm_user.php');

        $userdm = new vB_DataManager_User($vbulletin, ERRTYPE_ARRAY);
       
        $userdm->set('username', qpc_post('username'));
        $userdm->set('email', qpc_post('email'));
        $userdm->set('password', qpc_post('password'));
        $userdm->set('usergroupid', 2);
        $userdm->set('ipaddress', qpc_post('ipaddress'));
        $userdm->set('referrerid', qpc_post('referrername'));
        $userdm->set('timezoneoffset', qpc_post('timezoneoffset'));
        $userdm->set_bitfield('options', 'adminemail', intval(qpc_post('adminemail')));
        $userdm->set_bitfield('options', 'showemail', intval(qpc_post('showemail')));
       
        $dst_setting = intval(qpc_post('dst'));
        switch ($dst_setting)
        {
                case 0:
                case 1:
                        $userdm->set_bitfield('options', 'dstonoff', $dst_setting);
                        break;
                case 2:
                        $userdm->set_bitfield('options', 'dstauto', 1);
                        break;
        }
       
        #If there are errors (eMail not set, eMail banned, Username taken, etc.) you can check for errors using
        if (count($userdm->errors)) {
                for($i=0; $i<count($userdm->errors); $i++) {
                        print "ERROR{$i}:{$userdm->errors[$i]}\n";
                }
        } else {
                # If everything is OK
                $newuserid = $userdm->save();
                print "vbuserid:$newuserid\n";
        }
       

?>



could someone please tell me how could we use this code ? i try it and give me error :devious:

scott8539 12-27-2005 08:09 PM

Quote:

Originally Posted by Connector
could someone please tell me how could we use this code ? i try it and give me error :devious:

Geez, that was a long time ago and I have taken a completely different approach to it.

I do have my own way of creating a vB account from an external site. In fact, I just went live with it today.

forum.bodybuilding.com

If you click the register link, you will be redirected to a register script on a different site (my.bodybuilding.com -- different subdomain). There you enter your user information and submit. A new user is created in my Membership System, then the user is created in vBulletin.

The register, login/logoff, activation, recover lost password, edit email & password, etc, are are handled in my separate Membership System, pushing the results to vBulletin.

macks 12-29-2005 03:21 AM

I am in the process of writing a user signup integration script. My forum runs on a separate server from my main site. I am going to need to write hooks in quite a few places. I've compiled a list of the spots where I will need to have remote vB hooks.

Initial user signup:
Add the user, put them in the email confirmation group. (my site sends a confirmation email).

Confirmation:
When the user clicks the link in the confirmation email.

Password and email changes:
When the user wants to change their email or password.

This will all need to be done from a remote server so I too will most likely be using cURL. Obviously I want to keep these changes in sync. It isn't fully clear to me if it would be easier to write a plugin with change password/email hooks that will update my system or if I should just deny these changes from the vBulletin side and change the permission denied template to point to the proper place on my site.

Once I've hammered through the few remaining issues, I will post my results and code here.

Quote:

Originally Posted by scott8539
Geez, that was a long time ago and I have taken a completely different approach to it.

I do have my own way of creating a vB account from an external site. In fact, I just went live with it today.

forum.bodybuilding.com

If you click the register link, you will be redirected to a register script on a different site (my.bodybuilding.com -- different subdomain). There you enter your user information and submit. A new user is created in my Membership System, then the user is created in vBulletin.

The register, login/logoff, activation, recover lost password, edit email & password, etc, are are handled in my separate Membership System, pushing the results to vBulletin.

Woops, just read your post and you seem to be describing everything I just mentioned. Care to give the rest of an idea of how long it took?

Connector 12-29-2005 12:21 PM

Could someone put basic code how to do this ?

GrowersPro 01-05-2006 02:47 AM

following code place earlier plus example of code for the curl call in php


STEP I

this file need to to be placed in the forum directory of vbulletin
(make sure it is in this directory to initialise vbulletin stuff ......)


no change done from previous poster


you can include the code below in one php page. call it whatever you want

i call it great_stuff_dude.php

thus i need to MAKE sure that the name of the page is correctly entered
in the define below

define('THIS_SCRIPT', 'GREAT_STUFF_DUDE.php');

do the same in the code below
----------------------------------------------------------------------
<?php
# Add a user to vBulletin (offline)

function qpc_post($varname)
{
return trim(stripslashes((get_magic_quotes_gpc()) ? $_POST[$varname] : addslashes($_POST[$varname])));
}

define('THIS_SCRIPT', 'GREAT_STUFF_DUDE.php');

require_once('./global.php');
require_once('./includes/class_dm.php');
require_once('./includes/class_dm_user.php');

$userdm = new vB_DataManager_User($vbulletin, ERRTYPE_ARRAY);

$userdm->set('username', qpc_post('username'));
$userdm->set('email', qpc_post('email'));
$userdm->set('password', qpc_post('password'));
$userdm->set('usergroupid',qpc_post('usergroupid'));
$userdm->set('ipaddress', qpc_post('ipaddress'));
$userdm->set('referrerid', qpc_post('referrername'));
$userdm->set('timezoneoffset', qpc_post('timezoneoffset'));
$userdm->set_bitfield('options', 'adminemail', intval(qpc_post('adminemail')));
$userdm->set_bitfield('options', 'showemail', intval(qpc_post('showemail')));

$dst_setting = intval(qpc_post('dst'));
switch ($dst_setting)
{
case 0:
case 1:
$userdm->set_bitfield('options', 'dstonoff', $dst_setting);
break;
case 2:
$userdm->set_bitfield('options', 'dstauto', 1);
break;
}

#If there are errors (eMail not set, eMail banned, Username taken, etc.) you can check for errors using
if (count($userdm->errors)) {
for($i=0; $i<count($userdm->errors); $i++) {
print "ERROR{$i}:{$userdm->errors[$i]}\n";
}
} else {
# If everything is OK
$newuserid = $userdm->save();
print "vbuserid:$newuserid\n";
}
?>
-------------------------------------------------------------------


STEP II



You can have the following code on server running PHP WHEREVER YOU WANT. it does not need to be on the same domain as long as you have the curl compiled


in that script (again call it whatever you want it does not matter)

you call the url of your web server and path to go to the page GREAT_STUFF_DUDE.php

you can of course include it in the login code of your CMS to create profiles in both systems in one step.


-------------------------------------------------------------------

<?php

$url="http://www.mysite.com/vbulletin3000/GREAT_STUFF_DUDE.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, "username=keith_mayass&email=keith_mayass@no_worry s.com&password=up_yours&usergroupid=2&");
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$store = curl_exec ($ch);
$content = curl_exec ($ch); # This returns HTML
curl_close ($ch);

?>
---------------------------------------------------------

you can of course pass as may variables as you want if you have them available in your CMS to complete the profile.

like

parentemail
showbirthday
homepage
icq
aim
yahoo
msn
skype
usertitle
customtitle
birthday



__-----__________------___
Ni vu ni connu, jt' embrouille

Langly 01-07-2006 08:12 PM

I use Postnuke, so which file in Postnuke to I put the curl code in and where in the file?

Connector 01-11-2006 05:12 AM

This code dose not work i try it and give me error please Help :*

Langly 01-11-2006 11:00 AM

Thread might be dead.

bkbelew 03-16-2006 05:06 PM

Any update on this? I managed to add a user to the Vb database w/ just a couple simply mysql calls. But.... the password encryption was wrong ( i'm assuming ) it wouldn't allow the user to login. BUT if the user went through the lost password function, it would allow them to. Could someone help me w/ the command to encrypt the password w/ salt or whatever its using to add it into my database w/out having to hook anything from vb?

Thanks

Fume 03-30-2006 05:44 PM

Quote:

Originally Posted by scott8539

If you click the register link, you will be redirected to a register script on a different site (my.bodybuilding.com -- different subdomain). There you enter your user information and submit. A new user is created in my Membership System, then the user is created in vBulletin.

The register, login/logoff, activation, recover lost password, edit email & password, etc, are are handled in my separate Membership System, pushing the results to vBulletin.

I'm looking for something exactly like that! Anyone know how I would accomplish this? :banana:

Altec 05-15-2006 10:52 AM

I've managed to automatically add users to vBulletin via our website which is done in ASP. The only issue I'm having is that a user cannot 'SAVE' their signature (strange). Everything else works great...

Anyone have any ideas why?

Thanks.

Connector 05-15-2006 01:28 PM

Why you have make it in ASP and not php ?

bigtime 05-30-2006 09:38 PM

How would a new user be added without using curl?

Thanks,

Tim

bradsears 06-08-2006 07:51 PM

Hi. I'd like to be able to send the registration email after the user registers. How do I do this. Thanks in advance.

-- edit --

I answered this one myself

$activateid = build_user_activation_id($newuserid, 2, 0);
eval(fetch_email_phrases('activateaccount'));
vbmail($email, $subject, $message, true);


All times are GMT. The time now is 02:23 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01675 seconds
  • Memory Usage 1,917KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (3)bbcode_code_printable
  • (8)bbcode_php_printable
  • (15)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (40)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete